From f8407083caac39def96cff321d318abd1aef0be4 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Sun, 10 Dec 2017 00:03:44 +0100 Subject: [PATCH 01/58] Remove duplicated CCACHE= line in depends/config.site.in Got added due to wrong merge conflict resolution --- depends/config.site.in | 1 - 1 file changed, 1 deletion(-) diff --git a/depends/config.site.in b/depends/config.site.in index 9e8aee159b..e731537bf7 100644 --- a/depends/config.site.in +++ b/depends/config.site.in @@ -67,7 +67,6 @@ CC="@CC@" CXX="@CXX@" OBJC="${CC}" OBJCXX="${CXX}" -CCACHE=$prefix/native/bin/ccache CCACHE=$depends_prefix/native/bin/ccache PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH From f1da40c876da3be115183a2fb36dba16c56290d4 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 24 Feb 2016 11:33:08 +0100 Subject: [PATCH 02/58] Merge #7550: rpc: Input-from-stdin mode for bitcoin-cli f22f14c doc: mention bitcoin-cli -stdin in release notes (Wladimir J. van der Laan) 92bcca3 rpc: Input-from-stdin mode for bitcoin-cli (Wladimir J. van der Laan) --- src/dash-cli.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/dash-cli.cpp b/src/dash-cli.cpp index 693fbf1569..c13a5b0467 100644 --- a/src/dash-cli.cpp +++ b/src/dash-cli.cpp @@ -41,6 +41,7 @@ std::string HelpMessageCli() strUsage += HelpMessageOpt("-rpcuser=", _("Username for JSON-RPC connections")); strUsage += HelpMessageOpt("-rpcpassword=", _("Password for JSON-RPC connections")); strUsage += HelpMessageOpt("-rpcclienttimeout=", strprintf(_("Timeout during HTTP requests (default: %d)"), DEFAULT_HTTP_CLIENT_TIMEOUT)); + strUsage += HelpMessageOpt("-stdin", _("Read extra arguments from standard input, one per line until EOF/Ctrl-D (recommended for sensitive information such as passphrases)")); return strUsage; } @@ -243,15 +244,17 @@ int CommandLineRPC(int argc, char *argv[]) argc--; argv++; } - - // Method - if (argc < 2) - throw runtime_error("too few parameters"); - string strMethod = argv[1]; - - // Parameters default to strings - std::vector strParams(&argv[2], &argv[argc]); - UniValue params = RPCConvertValues(strMethod, strParams); + std::vector args = std::vector(&argv[1], &argv[argc]); + if (GetBoolArg("-stdin", false)) { + // Read one arg per line from stdin and append + std::string line; + while (std::getline(std::cin,line)) + args.push_back(line); + } + if (args.size() < 1) + throw runtime_error("too few parameters (need at least command)"); + std::string strMethod = args[0]; + UniValue params = RPCConvertValues(strMethod, std::vector(args.begin()+1, args.end())); // Execute and handle connection failures with -rpcwait const bool fWait = GetBoolArg("-rpcwait", false); From bf688abcee5a12f72874260e94508119e8711d54 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 3 Dec 2015 13:35:55 +0100 Subject: [PATCH 03/58] Merge pull request #7113 086ee67 Switch to a more efficient rolling Bloom filter (Pieter Wuille) --- src/bloom.cpp | 77 +++++++++++++++++++++++++++++------------- src/bloom.h | 26 +++++++++++--- src/net_processing.cpp | 2 +- 3 files changed, 75 insertions(+), 30 deletions(-) diff --git a/src/bloom.cpp b/src/bloom.cpp index 6f5cdb3fd1..34104b6e00 100644 --- a/src/bloom.cpp +++ b/src/bloom.cpp @@ -216,30 +216,54 @@ void CBloomFilter::UpdateEmptyFull() isEmpty = empty; } -CRollingBloomFilter::CRollingBloomFilter(unsigned int nElements, double fpRate) : - b1(nElements * 2, fpRate, 0), b2(nElements * 2, fpRate, 0) +CRollingBloomFilter::CRollingBloomFilter(unsigned int nElements, double fpRate) { - // Implemented using two bloom filters of 2 * nElements each. - // We fill them up, and clear them, staggered, every nElements - // inserted, so at least one always contains the last nElements - // inserted. - nInsertions = 0; - nBloomSize = nElements * 2; - + double logFpRate = log(fpRate); + /* The optimal number of hash functions is log(fpRate) / log(0.5), but + * restrict it to the range 1-50. */ + nHashFuncs = std::max(1, std::min((int)round(logFpRate / log(0.5)), 50)); + /* In this rolling bloom filter, we'll store between 2 and 3 generations of nElements / 2 entries. */ + nEntriesPerGeneration = (nElements + 1) / 2; + uint32_t nMaxElements = nEntriesPerGeneration * 3; + /* The maximum fpRate = pow(1.0 - exp(-nHashFuncs * nMaxElements / nFilterBits), nHashFuncs) + * => pow(fpRate, 1.0 / nHashFuncs) = 1.0 - exp(-nHashFuncs * nMaxElements / nFilterBits) + * => 1.0 - pow(fpRate, 1.0 / nHashFuncs) = exp(-nHashFuncs * nMaxElements / nFilterBits) + * => log(1.0 - pow(fpRate, 1.0 / nHashFuncs)) = -nHashFuncs * nMaxElements / nFilterBits + * => nFilterBits = -nHashFuncs * nMaxElements / log(1.0 - pow(fpRate, 1.0 / nHashFuncs)) + * => nFilterBits = -nHashFuncs * nMaxElements / log(1.0 - exp(logFpRate / nHashFuncs)) + */ + uint32_t nFilterBits = (uint32_t)ceil(-1.0 * nHashFuncs * nMaxElements / log(1.0 - exp(logFpRate / nHashFuncs))); + data.clear(); + /* We store up to 16 'bits' per data element. */ + data.resize((nFilterBits + 15) / 16); reset(); } +/* Similar to CBloomFilter::Hash */ +inline unsigned int CRollingBloomFilter::Hash(unsigned int nHashNum, const std::vector& vDataToHash) const { + return MurmurHash3(nHashNum * 0xFBA4C795 + nTweak, vDataToHash) % (data.size() * 16); +} + void CRollingBloomFilter::insert(const std::vector& vKey) { - if (nInsertions == 0) { - b1.clear(); - } else if (nInsertions == nBloomSize / 2) { - b2.clear(); + if (nEntriesThisGeneration == nEntriesPerGeneration) { + nEntriesThisGeneration = 0; + nGeneration++; + if (nGeneration == 4) { + nGeneration = 1; + } + /* Wipe old entries that used this generation number. */ + for (uint32_t p = 0; p < data.size() * 16; p++) { + if (get(p) == nGeneration) { + put(p, 0); + } + } } - b1.insert(vKey); - b2.insert(vKey); - if (++nInsertions == nBloomSize) { - nInsertions = 0; + nEntriesThisGeneration++; + + for (int n = 0; n < nHashFuncs; n++) { + uint32_t h = Hash(n, vKey); + put(h, nGeneration); } } @@ -251,10 +275,13 @@ void CRollingBloomFilter::insert(const uint256& hash) bool CRollingBloomFilter::contains(const std::vector& vKey) const { - if (nInsertions < nBloomSize / 2) { - return b2.contains(vKey); + for (int n = 0; n < nHashFuncs; n++) { + uint32_t h = Hash(n, vKey); + if (get(h) == 0) { + return false; + } } - return b1.contains(vKey); + return true; } bool CRollingBloomFilter::contains(const uint256& hash) const @@ -265,8 +292,10 @@ bool CRollingBloomFilter::contains(const uint256& hash) const void CRollingBloomFilter::reset() { - unsigned int nNewTweak = GetRand(std::numeric_limits::max()); - b1.reset(nNewTweak); - b2.reset(nNewTweak); - nInsertions = 0; + nTweak = GetRand(std::numeric_limits::max()); + nEntriesThisGeneration = 0; + nGeneration = 1; + for (std::vector::iterator it = data.begin(); it != data.end(); it++) { + *it = 0; + } } diff --git a/src/bloom.h b/src/bloom.h index f48ebe55e8..b0ad8b875d 100644 --- a/src/bloom.h +++ b/src/bloom.h @@ -110,8 +110,11 @@ public: * reset() is provided, which also changes nTweak to decrease the impact of * false-positives. * - * contains(item) will always return true if item was one of the last N things + * contains(item) will always return true if item was one of the last N to 1.5*N * insert()'ed ... but may also return true for items that were not inserted. + * + * It needs around 1.8 bytes per element per factor 0.1 of false positive rate. + * (More accurately: 3/(log(256)*log(2)) * log(1/fpRate) * nElements bytes) */ class CRollingBloomFilter { @@ -129,10 +132,23 @@ public: void reset(); private: - unsigned int nBloomSize; - unsigned int nInsertions; - CBloomFilter b1, b2; + int nEntriesPerGeneration; + int nEntriesThisGeneration; + int nGeneration; + std::vector data; + unsigned int nTweak; + int nHashFuncs; + + unsigned int Hash(unsigned int nHashNum, const std::vector& vDataToHash) const; + + inline int get(uint32_t position) const { + return (data[(position >> 4) % data.size()] >> (2 * (position & 0xF))) & 0x3; + } + + inline void put(uint32_t position, uint32_t val) { + uint32_t& cell = data[(position >> 4) % data.size()]; + cell = (cell & ~(((uint32_t)3) << (2 * (position & 0xF)))) | (val << (2 * (position & 0xF))); + } }; - #endif // BITCOIN_BLOOM_H diff --git a/src/net_processing.cpp b/src/net_processing.cpp index c32256cc57..52274e286b 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -88,7 +88,7 @@ namespace { * million to make it highly unlikely for users to have issues with this * filter. * - * Memory used: 1.7MB + * Memory used: 1.3MB */ boost::scoped_ptr recentRejects; uint256 hashRecentRejectsChainTip; From 3f6d6572f9df4c971a8d66f749e56c5002e05f35 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 11 Dec 2015 14:55:23 +0100 Subject: [PATCH 04/58] Merge pull request #7156 6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan) --- src/rpc/rawtransaction.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index 81d42e6a7d..c3a1dba565 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -393,7 +393,6 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp) + HelpExampleRpc("createrawtransaction", "\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"{\\\"data\\\":\\\"00010203\\\"}\"") ); - LOCK(cs_main); RPCTypeCheck(params, boost::assign::list_of(UniValue::VARR)(UniValue::VOBJ)(UniValue::VNUM), true); if (params[0].isNull() || params[1].isNull()) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, arguments 1 and 2 must be non-null"); From f04f8c19dc3690042e6af4a06c3ff74a2c64639b Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 7 Jan 2016 09:12:12 +0100 Subject: [PATCH 05/58] Merge pull request #7257 5e10922 Combine common error strings for different options so translations can be shared and reused (Luke Dashjr) --- src/init.cpp | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 2ad556a29e..12fb52ebd3 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -929,6 +929,16 @@ void InitParameterInteraction() #endif // ENABLE_WALLET } +static std::string ResolveErrMsg(const char * const optname, const std::string& strBind) +{ + return strprintf(_("Cannot resolve -%s address: '%s'"), optname, strBind); +} + +static std::string AmountErrMsg(const char * const optname, const std::string& strValue) +{ + return strprintf(_("Invalid amount for -%s=: '%s'"), optname, strValue); +} + void InitLogging() { fPrintToConsole = GetBoolArg("-printtoconsole", false); @@ -1123,7 +1133,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (ParseMoney(mapArgs["-minrelaytxfee"], n) && n > 0) ::minRelayTxFee = CFeeRate(n); else - return InitError(strprintf(_("Invalid amount for -minrelaytxfee=: '%s'"), mapArgs["-minrelaytxfee"])); + return InitError(AmountErrMsg("minrelaytxfee", mapArgs["-minrelaytxfee"])); } fRequireStandard = !GetBoolArg("-acceptnonstdtxn", !Params().RequireStandard()); @@ -1138,13 +1148,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (ParseMoney(mapArgs["-mintxfee"], n) && n > 0) CWallet::minTxFee = CFeeRate(n); else - return InitError(strprintf(_("Invalid amount for -mintxfee=: '%s'"), mapArgs["-mintxfee"])); + return InitError(AmountErrMsg("mintxfee", mapArgs["-mintxfee"])); } if (mapArgs.count("-fallbackfee")) { CAmount nFeePerK = 0; if (!ParseMoney(mapArgs["-fallbackfee"], nFeePerK)) - return InitError(strprintf(_("Invalid amount for -fallbackfee=: '%s'"), mapArgs["-fallbackfee"])); + return InitError(AmountErrMsg("fallbackfee", mapArgs["-fallbackfee"])); if (nFeePerK > nHighTransactionFeeWarning) InitWarning(_("-fallbackfee is set very high! This is the transaction fee you may pay when fee estimates are not available.")); CWallet::fallbackFee = CFeeRate(nFeePerK); @@ -1153,7 +1163,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) { CAmount nFeePerK = 0; if (!ParseMoney(mapArgs["-paytxfee"], nFeePerK)) - return InitError(strprintf(_("Invalid amount for -paytxfee=: '%s'"), mapArgs["-paytxfee"])); + return InitError(AmountErrMsg("paytxfee", mapArgs["-paytxfee"])); if (nFeePerK > nHighTransactionFeeWarning) InitWarning(_("-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.")); payTxFee = CFeeRate(nFeePerK, 1000); @@ -1167,7 +1177,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) { CAmount nMaxFee = 0; if (!ParseMoney(mapArgs["-maxtxfee"], nMaxFee)) - return InitError(strprintf(_("Invalid amount for -maxtxfee=: '%s'"), mapArgs["-maxtxfee"])); + return InitError(AmountErrMsg("maxtxfee", mapArgs["-maxtxfee"])); if (nMaxFee > nHighTransactionMaxFeeWarning) InitWarning(_("-maxtxfee is set very high! Fees this large could be paid on a single transaction.")); maxTxFee = nMaxFee; @@ -1430,13 +1440,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) BOOST_FOREACH(const std::string& strBind, mapMultiArgs["-bind"]) { CService addrBind; if (!Lookup(strBind.c_str(), addrBind, GetListenPort(), false)) - return InitError(strprintf(_("Cannot resolve -bind address: '%s'"), strBind)); + return InitError(ResolveErrMsg("bind", strBind)); fBound |= Bind(connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR)); } BOOST_FOREACH(const std::string& strBind, mapMultiArgs["-whitebind"]) { CService addrBind; if (!Lookup(strBind.c_str(), addrBind, 0, false)) - return InitError(strprintf(_("Cannot resolve -whitebind address: '%s'"), strBind)); + return InitError(ResolveErrMsg("whitebind", strBind)); if (addrBind.GetPort() == 0) return InitError(strprintf(_("Need to specify a port with -whitebind: '%s'"), strBind)); fBound |= Bind(connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR | BF_WHITELIST)); @@ -1458,7 +1468,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (Lookup(strAddr.c_str(), addrLocal, GetListenPort(), fNameLookup) && addrLocal.IsValid()) AddLocal(addrLocal, LOCAL_MANUAL); else - return InitError(strprintf(_("Cannot resolve -externalip address: '%s'"), strAddr)); + return InitError(ResolveErrMsg("externalip", strAddr)); } } From bcebc7c4c1b21ceaaebfda2fd589e1f7d3838fc7 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 7 Jan 2016 11:58:32 +0100 Subject: [PATCH 06/58] Merge pull request #7266 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 6cd198f Removed comment about IsStandard for P2SH scripts (Marcel Krüger) --- src/policy/policy.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index fc79b71e68..c47a41e399 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -23,9 +23,6 @@ * 2. P2SH scripts with a crazy number of expensive * CHECKSIG/CHECKMULTISIG operations * - * Check transaction inputs, and make sure any - * pay-to-script-hash transactions are evaluating IsStandard scripts - * * Why bother? To avoid denial-of-service attacks; an attacker * can submit a standard HASH... OP_EQUAL transaction, * which will get accepted into blocks. The redemption From 5ca9b1a9c3dd1e04ecc4771239afc5d2a64ec2dd Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 8 Jan 2016 17:34:41 +0100 Subject: [PATCH 07/58] Merge pull request #7317 8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli) db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli) --- src/httprpc.cpp | 4 ++-- src/qt/rpcconsole.cpp | 6 ++++-- src/rpc/server.cpp | 22 +++++++++++++--------- src/rpc/server.h | 10 ++++++---- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/httprpc.cpp b/src/httprpc.cpp index ec370cc879..0ed0bbf4e8 100644 --- a/src/httprpc.cpp +++ b/src/httprpc.cpp @@ -231,7 +231,7 @@ bool StartHTTPRPC() assert(EventBase()); httpRPCTimerInterface = new HTTPRPCTimerInterface(EventBase()); - RPCRegisterTimerInterface(httpRPCTimerInterface); + RPCSetTimerInterface(httpRPCTimerInterface); return true; } @@ -245,7 +245,7 @@ void StopHTTPRPC() LogPrint("rpc", "Stopping HTTP RPC server\n"); UnregisterHTTPHandler("/", true); if (httpRPCTimerInterface) { - RPCUnregisterTimerInterface(httpRPCTimerInterface); + RPCUnsetTimerInterface(httpRPCTimerInterface); delete httpRPCTimerInterface; httpRPCTimerInterface = 0; } diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index a3ee595321..db739485f9 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -302,7 +302,9 @@ RPCConsole::RPCConsole(const PlatformStyle *platformStyle, QWidget *parent) : #endif // Register RPC timer interface rpcTimerInterface = new QtRPCTimerInterface(); - RPCRegisterTimerInterface(rpcTimerInterface); + // avoid accidentally overwriting an existing, non QTThread + // based timer interface + RPCSetTimerInterfaceIfUnset(rpcTimerInterface); setTrafficGraphRange(INITIAL_TRAFFIC_GRAPH_SETTING); @@ -316,7 +318,7 @@ RPCConsole::RPCConsole(const PlatformStyle *platformStyle, QWidget *parent) : RPCConsole::~RPCConsole() { GUIUtil::saveWindowGeometry("nRPCConsoleWindow", this); - RPCUnregisterTimerInterface(rpcTimerInterface); + RPCUnsetTimerInterface(rpcTimerInterface); delete rpcTimerInterface; delete ui; } diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp index 86e36373a2..1763e20d0b 100644 --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -34,7 +34,7 @@ static bool fRPCInWarmup = true; static std::string rpcWarmupStatus("RPC server started"); static CCriticalSection cs_rpcWarmup; /* Timer-creating functions */ -static std::vector timerInterfaces; +static RPCTimerInterface* timerInterface = NULL; /* Map of name to timer. * @note Can be changed to std::unique_ptr when C++11 */ static std::map > deadlineTimers; @@ -589,24 +589,28 @@ std::string HelpExampleRpc(const std::string& methodname, const std::string& arg "\"method\": \"" + methodname + "\", \"params\": [" + args + "] }' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n"; } -void RPCRegisterTimerInterface(RPCTimerInterface *iface) +void RPCSetTimerInterfaceIfUnset(RPCTimerInterface *iface) { - timerInterfaces.push_back(iface); + if (!timerInterface) + timerInterface = iface; } -void RPCUnregisterTimerInterface(RPCTimerInterface *iface) +void RPCSetTimerInterface(RPCTimerInterface *iface) { - std::vector::iterator i = std::find(timerInterfaces.begin(), timerInterfaces.end(), iface); - assert(i != timerInterfaces.end()); - timerInterfaces.erase(i); + timerInterface = iface; +} + +void RPCUnsetTimerInterface(RPCTimerInterface *iface) +{ + if (timerInterface == iface) + timerInterface = NULL; } void RPCRunLater(const std::string& name, boost::function func, int64_t nSeconds) { - if (timerInterfaces.empty()) + if (!timerInterface) throw JSONRPCError(RPC_INTERNAL_ERROR, "No timer handler registered for RPC"); deadlineTimers.erase(name); - RPCTimerInterface* timerInterface = timerInterfaces.back(); LogPrint("rpc", "queue run of timer %s in %i seconds (using %s)\n", name, nSeconds, timerInterface->Name()); deadlineTimers.insert(std::make_pair(name, boost::shared_ptr(timerInterface->NewTimer(func, nSeconds*1000)))); } diff --git a/src/rpc/server.h b/src/rpc/server.h index 9c9fa7729a..54bda91876 100644 --- a/src/rpc/server.h +++ b/src/rpc/server.h @@ -100,10 +100,12 @@ public: virtual RPCTimerBase* NewTimer(boost::function& func, int64_t millis) = 0; }; -/** Register factory function for timers */ -void RPCRegisterTimerInterface(RPCTimerInterface *iface); -/** Unregister factory function for timers */ -void RPCUnregisterTimerInterface(RPCTimerInterface *iface); +/** Set the factory function for timers */ +void RPCSetTimerInterface(RPCTimerInterface *iface); +/** Set the factory function for timer, but only, if unset */ +void RPCSetTimerInterfaceIfUnset(RPCTimerInterface *iface); +/** Unset factory function for timers */ +void RPCUnsetTimerInterface(RPCTimerInterface *iface); /** * Run func nSeconds from now. From 26a5dfe339b08b861386e60d3d5411ab81c714d9 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 13 Jan 2016 11:50:19 +0100 Subject: [PATCH 08/58] Merge pull request #7326 3a9dfe9 Fix typo, wrong information in gettxout help text. (paveljanik) --- src/rpc/blockchain.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index 52f4434ad0..44565e929d 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -667,8 +667,8 @@ UniValue gettxout(const UniValue& params, bool fHelp) "\nReturns details about an unspent transaction output.\n" "\nArguments:\n" "1. \"txid\" (string, required) The transaction id\n" - "2. n (numeric, required) vout value\n" - "3. includemempool (boolean, optional) Whether to included the mem pool\n" + "2. n (numeric, required) vout number\n" + "3. includemempool (boolean, optional) Whether to include the mem pool\n" "\nResult:\n" "{\n" " \"bestblock\" : \"hash\", (string) the block hash\n" From 38080259be3d7e2908ac43ded900ef9bc69c4b41 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 18 Jan 2016 10:45:19 +0100 Subject: [PATCH 09/58] Merge pull request #7313 0331aa3 Fixing typos on security-check.py and torcontrol.cpp (calebogden) --- contrib/devtools/security-check.py | 2 +- src/torcontrol.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contrib/devtools/security-check.py b/contrib/devtools/security-check.py index 01586457db..0319f739c4 100755 --- a/contrib/devtools/security-check.py +++ b/contrib/devtools/security-check.py @@ -1,7 +1,7 @@ #!/usr/bin/python2 ''' Perform basic ELF security checks on a series of executables. -Exit status will be 0 if succesful, and the program will be silent. +Exit status will be 0 if successful, and the program will be silent. Otherwise the exit status will be 1 and it will log which executables failed which checks. Needs `readelf` (for ELF) and `objdump` (for PE). ''' diff --git a/src/torcontrol.cpp b/src/torcontrol.cpp index d10b3e00a1..89b1aec404 100644 --- a/src/torcontrol.cpp +++ b/src/torcontrol.cpp @@ -80,7 +80,7 @@ public: /** * Connect to a Tor control port. * target is address of the form host:port. - * connected is the handler that is called when connection is succesfully established. + * connected is the handler that is called when connection is successfully established. * disconnected is a handler that is called when the connection is broken. * Return true on success. */ @@ -178,7 +178,7 @@ void TorControlConnection::eventcb(struct bufferevent *bev, short what, void *ct { TorControlConnection *self = (TorControlConnection*)ctx; if (what & BEV_EVENT_CONNECTED) { - LogPrint("tor", "tor: Succesfully connected!\n"); + LogPrint("tor", "tor: Successfully connected!\n"); self->connected(*self); } else if (what & (BEV_EVENT_EOF|BEV_EVENT_ERROR)) { if (what & BEV_EVENT_ERROR) @@ -381,7 +381,7 @@ private: void authchallenge_cb(TorControlConnection& conn, const TorControlReply& reply); /** Callback for PROTOCOLINFO result */ void protocolinfo_cb(TorControlConnection& conn, const TorControlReply& reply); - /** Callback after succesful connection */ + /** Callback after successful connection */ void connected_cb(TorControlConnection& conn); /** Callback after connection lost or failed connection attempt */ void disconnected_cb(TorControlConnection& conn); @@ -425,7 +425,7 @@ TorController::~TorController() void TorController::add_onion_cb(TorControlConnection& conn, const TorControlReply& reply) { if (reply.code == 250) { - LogPrint("tor", "tor: ADD_ONION succesful\n"); + LogPrint("tor", "tor: ADD_ONION successful\n"); BOOST_FOREACH(const std::string &s, reply.lines) { std::map m = ParseTorReplyMapping(s); std::map::iterator i; @@ -453,7 +453,7 @@ void TorController::add_onion_cb(TorControlConnection& conn, const TorControlRep void TorController::auth_cb(TorControlConnection& conn, const TorControlReply& reply) { if (reply.code == 250) { - LogPrint("tor", "tor: Authentication succesful\n"); + LogPrint("tor", "tor: Authentication successful\n"); // Now that we know Tor is running setup the proxy for onion addresses // if -onion isn't set to something else. @@ -507,7 +507,7 @@ static std::vector ComputeResponse(const std::string &key, const std::v void TorController::authchallenge_cb(TorControlConnection& conn, const TorControlReply& reply) { if (reply.code == 250) { - LogPrint("tor", "tor: SAFECOOKIE authentication challenge succesful\n"); + LogPrint("tor", "tor: SAFECOOKIE authentication challenge successful\n"); std::pair l = SplitTorReplyLine(reply.lines[0]); if (l.first == "AUTHCHALLENGE") { std::map m = ParseTorReplyMapping(l.second); From 25ba3aba163aecb76bb204da60cdae77f159d047 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 18 Jan 2016 10:49:38 +0100 Subject: [PATCH 10/58] Merge pull request #7304 fa074a6 [contrib] Prepare clang-format-diff for usage (MarcoFalke) fa4f4b6 Add clang-format-diff.py from the LLVM svn (MarcoFalke) --- contrib/devtools/README.md | 12 ++ contrib/devtools/clang-format-diff.py | 164 ++++++++++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100755 contrib/devtools/clang-format-diff.py diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index fa1b559718..cffca02021 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -7,6 +7,18 @@ clang-format.py A script to format cpp source code according to [.clang-format](../../src/.clang-format). This should only be applied to new files or files which are currently not actively developed on. Also, git subtrees are not subject to formatting. +clang-format-diff.py +=================== + +A script to format unified git diffs according to [.clang-format](../../src/.clang-format). + +For instance, to format the last commit with 0 lines of context, +the script should be called from the git root folder as follows. + +``` +git diff -U0 HEAD~1.. | ./contrib/devtools/clang-format-diff.py -p1 -i -v +``` + fix-copyright-headers.py ======================== diff --git a/contrib/devtools/clang-format-diff.py b/contrib/devtools/clang-format-diff.py new file mode 100755 index 0000000000..13d2573b9f --- /dev/null +++ b/contrib/devtools/clang-format-diff.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python +# +#===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===# +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. +# +# ============================================================ +# +# University of Illinois/NCSA +# Open Source License +# +# Copyright (c) 2007-2015 University of Illinois at Urbana-Champaign. +# All rights reserved. +# +# Developed by: +# +# LLVM Team +# +# University of Illinois at Urbana-Champaign +# +# http://llvm.org +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal with +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimers. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimers in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of the LLVM Team, University of Illinois at +# Urbana-Champaign, nor the names of its contributors may be used to +# endorse or promote products derived from this Software without specific +# prior written permission. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +# SOFTWARE. +# +# ============================================================ +# +#===------------------------------------------------------------------------===# + +r""" +ClangFormat Diff Reformatter +============================ + +This script reads input from a unified diff and reformats all the changed +lines. This is useful to reformat all the lines touched by a specific patch. +Example usage for git/svn users: + + git diff -U0 HEAD^ | clang-format-diff.py -p1 -i + svn diff --diff-cmd=diff -x-U0 | clang-format-diff.py -i + +""" + +import argparse +import difflib +import re +import string +import subprocess +import StringIO +import sys + + +# Change this to the full path if clang-format is not on the path. +binary = 'clang-format' + + +def main(): + parser = argparse.ArgumentParser(description= + 'Reformat changed lines in diff. Without -i ' + 'option just output the diff that would be ' + 'introduced.') + parser.add_argument('-i', action='store_true', default=False, + help='apply edits to files instead of displaying a diff') + parser.add_argument('-p', metavar='NUM', default=0, + help='strip the smallest prefix containing P slashes') + parser.add_argument('-regex', metavar='PATTERN', default=None, + help='custom pattern selecting file paths to reformat ' + '(case sensitive, overrides -iregex)') + parser.add_argument('-iregex', metavar='PATTERN', default= + r'.*\.(cpp|cc|c\+\+|cxx|c|cl|h|hpp|m|mm|inc|js|ts|proto' + r'|protodevel|java)', + help='custom pattern selecting file paths to reformat ' + '(case insensitive, overridden by -regex)') + parser.add_argument('-sort-includes', action='store_true', default=False, + help='let clang-format sort include blocks') + parser.add_argument('-v', '--verbose', action='store_true', + help='be more verbose, ineffective without -i') + args = parser.parse_args() + + # Extract changed lines for each file. + filename = None + lines_by_file = {} + for line in sys.stdin: + match = re.search('^\+\+\+\ (.*?/){%s}(\S*)' % args.p, line) + if match: + filename = match.group(2) + if filename == None: + continue + + if args.regex is not None: + if not re.match('^%s$' % args.regex, filename): + continue + else: + if not re.match('^%s$' % args.iregex, filename, re.IGNORECASE): + continue + + match = re.search('^@@.*\+(\d+)(,(\d+))?', line) + if match: + start_line = int(match.group(1)) + line_count = 1 + if match.group(3): + line_count = int(match.group(3)) + if line_count == 0: + continue + end_line = start_line + line_count - 1; + lines_by_file.setdefault(filename, []).extend( + ['-lines', str(start_line) + ':' + str(end_line)]) + + # Reformat files containing changes in place. + for filename, lines in lines_by_file.iteritems(): + if args.i and args.verbose: + print 'Formatting', filename + command = [binary, filename] + if args.i: + command.append('-i') + if args.sort_includes: + command.append('-sort-includes') + command.extend(lines) + command.extend(['-style=file', '-fallback-style=none']) + p = subprocess.Popen(command, stdout=subprocess.PIPE, + stderr=None, stdin=subprocess.PIPE) + stdout, stderr = p.communicate() + if p.returncode != 0: + sys.exit(p.returncode); + + if not args.i: + with open(filename) as f: + code = f.readlines() + formatted_code = StringIO.StringIO(stdout).readlines() + diff = difflib.unified_diff(code, formatted_code, + filename, filename, + '(before formatting)', '(after formatting)') + diff_string = string.join(diff, '') + if len(diff_string) > 0: + sys.stdout.write(diff_string) + +if __name__ == '__main__': + main() From 723eacf454d73e71f2a7e22a9e018211d5b7ef5a Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 18 Jan 2016 11:21:02 +0100 Subject: [PATCH 11/58] Merge pull request #7290 fa461df Clarify mocktime help message (MarcoFalke) faa572a [init] Help Msg: Use Params(CBaseChainParams::MAIN) (MarcoFalke) fa6ab96 [init] Add missing help for args (MarcoFalke) fac11ea [init] Fix error message of maxtxfee invalid amount (MarcoFalke) --- src/init.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index 12fb52ebd3..39d24cd2a8 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -390,7 +390,7 @@ std::string HelpMessage(HelpMessageMode mode) // When adding new options to the categories, please keep and ensure alphabetical ordering. // Do not translate _(...) -help-debug options, Many technical terms, and only a very small audience, so is unnecessary stress to translators. string strUsage = HelpMessageGroup(_("Options:")); - strUsage += HelpMessageOpt("-?", _("This help message")); + strUsage += HelpMessageOpt("-?", _("Print this help message and exit")); strUsage += HelpMessageOpt("-version", _("Print version and exit")); strUsage += HelpMessageOpt("-alerts", strprintf(_("Receive and display P2P network alerts (default: %u)"), DEFAULT_ALERTS)); strUsage += HelpMessageOpt("-alertnotify=", _("Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)")); From 2474fd0aeab0609a76e7cbc039a74880f763eeb6 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 18 Jan 2016 11:55:52 +0100 Subject: [PATCH 12/58] Merge pull request #7208 64360f1 Make max tip age an option instead of chainparam (Wladimir J. van der Laan) --- src/chainparams.cpp | 3 --- src/chainparams.h | 2 -- src/init.cpp | 3 +++ src/validation.cpp | 5 ++++- src/validation.h | 2 ++ 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index cf9d4fde7a..77caa5b96d 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -133,7 +133,6 @@ public: pchMessageStart[3] = 0xbd; vAlertPubKey = ParseHex("048240a8748a80a286b270ba126705ced4f2ce5a7847b3610ea3c06513150dade2a8512ed5ea86320824683fc0818f0ac019214973e677acd1244f6d0571fc5103"); nDefaultPort = 9999; - nMaxTipAge = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin nDelayGetHeadersTime = 24 * 60 * 60; nPruneAfterHeight = 100000; @@ -269,7 +268,6 @@ public: pchMessageStart[3] = 0xff; vAlertPubKey = ParseHex("04517d8a699cb43d3938d7b24faaff7cda448ca4ea267723ba614784de661949bf632d6304316b244646dea079735b9a6fc4af804efb4752075b9fe2245e14e412"); nDefaultPort = 19999; - nMaxTipAge = 0x7fffffff; // allow mining on top of old blocks for testnet nDelayGetHeadersTime = 24 * 60 * 60; nPruneAfterHeight = 1000; @@ -380,7 +378,6 @@ public: pchMessageStart[1] = 0xc1; pchMessageStart[2] = 0xb7; pchMessageStart[3] = 0xdc; - nMaxTipAge = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin nDelayGetHeadersTime = 0; // never delay GETHEADERS in regtests nDefaultPort = 19994; nPruneAfterHeight = 1000; diff --git a/src/chainparams.h b/src/chainparams.h index 4160e6c53a..1538f880cd 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -64,7 +64,6 @@ public: bool DefaultConsistencyChecks() const { return fDefaultConsistencyChecks; } /** Policy: Filter transactions that do not match well-defined patterns */ bool RequireStandard() const { return fRequireStandard; } - int64_t MaxTipAge() const { return nMaxTipAge; } int64_t DelayGetHeadersTime() const { return nDelayGetHeadersTime; } uint64_t PruneAfterHeight() const { return nPruneAfterHeight; } /** Make miner stop after a block is found. In RPC, don't return until nGenProcLimit blocks are generated */ @@ -89,7 +88,6 @@ protected: //! Raw pub key bytes for the broadcast alert signing key. std::vector vAlertPubKey; int nDefaultPort; - long nMaxTipAge; int64_t nDelayGetHeadersTime; uint64_t nPruneAfterHeight; std::vector vSeeds; diff --git a/src/init.cpp b/src/init.cpp index 39d24cd2a8..1f535630db 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -567,6 +567,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-limitfreerelay=", strprintf("Continuously rate-limit free transactions to *1000 bytes per minute (default: %u)", DEFAULT_LIMITFREERELAY)); strUsage += HelpMessageOpt("-relaypriority", strprintf("Require high priority for relaying free or low-fee transactions (default: %u)", DEFAULT_RELAYPRIORITY)); strUsage += HelpMessageOpt("-maxsigcachesize=", strprintf("Limit size of signature cache to MiB (default: %u)", DEFAULT_MAX_SIG_CACHE_SIZE)); + strUsage += HelpMessageOpt("-maxtipage=", strprintf("Maximum tip age in seconds to consider node in initial block download (default: %u)", DEFAULT_MAX_TIP_AGE)); } strUsage += HelpMessageOpt("-minrelaytxfee=", strprintf(_("Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)"), CURRENCY_UNIT, FormatMoney(DEFAULT_MIN_RELAY_TX_FEE))); @@ -1209,6 +1210,8 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (GetBoolArg("-peerbloomfilters", true)) nLocalServices = ServiceFlags(nLocalServices | NODE_BLOOM); + nMaxTipAge = GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE); + fEnableReplacement = GetBoolArg("-mempoolreplacement", DEFAULT_ENABLE_REPLACEMENT); if ((!fEnableReplacement) && mapArgs.count("-mempoolreplacement")) { // Minimal effort at forwards compatibility diff --git a/src/validation.cpp b/src/validation.cpp index 942ae50e9e..d413a9aaa6 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -83,6 +83,9 @@ bool fCheckpointsEnabled = DEFAULT_CHECKPOINTS_ENABLED; size_t nCoinCacheUsage = 5000 * 300; uint64_t nPruneTarget = 0; bool fAlerts = DEFAULT_ALERTS; +/* If the tip is older than this (in seconds), the node is considered to be in initial block download. + */ +int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE; bool fEnableReplacement = DEFAULT_ENABLE_REPLACEMENT; std::atomic fDIP0001WasLockedIn{false}; @@ -1308,7 +1311,7 @@ bool IsInitialBlockDownload() return true; if (chainActive.Tip()->nChainWork < UintToArith256(chainParams.GetConsensus().nMinimumChainWork)) return true; - if (chainActive.Tip()->GetBlockTime() < (GetTime() - chainParams.MaxTipAge())) + if (chainActive.Tip()->GetBlockTime() < (GetTime() - nMaxTipAge)) return true; lockIBDState = true; return false; diff --git a/src/validation.h b/src/validation.h index 9c5f307e58..82e5e06c9a 100644 --- a/src/validation.h +++ b/src/validation.h @@ -111,6 +111,7 @@ static const int64_t BLOCK_DOWNLOAD_TIMEOUT_PER_PEER = 125000; static const unsigned int DEFAULT_LIMITFREERELAY = 15; static const bool DEFAULT_RELAYPRIORITY = true; +static const int64_t DEFAULT_MAX_TIP_AGE = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin /** Default for -permitbaremultisig */ static const bool DEFAULT_PERMIT_BAREMULTISIG = true; @@ -156,6 +157,7 @@ extern bool fCheckpointsEnabled; extern size_t nCoinCacheUsage; extern CFeeRate minRelayTxFee; extern bool fAlerts; +extern int64_t nMaxTipAge; extern bool fEnableReplacement; extern bool fLargeWorkForkFound; From 42997ee8dc993a01d048853e4a27fd6894b9db5f Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 19 Jan 2016 09:41:11 +0100 Subject: [PATCH 13/58] Merge pull request #7280 faeda0e [travis] Run contrib/devtools/check-doc.py early (MarcoFalke) fada0c9 [travis] Fail when documentation is outdated (MarcoFalke) --- .travis.yml | 1 + contrib/devtools/README.md | 6 +++++ contrib/devtools/check-doc.py | 45 +++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100755 contrib/devtools/check-doc.py diff --git a/.travis.yml b/.travis.yml index aa59542426..d0de765933 100644 --- a/.travis.yml +++ b/.travis.yml @@ -77,6 +77,7 @@ script: - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh - ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - make distdir PACKAGE=dash VERSION=$HOST + - if [ "$RUN_TESTS" = "true" ]; then contrib/devtools/check-doc.py; fi - cd dash-$HOST - ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false ) diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index cffca02021..2f6c404ac3 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -2,6 +2,12 @@ Contents ======== This directory contains tools for developers working on this repository. +check-doc.py +============ + +Check if all command line args are documented. The return value indicates the +number of undocumented args. + clang-format.py =============== diff --git a/contrib/devtools/check-doc.py b/contrib/devtools/check-doc.py new file mode 100755 index 0000000000..9c589e6e6d --- /dev/null +++ b/contrib/devtools/check-doc.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# Copyright (c) 2015 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +''' +This checks if all command line args are documented. +Return value is 0 to indicate no error. + +Author: @MarcoFalke +''' + +from subprocess import check_output +import re + +FOLDER_GREP = 'src' +FOLDER_TEST = 'src/test/' +CMD_ROOT_DIR = '`git rev-parse --show-toplevel`/%s' % FOLDER_GREP +CMD_GREP_ARGS = r"egrep -r -I '(map(Multi)?Args(\.count\(|\[)|Get(Bool)?Arg\()\"\-[^\"]+?\"' %s | grep -v '%s'" % (CMD_ROOT_DIR, FOLDER_TEST) +CMD_GREP_DOCS = r"egrep -r -I 'HelpMessageOpt\(\"\-[^\"=]+?(=|\")' %s" % (CMD_ROOT_DIR) +REGEX_ARG = re.compile(r'(?:map(?:Multi)?Args(?:\.count\(|\[)|Get(?:Bool)?Arg\()\"(\-[^\"]+?)\"') +REGEX_DOC = re.compile(r'HelpMessageOpt\(\"(\-[^\"=]+?)(?:=|\")') +# list unsupported, deprecated and duplicate args as they need no documentation +SET_DOC_OPTIONAL = set(['-rpcssl', '-benchmark', '-h', '-help', '-socks', '-tor', '-debugnet']) + +def main(): + used = check_output(CMD_GREP_ARGS, shell=True) + docd = check_output(CMD_GREP_DOCS, shell=True) + + args_used = set(re.findall(REGEX_ARG,used)) + args_docd = set(re.findall(REGEX_DOC,docd)).union(SET_DOC_OPTIONAL) + args_need_doc = args_used.difference(args_docd) + args_unknown = args_docd.difference(args_used) + + print "Args used : %s" % len(args_used) + print "Args documented : %s" % len(args_docd) + print "Args undocumented: %s" % len(args_need_doc) + print args_need_doc + print "Args unknown : %s" % len(args_unknown) + print args_unknown + + exit(len(args_need_doc)) + +if __name__ == "__main__": + main() From 3be77849d720fa372e17b7761575ffeda0979220 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 20 Jan 2016 13:39:19 +0100 Subject: [PATCH 14/58] Merge pull request #7378 da6d18b devtools: replace github-merge with python version (Wladimir J. van der Laan) --- contrib/README.md | 4 +- contrib/devtools/README.md | 4 +- contrib/devtools/github-merge.py | 223 +++++++++++++++++++++++++++++++ contrib/devtools/github-merge.sh | 185 ------------------------- 4 files changed, 227 insertions(+), 189 deletions(-) create mode 100755 contrib/devtools/github-merge.py delete mode 100755 contrib/devtools/github-merge.sh diff --git a/contrib/README.md b/contrib/README.md index 25cea4c01e..7c3b2c13db 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -11,10 +11,10 @@ Repository Tools ### [Developer tools](/contrib/devtools) ### Specific tools for developers working on this repository. -Contains the script `github-merge.sh` for merging github pull requests securely and signing them using GPG. +Contains the script `github-merge.py` for merging github pull requests securely and signing them using GPG. ### [Verify-Commits](/contrib/verify-commits) ### -Tool to verify that every merge commit was signed by a developer using the above `github-merge.sh` script. +Tool to verify that every merge commit was signed by a developer using the above `github-merge.py` script. ### [Linearize](/contrib/linearize) ### Construct a linear, no-fork, best version of the blockchain. diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index 2f6c404ac3..5d2a672e22 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -56,14 +56,14 @@ Usage: `git-subtree-check.sh DIR COMMIT` `COMMIT` may be omitted, in which case `HEAD` is used. -github-merge.sh +github-merge.py =============== A small script to automate merging pull-requests securely and sign them with GPG. For example: - ./github-merge.sh bitcoin/bitcoin 3077 + ./github-merge.py 3077 (in any git repository) will help you merge pull request #3077 for the bitcoin/bitcoin repository. diff --git a/contrib/devtools/github-merge.py b/contrib/devtools/github-merge.py new file mode 100755 index 0000000000..33d33b7005 --- /dev/null +++ b/contrib/devtools/github-merge.py @@ -0,0 +1,223 @@ +#!/usr/bin/env python2 +# Copyright (c) 2016 Bitcoin Core Developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# This script will locally construct a merge commit for a pull request on a +# github repository, inspect it, sign it and optionally push it. + +# The following temporary branches are created/overwritten and deleted: +# * pull/$PULL/base (the current master we're merging onto) +# * pull/$PULL/head (the current state of the remote pull request) +# * pull/$PULL/merge (github's merge) +# * pull/$PULL/local-merge (our merge) + +# In case of a clean merge that is accepted by the user, the local branch with +# name $BRANCH is overwritten with the merged result, and optionally pushed. +from __future__ import division,print_function,unicode_literals +import os,sys +from sys import stdin,stdout,stderr +import argparse +import subprocess + +# External tools (can be overridden using environment) +GIT = os.getenv('GIT','git') +BASH = os.getenv('BASH','bash') + +def git_config_get(option, default=None): + ''' + Get named configuration option from git repository. + ''' + try: + return subprocess.check_output([GIT,'config','--get',option]).rstrip() + except subprocess.CalledProcessError as e: + return default + +def retrieve_pr_title(repo,pull): + ''' + Retrieve pull request title from github. + Return None if no title can be found, or an error happens. + ''' + import urllib2,json + try: + req = urllib2.Request("https://api.github.com/repos/"+repo+"/pulls/"+pull) + result = urllib2.urlopen(req) + result = json.load(result) + return result['title'] + except Exception as e: + print('Warning: unable to retrieve pull title from github: %s' % e) + return None + +def ask_prompt(text): + print(text,end=" ",file=stderr) + reply = stdin.readline().rstrip() + print("",file=stderr) + return reply + +def parse_arguments(branch): + epilog = ''' + In addition, you can set the following git configuration variables: + githubmerge.repository (mandatory), + user.signingkey (mandatory), + githubmerge.host (default: git@github.com), + githubmerge.branch (default: master), + githubmerge.testcmd (default: none). + ''' + parser = argparse.ArgumentParser(description='Utility to merge, sign and push github pull requests', + epilog=epilog) + parser.add_argument('pull', metavar='PULL', type=int, nargs=1, + help='Pull request ID to merge') + parser.add_argument('branch', metavar='BRANCH', type=str, nargs='?', + default=branch, help='Branch to merge against (default: '+branch+')') + return parser.parse_args() + +def main(): + # Extract settings from git repo + repo = git_config_get('githubmerge.repository') + host = git_config_get('githubmerge.host','git@github.com') + branch = git_config_get('githubmerge.branch','master') + testcmd = git_config_get('githubmerge.testcmd') + signingkey = git_config_get('user.signingkey') + if repo is None: + print("ERROR: No repository configured. Use this command to set:", file=stderr) + print("git config githubmerge.repository /", file=stderr) + exit(1) + if signingkey is None: + print("ERROR: No GPG signing key set. Set one using:",file=stderr) + print("git config --global user.signingkey ",file=stderr) + exit(1) + + host_repo = host+":"+repo # shortcut for push/pull target + + # Extract settings from command line + args = parse_arguments(branch) + pull = str(args.pull[0]) + branch = args.branch + + # Initialize source branches + head_branch = 'pull/'+pull+'/head' + base_branch = 'pull/'+pull+'/base' + merge_branch = 'pull/'+pull+'/merge' + local_merge_branch = 'pull/'+pull+'/local-merge' + + devnull = open(os.devnull,'w') + try: + subprocess.check_call([GIT,'checkout','-q',branch]) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot check out branch %s." % (branch), file=stderr) + exit(3) + try: + subprocess.check_call([GIT,'fetch','-q',host_repo,'+refs/pull/'+pull+'/*:refs/heads/pull/'+pull+'/*']) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot find pull request #%s on %s." % (pull,host_repo), file=stderr) + exit(3) + try: + subprocess.check_call([GIT,'log','-q','-1','refs/heads/'+head_branch], stdout=devnull, stderr=stdout) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot find head of pull request #%s on %s." % (pull,host_repo), file=stderr) + exit(3) + try: + subprocess.check_call([GIT,'log','-q','-1','refs/heads/'+merge_branch], stdout=devnull, stderr=stdout) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot find merge of pull request #%s on %s." % (pull,host_repo), file=stderr) + exit(3) + try: + subprocess.check_call([GIT,'fetch','-q',host_repo,'+refs/heads/'+branch+':refs/heads/'+base_branch]) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot find branch %s on %s." % (branch,host_repo), file=stderr) + exit(3) + subprocess.check_call([GIT,'checkout','-q',base_branch]) + subprocess.call([GIT,'branch','-q','-D',local_merge_branch], stderr=devnull) + subprocess.check_call([GIT,'checkout','-q','-b',local_merge_branch]) + + try: + # Create unsigned merge commit. + title = retrieve_pr_title(repo,pull) + if title: + firstline = 'Merge #%s: %s' % (pull,title) + else: + firstline = 'Merge #%s' % (pull,) + message = firstline + '\n\n' + message += subprocess.check_output([GIT,'log','--no-merges','--topo-order','--pretty=format:%h %s (%an)',base_branch+'..'+head_branch]) + try: + subprocess.check_call([GIT,'merge','-q','--commit','--no-edit','--no-ff','-m',message,head_branch]) + except subprocess.CalledProcessError as e: + print("ERROR: Cannot be merged cleanly.",file=stderr) + subprocess.check_call([GIT,'merge','--abort']) + exit(4) + logmsg = subprocess.check_output([GIT,'log','--pretty=format:%s','-n','1']) + if logmsg.rstrip() != firstline.rstrip(): + print("ERROR: Creating merge failed (already merged?).",file=stderr) + exit(4) + + # Run test command if configured. + if testcmd: + # Go up to the repository's root. + toplevel = subprocess.check_output([GIT,'rev-parse','--show-toplevel']) + os.chdir(toplevel) + if subprocess.call(testcmd,shell=True): + print("ERROR: Running %s failed." % testcmd,file=stderr) + exit(5) + + # Show the created merge. + diff = subprocess.check_output([GIT,'diff',merge_branch+'..'+local_merge_branch]) + subprocess.check_call([GIT,'diff',base_branch+'..'+local_merge_branch]) + if diff: + print("WARNING: merge differs from github!",file=stderr) + reply = ask_prompt("Type 'ignore' to continue.") + if reply.lower() == 'ignore': + print("Difference with github ignored.",file=stderr) + else: + exit(6) + reply = ask_prompt("Press 'd' to accept the diff.") + if reply.lower() == 'd': + print("Diff accepted.",file=stderr) + else: + print("ERROR: Diff rejected.",file=stderr) + exit(6) + else: + # Verify the result manually. + print("Dropping you on a shell so you can try building/testing the merged source.",file=stderr) + print("Run 'git diff HEAD~' to show the changes being merged.",file=stderr) + print("Type 'exit' when done.",file=stderr) + if os.path.isfile('/etc/debian_version'): # Show pull number on Debian default prompt + os.putenv('debian_chroot',pull) + subprocess.call([BASH,'-i']) + reply = ask_prompt("Type 'm' to accept the merge.") + if reply.lower() == 'm': + print("Merge accepted.",file=stderr) + else: + print("ERROR: Merge rejected.",file=stderr) + exit(7) + + # Sign the merge commit. + reply = ask_prompt("Type 's' to sign off on the merge.") + if reply == 's': + try: + subprocess.check_call([GIT,'commit','-q','--gpg-sign','--amend','--no-edit']) + except subprocess.CalledProcessError as e: + print("Error signing, exiting.",file=stderr) + exit(1) + else: + print("Not signing off on merge, exiting.",file=stderr) + exit(1) + + # Put the result in branch. + subprocess.check_call([GIT,'checkout','-q',branch]) + subprocess.check_call([GIT,'reset','-q','--hard',local_merge_branch]) + finally: + # Clean up temporary branches. + subprocess.call([GIT,'checkout','-q',branch]) + subprocess.call([GIT,'branch','-q','-D',head_branch],stderr=devnull) + subprocess.call([GIT,'branch','-q','-D',base_branch],stderr=devnull) + subprocess.call([GIT,'branch','-q','-D',merge_branch],stderr=devnull) + subprocess.call([GIT,'branch','-q','-D',local_merge_branch],stderr=devnull) + + # Push the result. + reply = ask_prompt("Type 'push' to push the result to %s, branch %s." % (host_repo,branch)) + if reply.lower() == 'push': + subprocess.check_call([GIT,'push',host_repo,'refs/heads/'+branch]) + +if __name__ == '__main__': + main() + diff --git a/contrib/devtools/github-merge.sh b/contrib/devtools/github-merge.sh deleted file mode 100755 index afb53f0390..0000000000 --- a/contrib/devtools/github-merge.sh +++ /dev/null @@ -1,185 +0,0 @@ -#!/bin/bash - -# This script will locally construct a merge commit for a pull request on a -# github repository, inspect it, sign it and optionally push it. - -# The following temporary branches are created/overwritten and deleted: -# * pull/$PULL/base (the current master we're merging onto) -# * pull/$PULL/head (the current state of the remote pull request) -# * pull/$PULL/merge (github's merge) -# * pull/$PULL/local-merge (our merge) - -# In case of a clean merge that is accepted by the user, the local branch with -# name $BRANCH is overwritten with the merged result, and optionally pushed. - -REPO="$(git config --get githubmerge.repository)" -if [[ "d$REPO" == "d" ]]; then - echo "ERROR: No repository configured. Use this command to set:" >&2 - echo "git config githubmerge.repository /" >&2 - echo "In addition, you can set the following variables:" >&2 - echo "- githubmerge.host (default git@github.com)" >&2 - echo "- githubmerge.branch (default master)" >&2 - echo "- githubmerge.testcmd (default none)" >&2 - exit 1 -fi - -HOST="$(git config --get githubmerge.host)" -if [[ "d$HOST" == "d" ]]; then - HOST="git@github.com" -fi - -BRANCH="$(git config --get githubmerge.branch)" -if [[ "d$BRANCH" == "d" ]]; then - BRANCH="master" -fi - -TESTCMD="$(git config --get githubmerge.testcmd)" - -PULL="$1" - -if [[ "d$PULL" == "d" ]]; then - echo "Usage: $0 pullnumber [branch]" >&2 - exit 2 -fi - -if [[ "d$2" != "d" ]]; then - BRANCH="$2" -fi - -# Initialize source branches. -git checkout -q "$BRANCH" -if git fetch -q "$HOST":"$REPO" "+refs/pull/$PULL/*:refs/heads/pull/$PULL/*"; then - if ! git log -q -1 "refs/heads/pull/$PULL/head" >/dev/null 2>&1; then - echo "ERROR: Cannot find head of pull request #$PULL on $HOST:$REPO." >&2 - exit 3 - fi - if ! git log -q -1 "refs/heads/pull/$PULL/merge" >/dev/null 2>&1; then - echo "ERROR: Cannot find merge of pull request #$PULL on $HOST:$REPO." >&2 - exit 3 - fi -else - echo "ERROR: Cannot find pull request #$PULL on $HOST:$REPO." >&2 - exit 3 -fi -if git fetch -q "$HOST":"$REPO" +refs/heads/"$BRANCH":refs/heads/pull/"$PULL"/base; then - true -else - echo "ERROR: Cannot find branch $BRANCH on $HOST:$REPO." >&2 - exit 3 -fi -git checkout -q pull/"$PULL"/base -git branch -q -D pull/"$PULL"/local-merge 2>/dev/null -git checkout -q -b pull/"$PULL"/local-merge -TMPDIR="$(mktemp -d -t ghmXXXXX)" - -function cleanup() { - git checkout -q "$BRANCH" - git branch -q -D pull/"$PULL"/head 2>/dev/null - git branch -q -D pull/"$PULL"/base 2>/dev/null - git branch -q -D pull/"$PULL"/merge 2>/dev/null - git branch -q -D pull/"$PULL"/local-merge 2>/dev/null - rm -rf "$TMPDIR" -} - -# Create unsigned merge commit. -( - echo "Merge pull request #$PULL" - echo "" - git log --no-merges --topo-order --pretty='format:%h %s (%an)' pull/"$PULL"/base..pull/"$PULL"/head -)>"$TMPDIR/message" -if git merge -q --commit --no-edit --no-ff -m "$(<"$TMPDIR/message")" pull/"$PULL"/head; then - if [ "d$(git log --pretty='format:%s' -n 1)" != "dMerge pull request #$PULL" ]; then - echo "ERROR: Creating merge failed (already merged?)." >&2 - cleanup - exit 4 - fi -else - echo "ERROR: Cannot be merged cleanly." >&2 - git merge --abort - cleanup - exit 4 -fi - -# Run test command if configured. -if [[ "d$TESTCMD" != "d" ]]; then - # Go up to the repository's root. - while [ ! -d .git ]; do cd ..; done - if ! $TESTCMD; then - echo "ERROR: Running $TESTCMD failed." >&2 - cleanup - exit 5 - fi - # Show the created merge. - git diff pull/"$PULL"/merge..pull/"$PULL"/local-merge >"$TMPDIR"/diff - git diff pull/"$PULL"/base..pull/"$PULL"/local-merge - if [[ "$(<"$TMPDIR"/diff)" != "" ]]; then - echo "WARNING: merge differs from github!" >&2 - read -p "Type 'ignore' to continue. " -r >&2 - if [[ "d$REPLY" =~ ^d[iI][gG][nN][oO][rR][eE]$ ]]; then - echo "Difference with github ignored." >&2 - else - cleanup - exit 6 - fi - fi - read -p "Press 'd' to accept the diff. " -n 1 -r >&2 - echo - if [[ "d$REPLY" =~ ^d[dD]$ ]]; then - echo "Diff accepted." >&2 - else - echo "ERROR: Diff rejected." >&2 - cleanup - exit 6 - fi -else - # Verify the result. - echo "Dropping you on a shell so you can try building/testing the merged source." >&2 - echo "Run 'git diff HEAD~' to show the changes being merged." >&2 - echo "Type 'exit' when done." >&2 - if [[ -f /etc/debian_version ]]; then # Show pull number in prompt on Debian default prompt - export debian_chroot="$PULL" - fi - bash -i - read -p "Press 'm' to accept the merge. " -n 1 -r >&2 - echo - if [[ "d$REPLY" =~ ^d[Mm]$ ]]; then - echo "Merge accepted." >&2 - else - echo "ERROR: Merge rejected." >&2 - cleanup - exit 7 - fi -fi - -# Sign the merge commit. -read -p "Press 's' to sign off on the merge. " -n 1 -r >&2 -echo -if [[ "d$REPLY" =~ ^d[Ss]$ ]]; then - if [[ "$(git config --get user.signingkey)" == "" ]]; then - echo "ERROR: No GPG signing key set, not signing. Set one using:" >&2 - echo "git config --global user.signingkey " >&2 - cleanup - exit 1 - else - if ! git commit -q --gpg-sign --amend --no-edit; then - echo "Error signing, exiting." - cleanup - exit 1 - fi - fi -else - echo "Not signing off on merge, exiting." - cleanup - exit 1 -fi - -# Clean up temporary branches, and put the result in $BRANCH. -git checkout -q "$BRANCH" -git reset -q --hard pull/"$PULL"/local-merge -cleanup - -# Push the result. -read -p "Type 'push' to push the result to $HOST:$REPO, branch $BRANCH. " -r >&2 -if [[ "d$REPLY" =~ ^d[Pp][Uu][Ss][Hh]$ ]]; then - git push "$HOST":"$REPO" refs/heads/"$BRANCH" -fi From 78ad32d1050ec966397a65454314eeff6b288e6c Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 20 Jan 2016 15:15:29 +0100 Subject: [PATCH 15/58] Merge #7307: [RPC, Wallet] Move RPC dispatch table registration to wallet/ code dd2dc40 [RPC, Wallet] Move RPC dispatch table registration to wallet/ code (Jonas Schnelli) --- src/Makefile.am | 1 + src/init.cpp | 2 ++ src/rpc/server.cpp | 72 ++++++++----------------------------- src/rpc/server.h | 53 +++++---------------------- src/test/test_dash.cpp | 1 + src/wallet/rpcwallet.cpp | 78 ++++++++++++++++++++++++++++++++++++++++ src/wallet/rpcwallet.h | 10 ++++++ src/wallet/wallet.h | 1 + 8 files changed, 116 insertions(+), 102 deletions(-) create mode 100644 src/wallet/rpcwallet.h diff --git a/src/Makefile.am b/src/Makefile.am index 1dff0430bb..fe5cd55327 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -192,6 +192,7 @@ BITCOIN_CORE_H = \ versionbits.h \ wallet/crypter.h \ wallet/db.h \ + wallet/rpcwallet.h \ wallet/wallet.h \ wallet/wallet_ismine.h \ wallet/walletdb.h \ diff --git a/src/init.cpp b/src/init.cpp index 1f535630db..3a6bf77134 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1116,6 +1116,8 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) #ifdef ENABLE_WALLET bool fDisableWallet = GetBoolArg("-disablewallet", false); + if (!fDisableWallet) + walletRegisterRPCCommands(); #endif nConnectTimeout = GetArg("-timeout", DEFAULT_CONNECT_TIMEOUT); diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp index 1763e20d0b..2065856615 100644 --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -315,9 +315,6 @@ static const CRPCCommand vRPCCommands[] = { "rawtransactions", "getrawtransaction", &getrawtransaction, true }, { "rawtransactions", "sendrawtransaction", &sendrawtransaction, false }, { "rawtransactions", "signrawtransaction", &signrawtransaction, false }, /* uses wallet if enabled */ -#ifdef ENABLE_WALLET - { "rawtransactions", "fundrawtransaction", &fundrawtransaction, false }, -#endif /* Address index */ { "addressindex", "getaddressmempool", &getaddressmempool, true }, @@ -339,10 +336,6 @@ static const CRPCCommand vRPCCommands[] = { "hidden", "invalidateblock", &invalidateblock, true }, { "hidden", "reconsiderblock", &reconsiderblock, true }, { "hidden", "setmocktime", &setmocktime, true }, -#ifdef ENABLE_WALLET - { "hidden", "resendwallettransactions", &resendwallettransactions, true}, -#endif - /* Dash features */ { "dash", "masternode", &masternode, true }, { "dash", "masternodelist", &masternodelist, true }, @@ -355,56 +348,7 @@ static const CRPCCommand vRPCCommands[] = { "dash", "spork", &spork, true }, { "dash", "getpoolinfo", &getpoolinfo, true }, { "dash", "sentinelping", &sentinelping, true }, -#ifdef ENABLE_WALLET { "dash", "privatesend", &privatesend, false }, - - /* Wallet */ - { "wallet", "keepass", &keepass, true }, - { "wallet", "instantsendtoaddress", &instantsendtoaddress, false }, - { "wallet", "addmultisigaddress", &addmultisigaddress, true }, - { "wallet", "backupwallet", &backupwallet, true }, - { "wallet", "dumpprivkey", &dumpprivkey, true }, - { "wallet", "dumphdinfo", &dumphdinfo, true }, - { "wallet", "dumpwallet", &dumpwallet, true }, - { "wallet", "encryptwallet", &encryptwallet, true }, - { "wallet", "getaccountaddress", &getaccountaddress, true }, - { "wallet", "getaccount", &getaccount, true }, - { "wallet", "getaddressesbyaccount", &getaddressesbyaccount, true }, - { "wallet", "getbalance", &getbalance, false }, - { "wallet", "getnewaddress", &getnewaddress, true }, - { "wallet", "getrawchangeaddress", &getrawchangeaddress, true }, - { "wallet", "getreceivedbyaccount", &getreceivedbyaccount, false }, - { "wallet", "getreceivedbyaddress", &getreceivedbyaddress, false }, - { "wallet", "gettransaction", &gettransaction, false }, - { "wallet", "abandontransaction", &abandontransaction, false }, - { "wallet", "getunconfirmedbalance", &getunconfirmedbalance, false }, - { "wallet", "getwalletinfo", &getwalletinfo, false }, - { "wallet", "importprivkey", &importprivkey, true }, - { "wallet", "importwallet", &importwallet, true }, - { "wallet", "importelectrumwallet", &importelectrumwallet, true }, - { "wallet", "importaddress", &importaddress, true }, - { "wallet", "importpubkey", &importpubkey, true }, - { "wallet", "keypoolrefill", &keypoolrefill, true }, - { "wallet", "listaccounts", &listaccounts, false }, - { "wallet", "listaddressgroupings", &listaddressgroupings, false }, - { "wallet", "listlockunspent", &listlockunspent, false }, - { "wallet", "listreceivedbyaccount", &listreceivedbyaccount, false }, - { "wallet", "listreceivedbyaddress", &listreceivedbyaddress, false }, - { "wallet", "listsinceblock", &listsinceblock, false }, - { "wallet", "listtransactions", &listtransactions, false }, - { "wallet", "listunspent", &listunspent, false }, - { "wallet", "lockunspent", &lockunspent, true }, - { "wallet", "move", &movecmd, false }, - { "wallet", "sendfrom", &sendfrom, false }, - { "wallet", "sendmany", &sendmany, false }, - { "wallet", "sendtoaddress", &sendtoaddress, false }, - { "wallet", "setaccount", &setaccount, true }, - { "wallet", "settxfee", &settxfee, true }, - { "wallet", "signmessage", &signmessage, true }, - { "wallet", "walletlock", &walletlock, true }, - { "wallet", "walletpassphrasechange", &walletpassphrasechange, true }, - { "wallet", "walletpassphrase", &walletpassphrase, true }, -#endif // ENABLE_WALLET }; CRPCTable::CRPCTable() @@ -427,6 +371,20 @@ const CRPCCommand *CRPCTable::operator[](const std::string &name) const return (*it).second; } +bool CRPCTable::appendCommand(const std::string& name, const CRPCCommand* pcmd) +{ + if (IsRPCRunning()) + return false; + + // don't allow overwriting for now + map::const_iterator it = mapCommands.find(name); + if (it != mapCommands.end()) + return false; + + mapCommands[name] = pcmd; + return true; +} + bool StartRPC() { LogPrint("rpc", "Starting RPC\n"); @@ -615,4 +573,4 @@ void RPCRunLater(const std::string& name, boost::function func, int6 deadlineTimers.insert(std::make_pair(name, boost::shared_ptr(timerInterface->NewTimer(func, nSeconds*1000)))); } -const CRPCTable tableRPC; +CRPCTable tableRPC; diff --git a/src/rpc/server.h b/src/rpc/server.h index 54bda91876..0aebdf7dbb 100644 --- a/src/rpc/server.h +++ b/src/rpc/server.h @@ -150,9 +150,16 @@ public: * @returns List of registered commands. */ std::vector listCommands() const; + + /** + * Appends a CRPCCommand to the dispatch table. + * Returns false if RPC server is already running (dump concurrency protection). + * Commands cannot be overwritten (returns false). + */ + bool appendCommand(const std::string& name, const CRPCCommand* pcmd); }; -extern const CRPCTable tableRPC; +extern CRPCTable tableRPC; /** * Utilities: convert hex-encoded Values @@ -191,15 +198,6 @@ extern UniValue listbanned(const UniValue& params, bool fHelp); extern UniValue clearbanned(const UniValue& params, bool fHelp); extern UniValue setnetworkactive(const UniValue& params, bool fHelp); -extern UniValue dumpprivkey(const UniValue& params, bool fHelp); // in rpcdump.cpp -extern UniValue importprivkey(const UniValue& params, bool fHelp); -extern UniValue importaddress(const UniValue& params, bool fHelp); -extern UniValue importpubkey(const UniValue& params, bool fHelp); -extern UniValue dumphdinfo(const UniValue& params, bool fHelp); -extern UniValue dumpwallet(const UniValue& params, bool fHelp); -extern UniValue importwallet(const UniValue& params, bool fHelp); -extern UniValue importelectrumwallet(const UniValue& params, bool fHelp); - extern UniValue getgenerate(const UniValue& params, bool fHelp); // in rpc/mining.cpp extern UniValue setgenerate(const UniValue& params, bool fHelp); extern UniValue generate(const UniValue& params, bool fHelp); @@ -213,48 +211,14 @@ extern UniValue estimatepriority(const UniValue& params, bool fHelp); extern UniValue estimatesmartfee(const UniValue& params, bool fHelp); extern UniValue estimatesmartpriority(const UniValue& params, bool fHelp); -extern UniValue instantsendtoaddress(const UniValue& params, bool fHelp); -extern UniValue keepass(const UniValue& params, bool fHelp); -extern UniValue getnewaddress(const UniValue& params, bool fHelp); // in rpcwallet.cpp -extern UniValue getaccountaddress(const UniValue& params, bool fHelp); -extern UniValue getrawchangeaddress(const UniValue& params, bool fHelp); -extern UniValue setaccount(const UniValue& params, bool fHelp); -extern UniValue getaccount(const UniValue& params, bool fHelp); -extern UniValue getaddressesbyaccount(const UniValue& params, bool fHelp); -extern UniValue sendtoaddress(const UniValue& params, bool fHelp); -extern UniValue signmessage(const UniValue& params, bool fHelp); extern UniValue verifymessage(const UniValue& params, bool fHelp); -extern UniValue getreceivedbyaddress(const UniValue& params, bool fHelp); -extern UniValue getreceivedbyaccount(const UniValue& params, bool fHelp); -extern UniValue getbalance(const UniValue& params, bool fHelp); -extern UniValue getunconfirmedbalance(const UniValue& params, bool fHelp); -extern UniValue movecmd(const UniValue& params, bool fHelp); -extern UniValue sendfrom(const UniValue& params, bool fHelp); -extern UniValue sendmany(const UniValue& params, bool fHelp); -extern UniValue addmultisigaddress(const UniValue& params, bool fHelp); extern UniValue createmultisig(const UniValue& params, bool fHelp); -extern UniValue listreceivedbyaddress(const UniValue& params, bool fHelp); -extern UniValue listreceivedbyaccount(const UniValue& params, bool fHelp); -extern UniValue listtransactions(const UniValue& params, bool fHelp); -extern UniValue listaddressgroupings(const UniValue& params, bool fHelp); -extern UniValue listaccounts(const UniValue& params, bool fHelp); -extern UniValue listsinceblock(const UniValue& params, bool fHelp); -extern UniValue gettransaction(const UniValue& params, bool fHelp); -extern UniValue abandontransaction(const UniValue& params, bool fHelp); -extern UniValue backupwallet(const UniValue& params, bool fHelp); -extern UniValue keypoolrefill(const UniValue& params, bool fHelp); -extern UniValue walletpassphrase(const UniValue& params, bool fHelp); -extern UniValue walletpassphrasechange(const UniValue& params, bool fHelp); -extern UniValue walletlock(const UniValue& params, bool fHelp); -extern UniValue encryptwallet(const UniValue& params, bool fHelp); extern UniValue validateaddress(const UniValue& params, bool fHelp); extern UniValue getinfo(const UniValue& params, bool fHelp); extern UniValue debug(const UniValue& params, bool fHelp); -extern UniValue getwalletinfo(const UniValue& params, bool fHelp); extern UniValue getblockchaininfo(const UniValue& params, bool fHelp); extern UniValue getnetworkinfo(const UniValue& params, bool fHelp); extern UniValue setmocktime(const UniValue& params, bool fHelp); -extern UniValue resendwallettransactions(const UniValue& params, bool fHelp); extern UniValue getrawtransaction(const UniValue& params, bool fHelp); // in rpc/rawtransaction.cpp extern UniValue listunspent(const UniValue& params, bool fHelp); @@ -263,7 +227,6 @@ extern UniValue listlockunspent(const UniValue& params, bool fHelp); extern UniValue createrawtransaction(const UniValue& params, bool fHelp); extern UniValue decoderawtransaction(const UniValue& params, bool fHelp); extern UniValue decodescript(const UniValue& params, bool fHelp); -extern UniValue fundrawtransaction(const UniValue& params, bool fHelp); extern UniValue signrawtransaction(const UniValue& params, bool fHelp); extern UniValue sendrawtransaction(const UniValue& params, bool fHelp); extern UniValue gettxoutproof(const UniValue& params, bool fHelp); diff --git a/src/test/test_dash.cpp b/src/test/test_dash.cpp index 2b57368147..ab4e78919e 100644 --- a/src/test/test_dash.cpp +++ b/src/test/test_dash.cpp @@ -58,6 +58,7 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha const CChainParams& chainparams = Params(); #ifdef ENABLE_WALLET bitdb.MakeMock(); + walletRegisterRPCCommands(); #endif ClearDatadirCache(); pathTemp = GetTempPath() / strprintf("test_dash_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 31e10e2606..a5db7f20fc 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -2714,3 +2714,81 @@ UniValue fundrawtransaction(const UniValue& params, bool fHelp) return result; } + +extern UniValue dumpprivkey(const UniValue& params, bool fHelp); // in rpcdump.cpp +extern UniValue importprivkey(const UniValue& params, bool fHelp); +extern UniValue importaddress(const UniValue& params, bool fHelp); +extern UniValue importpubkey(const UniValue& params, bool fHelp); +extern UniValue dumpwallet(const UniValue& params, bool fHelp); +extern UniValue importwallet(const UniValue& params, bool fHelp); + +extern UniValue dumphdinfo(const UniValue& params, bool fHelp); +extern UniValue importelectrumwallet(const UniValue& params, bool fHelp); + +extern UniValue instantsendtoaddress(const UniValue& params, bool fHelp); +extern UniValue keepass(const UniValue& params, bool fHelp); + +const CRPCCommand vWalletRPCCommands[] = +{ // category name actor (function) okSafeMode + // --------------------- ------------------------ ----------------------- ---------- + { "rawtransactions", "fundrawtransaction", &fundrawtransaction, false }, + { "hidden", "resendwallettransactions", &resendwallettransactions, true }, + { "wallet", "abandontransaction", &abandontransaction, false }, + { "wallet", "addmultisigaddress", &addmultisigaddress, true }, + { "wallet", "backupwallet", &backupwallet, true }, + { "wallet", "dumpprivkey", &dumpprivkey, true }, + { "wallet", "dumpwallet", &dumpwallet, true }, + { "wallet", "encryptwallet", &encryptwallet, true }, + { "wallet", "getaccountaddress", &getaccountaddress, true }, + { "wallet", "getaccount", &getaccount, true }, + { "wallet", "getaddressesbyaccount", &getaddressesbyaccount, true }, + { "wallet", "getbalance", &getbalance, false }, + { "wallet", "getnewaddress", &getnewaddress, true }, + { "wallet", "getrawchangeaddress", &getrawchangeaddress, true }, + { "wallet", "getreceivedbyaccount", &getreceivedbyaccount, false }, + { "wallet", "getreceivedbyaddress", &getreceivedbyaddress, false }, + { "wallet", "gettransaction", &gettransaction, false }, + { "wallet", "getunconfirmedbalance", &getunconfirmedbalance, false }, + { "wallet", "getwalletinfo", &getwalletinfo, false }, + { "wallet", "importprivkey", &importprivkey, true }, + { "wallet", "importwallet", &importwallet, true }, + { "wallet", "importaddress", &importaddress, true }, + { "wallet", "importpubkey", &importpubkey, true }, + { "wallet", "keypoolrefill", &keypoolrefill, true }, + { "wallet", "listaccounts", &listaccounts, false }, + { "wallet", "listaddressgroupings", &listaddressgroupings, false }, + { "wallet", "listlockunspent", &listlockunspent, false }, + { "wallet", "listreceivedbyaccount", &listreceivedbyaccount, false }, + { "wallet", "listreceivedbyaddress", &listreceivedbyaddress, false }, + { "wallet", "listsinceblock", &listsinceblock, false }, + { "wallet", "listtransactions", &listtransactions, false }, + { "wallet", "listunspent", &listunspent, false }, + { "wallet", "lockunspent", &lockunspent, true }, + { "wallet", "move", &movecmd, false }, + { "wallet", "sendfrom", &sendfrom, false }, + { "wallet", "sendmany", &sendmany, false }, + { "wallet", "sendtoaddress", &sendtoaddress, false }, + { "wallet", "setaccount", &setaccount, true }, + { "wallet", "settxfee", &settxfee, true }, + { "wallet", "signmessage", &signmessage, true }, + { "wallet", "walletlock", &walletlock, true }, + { "wallet", "walletpassphrasechange", &walletpassphrasechange, true }, + { "wallet", "walletpassphrase", &walletpassphrase, true }, + + { "wallet", "keepass", &keepass, true }, + { "wallet", "instantsendtoaddress", &instantsendtoaddress, false }, + { "wallet", "dumphdinfo", &dumphdinfo, true }, + { "wallet", "importelectrumwallet", &importelectrumwallet, true }, +}; + +void walletRegisterRPCCommands() +{ + unsigned int vcidx; + for (vcidx = 0; vcidx < ARRAYLEN(vWalletRPCCommands); vcidx++) + { + const CRPCCommand *pcmd; + + pcmd = &vWalletRPCCommands[vcidx]; + tableRPC.appendCommand(pcmd->name, pcmd); + } +} diff --git a/src/wallet/rpcwallet.h b/src/wallet/rpcwallet.h new file mode 100644 index 0000000000..42e8021afa --- /dev/null +++ b/src/wallet/rpcwallet.h @@ -0,0 +1,10 @@ +// Copyright (c) 2016 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_WALLET_RPCWALLET_H +#define BITCOIN_WALLET_RPCWALLET_H + +void walletRegisterRPCCommands(); + +#endif //BITCOIN_WALLET_RPCWALLET_H diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 2c7320bdf7..342e711dc3 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -18,6 +18,7 @@ #include "wallet/crypter.h" #include "wallet/wallet_ismine.h" #include "wallet/walletdb.h" +#include "wallet/rpcwallet.h" #include "privatesend.h" From 59db2fda164f9f9b0f7410adca199009f152a61d Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 20 Jan 2016 15:54:22 +0100 Subject: [PATCH 16/58] Merge #7183: Improved readability of ApproximateBestSubset 96efcad Improved readability of sorting for coin selection. (Murch) --- src/wallet/wallet.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index f958bbf04d..accb1b7b2a 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2576,7 +2576,8 @@ bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int } // Solve subset sum by stochastic approximation - sort(vValue.rbegin(), vValue.rend(), CompareValueOnly()); + std::sort(vValue.begin(), vValue.end(), CompareValueOnly()); + std::reverse(vValue.begin(), vValue.end()); vector vfBest; CAmount nBest; From 43700eef366c00ffed5a214a604cc7e76a72c636 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Thu, 21 Jan 2016 09:00:13 +0100 Subject: [PATCH 17/58] Merge #7383: [Qt] rename "amount" to "requested amount" in receive coins table df6e8e1 [Qt] rename "amount" to "requested amount" in receive coins table (Jonas Schnelli) --- src/qt/receivecoinsdialog.cpp | 1 + src/qt/receivecoinsdialog.h | 2 +- src/qt/recentrequeststablemodel.cpp | 9 ++------- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp index 21c57c376f..a42090af2e 100644 --- a/src/qt/receivecoinsdialog.cpp +++ b/src/qt/receivecoinsdialog.cpp @@ -87,6 +87,7 @@ void ReceiveCoinsDialog::setModel(WalletModel *model) tableView->setSelectionMode(QAbstractItemView::ContiguousSelection); tableView->setColumnWidth(RecentRequestsTableModel::Date, DATE_COLUMN_WIDTH); tableView->setColumnWidth(RecentRequestsTableModel::Label, LABEL_COLUMN_WIDTH); + tableView->setColumnWidth(RecentRequestsTableModel::Amount, AMOUNT_MINIMUM_COLUMN_WIDTH); connect(tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this, diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h index 0fef8c47b9..d137f1616e 100644 --- a/src/qt/receivecoinsdialog.h +++ b/src/qt/receivecoinsdialog.h @@ -36,7 +36,7 @@ public: enum ColumnWidths { DATE_COLUMN_WIDTH = 130, LABEL_COLUMN_WIDTH = 120, - AMOUNT_MINIMUM_COLUMN_WIDTH = 160, + AMOUNT_MINIMUM_COLUMN_WIDTH = 180, MINIMUM_COLUMN_WIDTH = 130 }; diff --git a/src/qt/recentrequeststablemodel.cpp b/src/qt/recentrequeststablemodel.cpp index fc9432725c..35d37bb22b 100644 --- a/src/qt/recentrequeststablemodel.cpp +++ b/src/qt/recentrequeststablemodel.cpp @@ -83,7 +83,7 @@ QVariant RecentRequestsTableModel::data(const QModelIndex &index, int role) cons } case Amount: if (rec->recipient.amount == 0 && role == Qt::DisplayRole) - return tr("(no amount)"); + return tr("(no amount requested)"); else if (role == Qt::EditRole) return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount, false, BitcoinUnits::separatorNever); else @@ -125,12 +125,7 @@ void RecentRequestsTableModel::updateAmountColumnTitle() /** Gets title for amount column including current display unit if optionsModel reference available. */ QString RecentRequestsTableModel::getAmountTitle() { - QString amountTitle = tr("Amount"); - if (this->walletModel->getOptionsModel() != NULL) - { - amountTitle += " ("+BitcoinUnits::name(this->walletModel->getOptionsModel()->getDisplayUnit()) + ")"; - } - return amountTitle; + return (this->walletModel->getOptionsModel() != NULL) ? tr("Requested") + " ("+BitcoinUnits::name(this->walletModel->getOptionsModel()->getDisplayUnit()) + ")" : ""; } QModelIndex RecentRequestsTableModel::index(int row, int column, const QModelIndex &parent) const From 643181fe1537a39188696d8d7d34ccb26bc8bece Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 22 Jan 2016 15:30:54 +0100 Subject: [PATCH 18/58] Merge #7262: Reduce inefficiency of GetAccountAddress() 2409865 Reduce inefficiency of GetAccountAddress() (Chris Moore) --- src/wallet/rpcwallet.cpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index a5db7f20fc..8b2153cd98 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -159,26 +159,25 @@ CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false) CAccount account; walletdb.ReadAccount(strAccount, account); - bool bKeyUsed = false; - - // Check if the current key has been used - if (account.vchPubKey.IsValid()) - { - CScript scriptPubKey = GetScriptForDestination(account.vchPubKey.GetID()); - for (map::iterator it = pwalletMain->mapWallet.begin(); - it != pwalletMain->mapWallet.end() && account.vchPubKey.IsValid(); - ++it) - { - const CWalletTx& wtx = (*it).second; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) - if (txout.scriptPubKey == scriptPubKey) - bKeyUsed = true; + if (!bForceNew) { + if (!account.vchPubKey.IsValid()) + bForceNew = true; + else { + // Check if the current key has been used + CScript scriptPubKey = GetScriptForDestination(account.vchPubKey.GetID()); + for (map::iterator it = pwalletMain->mapWallet.begin(); + it != pwalletMain->mapWallet.end() && account.vchPubKey.IsValid(); + ++it) + BOOST_FOREACH(const CTxOut& txout, (*it).second.vout) + if (txout.scriptPubKey == scriptPubKey) { + bForceNew = true; + break; + } } } // Generate a new key - if (!account.vchPubKey.IsValid() || bForceNew || bKeyUsed) - { + if (bForceNew) { if (!pwalletMain->GetKeyFromPool(account.vchPubKey, false)) throw JSONRPCError(RPC_WALLET_KEYPOOL_RAN_OUT, "Error: Keypool ran out, please call keypoolrefill first"); From 85919332ddee211c53c23e70a87e96c80a5d1495 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 22 Jan 2016 16:56:50 +0100 Subject: [PATCH 19/58] Merge #7236: Use createrawtx locktime parm in txn_clone e279038 Use createrawtx locktime parm in txn_clone (Tom Harding) --- qa/rpc-tests/txn_clone.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/qa/rpc-tests/txn_clone.py b/qa/rpc-tests/txn_clone.py index 10a12efae2..801d0c0e84 100755 --- a/qa/rpc-tests/txn_clone.py +++ b/qa/rpc-tests/txn_clone.py @@ -53,16 +53,10 @@ class TxnMallTest(BitcoinTestFramework): clone_inputs = [{"txid":rawtx1["vin"][0]["txid"],"vout":rawtx1["vin"][0]["vout"]}] clone_outputs = {rawtx1["vout"][0]["scriptPubKey"]["addresses"][0]:rawtx1["vout"][0]["value"], rawtx1["vout"][1]["scriptPubKey"]["addresses"][0]:rawtx1["vout"][1]["value"]} - clone_raw = self.nodes[0].createrawtransaction(clone_inputs, clone_outputs) + clone_locktime = rawtx1["locktime"] + clone_raw = self.nodes[0].createrawtransaction(clone_inputs, clone_outputs, clone_locktime) - # 3 hex manipulations on the clone are required - - # manipulation 1. sequence is at version+#inputs+input+sigstub - posseq = 2*(4+1+36+1) - seqbe = '%08x' % rawtx1["vin"][0]["sequence"] - clone_raw = clone_raw[:posseq] + seqbe[6:8] + seqbe[4:6] + seqbe[2:4] + seqbe[0:2] + clone_raw[posseq + 8:] - - # manipulation 2. createrawtransaction randomizes the order of its outputs, so swap them if necessary. + # createrawtransaction randomizes the order of its outputs, so swap them if necessary. # output 0 is at version+#inputs+input+sigstub+sequence+#outputs # 400 DASH serialized is 00902f5009000000 pos0 = 2*(4+1+36+1+4+1) @@ -74,11 +68,6 @@ class TxnMallTest(BitcoinTestFramework): output1 = clone_raw[pos0 + output_len : pos0 + 2 * output_len] clone_raw = clone_raw[:pos0] + output1 + output0 + clone_raw[pos0 + 2 * output_len:] - # manipulation 3. locktime is after outputs - poslt = pos0 + 2 * output_len - ltbe = '%08x' % rawtx1["locktime"] - clone_raw = clone_raw[:poslt] + ltbe[6:8] + ltbe[4:6] + ltbe[2:4] + ltbe[0:2] + clone_raw[poslt + 8:] - # Use a different signature hash type to sign. This creates an equivalent but malleated clone. # Don't send the clone anywhere yet tx1_clone = self.nodes[0].signrawtransaction(clone_raw, None, None, "ALL|ANYONECANPAY") From d9d9e95e42f03d600f65993fa94ab7ac353a2a61 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 25 Jan 2016 14:58:02 +0100 Subject: [PATCH 20/58] Merge #7395: devtools: show pull and commit information in github-merge 17b5d38 devtools: show pull and commit information in github-merge (Wladimir J. van der Laan) --- contrib/devtools/github-merge.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/contrib/devtools/github-merge.py b/contrib/devtools/github-merge.py index 33d33b7005..6854ecb073 100755 --- a/contrib/devtools/github-merge.py +++ b/contrib/devtools/github-merge.py @@ -24,6 +24,15 @@ import subprocess GIT = os.getenv('GIT','git') BASH = os.getenv('BASH','bash') +# OS specific configuration for terminal attributes +ATTR_RESET = '' +ATTR_PR = '' +COMMIT_FORMAT = '%h %s (%an)%d' +if os.name == 'posix': # if posix, assume we can use basic terminal escapes + ATTR_RESET = '\033[0m' + ATTR_PR = '\033[1;36m' + COMMIT_FORMAT = '%C(bold blue)%h%Creset %s %C(cyan)(%an)%Creset%C(green)%d%Creset' + def git_config_get(option, default=None): ''' Get named configuration option from git repository. @@ -150,6 +159,9 @@ def main(): print("ERROR: Creating merge failed (already merged?).",file=stderr) exit(4) + print('%s#%s%s %s' % (ATTR_RESET+ATTR_PR,pull,ATTR_RESET,title)) + subprocess.check_call([GIT,'log','--graph','--topo-order','--pretty=format:'+COMMIT_FORMAT,base_branch+'..'+head_branch]) + print() # Run test command if configured. if testcmd: # Go up to the repository's root. From 577f683c5b44a1620be8772b589264b237505978 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 25 Jan 2016 15:42:11 +0100 Subject: [PATCH 21/58] Merge #7402: [devtools] github-merge get toplevel dir without extra whitespace 5ed2f16 [devtools] github-merge get toplevel dir without extra whitespace (Andrew C) --- contrib/devtools/github-merge.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/devtools/github-merge.py b/contrib/devtools/github-merge.py index 6854ecb073..f7781cceb3 100755 --- a/contrib/devtools/github-merge.py +++ b/contrib/devtools/github-merge.py @@ -165,7 +165,7 @@ def main(): # Run test command if configured. if testcmd: # Go up to the repository's root. - toplevel = subprocess.check_output([GIT,'rev-parse','--show-toplevel']) + toplevel = subprocess.check_output([GIT,'rev-parse','--show-toplevel']).strip() os.chdir(toplevel) if subprocess.call(testcmd,shell=True): print("ERROR: Running %s failed." % testcmd,file=stderr) From 5323a08afaed06b2fffc839eb3c6833f282470b4 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 27 Jan 2016 12:05:25 +0100 Subject: [PATCH 22/58] Merge #7300: [trivial] Add missing copyright headers fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke) fa60d05 Add missing copyright headers (MarcoFalke) fa7e4c0 Bump copyright headers to 2014 (MarcoFalke) --- doc/shared-libraries.md | 2 +- qa/rpc-tests/bip65-cltv-p2p.py | 2 +- qa/rpc-tests/bipdersig-p2p.py | 2 +- qa/rpc-tests/invalidblockrequest.py | 2 +- qa/rpc-tests/invalidtxrequest.py | 2 +- qa/rpc-tests/maxblocksinflight.py | 2 +- qa/rpc-tests/p2p-acceptblock.py | 2 +- qa/rpc-tests/p2p-fullblocktest.py | 3 +-- qa/rpc-tests/sendheaders.py | 2 +- qa/rpc-tests/test_framework/blocktools.py | 2 +- qa/rpc-tests/test_framework/comptool.py | 2 +- qa/rpc-tests/test_framework/coverage.py | 6 ++++++ src/addrman.cpp | 1 + src/addrman.h | 1 + src/consensus/merkle.cpp | 4 ++++ src/httprpc.cpp | 4 ++++ src/noui.h | 2 +- src/prevector.h | 4 ++++ src/qt/coincontroltreewidget.h | 2 +- src/qt/csvmodelwriter.cpp | 2 +- src/qt/csvmodelwriter.h | 2 +- src/qt/dashstrings.cpp | 5 ++++- src/qt/editaddressdialog.cpp | 2 +- src/qt/macnotificationhandler.h | 2 +- src/qt/notificator.cpp | 2 +- src/qt/openuridialog.cpp | 2 +- src/qt/receiverequestdialog.cpp | 2 +- src/qt/transactiondesc.h | 2 +- src/qt/transactiondescdialog.cpp | 2 +- src/qt/transactiondescdialog.h | 2 +- src/qt/transactionfilterproxy.cpp | 2 +- src/qt/transactionfilterproxy.h | 2 +- src/qt/transactionrecord.h | 2 +- src/qt/walletmodeltransaction.h | 2 +- src/test/multisig_tests.cpp | 2 +- src/test/test_dash.h | 5 +++++ src/test/univalue_tests.cpp | 1 + src/threadsafety.h | 2 +- src/torcontrol.cpp | 4 ++++ src/undo.h | 2 +- src/zmq/zmqconfig.h | 2 +- 41 files changed, 65 insertions(+), 33 deletions(-) diff --git a/doc/shared-libraries.md b/doc/shared-libraries.md index f433f8ddbb..696ead74f8 100644 --- a/doc/shared-libraries.md +++ b/doc/shared-libraries.md @@ -11,7 +11,7 @@ The interface is defined in the C header `dashconsensus.h` located in `src/scri #### Version -`dashconsensus_version` returns an `unsigned int` with the the API version *(currently at an experimental `0`)*. +`dashconsensus_version` returns an `unsigned int` with the API version *(currently at an experimental `0`)*. #### Script Validation diff --git a/qa/rpc-tests/bip65-cltv-p2p.py b/qa/rpc-tests/bip65-cltv-p2p.py index 5cb78e7a40..99d74344ae 100755 --- a/qa/rpc-tests/bip65-cltv-p2p.py +++ b/qa/rpc-tests/bip65-cltv-p2p.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/bipdersig-p2p.py b/qa/rpc-tests/bipdersig-p2p.py index b1db5ba4af..bba86a50c4 100755 --- a/qa/rpc-tests/bipdersig-p2p.py +++ b/qa/rpc-tests/bipdersig-p2p.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/invalidblockrequest.py b/qa/rpc-tests/invalidblockrequest.py index c4f85f58e0..9f13b07eae 100755 --- a/qa/rpc-tests/invalidblockrequest.py +++ b/qa/rpc-tests/invalidblockrequest.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/invalidtxrequest.py b/qa/rpc-tests/invalidtxrequest.py index 45ae78a48d..90b792251f 100755 --- a/qa/rpc-tests/invalidtxrequest.py +++ b/qa/rpc-tests/invalidtxrequest.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/maxblocksinflight.py b/qa/rpc-tests/maxblocksinflight.py index 55c4002524..2c2bae96e1 100755 --- a/qa/rpc-tests/maxblocksinflight.py +++ b/qa/rpc-tests/maxblocksinflight.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/p2p-acceptblock.py b/qa/rpc-tests/p2p-acceptblock.py index e62f9cc427..45cdafd7b7 100755 --- a/qa/rpc-tests/p2p-acceptblock.py +++ b/qa/rpc-tests/p2p-acceptblock.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/p2p-fullblocktest.py b/qa/rpc-tests/p2p-fullblocktest.py index ffa5e87d1e..a179092f8f 100755 --- a/qa/rpc-tests/p2p-fullblocktest.py +++ b/qa/rpc-tests/p2p-fullblocktest.py @@ -1,6 +1,5 @@ #!/usr/bin/env python2 - -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/sendheaders.py b/qa/rpc-tests/sendheaders.py index 172506715a..2bc32584b5 100755 --- a/qa/rpc-tests/sendheaders.py +++ b/qa/rpc-tests/sendheaders.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2014-2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/test_framework/blocktools.py b/qa/rpc-tests/test_framework/blocktools.py index 2b0f940b1c..a2c3702131 100644 --- a/qa/rpc-tests/test_framework/blocktools.py +++ b/qa/rpc-tests/test_framework/blocktools.py @@ -1,5 +1,5 @@ # blocktools.py - utilities for manipulating blocks and transactions -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/test_framework/comptool.py b/qa/rpc-tests/test_framework/comptool.py index d55a430487..db8822c41f 100755 --- a/qa/rpc-tests/test_framework/comptool.py +++ b/qa/rpc-tests/test_framework/comptool.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -# +# Copyright (c) 2015 The Bitcoin Core developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # diff --git a/qa/rpc-tests/test_framework/coverage.py b/qa/rpc-tests/test_framework/coverage.py index 50f066a850..d21a001b6e 100644 --- a/qa/rpc-tests/test_framework/coverage.py +++ b/qa/rpc-tests/test_framework/coverage.py @@ -1,3 +1,9 @@ +#!/usr/bin/env python2 +# Copyright (c) 2015 The Bitcoin Core developers +# Distributed under the MIT/X11 software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +# + """ This module contains utilities for doing coverage analysis on the RPC interface. diff --git a/src/addrman.cpp b/src/addrman.cpp index 047dd430b5..9c1e1cdad1 100644 --- a/src/addrman.cpp +++ b/src/addrman.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2012 Pieter Wuille +// Copyright (c) 2012-2015 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/addrman.h b/src/addrman.h index ab8bb8225d..48c1b01ed1 100644 --- a/src/addrman.h +++ b/src/addrman.h @@ -1,4 +1,5 @@ // Copyright (c) 2012 Pieter Wuille +// Copyright (c) 2012-2015 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/consensus/merkle.cpp b/src/consensus/merkle.cpp index 9a8afa8a33..22eb7159a2 100644 --- a/src/consensus/merkle.cpp +++ b/src/consensus/merkle.cpp @@ -1,3 +1,7 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #include "merkle.h" #include "hash.h" #include "utilstrencodings.h" diff --git a/src/httprpc.cpp b/src/httprpc.cpp index 0ed0bbf4e8..04d3386e9a 100644 --- a/src/httprpc.cpp +++ b/src/httprpc.cpp @@ -1,3 +1,7 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #include "httprpc.h" #include "base58.h" diff --git a/src/noui.h b/src/noui.h index 15cd30a639..ff16cc9aa8 100644 --- a/src/noui.h +++ b/src/noui.h @@ -1,4 +1,4 @@ -// Copyright (c) 2013 The Bitcoin Core developers +// Copyright (c) 2013-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/prevector.h b/src/prevector.h index ba5b17e78f..a0e1e140b4 100644 --- a/src/prevector.h +++ b/src/prevector.h @@ -1,3 +1,7 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #ifndef _BITCOIN_PREVECTOR_H_ #define _BITCOIN_PREVECTOR_H_ diff --git a/src/qt/coincontroltreewidget.h b/src/qt/coincontroltreewidget.h index 98a7d32f05..62645fcdb0 100644 --- a/src/qt/coincontroltreewidget.h +++ b/src/qt/coincontroltreewidget.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/csvmodelwriter.cpp b/src/qt/csvmodelwriter.cpp index 55c5957088..8a1a49bb06 100644 --- a/src/qt/csvmodelwriter.cpp +++ b/src/qt/csvmodelwriter.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/csvmodelwriter.h b/src/qt/csvmodelwriter.h index a2bf379f4e..edea369ad1 100644 --- a/src/qt/csvmodelwriter.h +++ b/src/qt/csvmodelwriter.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/dashstrings.cpp b/src/qt/dashstrings.cpp index 5b99c18d05..5d4810d1fe 100644 --- a/src/qt/dashstrings.cpp +++ b/src/qt/dashstrings.cpp @@ -1,4 +1,7 @@ - +// Copyright (c) 2013-2015 The Bitcoin Core developers +// Copyright (c) 2014-2017 The Dash Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #include diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index d0de82a188..521246b794 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2014-2017 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/macnotificationhandler.h b/src/qt/macnotificationhandler.h index bd66b96b21..d4749b3d5f 100644 --- a/src/qt/macnotificationhandler.h +++ b/src/qt/macnotificationhandler.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp index 5a564248ec..a45afde566 100644 --- a/src/qt/notificator.cpp +++ b/src/qt/notificator.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp index 01931b4b97..b67ae826ec 100644 --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2014-2017 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp index c4af67f44b..5163cbaf11 100644 --- a/src/qt/receiverequestdialog.cpp +++ b/src/qt/receiverequestdialog.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2015 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactiondesc.h b/src/qt/transactiondesc.h index 5467348ee9..01b90b130f 100644 --- a/src/qt/transactiondesc.h +++ b/src/qt/transactiondesc.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactiondescdialog.cpp b/src/qt/transactiondescdialog.cpp index f31068e963..68e843b08d 100644 --- a/src/qt/transactiondescdialog.cpp +++ b/src/qt/transactiondescdialog.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactiondescdialog.h b/src/qt/transactiondescdialog.h index 54374e359d..f1371b3856 100644 --- a/src/qt/transactiondescdialog.h +++ b/src/qt/transactiondescdialog.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactionfilterproxy.cpp b/src/qt/transactionfilterproxy.cpp index c310910490..149aeabe83 100644 --- a/src/qt/transactionfilterproxy.cpp +++ b/src/qt/transactionfilterproxy.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h index 6474de72e0..fb3215cd0f 100644 --- a/src/qt/transactionfilterproxy.h +++ b/src/qt/transactionfilterproxy.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactionrecord.h b/src/qt/transactionrecord.h index 90d426e97f..c238ef5769 100644 --- a/src/qt/transactionrecord.h +++ b/src/qt/transactionrecord.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/walletmodeltransaction.h b/src/qt/walletmodeltransaction.h index 7765fea4af..64922efada 100644 --- a/src/qt/walletmodeltransaction.h +++ b/src/qt/walletmodeltransaction.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/multisig_tests.cpp b/src/test/multisig_tests.cpp index 3139988670..93a995db3d 100644 --- a/src/test/multisig_tests.cpp +++ b/src/test/multisig_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2013 The Bitcoin Core developers +// Copyright (c) 2011-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/test_dash.h b/src/test/test_dash.h index 36d2601b34..b791e21a11 100644 --- a/src/test/test_dash.h +++ b/src/test/test_dash.h @@ -1,3 +1,8 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Copyright (c) 2014-2017 The Dash Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #ifndef BITCOIN_TEST_TEST_DASH_H #define BITCOIN_TEST_TEST_DASH_H diff --git a/src/test/univalue_tests.cpp b/src/test/univalue_tests.cpp index aca7a02fc1..face3a4f4f 100644 --- a/src/test/univalue_tests.cpp +++ b/src/test/univalue_tests.cpp @@ -1,4 +1,5 @@ // Copyright 2014 BitPay, Inc. +// Copyright (c) 2014-2015 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/threadsafety.h b/src/threadsafety.h index d01c50abb6..61e63dbc7a 100644 --- a/src/threadsafety.h +++ b/src/threadsafety.h @@ -1,5 +1,5 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin Core developers +// Copyright (c) 2009-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/torcontrol.cpp b/src/torcontrol.cpp index 89b1aec404..ec0e257ea6 100644 --- a/src/torcontrol.cpp +++ b/src/torcontrol.cpp @@ -1,3 +1,7 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #include "torcontrol.h" #include "utilstrencodings.h" #include "netbase.h" diff --git a/src/undo.h b/src/undo.h index b572ad28bb..ca4c5be54f 100644 --- a/src/undo.h +++ b/src/undo.h @@ -1,5 +1,5 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2013 The Bitcoin Core developers +// Copyright (c) 2009-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/zmq/zmqconfig.h b/src/zmq/zmqconfig.h index e823ed4525..4dbc5226d5 100644 --- a/src/zmq/zmqconfig.h +++ b/src/zmq/zmqconfig.h @@ -1,4 +1,4 @@ -// Copyright (c) 2015 The Bitcoin Core developers +// Copyright (c) 2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. From b277eed58fa3c34b7463d2bf8bb36f813cc7cada Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 28 Jan 2016 10:54:41 +0100 Subject: [PATCH 23/58] Merge #7425: devtools: Fix utf-8 support in messages for github-merge c8a6c11 devtools: Fix utf-8 support in messages for github-merge (Wladimir J. van der Laan) --- contrib/devtools/github-merge.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/devtools/github-merge.py b/contrib/devtools/github-merge.py index f7781cceb3..c8dcaae268 100755 --- a/contrib/devtools/github-merge.py +++ b/contrib/devtools/github-merge.py @@ -147,14 +147,14 @@ def main(): else: firstline = 'Merge #%s' % (pull,) message = firstline + '\n\n' - message += subprocess.check_output([GIT,'log','--no-merges','--topo-order','--pretty=format:%h %s (%an)',base_branch+'..'+head_branch]) + message += subprocess.check_output([GIT,'log','--no-merges','--topo-order','--pretty=format:%h %s (%an)',base_branch+'..'+head_branch]).decode('utf-8') try: - subprocess.check_call([GIT,'merge','-q','--commit','--no-edit','--no-ff','-m',message,head_branch]) + subprocess.check_call([GIT,'merge','-q','--commit','--no-edit','--no-ff','-m',message.encode('utf-8'),head_branch]) except subprocess.CalledProcessError as e: print("ERROR: Cannot be merged cleanly.",file=stderr) subprocess.check_call([GIT,'merge','--abort']) exit(4) - logmsg = subprocess.check_output([GIT,'log','--pretty=format:%s','-n','1']) + logmsg = subprocess.check_output([GIT,'log','--pretty=format:%s','-n','1']).decode('utf-8') if logmsg.rstrip() != firstline.rstrip(): print("ERROR: Creating merge failed (already merged?).",file=stderr) exit(4) From 2fd5d93a92f597da2f0ac39540afc21ac07124c3 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 29 Jan 2016 12:51:39 +0100 Subject: [PATCH 24/58] Merge #7437: GUI: Disable tab navigation for peers tables. 8b3d8e3 GUI: Disable tab navigation for peers tables. (Kefkius) --- src/qt/forms/debugwindow.ui | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 1df09f0f74..b75417b72a 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -896,6 +896,9 @@ Qt::ScrollBarAsNeeded + + false + true @@ -957,6 +960,9 @@ Qt::ScrollBarAsNeeded + + false + true From 6c5286aadd64d8d44d1e2812c423f19892d49d18 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 29 Jan 2016 12:56:16 +0100 Subject: [PATCH 25/58] Merge #7423: doc: add example for building with constrained resources f9298cc doc: add example for building with constrained resources (Jarret Dyrbye) --- doc/build-unix.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 68e7b068bd..764787fc51 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -51,12 +51,15 @@ Optional dependencies: For the versions used in the release, see [release-process.md](release-process.md) under *Fetch and build inputs*. -System requirements +Memory Requirements -------------------- -C++ compilers are memory-hungry. It is recommended to have at least 1 GB of -memory available when compiling Dash Core. With 512MB of memory or less -compilation will take much longer due to swap thrashing. +C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of +memory available when compiling Dash Core. On systems with less, gcc can be +tuned to conserve memory with additional CXXFLAGS: + + + ./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" Dependency Build Instructions: Ubuntu & Debian ---------------------------------------------- From c5f84c4e60808de4ff31e0322de4504035681a7e Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 29 Jan 2016 13:11:57 +0100 Subject: [PATCH 26/58] Merge #6842: limitfreerelay edge case bugfix 2dfeaa1 limitfreerelay edge case bugfix: (ptschip) --- src/validation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validation.cpp b/src/validation.cpp index d413a9aaa6..1eb6f9976b 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -782,7 +782,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C nLastTime = nNow; // -limitfreerelay unit is thousand-bytes-per-minute // At default rate it would take over a month to fill 1GB - if (dFreeCount >= GetArg("-limitfreerelay", DEFAULT_LIMITFREERELAY) * 10 * 1000) + if (dFreeCount + nSize >= GetArg("-limitfreerelay", DEFAULT_LIMITFREERELAY) * 10 * 1000) return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "rate limited free transaction"); LogPrint("mempool", "Rate limit dFreeCount: %g => %g\n", dFreeCount, dFreeCount+nSize); dFreeCount += nSize; From 3cd83db0dcb53ce525e42e75f429ce3c1880a6f4 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sat, 30 Jan 2016 11:45:21 +0100 Subject: [PATCH 27/58] Merge #7441: Use Debian 8.3 in gitian build guide 666a0f8 Use Debian 8.3 in gitian build guide (fanquake) --- doc/gitian-building.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/gitian-building.md b/doc/gitian-building.md index 9c2d720d23..4f8f4dae02 100644 --- a/doc/gitian-building.md +++ b/doc/gitian-building.md @@ -74,11 +74,11 @@ In the VirtualBox GUI click "Create" and choose the following parameters in the - File location and size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side - Click `Create` -Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). +Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.3.0/amd64/iso-cd/debian-8.3.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). This DVD image can be validated using a SHA256 hashing tool, for example on Unixy OSes by entering the following in a terminal: - echo "d393d17ac6b3113c81186e545c416a00f28ed6e05774284bb5e8f0df39fcbcb9 debian-8.2.0-amd64-netinst.iso" | sha256sum -c + echo "dd25bcdde3c6ea5703cc0f313cde621b13d42ff7d252e2538a11663c93bf8654 debian-8.3.0-amd64-netinst.iso" | sha256sum -c # (must return OK) After creating the VM, we need to configure it. @@ -305,6 +305,7 @@ Clone the git repositories for Dash Core and Gitian. ```bash git clone https://github.com/devrandom/gitian-builder.git git clone https://github.com/dashpay/dash +git clone https://github.com/dashpay/gitian.sigs.git ``` Setting up the Gitian image From 6789bf6e13f77db8b53e5d0131f268d8d9a2d374 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 1 Feb 2016 10:21:27 +0100 Subject: [PATCH 28/58] Merge #7287: Consensus: Remove calls to error() and FormatStateMessage() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 93fc58c Consensus: Remove calls to error() and FormatStateMessage() from some consensus code in main (Jorge Timón) --- src/validation.cpp | 99 +++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 59 deletions(-) diff --git a/src/validation.cpp b/src/validation.cpp index 1eb6f9976b..c5156214db 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -558,12 +558,16 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C bool* pfMissingInputs, bool fOverrideMempoolLimit, bool fRejectAbsurdFee, std::vector& coins_to_uncache, bool fDryRun) { + const uint256 hash = tx.GetHash(); AssertLockHeld(cs_main); if (pfMissingInputs) *pfMissingInputs = false; - if (!CheckTransaction(tx, state) || !ContextualCheckTransaction(tx, state, chainActive.Tip())) - return false; + if (!CheckTransaction(tx, state)) + return error("%s: CheckTransaction: %s, %s", __func__, hash.ToString(), FormatStateMessage(state)); + + if (!ContextualCheckTransaction(tx, state, chainActive.Tip())) + return error("%s: ContextualCheckTransaction: %s, %s", __func__, hash.ToString(), FormatStateMessage(state)); // Coinbase is only valid in a block, not as a loose transaction if (tx.IsCoinBase()) @@ -589,7 +593,6 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C return state.DoS(0, false, REJECT_NONSTANDARD, "non-final"); // is it already in the memory pool? - uint256 hash = tx.GetHash(); if (pool.exists(hash)) return state.Invalid(false, REJECT_ALREADY_KNOWN, "txn-already-in-mempool"); @@ -964,7 +967,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C // Check against previous transactions // This is done last to help prevent CPU exhaustion denial-of-service attacks. if (!CheckInputs(tx, state, view, true, STANDARD_SCRIPT_VERIFY_FLAGS, true)) - return false; + return error("%s: CheckInputs: %s, %s", __func__, hash.ToString(), FormatStateMessage(state)); // Check again against just the consensus-critical mandatory script // verification flags, in case of bugs in the standard flags that cause @@ -1963,7 +1966,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd // Check it again in case a previous version let a bad block in if (!CheckBlock(block, state, !fJustCheck, !fJustCheck)) - return false; + return error("%s: Consensus::CheckBlock: %s", __func__, FormatStateMessage(state)); // verify that the view's current state corresponds to the previous block uint256 hashPrevBlock = pindex->pprev == NULL ? uint256() : pindex->pprev->GetBlockHash(); @@ -3111,13 +3114,11 @@ bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool f { // Check proof of work matches claimed amount if (fCheckPOW && !CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus())) - return state.DoS(50, error("CheckBlockHeader(): proof of work failed"), - REJECT_INVALID, "high-hash"); + return state.DoS(50, false, REJECT_INVALID, "high-hash", false, "proof of work failed"); // Check timestamp if (block.GetBlockTime() > GetAdjustedTime() + 2 * 60 * 60) - return state.Invalid(error("CheckBlockHeader(): block timestamp too far in the future"), - REJECT_INVALID, "time-too-new"); + return state.Invalid(false, REJECT_INVALID, "time-too-new", "block timestamp too far in the future"); return true; } @@ -3139,15 +3140,13 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo bool mutated; uint256 hashMerkleRoot2 = BlockMerkleRoot(block, &mutated); if (block.hashMerkleRoot != hashMerkleRoot2) - return state.DoS(100, error("CheckBlock(): hashMerkleRoot mismatch"), - REJECT_INVALID, "bad-txnmrklroot", true); + return state.DoS(100, false, REJECT_INVALID, "bad-txnmrklroot", true, "hashMerkleRoot mismatch"); // Check for merkle tree malleability (CVE-2012-2459): repeating sequences // of transactions in a block without affecting the merkle root of a block, // while still invalidating it. if (mutated) - return state.DoS(100, error("CheckBlock(): duplicate transaction"), - REJECT_INVALID, "bad-txns-duplicate", true); + return state.DoS(100, false, REJECT_INVALID, "bad-txns-duplicate", true, "duplicate transaction"); } // All potential-corruption validation must be done before we do any @@ -3156,17 +3155,14 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo // Size limits (relaxed) if (block.vtx.empty() || block.vtx.size() > MaxBlockSize(true) || ::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION) > MaxBlockSize(true)) - return state.DoS(100, error("%s: size limits failed", __func__), - REJECT_INVALID, "bad-blk-length"); + return state.DoS(100, false, REJECT_INVALID, "bad-blk-length", false, "size limits failed"); // First transaction must be coinbase, the rest must not be if (block.vtx.empty() || !block.vtx[0].IsCoinBase()) - return state.DoS(100, error("CheckBlock(): first tx is not coinbase"), - REJECT_INVALID, "bad-cb-missing"); + return state.DoS(100, false, REJECT_INVALID, "bad-cb-missing", false, "first tx is not coinbase"); for (unsigned int i = 1; i < block.vtx.size(); i++) if (block.vtx[i].IsCoinBase()) - return state.DoS(100, error("CheckBlock(): more than one coinbase"), - REJECT_INVALID, "bad-cb-multiple"); + return state.DoS(100, false, REJECT_INVALID, "bad-cb-multiple", false, "more than one coinbase"); // DASH : CHECK TRANSACTIONS FOR INSTANTSEND @@ -3186,9 +3182,8 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo // relaying instantsend data won't help it. LOCK(cs_main); mapRejectedBlocks.insert(make_pair(block.GetHash(), GetTime())); - return state.DoS(0, error("CheckBlock(DASH): transaction %s conflicts with transaction lock %s", - tx.GetHash().ToString(), hashLocked.ToString()), - REJECT_INVALID, "conflict-tx-lock"); + return state.DoS(100, false, REJECT_INVALID, "conflict-tx-lock", false, + strprintf("transaction %s conflicts with transaction lock %s", tx.GetHash().ToString(), hashLocked.ToString())); } } } @@ -3201,9 +3196,8 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo // Check transactions BOOST_FOREACH(const CTransaction& tx, block.vtx) if (!CheckTransaction(tx, state)) - return error("CheckBlock(): CheckTransaction of %s failed with %s", - tx.GetHash().ToString(), - FormatStateMessage(state)); + return state.Invalid(false, state.GetRejectCode(), state.GetRejectReason(), + strprintf("Transaction check failed (tx hash %s) %s", tx.GetHash().ToString(), state.GetDebugMessage())); unsigned int nSigOps = 0; BOOST_FOREACH(const CTransaction& tx, block.vtx) @@ -3212,8 +3206,7 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo } // sigops limits (relaxed) if (nSigOps > MaxBlockSigOps(true)) - return state.DoS(100, error("CheckBlock(): out-of-bounds SigOpCount"), - REJECT_INVALID, "bad-blk-sigops"); + return state.DoS(100, false, REJECT_INVALID, "bad-blk-sigops", false, "out-of-bounds SigOpCount"); if (fCheckPOW && fCheckMerkleRoot) block.fChecked = true; @@ -3251,29 +3244,18 @@ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& sta REJECT_INVALID, "bad-diffbits"); } else { if (block.nBits != GetNextWorkRequired(pindexPrev, &block, consensusParams)) - return state.DoS(100, error("%s : incorrect proof of work at %d", __func__, nHeight), - REJECT_INVALID, "bad-diffbits"); + return state.DoS(100, false, REJECT_INVALID, "bad-diffbits", false, strprintf("incorrect proof of work at %d", nHeight)); } // Check timestamp against prev if (block.GetBlockTime() <= pindexPrev->GetMedianTimePast()) - return state.Invalid(error("%s: block's timestamp is too early", __func__), - REJECT_INVALID, "time-too-old"); + return state.Invalid(false, REJECT_INVALID, "time-too-old", "block's timestamp is too early"); - // Reject block.nVersion=1 blocks when 95% (75% on testnet) of the network has upgraded: - if (block.nVersion < 2 && IsSuperMajority(2, pindexPrev, consensusParams.nMajorityRejectBlockOutdated, consensusParams)) - return state.Invalid(error("%s: rejected nVersion=1 block", __func__), - REJECT_OBSOLETE, "bad-version"); - - // Reject block.nVersion=2 blocks when 95% (75% on testnet) of the network has upgraded: - if (block.nVersion < 3 && IsSuperMajority(3, pindexPrev, consensusParams.nMajorityRejectBlockOutdated, consensusParams)) - return state.Invalid(error("%s: rejected nVersion=2 block", __func__), - REJECT_OBSOLETE, "bad-version"); - - // Reject block.nVersion=3 blocks when 95% (75% on testnet) of the network has upgraded: - if (block.nVersion < 4 && IsSuperMajority(4, pindexPrev, consensusParams.nMajorityRejectBlockOutdated, consensusParams)) - return state.Invalid(error("%s : rejected nVersion=3 block", __func__), - REJECT_OBSOLETE, "bad-version"); + // Reject outdated version blocks when 95% (75% on testnet) of the network has upgraded: + for (int32_t version = 2; version < 5; ++version) // check for version 2, 3 and 4 upgrades + if (block.nVersion < version && IsSuperMajority(version, pindexPrev, consensusParams.nMajorityRejectBlockOutdated, consensusParams)) + return state.Invalid(false, REJECT_OBSOLETE, strprintf("bad-version(v%d)", version - 1), + strprintf("rejected nVersion=%d block", version - 1)); return true; } @@ -3298,26 +3280,24 @@ bool ContextualCheckBlock(const CBlock& block, CValidationState& state, CBlockIn // Size limits unsigned int nMaxBlockSize = MaxBlockSize(fDIP0001Active_context); if (block.vtx.empty() || block.vtx.size() > nMaxBlockSize || ::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION) > nMaxBlockSize) - return state.DoS(100, error("%s: size limits failed", __func__), - REJECT_INVALID, "bad-blk-length"); + return state.DoS(10, false, REJECT_INVALID, "bad-blk-length", false, "size limits failed"); // Check that all transactions are finalized and not over-sized // Also count sigops unsigned int nSigOps = 0; BOOST_FOREACH(const CTransaction& tx, block.vtx) { if (!IsFinalTx(tx, nHeight, nLockTimeCutoff)) { - return state.DoS(10, error("%s: contains a non-final transaction", __func__), REJECT_INVALID, "bad-txns-nonfinal"); + return state.DoS(10, false, REJECT_INVALID, "bad-txns-nonfinal", false, "non-final transaction"); } if (fDIP0001Active_context && ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION) > MAX_STANDARD_TX_SIZE) { - return state.DoS(100, error("%s: contains an over-sized transaction", __func__), REJECT_INVALID, "bad-txns-oversized"); + return state.DoS(10, false, REJECT_INVALID, "bad-txns-oversized", false, "contains an over-sized transaction"); } nSigOps += GetLegacySigOpCount(tx); } // Check sigops if (nSigOps > MaxBlockSigOps(fDIP0001Active_context)) - return state.DoS(100, error("%s: out-of-bounds SigOpCount", __func__), - REJECT_INVALID, "bad-blk-sigops"); + return state.DoS(10, false, REJECT_INVALID, "bad-blk-sigops", false, "out-of-bounds SigOpCount"); // Enforce block.nVersion=2 rule that the coinbase starts with serialized block height // if 750 of the last 1,000 blocks are version 2 or greater (51/100 if testnet): @@ -3326,7 +3306,7 @@ bool ContextualCheckBlock(const CBlock& block, CValidationState& state, CBlockIn CScript expect = CScript() << nHeight; if (block.vtx[0].vin[0].scriptSig.size() < expect.size() || !std::equal(expect.begin(), expect.end(), block.vtx[0].vin[0].scriptSig.begin())) { - return state.DoS(100, error("%s: block height mismatch in coinbase", __func__), REJECT_INVALID, "bad-cb-height"); + return state.DoS(100, false, REJECT_INVALID, "bad-cb-height", false, "block height mismatch in coinbase"); } } @@ -3355,7 +3335,7 @@ static bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state } if (!CheckBlockHeader(block, state)) - return false; + return error("%s: Consensus::CheckBlockHeader: %s, %s", __func__, hash.ToString(), FormatStateMessage(state)); // Get prev block index CBlockIndex* pindexPrev = NULL; @@ -3371,7 +3351,7 @@ static bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state return error("%s: CheckIndexAgainstCheckpoint(): %s", __func__, state.GetRejectReason().c_str()); if (!ContextualCheckBlockHeader(block, state, pindexPrev)) - return false; + return error("%s: Consensus::ContextualCheckBlockHeader: %s, %s", __func__, hash.ToString(), FormatStateMessage(state)); } if (pindex == NULL) pindex = AddToBlockIndex(block); @@ -3446,7 +3426,7 @@ static bool AcceptBlock(const CBlock& block, CValidationState& state, const CCha pindex->nStatus |= BLOCK_FAILED_VALID; setDirtyBlockIndex.insert(pindex); } - return false; + return error("%s: %s", __func__, FormatStateMessage(state)); } int nHeight = pindex->nHeight; @@ -3528,11 +3508,11 @@ bool TestBlockValidity(CValidationState& state, const CChainParams& chainparams, // NOTE: CheckBlockHeader is called by CheckBlock if (!ContextualCheckBlockHeader(block, state, pindexPrev)) - return false; + return error("%s: Consensus::ContextualCheckBlockHeader: %s", __func__, FormatStateMessage(state)); if (!CheckBlock(block, state, fCheckPOW, fCheckMerkleRoot)) - return false; + return error("%s: Consensus::CheckBlock: %s", __func__, FormatStateMessage(state)); if (!ContextualCheckBlock(block, state, pindexPrev)) - return false; + return error("%s: Consensus::ContextualCheckBlock: %s", __func__, FormatStateMessage(state)); if (!ConnectBlock(block, state, &indexDummy, viewNew, true)) return false; assert(state.IsValid()); @@ -3874,7 +3854,8 @@ bool CVerifyDB::VerifyDB(const CChainParams& chainparams, CCoinsView *coinsview, return error("VerifyDB(): *** ReadBlockFromDisk failed at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString()); // check level 1: verify block validity if (nCheckLevel >= 1 && !CheckBlock(block, state)) - return error("VerifyDB(): *** found bad block at %d, hash=%s\n", pindex->nHeight, pindex->GetBlockHash().ToString()); + return error("%s: *** found bad block at %d, hash=%s (%s)\n", __func__, + pindex->nHeight, pindex->GetBlockHash().ToString(), FormatStateMessage(state)); // check level 2: verify undo validity if (nCheckLevel >= 2 && pindex) { CBlockUndo undo; From 5f68e06a07de6f0db9c1c045ec65e243f6f9acdf Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Thu, 14 Sep 2017 20:06:01 +0200 Subject: [PATCH 29/58] Add missing whitelistalwaysrelay arg to SET_DOC_OPTIONAL Missed from bitcoin #7439 --- contrib/devtools/check-doc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/devtools/check-doc.py b/contrib/devtools/check-doc.py index 9c589e6e6d..8c73cf1e8a 100755 --- a/contrib/devtools/check-doc.py +++ b/contrib/devtools/check-doc.py @@ -21,7 +21,7 @@ CMD_GREP_DOCS = r"egrep -r -I 'HelpMessageOpt\(\"\-[^\"=]+?(=|\")' %s" % (CMD_RO REGEX_ARG = re.compile(r'(?:map(?:Multi)?Args(?:\.count\(|\[)|Get(?:Bool)?Arg\()\"(\-[^\"]+?)\"') REGEX_DOC = re.compile(r'HelpMessageOpt\(\"(\-[^\"=]+?)(?:=|\")') # list unsupported, deprecated and duplicate args as they need no documentation -SET_DOC_OPTIONAL = set(['-rpcssl', '-benchmark', '-h', '-help', '-socks', '-tor', '-debugnet']) +SET_DOC_OPTIONAL = set(['-rpcssl', '-benchmark', '-h', '-help', '-socks', '-tor', '-debugnet', '-whitelistalwaysrelay']) def main(): used = check_output(CMD_GREP_ARGS, shell=True) From c8e04d43f780cdf16ed45ba94d6174294278672a Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Thu, 14 Sep 2017 20:10:12 +0200 Subject: [PATCH 30/58] Add missing comment in net.cpp Missed in previous backports --- src/net.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/net.cpp b/src/net.cpp index 2762ed5f11..a3594650c4 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -999,6 +999,7 @@ bool CConnman::AttemptToEvictConnection() // Reduce to the network group with the most connections std::vector vEvictionNodes = mapAddrCounts[naMostConnections]; + // Do not disconnect peers if there is only 1 connection from their network group if(vEvictionNodes.empty()) { return false; } From a65f7b7a76b14c968877024baa51a32f3cb7a246 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 2 Feb 2016 14:15:36 +0100 Subject: [PATCH 31/58] Merge #7311: MOVEONLY: Move non-consensus functions out of pow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit e867561 MOVEONLY: non-consensus: from pow to chain: (Jorge Timón) --- src/chain.cpp | 32 ++++++++++++++++++++++++++++++++ src/chain.h | 4 ++++ src/pow.cpp | 32 -------------------------------- src/pow.h | 5 ----- 4 files changed, 36 insertions(+), 37 deletions(-) diff --git a/src/chain.cpp b/src/chain.cpp index 663688761e..77e924e703 100644 --- a/src/chain.cpp +++ b/src/chain.cpp @@ -111,3 +111,35 @@ void CBlockIndex::BuildSkip() if (pprev) pskip = pprev->GetAncestor(GetSkipHeight(nHeight)); } + +arith_uint256 GetBlockProof(const CBlockIndex& block) +{ + arith_uint256 bnTarget; + bool fNegative; + bool fOverflow; + bnTarget.SetCompact(block.nBits, &fNegative, &fOverflow); + if (fNegative || fOverflow || bnTarget == 0) + return 0; + // We need to compute 2**256 / (bnTarget+1), but we can't represent 2**256 + // as it's too large for a arith_uint256. However, as 2**256 is at least as large + // as bnTarget+1, it is equal to ((2**256 - bnTarget - 1) / (bnTarget+1)) + 1, + // or ~bnTarget / (nTarget+1) + 1. + return (~bnTarget / (bnTarget + 1)) + 1; +} + +int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& from, const CBlockIndex& tip, const Consensus::Params& params) +{ + arith_uint256 r; + int sign = 1; + if (to.nChainWork > from.nChainWork) { + r = to.nChainWork - from.nChainWork; + } else { + r = from.nChainWork - to.nChainWork; + sign = -1; + } + r = r * arith_uint256(params.nPowTargetSpacing) / GetBlockProof(tip); + if (r.bits() > 63) { + return sign * std::numeric_limits::max(); + } + return sign * r.GetLow64(); +} diff --git a/src/chain.h b/src/chain.h index 5438d8f3d3..a9417027df 100644 --- a/src/chain.h +++ b/src/chain.h @@ -334,6 +334,10 @@ public: const CBlockIndex* GetAncestor(int height) const; }; +arith_uint256 GetBlockProof(const CBlockIndex& block); +/** Return the time it would take to redo the work difference between from and to, assuming the current hashrate corresponds to the difficulty at tip, in seconds. */ +int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& from, const CBlockIndex& tip, const Consensus::Params&); + /** Used to marshal pointers into hashes for db storage. */ class CDiskBlockIndex : public CBlockIndex { diff --git a/src/pow.cpp b/src/pow.cpp index 307759a463..1626ad445f 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -236,35 +236,3 @@ bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params& return true; } - -arith_uint256 GetBlockProof(const CBlockIndex& block) -{ - arith_uint256 bnTarget; - bool fNegative; - bool fOverflow; - bnTarget.SetCompact(block.nBits, &fNegative, &fOverflow); - if (fNegative || fOverflow || bnTarget == 0) - return 0; - // We need to compute 2**256 / (bnTarget+1), but we can't represent 2**256 - // as it's too large for a arith_uint256. However, as 2**256 is at least as large - // as bnTarget+1, it is equal to ((2**256 - bnTarget - 1) / (bnTarget+1)) + 1, - // or ~bnTarget / (nTarget+1) + 1. - return (~bnTarget / (bnTarget + 1)) + 1; -} - -int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& from, const CBlockIndex& tip, const Consensus::Params& params) -{ - arith_uint256 r; - int sign = 1; - if (to.nChainWork > from.nChainWork) { - r = to.nChainWork - from.nChainWork; - } else { - r = from.nChainWork - to.nChainWork; - sign = -1; - } - r = r * arith_uint256(params.nPowTargetSpacing) / GetBlockProof(tip); - if (r.bits() > 63) { - return sign * std::numeric_limits::max(); - } - return sign * r.GetLow64(); -} diff --git a/src/pow.h b/src/pow.h index 62939b979a..1f66b5c965 100644 --- a/src/pow.h +++ b/src/pow.h @@ -13,7 +13,6 @@ class CBlockHeader; class CBlockIndex; class uint256; -class arith_uint256; unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params&); unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast, int64_t nFirstBlockTime, const Consensus::Params&); @@ -21,9 +20,5 @@ unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast, int64_t nF /** Check whether a block hash satisfies the proof-of-work requirement specified by nBits */ bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params&); -arith_uint256 GetBlockProof(const CBlockIndex& block); - -/** Return the time it would take to redo the work difference between from and to, assuming the current hashrate corresponds to the difficulty at tip, in seconds. */ -int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& from, const CBlockIndex& tip, const Consensus::Params&); #endif // BITCOIN_POW_H From 0afbd1c3deabe7cc9eaf4f5d3439ea55414c5f15 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 2 Feb 2016 15:17:51 +0100 Subject: [PATCH 32/58] Merge #7084: mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee fa1193e [doxygen] Actually display comment (MarcoFalke) fa331db mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee (MarcoFalke) --- src/init.cpp | 10 +++++----- src/validation.cpp | 8 +++----- src/validation.h | 10 ++++++++++ src/wallet/wallet.cpp | 1 - src/wallet/wallet.h | 8 +------- 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 3a6bf77134..7448296dad 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -488,8 +488,6 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-sendfreetransactions", strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"), DEFAULT_SEND_FREE_TRANSACTIONS)); strUsage += HelpMessageOpt("-spendzeroconfchange", strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"), DEFAULT_SPEND_ZEROCONF_CHANGE)); strUsage += HelpMessageOpt("-txconfirmtarget=", strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"), DEFAULT_TX_CONFIRM_TARGET)); - strUsage += HelpMessageOpt("-maxtxfee=", strprintf(_("Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)"), - CURRENCY_UNIT, FormatMoney(DEFAULT_TRANSACTION_MAXFEE))); strUsage += HelpMessageOpt("-usehd", _("Use hierarchical deterministic key generation (HD) after bip39/bip44. Only has effect during wallet creation/first start") + " " + strprintf(_("(default: %u)"), DEFAULT_USE_HD_WALLET)); strUsage += HelpMessageOpt("-mnemonic", _("User defined mnemonic for HD wallet (bip39). Only has effect during wallet creation/first start (default: randomly generated)")); strUsage += HelpMessageOpt("-mnemonicpassphrase", _("User defined mnemonic passphrase for HD wallet (bip39). Only has effect during wallet creation/first start (default: empty string)")); @@ -571,6 +569,8 @@ std::string HelpMessage(HelpMessageMode mode) } strUsage += HelpMessageOpt("-minrelaytxfee=", strprintf(_("Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)"), CURRENCY_UNIT, FormatMoney(DEFAULT_MIN_RELAY_TX_FEE))); + strUsage += HelpMessageOpt("-maxtxfee=", strprintf(_("Maximum total fees (in %s) to use in a single wallet transaction or raw transaction; setting this too low may abort large transactions (default: %s)"), + CURRENCY_UNIT, FormatMoney(DEFAULT_TRANSACTION_MAXFEE))); strUsage += HelpMessageOpt("-printtoconsole", _("Send trace/debug info to console instead of debug.log file")); strUsage += HelpMessageOpt("-printtodebuglog", strprintf(_("Send trace/debug info to debug.log file (default: %u)"), 1)); if (showDebug) @@ -1158,7 +1158,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) CAmount nFeePerK = 0; if (!ParseMoney(mapArgs["-fallbackfee"], nFeePerK)) return InitError(AmountErrMsg("fallbackfee", mapArgs["-fallbackfee"])); - if (nFeePerK > nHighTransactionFeeWarning) + if (nFeePerK > HIGH_TX_FEE_PER_KB) InitWarning(_("-fallbackfee is set very high! This is the transaction fee you may pay when fee estimates are not available.")); CWallet::fallbackFee = CFeeRate(nFeePerK); } @@ -1167,7 +1167,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) CAmount nFeePerK = 0; if (!ParseMoney(mapArgs["-paytxfee"], nFeePerK)) return InitError(AmountErrMsg("paytxfee", mapArgs["-paytxfee"])); - if (nFeePerK > nHighTransactionFeeWarning) + if (nFeePerK > HIGH_TX_FEE_PER_KB) InitWarning(_("-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.")); payTxFee = CFeeRate(nFeePerK, 1000); if (payTxFee < ::minRelayTxFee) @@ -1181,7 +1181,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) CAmount nMaxFee = 0; if (!ParseMoney(mapArgs["-maxtxfee"], nMaxFee)) return InitError(AmountErrMsg("maxtxfee", mapArgs["-maxtxfee"])); - if (nMaxFee > nHighTransactionMaxFeeWarning) + if (nMaxFee > HIGH_MAX_TX_FEE) InitWarning(_("-maxtxfee is set very high! Fees this large could be paid on a single transaction.")); maxTxFee = nMaxFee; if (CFeeRate(maxTxFee, 1000) < ::minRelayTxFee) diff --git a/src/validation.cpp b/src/validation.cpp index c5156214db..ac77486de3 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -83,8 +83,6 @@ bool fCheckpointsEnabled = DEFAULT_CHECKPOINTS_ENABLED; size_t nCoinCacheUsage = 5000 * 300; uint64_t nPruneTarget = 0; bool fAlerts = DEFAULT_ALERTS; -/* If the tip is older than this (in seconds), the node is considered to be in initial block download. - */ int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE; bool fEnableReplacement = DEFAULT_ENABLE_REPLACEMENT; @@ -93,8 +91,8 @@ std::atomic fDIP0001ActiveAtTip{false}; uint256 hashAssumeValid; -/** Fees smaller than this (in duffs) are considered zero fee (for relaying, mining and transaction creation) */ CFeeRate minRelayTxFee = CFeeRate(DEFAULT_MIN_RELAY_TX_FEE); +CAmount maxTxFee = DEFAULT_TRANSACTION_MAXFEE; CTxMemPool mempool(::minRelayTxFee); map mapRejectedBlocks GUARDED_BY(cs_main); @@ -791,10 +789,10 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C dFreeCount += nSize; } - if (fRejectAbsurdFee && nFees > ::minRelayTxFee.GetFee(nSize) * 10000) + if (fRejectAbsurdFee && nFees > maxTxFee) return state.Invalid(false, REJECT_HIGHFEE, "absurdly-high-fee", - strprintf("%d > %d", nFees, ::minRelayTxFee.GetFee(nSize) * 10000)); + strprintf("%d > %d", nFees, maxTxFee)); // Calculate in-mempool ancestors, up to a limit. CTxMemPool::setEntries setAncestors; diff --git a/src/validation.h b/src/validation.h index 82e5e06c9a..e71877e06b 100644 --- a/src/validation.h +++ b/src/validation.h @@ -56,6 +56,12 @@ static const bool DEFAULT_WHITELISTRELAY = true; static const bool DEFAULT_WHITELISTFORCERELAY = true; /** Default for -minrelaytxfee, minimum relay fee for transactions */ static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 1000; +//! -maxtxfee default +static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.2 * COIN; // "smallest denom" + X * "denom tails" +//! Discourage users to set fees higher than this amount (in duffs) per kB +static const CAmount HIGH_TX_FEE_PER_KB = 0.01 * COIN; +//! -maxtxfee will warn if called with a higher fee than this amount (in duffs) +static const CAmount HIGH_MAX_TX_FEE = 100 * HIGH_TX_FEE_PER_KB; /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */ static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100; /** Default for -limitancestorcount, max number of in-mempool ancestors */ @@ -155,8 +161,12 @@ extern unsigned int nBytesPerSigOp; extern bool fCheckBlockIndex; extern bool fCheckpointsEnabled; extern size_t nCoinCacheUsage; +/** A fee rate smaller than this is considered zero fee (for relaying, mining and transaction creation) */ extern CFeeRate minRelayTxFee; +/** Absolute maximum transaction fee (in duffs) used by wallet and mempool (rejects high fee in sendrawtransaction) */ +extern CAmount maxTxFee; extern bool fAlerts; +/** If the tip is older than this (in seconds), the node is considered to be in initial block download. */ extern int64_t nMaxTipAge; extern bool fEnableReplacement; diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index accb1b7b2a..aee5dc22c6 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -43,7 +43,6 @@ using namespace std; /** Transaction fee set by the user */ CFeeRate payTxFee(DEFAULT_TRANSACTION_FEE); -CAmount maxTxFee = DEFAULT_TRANSACTION_MAXFEE; unsigned int nTxConfirmTarget = DEFAULT_TX_CONFIRM_TARGET; bool bSpendZeroConfChange = DEFAULT_SPEND_ZEROCONF_CHANGE; bool fSendFreeTransactions = DEFAULT_SEND_FREE_TRANSACTIONS; diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 342e711dc3..06bec149c0 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -37,7 +37,6 @@ * Settings */ extern CFeeRate payTxFee; -extern CAmount maxTxFee; extern unsigned int nTxConfirmTarget; extern bool bSpendZeroConfChange; extern bool fSendFreeTransactions; @@ -45,14 +44,10 @@ extern bool fSendFreeTransactions; static const unsigned int DEFAULT_KEYPOOL_SIZE = 1000; //! -paytxfee default static const CAmount DEFAULT_TRANSACTION_FEE = 0; -//! -paytxfee will warn if called with a higher fee than this amount (in satoshis) per KB -static const CAmount nHighTransactionFeeWarning = 0.01 * COIN; //! -fallbackfee default static const CAmount DEFAULT_FALLBACK_FEE = 1000; //! -mintxfee default static const CAmount DEFAULT_TRANSACTION_MINFEE = 1000; -//! -maxtxfee default -static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.2 * COIN; // "smallest denom" + X * "denom tails" //! minimum change amount static const CAmount MIN_CHANGE = CENT; //! Default for -spendzeroconfchange @@ -61,8 +56,6 @@ static const bool DEFAULT_SPEND_ZEROCONF_CHANGE = true; static const bool DEFAULT_SEND_FREE_TRANSACTIONS = false; //! -txconfirmtarget default static const unsigned int DEFAULT_TX_CONFIRM_TARGET = 2; -//! -maxtxfee will warn if called with a higher fee than this amount (in satoshis) -static const CAmount nHighTransactionMaxFeeWarning = 100 * nHighTransactionFeeWarning; //! Largest (in bytes) free transaction we're willing to create static const unsigned int MAX_FREE_TRANSACTION_CREATE_SIZE = 1000; static const bool DEFAULT_WALLETBROADCAST = true; @@ -254,6 +247,7 @@ public: int GetDepthInMainChain(bool enableIX = true) const { const CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet, enableIX); } bool IsInMainChain() const { const CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet) > 0; } int GetBlocksToMaturity() const; + /** Pass this transaction to the mempool. Fails if absolute fee exceeds maxTxFee. */ bool AcceptToMemoryPool(bool fLimitFree=true, bool fRejectAbsurdFee=true); bool hashUnset() const { return (hashBlock.IsNull() || hashBlock == ABANDON_HASH); } bool isAbandoned() const { return (hashBlock == ABANDON_HASH); } From bcbd2cda247a466e1d536718b641d8db57567031 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 2 Feb 2016 18:37:36 +0100 Subject: [PATCH 33/58] Merge #7091: Consensus build package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cf82d05 Build: Consensus: Make libbitcoinconsensus_la_SOURCES fully dynamic and dependend on both crypto and consensus packages (Jorge Timón) 4feadec Build: Libconsensus: Move libconsensus-ready files to the consensus package (Jorge Timón) a3d5eec Build: Consensus: Move consensus files from common to its own module/package (Jorge Timón) --- src/Makefile.am | 86 ++++++++++++++++++------------------- src/Makefile.bench.include | 1 + src/Makefile.qt.include | 2 +- src/Makefile.qttest.include | 2 +- src/Makefile.test.include | 4 +- 5 files changed, 47 insertions(+), 48 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index fe5cd55327..83e1af2c4e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,6 +23,7 @@ BITCOIN_INCLUDES += $(UNIVALUE_CFLAGS) LIBBITCOIN_SERVER=libbitcoin_server.a LIBBITCOIN_WALLET=libbitcoin_wallet.a LIBBITCOIN_COMMON=libbitcoin_common.a +LIBBITCOIN_CONSENSUS=libbitcoin_consensus.a LIBBITCOIN_CLI=libbitcoin_cli.a LIBBITCOIN_UTIL=libbitcoin_util.a LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a @@ -38,6 +39,7 @@ EXTRA_LIBRARIES += \ crypto/libbitcoin_crypto.a \ libbitcoin_util.a \ libbitcoin_common.a \ + libbitcoin_consensus.a \ libbitcoin_server.a \ libbitcoin_cli.a if ENABLE_WALLET @@ -50,9 +52,9 @@ endif if BUILD_BITCOIN_LIBS lib_LTLIBRARIES = libdashconsensus.la -LIBBITCOIN_CONSENSUS=libdashconsensus.la +LIBBITCOINCONSENSUS=libdashconsensus.la else -LIBBITCOIN_CONSENSUS= +LIBBITCOINCONSENSUS= endif bin_PROGRAMS = @@ -76,8 +78,6 @@ BITCOIN_CORE_H = \ spentindex.h \ addrman.h \ alert.h \ - amount.h \ - arith_uint256.h \ base58.h \ bip39.h \ bip39_english.h \ @@ -99,9 +99,6 @@ BITCOIN_CORE_H = \ compat/sanity.h \ compressor.h \ consensus/consensus.h \ - consensus/merkle.h \ - consensus/params.h \ - consensus/validation.h \ core_io.h \ core_memusage.h \ privatesend.h \ @@ -117,7 +114,6 @@ BITCOIN_CORE_H = \ governance-vote.h \ governance-votedb.h \ flat-database.h \ - hash.h \ hdchain.h \ httprpc.h \ httpserver.h \ @@ -147,24 +143,16 @@ BITCOIN_CORE_H = \ policy/policy.h \ policy/rbf.h \ pow.h \ - prevector.h \ - primitives/block.h \ - primitives/transaction.h \ protocol.h \ - pubkey.h \ random.h \ reverselock.h \ rpc/client.h \ rpc/protocol.h \ rpc/server.h \ scheduler.h \ - script/interpreter.h \ - script/script.h \ - script/script_error.h \ script/sigcache.h \ script/sign.h \ script/standard.h \ - serialize.h \ spork.h \ streams.h \ support/allocators/secure.h \ @@ -175,20 +163,16 @@ BITCOIN_CORE_H = \ threadsafety.h \ threadinterrupt.h \ timedata.h \ - tinyformat.h \ torcontrol.h \ txdb.h \ txmempool.h \ ui_interface.h \ - uint256.h \ undo.h \ util.h \ utilmoneystr.h \ - utilstrencodings.h \ utiltime.h \ validation.h \ validationinterface.h \ - version.h \ versionbits.h \ wallet/crypter.h \ wallet/db.h \ @@ -344,34 +328,60 @@ crypto_libbitcoin_crypto_a_SOURCES += \ crypto/sph_skein.h \ crypto/sph_types.h +# consensus: shared between all executables that validate any consensus rules. +libbitcoin_consensus_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_consensus_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_consensus_a_SOURCES = \ + amount.h \ + arith_uint256.cpp \ + arith_uint256.h \ + consensus/merkle.cpp \ + consensus/merkle.h \ + consensus/params.h \ + consensus/validation.h \ + hash.cpp \ + hash.h \ + prevector.h \ + primitives/block.cpp \ + primitives/block.h \ + primitives/transaction.cpp \ + primitives/transaction.h \ + pubkey.cpp \ + pubkey.h \ + script/dashconsensus.cpp \ + script/interpreter.cpp \ + script/interpreter.h \ + script/script.cpp \ + script/script.h \ + script/script_error.cpp \ + script/script_error.h \ + serialize.h \ + tinyformat.h \ + uint256.cpp \ + uint256.h \ + utilstrencodings.cpp \ + utilstrencodings.h \ + version.h + # common: shared between dashd, and dash-qt and non-server tools libbitcoin_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) libbitcoin_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_common_a_SOURCES = \ amount.cpp \ - arith_uint256.cpp \ base58.cpp \ bip39.cpp \ chainparams.cpp \ coins.cpp \ compressor.cpp \ - consensus/merkle.cpp \ core_read.cpp \ core_write.cpp \ - hash.cpp \ hdchain.cpp \ key.cpp \ keystore.cpp \ netaddress.cpp \ netbase.cpp \ - primitives/block.cpp \ - primitives/transaction.cpp \ protocol.cpp \ - pubkey.cpp \ scheduler.cpp \ - script/interpreter.cpp \ - script/script.cpp \ - script/script_error.cpp \ script/sign.cpp \ script/standard.cpp \ $(BITCOIN_CORE_H) @@ -392,7 +402,6 @@ libbitcoin_util_a_SOURCES = \ rpc/protocol.cpp \ support/cleanse.cpp \ sync.cpp \ - uint256.cpp \ threadinterrupt.cpp \ util.cpp \ utilmoneystr.cpp \ @@ -429,6 +438,7 @@ dashd_LDADD = \ $(LIBBITCOIN_COMMON) \ $(LIBUNIVALUE) \ $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ $(LIBMEMENV) \ @@ -475,6 +485,7 @@ dash_tx_LDADD = \ $(LIBUNIVALUE) \ $(LIBBITCOIN_COMMON) \ $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ $(LIBBITCOIN_CRYPTO) \ $(LIBSECP256K1) @@ -484,20 +495,7 @@ dash_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) # dashconsensus library # if BUILD_BITCOIN_LIBS include_HEADERS = script/dashconsensus.h -libdashconsensus_la_SOURCES = \ - crypto/hmac_sha512.cpp \ - crypto/ripemd160.cpp \ - crypto/sha1.cpp \ - crypto/sha256.cpp \ - crypto/sha512.cpp \ - hash.cpp \ - primitives/transaction.cpp \ - pubkey.cpp \ - script/dashconsensus.cpp \ - script/interpreter.cpp \ - script/script.cpp \ - uint256.cpp \ - utilstrencodings.cpp +libdashconsensus_la_SOURCES = $(crypto_libbitcoin_crypto_a_SOURCES) $(libbitcoin_consensus_a_SOURCES) if GLIBC_BACK_COMPAT libdashconsensus_la_SOURCES += compat/glibc_compat.cpp diff --git a/src/Makefile.bench.include b/src/Makefile.bench.include index 4825048d0a..7b4a27815a 100644 --- a/src/Makefile.bench.include +++ b/src/Makefile.bench.include @@ -15,6 +15,7 @@ bench_bench_dash_LDADD = \ $(LIBBITCOIN_SERVER) \ $(LIBBITCOIN_COMMON) \ $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ $(LIBMEMENV) \ diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index ce1acdd4db..4cf20e7f77 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -558,7 +558,7 @@ endif if ENABLE_ZMQ qt_dash_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) endif -qt_dash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ +qt_dash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) qt_dash_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index a5216d6faf..a2a8ab48f6 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -40,7 +40,7 @@ endif if ENABLE_ZMQ qt_test_test_dash_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) endif -qt_test_test_dash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \ +qt_test_test_dash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 6621980106..76431558ed 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -103,14 +103,14 @@ endif test_test_dash_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) test_test_dash_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS) -test_test_dash_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ +test_test_dash_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) test_test_dash_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) if ENABLE_WALLET test_test_dash_LDADD += $(LIBBITCOIN_WALLET) endif -test_test_dash_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) +test_test_dash_LDADD += $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) test_test_dash_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static if ENABLE_ZMQ From 0f8ce56883e42ff4d490e8d7a78c5b2ba7e2da3d Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 3 Feb 2016 12:29:30 +0100 Subject: [PATCH 34/58] Merge #7444: Improve block validity/ConnectBlock() comments 2f19905 Improve block validity/ConnectBlock() comments (Peter Todd) --- src/validation.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/validation.h b/src/validation.h index e71877e06b..d2e927030b 100644 --- a/src/validation.h +++ b/src/validation.h @@ -447,7 +447,9 @@ void ReprocessBlocks(int nBlocks); bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool fCheckPOW = true); bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW = true, bool fCheckMerkleRoot = true); -/** Context-dependent validity checks */ +/** Context-dependent validity checks. + * By "context", we mean only the previous block headers, but not the UTXO + * set; UTXO-related validity checks are done in ConnectBlock(). */ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& state, CBlockIndex *pindexPrev); bool ContextualCheckBlock(const CBlock& block, CValidationState& state, CBlockIndex *pindexPrev); From e7a6f79e5a74a58a63311ef02728670fc376a558 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 4 Feb 2016 13:41:58 +0100 Subject: [PATCH 35/58] Merge #7192: Unify product name to as few places as possible 027fdb8 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen (Luke Dashjr) cc2095e Rewrite FormatParagraph to handle newlines within input strings correctly (Luke Dashjr) cddffaf Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly (Luke Dashjr) 29598e4 Move PACKAGE_URL to configure.ac (Luke Dashjr) 78ec83d splashscreen: Resize text to fit exactly (Luke Dashjr) 3cae140 Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere (Luke Dashjr) 4d5a3df Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) (Luke Dashjr) e4ab5e5 Bugfix: Correct copyright year in Mac DMG background image (Luke Dashjr) 917b1d0 Set copyright holders displayed in notices separately from the package name (Luke Dashjr) c39a6ff Travis & gitian-osx: Use depends for ds_store and mac_alias modules (Luke Dashjr) 902ccde depends: Add mac_alias to depends (Luke Dashjr) 82a2d98 depends: Add ds_store to depends (Cory Fields) de619a3 depends: Pass PYTHONPATH along to configure (Cory Fields) e611b6e macdeploy: Use rsvg-convert rather than cairosvg (Luke Dashjr) 63bcdc5 More complicated package name substitution for Mac deployment (Luke Dashjr) 1a6c67c Parameterise 2009 in translatable copyright strings (Luke Dashjr) d5f4683 Unify package name to as few places as possible without major changes (Luke Dashjr) --- Makefile.am | 40 ++++++++---- build-aux/m4/bitcoin_find_bdb48.m4 | 4 +- build-aux/m4/bitcoin_qt.m4 | 2 +- configure.ac | 16 ++++- .../gitian-descriptors/gitian-osx-signer.yml | 3 +- contrib/gitian-descriptors/gitian-osx.yml | 13 +++- .../macdeploy/Base.lproj/InfoPlist.strings | 1 - contrib/macdeploy/DS_Store | Bin 10244 -> 0 bytes contrib/macdeploy/background.png | Bin 48690 -> 0 bytes contrib/macdeploy/background.psd | Bin 982442 -> 0 bytes contrib/macdeploy/background.svg | 34 ++++++++++ contrib/macdeploy/background.tiff | Bin 202136 -> 0 bytes contrib/macdeploy/background@2x.png | Bin 138890 -> 0 bytes contrib/macdeploy/custom_dsstore.py | 60 ++++++++++++++++++ contrib/macdeploy/macdeployqtplus | 14 +++- depends/packages/native_biplist.mk | 15 +++++ depends/packages/native_ds_store.mk | 17 +++++ depends/packages/native_mac_alias.mk | 16 +++++ depends/packages/packages.mk | 4 +- doc/README_osx.txt | 5 +- libdashconsensus.pc.in | 2 +- share/qt/Info.plist.in | 2 +- share/qt/extract_strings_qt.py | 4 ++ share/setup.nsi.in | 6 +- src/Makefile.am | 3 +- src/Makefile.qt.include | 2 +- src/clientversion.h | 2 +- src/dash-cli.cpp | 8 ++- src/dash-tx-res.rc | 2 +- src/dash-tx.cpp | 6 +- src/dashd.cpp | 11 +++- src/init.cpp | 21 +++--- src/net.cpp | 2 +- src/qt/askpassphrasedialog.cpp | 8 ++- src/qt/bitcoingui.cpp | 14 ++-- src/qt/dash.cpp | 8 +-- src/qt/forms/debugwindow.ui | 2 +- src/qt/forms/helpmessagedialog.ui | 3 - src/qt/forms/intro.ui | 10 +-- src/qt/forms/optionsdialog.ui | 6 +- src/qt/intro.cpp | 10 ++- src/qt/optionsdialog.cpp | 5 ++ src/qt/res/dash-qt-res.rc | 4 +- src/qt/rpcconsole.cpp | 9 ++- src/qt/splashscreen.cpp | 24 ++++--- src/qt/utilitydialog.cpp | 12 ++-- src/test/util_tests.cpp | 21 +++++- src/timedata.cpp | 6 +- src/util.cpp | 11 ++++ src/util.h | 1 + src/utilstrencodings.cpp | 56 ++++++++-------- 51 files changed, 399 insertions(+), 126 deletions(-) delete mode 100644 contrib/macdeploy/Base.lproj/InfoPlist.strings delete mode 100644 contrib/macdeploy/DS_Store delete mode 100644 contrib/macdeploy/background.png delete mode 100644 contrib/macdeploy/background.psd create mode 100644 contrib/macdeploy/background.svg delete mode 100644 contrib/macdeploy/background.tiff delete mode 100644 contrib/macdeploy/background@2x.png create mode 100755 contrib/macdeploy/custom_dsstore.py create mode 100644 depends/packages/native_biplist.mk create mode 100644 depends/packages/native_ds_store.mk create mode 100644 depends/packages/native_mac_alias.mk diff --git a/Makefile.am b/Makefile.am index 4e5eeca3de..75c61179b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,7 @@ SUBDIRS = src .PHONY: deploy FORCE GZIP_ENV="-9n" +export PYTHONPATH if BUILD_BITCOIN_LIBS pkgconfigdir = $(libdir)/pkgconfig @@ -14,12 +15,18 @@ BITCOIN_QT_BIN=$(top_builddir)/src/qt/dash-qt$(EXEEXT) BITCOIN_CLI_BIN=$(top_builddir)/src/dash-cli$(EXEEXT) BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) +empty := +space := $(empty) $(empty) + OSX_APP=Dash-Qt.app -OSX_DMG=Dash-Core.dmg +OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME)) +OSX_DMG = $(OSX_VOLNAME).dmg +OSX_BACKGROUND_SVG=background.svg OSX_BACKGROUND_IMAGE=background.tiff +OSX_BACKGROUND_IMAGE_DPIS=36 72 +OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist -OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW @@ -34,9 +41,9 @@ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ $(top_srcdir)/doc/README_windows.txt -OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \ - $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \ - $(top_srcdir)/contrib/macdeploy/DS_Store \ +OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ + $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_SVG) \ + $(OSX_DSSTORE_GEN) \ $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh @@ -90,17 +97,20 @@ $(OSX_APP)/Contents/MacOS/Dash-Qt: $(BITCOIN_QT_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ -$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR) +$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(MKDIR_P) $(@D) - $(INSTALL_DATA) $< $@ + echo '{ CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@ OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ $(OSX_APP)/Contents/MacOS/Dash-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings +osx_volname: + echo $(OSX_VOLNAME) >$@ + if BUILD_DARWIN $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) - $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 + $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 -volname $(OSX_VOLNAME) deploydir: $(OSX_DMG) else @@ -114,13 +124,17 @@ $(APP_DIST_DIR)/Applications: $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt $(OSX_DMG): $(APP_DIST_EXTRAS) - $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Dash-Core" -no-pad -r -dir-mode 0755 -apple -o $@ dist + $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist -$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) +dpi%.$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_SVG) + sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d $* -p $* | $(IMAGEMAGICK_CONVERT) - $@ +OSX_BACKGROUND_IMAGE_DPIFILES := $(foreach dpi,$(OSX_BACKGROUND_IMAGE_DPIS),dpi$(dpi).$(OSX_BACKGROUND_IMAGE)) +$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIFILES) $(MKDIR_P) $(@D) - $(INSTALL) $< $@ -$(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store - $(INSTALL) $< $@ + $(TIFFCP) -c none $(OSX_BACKGROUND_IMAGE_DPIFILES) $@ + +$(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN) + $< "$@" "$(OSX_VOLNAME)" $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4 index 838fdd1f17..2aa493a6af 100644 --- a/build-aux/m4/bitcoin_find_bdb48.m4 +++ b/build-aux/m4/bitcoin_find_bdb48.m4 @@ -38,7 +38,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ done if test "x$bdbpath" = "xX"; then AC_MSG_RESULT([no]) - AC_MSG_ERROR([libdb_cxx headers missing, Dash Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) elif test "x$bdb48path" = "xX"; then BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ @@ -60,7 +60,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ ]) done if test "x$BDB_LIBS" = "x"; then - AC_MSG_ERROR([libdb_cxx missing, Dash Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) fi AC_SUBST(BDB_LIBS) ]) diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 index d690a1fade..bd79e57754 100644 --- a/build-aux/m4/bitcoin_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -220,7 +220,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ dnl enable qt support - AC_MSG_CHECKING(whether to build Dash Core GUI) + AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI) BITCOIN_QT_CHECK([ bitcoin_enable_qt=yes bitcoin_enable_qt_test=yes diff --git a/configure.ac b/configure.ac index 002d1842ce..49551faa55 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,9 @@ define(_CLIENT_VERSION_REVISION, 2) define(_CLIENT_VERSION_BUILD, 2) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2017) -AC_INIT([Dash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/dashpay/dash/issues],[dashcore]) +define(_COPYRIGHT_HOLDERS,[The %s developers]) +define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[Dash Core]) +AC_INIT([Dash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/dashpay/dash/issues],[dashcore],[https://dash.org/]) AC_CONFIG_SRCDIR([src/validation.cpp]) AC_CONFIG_HEADERS([src/config/dash-config.h]) AC_CONFIG_AUX_DIR([build-aux]) @@ -78,6 +80,8 @@ AC_PATH_PROG(HEXDUMP,hexdump) AC_PATH_TOOL(READELF, readelf) AC_PATH_TOOL(CPPFILT, c++filt) +AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files) + dnl pkg-config check. PKG_PROG_PKG_CONFIG @@ -348,6 +352,9 @@ case $host in AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool) AC_PATH_TOOL([OTOOL], [otool], otool) AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage) + AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert) + AC_PATH_PROGS([IMAGEMAGICK_CONVERT], [convert],convert) + AC_PATH_PROGS([TIFFCP], [tiffcp],tiffcp) dnl libtool will try to strip the static lib, which is a problem for dnl cross-builds because strip attempts to call a hard-coded ld, @@ -1035,12 +1042,19 @@ AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision]) AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release]) +AC_DEFINE(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS", [Copyright holder(s) before %s replacement]) +AC_DEFINE(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION", [Replacement for %s in copyright holders string]) +define(_COPYRIGHT_HOLDERS_FINAL, patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT_HOLDERS_SUBSTITUTION])) +AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)]) AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR) AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR) AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION) AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD) AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE) AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) +AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS") +AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION") +AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL") AC_SUBST(RELDFLAGS) AC_SUBST(HARDENED_CXXFLAGS) diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml index a68d31f10f..0e56702dd7 100644 --- a/contrib/gitian-descriptors/gitian-osx-signer.yml +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml @@ -32,6 +32,7 @@ script: | SIGNED=dash-osx-signed.dmg tar -xf ${UNSIGNED} + OSX_VOLNAME="$(cat osx_volname)" ./detached-sig-apply.sh ${UNSIGNED} signature/osx - ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Dash-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app + ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index 98fd814c3a..baac03ca14 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -6,21 +6,27 @@ suites: architectures: - "amd64" packages: +- "ca-certificates" - "curl" - "g++" - "git-core" - "pkg-config" - "autoconf" +- "librsvg2-bin" +- "libtiff-tools" - "libtool" - "automake" - "faketime" - "bsdmainutils" - "cmake" +- "imagemagick" - "libcap-dev" - "libz-dev" - "libbz2-dev" -- "ca-certificates" - "python" +- "python-dev" +- "python-setuptools" +- "fonts-tuffy" reference_datetime: "2017-01-01 00:00:00" remotes: - "url": "https://github.com/dashpay/dash.git" @@ -110,8 +116,11 @@ script: | make ${MAKEOPTS} make install-strip DESTDIR=${INSTALLPATH} + make osx_volname make deploydir + OSX_VOLNAME="$(cat osx_volname)" mkdir -p unsigned-app-${i} + cp osx_volname unsigned-app-${i}/ cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i} cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i} cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i} @@ -123,7 +132,7 @@ script: | popd make deploy - ${WRAP_DIR}/dmg dmg Dash-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg + ${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg cd installed find . -name "lib*.la" -delete diff --git a/contrib/macdeploy/Base.lproj/InfoPlist.strings b/contrib/macdeploy/Base.lproj/InfoPlist.strings deleted file mode 100644 index e14911ad16..0000000000 --- a/contrib/macdeploy/Base.lproj/InfoPlist.strings +++ /dev/null @@ -1 +0,0 @@ -{ CFBundleDisplayName = "Dash Core"; CFBundleName = "Dash Core"; } diff --git a/contrib/macdeploy/DS_Store b/contrib/macdeploy/DS_Store deleted file mode 100644 index db9d16f1d700f18b64edafa0f8d981a680567b4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 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 KMNUMnLSTZWI*(%j diff --git a/contrib/macdeploy/background.psd b/contrib/macdeploy/background.psd deleted file mode 100644 index fdc4f4ca4a07ea4c6082ee1357b6ec7e8db99d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982442 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

!)k`<*rLT67|!`(51D}=SCls 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

{o5I;6^)cSnzyyLxf*K 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 vRP!ZvkUdN1-_9EPCvT%FCr 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

9Y7qJ~d|*B=vPfnkY;$r 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

4XtY}z@xsiDk@#VR$SUSIbDrK7O9=ZX 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 E18DGLm;e9( diff --git a/contrib/macdeploy/background.svg b/contrib/macdeploy/background.svg new file mode 100644 index 0000000000..9c330af451 --- /dev/null +++ b/contrib/macdeploy/background.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + PACKAGE_NAME + + + + + diff --git a/contrib/macdeploy/background.tiff b/contrib/macdeploy/background.tiff deleted file mode 100644 index 4b44ac672e627be82bb9b74dac0016057b11c126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202136 zcmV({K+?ZWO#mtY0JLa;JRnc_AOZ~sghF9ZxMVgR4~Rr!Q8=VlEfkIrx&5jr?m==I<*F()uwhSg_gB6oKC0nSXHJs1*+F!w&^XNzhJQ3B$av1 zg0Fmt-RE@5Eqc&C1Mt=H^! zdtJWgcfH^6czYU+4HolLv~seSs|ODIF4TLdT#c8jZJxAJrnDKA(mJJ~?<+u)KnPO| z(!cFfSf;n>8j|L}C?jf*J&+n0r?D(s#SO!d>^%>}5e!8U#E%==wX{x?%+Eq_BaGm$ zEp$@gMX5vLrp9g}Qr0w1L+2U3&`Y4IJnD2~9V0Qit!{_O;F{ zaM{Z!yfErSvkb*C%#$q5GtCo9EgQ-TQiiA}@PgeG#;$YZu1Rv-i7w8vOkUfm@O<*K zK58R*9Luxx^ysxRoZk1o=yaz>$~269Jugx+Yd)yRBl4e7aH{s^Boh2JHB}W&RaMoM zZCzK%>l~opIBk_S(a8y14+g^$qy1e)>XZ8@*XeBqOh!<1jak@kYWFNOl!JRmuhw)a zH?XuVZwgo|>a$X*^95mX+?OrQbKMt9*FU}18mnxt?9!0<@JQl_=FXw z=K6D!YFab)nU}>{Y9*rKU=RUuWcx17v+WyB)XUHloAXFf=qkC6($KYWVJHhuERg0o z%Ea1Gm|N>)!3soAN^jD?3mwLqwYeebaa~Ep>-;^W^WhiF4R>n#<|l}-*#6hi^qntF z)AbR9SB=0AwfkjrSd)LcPRL&eP|$3C<$~y)dSfd=S+0AEculuBpIa8)pR4Ga(s!!M zoc0~gTYVQ(>-!$hwe8Hj28nw;*k>5rUUjy!-!)vVN!-f&97`tt zGn9zJSCnJJKMf)K#g)$LL6p;H+4Z&cRSeWq|%|g8GD-JG$m=|4GA=7x|u1!1gJJo&51tx+h{%}8u2PQ#ZU0NebTQ!sL0 zMu%rAt4zGFP=;1aDxkg>rCF}E3SGDPUrVY4e+da49(I7s%G!RH@$YL)MyH{!BQTVx`-SZ$@d&+udYkbvb@@{*{(FpMYb{-pYRd5|r0 zX4fSgMcZdguFOJG%R2~ODUPlc5`CRmGa_VMjE9(fAh;7*h1IL?B;2*KuXy^6mph$d znA_*3%NnIqIjfa$)G9U#8TGSb@prEtV7|>JE@TG@K@_@t%gq^EOsOG|@;-UbS?tMV zmo&<2nk%_Z>8MZkn^E7z{GY74hQ2x|Y*M1r#LTZA&rHT)667z@8BQmm3`s&=y;xut z=)mKKaf&he{Dsi}FY3vpz?4>a&zjF#Yg7r26{N42dXGM=yLn}A$uL%T?=Z%vHEp1- zsCnBS<|VBajb{!6uG)dk&8KUZm!0~)5#BwhoGEA!Nj+>;ds}W@&AIi9I+HFE^kN5V zS^4S z58>_G^nBeN|3%an(l(^%vHKdeX@it`@un?|8ct1IY?VkU{B$4y2ow$p1%pB0PxvSX z6$XVufH0UuPAL+JL|~BEv{pGChdJ=K5PN)EE)zj6Qtauq+Cs)Px8ZBM3Sx*#g z1B+E|*=@H}td?s*M$|aB-R<)@SOP!+eBam0?Xy)3%syQb+*EfP&DQo! zs-|it@~y7VE5FxX^L(B3c47gcyYC&I*KfJq?|1wZi;ZM$ZsSHv2#HNMiIid8=`3%Lg70pT59JY z&1#O@HYu!cMhIjhXLowJZ@pBEtQ3wpgs>MR!Mscx&U1kLk= z<2g=qqN@Bnp|j2@yC#hKSx@Js0|UQkqzwHo&*S|7KvS(6xGM_H2SicP^N7*3(i3Eb z6{TrdWkl!`4i+&YEIOw|3<-R~7$_KPS5Hku$4j8Hj9i{IYrKYrIE^cfOGm0SevhV! zQ#U6m&E0V=FEd4ysq8#{>L^uI;6}UdG`?V034h?_C_eiRg#X z#Kh%YIS^NB$tamefwra)Mi?#Y6B^#La<#^;zw+y`5VaK zlB3#FbupPTEjEtQpo79_&1Bj-7|$YMgnDxkp)-^ibaoT)FIZ3ozV7q#oaj7Mo=>r+n zip8AJBgx?luu|#t#tI6UmQvz5Oj}hn5LDXdKZ~MLg3wtDK)e_N^qFNH8eb(gSb@t|)Z>Fo zkOStp%fn`IE3B;CgQR)&3%n3Da8XNtV1y^&_5@LDSgx(3GPj5N;sM828x|tSSdIKa zUaQ?70zgL+g791mi7@HIY5ZAY0lrefSStlVNb`Vz4gwjvV45jDIYy*kk6Hxfv?m_{ zN9>0duq(SUwwf4UX&6P}v3+kD3L07Vl^rrucqQ|Fa+D}{ZgUo6m6QnXP+AX9o0%27 z3MN#&$df=`aRXl9^E(49@B{PF6BqgPa%cOnH3%G`x2NAZkSyz+^Uix9r>Jbs_93q2r0dOn@=%y(JvMHI^5mUTK9y0}CZ+kK_Cx*vR*WZoML)LT66U20^G^Qs4A85akpxIEyBbJglV=txQ_dGue@ z(QrV+S5v>7+f5&p`%B10;u%59uL-WeK*G0U(*&Hy!GUZog}SR=;oG-MpbcavL6Pp1 zSZwTZJ_^h@T?>J6G{HQ9m!0tk93zZz34typ$QVBHjF!;8e5?Q!U3eEH3^aLgJ?2Q} z;jN*c%ZZUNCO4o|3V}}y!A5+GhS1p?LWkD?zhUVDrr+X9TvxxGE6#&GHsQuWr_J1x z9_-VlM*9Y4LN<7hYPM0x6QQHYKL(CCg58nN&*=0G0latD`D%|NR8703N-#J3Zip1atvEv-gU7m<4$bgIonb z0E4q=iaOy@H3)D6Gzu>9o|3A_2pCa?7*aF|L4mo;xJZMW;)8+l6oOF}Az0m~(~~9O z$D;5^A5!iZz#9zN&xr7m8{k;M*$%w8G(cd3Jm6+9Xn}(CBPp_VlOYg22uuhYZn!H( zEcsrmN%B0BrLaI6DFCe1t+>f8cL}w>Z_)yoItvCvNCTS zYNWEe0IYe^GNd@eYc7Bj?w&jF#0)_gSo{vj4uOnBDM$@FE4x2)tcfBcvw)(ybEq^R zwm>`kh!jdHY)cB;w1u%%u2}mm)2qbDgSz313qTu-Qzwm*zn!RoIzUU65H369J&J@9 z5Tc0!1YRcl079x*!4RUVSYSM&D*})xf|6>gG299>s3ss`LgRc4%pnLGFoS>#0H_Nx zK!X)p>jls+0{Abg1U0eyj-%k%gyeNVl3W9;_BHXW8ClIS^8yLc7rxR+BpP}xjApGQ za>nEBvT7(kgSw77UmYa6?IJrHC|>Nkg}#*sYNOMM=BZ09&sElH)nNkhRgC*cuB&WjLsW1dP2&$T5Q;GD_A!>2Vdigb~Xhsx<9c$&Rlr+r1=({^8LoCX$9LKx~Wz5*iJD7t* z@Bu^wi_Lu45KHljqo)VF+bQ6IDex>!+;_?BkVJd4OASkNUzH8&464McYaR&>- zyh6RAyktr`Ym+2rh7e)A@H7DX%^Em=s5=URy#g^y6$xN*P)gr~%Ljsd#X+;*tr(*< z$V0E;wgSoV7W?1LJoOfk-iec6%?ySd!upO`S|^G=tilh-jL$L+5;%-8iAw-Jv*;uH zVan0mOsMA>v*exm83^RoO?24O9U>0Y*^6-y1yv<937J-lMKtKj0koS_OB@grQM`!HYG6^32D<=FH`MM(NT7%$@J|!Q0q`WA z!UGzamAMqkN9?Q@7=c059nIJ*P%+J_s=$RnR0T~2fw7EH1pzB;w}X2KiDH>S*jSh& z%z*V2%$TGEl~O<8JcGbICgMAwp{h~AB@SBC(QAszyu2n+FD%7b8Wk8!Sz=Wc8pABp z9I_fRd$ZIedLY5@vRxpv4I^8x>0t+L&MWeo;EVG&1 zb3-u6oXkB1x~9g2Yt+or(96^a7F~Xa^$xOo_gjdrI)16yGK!LTxT?*(v1K2(ti7u@umVgLD1Smp?7(HBQj2M#& zD{{D78VJzK;Rq2BDWE{hpt;!Pk1J}2gY~nyAehvsW?4Jf1I^VVomnPY8CA-BS-n

*Kq|T@T11BqOV@x!UoIE6Z0yw$_?AzF>(UQCaRHMNfH1H}~dTFl?t*ooTc zl2;wZgVm6a1+v=`n~TM?&Pas|h)=r2j||Q3uPV6Nx;K(Ak6XZXTh+>~gn^NGNCbQs znCksh_|LWdVF!qL2arUBKtvGjONbmHFul>yN~w*&zX!;CFD1?kK!aU1(BN3u6C2xw zdkTZVCf0#_a?j?HugG?&hWtrzgz z7?rSFGF?>@jTZ&@Uz3F-wTTFHVn#7nE9|?-GmR{X2PUB!)G%1n&5ei@{Du%X1AJ@` z`q)F7a^0|lv~-(e9t7kR2_xiMNZ!XHy9MCP`TsOjW~n7l@6w+l9F? zp?c!zyU8$t$=HF;L!gVraoW892v}@}z_Q;d1Lo}+iAhcr@lS*exJg!Wy9GI16N%4i z)<{*m7=pE;q+_f0I%iIg2tus4FibSAh6-H=(tPLdvRgA*q6*A_QV>Mf13_WYhkjF%3VJROOiq8_Zgjvp-upL~D z3&`K;s<{IC&r8&&Y{pr*09tONZcXKCKpH!1-uz~KY z{>h#1imaPSxPk7xc?z@DipWpDx#5s_02r3G241%W4tff1G~5-wBW0k93Cd|EcLz)u z2pvQlad2oferyPX!duXvR42WlgUirJ%LqAxlmJKCv~C!VOH{SoWyal(NNnRAnh_(k za7FPcfn>Nh9kSLfm7}-NN%43Y@rv$I8v2rI7tt1amF^6fX@*L|U+MF~!DkF-th8x{ zSfGkR6i6wZj?#0>!@CUwmRiA zoEU=E_9o+?0M{Mp5`cfbV@+>cPFx}>hFE29p8DfhiRU%Jp?KI5`|T$dSO^)uE_i{Q z05E|m4AANd?EX;*@KW@v1qQ2n0?;jj-ZlvcU-Y=2>!9os#3abT(Wp=P4H_D)PT{QYS2nYzRBuYhqn&a|Wmc z9GvRY`9I70nC~>HV5mSlHENK7zn^@EOjB7DHJ`D*z(B==STzG%9DqKTi{`QGFFOmQ zs+{bU?rS_sg52he>4$V-I776(lR!KIyD){67hP8bu*z1^{t$ba>>ScCGp05GIC z)lvkIfxw_MJjf2JGI4Eb*M^_8Z5R-HTbY9%S0h>(_C}xRHd-WtCedzNL#)hUy*F*{ zQ@)Z$^qvtdUmP8U6DJRGoxL^T4|DfV$4I|*ii<}vb3m8B6kgbY=1_we0g&?OlIFZr z(vYN9_se9z%m^&vI#qQ#XFmuvZwMGPgHSYq01tr$mKFbryT-HT(rt6j`FQ3@XytsE z_;uUMUM-ph2_+Ora|!uZmIxDi6(xv!kcpe%UjDg|ux^aMW|wN*_)u7Z!q6WNoGyw` zV1@@!h1gvP8UOnT4=?K}sxPYsX6yLqioB(gyA!d{GR%ko1ONbkz~In$8!8mDhCz(5 z@bpFz6N5kCpa2XOFBFbPW6`)o3I`UB$RpBN9EwL3iOHn$_#|>OF@MOV(+O;nFaeuO zrt^t}Y6Sv~&ZrQHG|rJfqsi$oN-R=sN2kc?G74mz1zUI5X|?+WhQ(vDS!~vOMW)qj zwp(q$2F=Aia~oYscYAZ@^v1qBuh6Dc7%zh@;c#JjeZ{kLPZV*(jD-PhlVIgUS#kzs zPn)l@Gs^u08!jRfX-8UcKBgw|)-$!t{e!1v1~F}OVtW2783qP#N1O4N1RulI>vj7b zoD8yBEepls=sebu2E`}(*y4!awJ%opS$*^mhf)WMRb}*8x@k022%y1SC@MnF8d{I1pad3e6fpV> z1;jzzNEk%U7#`xDCWKiQol$xWE5<=^To%4+vQ(ZRrFmdinUVPWAj1m!uK$)X`Iv(R zQdmbOuA#Czc}h`fwXrE7Xvt4s8y{u zGd4}iGI=(uGeQofDG=J#J4^FS;IS)U3c7d9bX^%n(bRn*NYYfA#N94*q7Wa`LLE6F zrWCUp$FeEISa_4QJ7jdDqD5FB)yzubTGmxc$`)3_HE_eMwMlhenw9#>(TU=KpbP@w zvVAqWi;JvJyAIH9?mN!|#MMj4G|cFtsj7&by+qVr_m6Ls<3iDDs!V*J2g!b4m&O&~ zwb2^tRc%`9Vy`sKnWDs-&5x=+kj$4t z&7WIJ9K@ieSM~XGXPOPlk$^x51w_*tzOk(9THd*?taSw;RtX3-Tp+Bq1F*;k3jIq5 zn5?OSiR@b{zG&{t@!VW*Nb7nAH{swlz_#m5>1CTIHxOcRP>JbP)quz{4Fussah+w! zJF4rk)`g^2yXITMK!CtA$)sl1!f2SMm)!`I+xHE}a!d+-8uF-fdN%!;N5SxW?c8EI z3ov1fO~?ZwFiI0TNmT_uJgWpd2AunG>*}Mmz={lV5GBl`zvYCHAdj^3&p3H`IzV9F z2QS!beaP%Y1&1v-Bl^a%wYR9M8UoRs>MYHnI&!H1Qo64x4ud{k*sjvPfe4p1UdG-C}Vm%@iG|5xN!DRGr9u=sw| zp;C&5vK~Z8nH3`BWQ~!`S`;U6I>0ElWMP%sddLKqhW+GL-NGDVxn z2BgZ$LF{3olm#^|`FXZPBQnhm!fm)u(Mer_}zS zR2qdClmn)G&oZLIDkCN&tpq1Bp_$R>*AHR+0h_S$e@(fAB`Hk2xv5xt???kI;zOcYSS!rY3j7VCR-_B zLi(|BNc%_Cw=t>Q<*0UE%vqZ?X6Ho}s??U6rkN)O0QaC zS2V3t{ge@r+sVdROB4(xrZ1XeTPnd9plsE!b7^eH8c$Ru?QfuQqP<&b-yS9nA4c^R zqebgWbBc8si+1wv*t*vr%O#bN)^hY-o7H;nWmBu?PF>jhcMGj7V1TwJ0kHY?QSPI& zh_0qLPf7niALaO`H*A($3u2mzouQ@)mXY0D7YM6$wV5p*xZrB*1F%!&YAiOu;U=L; zZ@vDNEcR>4*|SV4YF@54i#PO4}jxDdGdkD>tkkGwpT*o%55iP>7EI+)XJ&8cAKj6Z3LweDU>)#<3%h~{iVc~{6a`A zHMMS5!n#H`&KtpSGp&9na)m%%Z2z+MX3g2yn@`C*TAVWGrM>UvZl6dWk)mEa#kvyY z<@vp_u>LD$_Og9I?Zt96BAC}(4-4Rp7@XK{;oRAP`OLby%W^e=+n2&t?z$VG>U?X$ z8WQPGjmy7oy^P&;kAiTvfwH!L72@1qW#@Q3mNv|<+PN=RTAKu!Vp@>S`gN`11p8jM z{w}o)&fjZN$0ldK_qNH~Z9%RRQ@KXgp%i9|aSgZ3(AAL0H`>1Q9$Q!~&KASf&hO$Y z^Pu@BGT1!QhVUrV(ln-UBfL|Lb{@sp?_@XU9Rp+KiBHn?7OS9IYn|>{{o5yYD!0`y zD&;;Sp|OU6OZ_HHVjUZF>=a1AP8p5uV)Y+Uw-Fge35D0#4s;;pViyRI)yDHgW$oN>9fy^A4-wUgnPkVot2?JpzrB z?)~wzq^f2gOQ_@;{pEcq0QFwG{C}VI3~)wDi;g_7j{=rzjMOXs-Ntl*sgU7~69Efc z@U1GV&lb22=y~asd5;9H3moH5vfgOSrw`Kprj(^k1p}}G?aoU6PYAz|LjtRW$c~7+ zuZX3s+U=~w;HpR`&X&6`rYH>Zr;qmt5Q7LxB?OF;(1~oW&}9WLKGP01_OO=H>uCHY zvh)X*xNUg2j^^zM^4joT{OcyD$U6z|sR7Rn=t|Z_><8p{EP_LvC8pF?)#CN=WKlx4Qm*2-2GAP^h|z_ zv7W*1V${y8y3ETJ$pZrJ()UovtnYBHh)Tzfs}(H~5D8}xuv*J7^B~Cr+9H`6k*_3D zM(l53sp&}N2#*%4gCaxn_|#Emd$HXVk?jf(tmf%k z3^FqhZ`&a&2^dj&xQx9iY5N@z^p20r`|y(}jk_J~9V;<{xl(G_F*6quLnM;REY8ZI zP&E&WcImNICJ?yxDsLW6Ql2e->(b!paQZ1NfYGGi2}>G`as?-`B`FQZ1a1D4G06lD zZwxT}#gIlSQtv4(Z!glR7cv2@QkC0X(&&A`Yk5PESBVkQ7jAu+HUf#PP(`f{{{>)_VWQUlHU-}B#ezLtM8o> z=8Gm#$jeUv?k!H(l36D)ixV@B-ijSIs>rO*GLMPkv~vvbu*#k2cQtceJ=5NiEQGc1 zn8h#HhO6qeQ;87HM(s12XcP47E<%TQsf`juBKrx#!E*!&7kiye53DbU(^Z;qo!0S?W&GGW!5Omgy3a*peJ``_9 z2^kb~?KiWFEG{_U4y4)+%*iS9A*ClDvy`Zj=+2YA#wfnVEn@T3NGkI^Fb#(D!cJo< z(J;^m^R#+MkxZVj|0mMBNzs<-Eqd>B9Trbd4se%AFTR(|nBX#^lO+!a^m9*C_KK~f z*3wTWj(t8z4NJ{KLC)zut=jf;XGW8OCgkex5lUNba@RBtr3Xz!&!|Tg4@MHVKdmav z>QycdqO3l`CnG*ts7$R|Rpbx81Lw-7qxPSrgx zuSmiPM%4LP6_ZKO2<+{3K9Zd0(LDK#5`!=460hjcQfA%tQs$IHBb2hr)DWw*RTvSB z*zt)lXHPv;TFMJ?NYyhV&Kk;)DOa-l3v%ZMZy?PxkihlVLQG3ds#t;x0Nn^FOme+J zl-Uh-477)z5orrqRwH6k@auB|lBD-sls{ha6(bChT~cEg%cmSQaT*n9_QG163S(dN z>t$3uJQH~*32zGpvsDihT(X&A)l#FB4+0O%J8dk=>ztZ2>ZGuzN6TMeQimaP!l0^X z-!AO{)*T#hZ(Q^iwr{%zm1|}q4OsRkYt!LaD-6`~2{Kb{5isRU5K{4McS$x~ZEkfV zPC&wv_iU-XI&#-u6F#x=nLO_>`>tyYcEb`d?ym)}PAsK6Hgy$lpv;8*YIDfx>ZuTr zbwM^6aIYs;6CZI=;=}giU^Q$Z7Q1WrM>UnZYPL~5Yl}9^6z^8IX3EOy&!Co+Ep`?K zTDCw(LS)qxmsZzbV>CjWqFrMtG@~?C19T@86o_BS&u=aUz85ogwH0ZKA8B=lwlpw{ z5))Onc~F;W7b{s!?)ul!k2DlJZ8Fs_P1kf+Nqv&fc~8MK)Rhb9n3-_sX*bVu>e)1Q zIeXCX`v|91wJNWPM#WaGVRn0SaE^!)`mx1%|@B;Hq=V$JUOk^bRGhZmQu zfc04`kZ!qb%KjEjCCh($cVmKg7`M0$YnCB>xML)bD*6cRPM3#6ZzXe$M<^^!0#*-u zH`6Kf(1#Kqf3Yoq3IT4oF938|H*|M|cK=GxDAShzQg~B8crALEw@o!nTa$T+@)ZSl zK;AI5ixS;zRurYCVx?E;{a5iac^gxgc+M2oiS`Lb zRz--gKU1^`NH-9?k=JfH7gX0H64?=e(h*F_Ka;q)OXj9g3oVb?hW|H#IuhG@7;uF3 z{Jd63s}aE^EMJ*ZWlIsgmW|nXG${eq>0_urns=WMq;Zk(ok|!a&`MvM?q55%hSdjG zaFOQmkokj;#HqP^1d!y{(Ek@vlav=digZtlX`^Ns>1Q`ipLRC*vXeTPvL%VeARvG{ z;6Ml@77Yi4LSaz2WHucSh(uyhIHXoB7mP+@QMlxGJs*%mpYT8o9!CX}fMl|V{H9g_ z0Lx_Z7=+9K|B}n*@|lDhXEuURCXy&T#z``s(Wp~NenDH7Q=|0S6t;6gu*Pc?YCPVVRGr$Qv;&logF8uwYFVvm@JK+k7VTPqZo{pvnxu* zM=RF;euJ0K&G2|qt8a@NPo4d#l|Coy80o%Go07dhs9V;tIxkB~^t^Av@~Jd1VlKxs z>GQh1tBJZ*2s-UsH4m>)y5$KvZ}YOMrzw)kny?BiPOQ05lCuyoP_ul4wZIc#-p7&b zeILjY422=SF{Ea}L5Z6!5jzlcGZZXPJKY&O3FKC&Kym|4xToy0()C5q(+w-AYeJz8 zyU0UJ2r19=HuK5wRKXB6FiW8XII}_?zo!taEV4#(dxHQtQ@mj5M$0s@^#e)Ejb7G0u>9*;Ij$q5 zN)71v3n*@G2oyAa#~CjpLZ^J&)pYddBVHx1()hKq}@DW7#;9y-Bu~O}S>r*6K}4 zKz2Rt1lLR+2-z_$3g-Azlx59NzV^n2Fx<%1g{HnbR(pD|j{2y`O<1)BFGM+XStV!B zz1L>B5Ir}MPcLPahh0ikQol(W^$NN~w>>eRZcsDMpTT>}TG!(_2L-|KoG%RZJR6#O zc-q-(ahow|a#=uZ`HqfTfxVE>x(JgFK)Zj8-N zMa(3swj;EkD@j>1!)IFq8dR#3Zl$#{Sb&8hBL->ES~Vbun9)uQetOFx4MBL;)g&x< zi!(`Q!p6Xq({lH34c)IkBO@;#BrTkB9b`@Qs^=rRbAKhlmraPn7zwzTg%saV+*xhXd10d`B5sp3I&=;_5WB>Zuhhc>Wav@{Pq>JQ2A9p~^+3-Qr&utqbiMPP3L;4jc#ctmpc%0uQ!NmulB~?lx~7q1QgC@S zR&c;Iq^-*>3Zd1GvQ}13z>;$`GY@8qPDOhhCo2t$rtU<$Up8sfY>br>6GQ7S z8{*P)TvW~c##7N;>lJ3UR?gZe>3&HT{Y)Zt`oE&K&1dU6wLKN?!7ZAvXr%ogUv_G3 zv?{dHC;Tcfr=c{oW#a*8VrCyMCd&nu3;vxqu)Bj+_m(!B{T_NEw?0DQ)d=N3HPQXco=T z{FIlpPV`BeRPm){o@%X{;#Vvya4lpLbJs#4#w$q;@Z|ftlc~Kmo3myxA>%)X(I!{p z$%`&5VVw0!XIfl^WMN{qz8595*=TnROe{@-5~mjL4@(Gkq*wsIM$P9%I9Y8w20hF zRPyIbO7Nss{M%|>cs{HVEVY*j;YkiGVn?X;n+8QV%X$pMjwQt2WHq;Y4I0B;$$8TS zzjuohJCj{8w2%GAnQ}L2>_ek+rhOwt4`RT|0IvU40_`Hy>a$~!Lq zXW8tJUp0f-ys3RURRh1Xd>+S}TcE)j?H4=&)bg+;`(Hx<&@@(^s;HDc?99fO(fM+edCj1okQ8WH+3mF#Xn-n?lcB+`DFHh zPb9rZ=s`-7--i_Gt2orq3T8`wfeecF&vOE>EZ+*?!NkJxO(dvG%48##1BW)w#9sWV z{&jqFMj+^T=K9*15EOpr-pn_BIb-NvaVqPP-@p~0_4Na&(E_3!zhgCdb;Zj z`RG#1=~TY&{?02G0IAw_M3STK`j{yGn=Y#P2#Tu?UW||E;ER^}f(-(YFAVT3pvIQu zYZU~@Of^n&rbf8^%-+~e(EbjN->xF>jPUO7-wIB+atp%@kE%Fswxoyf@XRh;rnt?E z#?o#y=Y{Zki}GY~B<9TWw+XD-FuwfI7({SlZ3V(uub}5>;^nU?0SWl?N=FZEhDAu0 z@UX7XjUNEUScORV?W8nWj4Er;%?%NN;Yvb+BuLVwaPlQQy^WmhjpBaq(8F)?=`J3k zkv^)5Om%Kz=PXMHPK<5uxT}w%9D32Afz}Td=QW3VNF+zdy zdY6!#`wxQ;4!EH4Q5di8;q1h_OW0b4(m3xM3hR_ZaU4;@T#5`67&0W*QHGPT`0fX~ zA&!7o;{vcMCmZf`r10FiE=e2=VAD_z(<-7@afud4uJldpJ`p4}4}6D`Q0c>vCrUkk(j@wFA@#BnML08Qh_Mt1rW)aXX5r}5}hc8 zOAm2E;i3s4?O!5t%$9I$@Q@t=v8s=%?-`ALK~3u|tpxXygtU@IyzffhDV~!I_T6qX z5DmDRjH1yiGPCVL0xVYuh=T=i1pYCN7Hgj4O+5`wf?V-j+p$XUa_B=52!_ci7U}yl zE%z3WW`YLTwK8ur&GPW*PEE0YEc0Z3GSb-5MGudlkWQvyklQivmP*mogK_3`5xAR2 zhCwXgVv!#J&qmslH8&ABZgW2VvatjT)d!8?A*@Fi4gm+S7CBL#(#6>;tt5WU2{2N! zqz=6VY5fl|sUHrD9V&qf#O(NvYRo3q#U{rZiNLr5Z8kG!Kqf$15LWHY6iO2q$3q@v z6ZrH5no?-e)Qu4-1DOW&69z^2S&J-lkmECOc=vPj5o4)3&aTYNJ28yP?Ju@Lt+2av z65+;mAu&NhvFh`4pC^X8j&Vr?5yE&7!j;HB5wdpi&fhoC)Xz|l3bFqL@FPO$bcT?+ zwTmG@6a`A8gDgT^ys5D~GDAnLGMcbMGqbX-2Im)%6lNs5NK|UQO5R!rki$@;I0f-|}FWN;;K?!r9^pR9^WyC+J@Ra3zk<_V5)ma-feCkgayV3nS4C*iiM@EIb zw(#nV3RH=5;ElBgkxj5pPu9cqNOF-f&*~2rFmT=O2N5jLb8j*;eHpZGQ1FKO)EiV4btZ7dR5WcejZ<3?1k3NS125ohMbM z_G@)pCw%?WPeIe7Zw-84^>0$u0G!kDGfkIAa_T-3F6H!6(6C=QP=ewQ(=oNqZ;nRZ zRtnjMfiUs@=F_`1W}?DUydrh^U)H5Rvvkc;8f>;2=c7$0C6!K!=>sdJX7qTFP>{Zq z5c+5{F5VG~Je3th(7PmSU0EvsIToJZ4nBzP*=-ib zGzvvy(P2s`*i3WnGo(*AR#9ayz=TqLLe@!ejv_?VKueEVLzE{3;u&f-r*!u5bCc&U zEum$py23D-b8KN}P*r6X0F4uyH4UP*)HQb|zTCAI;?3IfbTeF#rf00hZilrUO(}8K zno$%+*3g=#DRXl56F*Gcc5-1{Dt88!_K=5I)i*lGcVv)lCbID{Y_%O4uss8G#UHLy zdyzRN#U(@*eIx7QVPXux?!|Q%{W#{sNKll_k;fA-#_kKgrnA=L7hYbL#dMXT_$r*U z^M_0|ErL+FRrUWA)zdp;%S)EWeO7@Lh+$q=mTb4=_}9aENksdXhLoreefHH@bw<6- zj{kIam8zSB(%DaO_fRO68tnriNdha(4ghk?fA>(+I6xsga^L|%yoE3*K5M7a#U%=Z^L^hn99oq%QS=(=&EOp){Cz zG!3UB_uE=nA9RnEl{syf6pVwfC5ma@hgl6M5o0PWT3^@)cT3k9a}AE{<(fEBtBCKK za%j@7hW>dId-z9rl`m+RWh9wLoHGVrB4?Ahks>)kHc)MEhOGKzxJh#1V2H-ssxtO6 zttIfOgyRRCjB5XL^87c$fCCgnRAn^=v7yiM`>O$>@}xg^p&BzV*7qrl=bu?OVT&p4E`!m1KFD=*NbZ>cUq$qJ6*^sgF1%F(GxfnFEFUnx6=8oH5hw!xsQ6p z=X;A1dtj7wQ=}6|cDlmZM}E1PAXj?LgK9FZ!uQ^M+ z6>w|=vAMOICLXN&^>@+VPv`f)+2^MaexqDXR(KCy2OYfo(-;|bJQPn`Rb9B)p;tUa zxHvhAyMLP-7iZ?1HriXG#VXAxklS0v{oGD4AK(d-+b_m2 z&{r`Ne;Z7nO{2roLWel#fSmKckn?$)wAWJYdDL~$Zgn`k?C2vs$|)sOg?U=pS;7sJ z`Mlk&M{jWvbyxduq?4&257|@Fm$TrB%h&Zw|wg zETvRue_e&hSqq}}u-kPa-`e>rd*gd6_H~xM%q2U~%S_-~+ugbwDSbOKs~A9Cr`T;r zu8{04yuCMLv)uIfg%??wJfCJPABzu>%IZ4n5XQ0BioxFI=Ed{qvy*wArrky^ZHKz zPrl-vfz#HVNikc1@? z*BVQ3)oE=r2;6hs-W)BROG%?#qk2Eb?c7TISJV5F_3piOVjJoD+zW#{{p;QEs@hl} z00q1BAuE02vfIHxQ3UB5>&p8Y3T+ z$3S2(6TWF3n@#5vnbhuiJ)ckL6c|LlPacfGqcBMvZjTtE(5Eo^JrWR`i{zQG=p*{xA}ybeWNf?O-rsC9zzYMWfI(cA_G(;}^3Xf#Y! zLZu{>(`mFURkFL1t5z-d>|GA?V}?O*n98`MZTdJ01aS^JnH&3^pzvdu0qrVB&>vj7bp1#%xRh8`fR*NNu$#bOW z`8&+kdq)n=}&#P*{tv%c^_ zYEwAPIW9_Yvp$UL#*)D=(r)fFYvP*6z_7F)lQ3`EjF!8w)7ZbjFw9c1!)>%`okVYJ zP@b$&e0>``@8cZ8H4WT3AE}9A%Ob!{>S6*qZ~Ut(O7g?ph%K^&X(q?A%D&&f&%B)l zzmQ^A9Idibs>(gl(}gdykpvGU%dATt{4LGIpD{`JPeK25D8p%z9#(rnat=rD=5YNl!%f`}1xy*v^`*F1J&|U7`*Ji1O2w z)Qen9&f89`TgxtgJndPmAxi5z1X|SG7n5(7H_1uIy$d_xy}u%Zc-%LR{32Cm+uLTN zGI2R27pXMJWFv{A=JGtT2UboTVXlO%MgK$5&^ta7l*43yGF+?XR3vmDe&*NmoC-hTDoP1dIP?z^kzr0@ z?jr-v{Tj)lD2tWxy+>S+%_6*BZuSEz!|4E=qoX7a=_Q*O7Q@p5drq)g2`@8byPB#B zgpHL_zY}ujjT4z{kC|?n^!j_+y2v2U80tKzfe>7xTxU(a1}SDw5Ke1SdoL`ow&fcJ zpkcdRFv=FglZf4wb8mJkfmWhOuI!N`b55(p_?Pw$WMJ~hKdw~1qfw6>LY#9az`8pM z81Mz7)H5}&k!w44y$RgY+g!w<87=fb8q`#8VdlxiH0C7CrZb*y$Av zq-#w^0zMbuVcYPJr^Q#3&evM`)sip416<$^@LF;;jsa zRAnQ=`fPyTga>U)9X>QCeAAU{8H~*2^Cky)gq~|4Z0iCt7NHYVM2%A~!Zxb~im*$L z9Vw;oh0CJU*F@W0OG1+o&KekZPEs1VENWftGq}X<8-aA1sgAK6`VM8OtY56v;uKeP zOw(nOO=WGBJycSmNNF95T=3C_KACMy8FhVZH5{rn2n!79f*G%M)-N1(rCwK+Y+e?6 zLaXQ3TA75loD#_{9mio#En0s?m3FIJaT;|)eY+0U^)Fe8s;XM87M~1u;!pcC2IM^4 zl5lS&am7yot2d3NTk|vk=GqxDlc_>@XmjB?O?80Duevyyr26V;u8H=${%OX{m^5GL5J$ z5mwNshiT-l37~9y3t4C*7ifv7FA&*uR_onsDV{of?|LxaTsni|UO6^47C}asNs%Cx z@M!S<`euBKP^JZ}HZYQn&vPL%7;J$zPtF`&8c8It6os5qeuq5OBc9l`=*AAcb4qL@ zhL%jn%9#f2T>OiO#C5mC$7m7haapE7s1*Xy`xuxj+J!U~UQODDg~gM)&*}CI(g-_5 zGnq?)8nK~$_g3vR_MqDr8(7VicF^l<2K+E-D5G}PK3uiNliXx!A-BNkJbcl#bTRh5 zl60--BYSY)nfSr^da_U2OHwjb|7{Y-F;Iv={b}W3Zq%^@vaL;mmA3AY`1X&Ky=8K# zJH)K4bgOAW9i>mMn*yR|g9C06k@p%gbobw6uZ9?U^=|TArs36X>TYItJ|1e6?}16xIvD|$Gp1ky1we@v&$RrF0hQHix|979k}s5+jwCV6Od+=UZ;Cx?(e!9>{1zAKTaQY zBo0C9n-hGWJFkIpn%ZFe+njTXe0Vbo08>3qYjqjLaXJ^5)zDRZw(ldJC)OM6lotBt zxJ@QHdLqfL`(m8zAw#M^vFr|+yIMzOw+dlbR);6Etx)UqZP;&1tB2(1Uf-?C{}`Y3 z$%}Y1yDUD>jFqU3_g4+R#9MM~&)wj+bk0kntS0pQ4x9FR$EIB`XDoB9y zwOM#MoBE{+pa@&fJo}rT6TLJW^{QLwMgTfkklIkRXIC)u=`RV z8bc&|>nkI) zE4*>fnA1kVY!t0@1QD^38adLdco9i&CIEHyA% z@I`zgM7ck$qp!g^ktMoXr{eCWV<0`dK*H0(zG@IfxTutyp+HP3E8@gD+r_YAel*~Y3a zBD8s@t9(GyxI=RIwuEjPO4vgRzsS6Fx&zTFaTB0(;YngzDU)nQ0vtrKW=Yd26H*wJ z;<-hkdOjO9H@Y__?4U_0&&bP*IYfd$JHaWqgGh)(giu7O7)Q&vDoe~iDtlN9E7i)Z zoxS9P7i0=B?3g10R71J$z<9mBWGzQ}lcm9ixQMu4bP?P{KSQGu1UyU(Bt!kEXlhG(H#j>3we^diyyH<+_TR zwHW4_yf@M621a`6qWQc})C0_0$VZWE&MVW?IR8`hFG|C!ym|t?>xf2WGd-0@(FAW# zokx?jaUifQRM=ot?L1WY6V(VyguqMzAQ6EfA14`Wt)wZK!=O+D`pZ>3#Dw=3yge=p zJSdbgJq;MbIp@Tz|2SiKR1=dH!Um`E>q9&>9l3?g1ZB3dHAI}NHDfAKGUpH#JJkG& z$h1~4!TKa|@>E1lK^$gO93vERPr1|7S35;Pafnt8E)lUsG`!@nEPByTt0O7Z zT0wme!fcV9>t)s@cS^K>x}6Nu;orc#cCc-1*eztgGi}!KVobV7O~DUSd$}xZzBhT< ztfhWMf$PS?S7@!4V-@oe0@!7e3pv&0UPseOlKVr$btPtep}+@#xDEzp=HD&Gg=z1e4YDT~>)# z+$G7VC0g8szg+8lt{TwE{Tc|U4_(N9UEQzU=l~nwEUJh^vh||8!cNSDI;(8bSE64l zt(z<}vQ6;8%GFg&^!vEYj1wiDK@4|U*yLI(CRdzm8N}PmgToLrb)A{S+;!hC!R*%) z%~RpYRcR|mLv_&8InfnZN9pE7?ekC-@mPw;+3f6$t@>5^wOt)vkkNtxFnZv9_TBI$ z0!SqUxJ-n-%i2YD9})Cajq$=|)-(nWNp-l*YN0Ib{#<3sygUBCrSM#>Cql*L!h+x4 zEP&J{3*o(TLfSFlIG^8S2ExF~#LSx|?FCugsb8&;*6iy(5wo;mQC+-BOm#^>jv8E+ z0!?wm)?^YjOYvCsRnVm}3%6NuLrk^L zFwthT_8dDM&>sdf(?QJ31Cb%EhQhfO*xb_+CGFh1u9V9R(xt^@q+i@y{W8`K*k&Li zQf;Eqim*f^Qt@e|O8vK@;9*PL6}17{Q*1^Icuo>0%@mH)5kxNz8#Fv?-F-OKlcn0m zT!_{*fj%{drZ(Sb3+6~=W?S%N)LBUV!y(~DU|EA()2cAy?9{3VWMhtErL``>2~8ce zstvPdi?>!RIV849sWMPy^;aUj_(%wheMeiQ*ONcj%WxGGJ5Q=g;pw_Q;hOY_{p#iqOEh~ z(DUnGf_cSc1SdL_rsmoQ`w!>aAIksk~P<#nw`z6)>s@1+9 zE-C_SE5d7`siD?%o#4D{GICaF_teeOVRk`JG|K5~0_$BlO+*tTV{vA)VnjwpF9wK> zZBXmZV{6^718(jErtfSF;%Do0re-Zq`|Zy?4r!)8xTe7tE&V>$&1!biyXeB`lwIy3 zjMlblTop`RJoZ^Ogtwk^B8+}ilxeJt&z25)Xnk@G&Wpe*>2E|~zZJ-!URs*eK*+Y= zMC2LMp7qTtx#ZnsrY3GE)#&9?9ytY)KmoMY{wCwC@`x5R;C2XZ)olT%95l#QTD$h( zE{0O3@X!s7KjZsnT>ZRFi(RFCM{JEU?Y>|WijzM9zci+A-3#)L=HGVSaKw2;{{^w@ z`;gu1W56SYPqd^zORHyk5LUg23j0?q@qZqg~N0w9rn+jJ`=Z zR6^X>4kB&h_u^#r#{SY)Knp)%U;K9{1W#}tn6^d}?Uo_s|3c4{%wGa!6ohlowo`B| zxz5(X)VgX_ZnGhdLNTtJath>SKWB-=xhju$xx|Jem?^$9SzR88V%bj;4%yr9o-AGkL(0b- zRr@L(sC%{qQ>iu7HaWRpr*hg;?*Woblj6M&x63!Ab3M!@O{h;^hVd!X$2TX5z_T0>|c>re-bbIt|b+p_#B<- zMCi_!o!sZ!;QC*E*3HjFm=i{-#6NrQ;I0Sof;5;$h9CL|cl%N8AO2F20bl+I0*(X{ zf&d`Uctj=@3x+@7@ZbOj9T0{^VQ=`r1`PiI$6+yuq*^N!heo0C$lQum4FE+WQ7J68 zLo1O)BTx{SE?KnyOvbm4SPVD#@ls@I1mEGzT3q~&+TZ>q1wTuRnV~(U_tl7-;hC4XO z*k(ITR+k-;q|0*_D^$+&Ot@e2-2HtwWmdM>bao4LN?)#{&?1RH0x!kW@B~XYWwJ?I!+t}n!m4n4$wjBJF@vD zO@oUCxsUq-`!;S%Afh>Nv_PLTZL99+!7W5c)x#;Xc=<128v1v%jWizov{3tp2)vDh zZwf=OVs!?>4DyQ@KTq0t?KBNjF(t!{+AkuwvNLlY!b+2oBg>M*I{PN;q*}@=6C*<{ zC~z8U10!y_$1x`A9Kg;_Y_x|TKg+Y?C|1iR{ zOXl4&@btqXx3kgQDu9UjG2F2h+{N|P-* z*TyvjFEubwjNt?+lbpvjJ+Y$wILR*MH&;MWJqo-x$nBF}TB{;+KU+~s>ts`krEa`9 zj7nJq+j8uL`CPSa)f={w(@w=zu#=T5Tk~Y!9n_R8#d}BZ<=uPAkJVyF;aFYP#t@iz zxro@(+H&4bcia&r*tdn}j8Bl=!BxkO7AWFgZQM0}IM1t$qb3)7sHC>^#Y>q%d4w%p z;JL&31m_kGD4xjk!+j^j3RHDHXO)c2RC?2Rbj=kI%iS>djPcbUjI z^(9=gdL@A8N3g_l!t9y^M;GNd+~cQGZT>-LXgjr4p-OvVb+PR(V+p}!m1ZX8-CLz` zop0BcjYqKidKHD?m}-O!^F;SJ6!Y08E`@Pi9Qm!puG*{9M;VT}v*2?_5xq7oPLB-0 zt!~RVy1g=$Q${-U9ehHxhber)QQ~5#ZCzs%;4!tU@ya+=tbONd3+0>O^fmWk9cG-u z#m6%C-LgAmjJUM%H` zp(O5R4mu4{riH8-_ui8mW71_w3F1EzR3pT53K9Z6@DiX=2*o@l0x+F6HACR}O_}t5 z>zTa4H(Ku4;i6^F@q49pUceBWkYftDP;D$8!1I zbUaoN#FaG>+>MTDhE#DO*fKam?c#fOF>t+ZLZZN6)*~^91Tna*_5BdeqyUbk1~f2e z9${jUad@vCr?<$(3Q0U?N$~*PE3{C=*X%}!a6O9^)2gJM^U02jr4z|>?83x^ABfhi<72w}~39&U?vmm-)m1Oz!$X(O(km8LXAzGojZE_KUccqi>tqV+S_lOny;Zj@Vd6t@@LB{b z$+;4Ua|#jCbVy0^4jU-obfeCK7SIIEG#^}5VALX2zu3}T*F-C&PnnZa_KxV^D)ny* zW_~Zo*)u4axh2iU2QH z*%UUxTaeMKG)om)Qxu6qs}p(^4jD|cK@s<~h4#@%17L4x@?I8aDT>6dH=F&woj|k4 zCX`C_TO(4oLa23FebVbhwCF9hT$OfNYm4RS6RB2?qYuQ|vbsw~vRil7>g%%F271H0 zspvHPEmoGxES_>HI&CE~NxiLW;yhdY%SUmwbaAlIAP5HncV@K|{ijo_wVq{mc|Sb= znZxaNejeT)CdX^`eJ4DgPHQ&ZIO&=!s6S7tFr^_+Tnf~*?=r&lz7PBg*f>j+83nrV z3$*J#>obDpJj!$|hd0o~KFTQRQwF}05Lz+_Mg?qS5ypu-^9#9f(-_pR5OfU`v{CdJ zmoafW$l5{e6UPoLtb~@@w{K)h-^ol;R~yGFds?GNP!z2kI;#{2`X^4BY@N%n^fbFd zt>h-=!*fgAkts-9%Qwe>1G?{>&kDTR$??RF4g~lQk06L{xPj2tCR3 zJqb%N?1w?WQM~N4Gjg25jwE!$wr)db0UeYkcU`RaBEOyfid(l{=&WOuaE_Qy;;L=1VQ#))^ zaVK2p-7j6lQ+9P=UoiF#*jyH#>$#Ljz0$ST-@)nC9NTxzvYpk*$2v^Gu3|bJdC}z()8ScBv=&KQGra_|n&WO)EimZV z5=DyaOvb{taBb9x`#2k8O_gt#moJ%b+U5>MdIX=P0*-#D+w1goF1NnM*v0I(T^Sb% zL+k$aHMe~Eo(RWEofXTUd07vGrb)d<)9+w?rjq>4Jv5NrSnamh=BLl!+&on1{1CKj{n|j2W=4%5<>-G#!@q5f6nyR ztJa49VWIeos74U0!kro5EHy;%mPJ68`43r=*p6*i=r1kg4WCR|O>8 ztc6Sy3Am7Rt?s#+`)1u)knpp~$( z128HEP9(B@h>sGEEXAb;=d-Rp=CWe4Iue!Vlro}+y_94KI^9#i zhw(9O#v)vpqk}+d4M$yBCMy^l3F^E9 zD+GUpbAZFb*uftV1MqKft<=7n$wDWaPpXxn`k9z9d89F7GJ0GNUX#C>@E)=j7~Om;@o1q!o1n+~s|)3O3Hc%M78N+Js-G zhNiK03ohtvTSYYiAE;^o#3=e>ck>RmJ_K}zTn(IabBU%Dw9tqv%bSu3ZEsoN05vXv zS-L~c>Jgx+b>4uBr^S-pR5F^KtNHtu7L3!%H`I<4In-^e=(}FK1xlL@x0Q72axyZf zY#Mr(ff3dT+9S~6n1#V)7kIce8<~HvCCh(PcJki`Z$=!28n@0SO-1&_crBwuoT}CU zNr$&T<@ODh3-Oy;c219H<{@UYea&Ko%WGF+5KKt!w!^!>a-q?smhrz9Dci$&@dO#O z6`Ytb;bD=+zDWW3EFfgib`JsLUc<8*CC8V?fF+(fJdWyhIucQP(}pa|8F;QCOc7L` zb!%C&sgQm=SFp(C~mngfq;%l`tz0=gHW(Q|rT-A?;$}>k%>twrVUM66OFwW&U8ojhz?PU6n zC!3e^XU+zmWoy)?u043lwRJH}dA|B*-1Ab^f?Hb@md2rcVXe}wD5!N#vFvCSH=zUL zqt+^^CEh1Gls{&tIQ?<1w0(|X(v{o zeM>U&Lw1=KR>vmt+r2YJ`pw+I-&z;s(hr{=pRRwF?_G7aZWjlsRJS^FTkFrxG)7t2 z|C}CH@wqIrasQ^*)SOCC?Aqai(wWO5+cx>g4A95$zfWwGMHs ze^tcaxK8)>?q6kR=?;@jS*aV!R9i*kJ!JH-TvfNaVP7^qFBG8qYppA*r{w&{G_U2K znEDkmz;tcX_2lQAH@(kG1Z2kNJdc;L@W*DB`f4tUqc5cKb~Lxn7&XkwO) zaPnlH_-!;@1^$uj*pn{KbgB6351Mu`CiR14%1S`ZX-JiWEUISC`0LP= zYXK9cccS|5$vp`Wa$)wO%fp{B7xk|Zl4K^7DJ^l^AK$ik!Hl{2>2s| z7EyBMN<9cjWjrQJ4~!oqsoNh){MQaA1+lW5vPiRVu8uCYq0WmFa~N6;AkwGb2V~0> zj-DzK&UjGUA}Vf}P6rfAhc>YKvxy|+CK4#D%`Hy;wGCAt5`7p3-2D#oDU>u|(_(l{ zPX1C4Jth!y&v@^m%?Psmsl*3Ivw+{q*F0teHNvct!P*_MwDOCYLbL-RjgV&SF-iwW zpsMEA$pboW=QC+uU@ip6Q#`;+`AQRprD91lDepb+{=%{l@-w4CB!NP6{~oiQGPDN) zt=~68MAgsQ}X`z0(|cWkBEZ6y9`fOh-jd)l!F397J;{`b~#Xh|@^ZR62EP z*%PFXbpX~&Yf|x`G4ljh5~}rQ?qs!z8#JuPbRQ0mer}5Bfv5OTqtzj&Qz(zEQdKQ1 z&mepSvrR*-Pm%IoN%;kf6;DnfPBqSbPPW@{Lo84ARx-*u6$>FK$hA`B&r=ql%?9=K zvMO;~NiT@6a9}vK6BBIA%CxB~$Hbpd(>YOVU5r~fQ;|$_f}k|3UnYRdaLTX)(xSqYcpW6@0;2jgF-drlJCxQ*JaRM3+$iCmHQWc8Oo z&qX|SwGx!v>BnnW^AjeLYA#Y!W6IizQ=3*z<0m$?AWnN41uAji2}v}SXt6I0tIap{ zaO1Q@YqcQ(_M+WR-l0?Yq7KlPuwI#NRYWz$y;eD1#l1SQaUqUH5^S#t6};uIR&L1BSvuQKQ0MB~lhz$Zv6;i0}0`zos zb?l&#scrDgH;~%+bUQyyXHS!xQ%}0yHbUV{+9f3SY?Xw~H$8F*7G>#mM$FJM79Top zZ9k*bqxU4~s?`q_k6g4~*|Z-kFY{;9UiY$FWYj%z_ZevumZuUqCiaSUPvJeaCr8&4 zDA(ObH@2{C2I&%GV(i^9rJDAue@l00&6S$g3VPT!uTGYUBp2aO@&8ts6vivrfvOK; zti;3EE=3>+arcdaHDd?!{LN9pd6+d-Hq@|JMEI{8b<-bUE9~iamuE^*M3YqNH~h=D z^LYeG40FSN^eBKsG|&|m?3fD#we-JEjG(E~i1=4m*7BwI)>KB#b}a&Ur<-B6jO_;| zvK3{8uLmfs$jjvc7^R?KQ{9EjaV(4pFp-%q2kT~S!euhz?{Su|m033l9Q5z*)z%Aa zsnHBKb8*V=hje6LPFA)flWMIn}4rb&4XaM0IVZ52GW zKV)yKHMZ-9#>a~nIN(;FVO9rA>Nc42TQN_xCv|#t_v(v{TZu~Qvd^iLvyW&jPghsC z`(ja*3}aq!zG9gK*0!Zl!((50B|Bp{_V3Ek?+-_Ktvk3p9iiD@=x9yZ2*+)XZ}P8h z$^Qz}+f=P`s(5hLSH4%|xW5BzwK7F{Gv`IqG?_L4_|wvkYe8mY>ph5^(b2~evu^SE zI=!VXbrwO_!aKuz`6|g;)0*eEN}UYJZ~_-(F0^g;*;C6H>m^y(CwJ ze;7}11FIFG*)Nyd3%PQvxd^Emp5bVLm`are8Sxu#^$D(nNpy*w^u>Xa^FQt=xyebI zX#_oP19&#T+WS67`DGl5Ht6oRcMWtnQ5Za$tlA^+!XgPw~{xl3USnsJv=k{ zcR@EfT8qb5bPcrvZq)Mk%U zbahJ>`LOsLm+fQG>}^P$drLWqYH~X~-TlCpzo9(GD}AR|G3^$4#oP8l!P@go*Kf7F zgD!nH&1^xnIr-pk!YDkdP7}kK3el!Fyrar ze{4*Z5QpIE(`UG2qhwL5caF7o^7lS32$}c_ptJNlNEgATAdZ zT}Z&)=^)Xk(Y@YzWr2P;*I&pnF%s$98X~Z%Lr{!4)L4Z?q=&5j3kYSS$%L0GYtIU% zH=r5yH0k5bxy8f}d_Z=yN}bTo-ovYoIv}_^Y<^EnmX%^W8#wa9iRzHX8%>iHvY5S} zEp|1zTfM+nYrcNx^G_?cyTxOg?zyB*OWkc)eR!h(K=ItG;%@ZIJqYQvQ`>KK*)QPl z9n%EY+od!$h8#iV{nv=stWuv}t#4J1U47@?(*{!isyi=}lRrgt7s}b;hPvN+JXGtI zex;XZ{1RF5or&c6za&43`m}4y{^RsnKdlx>i)aV8_ib}Lw`B~hAOH{u0sj90LE#XX zR4y3=gh60%=!`xa6^6l~kvMc73kZ!y;?fxe5(_9Z4rzZ)D`!D|FqqX01Yv<8)g4Rm%;SqBnYXwuxf&^KPtjvz&MXuB(_0} z1D>bCPMi$ILyJq0!ZHZ!Mv*dTnq=>_ubRAtH0vxx`aCPk_|m?x@_`jO%`#T*M2^zs z1;ejX*66SCYyAg8jN}U&Ln;iG&Zw}&OA*Fx3YQu{=v#UMH|Jz-=rOBAV#-A>ivoy1 z@%z0lLb9A1hQ-S2SkTRIs}nUw>tk4!NQ{h5%gF0mg(tPnI&`DN6RRsMPx4F$6hrNl z_a3i`B&#euaU9=7v(&1+5JRi{kw()MMOPKha9qDvLo_qglv0tbA1zB2oh4m0QB1)t z%272K-O4Y@=}1D9eD6}uPBk>`CyN|h$4gO^jK4f{jb7O76G*_#OpubjB zjO}Aoi3M?N%=SGtkjzsf-z?rzRqJc940VGYSgUnluwArtc=NINMZDa)RRuX(!)tB$ zwJH+L#f)LC-OT6UR>mCizG+pv9k_S&BYt~-u3GR?nEB?YP4M6%@fPi0MXP>aWNf@XNwT`Tl@G1$Zd;<$ z>bIQVD@$AElUTggZrvH}7977lHJlR`{qWf4L5fQKDv3GOHB@YkK%b>1t&CdGW(L)XM#4d??*j^WY7 zc&Ndk`80d*WQibnK#LZpE)iG+(&RipNDpR6m)KtK-y1eN5fLq|xZfdR8cv7? z;ZC}V8e!l=0f`LRMV2T`gwkvumJ*g4$mUlP-ZJM@Od!)c6%i{7>Fd&A7B~1g;hHt#{z80`?Oq3K=N=i4)m;PfWq_J=c{obSbTL4O1vnDQbIm(a- z0b}96b_gmdqy$c_<>cvlq^-Qp_~3hC+ekx9x;QX5p2^chnO-vTRLlrT8qq6bpb*YU z%t+`~V;V)G@1l+?x;|QEYxbhC6qwU*3|IMjM)MC2P;hlXA-$=UrL5`^q^M>ac16A?U9 z8NgLD3Qx|4eButO7p%{wqf=%iklEynpzwyY&Bsp`o>Pq{ajLjUDwebvlf9#}A+s{+ zF3KyFY?k%yxz?)s;+i9-Q?z0JygL%vmTHQ1H88xOry~>{bgi+* z2s-O6X`@jBr4iBHx!V(L7Cc*X@pVmEn-6QCRS!RBGO653%NuMRQL=?XbrNgQ}6fY%#ad-lYJWKsSAl$&MSB-hP z%redGp~G<44!}VxcYtuTfvEI?uo6p^U1ns8r;~x89($=+$78UoclM&poKcF@Rv}j? zDSFo_6E){7O2_ib@M6d==pV{aa``qo$0@&Ko-B!-rp~%ax&&q6mKvL~%1+Sp<0>mT zg|+Lo1f;w@GMG}zvI|PbC%buvBNkT5ltCQiN|#n;?o(UQ4jexW&p=h{c0JWzfwb!L zU2fihW3N?A-m4*rUSIPoe^i=ORb7hs)t5J)2A|ZSeuDCa_Soei8ImkW$aTdtedfDN-l8M zHe!ZknZ)N>n%332>9${7%c~3C<#vxLg6%htXy?RV-I60&=$Q>?qRub8Hd3Z%8Wok@ zuJy507l3dVG_fvPMX!hJIuNJ{j}h7Twsdt5awuwLO+EjDlVsI-GGQoxZtBA(W3(Ft=D;KWrY|u$uw;G5={{Ju(l|0~F$>?~VV z{Jd?mVM}z07UDiB>r30ufKlZ2?dqG!*Vpfzx~1atrwetvi~q0sb2|bLC^3~STPZD) zB{<7Nl=DHpYf?WF6rw@M8=BU#JDxk6-<{*tu_NiDVk;?{ceSZdru++(!&R6fIUq}S z7@8xngVd++t}cT+uv_0DIxf6(JTR$PD2sv~L7le~TP+c`Gpg?pyWX}#c&{qFrW6yk zQCPo3D8ajkJVPCgvah}a;Jn)XxeEs|X~MtRX%o`gx?AqT(f2&l?<{LW!RzI~($f*k zJiKD9G=sIffz&;;1i=8@A^Fs&)9S-B@WL6$p)(n|{3RDV+&E+qv9nFA>;<{{cNl6K zCHdsAnr^jYi!gLJG$TEnI(#u{4=3Zr!DKNuN&hX>DlXG}3^V|-VDvbw2a6#w2Uy?- z@P9m;V8rQ!vO!G0JOK%NvA&6oEGp(Xo9wEo<+Z!yL}5+7DK4_AwaJ5UK#uBLsT`!!jPz8ueououj>)XEO(ZRFGfrwM3S^3YgU`^b%}8YKa7=0 zxst{5gOvk*qO2c4>m$sB148V@p)01bJf9pSsF&%e%zQ{50hCDu%pkI|zcfCK8|}%1 zGqM?t#PPSxau+wDGs`hMMRYsCsbI%pUN}@PGmEbui!@DAsTe!0%#@|ALh?x@ORgdH zMw_(CEWAV$D7{f%%Z+ zc*Cs%yexFb1qY%*k98h=#y(16tslG%Zsqa{QFXy~gM_DI4RFb5?yU9% zT7p$79#kxwC8Y?BB$; z*Nz*vP3g6go%a^ru1&bx!TwpJQ+b!Vbzu`|~sPYkU zX}tv?ASDk;I%eKu8lH|0$tvc$gIu2ByDT;&i=P;pq-$;hdDY=YTYqa-4la_+ZQHh9koiK*4Dvb||PP!q>=m(yN6rJwF ziDcVd&LVspHS-=5+MgEIBOOQ*sBYM9f-w32n zCj~v79Vvd4Bc&CL;duD&mc+znm6_4kbu`Ld&6xbzk&dnBD2PR!qD-H%Pj*zpDaw ztR*@RtUh8)f7N*fZQ|SSTT1kwBoBV0Xo?FziKV5(60&{I5h1P+c$61OoWyVfVPJJG zO_N)^9;^8~5abmM7Pc>7SD2r9NvRQPdmKxf>&n&p?`o>*8|5ocI^Z_Se_wx+g!ZXR zJEoQ_&MxwtJrCiQa^UKFvLKH)LPx_%jTw6ElP_X4PGQ(MOdxkh+agx)s%~BKGO-KT zwOh_O;cs!o9usDQ(O=e?r=l`Rm$cq?JlA&B*XlOgGUIi3hdgWZH-GwVpNhw(V5*koc85nNczM_Zj1FTW!Q^D$3Eug2np|Tif3@-A2Zc zPo)Z1_Pi73_r4~Q2Vb)zGMo-B?Sg+Wyhua07>huOAqSYqO*ulV{ zKF{1X`10q6rSW&g4WvVJfkO#pp3?<~mB|aI6ld!x@cq=CF2z>`zYQ(~`3dV`r>B}` z&S-8D=ygozOo;2^sGFRu3bZc@PY5PHkel2s7fSj)3?KfmBw>`7$mR}w(NKPDmj?g4 z`)s2%m!E$1VqJ#iM@tK4{y~ zc!eT)t0UNYna@m0h<$j(GW?A!wq$gwBRuIUrs1ZmW`Uo)~@ zXk6G~Cr;XZv9e8b>A^dE`iOt1F9^MU_BLQBkK6;@YAhAB8kA&AlCT{uSZ7qc`MZtp z12~)Lrwd|w{I(Pi61r7_BTZ`i!=|!B^TaQ=tZmdgpI}^1*?-+-Sjm+saN=m}k2|YY zxTp`GtxUW5G6OLReykZQKck?{w@4Kcvs+tD_=F=jAElRb#M>2TKYF?vu|v&$PxaIY zc`QGA957m?F};{Eo}gi$EH}JyAmw?Fl*C~ZNvY(0%hr5J^N}IkHYjgXb8xu@#$6tI zljSA0^!+3m;#Fyt)OKY1EMTEDE$2p8q3zMWh*`S(L0ZY-gilbfA_&GH)2scHNsvAsxYKo zI;Z@Mrru+GQWqU717$rp=JL!~RRY7-wNsyAC|U2BG_76V9OGH8fSYh~?t^zfT);JP z_^?RCJ&jQa{*|dCK>LLd5*SQm=>7UqVz=Pteb=ng#OlNuo}xeN+S)NNX@+A4?CcA4@eDn9y4{Sm#WwajS)%fJyd7lS zC+s+VB!7YS4V)E3*S$%6F9mdG;>t5YRoS~4pWQ`eyzQ<$2JvP)S3Hj+-vU*zWR?5lg*{dQb z7n@YtAz_FDr2(~!w_G%W4XL4dp$^CdLY7~$Ka@*`%o-l`dsqAI;Qde@{W_gJ@OZoP zRmMkht|enh)pzlXD*VEA9B*Z>d5@EmiZN}KN2W9ikKr`fu`Z%jXR>(IPu+*Dnwimy z3O$k(GJY0B(oEZ(ysO9`gye<7@3W_E$Vu-~$HpvJ66v2K>Be7Wv{i7_+VkDNTN9n0 zK~_ft`6mLVHkBLC;L{oOs;RvjO6`PHt5rDG%|dk552GGU*6(Q>+bV2I{CyeZs?ikE zpDM*H`ptRW$r@WT?7W1zX?Eq~&3C>?M=g&)e!8->7&AOaEaIo#t)j3$&UR6gF7lRF z?q&2gnhe&Y;&W?C=7e=s3V0O3K7g|Nx*P*bB|ES(zV$<~$FKapQj9A0e2KBp#U=Qp z785_lqLDIT5gB%3fDD3&2r+jNS@l~vdjNVUyh9B+mD0tr^PxmEO`^?km9E<-IE$$!LgHc#BQyuNh9g6junl(n>-PV31l#s!6vKH^k=c3^7|M$ zJXq?%ueCNf80A8(ux6R~d0y#TZNx_k$wOkvxb>r2dmzImr-cB8^TOtDg;Ee&A@H)HK zuM7u1R~VJ~%N4+4%@V`Xu=~mhP=0|TVwc5fMprEZkT1r7agj==*mC;2;RLP1H9~*Y zs^QSS-ly92!k7Hk+ZRC&9XYD96%AQ=?Y5F$8M`+hy1EYsYl@x$lg%1TaN>Ms1YVUT z{&R+0Rs$60O^gOmuOrWCIrDs76r>S2Jq$!`(#7%7ET;(EGdTP^=MDBLgl~h5?&wN5 z2iWe1It;D*P;;FB3Z3Z5hmB3t~*|(vR{ouJU6#ooEifObb|#yZ$Jg8I^teFui`V?Yp5>m+_-G+}vTGPn0`(%c^>{YyCH| z9PaXh3**+(9Qtz`e3f%^C`I}DjP`JsW7R0_Z#n*xi+Q`)n&-uiz*%`MqR$ewnpN?0 zY(8bm)!cU8pgFd-k*}*U&_OTshoX}2738-EJ!y|!C+gb}wmv%1rj;fd1eMW*zf_XG zBV_MCb=`Xjh4oNM0kxu!{8m1I5*lT!KQHNr4MF)>-aC*O>01?guh$=W7Wc1sEuFdR z6=mwHk+J)d?FJ+zIJOjnOSL)IzO<6z$$ukG8$C*D0L1f4KK z1RexFBvHh+N8&52-k)2h(!mf`wI4an!y8m&IoAAGmDrtxFYW3YSAO2&sb{UO%z3vD zj`||9t;q0zVbYf4d5KS)F2WUni4*c`Y#8fZK+K%*Q z=P{>2j_CI^7GX}m52bov;9C0=WGfS>%bd<*qJ}$;SQ8^jt0UUCW|n7cRQFHrui}0> zu_!=QnjKzy!c^n0)|$)>STx1`0Y`;3lbU^WV4bJ0b%ERb6AJ|>UIGpd0bH7Wqq-1E z+_a@XUDm|E+Ymk`L^GgpiaIUk9K3YYmfj@Jdexq%BK9hcz#$@yx6Qt!(~55&K<_YH z{i(p-EGO@t_=Uha9_aG88nX|9fN#p=3*&rUa+)s_<*v&{+#k`7LRf32x9ufR$VHy4$9I220K7=kN|H z;;0{5e8Vi}tD_7&qu2DcNe^WABWt-g#Tm#FKQWf~+fDm0%oxP5IZQ110*VyW75wpJ z5k^_>cSI^YE8aXcba%NJq6FokGJsG*y8-L24rqoDdis3!!(c*sZ;W(pT`)egUo@q- zDa#hdm;r`s2`=iUmpOHF3>$W>unr9g)C}!%=%&JG91Oc8saj-)Ts8_FsabU%C5spd zi(N{52H*r)1)e%K5wsDnMiT2K%1nVY<1johFLwdYcSMC6f7x2LnN-@HQP*CsGjBIqD+q{^wI#qoE&`mY9GUT@g=5pyd_?9hxQk7>?5E4vKUoYwx zMS3EXNJ%r*X9s)+gs5S2R#gBr3r?J@*=(eT9~*hJoT=()FSG!5qC6#=ULm~^O{QdS z;w<8}9$(7TPnWU#_CU5cSz0w*#&&zrxPCIuHY0Hj#_wABXfK>@uKJ~uj97RF#7X8! z{j~G#5BZ@I392QJ(GSX*PN@^eZW~JNX^aiqEbO*K))4$@+CRMM-{bl0>!eC*&xJ`~ z97|MKTIm(h!&AO(kuE6`tDC1+s266Gg|C;XOe+>VO-8hsn}+w?Jv)A^rs&!jywg;& zbjs#lyY^MRrs0}_XddRm`1Vaj#PeW-dLwJu?ha=1{uIBuhNUj*YU|Yx@9ML;$k<}_ z>Xu^l{`J&0Z_-(dwCWN|PZ$7w|m zJw>U6>>+xt*#0LaNf!?3qIpjEFIya}XCs{Lnigl|N{x4A)UEEZ40^5e-$)>4Qx%U? z$4`oAFBcpKTWADasR9AR=^ibjbPJa0R}IURzgx+lBYEVTd=mo>iMa}Ew!LEctAPJNSASK@b;ofZRoCgL*l=*!4(<#u71J7 zzo2Lc_ZksP?DP$9XajiyRhp9}t2vkNS*P?{8%C1NdBRgtOdL{D1hwfIlzex_h9wKT zFt}~C*rH{;e3XjhId=-2o*G_>T1H&QP$!Ukifs(*~PawEAf`AnS^sv*7JftInU zvbp45oO=6=XaxH-M|{&~Oxda~x{Rnjy03J0R=w6FhkOFLdPfC_Sp8FM{jTzMjMM*gBD+BH}leQK6PNphcD40{2+J=|=t;nCHYZDIPaQ40o@<^En zes}$7^V%(0Jb|xGHQuOqg+=Wv8__ee^wxs0b>X^_y~E2mVwbzE)4db2Qu!yN-v19R zu=VmIzWRWjO*hwohtZ*T$APv^1&L}WhuFy3_nhK=oY(e`%w$A#n&eRvDaI1xKFC~qA z%7sEvyLI66gO!!B25`;Rbo0q&j+u^0(Z@@d9i##v9Y*@Y^xtx_)grFfD23{Gi?T76 z4QC$Qq+p`pR6CK}Su)+bBRQvx5W+mHgO8d&BLMX(0pU(YNRn7_7!#TzAs5sz4E^29 zWbNp2tRaNOBWI9XWLl=y=MQX0dv}?4A`-{QVyPgXke?h2&Il3oa%Qfmg_LNX@M!@| zSnTQF6sY`}*TLLIO&_-HtHOxQ7m9e}Qw5;e>zl`z8n!!tqp4=EyL6g#X1`K zy?>3Z< z5_3#R*i4b@t90g|ye*dOf#gieT$<#TMqf`bK`$0Z6w=UKAn!i=gpMoCplB&4Osf#^H(;qx@6-x^!)lD%BG@HZA zsQHz5(0i)xw47Vgaix=?3d<3gnB%Q}1|w9(x{Zz%v_%l8Q0&`&t!6G3B{1OG+>>jN z-aYPVf+An9VvlEVTwZwsBxf|(XGH*d)ebEDp><<~DL8EZu1q5cu^Mq_THwijpPs<+-( zLE?40NB&IRJi;wS z{1G-SagD6o4qWme^4TQ-#XBSY7RngAlzB^FWsaft+8F-TC2sJIG$O6C-IpA-Em{W-=taJQBU8IUC@5(B(mwB_wM`NO|n87AH; z{rwSYX#(_k?shy9=363LTT;)g?9%q$1>onWh%XTR+^_E%qut-fK6NPbCg@r8*!AGZ z&NBY;uw2d} zy;Y8r$+fcNa%e4p#p;(9RNL))_8}(n9O>=XvZien9(|^Z^f#Sxo9HXuTfC9|DuIb) z9b*9p&@YoxC&|{vohauxTtB~zWtW(gE{-tY9R+G3&Kn$vS55u$IG;5*lXp1z8u;}0 z8TpVJN$rHlI)}Y}X2sc9!tU77OLOe?alsR%tiFKnhJ$rsA)g$7S-lz#iJ3l~4cndE zvktS_uS&PCVXuVEfSuXa3+H`4&skz^OuFPAJdFZ5oyIHW?#t%-&5G7v>5C~LzFH_7 ztH!@w%yLhrK*ZjTNnrDz>p(>!PtP*b(#5Z+Vtxp{_CC!`KJNCI#X+5fE(-nGJ~N*= z`RQoZipNs=@!AN3yb2oijSYEyhxHHS3F?78<1fopdjvYvI>~J`7>x7FeR}E*^W_58 zb#Cc*AjJJ8n|8i)fOm1^?<*i+miC#PD(q*LGH3T9Yes+?V_K5-PAt5h<9^Tm+ z<{0=!FA+40(O$>?r6WgzIg`OiLn?*H7bV`9>MdB*!4tO5COdL-<^~M4V;0DE!YX+H z@GV?z@6Yw&(yVT_QtcDc6sFU8CDg8>lr_GKtc@LUeyJ(+Pu_6k^u4-Or^3%Tu*I2i zjVZAoSt>_QQJc@EFmTuu2rX8BGYmRbBP*lBU#QU`ToJp~oI&5pw%syXmhE=Wt8Sjq z{&eaMt6E(e-XV96UPu!C#3%rB(>leFS~UCoI-xuXi=0`{hgf&Uz$DF=H%XW`P8PMr zfa*!fW{-53yPDuje)RhqZUWEYZKqyxE_95#t^=D{mPo--iCRZ9=*)`NQ}*ce;9(i_;yOYN>3( z<_0}yM~w;>0)X)>0|TbCfw2O0J_$+#I!PgHmhHoz`6izH-j@1KMV8(x_`wYZ^u6;} zC=S+q^&vi*OT)_eq!cM?^)sY9*&=4IC;06)`a|7Y$VUvD8>ko*4AcsUTS4{$Hv7wY zStO1M{*I*e;-pZTNEs;h-@QX8aCJ!(g;fNo^J1I~ znW78`%uEsW1&KTNXd(^*h!-z`sqnEHdOWj6yy!i!&dm$RDsT(99Pab|?!+$l258~# z?2^QWmUY4vS;EnDXp4FhhpPj3S-)K#M;i!`%SXSlYDru@;l*ZM*e3U=G;tx;vDN9n zT)$!_!Yf^4a%1A|$XT?Gsg5w-GfvqG)Y^-UcY*SEPwvX(Q|gcrjkxBpcp|-pIK`C9 z^ZDw#B;9Vr6B?(+BySq2sNF7@m?jYCMoVvl`Nm_r-4olQF(Wh?_}nWX-CgM#SZFE( zW-pF!5kV}se5_0}C{ngk=iFK@8El%0WuxZGVf4Nl4`i+{jT}?(Y*yWj>$P?~RN*T0 zXJgQT7FP{x&K*1Hd(c5qWzE7{JTa9 zQ>yF(BS4yKLve}5tVo3!lXjgmwO6Ivtf|JTXv%=|0ef~0d0sklD3D5POMZS##WqSo zmN^l9JJm7$K%>Emnhk^m9hG3Fjr@Bl>X)7UnRPU7TuQTWJeo3QrDwXah5}+oGA9=m zv&S)){$$7r+^N82k1cj-c0Iihg46B;sN)g+dg<{Fvp@P`L72Y9m=*zgk=l23K_)be zOAhjR!lL5R$ZCaB_R-a%kjpXVdY`fklI8YX<_Ao9^jS>vV6n4}tBl}zfpgV{8+w?xh_hx5K(*o^P#CU#5x?g#tGbpuMa zJdSEuo=Tgg%rZRjx~|;M4$)OMT-4`wXcjD?8Xo<7&BCuZG=Y>QNYd5~xtP<%#; zU?%8wn}+hFsdF`LGF2q|}(zG9IAHLE=JN z-Y@yK(xZal@=ak zdF3j#g;NzGHKXD`%@%A1YZyuPj#U7U=&(b@wL(j3=?pA8NJ&~V_}E-fJqeloc|rSv|p0p0}uR?)U%RT8yZ?w z#Pg+N^#-x`025mo6Goiwowqw`8%#KQ&siEDugP2>XH4vm%nu*mNzNo zhDQZBP8j@$#5MY;jm*yn&(9{)N0bA_OhU6ccfe6%#PT>iE7FXva&-Qh2!F}Dc?gkT!jl**ZZm%MnUXK6{MHI zvceOlaHhs}+Mep1?D=y>#xqGhpmvTf9V-Jja&^j_@*YJghEMGKPiJf3d#;P8OPqaD zVc5EgH~iz4J*JB{PYjw}tJtcB?z50*W*NhX9Y2fMjtg5z^Pp0>{q|bCV9-qXtv_sHU%p}eYw+$ z%bGxdTt!R42bTMR`0~aA^I?bSl9%U|^jOAEIc-2%= zz!EjQbhn9SNbL|6gpeetq*v7)E2vs`QXhqepyCE36x|yB_+$7j4r+&|wNFz5CDO3j zH8c$$Ge#`i>RjA=k0lawpZDHRVl*%y_QlI#?1b?w> zF53DLX!W$01G4osXY!MMq5H0ayOkFg?wU0HR(BnJlKio33_>z8%W&6eyEE)=;+T8m zO3h~%3)TXgIWUS4wHn^o9BcTan>;g-0xK^r+FPr9a0$=9bO?se6mDRDQ4P|!3d}Je zlhuFwg)Wo~d7$RMm7H2p4bN7#@jh0b*OXP$YiKZfHCXKC;H9@{9v7Olgjg6E7&%2| zxITch@|F&rlwb7Qhf2yXJyVa+v|8x|T3ev@6xushW;heKZ{^IA>syxqZVEzIoih>1RB#{4-EripE7(ri`Mo_2eEU_17nFykhhy-|K0rhM z<@1se%qGuiuE2L@Ly08}PjbSW@Bp9N^2E`(JgLg z9S6UT+_C;cL)o_r(8RBV?uU;KMj~d+NnDuQh!NFptI!FNVsYi_)$e_o-0MprLS0r;=7N=o0;_CX2Wooq z0;h|+^JW$z^MzU>4dxE{iO@d$2*uPGNTT#9v-Ze=ZbgGgU*E^Cn zNs27OpuQ^|wV_S6kNlx|zeeggrewNCDgy4jvMVxBI1t!B6l76QeZ0wYxl%Qg2j8*< z@dktn5iNHP-V8A*M~z_I5H&8hjqI|AWIJF8*_7jUvabqLkH8RfXt*nu0QW49C*R0e+T6 zkcwcD(^30*cy&uf@RnCv6=VrR`oPuI31&|GPQ}2od;a|g8S1F6-%Q4xzpoc_XJTX5gXEP>n7=(q{G5UC{?f3LW1a47D#Yf5;m)nRnZ+-TQT+By3T0$0z@edR z8Z#ImQm4VkSz?#W9w)#wfc%Tjt$>1-YsNzNNWSK08=|}|d6M8H-JLy4AEzaOjM{w& z22@{dfO7pH`&Vo7iMZ^|1LXya#FOa@iWCveQVXw1rHgv$w>Ag6)$iT(Sju;U_mG)- zlFknzysEB{kweoQ zie|H;>Dk6k!&jWIy7bi?PSNA4NDG4MOBg|LBB^n&LB`JzOmekRgnPNmEsb(GYYP%R zcAB(-t%-9!0cjDM(b+r}%(tC+3`-gQnXY>k*=kDSEzHc_=FeWdtIT@J7{p`^sT&q! zw;NbtP0<+Nqb1r3sf1d8ZR>xXP;79SAH<%za_^tMWK)_&D2_p1TIA@W)K)tX@StgL zOrF$E5iTNOXybfhQ{&!5ADhn9_`!VAQ4G=H^g4VM{MGvAt@a4(P^My;?~TQCW7$zC z!}fZ(3f2~RlPghDb*iOysO)w?jHNR?1xZy|YGc4L8>;b8_Kth<_GcHx$XMaKndE>? z0QOMx?L+6qruv;%oTf+3Zv{F_qGAFcv&$>5cpctw|H19D44(epl$!XgDt%*>1ED5A z97f@#5+3()9v1t~w?8rq5YGOWehyf7;_adFadO#Y2DWL5(Km{x(M8lbm#ZE?-iTi$Znh-07- zPW|bvuJP07JaYp%X4&@k!w)B@9BY2F2N%^=yE#UF10P(rZ0cmCph-^iR1f(0%JBsT>|9%-CTdy1*TO1Ha`pUV zF7VH_>ar9Kz#DcaJ-fn_eAOBi(s=WPpncW5Plyfufp(s~o%SAm_X{7FiBig#J zlP%h4dsGuRhr=0&63NBjG>KT=gn0$bS#Z#xwusddk_l^G7Q}Ihu}oAnjj?#Np{vYe zB?8JYNufI-yS}FkBulsFXefGmyprGJ#fAsu7iM_WQQ-Kb^Ja<3e7)jw`N^4Ii_+zq zWyh8(&vWjV8Sb_fgm6NRQ)46I>c=D`?Vy-XuqX<{-Ix?%jd+TGQspRVHFQO;vBg!w zPb@D~d;%a`%pIsJU8&%_4hxk@f-P>MdBStPizf!DL4b2~w=rx%p6+2N+Er0(q zSdQ-V72{S#MIYb7=&MKCdB3QTtRs1$7D}#DpSng`)?tc(dxh;=l-i^GSnL*6P1<7* zj-QIgcS`hBMD4yMYz~S9Dy5_bd8wtQE&WpSl!934x}}3Dx)dTNMVGzyLTbA|l`qt( z>86t$g)QQAa7VSZ5os!%U-PSstn9hwhjlYXl&T!HKB1vU<1QYV5h{u@EhP;Vl!+KI zeVsD4CR`h!k+4nCf-#>OZYUkivNmy?4t|X9*?R5saX`wfJt4N3pBQuAwi|4Tr7Knv z(Ct5v;`U}Do-w2qakbc-a(R%_+G&UGtL}n}xo~MP(A$nV*A^+Ip#_tt{e#vd^f(7AzL@OY+f%buD3v{o(TJID+*;irE_2@l^IK*2DpUiY ztl~}RLCkEwmKHHyYtArRY?-SfaV=%%ulW1r?0{oNS7f$9k&Sybd+lL`gGzqu^Uja` z3ujcseD*mFdwf0m$ovhDmSU9xpZq=T#%h->Ye=c%1Ql5fEDOG8*v?%hx{GL^#PA4S zhrWojQH{t~eupBR=+x&ak++YX;=#>+h)Me}KV@L*T!f|2Ix=l*r2kZp^Ts6MPonG` zcw^jny*D!TYCCLWjd!?()1>R?(&N>TR<^-Cj!>>kZ;L>^aPJ?&4=AP$&8}mj&fGii zp(JDstKgan>phq-leIV2+9Gx@d4M1g2ygSiU!Ixiqz+-&+UKH|mf32^G;)RuYh@=7 z?qWGC#O}6L&zm8R_34hgh#s6)nY7+EII8gUeC>X^pxw=4$vJ%)@MooNJ|=X!FxyVa zFGUdgs6!mNiySr1?=f=hV0BNyOuo($k@-Ppzs4J$Y?@8~ZfPUXkI%LT_-Yz8nNrbw z!f)4iwBkQ4SP`LPmFd{J_j7#B< zbN*92TqWa_%i}|8P**P>sBAk45Fsd^xnK7!49dXy=3!6zvVCC4FpoEWuks z7)BI}_`Mu4^pNCL`lE?}drAhDOpI{hwf%01#(G!cevm{pB3?~-UmXWT>4aNX!3A}6 z4k-afSN>CH+sEjT*`^o!)`jizkWli_>GseE@c3s}q2ow*=BSvW z)!Ex(l(Li!rYtGQSey#nYjIuU9fbld?D!GA4)g;Zy^RDOm}8e>^3A!Dgbn7p)DnEe zgr@cX z>DBvPnLRJlU_;+XHR|>prNB&SXx4w~CvoR5$F7V@NXnHjBF?r;uh(DmmX=CiD&7z> zqWM*BoB`F&_zU;~Pl1O4N<>*fg@%qZu@1zv?DW_G$rf`?KDgfgdDco&a$9PooJ2kuevDv8-PqGbdiv)#W$hfy>4 zck}^gay-5%BKG0j8h>IOfQ1EM0096900004-v3?wi$%c<`Uiu{n#_O@|C9ruz;ft+ zF$m1a0Pq@s0@jHKq5&Ym41PBG0MY-Y18y9M^)Cju1jPOq>wp>O-}*K{{J$*&z}ijf zK!Sg>K9KOg+M)dy|LvFUAN?YO^>cti|0UP>2miG>^0PYt1^_^m1#=|;0>%&AKA8XZ z@vm1{z~2Xe*&P62sRIDG8UO&&C~)atnLhv=B^dxn*#YZ=A7-ZJ_SSCBo=z6bE>6|} zfQPM>m8XZT1F07~FFUvjqO78=lQRev0C05ja8s8NC)L%{Cxw{?TL}k%2CxADrsnQ0 zN*dCdU}b=ulmw|eSm`hSXL(%yhi!lbCRtTd(*MZ+p9sy|#mxh}ajIZ#4hu_nb1;X2 z*}>bx<*)o2%$R2Oe;M?5lrY`E27(#)FI)eU!P^Vg`6rA1WeZ0q3$V^#n_Vm%E&lQ# zm?OPBEx`<-2<8YcTT5>+FM^rU!PC(e%+FxPbhI=D`xO%LuiV4Z+y>07U`BM)RF?p= zAlS`_*8jz3|HU4bK43cm010OoUpHH88xK-ib2?HsK0aPjSxavROAikwRq%kAx>=A) zI6JzSI{5+s|J>%kwE*aUeM<^T!T^Bgng7}z?7#EH#>2yf zpM}NS+nd?e(wzCPL;t<}UlsnX`M-z%>W}$vfB*I!sidWqsi%Vn>0hUsJ3Bagx{b;1b}!$4wDV8}N6}(;+$f=e!3q zxcndM|7itE0KWyf+gg+U6-%gVlA3$EdHv;o95?~sBOg5YXo?BI0}ul!0JH!m06TyO zAOH{rNCD&lDgaG@9^eDO9AE=*1h@gb0RezuKm;HLkO)WvWC6Yd3ISz+YCt`p1<(oT z0}KNu0JDH4zy@F!Z~!<1Tmv2fuRtIW28aa20OA2jfK)&RAUlv3C=8SWDgxDkdO#DP zHP8v@2@C*+0%L&5z${=MunbrSYye#1A&dh|XiOSRIZQju7|bfnY0PUZbSzFRZ7d(G zY^*My* zTZV58bBs`oe2h+v`HU+}h)iNkUQ88CKbWzZ6`4brTbM6dC|UGbl2}GqezS71I)I~| zZLp!U$+Ly9wX@x_)3ckiXR|MIAaO`@1aY)-+;B2*T5{%au5w{;DRF(~>gRgr=HYhZ zuI4`Bq2w{)`O34xi^;3X8_PS&2gN7O7sS`e_luvK--ExN|4M*Kz+RwS;8>7G&{D8a za9@aA$W$m#Xjhn2*hDy2cvpl>#8f0-WKWbr)Izja^hk_O%ucLQ>{6Un+)cbm{7Hge zB2c1N5<*f&GFoz43SCM|Dobixnq1mix|rM$tCZF4KO}k<>}n+0|vy4b+{`!`HLb zYt@I**VZrAe=v|TNHaJv4TY^*;lh`a|!bd^D_%ki&TpfOCif-%Ofixt7NNVYa#0t>k}Ihn{=CVTM64N+Z#Js zyYF^S_A2%z_J1679BLe49ZekDoY0-@od%tWoqe3=To_y;Ty|agUDI5z-4xu4-GS~# z?yVk};FGCIPg>7#&mUgGUfEvH-rC*`K4?BpK9j!mzEQqMe$swL{*eCW{`~=D0l@)3 z0>uLJJ_0|Qee4gS2nq{2_$2eGG#EbEK6omGH6%IYK2#^PJ&Y*qQ`mmEOn5~Ea)evN z%4dPk-y!Kb^pxkdp|V=#;pe zB$8B`jF#+|yq}_!(ws_~8l8HdW}G&b&YAu_13tquWA}^Vm)1^aAJtuY$uu?ZS~F-lDQ%{NkA6 z_Y$X)-BR_^!7`q*vU0-mgbGlFXT?dSVdZREL$6Ekd7pLPe!p@5#(?g?;-K2#^pL{P=&nz`F`<&oh_q@n_--6`A@S@z}#FFyT+_Kj4>WbmY?yAM= z@tVWh&AQk6>&B-|sLkjt)UEVw!tMMWx}BO`?%l2*l0PQ*H1;<3&G*lKy8nDT2s=bN zOg|zyDm!LB?mUq`nLRZ)JvehYdp(c1K)d*QNqgCNC3-b^t$TfN<974sHuethuH>Hc zzW+h>Vf)eX@%1VC8SlCD7w@l;7oC@*SMN8Nw=eH>@9n=8esBJ9{PX9NAgRjH8zu-4 zCT^a4naAU&mk>#!tc5xsWx5hgs=TFon?C|mC+by}N|9l3Y!{Z9-7a^1n(BF_EIbrC9iJ3O7hRgTC z)#!pF5<(Sw>ojasB@uY=uc_DQlxO(GI-Ti8?3}C$Qko6HHXF0Dju+`Sxrb}A>Kdl} zMv04EcUzs*1^virvM~L{KXoP`F)(o2Ec-!T#(iw^?v`+AM9gqhyP2~hy~Q81&FS9# zd{KwZW_Gzv+rd)p_tmjWZI^I~PSwh}m%mZ>k$2b5wNJnY5t@vtqkF%=4?Wf`b@Q8N zz9O{64Zx)KJ3cKTk!AT4YNhPNX||c${Hn(Bm-4ro(QK1`UL_CMa4ts-{Z~=vcGCGu z+H>NsHK>I&h~0?=d++^|5}yHdj1??s&`xlNg9YY?CRBQyfzmic4HmDGr;t z3T$B-7|plx&9%xg2;L|Y^_-5F6iSn*^UNud6#T=8isq8Mljr-`V~Co`zeVH&!sgUY zIgt1J8aJMI)hgcEi22 zHd2VmS}IeF**dmDip6@WLk?(|V<<>xcsjCM=;4v{iM-|BA$!ZG~W47D`A|nRGr& zA!ekPpHjqeT{m0R+OWnw9WqZScO5UMFP(%Qp#~$&X9wxpIJk&UdnoaV^>XjBorp&7 z3FD~7@3U)}CLaiA{?MMj^$d4b!AYLpK zp~1Qyul=;|LxfPCA#g(!@AAd64D4hM`=p^=NnRIiN3Riu8yk}H$0dAZOl}9(3=sB% z*+P|P@Wr$pkoNoOq{12h(Jzv~lX40M%Cx=kH#655>D{X%;JtUiB7jX+hK1h-m#|4Z z$7@vnQXY~h5^W>Hf;)oOV(2d5cN;37$n*3GbA!_iXg%h5|DS<&UWSo_^4%f-ZQqp+0M56qT_*ry^b^}fn zTuQ8zXL5M@gK@YGHt#oRJi>#cv|#ZN8Okv{7{#uX7$&U0a_zn}aQx+Fe|{I!(-u?V z%Qvu=>zt3-&u6MB+A8Q&b1f`v+qqO|X1Pi4Y&W&B(N5@7waqz_ajJw*@orDS za-khY?(j{&K`I_b@aXwMbHo^gd^>E%Es+gLg~i7lUr^RTm7CPUSWBzJd2XK(g6C#u z=Wbbp+(C?t43}3qz{ZOsB1SxBO=8DZh*Xd{m!K8)%{E6s^x&5YuFJe%7h4qt_8-wW0^q++XPr3NPPZf6_ z32Ov2l^FO)HR*lqayY4qD-ZA-uP3?75SJQ_nGP-8KL(dWdgjHCTa(`F+NQ^LIqpZX z%k6HI`JXD;9+t6lI*l|HVt%#b*G(n-u`Bdf(ixcOeax$nn&emlw5q94t#r;+$1&`| zm+Lr7tFP!2^d|)+KP6Qn(_^mK>&>q{M|Bo0%u&@CGn!8h^z~v~t|i9XwU|$ID%CVh z$T6bBbrfZ?eBCPKi`t;(l~@mrgHR9NO_u}dXM;GrYlV38G&PHBb%=j3XH*z*pX~l_ zOjFO5gYQWz+1yYsYO*B|sgGQE)E$?y$|_H9h6hdI5P}!vELkZH$Jp^k{Y9?!1F!ze zgKV-T6m|zqHl!UhLK*s7+gjtrM&Xlc-?!QDV&QUlxaUt27Kt|o#f!PMEc$N5puIEG z+OVwU%X$iz+b!3BMxmm=4ta)lEMf=~uq);#rGD6;6`D6<*uk@I;YcGYP>!!9v0Lg- zXFN#SOzTu{O>C7cHGC?YS(4|kWRKh!C)ABc7YZc#_;fKiLio?A#udMofW<_Hg9`fJELfy4u>&;RWJNlxD2YR~^d(0=qByA|bUe&h8LA|i zWAqI58XcxIxf2Y${za2Cor0At2gwj~K;5BXat!>BeuR;6i(Sgw zHbtQ^15c;EoLvM9T@QNg&( zw$?FobEbA!r}(|#ZRc;$^&VT zE&dSp-$#_Id`YD4A%n=IT`8j|r0>O(sAOEtvuI@QgA2m>Z{C-hMP=ds0R2%{Tgu%X4WkvS?JNEN5|&-3DDvuf!77z3E`* zq`uH%FJ;dRF@n0`)SRLkor^t>J0^6O;iDAzRvloY%cq7{F6pl}TS^y}HM+f9TdVWF zG2b2;<|(igS86q-Ehq$bPZ1diZlokRnVET=2*jDaLW?DsdsE9LnZHV^9&yf!(O0y@ z=pXVAEG#gDueL&-`tNI+$AtFyZRzBQGS)Fr+pY{pL%Tlhv&M)L8sQRT zM9ghql9gK3Q9I_?F+sdn4R~OhTB*LJphb^*YeDoo z`_Ui_I)6xE47>PQ5e&*r^z;Th;Vmwv{kD^Tr?m4_Gzt^ZF#Mx;cKz@^ZitOM^RMco z*hpz}8xke+Q4V?Kzs`@~)!!b-IhU>9bL=m>zZSX*Yp0%xVH+HA$6Ld%?%0WMRSrML z-t`m;?P6SZPCIXW|AQI4^ZP|J`QZ2RpW7?+)>_4_2V|7o-VFa+Q-{K@{RJl?ui+T z!~ZT#OlycW+&l}3Z@~e*m>`-YbA-mP5b&q)icf+F118tcIYxsZj1$GaQ`uq=kjFmd zZ^#G3De$llG@{66D+I=BB6E#u0Wz2r%rv(hbl_FnDj*k8HuWq)t(7f?nzd33`ow911@*PucvnfplT7`G^SCT56%@feE>N*~ZX&ZYk+kGD`F0q{Ku` zIT`Io>m5P|pPPQg{58Qgt-;rD){y@?!Y^Tq>6wI7OW+67b0EhKRgDsW?eTOEoI zqx+m7R!|V!@x4Ln?PvZJS1$|vQ4PiLfFP55>L;mA1as7zt-MAGTlTIG)3aqoU! zE6l^}q*OOW?|FW0{mSodHn61>q~9rzCWV=bb%&*QPT~jlGs3_&sms4{9u^s=T_}&! zar7PU-z8c{pOq=WZF1xI8L(Tuc1%SeJ0&FQm_mPIQG^IdTMytBp`#mfuWudgCWrrA zD6i=`^Rq6!`0eyK~A4A(&r*JvTa$|ps7bXXJtm7AsNRSkin zL8b6;tvyFO)s1~5<%Y@bIS<7~th0?rQ|3afoXLilc35f82`Zf!U6)g>$WdlTE?XG? z1eHa>)TqlUkEI8}n2?P)m6ZfmrzGdeO~LTh{0q>S_=`SXwBw8gKB?o&W@*2i)tKrz zvqT@NvH^zcWjErZ278LSz`R!g=XalJ55DtBl!6yG`Kx zL-u~5K+1Bq3UVTlMh0WbhjN;UDzSL@PQ695T@CL1Eg{wC#^6g>;DmM9m6ke{`}m|m zk5#OT1HW1Uncr`(Cr}x08o5Sro1Va-Y1GQx(A^R@R zu$6#lyH}BB!EB7aE4uPQTzAy3K5YJ&Qr7-GQl{x8y|QWbm>Aa{vF}PpUdOvWm187* zmB7r;C00i-KXZ+}vt)`|wk{?-L+cg7)OGDVUsE_PrIdt+y;Bc%fp{>*qP!_}>&PfD zz|b3sJc|&8o%Id)jkTXkc)W1 zg??56)6iQ-L;?HJSOj;C1H1}$l1eu&Yo10nRog6;<+e~sOYdEv$@HZ{TsD=@Q+pqO|+rL-Q z7)mtof(z6l=&^g2^eei3BXv?pk!oos_wm?XJnMFd-QLXG$NOjMTxBFr8;4|!RLLb% z5mKLG=otNk`>4Nt$?By@?5MMfKuF!1KLyRYrQe$7`p;y_JB=e7r_ri@9LdqZfnbLX z&fOJ!dqyv1ZmR?h4!`0JGDJihV{VbpyMu<$e@mxM z)O*sgfYd0G*Db%95C#H03Y@c72l5YsG9q~qd|K(|$n#{m$@`S=I(e`(#fZ(jU< z8htBWF`0-nu4o~uRzxphw`1>^s+@gSyc8Zs$Q|drynwCgL=_N&V34mMoN2cXX3XeC z93b3gM_?#N9b__tK53iVLLU;TOA@c zy2;KimR{6b^KL-Gg(y$nCT+`+ygRNc?|H*>4! zhw^T0oU#*1jG<{8ONr4uKvIpl>iTf1nhHlt2$Q`WkHbUVu(6rLoi|kU2?9b-jeTer zT-*8`in=F;5qXrK?Kps1(w;E0NdUuv!fq3Ly4hhf^-s6c77o&|%T^lGv`H2El9YAt z;VjV%>8GRZI4iCT zK0T(mf(AkA6P_G$-&C3w3fHSV@%%^s#^ePwEM>@%3dLdw?QBM!=G=lbVFB-&opn?C2A-5R5DVY%tw=TRa&;~e3* zIM$p>-Em6Gt0~&!$jD$4$3|F+0PlvWxSG$X_mg~9R(0hr#mTQSXiV^335rXjy_SVz zqrXVmd>yaU0n;-ika zb?QoQ(olN_>TfDHeDIE&rB&pxT1`5)x5}hBi&NPFXJN|&nK)gDat$`<|FrJY?*(5H zDAXb7ABe}2{mE}hTM(!&(0B6WFwDh!jQl^!`^mngNjq*%Qq!aI(=r}&4&|wlflgdF z#f~D-)3YpCB13?NM8-*6cVih?*8f;&F|~=?`($fpD0*MML5wH61u6~*5dUq8D!3mG zy`rXSkY+Z=GT~yX%S0EGA)+`6PDoT$l$Ft8qBI0#azbjqdmwXSu|mABDtp)*(0ngpP7gud+7k7xN7N0!z#9NWH&-r3zYdDbwA^ zmg8Tj7HmbZZM}{@sc_*X)kq<|WQ{d8+!RgiXRF1!D(X!0or<65NbbN>e(zY#*5`4l z&(!a13n3}uSMi^i?q<*s-(NEw3qW3emZdrwz-JuDw*#5vj&cT)O)jS?IC2rvo+EDy z{!P1wZOtmi-_LmW$~dadBZy?frELGl&QPV>8Sq|JxsZ@4|H5skZ{(=$aQ^2L9>E6UGgdvcI|jGM=2{QP`B>o7UtQ~RN_fi35{Q)?YyCv&NyxPtMv491UYxR%H-&YyjXup% z#->BW`hX-_MaHT2m>VPKqw5|Y^a7gsnVHPrWxM`lR+h+KrmLr5^GBk*S+i#4izk|3 zH6_NJ?9))331yvsWLCPgFuvI_4pDgpR|Fkvr~Dn!e?ir(6=oxs+@|D>R>M0OGf}tN z4a4KAn7btmIycd-uG5Z-L7;`Mn_#I}&zw%el7lE$AKg7>Y<(+I-8$J&=3V@7UpQ-0 zchzX~^VcmjSf4fuIOzTAyuf!er7E*r?(eHU!&hc9XFK@pOBe$K#S^8*dUD<+A6msL zW{LcTXzK>MOJR&pFSYJLf=v`R#?YPF-+9Usdo%|fKgr0nA9MUsxhFQwoE;_LqjLmV zzDEMdJ?;^TTJ&e<_E*3duk5a@V4R6GEqGaLC;0JJciIEA$&^kUyE%e;ysPhN%$iDy z$_Iuw3(;m!n@@o%^eoPKm_ntIeO?Qs?733?Ey5 z)Vw_}FKqFtUpl;(W;{w}e)Dz1mC8Q-&h*w>qL-d!!%H6R4*lrvwO_|G8(~7{ zRBBe8<0~W0isfNp(5hNSyK#h5%Qp_8^7t!-&<1Hu?PsC=jL_&S4B3%>T%s7xU)gFn ztho{2AgsuZ@2sINJ-E*n%-NCwvCMBNu5TCHS)Ri$k*?kDHM0vu8}iNqCByHxV|KPy z!|WkE6(6nohJwMhOxI#(e_@9!t9h(ieJj?x5YX|7dxu&*GvX|JPzwjnKKx8joo0Av~E(Ek6zveDXh87`ykf7aU$c7gqd6=;F_*0ZDLHa0Bhcj1&E=Be@ zaoxSgge^na9&%abF6-}0t&CBeLl zS6&)=FnMtQQ_Jsrq=4mbal7T7*+Gqlzn<6Yz7q}2jAsOWDS~kfXa9*rv+lICarC)mB4-W`vz|W1x8_b#G8OstLAH+A8iJA4eRssL-mE z>;f0Wr@FKdX{#IjwsP*|?kHv0)zheD8r<_}W!aNU>17+5Y8mC&7fcBIrBxHd8pgz( zmn2jI^&sSCCbjT?quFyXbxypk@^n0?8^4QOM|ZMyS4Io|o4Oc!f@dt#{mWb%jZZ)^ z@Q6uR4MMbgl2xr!fNiNkf@H%jTM`#loV+7<#>mq!|4`J16_n{Mwy6SV7t))xN*XF9Hi*@0q=5{aR z>*}4`EmnE*(m5`yO*G|O-QR$TdbjhDd{V>DNsaTWSKq@&W(?|MF z2gmu7_D#^7Qxg7gx+*88@`d`_54}3R~Egfn8jA|pT^mpao;VH7X&HPclIFu<41NuVr#^|P=EMv zh$FiDa}6?C*D6Y<&oBB zqIzm}$SNl+QY{gL{*dmN^Xtt3>^))O{(*0iLPwt^XbfX+pOC^IK;)wZpo`M@T($s6 zI^H!sJSqj|Ox)izK`6g3Fim0CSIU#N$`v?jHRn{MsW=^=sG>QXly&jQPu3Z7?gdh8 zr$5_6uPaaO0r(lZB2;dPb1~<7zMK;f7<11J!{FT zh~=QRASQ%YIIJ&)<9`5J9q!24o~_xVf4s_pkdiKL z6Rn^JX`(G?Zbb)yQUlxbgtvRX0f7<*F$vcUUQQ;E?i*nKFCP*WR<#a*J9oh%;T!^x z;H^c?Zg)x{H5DK$yya}X$$T5yk;S1OAhHSJ=~b!P_(L-g)x4cpvo=wQW%SKo6mLowLYH|hBp8~7R(jm8#(&11|Uyc(dCJuZl=8= zD&?fy-ruq(rm%^-fyn#OU9wA3H1=9`O{(KM0(2JE_J8vzpd29Hc>!>uynKJc2IW@> zadRS!hLvKv4Ot8_T7wEXM)0orPgDG$jXgHn;K|RL?8Y%Uhjruu({DVA5a_kY z)q*okPI^d)GXb``PAeG2oKzC}847P?1v=##CkFNvv~?xzsgmN0)yh1n!rwO$=|Y@a zaB@9Ow^8Gl!;BhV_?CwJ{K4`fq-i&YF{5qKl$)c>Z&_%#8y1zz5#=F0d4AM(1)9z^ zN8OHmqeveMm}fAGN3~yP;-wlA9Y_eGy#=re+O*8F(#0s3vSGE~`uo`(xm}+!0L(on z)OAkWMy|oOW-zYg;9Y$LHqGR^nz0J`1SG=fPS)s|yW`2r+^M%STCIl2CE2F43pV2J zNpKI;@kL2He%~O}>yc@Kvwzydo5^+qMZAcuKc+O@Zst2b1zg(c3fI!Mz`}(J>LOlHBTKEzTtV@LuQ)gsT8yk0JKr${#zuCfCF1UDR|B(09uWT}tr zH!bs|k0V~%k@9~|&Ik5$2@sZKW7KK0t^ytv-Upm{Yto*5u^w}^S8U7bV14tTNs9QF%hk&^(eE?FTtr)m@bGT#=p$-j^{E3;~U;xGL6(+`woHVZ`cBAh^?OxlVGC?|Hz{E&H zaQM#$!l#=_C4j3SCR&|& z77Ve(-6#SRA@^J@W-EX}1WWK(^ufwn#V4RIgnYS|ogoq@qnl>u-hJtTpXD2F^Aacm zfWwl4Lo)tG#1j)y5F}s=2c3eI0V0Ipd_!nl44{F?iUAjA)rLHJ9Ur0sTFu_Bh!hpumy%eheOYgZ@mY0WnxcLEQ*>N}(>2QjTEWq^+h4 zhayl}B$Xc= zVD9S=FptjD_Hxv>3=;RMdq`uHP+^2nmk)^)P6^;jjhRd2B}aC|bm`(CrGsl2I5W+YmDNWhJuC})DQlC(;BnozI(aj_eoP%sImBr2I| zYk5LW5KnM!Bw24d|79$DNk)8ay1s+xe7hi7RkT4prhtJpyF&@`b{5@h5;ky>;1WBF zW~@yPR_?mz{Wj6OmAy(}GRk3=@V&>q6AiLr+7_<5O|KCM7U%=OKf$M}tQ8*kBV7+e z)jE1_gTV#E0zSgiH=1PWlB27tnhCQ=KaM6aD=XbK2J|N-bQti8P6hv<&xy?_EnSR~ zi{s9VD2i9X!+FdTq2eWp@cLPhbDlM-2g@R1s(8K2(i_Eh@{DoewPjw$X}?x^`TPGr z&puVSnwEh6Y%wIYI^gFIj(piUcUFjn7+5q_5ojL^=o}a+brIyuBGP6p0O3;o?bx&1 zs7~8nQ-CTJ3o_8(ZY5lz3=Fab>6uFTihW5{Rw5ffCkmn5c`SCP!cMGD=9CW1x{xhgrv#wSC z!M%dew&iG^jSB5+5w&`6ym9sm!(=r4`oQncEc&+3iHl=))jtlEfymwu{VuIv?R$TQ zTv}#kbB}wjKN!1F6j~E{E`0ZUGd)H>?s;b`gD;p6#C&$UY6}y=ME$`bzxT$8Q^5_y zS1}%NnK%a6%7q&jviO5_4U^X|m>q1A z)!L&5<3mRj09a6>ilOirRfB9jvs+{PeT%9%6cc}RO}k3m!I>{PZeG9_yPPOjg^HRu zX117AgN{X|7uh*C_;2VJp;R6b3m(MO#UDQg7&u-PYwCm~$<+eXLaXRzMa{Cb4lfldOq;kl>j7>cZQ2|K7iKjcA-AUo0OvyZEY6|&~;!F{8w z@%Ra*rYxcNZ3T9{F~%SApI|6!ejCt_%xmFhEu;Pv6ph+$8(EnD3JdUBCdu6-$=^8A zL|c5P%8cM!(hSJv=5^azv2xt5s!<=H4@3l#;TsAEkbH(bn6IAGJqp&iIQgViQMD)17hMD&Np>Inh~-_n}e{XF$K zev{x0C78M5e`HHTd|?s^Bjg~=hy>7Mn4+>dpA{=;o1)k4SZ1zHItBS4SS3>05QEbK zcSyT@IPyx!um^j@)zmsJTHb$N0es|#&@gp zSjbB9`kN~PxX!BUN5i%u=7|90vkR!u){vsEYJGqb*^LlQ0}GzGF}Cs?0B0Ql3xlcX zkOX!p(Fd#+ijz&ws4`ClER&G|BZ(9u$nusElTj|FauOwDUPb}L*pJiSi;w!!13Ex9 zb+YIKCrJoW)1m;hwg_sUmP#L>UoPz$h!U9tf}sWQJmjO*owdZyB4D8RHnO`HA7~eK zgOesRo)>Wum|>aV$smYZ0I+4fu|A<15dco>3n$Fb2S6MpJPs`TJ! z<0X66)%7i!GaGt(_Ms&gcjA{bM4M?Oj$09A`GJ`SsG;V)VhNbYf0>YBDzgFL$2>#G zt+PK^rN?=>5gd*^0AAVkm?pH;v1&4s(&yma_hsRTb(tj-2y@Yi2yKTA;bWnPH3hwT8#hEdu@!WVZ&lL5J5YlR8q=teI%ZM}nHJkQN8RC3POA7Is}29Zo@B zFZbSw_XiYAl>weRQP?~YRsg0;UpwXYU_>k0)*mb+W@3*E+JEJ7ZciRAfGMsD_d9Gt zwmGjqkUlQXejMie3^6V;J|RwOW1+7UDXncisd3RmxQS;TPOX8jcxGz`YQq?CR$?IS zC&{Q#OtR#)e*vaIf(ON?G#2)p%{J|`mpKS)#-z73| zfBdS`!Fr(lzVaU5`H(bLNI*ae=w5Gu>(t>Y?&uXl%Q8NgC(9-;!0a1;Rb}wd{{j7^ z&f)U(IB@oZ{%|kRtN>S}KfFtLwk;1~>;TCvEh9Y=apHKPD(nlm3|#WqZ`E|d20XT; z>5_Y!GO&X?ZvfjJfY1!%Etvle>W~JaJid!1}%52@g`iap3-Tk7vM{$S5=h|I+p zHah-D0t)aE8k~630C4LkMDuIfHlDvT9O&rrCwTdC%{WUA_`|$J6IMvEc7dqU>@{WO zyb{ey*yX4c9hk>Y8z1ef3UOHHY|1)Fp-oW;Mit1tk%TAZ_<~Og-~QxYN`Y@)aOo-R zT5T4FKBDY=8+`xE_(!?9YudVcTz z4<&B$^zrSp=fAkw%fBE0{>wYq00R(l(J=7yodJ@-ycae^VdGoiXK(^5I~D-5X41iF zQU{cT#m5_x0Wh=)G+I(#Tr|W5%|A@sro#IGhC?n)m6-VW13nc++*^R}@D}(R?+<<; zp&}mfg}E_rD<+Ia44>eX`K`<*r=}c!#H(WdNZFa@53yh(b7&$Cq#B*s&xe^jl9NFl z@TTO)A)^ARISIT~K2ai%?$vqz5cC037Bboru@prIHu2_sUY+UGl&-;ep(^PBRKLH@ z^7n1ar!l+DRkUhzgQ1ujH)3wDzKS9lJVb2UTY#l1FVr*BY#YZzO;*oyo75-ULZUiJ zdkz?{_XqE*XH@k;6+?rR!sJ1Qa3@l=h%Y3aNJb5O>|(Kgn5X$#D2M<^*S=u)hAAly zh!Ll)4g}n_tUznGKSa?5zph1>mA>fm99WH=x}pR#0D%H0GeF1+Ak^Igs6+lh7M9H7 z;1D1d6AxUE)8PbZDpWdPXxhxw%^$05ia~*5q&9Fvb(iiR2S(D25eX~MZQ&U>cPO`zIIdHg>=$*nn9^L zp{tdB-H0X`+SS( z^z!y+WnLxWcAdY((Ry;1}()~AXaE2f`!JK5$Gw{ zDfkDqB=UNawr6o3*dq06U5h~?lKR&Ay^Cr_%Wo1G2UpylwA@FoZ`Rd(jamT2`gHcO za~UXOuoDPN+Tq`HE%rlxyQpgV8lwcTJ|T#54;?ETf30u1Tq$4?E(Os@-l>J7U@dxCh-TJ;wjxZ z#y|%!Q3csHL+GR!6pU*d{RLK4eV0sT8Wdma_e5oheCdb#VNPQW!70e@V|mI z;?1|4H3uOP3)KW}#HbU=}hb^V^lw$$HvvINV6k^{tUOrzJ}42 z_|0W<$l6THRC1Mctz}%J4I*M92BNC{%c7QL3NN2%BhmGVVm3hLOXJSky3BKDj)g#_ zk;l#vVX<;?c#VYR=Lx@h&VwyJ>#~ObM~pCtQ2NFzq~#}uNwEn(%ZrhB>P}zQbxIaH zga!cpQUwwBe#|!9?L!AvJ5lF3XlDTtnR?&C6;OR+cOvCM+`{o8I9TeO5j`R+_*-f_ zV9+66IcutmrWo?c=xv1(b^ob_=MVs3ndJjAG0Zye_Q@ylYg3`yswZVdRcrz9WX5G! zpekX=dB}x{Q0VHTbimNemKlDmCtV8;(ZoL(fVy~>MzOt&tT(_^EP(C_QwA`f>HJtK zyr7c2cwy*lIj2I?D5j^JJVF7d1YTDF+h@+)>Vj#yKEo#b%m|_XXH(z(4M*191&yYL z`viSGZ;5=ZA-m^lt9F2c#np1_DmYgj9~bq-qZ#F#Fb#x|w0~vB!2NGo+TKv^D!Z9zv}Mz!2g?sSSka zb}(VXnm<_UP}smnd91JuHPB?{%fr{9sd&aW?_z8B0q7m{(eceA7^@u9mF8J2tKhga zoL#Ps!K?$pX2_JBacxpf3{;WS*yZ*zR zRAAs_ZpgDpf;JLG97cn4H04okIb4qV>Hg5ZW8FzPD;s4$n~IrYr6<40e(dEMhrrR9 z+4r#neg1<-_-tFC(&Ku1v$JFYy!*j>SP^MQu--iZ_g;Wsqhtt}sckkl%K${8TFHWkyz0oSrJu|M*=Bu2l*0jv7BpaF6l(Xy5 zs`MC<%KnG=_%^#%Yx7+b2CK`v(mgJ**qpa1={H{Va$(m4WVi81m&Q}Iqxw);6<11D zS_+SuX6EaubNz$;P5T?W=j~|$aXRoXr$4i=P!64_Tk}#+OyZlP@tQfU>R;IrG4O9* zi>tS%v19{=Lwy;ML#zT=duaQSV`-6t6(jNf*bsm=fDmBMENuyH`8=btA~flZGw&|` z=q|88Gf1j02?gN~ei>wH9FCQ|VVcLbz@oz1`_^zpwg@kz?xIo3#0bvt zce)OZvHG>^{YQoRjj>@EMWJ_`vgPaYxZ?dK7*Iojb2)!D>0Avh zDwh#=7n0=-8G8mmICw9EqCas_!@*MeS$EREQZ1{3?Wy;xOT-nXqBV3wr*{oL_rw+U zVe{GckI}_oL5933>MsWg7LAF@DhnR^{s65h)#+r+ner1Hfp%%64V*0068HpFu)G>P z-p_@MX3g`f+|QMipR{>QEHEHS66>{sl&csYN-_ne#9@u0{hJ);UwLd#>r4+D|L9Do zPx8!n;rD6QUg61OnM_+)lce2^D(FdOI4HO|3WYf-BsoLJKehTlSI2qv3b-`lQ#9m@ zjXwNHq2aUP1Y=|R)5*c5t|1H4#V`hVF%%JShP!d5Y!0i10N^)%P6aj=$6^9s%C>*< z8^oS-XnxM*UU8IuM$}i3BqTGcq6o-nzgt3sL4mFbhaO8j{bC>?Lci}Sw_T4weN#AszORq0PIV~FJinurD?Jx2Gylc47C@G2)@G$pi<)D7j>wzD?n~hS|kI+Os0@z zR>{zqVfy9h%df?4c2LTUR7(JMItQdYk;OFAJ^8Q9Y^XT5QU>)-m%xbJ;y23k`nE+D8Ebb(^wIne>S8a#RlKk%ZEAs zH-wBTljBY3Ar_2Gz50S4n(4l{!jDVGjeJH^nk;^*i8_+YTSN_i#1<6M-EZaa>ma?H z44;8~O^PO-CeTm(uq`|!;_<|I57nMJxl0V3Jdkj~beBtSc**!UhFg}Fo>pFb?N}s@ z=<#60D)gsHFg@AgJ^6;va%iS{F1V&R9d6%(!AdrWtZO(l=Dy6v16REvis{h89-xGG zrLJ2JV^$%Eu0V4HQ-u@~ry>%01c>&~rY~%_u~sbUnV}iYQZUz*8~nr0AF>S1$Ru7v zPs|I7CbU4I!6EnM`o46QslQbjv@`>!ifT_nvv!d!&CTl}J=*Ag+J^3Pqf0VElG~SD zR)lw^fd#?S!-_ki?ptfwJP}Gur{D3IB1*4@JY~ z9V?hzbQKbAOd^?CM(G`~faODDA`h!gR57Ct4PQbZZhklN+|F92A7Wc*; zlO`FG$2CrnKiJW?5!@XRZX(46m64Lu(${T|quBwAlrbMB&Xf$&0A2-8fp-#BWKNiF zE)?E2c*=G~dWz^w7uG-4A%$I;`90z)nR2?FEVc!yHnPf3Qgm1laR9z)H6!9)-!U|$ z?kkl0^{t7Q9g zZ~Lj^MY@Sx`#?!LFpi03`=X`=`Zt>M^BbgwUO6x-@xZ(b{P}9)1t#i+YDQmrvd#%~ zY7qd^K@m>Ar+N?3*S5xs2E?y;BzBri6RcRORRT2=5*=3;6+-;8I@HNr!TaJ2R2^;2 zWC*G_@eOvt7dOT{b4(v1tZ+xMxl0J5342t!~B0Sn&-t+mXtW#^1B!x6PPA zX333qy4?$v{I_$Eao+4q3);KRVTv9gy)M!YZkTuAfMV5xsxyLSVqVN@`zMkHQ!Ts9 zz`R^aU*=%!%VZ5Ojr|~0f^%5*Wzi=+W&}v1ajVr;ZtGqSV>;;jV~&1ShW^~9X+hC1 zlB`=q%CUSfMV=~;X|l|mmeQ5c$p)F)qq}Hy)<_bv|lMSZLt?HC2 z_-lD##o4ID#i7NOwF!L)LKPY1p%hm=>KuO2->JDxDw<@w$m) zW<9WiQ;PCuyu`LC`-W6ja)#ouY4Kw00e}<)cG?dLkCK+Xf397KV}I1Iu0;iC<>?{i zNm7JGISD0Gp?*W!R`st%8K7r|)nh+wkp?T`VpqY*>(pN&hdS}F)7jfU&PPCUh`3*q z8G+9l(J;F=*%)}QoChFOnxqlHsK_o#vkSjBECjhudySX@jyUKKBy{$n*(C`t%{4jB z62~KrQpGI~wF5IH;y+FgQpCOMA4fGWjr5x@<)Lsm-Ha@_wJchUERhko#gWAe=jkGx z#o&1mgEM{Ltbe#&moz4pa%B5C)clf86}Z5$tIpwfC~kk~6_iO6kVLViWcenpxFc@v znbOKG8JRN)DJ3bfc!~((Hq@5OOLvw)Tq7-99?ZEPYQXvE|TS@EB23-TS#<oI_3Ps>*Y?T3(*+S+R$; zJRzN@wbU+cKTx&IScy~IphI~ENgi<(?H_;`XbFdV`T9lUlRWS{cb}Jg<<#+eyEH~m zB}?yb$$V1D?ecyt_988w1*@rrVuAp7qzH=st-6%3RV6PKdkvFi$*FL0SoiQg1A+rb zmTXHU04`0i0dvhL(h9vZBIo3=>GV+R*f?`|OIv27T|Qd=B3|lxB<7|BBepYW1WAL< zqYeU*k_`}(u~*W)IcX3ySnk5(4a=+(Wo+<*8E!xr+|AOzmAZ;k;}5tJh?7T(0GOiE zm>mrnkY^pQ+a)9T)MK2iu$aul@8u1@Xnk7MA2@g3j7sQGL86=(0o;FiTp8QUA}n=;oskE{xlz!?6O+C+ZlHzg}G)nzkF-iB|1+vB6*##}Cr;MN3U?m`4@onH+4@nl+q-Z_G3xmkE?!_qS1qq68I{uBg z2+X;&t?&5Oy9VSt5`^-fY4YEK*6XmQc!ywlh+?g|Lh3{|Tzj5rDxAN?NwW!v>Fq;O zq6iZLU}QT!2bPKPE;s-1KIlyt%lg8?^#6u6ptefB@V|MzpVY!EeZJB0jOwus(wpW% zm`01*kM_4xoOqHHnP5@>fgToSb88V;@eQHrkW&9)#KtEu_#ez|FUlRa(U70QJ8q05 zE;od9WNfot23)y-cQ5Z{&{#f3rZ|O-0|z4O11e{ z|C&7+X1f{M%f{;END3iQ=1+RB#2GNf!BT;Me$ud@@go2wq+bNUW%!2={2JU#z|BTx zK#CeFtUvn*6eCXq}iw3VQV87#a{C-|p@8vnZ_AExL4UpvPiYVn*2JP7oAwCHZE zsz-XG*dG(~> z9#t|@vqUQUS|m*?;2i4;z)Its=t-V9<8@Y1)(TN?-;M`|gyTo~}*nM?7K zcHDd#WO)d3MlVGHgFT4e!KrI+!5*h?g^L$Y??OE{zXlKQUq6L=oqE?D-T>BL^>-Ct zh^rT*mjIQ6SXcl_nu!E9e-F$UZ%a%P6M(liK!V!O2VBDp8~8~9;hweCDO2d zhf!*TwhMqeq{Zj7P)gqdND52;f%*5pEI)%Km+;)!DySez!- zCNL4f-mWBH2-U+5K1nH^bgHGhQ#tX$7rGheZ5|t1(-aznF>|~^z*Md%WWT$F_|z@{ zm!=A$S&VwB*h&SAhzww+HTSnE)}lopwk4)X@OP|&lOvTs9Z%ZKR;4)PC9^s9x31Kp zN=~w)?)sa>UtI`DqLhR7_pCLqiYK=MN?9LjV;}oA5!djPxhovG9RtW}E&MIR(pi0c zY%t_iyQX^}0?_|Swa}^S*>&r1s*ok#g#pWiqb7>0SnY18 zQ2$b589T?Uc`f$=EM=m~>KJT9$mVpgeAT40X{5=jGc$m7v>0ZNLv`q(MUpE1l#r$% zs@%To6As?<6`@bmzm$CktGy9i(1SZ`|4Mr73m_<@#T52k zTQ&#qv>yAbu8IPVG;EKz1j{2#I^A6(5AhMHq7M`MehPXTL)geX4MM6d+Yo2oZDX4I z%97N4bagi#W!^}BbN{Ri3xCRz(N8mk4%Feb=<@uMY2Ni`)xls?9lub6$TJ`poHg$u zX64-MlYdSKhjYTR2ABO4@k2rlCDi%*Z?|OM9n$Z_9y9c<)bFIJ-Q~x!w_B41D5SA) z0ekm7U8s6jRrhWBzD-fs0Vd7M+^h#$kKMz~nb`}>X`U*Ig8=e=$F0ZqU_00EIgXT0 z)4xS1Yp8s8UX7OA{$Yi@|JC+X(%s^dQ?oSrL07sgB`=T?gmAaa-tpYB0afCKkmfD; zwCqeK&}RB=@osQJdN|WIh%c_{AB7H{D}EdxocZH6e_U^7!k;t%xJ)o&?Su-N<&Si} zCn>-QT8uyxw4Qt=CFGf;ESBS;p~QlfJn1A%fBVi}4?_!--rinNlaiE83@J9l*xX^T za$s7TV33XTGf;@d7!5dx%3QQC;*_vH`=ADCL$4?2>T(Z4a#4-;%A`Pf#yHK^@X=&S zleJ(A&X@7?cL?TVE*e;YCA){!1PH=((!)ueWSj>EokXO15AAF245!9sT!l?6F0;1Voz&Srl zoar^AfC;r zA7@LF_*hA6{DZ}-+qD`AcRImik;uN}yY*yA0a)ZEvwx_TFdQ4mlL#x{GbrpvD@J3o zq_(X$t9pXU5>OdBwYqJShxNXl6H^8q;`63F0(q8~rc>qCCCu&e$Pxk;r+8AxaRpkK zTXG{h3jY}ZtwGRa01j^=8+>@nRlkwliJTijln;XM@Mx z)>g(Ji`t@C-9;QfT~AynBbS*DMpHbMw{Uxw`1^jZ<<}o}H2-Z8UWB}j?;fVjY zDCAFLp|D!vH+Crbn)okK`3%gGlm6d|9zPQd6^g+{g3!<5rbTg^tet;Sm%QA~BsYWq z^u16EiN{J)7p4_tkRP&WXk%Fd&Wd>zx5C=+W%QI?GrTqXW>P?nof`9)Wg(cb}Xo~}%jy@qz~`RyG)H^=;)Cz*z$z=R&} z;J)@;o~YMxpsozvgn1qb5v6ZATz&~9Z(mf&XD_fMcfPg5w5*FKVWrn!KGnC6BwS|d z?>a?4ektKNP2xWBgAvWK^b!Yow#VWdX>l^ES~vJ^_BS*T2=$^lcPE|KuQ)? zy23$^^cUf8Hq^M(a_FR%VsyY-&X)=KDh@#H+r&cNVTONx=XQo)$crx)Jq7w@#>87< zDHxW(r&ayKl^^KOU>U?{Ti1LcOeuO)Ms%UlB0tB~-Z&~J@{i~*3=2w0fMCPO4LWN0?9 zT!BTJtcQUP(Ba}uH9{B@=%=tkR@&ASyVlyc4ip=-2k6#?S)Obpo;noLUVerecY#YK z1loC_SP{0Eu(s{>L|E9~Lv*4%f%Mvud@x%&Bdwt(MS+>T_UNqQ;{vX{LSj@4p>U2Q zk+1A*GEA`9B6nA;MN8&vliu)JVi6g%FFt(U80cO_VHsl)XHJpuE|Iiu_*ON3Tp))N zO5|{A^v|=pvk0I@43I{an&>sf?KfpRhv$ve5kn!rHKoAdh@_b{=JoQIlH`Wgm)2qp z`5mM&P9xJ1i@~!M(1Zev$~7Ht4uawflokoJ6btuO@QT8)!Ntdh3B?Q#M?Y1DhrI&0 z@!F61i}SYnX#POxoG>r^VZPb`7zDuaF2o*)@f7C^v5~+AS;0nXhHVhD(V!_O0j+rA zaL4lLhwDOUtT42761)sVaXtCaY0-gqfhMD9kw;htEhfr+(1A;h^?!*W%~TiP@I)*t|Llh>36 zg{)##V=<=CsMdu~T$I(D5|;*kddQ7c8`T|?sNp zxDI681t8^gY7H=9`~YzIZd$|q8w&fhj4}N+hUh<*)cRnBLaIZi^%R8)JRRm+T6YFH zD}H5(hI^1;Zy+^>LXM6=5f+8aSm%v+H*5g94jD88U>1>vqq}5#xHk%}3@~B^;g{Or zf?$v-BY=(7ye<*|$Z2pI@*kdOFEiJlzhW`SrbXj?rIQCH|Sby0pb8M_(n}DgUet+ORF8k zg$o>!P%X&4^WoEMfR6uBpGFN7-lC>j*?XDUmcr;E^_DSqo_p{wvSM{x3Sy;nMv+ooO=D72U&B_^)Le^-vDK$OpT^0Hm%I3? zwaO?TH&$e)Q`}y6w&z|&Hfvj3OKrPERL?NUKiI?)ouzLR1glva2KPJ(pwdqp>kUcu zf(O_dM2RN31wo>$IhCD!d=BBbF+g;qAiz9F+{!SE$woSTH6J@BQT}l^&1Z3Z%N3OL z@+iPhQ?85q&D^{_z8Q5FCVs{HVJ^x8MR+dhf|OBF=L9}fy^@pF1%QGi8NN9ZVc|5> zNKHXEGtVp-a%c=;R!|f&9*z$)d7w}d1Y4gP27kz!0MG~hb&ry6IDOCQDogLHz0|f@FTG)RzlueVEskY@In_a>W}v5)klB2yho}z;gZMwG1l|4 zk|%Pnw=#Pyx8k|C=@rmG{nK@MKq|YV^F#Wc51f-RyCBF50S0I+!~OW*{bOXBPYFG` z716gMH|3TxYcXjT;*U)w+DG_bw-D0OEQuMWhx;l?RTJNEv!9F(@*dI4c3Cz;?#cGI zVF7>&sL4^dVDdvi2-RiZJ{_?GRiP6w3J;~wSshU>d;^%~PPcImqcaPbY_=3F9)!p< zfz%^lZ2|A#?^L=Y7Ukz?Z;#DQ^&rJ4P7MDPzgnfcP(cVvK&Z?Gz`m* zM&_dwmu40T0YXs#0H`jXYewF)G6eeoT(-K#cGhWpC`MLFrNv{apCNLi$38LWvY`cJ z)&T4WD~tHj@S^=on?W}RH=7f#kqU!6%}oHoGB^yfiV=Y0Bj%aRkJ~GmgkW@3<~H9L z*Qu$JqP=YC?&^>&K+XGO?^lh+g~zbCWRyFlZa_LBNPgNvD_BKRz*SKrnPSUd!2+vE z#{NWv_C!1z&tHe1StX_quC#(|b}L8S(NS@$kLM@!K~O^kXTOx~p9*y95QT9>VB?s; zAb=)cinmw}qx=J8_sn47@m~A$d#haPI{A)2tWU;FUFGsEy5p zXf}=mA)#qFM9i%c2q)m`;>=H z33YiE&?^+AVQXoFtB5_Bj+?yLLr$tR>=PG=%Cn~(&s1vm{BFYU`nBg@zi2A+VJ9JK z#cVzNFy)eaa* z_5}d2qD0ihx8y3H4gxi76J*o3Z?TF_39xDbYD>xr>wbhi+(GYOO8I!7*AS6#0I zDI{y-q?&-4^SVKy(g1wC5=u+JaVR=G(T8zJfMpnP_>`(OJ*yraZSL5#0fh`e?;dKK zczcjz*+M;i$xf75v^_=;OAs|rZ3Xfu1t2nkB_N-x0Dv4VjG94TiaOb@_08ynI(q2wieY8iXoZX&u&H}a4(rmYDClv z@UcBZDnu3Zc#)Knk-Vw^&_Been-P*|`SEY5q+PZ4 z+h;nVrHctdX!8$8X}ugktS= z@|#$Ycqo9ypdcYM=Y;imQ_CByEpqu41bC4A+1DYrJZ61jEx-SguVuz*UeuEYZIwdGAd7_d5N+Gd)g=INUmQflG|rk#v4L z*W*e!z@?R+0k5x8$+w32CtO`q-5lXNJrOtU5#JqELtO9qv#9c4qvXFs z0SHEHSQWha5X50rS!N~b5mOXESto*Aw@~mQ0O}Svv3qO_pkx*u8b*S04D&;IA*Grk zHAO>l;=;VulB3r;yETDON|i!S=uLFQxC{Y-BbMVIKSCHI%NeJpBc_?&Q=wg7e#Uez zWI7@*;Y25r72TJj7ILZ(fynIWDb9q4m6RRUqY->*84u@O^Fe?ihAXYLx)%mkTlTX~ z3^D+*8Yci)4**QZe`=r?1b;NOzmn_Sm1khuvBx>@VE#&>6$cVIF|M$IFu+EgE?*0TIVWEhZbiv4s;gC#Eac;V$KIv9!0VMKqx46OxOeTn$@rSa6$VF+2W3wosFu zO5rj!BX;@8-%`i_&?Lao>X-Bjn(g}Uq9U~^#?*d~V6hw-D({d*@=(<)*|fY4`TN&N zz*rpO*v}<_VkF8i5td;oAymoXlg;i!m56N;SD@-c$GlwLzO3ypg z{MU-f3G>6>O^vM&6)tc;~b$1Tx{qXzR_#} zYDrDp>_>3lv?%V!70?Ixm`cr;CRFZh-`PB`zh!@D>SUL(_oZ}bd-!O#1!zA7QDfeM zke>5U$w$Q)blDMfzI_N@bDlH1Qr&Y16(bhYQ^QmA>0+lbH1meS^+8>NwJ%kuJj!Fw zhEdj*;7qj{Ex)%M+)A0?po?J*r_Ih^@h0x0LZAdXOS&MKPcgfbQn^C1?H}=CD@#xa za&mH$JqieqDXOlDS7LaY#TfXBB9`_7qOa}2vFT(57-!9G# z^cIQ^8+I9l_%spW8~B|*Vk*pG zP$Cb*{*a}|h9r(g_!*CvIM&D~c6r<)@z=$o5k3 zCpxi$*mndA`}{Tpc*`EYfq1`}^n-%>*A#UFp#9&^zkq|sY}Xq>b{H$If|__50EnR| z4g!S1959Y-4Xi`ZusU*`^M*LC3KyJ8vAXL>xGP+Jm&UE_iXoN_DHew_MSFR@my~9e z7ucmN>?iLyoI26wgp*wlAKqe5W*55$g90`U-jan_xwtdl1+%uMCq6_XA55YT{C0@QHCAP1# zMKo7YztO#Od4T{3lVEWWQ>lr(nM%F52qI*t&+|ZdCiDF1G;)dvCw!)do2QkB4UW~Q z-S{BLSUcZ_6-l%szD$Az$51x(6p^AeC9zitEk0t?8B=2(#OoC*$K{Xp;fu8kx^4c# zef&}5U|lRrqQ_ePoE52nX(vjYlc}n~R_aIJ-a!C)A8QErIq_(h82xVXt^$ z#5pwl%le&@^12#*tCvK49G9umOhrZKtM3$eiTfepcLi5Uy4O{wv)Y;B?|+HiRn^^f z)vt}dTc~7R82wv}dBwzju0y^rUv*!8=#d*5096gt_hqqLG1}6LVV1ngRFfi-l2-O$ z_(WN{zW7O9SWEncILFMuq(V8KCySHB7SqCZd1{zsL>{|i-dG>J*UVUl6Zbl#)QyCr z_sDEW((r;JjPU066z1O7{(2T6#?l$}=T5aWYDO=e>^9J9tC~D!a@JGE4I9X^np;Z_ zvidV=zak2`Bs-V6*~25Beu!Nlj?YwB)Afp_G%GoX$AmaOZeKWo#|uS&q`@=FhF)1v zlIdfzR6%uQR5Mh;!NCo>QV*-sf!gKyeID9v^&KkgdzS?NNWb2@b!NfL96bWhz( z^|)Fm%dV&q)E(_I}$uQR;}eMt*2c1Zz&auX=Q%D1)r+{5V8ga^PrRX z`Y=fAGNl#NyIgV79B8v?T*6ViUX@EJQreR6VqDB10AijZqrkq>oGf;pZiy*&nA>dJ zAc_L#r78Y8*;~Ja{xC=nb43qF)f^F@svgJ097mk&vC#YRG;iq8g8gkJmz;C}FP2?! zq>Lc#8!izg<4XBDY38Byo}pc{7O$0afol)-UN41f?)UZ&PsJU_zIP*=plTEyNRE%2i^RriJO8302bv^PVBe+2by~Xz5 zFJj*eM=1m{L4Qs^cM)WJzEh*H;uU~yOi5sL&(kYqC`S)p@e8+$fyU#&=q1u#Bh??d z5HX#rWJ9Ukp4&L4pw*!8r?*F1h>mCH%4hG8^N*4Np~`4QMo-&c=K?dsU3bjQb*0&O z>0lq{-{f9-FIsS#kNtz09*pTrD}OqmUa{pi?xGv(iuOET-biy5`$ljE#%H1fm=#<~ z4YLwdAwHm`etbvxD{}Jp>v>|Y? zX8eZCfCU8Mvu=`KR|0%BkD+500U=^!Vm6I-$kYXpO$%fWgenlq4k6*!0I2x+B}C`F zK?J{5%7=i@c^6lAFJcC_W$?Vy;PVFbuO-Mu<5@}RD|-kMjAXCqu6AfE% zt4#2F<5CrwrMxY1^0L_k%iG%+G0JV$%y=@fWb~lLnR|O(`E-%U#0Le!5 zZScUxgI|ccMr3zMCQB6NTY@Ok0{}ihlXhoI;8sk#00^~lPDY*-RS5C#21O~fX9_9` zfT==`!9V!x4RVROmOOoeES`aEsb|`z0|@}XrT3@5a?%G40EiO@z@U=>;3Ur>POt&6 zqk19fE+L*Q(#8M#)3RTpn4K zy)6gN0!L|nb8Aa7JcO#FLYmlOYB+_QntK_8g4*L4hoZXsiGZ^D6O4qahWnj^Isg_$ zT}{)P;+ZrEuxFYE^JI$HMnDFkXvp*{>g0=tN1vPF#90-lLJqemKyS+!V#P|Ul46ta z^YA~pi084w5V=atT=yWDwP653232b?Oon(A1^gi7K2jS711^OE#z{zf>eI>ht^{_q zYv%@rZD9X5R#{T!!WL5+M_CL%T=*cK1Yk2ga& zj`SqJ;=~xDCc~^UZMPmC5*~nSd11aKV$vA#xqVEd6#@{ZI@QnE9a7Q47D7{DL=0IY zf`P?Bo1_BJv0GeVW$CjmZ0cNGL!sm0K9&fA{JeoFvck9y>x(s z()RmOf>q8ln#$1?*Lm*G$M@nqyTr5(GAGRj>=6Y_3OH-Fo!XmlmpRmj+FOHrD^W!O z!;@%L-VEYl7pxzu$!>Y_Ln4Q+0}7i?f2g}wRE@C-yzYrRLJzzHX=0DO|H`DC_yk&I zhpmpascQO6?Um_h$x;*o_iDaG|bjjhwB6nnUT6jCj=Xus~f}EhjMF13;C2~TmR2X7X6`2|^c%%k~Q)OtUbL8)} zK2#9^zS0K(QA8vPp@D1b|5%Wy7A@L{Ym2JcO?ry;otR@T*fFVhd?Gb_l>voIWlb}0 zLV7PFHBd%LNO+Qmc@vb%7B`>d#up9v5wD@3c1Nu^#YcsSn_H^pDi%h?(M50it4{VB zW|#EE@~-60^lO~Bcp{JYO_|whW(tlO*e8kIQe!47h1&}Jr-;+iN0=;1$Dy8US}DJ| z3CcPc9WzLoGwyYWZoRbz5`N6wVXH?z_-YaPrcW|OX0N> zD)J{WNls9o#&<3Q@gWGBjt&vJxjIJC;_>YJACL`Grf3i%cq!J}sNMpEKR<+oscHXG z+LM=u$S9yAYo8ZA#dvcKWZ1slCydx=Sp5{6Ccgd+;7(sP6nBs)Ha12E0Qlj8uJ}AS zU4!KwFcObjT0?J`qKfcObuN6fT;(VyRc4 zbEK@`i&Y{R-)$Pi6mgCntK0n3l;s?%NK4Mr@k2MY*NkmS=bq4c1DV^Wr8K9Sw`z;e z{@P1}Zd9@?r_&{>sJ`r=z&x4fiJ4bVjOR(zGBVOB-5_9)Y;kFO9igY+60X^OYYPH2%DC$VOSpAlyoCy26g6>gL1*)sIW^MVZgTC!VOe9H;35B!})6 zB^9Q+t_^4W4hnNl#~jYoMl$hdi_qUe>Am}luJ=}+z$#TX#H+WvWsgK%gcQ_e|NPVF z?aJ9EE1!*h`=hJoTM$F+SpRi>&tdhIBC?v8DIT@XhK@o=u994*+IKv&cjvRa9lMO* zM})Jj(FB!J2jdv&^P*!=$Tj(NE?W@``}oS~u9BHq(UHtmwyhai-z}!ST$J<~JA@3i zh^H??noJ3KL>!o%W~R#5f966IVPTiccy0(EoM0}e8c1{)Sy9Ax7+y)P6NKiH^WAM_l4xR z5*i}^6VSSksgS(OPBW9TzTUT`HapFzqQDiX<^E!`!_IIbd>{Yr{`-dFM-@#rx%Bgf zgZuc|UQR(rJ)eGZ=BV{?QQKo!=?}za!$o`HgKjVIDWVstZ8pl z2A*o4;BU(N&vvJVbgzGsTT@>h6Sb7!z3D$ZP1HU1Kcv5Z(|xJKHK^`E%%%Q1nfcTm zy**H^^>@N#>QBM*r4gK3Zq6N6&UkMxq$nels35c`7)Dedso4*oD|${K*qd-Fy#Loo zj{-b{={*xAvVdqAkp@tNgTJ<9m+Y{!-FJ#A43ljYkvR-qC?q&<#R1f^*dYinjD?iv z`kQxWkKZRzEa$$1O(?}pQY4zU7GY8pK{YoOr4OpF6vU2&j78$s-ad=Qtk5TN6foGm z!?SY;pR(19`Os2R)|MmNKTC>W`W2HBL7=6eMrrL!^|bC=k|NS2uGJbd0PxKUBp*4|8xKh!ZAd_t zOJivWv}#M58;ZGp7hl!yV-x6(wUnH}AGPxv-gy_1c*|5D7-9G&Au&sgIXV`mk5!A$ zyJ{&ZsFQhLIl!pO@n?BtR!k<>SEklarq^F)77A!1(!64d~ z{J~W-FJ0Uxz=+*>Nt$BDJ8Ex~yt7pJ?kcPB*oh3+Ek`U{YtW=mEbezEB(}o*Rwc)9 zCG55`d}$@LQ_Er=F%-r*-c&c#rH0v>Caj;>&apPOt033n%VDNIffO#F7cX~jH37LT zqdzE6t2cBU#?rhX+%z}sq9&6XAb;5)|K6y8+@wI1B`Xlf6*VdOZl6e-WgHM!e^VL;vCXIs^4BA0xE!Z|<}yuer6#qeHC_K-JakkTt4 zDCBp{VpP5wIb+B~MZCKpFFc*N90*Qkj3N36B5h@yziKd0e+hHOQD z);>;=c3CklolBxxNMKi((}8JtvuT$~dS`R$a+&gYSGqP_=6A^SakEnHg;MP=rQS=W z**v-7MjpSGQjTs(@ImzIa91=1c;#bOu%>Oal3L-KuI69@{Iiadnm#w7JdC=z_Nh|= zPf37!uGT|#g-`NQZMY0D&FQ7WnAgC`QvIOY#Ar4g3ZZaGxnR31_C`b52cLNvp?IiC z{{bm4`E_y^eLQy}l~PvDzie1MbP1Aq;n5w8oC5CY5H?{@?R}aP|335fTX1T3b~L?m zrgHdDTQx)xY+l%ce6F-ct>!?Z7C@^OJ1skVrmTq2NwBgk2|M}zZ#n>f`E?Y_@3xz= zjaP_?27_v-4z?MYS?LK!DD{5QRe9chU1YaK>2hO82(HC~49q#*U#h>No0!Z*A^g76 zs|Kc&;$N_k?3>|O)gR$K;$5P=8@S9~NxmH?>}7vd=lk^auxoX@N39aGs$!NbBJ^o6 zCTc);EgRBl2Iy$U>uTodsUx>Fl`*SmBr}J_toAx+YO1R{;0sa7bSWZ9`UU}Wdq)i= zRzv$~M-S9zKE0HixrkD-=7lU5zt#ng*URMRJhbqSiqy{!1bSPh$DHyQA4OC-)*-<) z1i8a~JUkjF@p^mfZ7NtRo!ZI4S{@8yd(az?GKxENLnp3m$GprAB<19Fi(71}2EWxn zp>^=(YaV)=eQ`Q-@j816?1oO{SNQVy%nMhJTF7=<#9%24!!3F%ZT-ISClrzQ5zRi? zX$$v--pZ9;iqYIK9dr)WHVA5Qr6En|Df4f9b7zko;# z50*2#eM+AR5)%uDVzA~p2%o;;v*feCMu%HBQ`DWJlkraUUUUeZ4w>IL3jY6DoAtli z{yG^k5FzrFi&idxkikfWswSybC)`}%2!JinS5UeFwtDDX`PD)TK{s6Ud~qAwvdB10 zr$#HLl(`Gks(CqfZJG+(;q|XSMUXUqhLwJE zsT`4F%0|z|qw_BIhO~CjiYHuks@Th6^P!b;kg&~R?2v-xElr!C=t`H60%*EdW^f)@oSG?ksWm9o8R(ZKJO8k|fp0MCqsmZ3 zR3C_@A7^G1#7G9vR{ki?{twzF&B0K69XsAacRj7nL2G&WvtDgO^!cz$t^#JVroNg?0)uKoIPxH9-a71ORqntFyc==R%;xpNJSf;+d-)NX$=26y1q-osS@n%ir>SnrGyiWUXubm~n z^0eo`en`)@CoI_2YW0rN}kz%LXPR{FQh;-cq{AXnVItfv#ffCAx zuTM{Ji`SJf3Jj9z>ql{&=ME$By21PfcSmcNmJieU0}WcyqqqE9MU99N9f#hlCSc=( zG`GCrfoo*?a+ZN02u=08P%^X6=%By>o^DFit=XFty~nQX{EZXJJ53EDgRAatvnwPw zYz4tmuFUWOqh0WjhR|YqM09=tbMpppsIgg6dsSMI?Tr7hY;|j2CT+M97L1Xg~0qwR15ruln^jB2hicD{exy;uo_!*-G8j76D~ zu(VT+~X{x{yr;ch0){SR7m7K~_XIdMpRI4y$Op;)IDq*p)z1q#4^+R!3 zpQ=Dd(X7?6$Mjy}IY+F;U?;vzSaI`WL z0TpBhrS&jnx18AO98R`O_}oxMm29*hYygK~E*RI3yBbEU@{{n^(2G~yx-3rv=gCp& zmZ)8Xy%@2Jy>prN=hBU6lqH25ucg8eTWDnDqz=7lk{jw!=VIigG`07n%i*ZTTLj-9 zI`@zN(N6YYQCX%It;^aSrwedo{N!%cCmj?scPgZR@eQ>mJsM5|Cy*61NLZ*WcB9^uHktBI# z;{?T+67D<#n&}C_3L<{}H8s}Kav2wGkW(MnzFxZK&i{zwm8UrdiWUF8iiKaS8|I_- zhYf?tPpZ9iullKShUdhbvisyraIz7YdlB4V362UgE zvp`^G;D8rzp6%xi{*4DOpL?YsQ0zYKnBFlLGf&Sls?AhjoaGRJsYX(Vr}z2^_(wAL znEJRDM{44T=}Q*2SsyP5(yfiISBELz6EF(|5Nj$w6`&t}s>582 zn8xlOGi?4`PIeiVlym!5h2xGTVRjyuo|V zRe4R~@a0K{aU$mGD{%==EBnyVTn&CRsqWKPjc~*gWbFdk>8vu1nfH3FzZ5EOTeh4h zCtLUv90vAo!%x)jR+j>1Pt0DGiiSx0WgFr>T4DfaAI@Ys`qf*ZiCpWxXzhuHkf)iO zc|jKTFlb!dyKlrt?~zIOMv8~}^V;)V=$_j;{{oU{%R5OwGI$dztmka<4sDEfxLBJW z^iOscwX)BvPI~hD=6|^gK&f~VElYafzJ1p;+aF9C@^Ug?@W*K`+!~;0(v~Mg;Qm)x z{O94zVWz~~C|memwYA$~J<|5t(v?lyH^Wd{Q&+XrjOv}e|p+(Q-YZ0LgDRSg&; z4u98r&L`5cuoxUIy1_O);4Y3Y0o&cFzo9nPKPPe5I^bPQGZ6rPAUkYMAAaV*&;OZc zXfWgd-*;h#{zZjIQ>1E%BD$~;`nCYTlxxL^L@yMpY@8}1!GS1Qp#%Dcy}BtzY3#Qm zj^d;URD&-TUjy_i^cyzmL=i9LU1Zu8trL4Vv$G8I^!HPH>c&$no40Opvrf8Cf@5~~ zwWAbm8zM?X?=*81V<@CX6>m7>G{tYSrp)RxX~8>8(cvOLUJVkyilMg8IpWj_nf}Nq zFyq`HnlI7Esk?Z}5xOog8C|e`)}LiTrSaPwY~Ot?_X;iUcl5>U|Hj@I8oNDc1cVxx z+PU`mASuvp*t&Z0`%6liv2gzM7VwXx@56F$FpTRmlr~&s>M%D{aA5{@tX)>(1FAhX z6?sqewwP>th`AK!q>3>%wX*~9@RQGOl<-5YnavRdj5!?Y7UB2RY&-yDQt4 zHE0XLs=n!mgKUzkFI_94Wn|KJ@1EsFt-5ueTkr=+wtTd8*a^GLp7ZQY%5JYZlNwGN$%`($C4IEQp#19-8>d? zFFilcmh?S15P$lpl%Gy>sgv-S2Bps4F5Afs&%pJLHtBekMA}yh2BL+4)sEFYmv$zm z9WT!38cg-h+IA-YY7hGgo2^bs*YYN83Bzxcw@()F3cx%M)EiOMb^I5u_e~8(kW#&wsj?pT6Z2O+y>7^5->j>w{P%v5%&Cl$m@>Pl{2cD*>8)^ zKRpEtJMA?`Y-EqJ@r`;#Y$$JI5HaXo+C>Z%)w>FD@gB^6w+J3|boiR2?NjpLVMQ3{ z#(2uDz+rIL!h$(w>WoTxExVGuk)z{zqHnRbN<)Ele?48WZYhWqvFhrVEBoOV{X=He z$@<#+-fHLPf94t10;6v&Te~|gsP5{V>zD4Y!WYN(y#DyDHCa+wCzHM62X0Gs1d%+9 zKZF(cTG?e7I+_jD&+A^bWZ06223FSGvtYLqP-7_rOZ(_+#V>y5$DYU_vPtr-Kf0>e zT6r?_1z|~xLB~D9*fiKrbXbeZX;qscRuvveP1@#Lr7a4>siG zOlD4Z$mAH4c*bjAIu^OXY}!))`q^LOUSiioy86BqqJ16xF5~*!1c4L!--oOEu}PjR zQoo1r%rNDmC&S}v+D@>R87S=)RM8pW3j+=qwVcY&Yj`&rpNf%YJekC@r89oVf@}Q* zuN*}F*{XuK>fFu3a~BUO;Y+~TRA}FM9ZW$0T<(fun~Lo5JIx+W zvCLnI2|51VGDt+n)3I&Ql`CfR61!Xuxqs~3P85ZP=-k(97t1LFh?zUO;j-+uD^jCY z8}^>3hFxwaf zx+;Yt7o~5@$+(Nqbij*W{{kiDz6w?L7XFeTC|_FIAD$RC_?0ZLKqsx-FwJRVOK!uB z0ZF_{ZkuR(65WKw?V*{?p&D0;)q>I-+n{$RPCP~w!;Y|5zAQl zlc(dFQ7hF64p=XJjNxggKC#`nPY!HSn#NVM`~>-(CykSda=d5#ZiJkG)c;I1Uz%h=N$VnQEuOg3YWoe0A(3Mf1#1f+%cs14^ znen`3fbfr>C4|}wgWwP29~xNgu^Byk{Ehu$eD~|`0uz}pq-O8Ii6-%~VbrYkYwrFj zIG(&ds3A6owG?noIIR8iC%?CO4b7^gVue<#leOFLxb5#^OCF-Nu<4jG*kf@AFCo-* z2~YEE{L!W#j_BqHs0TS1(Rnh+*PA~vxdWlD;!g5AGcNg}#y0;t#TMbBJ*d1}2$Dfx z86IH+g&119oIV01pxzY^nAI7iFQuAG4!Z5yxwEI zXCwRNi`^>%YgG=!6ebmG|8C~pzM@b=x8j|FUR*0}k$k-RF9vBaVUkgwTHiLevSr)@ zd2Wc_;(d;JGx!FOvi@sDsH9X{I#*y>HOdM6?Vci;!{1rA zS6xwkoD(bV7gVzDBV)HfmwBHJfuCuy{^{l18Ev)3$!bh}hKN~XPaRM$-0=0*LJj`z zXbkb4Uoh=wu?TLhXsk#Wy^{RgDO11xOvq$awqu}yI zduf*|(x?}|BUw%OW2&8)ZdQ$Q4_yC`-Xc%os;^$XeD-8LcfRbdN*_ty&@5IE19Hhf zHTc2N?<@efEMbDsS&0>5mx4xa}PF60;(RP;$XD4e@P`KU~b#$p|A=vT5;=&lW zeF?8&f%g5fx|3SB?%hAZXaLUo!~S0+%tPb-&T>Y;8>-IQ_kZsw0GrI0qc`XbM|Z@Q zBi-f%W+}$)mp!ouzqGWItc{;8-=NkjaVV6vn*LImd2wWsFq=J;??O;@6AjeDAef!; zkF4?Ubd4p>t`b&`pVhme!W;vv55s{CZzRQZ~e1Pf&Xp z2STdF-Qa+B;RBoR*sMQ=mN0s2f=ib_l4FjCIBvOgYf9LyDkw79e>Jmk!1J`ivSuqG zV!G026Hu&-O5{A}AO>dm36dP9XQi@oa`Z{0z@$HzHoB6Dtul@>!j(M~^tipVQw$2z z1rF<+H>*GQB?3f`(Z`TgrHIs|=)DTn6kCfP1e$IB8)@hKT?g1T*feTvqiJm0x^eD} zZQEws*ftwAxUp^9wrw>2y55;tYi53%Z~ltstmmA)Hy?X{#urh(=IyL3RpgPSY@5?= zLJO=`j*fZy27o{=6m1`aG$)Z9M@An>!Os*9<37>qZZf{Cee?EpK9qBH;u-8*Rl)8^ z)^2d?U=n+6p>C(R3(*K<=Uy{0mct-xMyEUA1sc4$$vi zjhKk18z~W_R*xAgsp<^?#Mc$<=FOdy3$)N7nRK<9j?y`eupAAv{%KO}l$)0uW7`Jo zcQ;+Mm}$I9xFR9WTE=DStjC|JF5L*p=vfRsDN=qz1s1UMLuV zKa!cA+j~8*qC~A~zzuIbDgf?6{2?q~Dd5BQt$hJUz*t~@hWQsH`&oT&(2BgT4`zKA zE1|zER!X($ezyRhtnxT;lwcBxoPKZ-xUI9U&SP&Z z$F!9#Vfzv$e)HZYYh9 z%kzX2OkR7MeJvnycY-4#t`iTxcwb^d6p zr#oG|&1Zfc!7g+N%$n_B5s-qGMsx*rbdMlKTydlMI<|LL1VU~}Rn1F(3|VI8zj7g} z;PuETX5P_N+(uH(Q%|%zeUTV>bHn9xG1VfWMvB^90U?`q5s%f9z4ex30+`81$^(8M z$T(7Lz6-~}Afp?gbAIfad`{8uU%F<%-e9$nq}%-&ntiML(}pjwnn-+A_m%fG|baY3cK;P0KO#7D&c&kFSzl_H~*4>Ve?c6<6? zb=%2?inEMMAZ}-ZnE|&NqD0HDf~HBZ|9nIKSk}SS#-61?Es_okBeQX0-3H5=$doV| z7gUHS-XG>FqsHF4uNR8rRsjx#Ur`GIgcS#&7MED`t(#f1eu|*_hOw$WRH9!aoDZFH zgEiOsbmAMXg9cew`L1PR2c)1 z>K3iX-8vY2@aS`e?5|u$M_+qY@|XwvnkBXH@Sf|i@$^9wdw}3lEABm~{Eehwprd&T zXO{$A<~lKv$LE|>mTUuKJ4t+5qpm86#M)_Lvy#FiHM$p_e=KqOjxACI9hzya&cu9h zg!>RMvmW6f!{T<@!EvvXxo7N3A#=_T<$PoaPGE}_olDn*{Kzgi@S_R;6m`kS%q~sz zQQ+iifwGk&Hg@^xAWJSd$8w>(FBKk-6w7fybsUkn^)slFq4 z1fRh0G=oQAknY?l-OG#lt&HU_o0ndTK}@02UAe^(={_JlUYSW!dWGnf6rK)f#>CtD z*R&@ND#?a5d6wMr=6ez%wF^U1geVRp{CBLlK(^pL@#VqX1AN!;X*OdulF3C~;?4;RNi=30&H(XPJ0wmj^ z$-gP>WqHUvXd-E|8dGw5@30$V^gi{ zNVoBURQaoGDAQz)CRhcH&c~x=+V4f4Pshnd&^{BSpHFidt2?i!T!D!lt;;hav7?$Q zruNaVzxF@D(D6DU>D5ZjhMeeY?5A0nMWZuYoXk|%J0Znx4hc6J3PbUlfJZMVcWk>1*yCYY(zj)RX3U1Y<0l z!H<31af^L~93i-fyPS8_u!a^2(UidxZLQ^|mSTxDkg@H_c~mwWe{S=3 z(7Wh(8ho~XTH$BR{t|xNLA)Masd-V{L|+ZBF}j@TbcGj@$q97bw#sqTVhFEk2ngxY z<(RN9lKD=SezfB2)}NJkzwXJuHRH$ z&W`qsOCUR*-1zN6%^)$k2a|NcNK2t|w*X_c_IuGpvfwGx>V=r_W_lTqyT(47-WLbK zhm}_;s|&rVMwh76*}UYot;)zBBhdmkGiA?bPa2^`&^nZS*sJj`@h!}il-o*L+Lza! z=gxvIu4f*iQ>#qhJ?b(8;%C>#H8BIwQ<48X3UgLqW{z13iCNIbMC@iML?3GnYmDos z9!c=$VB91BXcAGqzW23OZ;NMjG zvJdj2Cz!YAi5g_upl@B2O8Rppy9A##(%-mOvAuHUThC1Qm!|eDwg^IcR<1l55~QmR z=#9F|>Ss^VQpfPuRMKwk^K?T#vX+6v% zRhD887l!Ip z*)aQxvrc~v6#R?BCsE;|T zHoe2d$cssAm3BR5r?YukuwHl1Nt%}0A&fw^NzJ`Hb}c&R@9o?8w|#_6$H|dXjx4)Z zsi2^xdyNV+Ow_9R*?Qc!oNr4GP4ebG?fPIFops};ZUpx_KbD=%OHLtx3gOtwMBZCW zOtGBQm>a8rF0;iKzK}(Zcj0e$@CPvv9Y4SR=qfsV_Wj5;Xxh4Ye)s>(-MagP5Mjh9 zIVH233plMrs2#uJLBn8cY`+l8C~P@xYpfTIG!Cg^jq{}_Xe?c4*!>>ynsl8P$!>&N zJyB0I+~?R2kI7M{vwJ5-H)euacVo?TEx|0#(#kty>i8@*6PZUqH}q;oG6G^}Dw07T z$7q#RdbOf#cTSR_XR4VmE0d}K@NE{d2n6GaqHqYjb0f38GD%RsU+iUZ{q}i zVy^#{b8|D$ROd{#&{l6~aM0CYo^MN-Y5tCKn&BlQ-0;2E|ry8E&9e@d*n4-K%V_K3=m8A>+kg!zt$eIC+FCljX z0yU$k9U81Jnc~&djJ9HTv>&^wZTWGAYHi!NCTA6_sA>ewTVu-a#WN*7%?q@da^^X2 zLu8uN7ZZPOXfNVqx701Ek_I%TGQGOePXw5L5rjSP+;`QUe=v(ocyQ^tdwi z`+;z8>o1&oxMMFU z1$>pn@L!v)BkKJ_UG@G%)p(x1QDg5j5Z%#$JKjlH@aARdINL0hb4SR}s$V8}!_G}+aH=Emm3Kt&h~YA~71wcpdPzt%;aZ(AAON|eQCK5IF{+Ls5P?*y zACFCUTmYHe2|XVVd%qY1A;sMSzN;ow4da`&l||K!Z4qw1ymFAbs?{p(?=V3m%-(s^ z8u=cHxo@|`;a)}~{UeEWED5Bhh5&{g+KiIXNgQ1gA#f$3c-pvezS6&bgQzEqRm@!Le8M-PO)kz|9T9iA)i<; zBAI#J1LM9bnpuBfw^iIc#TP2YD|5E)^nWR+`%Q1)e6<|j{^8-si8>pCU?DA=M}Y}- z^t7y))Kk>2!mPnxhXGIp@G9SR!M@&;TsTQj5l%qgb(wgv;N~IgGYejtxT`YhSw0yV zD^BVntfK1i$2l=e0EAqv*7R(VWXti2NTBlZ&GZsAM;b##4w7?fX4<+Wb)j6rwVoXo zul>x4v%e_Q<+lpBS4q;nrXSN{1rvX5ICX)VC9Dz)EqKvdR0LW1m_J|mgXOS~l4JyK z7r`Lw`pmd_J_ii_!ok(e3`_7zjBG;GIhS@`*-8JYPH+x+DkPf9F`|{JkGQd{-YwS?t8*d-anj*SA1PhN$q{3rxbw$^ z?m$v44KYl+>*zJGwb&cK;cG0Hf2AUHrq?$tYT?NB=_R+nj%R{BY&9&`z1*ep3_!!I z(}=YMojME3^|3z=kdGr8SOF!`0LyWE6$Z6062`4wMsdnm6jBpz$uQU67%7AT0_=`s z4JD0uL;oZ^8%B2ic@5(6X7gZ8J0$L5fMYr2ivJ|Q_oT(W3%M>Wu(@&tS>{~`uiN0Cr!uL zOx4a7+dF!MwS>3$-##Mi4lS^od(|SM`!99|fhn^bZ12P;>Z6xjA%h9N;YYE_#66QL zyWV8VGwqW}ZkfOhCg>DJw)7JOb@y#Mkk0uT>56V}EUowcDst=RO8Oa!vzopIuju#= z2dwisPKY~G%CXIOi6mFi)kY$sRh}I@CA+Q>011=g3bv?3fsChrR@R4iVxa`A2i=?4 z`lNY5+qDzWxjbr3GTIktR0lfPQg-p_B#2lqtK3*mzTU>8$yjHQ^lwSy*1ki&wf>2J z;U|EpdDrPR<@F@o(6Z(~aPZ-7*YL`9A$W1a>0q*nVjq+~M3l{h@rr#pB0dHcDrY%B zKx)diqVes`jL18bapNX{YRx8I$bxR?Lv-Dbozr3D}RE zyeA*imZ_}ZVHcdV--Ft_JUr5S_2%9T@i_a_Ua%26_P0XZ8TT;xghgX`E(v~V$GX3y zoLh@(N=nB!H>X4G-(Wji+v3YrGUt>?YtxE-{#T{;&=fJVtkY#$hKQlP?-2F6+MIpz0lu#u}FK#k(e+(G3jiJWkW>Haa#z-gvlVw&{Jyh{kT<0n(1q}jP`qF z2qI=W3CEELU8!pbCzHtULI2Kt`6~K+(D|%| z=uapGY+OWGQWz86Gr$V9JePgo2(bvp1YbTzc;d2i9!9*zd?>ok$dLB!h$14!+*{_B z0?*8mcwG8!9?yGj1Pr>Hx$JC60`wyxEbVAPhdLl zgLvQ}e`h%Z&g%L_PZ|UiC6$RJcen^=XGG;8h65ZDoHy!DP4m%tsNku|>fx*L*ZCvY zdTro&>L3JnZ-@)pYZ2fG#HoK0RSvpZ%RyI1+0Yn$3jj_+*R)T!G~q^`sT@jfmax0D z{d*skeAdq{43K<=PE1e~ZPs{K6h~Eg!_X{nOnyebyl=udr(|b%LM4>umU=XzRiO7P_o~4VUX^w8!M`4pR2B{ygprJlKh9DkE$RCWTx^7<@xW{^*)I=rAPq^xbn)L zv)wU<%gOtzDd?J9%wl5aiE1|M-nXAJvdzNcLp=4O(uprXn~VNlivpA70k3+b9fauL z?f9l2f&#&!0*USYCi2GK)vmkDoDlVZ<-ztW2~)qK=&y1K?)~edR20~wEdi~GN`Jm* z0ozym*@?j_LDao(nM$h@6wm$OQQ$8?HYaQ%dDHK4UzQ;x4^5-CVw zyL%iCLs)t1}KiGQ1&%^}EFi%*bQLYs`BU^*n#Q=)LUF&zyjRYW1b9;q~a0lXWT z>rWzMGwgqhn{ak-tl_|G02CLY3|9zG`H43`gpJtH#y-OhL_Mfs)O2u^Pemi}VfD4l zQ%?1T&CipAw4eI~>}MkcmEd#AB>+9*Vbq?Hb4gOFj9Sx_v`Vhq!UG(DHf6%Xd{u(M z+2#L!YuZdvS{jy;BM|hx&Z-*HNibWqxW*ds!%94O+PIqlfD_GDB4c$I2g8O64C$f1 z&#<#b*9=lFJUOoz0f?w`<%K(s{jdo=p5$sI# zXs@K-iT(vhqm~>sUiDC{o?DG z9buDptyE3YdrrlczizUW<`v)*{_A#!Y^#1w*l1DKD4BA{U z!kXLr`4#}RlHq;V(m|}>L_G#YE$12=;PU|5Txv|9Rj8vN%|tE*XhTP;BGqyaIn2D1 zGJRt530BviE#&S44anB7_8U!?gfRy#mzm{CRg$hB{G!_E6VFt}Zr_+g7@@@J_=aQrFO@|dNzg4{@W1>18?)%ov8{j{Ms>1mFd&e8CG%B9YIBLH)Bx(`zl9l!VKtj512UtMa8zvaDRgdk%n2;Tjz^>?L~brem>u54Lml#gZwz zv&AfuP;d!&<3-X>iL{_Szt>;>Rm6#=a4x5r9Cht%McsOpNMd#aTXSB@g_U%%p=A3p zO(iH;I)sdkiWPt7T*VOti@>uKVv@He9&{y8Jdot*YlzMs%fLC*aQpbUMPP3QJ0sn$ zl1r|+i!F8y3p1((q&)zXCM#ErV(-DaV+-U3C~JleIV&DzmIrf#%D%~2Xnq!^UnVeA zXkrCfr)Aaqh}2Svlfpp1nXYN1#uN@p{+0Q@8WccJBWYB{4H1Ps9^)0ma@9x6%wn)R z>u~3WB6f(+p;f4-VU4}bfr-hJ1HG6jA&bm$_iZV0zEkh3Vl3A4vMg$ZTVz~w@L0%| zI9w)4sEk+gC>${ys>D}KS30683LgQAc>(@;r0v`ULsB6y;Stxs$;5Y;^qW z-+?VGehS=c8(WWv{=D=O~3}D~npr ztHQdPrb(vHyMIU=`}KpQB&@__|J}LpP=sG=i0zmho~r?#OSR$KM?Sr*Gj=60Wx<+W z_P&_MfV;$)cCD6tOltLY04U{WxDIN9EP9O2-b|C==0$4dRN9gBp3DeW8ffA%%;B9>{r<3RM z(y1$^*`ZgyQ+nU{6R6GXY7RYHbH<0#)mF!gM%iJ`oUo!sIRM12gE2$#jm!MI<&Ec; z-RP3B)*B)6afKezX7A*qmdLB5JhA4*cuSg!OIA3YKI_pGv&zML{LXai)vX?J)x{%J zS#p{rcfE!H@?JkNj8ZVh-H#F{VkN~hOKqR?MkT~+(!~epDyEh-t;&4UE)}8Lhc@gfsm2}lD=d>e%rykXjN78ImbUOp%oDvu)Z9S{?^33i z$E*qLnK8{uh8)d~$gwF<6tUi`CnTdbaRi%bb<-+Y!Q;PdAnr6Q&}WJmZ< zxBa`;@M1M1RQ^KW*I(_#S#5PGzZP9bFPfcoe~h-+`M@NQD_MC)I-b&%iR;&4WicRQ zdE5Gim5CL>7uW7fX!;8wTcf?+8GST1=OynP{#RpLz37@pNu0U5qWda>!~|DYEz>m= z^>(-KH6~1Kztiaotl;Pc%|mhkt1RzFdvDPX)}u8Iq1IM!r~+Jz7g{&|%*X61`NryU zKC$1H4G5hI(#!2O<*+sf=eWz=29~sC3|yCGeL`wCk>}Qt9+}EbxIFqzqxg<|YTw&u z_2dNgxm#Z+Hy*6>k(9P-_LMn`b<^$<^;+<&5L5XxW++4@G}p=ct*EyL9yUnznjvHF z4n_1F4&t-0BXRV653hNZhxV=>5p5Y07hZ<6&h+eujQ!~~V`LRa32LM6@KxA&wVwlF zrjKz(=m*FngLqbUNpCsApwhijNLpIW;~y7Y*Z}MotmO{sXSoiS zep?++7cp|GYIAEX8ybl3620YEl3n&Afdz@V-_mkEsJ`*>ce5&d3F0!j?q0KIhD$jt zh3t%V=ddpEv)LZ6fLxPI8Ms0M!AbU2`aUod{XJKGxE$XY4`LcGxns~JL+V_YnUoIG zZXE7@VJ4S#v8c_T{tAUOf1#*Z zJ%!a#45Ax$4~g!bm*s{=19;0x{);bh)0Ont;(={&9+|yh5KOg;T-B`Y!%D{Bs)C;S zTv;IdUln?gum8s;BA@}KbFdTP^+w#sa~uM&yq?3JAsaaP7(Li$nZ|X6_EfI$6?)QXzXCNz0UfBi zPiKQIL$P@=*-p34r9{=?aQrFd+!6=GRQTo-K@mv(C#yUvujFxpHchya9UZ>90_7SU zz>Ptsd~*G-@QC^)&euc<9~CAYC-S=s7@kPcnKNc^VQQ_%#z7ieM@U#)60g#&@#j=KTjU5x$tWb=V%^dm40C5+M@ji#wTJEEVdw80>!cUaXaJVFIuAeJ@J z*=J&3P-9I~2{L}gmcekWL6JkM^bUD|yItQ6-5i-=s!(Am82@eHi23yv=e%f+IYy3F zxdIKg_n~@@>XvICd4X{*?&i3f5%mBE35ptc2V<_9HZ;U-W6O#T`dwo~ds=os`Oj6F z%bP$=m9Tu`0IOoU#-w~DcZcY)`8M-XfoB+E=DuNqsIv4TNNV}_9bk7cQxH@V@b zQptbB9G8pULilP%FelJFVVP4!W2C~$=S*=L)2$L8Pm@SO0WRi*{k?b>OE`T&HM3|v zPVwGrzdf%)cPhI}zatiNB@q8p9a9F0JynD*S(xM3x4ZA7&MIOGnNk-hEo_PKNec$S(?Mc36L7gde%k|ZRQ+^c@O`9X!-#saJdHnRt~IiflS9-3J}8HEBl z7Odl$RM=U5pe$AFxoMOMt;nJAt*e|!96U_Dj$}024AJu_dV1Otdi ziM8`3#&WbO>g+*__ofcuYy-!Fsy*Wch?YH=fBCFWO5re5+QkOmpXfi_7;rwYR)uk0 z{*1l#ES?RisdpT!T{f<#Sc*Vago08`3YHs-6_iJXQ-Cp;+FV%t?p%wiEYETr%Xc@w z#4(jK#re#IvY>MBxs_OM9$2MgCJ2u;A+<22w+KytDUd6PXhL`Ti6+jiprUx6@?zX3 z9QQ-3j*N9?P6m5CmPUSIln{TvwA!(o$Zz zwk+{RfR$a{pyXNC?n&oifp8-DaADwq z?!=7^q81g9{Qiu3qaXf5x=7A`o{?KcN^2M{#yy=HJLP0>dkiUzwFzOiKfqkIkzf#WiVOUz)3z0+!+G|64yMT2emazFv&(!swRZm#Vp5 zMQ-+FIXi9mxj0xi&dZ1!cgKz@Gm#Q#`Mtf-IL^uhhUU}zkshn@iV{N$m98}fdC;?( z+2Yg&w-jO3)z5dX$@a;g0vFZEVq}wqhZ}woLzPBn<#yQZYXZ&;7!0%;N|zFA)C}><*@qqdxwDfMAsAxtGP6B zPc>Ip6AeJT+sLp1N?hzbz7)5})6Mb*6pQ;`Zl`6(wj~cfV&yoir7E$ifx>nJZdBE^L{kU&=ZTJGgUmkPjYN7{MiI|is zYu0dnkO~JiSN2OH@5g~1ND3LUkA^xfDRBbq!+mrh$8@Ro%{iy(UhWs<`8H9 z9z<@ZqTzkx^u$(5ZJ0O}_cg=FQ4nr8V@YMm7NF@u-fXDlZlOW*_o*kDydn(E$&qEm z9PS5B(qLYSXSRo2m{Oj*SDj#LAH_JPuTvG_&FYDolX2Re_3U;n=+AL&ZqWF%HO?Lt z4L$T-gLk0_gdwyJtxUW&X+9rC)8v}6`RzjRLS$q(1o!Dk8deXz5HO9yowvx(lP}mK zm+`dv<@w3VBjt*|u!#Us{f3bP4_}(Q&CF`=x0rbH^S1t1qs)mknPv%8@-1$stS5vk zvsO0*o={P%16*w#Df@#QYPa8bXL9#zf!e{Qo<>kwKftVxFIr0}?8({p6<@_Yz!f`5 z2=#~kFDtjyS<8-5+QpSEpHPURiA%%6d+d4G+%eubN!BX)KFHOt=*k2ef>nZ0Lv8Nz zj9@j6`FXm4%9G3pspd9=U6=Di*|6E`~uHzq2)S7?K+tq+KZa42bAnuWHWcFd{<>n zE~L15(XTE%gk9;&vHZ7_bm_=70?6HOXa|`;x(J=@o`3NXOtrHS8c&-Ma`69YGW@yN z^^K6%GZiS=`uxjBNgyE_v}Vz@riWKPtuOoC&^VoDb=i|as9#qWygJsCYE$(!+HV;Y zpvAZ5tI(sfUT$eMcu8u$*r4aa9`Nw1o``+K7v~4xZx!8WjfUN5jmjC&^z<`4GMa1~ z%2I{m?}c{i)aSuBt{VAVA(-lukKTE0&ELyvbFk9fL+S83L|1aCxz&`c%MCpBC5 zU;{nDvn>JtCja)erY5u{-Zj?NH>+WU(?*Mg! zWMMUZQDaLxqkzhfA^W`~q?&R|AALxV&k#4Z8UD2!ZU z_7yT#XTD+WnAlULk;-;*3qQ-bBus`j!??5mwO6RlmK^Bm#}z7+{s;DD;TvL@o5RM3 z&aslH6-x+>;MtbY^Ht~jdS?~dHw{+&Cd@#InTmgobimUP_oj2u@6)G{0V+S*-HdlM;?CTo%@Yv;^-en!~6atc1tr!1_`mw5oD2w}-3m)um=wGx4b~i`0zQJ`x5mc9hErLwEc?SZ4i&lm1Vn z6Xi4br%@b@BP2C41cWg<9{C47dQ^`|O(|B43}uAq-c1V=rs=&q5t@t!f1ythFX9-ao{gSnHku@uOAV?pyQCdN2+yDlxI5w{XKkz-0 zOD-6)@jWNO97%}_VnRY2Yu##wmiwBqa% z+66e2y&-rYNEjq+Q20g{vt^>JSnq1twKII(fZ%__%_)u@Ik@}ZkD4T#+n zte_%vPZq~Sfc2Ch|cVAEDBgognhE(xG25l?GA)=m+i89gW&<= zC(KT+sK~?4{OiZU%0VVH(xdg^bkfckmTe=qZ&=A=N~@Z6Jh4f?Xp1M=%-Hjg@2DP0 z$9$VNCZY46LwxtCl9#jX}BHu7-&4g1PaQtLk6l+E%*hi zkIkOXnJgmM0VU^CRF06?kOVZ$>6!GvB14RR5_CYCq9XmNk@FG8Vb_Q8)D>oc{%EPv zd6nUEH02Hnz@xv7wg=4kz`y0D*5qH(lr*Mms8ES_sy`n^9Wc-^*SMm<k$7>S#mF*k`5V>u`2IFgHgY39`u^s=b1 zS0&E1L>eSc*h@K;(^enyPfxLa8LX?Y@jh&;60S{3H&u<1K+dv8lNbS;t7lS_P$Cu% z?n-$xHiS*QyzBUqXVxjeS@91}8I`8hMmp=A_9HelE=0G48{e20po(cp;Vc@lUFv`6NL;bp=ll*kJof7(|j~PC99nvG_2W=iUHd6dGMlBdyjOX_=8i9xSZBvaa|WI91E*w1H2h$NArTul42@yD#)dX%{VAVL17yJ?Cq7 zI7x);`c3_qCw#WHBEFWk6I9-P3jh5AVTc9wGnO+)P=g>(k-vr?2H%5@`*sgK5omfc zFi(Bx+dtXo_p>6~jVopPJyK`Rb?Cj3HwEPnLLY+I`FbSg5MOrMj)QMx4pL_m$1I^( z4(-6hZmt^DQ6}P|uOj6^YY|r)nOs{aoz_bU)TqWQHjOM zo1C>kHw4D$^5SeLgCtDq3j~G%5A7Voy8RFtr;e0lYG`dFPd#gisj{OyEOI2cz?+`c zUhLo7Shg1WH}fr=Y>@vAagj4TGQ>d9wO7_4GHd!z$~#N>RTsn`Q{9-uim<_AVNt)w_q~wkxid(u(arnIRuhFuV+D+Ym4xm?2IE{y*=W9u6P{LyLq=TAu@0qG zuts^mS~e*ln5wk_>I!1kW`HeO+%2j`X*hW-6Jd};b%H`#jbVwU%TZT-ZT9NcPfT9j z%)xMCp}|aVAZ{Y#P!k7J_O*?TZi00Q7g7cFrxU_gZhhS71Fy~0iVL4DB;7rOKS?gR zI@IXn;byuT$Thy*N`-}0>$RK3n$(zh{_4{)L`gRVKQ+QFhFHp;~Y&267JDgIT z_j&+0v#L@kVc3^V;&mL}X|;QX5OH`z6`G&&6AN7d!q72fDlFBVNTRc1ZMe?l9yKUr z0L^IhUGYpy_-`BJNgNUEz^`O-@CwBlG}ytN57Cf;k&IdyJY=l!;b%ub zFYo_K20K2H_1ief(|#YInLv%UdZ1H)<*hZhA;#bjk6_i(quZ^*RTR_lWI=DrhAr=z z9N7$+iJM6DFm#Yvvk_82T5LHybl5?n_(dQ5o0hw*P$OJa-Qi+C)v^hHLZLY4;hRq&vP$O#bV1_n4*eo$gE5TgjCOv~? zQ+qUQKZNppC~`LVqp9h(rxvuq!ADtR83N802!2X?qz z6ocCcd1vB}@1<3kIvdQt=Nhqj)BkuI7jgR3D{T{5s{ohA$TjYbvFGNNQ%Y|C#KHG) zgE2AkX#_yz6Kc7VaM{?FZ?thq-ki#&P>iH*=p{w_3u#t55|&uUDOkgsL!;r^)X4Hh zl}@2~(k_~*MIzY?upNp73C^^8{fYNv?R2L_pwuK0XH}{}%{5|^^B`NYDUn2pmk=d` zOylZ$D!KUw3Q&4Jmc81gpAy?`QlZ$-Kl9gH18p4VR1fMykr@w#q9 zbti-j((=)!uK{mqfk#F|$e^<9PAr}T?Jzt%-1tC9sl9hkC-Q9^m(<&;d2ek0F!99} z?OZ_ipo$WOyCkJ?@~?P%WCynTeB$*`A4SHqG1*YO@|ItqntGQeygk%O&TGeLbDJ`c zVmP@ag`5%?sWNPOs$Tk&qzcLqat7Gk4*D(mt7q)&e{rr^U2U&i)m%eeu7nLI(LVQqb)n^%yXfe#BxZo&7cKCF&C zL;Yb+2!JfqTA2iq)+0(p+%iaY}z6A%2!Eomx)?!}m5_aidw- zJUT7~=4{PAJN_7E9guOof2y*VX=1@_6$$iVys+p&ObZX+^W47An7NVF>U<_O>Ksx& z(-@QeHvi&gW3dgWTX#*O4lH#HG{HE4dDm~x3hd(bs^b{GDfKpp6`~6qKkz108_T7? z+5C1ZKDp8U7oPH9qQ}9G+air4ukVaVZ_fIou@O5|Tfk5I?s;9Z^nMr_0!6IvE*%!#1`d#Bz0^&F|2l!*5t^uOIc|#&Bh#=A9PsXDbaa;+AjT10eCh&;}9el zsH(^uc5zKMi!uZ?1=y~<1kMBYK> z|6Hc8oRK6!I}6AZ1AbBXtHGQ#ext}j9~a`J0zcBd3v59JM=%$oEmJG6-w?GGZYS^C zH&Gb+#XKV`_=b*_H%CQ*$7rUmgZ>s$^vARHS|cbh-`bjkT(3(JS^q@_srIh?(9_?Qi>D>4!V@w#LH6 z3Npb`hA3eXlFu)|QZV1ZAn3Q0wqfyipBTYK{k? zs2HtJT7!}qZb4c4XH7IFBrXx_1d9tiOLY}v%?mTk7-co+hU^bFB{f}K9og~tDuolx z$vdtM*R@gwwPhcNo*Fj69+)ya3J^Lyt# zeky-gC(Uh?PckM>CMyS+L+#3&V92O6l{$em#S>nWdEr{y`o6`d8W+Z0Yd_j_@}n0< z=Vk}U{=r0${Y;7<`!9B6xb=}yGIki2c~UVBip7x-kJ}-FQ$o%_fKa3u(=A^(GlYD8 zRGp&fob&LUGR0@D1L2ed?F~6bU}rbri6b0CoIR6^EaYxVi!@|MNJ)L`-xaPalmH@w z6zB)zB!kds&S|ue*}Rv85-2&2P!#mmbj26KVLHUD^IfI+Ug?H^-~kYu_ERNkWlG>i zAz_QflB4#9iJej^Qg;P;KptI5?m!SU@JfLdQqKIuSX&-Mm!qAu#t%wUhDpXy4i$o| z<+8;@c0d<8NZ7%`NuQDrPkg81Smv1%2eAG%g(KLXDfr4Bv>$Frc26SquY~qXWIIli z;~P4Bu-H!Ava1j&dN^P=Ub9}G6+c>XFMj#{U$HYzczYYKJ>kD7JIk#&m;l>0f#BY_ z26v}%cWB(*-QD>@g1b9};O>pPySoL4;O-DEbDv=55o)cfAGOXod!tYXjghh2m{Ti5 zrHC5cJYh{?uw*M7xYkop1Zx;}R** z&lajanDm*lM9%&EleYbO&^ImbHN5L$kYz(5?t ze3iQbc~7QCExSyboBdQtvi_2CX}<@Ew8^JjhXsv1>UzKdHSIWYuErBF$yd+iA|D_H zUc7x2FS{S$=bUz{L^7#&p-=2rw*l{|wyRP;b2Lm6BN+_Oy*Dx}CTggkt}kO%aBjGP zTJl7Dh{zC>mOZw-4Y^Z}d=1MXeKVsBV-!L&8hV!7yl8?+Tw7@8&9)P2gF}UiI90-a zx(gvsZHzW*Dh3txoU4vAiw+a#4V9p@ME&X^3U@i~11qD#G7rrA?UjSx$h;=@WpoV= zs{O(7q#(~B^GB3FHM`Hyy|T4eQtH?Hq0+5f?k@BDi`C)^gct-c4$0X!DwrOaxU3Y&I#W9N`xA%C-&;(J^ z9|j>+neh>bxQMR>zgDr(fYHhqYk8e|a-xV^cl*xu9A~F@3bMbqL!6wsezz#ga-u_7 z^dx>yt@`8D`S^X?Tkz0)iNd}ABE-mGb7z4gM7RA5Z{HRKj zN_3|=c**QETG-{1^Ef*0RtowdB1m1OJM@ay(dzrBy0q=qzrV*NZpRO#3b|9Hd-J{U zSt=3_O!@t#)&t&$q*BZNQAaM$PwCqPSIf6c{X$&-u`lqw!#56D4V3(G$veP9#(`g^ zLNrJqvQ`|#s#H@VyO_?89hn7r)mZ;;cUBGOM5ylhELa1?ppcpSwoaqyfqev%V%Hq!clLp_h0JLtXBbDapxh=oL6K2V!B5yAfsJ&w>+bib)i#-%u zSNT=ixj1KzL+Ni!ohH@clbL?e6t*T>Oie7uVxXT+(L)l3lvA@X#-KJQx zm5qVabMOhb5)TI_1(KX_3(b^6PU`LIG7ujNAY4Bim{Dejp5gOdbpzmpd}J~p>Z|Q< z)~o}&qfOx^))ItKNhd_gyxT=F_n$lbcSuDW*XvHdUy8D8@gy&r7@0jyraWc0sI;Ak z(nLx8f`PC|i?>U;*hL_RZ(ftRj)2W8vNk)4{{U|R-0yR`IJJYkaV$6L1BgrFU0=@P z$+@TwLwVU;N06d*l4zwzTs@A|D697t#rSwt22eCl4KH%MlKeW_wl5qM`l@ldndDvN zE2UNJ`4e}s)ODWSD4qV_KJEC0>xqBY{FrYa(L9pJ6h{40`JU{tIeAl+kQpdh%7QLH z!a}hRZkbX=nkc3tvso-z-K^h}aG~obn$Y5+G?IWhu@waK2bK{1GxxC>Ng+b@B`NL7 zygg@o>pTO5`?w5LIOKhnW6@DdgV&m4I9VOACA(xZJ2wNL3!X zmM|JGNgq>2beCrjwb8X;YOKsUl&K(}XqmC1l4=WX%a&%4_$d%A9 z*wL|4gyK#|L((p-%3vnH%}sv@-=Xe#BYk~o&{bGcQXh3I4OJO6cd5xQ1c$kh)GQGU z>zKU7k2$d;{0h&^%B>PFIuFuodbwp*MN#>A|4ibSnrkLW%#xnHsJG<99JBGaeuwc; zd93x^l|x!Mp<>Xp^Sn=(5y)#rwpp{Fb?@Y8pHn>Bm-IUX&1SCzBg2L1WtxRlvhVaq z`_0fg`O>^a&bw`n$3?(6wQ#^FKKcNSwQWu&HjIb^5xp*6J5S54(M5u_jcf zpqC!Pe9LpimaE8?=O;BknN}r3;&#Mk7qT3`x?Q5J6EiiGk%Y)>q zp480Mg$K8)5m3TBPN(!u&j za})Nt40!Br=efq6GxQkU_o5vl;kR(gC`e3u#2G=?W4ZgTFiEY5fA1Dou<)y+#EAGl z9_)3p*O8+wpk#KfVX{{L{%;zoYlW}=sH;0MAd9xR{Zx+o+n)ooweM;^?fpjl;&Jsz z;lzGpS9^cRMGm^dHT zZo(nT{J&*(aa_s3>PlRy-q8ZHDH7YS`H4Giva8* zH!ic9+MK2Jn2yoUnp>U;d5tLRPJv+poz5MR{!Oge?xD7=H7csP*6$xVBX8mB^Pp=2 zNk*AOU6;sD%rXcISM9Y>g>LzVc0;r>zwr;j4LT`Kvmpud5?`27adHm7%-&TNDd^-J z=!F(!)XsiZ-elJF(^OvQyFtv3elv;Wg#BcFhGF>bfoPmaMwbD789@Pbpb140Spuhz z23x&HTwg;mrAVq;J@33oO#fdIB9{*QXAFC*6&wY#zM8kQF9WYEoSSGEFv;q zzcIfmH=&=Y==^g>UlVt$T5QEHDqab3cUh6$wmdSSAw~#dhRmsPCz$|!HqWryQun&-uml>` z-H6!PcY$Pg&}lV`%r9xZ8y;~H+Qiv3LTqHwgBCgm%xDz zL@pdx>R05}JBzwo5)Z(V&2E;03FmYv;dqstx^Aa^Spth+D2AX?wKJu1R_74~O{q&L z%o@$)CwCL#Mw);oI<#^JPNLs&Cn@-G+Dui~gpoG%3U@_Bbo8p^r31aNeWq^HouUg=V$Hk^(r%qym?ezZ6z%Uo{<;e`SJB}-ac(h8 zWdZ&;h@E8S4;*6owDz${;BS=s|&7w)bH2)Pv- z9Y#(mv2(Pd1JIF=NQs-X7G0TGV$@WnQ6Gb!b(4`LwX9=EiVTvVBA&KgE9D zq=WeK^9gOqL(>d*vTyxkR7mWdv>F}H3!w0oWLizpf?s7Mn%=4Q@$zpfH6BWWWV8RW&-3vlqG|g%Bn^agL8fal#T^qz z%6={LcN2P?feRLvEHL`L_u1G*l`WWWS_dejevgYq`Qrjji!Fl+AUXnFGR>0_wt(;9 zvK#+5JR3}Spowa@KrJ+Vs_22TjXUoLOnPt8r&8nugXfn-;3ubzIY=-`)xzyW`HLG& z!Sn&=NeVl@WQP1H@FiNTSs`wD545J=L~LHDU5V4OztpW9p<>;*u2C-u`nkjev~xcR zGVL*_s;$^O#8nDaIkv3K;`idcE8)^K13#xn4!0 z*rAm~%R9RBIA8`yrytX|!#D2keb%rom2(V*eF*1OIY3NJ-$@1b&$u__?saWu_Xe5t zVkF%_tAFm>+x57EjM8sTxjl5kY9`lCu3C6VzpI6Go_`uXwR6VZD|l*vVz<1NVCSle zi=d}hHrjUk_wIP4i_98_B-Il!M7x_u4rd@&Iz96q8FC@g{M3;k^XWQPuM?rjbw@0c zAU>rrk^TRSr(|)46V3uiM=+5?$O>jTM()U288|4ouaXuq1m*kW~Pu7+PEfYA>6ZAq-5VQ?KF9Qeoql>ToB{wp32s#=V6b8MCwjjDTxj@ZCi@I`%JGO@^B z2}*km*4*6Q#nU({1LFieDAGb;3e)^iroMd9h?EtjZ{$OBj*>}K4(lLGoAHvq8C`SQ zA@+*t%C6N|`X2LHSlct3e5Tdyq!p&^rg5TnT+Nk%YW1ON+)=GGxVS_mdEimA)13pw zVVv82rL_@dJcxHY-ec5V*}m%3uNOj%q_C}YvqQOXb3qU))kEa`V{4UJA?W~LQA0>y zmT%C#_Ws@}cHXfFoVwMjD{EpPr$_9yyAa@&V=|USm!Z-yH?hC>LTNm-JM-@O@t1(w zM}F&!a@0ouMyzLu-1kpTruw|puzE`Z(rdw=wf!FzCrsE?AVWQ0rgBT2*L&mhcB%1h z`#b)zdeAbg4&ZZzI-0`gHkI}5S|3&+`p>n2RT5;bS}V1vk0t5b0N=)27hZ=;5)J5>@=Vz_pbN^p-?8!vT_oHLDW{N#& zHkL*%c_Oc$`r^{rkbt;p0)b2>Ow2-$Y0fV%NTA6NTiCAB^g|C&=Tr&INfox-ALsz&-t(j zv28|8mpOt`4LT_eQwz~N4yMlGwG0+w|8y4S#=KeIIM&>Ts3ckHUd2N@%{4~#(j@x+ z1=|!+4YuD!lUEf>ne-z@I7Lzn!Re!1!Gp-csn7*Os%1z`%R9x+9*t)KMJy<;djB zJyR=mdV(;=z*ca$vz{KwfWO-y#!MbEICLYia4ltl71+a?7?bz+&thK0RE;-&-ETY$ zE86?ow)ux=5;^J!mNUkB+tNR2;z>N=Cw-X?_mx{b`P+!Zll_z_E;>*RoSeh@o`1KZ*0Xu*EWyyIa)Fv=DIG>f5C8O z-_)8>r8YZ~7Hf-clI@Mru#(e?uxcp6&{S(;VU&Lwz>q?VrGFngf&{0XI$TBB^;7?P zd@oxOyy@q<1Z@*baz`=ZNj|RK8MbtpkUd1pG&i6ZBV8t#JAzHP+TL^{am_p+X1^C+ zwOLAFQZlAOOKnD8_aZ0aZzux#UDa%GI?9^eNOm^#V$#UmZOR*wDpWu(yAE>4#oQrs zjgTWtd%eZ@Y2M#UE-v{O$R4UwlJFBUP5wFBomE`HY0V5--x>HNhHdyY)?U_m^3QWk zx9x6@S?3+1RvV>L_+KatfK-Nqc39nk+(9cjRvqO4PS{rmM_$-}X|D z=!^y*hJ}ad-1L`;i3eRcmX`IKdM_S>YTc7vmuFON+=sj(XbZ5ugE>sxH=IMJ3$u2u z9~GR-zvf>jP;BycvK@C4<|+w59pxDKbQ>__x5i~1oBbu(vNsLgR<-(_+EIX-^x1=iy->my+06{i33#XNA2#1Fe)4otFl3pyZf zt_V;pI381Ba5+U{7eGuntYtR2u_ttUmO9&d0EW9+3s%W&xowAlDN7uEBIl|tvnrYV zt~Ld)6>{;^NyJzEaG!5dODy(?v`$5h-1=Xb=s;LPv6INz?Jv#lcSF|i+i0Cvhx<(_ z@Ol^DS&Y-k|E8Xj4^7CQOF#nqI<_1PUD4`KnWuire*k9SPth)%rpFGHVi(Ye8Wf3| zVQ13I=`$*1x|yCnoVg(A0y`1^U4i|JmC(LknZPptIg^}Gu>E!Ka1m2(|0bu+dO_a$ zweW=D?{WwWjP!Pfvh-Lvj%`|K-?v>}Av8J#X zexSc~N2or5>nAB;Gycx3D)1!5Du%~*46(+*I?=x(s7p8rVn{KM&j=)4-2>`y`jwpE zl z36N@*fj857WpNf_@xCH!*B1rtdj;L$_(<~jrw`O89%slHQv@;w5dQ1XYN2U#C8cW} z;=8P>RYYKis|xDDS+$ZG#aC?!N-7GtzQuF;b9RB)`pCvP|3U|>M3tXPn9}G-awQ7* zU(Q|AF;oAJ={_ftQnBtoGs>k>e7kb-VyvIoaHTGftf~+ z{So$f|HdUyE+IO1s+QE`j?@@{e5(wAasipjpe5-801GJJ7G%rAtLoFp?e#G02hL(A zw9teJ=Q^IqE)U1P;|QLmlJw zG07(-zdS{EoihvK&j}nBqp<_i1yMbCou$NsKQ;GT4CgnOFml(dyT^5ebWgsf z+{FW+m@#`rn5SDts|WTBE?i7Hwowz48*>|F#OIk*bvi{uD-Cgce9azoob;zwJjvKKpqmsxAYP z4r5`xlu)bt*5Ud}o17GJzs6ayDV^OA&TV!^kg{od=Ae+S8)#&iBBD@c;Jd{vPTL)VO zJ63Vh^wNLlMcDFF;vfU63FU|*0Y11%c6S8!gDB|xb44oH6t!6(49p3{d~Vm+1Z__Q zj!sAug%70JW!;W4&0(kkMqi>3C_EiL z!`S$&d~vIxWa&r;(kzGu)v;)Q&es^PQLbgbfTTH*Cfb4bNatwkag)ePiPinZ({dub zjjE}!y@c!xI+`NM_je)=~DW~)^&bXLPxl@x0#=f15HQF7+DdbC*r)Xa)9 zd9k^H+_ddx6_~s%tdC8XO5Hp;Ol;XWxyI$EtrsU~Q&NkoUH+sX+ej~?Sk&r{HJN!g zN7Jd_G%&@8KTHx0jV#4GxN>>n+WecJOYHOPnncxBcj2l~TD#N2lV|Kq<3&Q6 z6N^Xx7uRa^=o)Ko*?pV1F^zZY*`$K5^&i(g7?m6GvdsK*A%ogf6$FE(jSPSi{XyyL zBgzN-!3O|D!uLcWSQ5*fZC|Dp=5p7_CB_-Ei(7Mp-B>>CcO5*m&;rAC8-{VkxV_9g zdBI-(2V7wu*EHhsE`*PwEO+O=t`~w~6>vB4son~96mU+Bc~q(d4_KGMcCUy{!uD_~ zs*X9%%{}#fF(Qy-Rg{@DuK9?cf)>kh(L95S+S0)CMfj)iq?o(xbkRWMMrCE#>P9LD zb*2b91CyCYckkn$k&rqWqwmf@r&+mU=>y^ATm#RLc;y3)!8GF8uTAlq@< z9}gXt4bAlU*gPxBv1$q4Uz5_Vk!y+=E1QFGKnOvn*U8)}=+8Fk^!3+;2k|2xo(f)Z zIwI9~#;+$TFm)94b7rA92~l+-jyT01>Ef9g14|S;Vjg7CW%us!DdDC_(RjnTKF>MR z;g8j%wquO6c8)1elBO*_UiF)Z`R}1~9-bqR zch0wqRt`AcEa6NP8%V#oSQcsC9RQ$L{0%_jYpn`sEZzoS_>(p?KyS292$*ejb!sVF6@ouzl9>55F?kOV7;MkLaJh}Xu)l9f78vOMBJ zHtLkk&A+GUXJ|6A+Okb1W>HerQQRldOy{+R?_NOX0}%v@rR!I7Jgug2_^p<~t9p{e z*A3_RpE3MG;U!((e2=czXOZjJne#vX=c~FUhy3OHTA$ObN}Wn;a18!pX|$#P@vu`X zjqP!N`r?oOuy1`AjdEwxds)8%Io;Lvwu*lo0sv+$pXXW+H}7$4*#-b#lK}w2)|Pqw zTGz*DLXQDr_g6Dr`Ni@HM1r-R`W1`6|MH zlx^2F{%m-!GF`Yu9loQoH@WpsHWeF^@O;%)w@8)aJe!Dw!DS{Y?kDY@8nAY8{Ja?G zhd+O4WI!|n`u(ugYLAJ-jyky$a<2WmXg@|`i(KIn)KfLGU#aUK2!lofMs@2~EWZ2I zCJlMglI0zbZv$ZU2LMD}B%$ii`ZEA1@kwLASN#o;c12RV@lm}n%Me8+i$*j5bxx6( z%(zO9?xN`hf)8b@+8V0q8#o?XHK-uKg&0lwxn)z^&RO{?>$-jHlZJ3wS6@z5z%Z^^ z1T5^N`H#m6S?g%nue;&(pSO2rFpq2p2x#6e-Z4Mi<3n!b&(bgG!31nu$d3E3GoVP& zM2*78YZuhn{#ZL?8a4T8$Jv}V2tDec;;#Ge7HhSy#ZC&PVIaYRg+2K$tff12(N-V6 z7qp0y9+c9Q2e+bCTcb76(LWKe?Mw#x^BaH=a4pzL(4W!UK4Sl|`=NFAW6iH)ZG&vV ze{VSZ7#kHbg?ktKh5?=PU)_GLQip~jXmg}91?zmvl`jp(cD{?dzyH1G7YEwxT|Ik5 zK~O;LS$tN_FV!|Ul-+j?jK=pVbDw2FuOoNaIyUY~`<=9Yv+aQlF20=_NCBK@ zf8stx+?ShH`Z}K&g`Eizi_glsFW~ZW8-TL)wFf-_OP?ec(bd0f>umByW1jXuKNTX9 z?0?zPb2efMo}^105tgmle_tT=8@89vZYy$MyZ`JRx0r;!LM`3__}eC#GpQ9|jSfhu z>?p}y3z-=x3gWQt9!z*Fj1P(^fH~ST zjHv=@$`CaW?@d#WEKS0)4qv~^LNHh9FK{FUk@QQR3N2Qq2K{G1J$C{`bnkP6PLVkA zAXs#CKu=brzV|(dWs)f$rNMjw@r7tquF`YaF?G?owaf8E*Zqpn{aMXAvMj*TahU5p@ z8G(-gxc@FS8n&FCh)8hJB6KTP8`xql#@ReZ=6eLPBn!x~1`^M(w6R@kIIBu2m{fRR8Xd zRVT`=sWFX$?L(I{ZDhB8Lxbm;2Cid>(IKfI_FrW+CFF&RnB(VJ3n&l4Cj15{OKk(b z!T&^LD39t-Nb0$VOzAy-YdE#5BOAGV3&9XgbdQ~DPe3#u<(}eaz2S?8$Y0A$VfDOK zvNr6{$to{YP|McKJtERHK%-uA#%1sEjBxlvhQ|=hmGG(LD6WyFr}u&1D6c3NIXbEW zfRZXsXI&A+^*0Xu4K)kF2^CkjV8v;4q7saXN)BhJW`zSX4Gj+qJ;_FJ5jVXE zr3W+-5@JyS0JtH&u2mj0x5<>nG9LT0AyYU+QoW0pnXXIuGMLN0>Oh6>SYoNCMM+JX zYC*PZ-sCYRYg~GI9yK_BzD&rnXi8&ps+qp^8?^}u$Iq}I>acGjRX+RlJdR7-?;#F0 zYW!LLy7IK56RJ`z;1pUvZRA{8{kJDg!%w(Rw*Z{6uqe9KXtRF!+O3Km+?-pk3u()t zD#Hn`QE4pV&%C_y%XMARx=71iU$5305&XRRlNHgw)TUJQHl_=2^nmb#wpd=moLp!~ zrwjKB=Ab1#;Mv6Ogn`h((ydoxF2n)@)k?$ii9Fbsq|^}ukE}C45R5rc3ZRMT3l+<< z8}Ck-ac;ll(0Lq`Tz5TGEWz0L8pXBItkr zkYrb!V9z^+!cCA(l0E`YU3i6L2&#U|rI=Mlei7IHj=Xh~M{R8}fu)7#vB8KHF7XWR zN$~)hx-_vkv%|6cRev8Xq_7&B-IN$10}!238`~hF;w`V@tKA0qPaUXIS%ntmY#>FA zTDNmrn=X-^N(_|BEnr!MJE6$%=98XPuS@A8IDP3Yg&*e)OGaUIG4kg`0?WS zp_FV`{SkT;{yiI}QLuU#!!Pt6?b;(P0_fCgAEc&750b7 zBHb)$HmAjPmY?zfNsNXhdcI*Da~(MLZF{OfCX-U?O9&Y7MYRM()AAnwmMm&MMV}I( zJY(FaR{??&Qw$vzTYwQ!jz4r9h;33Zim7!jY1+29G2R1& z6lUFZeG27E+*!)FnwFIr*uI)!*X5b#kR;r zsiTrE$JQ#Ljc4Qxpt+m@d}+Ri(GShsqA%O6jvBh1$`tatSl?0CCc5PU+j*B%Lg$Yy zR2Uy}ctmd~*`3+UbZ@ZPClaUjNlj9SuWj-i`-y4tq{s`8If>Zq4O_Id?5@61;V(}l zHz=n+7`Jk`UgB>TjT=rR*lC43Rf9*96eoA7sI%wWCG-_sH)g5Rz}LsWX;^RZ_Gv?4 zoHg30#v^3SKl@d6d4@e+9;NFWfYaOti7D=oe>?na-fW>BKk&*Vj2E3eusurc>h5Ox zS2f}}di6n1#kI@NTJYMftX&}D5c4@kn7hU2ZgWa}spw178Vihq)l-n^tqG=E0OjaQ zBV?8v%Gdel-NHkfB>my6a?l>;(C{gCa@h`j``yDUP?*gP8dVgC< z$M>s8FT=YQuH|571v85vll!)xmy}>g?Yx-#tvKP(gPLv0EnZF4D zD5V0ttmT;MYFzd79Nzk0)KPxs^F`^_!)E4o!|g!SM=VKa%n##!4q+EBJMhxF0sM)N#Q6$IXKmQ5zmLC);8yg}H1;O5UB z%Dv-}g!Mv7RIo^rg}mh8CaD(H$HV-IK}eP>14Zg9)+p7=9kLS=$;H7G%NO1GEQqa| z#IE;X%EcgBAvP}T+`k6D{19uEWaVDD%a;^w{gZd+o3e!v7q3UPl37i^9v@|32J}zn zYt|k+6?Dm@8f3S)bPj;Gc;Q92G}7G=~yCia=LCehr&gX$G#pNz0bzueSIz z7A2OIjJsYg8ZzQyOwG90sWDlRS1cd?b=jga(mxKTl`n6+vFa4CJQI9H&<)3OsTZyG9Fu50N)yy0 zg42F=@I157hj(#yR9R zIv5%_CH|HrRsnDt_Iaq6Beh@o(*fu`<~WjW>P>Tg9L z)+s1BD#>S?yz^?5m2*tWYo&|)i(hEhxKL7T)R*B!vJ3)YI{lk@FhY2lmqC&QiM7rW zUWniX3wyS_bHkQ-`a28M%Z zp^h-jaykx0=CCfUq9|ZcGaK7+5k$GiUllE}#k5VEZJs{yWKcr0p{hV;R#|Jn!qlK; z_!T4$UJ|tKEwwjeP;{ zm2hgz1J-%Dg7O9GI~sDWeS;Q-m{f}frsiAjkR)#fgvP8NPOGOY3|5TnWw zdSpa)uWCTzsI*~4Ifqa~j(C;ax#;7TV!|y~8()*>a9jeRM3g>%ylkV#uSFDt)E=ql zetS)x+%7w<`$ueh3IloFliJ_e%BvtG!ixrouvDgUY{hqd4lP;S%5IL-8K1mxX~~}= zo2G{kRfK6KL6updQ8sODMLNX~zrNdzjd{MV7v1}Qm|R>1l=u0m1pqb(p*>??j1v|tY(Bqj*nl%V`hVZ;-e({dQx?WR zFYlqk?H;X-tZ_d$hp)XmjT&%Y$V9PiBtsH;XtmR_U!-iq*v^yS=l&Q{X#Jd-xK1s; zMbm*WMpn6aadW;%rXf|u&iXRdtA0xwYbc0OHt=eKl(*};v&A!FrAy(Kk(;pfCOiI< zi~o!RGP2IX6Q^{gOU0?8Y?jS0LkR4s zWSq{h&D1O$k~6mYsjAF2g^bM}_^=N(nvj^NJdB9!Y64l~!1&r<;S-(+V}TEVGK>}B zqkN`_UdU`{gXSwsk}+i52(rUh83IvJkg{`GffM7@=q^0-e$ddl39?MDMh4QAFBX9r zD|1c|pbq&2BAJmZClEd82@-)Z^*N{HKrMkCiXBa?PR?p4t~fX;^NQ~{gjp>7;0-5)>8f<0ja`qW({IK!6tUCze)_O zAk=)Tq$Jk{uBxqgVMWNr!1IIJ)<+j>5VP;{niu4kTddF>>@j6gwB!MBSykHh{w;QH ziD!f4dO8P<;XE4h@A|5*RC*{HWek`V^WLrAxq{4*9$%CUQ`@3g*dKi$i;_m^&xX-% zSSeP;Zero)|MDN8g;GP=tJbEySyWOymc-(XeQ3;WQU0}Svq>0HyZA6RnD}?H^S%FcjH|;ZEulru z|Mtclc^WI*j^~D3qY31^zN4$O?Sj>UOwv-T-{)U!y3r7xCuc?u$JCRh>c|i}CZFL~ zFO-niKL62T_`36LZ^k!EFGsR2UkZT$8GulQe0>}X81z(QF%!7Ycf3z@1eH%oKwKP&!FnS3{H#7u^>yGEiT+|w|U9K?GdY^i^{WG%xISpm4ouD#J?JM!{1B) zJE;f?2=~@@)7g=cI&rD$w)RvakvSnVHTUJ7=KpeFcMQ%d%Pga2759T z56S+RpDAS$v)e)(OIP#P>;k&fC40rT@e7)5X34RQwU&F9uf`7}qR>`~Z(46-xh@mY z5`_~U%93!(jf+|+@j1(@P9E1}$$zvkr&&3NaUGaTVi^|&sV#Q>;q(_2bt;m|(!%7} zBFP%uC!?|BPh+#Z1j;+I~T(&!p zYHuGBJhAY6|9#G|_qFZYeud`Hi7pm~g^q{E{Y*uk7{AnS9i#A|8*)x+i+jEi%iMGU?OgyIG77 z@_cYA4dgF~d$44+;}xcBBf+KsOjiP6j#dGH%L@w*CWL>QRlPU`lpOwud6&)H8+YqP z+4f|85uRd41_W8JyFH<}p@>qJ723E0|rU6_K(9KbFiv*^^o3p+Wn^ zw@W-5xN3vyM3Z=Al_|U!CTA;Z04Sz-BZiSfX>N-p_U`MS3_IhWNQhgZ@;n86S1f%m z@zy6W`I)EnS@18bthPeMx`s$%kaLk1tMW_6wx<}?(>TrIvO(zL-+yZree>t+8I8S} z(E!w5h+*!%%7*t7>47$Afa<4_${wLH@~R>DDkb*YsSjvn@2x5C^{TnsvUNCSJo!o! zq^X|c<9AeZUEw1GSVuri-_Q#~E?gl5{Td4ZXvL^nnYVb#i(R>OT1FSYX=Ku$wQEM0 z+UKF8K&&D8YZLfSVfUJ~4wF?6#&+d{75(Ql{ZzOILh#iPUHC-&cC|U9RqY=|Dq$%5 z6qMaZoY}xf$EniDN*a_5m|8Xfw8+-J1LhRv`DG4*EH>ig+Db6qesoJ$$ykc)?;d6d z^OXe##z-4Y5snM9gNg+(VQf=!Wz{7VT*wPQ!G=oCS5)wlfdqw!mOwllgcR*Zfa>}* z2dF4-*|FV1mz_tm)qqzKk!KCwsE0XLUPi$9L3XVehUUFuZ!INtGAS=4DR~9@aZC9d z@U_SA>ns{^VJh<6XWIEnP0m5-Vnbk~oj2q8D3LB*O*>gWh!(X)IAesG=zyJ2y%y_2 zqHx6)X9leB*GJ_HkGi_O-aSlk`<@MTb!Dj2VGi2coBjCU<$svdm(F z|LdkIa+shiTT8|0Liv~cp2$^)g(ew{__rwt@Xs27yu^+vaa%PicD{P%I!>H|J&N>l zV7bC`MaAC@(|_$!H(g~VH~Kr=WbB^hlrDS6UP1)RhnNx8ZKSx9M^F|ES9li16Wm2M~MuS7rUF(2R2J{O;d7 zCN3=cuxTO#j=yu>!REokkDEZ!3`QSMi$Tk2<0*g!x0N{cSQFJq?XS9rX=crv65%`v6x9f70+^<8mA&mp{^tt>5u5pisH!#SukW;Fdd$Q}5fg(I^F{ zO7o5Kqco{=jJR&asb?{)0A$+3AS<*;S{$@F|uFkMz{8} zIc>F2@n&2K4ykG+MGMjQf?{p>Ggilu&%G zH=CUn$j!_d{RceyZvawH7t&aL$&8C^lasw?lnZ^Q9{7|MH0emkA}syq!zGgce%3(d zD#v45pvl6~iKmLw{Ay|YbxPp(%)7GnF-Pq7AD|tLYIZb|G?Kb&wB$A47uL>Zm|`w7 z)5jPYEHj+Xh`O=eR^?9;IN>=ZL*iB%FOL`o19mGGdYTQGw*kbaVtiN73P+# z>-q1?rm2-boEd2x9I98j8dw}><#4~Vr$8au;}s_I8@O#ET`y|H|NJ#JsIQghQXi_y zmM25?^L?ndHEZAyvhfH2@Db)=X2xhAq@`NqrGs_` zhj>Hnh$r7)smGG?i3H~r9ryE8{if(P_vH5XV%fvl8BG^BwXx(CR;yoj?_?j#raK)5 zm6qnH9fEp4Qs4M&!|~`}h?q5K_7m3$Yb8tiicA!x3eyzy9nVhuuEeg<)n4{tlMyB! z>k&a~QKmXec}~C#uN&(rNfR5}f*!*3rR&s-I4}{zoTp6iF?;gF0&!N`2%k{Np0b5 zOJWghLYumOx-{Hb5$)e%=aY2?qgoCmyc)8v)u0({uviH? z@m)g61TCAjj{h6uirz5ek8D^lHQO&-j!X0Sn?!2>w-;#Oxgma7T&s=bz*>;P1EivWf0Wo_Vq!-m*cSw0w0YD6VzKi<}XguM_~-D}SM? z;Db=~h*$gu0AG3l0Le<**(5O^iob+qUPVE8dr@jGnapkSpt@4-*Fplj-x3JF;wI+8 zR0zTNRfWeupN@a$uQFF@1w-F!`4r6X2o2M4{g8EH8kNKm0tu~qcbvP!B}=|PaV&8(V!)L-}bN0N8OY>q1a?(a03 zblud^HuYng|quO5Y9%emy8G<;~=k-&ZnDZ+b+QeTG3hR$Ik$cgl_9FJOk% z@mvXWbbhzKpGHp?)rZarzjxB0&-civEA~6>UT?Ove92rT;yoR9IS$s=y)O$h6J7sF zlS$FZbhtoxt9!H5cxo5ox~qoN#khfFU+aY9FYDpwMtEMH$?q5CVcLg_zD}>wGHw@e z>}Ke^n%BhK!ZO~jbKdVlTE>2?PV}w$nb|Pjqvi1{xq5m^wp)9o>qAv-qp`_nT1%|I zIhegOMNSoF{11TVi0n*Lvg*>+1{JpoR=$}vAhH}=rT06#wV365xR3kA_lP4s+l#;2 z7ug9HepFN-t=xj~o7ZVJ#konqC>eL;Lyww9tY%Pb$-jU`XGkkKQ z^kz7|@G#nW%>$p9Es-=~ej&(n4ln=1*dfP6`hy3+6+n+Y&E|<2!AD6JG;HPKoz~XK z<{{s9uUOSF)1bazClO~Ywt9biq*p?#oaK)l`w^;KTJ|F-H6b=aggFyfQ7(^-&1Al-a z@Ys}2DHV%F;}BRxMl%bJL!+`7q%t=mlSQNPX(Xm4EQx?XF!(&4X*G}ugu-wG(s?$Y zPv{gH6%L6-qfzM;npG~DO@WE(00n}*U;qUJ0Z`d>I=La4M5K|Zg?5u$i^Oa;87zX? zWQ@lxQh1EA&2FSit~NMrs%KieO>Pp{rPd28ztQD4NEPPyYr$dYS3AtI6@-Chpm{s} z;wzS~*e$sVEzY%ujOMgbEarDJg2ifeS_{-KV|dbPHWTa&7Ppv$WHaXZz~oK?)=IlrOAWMv}V^d*;AG3zOoxGK-6P zuS1I(aGfWIq)8P;ab#N;Md}iuoflD~WZA|Kg6j-Jk=z3NL2p~|?7~Ru4<5yigG|9l zFKbfszo<-~0JqR=p&mHQVz$0O5hQg5NKkvr4L*=0eI}!@JCgaVEhKRBEpj{cA~ln2 zlspmGRMh*OFw^wyTOZIhrCnU0kNbH|!^qU}U(a)l{EtiW zopChJvlWq6tqwZ}Jy(sTg6PRLWqoR+7Av_zKQ`jxnA6KVUYrEU+IwAHcV*jmUElzn zc>n~R>knJ1ROcMqG#y}#)d+;s7tOFU*+(| z()DXXyKus0m_#(fMTxAo1<4Cdx5M2-T8kRhE#>$-!)Q`V8dFfM&E17r-<5rIzS3FJ zTb8I9^3Kjmx&_B>Xj0-OMA2t{k9cbEi)WcbZ-hd|$KmK}fq7=|I0Z6{3|ZwJoeoc}?zSv#$9 z#dm!3k%>u^ovydwRqt&iZ=U)F34+djjAOg-~Z#CpA#{mGL66-&Pd10+W48EXL8GrD=h%o~E z$>8hOO-yONLiFhM-f}B~h*kicc0%=6BngNx)!??ME|?wsLwKYO)1ruJ7Gl&}i-aM0 z1m)q1G$)qu@;uBn zrt@6njcrn;QaAK`u$&}plJbHm$W%uZ7$ib-PE3$X$*m7l1e_!g?sTL$aT#93?~M}G z4YXA+JW`wHg@ht2uBmlEXcYrfAa;WQ0f|Co47*DZu60PoqX*{l-je2GSfsfa&e!as zVCmvI!i9Ft(7U&uQUV_~x+a%XDW;e1kkKI~mWZe1#gojYX)USx{v4#)n~8|DL%M39 zrfl@3&+MV3c9%1XT}eOBNxd;>$32^KnqhQl!=-8TTOeYLpo_Ku%G2Qm>dH}b-bM*GLOq+>cAnD4p8%soz41!%BxIDs0ZdcOnOHZYw4Y<>qdscw$V`)Ea05! zlDx1|{Pt;`DqJwU#G(nx{A^KVWK8|;CYh;JWyMmZ1@RuIYc{@N2`QiMrmouiVQf!$ z3bud%Yuj_XW6Ygzr>4Sa(g@2V-eq(vl|pIASf-S2G~~CYZW1|JSjiXcN0qeP`7Dc5 zIAk4nTGc6c#CIJgn2lhu^AfAc3EI(`yJRG{N~1T6y-%K%MgAp*$W4L1*Hv*V!#87c*ij%cZgz<0;Tpxi*uOPe3)U^WK}(i_l;@LMT;7+;;}%rz$O2BYxzA*|%#a z=39jKQfH_JOKhGCCWcay4cB^oR~o&ItsmAIGrJE|Buq&Hb%o5~dO(ZaZOwo71H(Jq zWffW2|BiA`C&u#kRaPBv({6?<;QJ>;Cx~OuDNPjIQ43OW1N*7>v>M#oR*T;Je(=sJ zl0AHuf?&RS^x%C=>AUixye*-L(j99j`YSXoE&HhE??=78oru=n#h~eGdC#4Zvz_zD z8ugz4)0#@7?jF0}8)FIGH01JE)@DRemRRY2H^*;4pX5LQlJc0#4|dLbAu)Ys>*d>u zs>lm^Qs-9Z-KTE!OC30Pp|Zx@8?nqCD=|GMr6s(hjc`MeZzH#H#5zUa@;sl=@Pg%- z857&hbg_$S_Xf!xxtDqydGewnqAl}NXwt5W@N_gw=_gQtfPg#TPw)g54F`lmVNkea zHXRR$L}F1mq*eTIBgf@L9m(pTYN_`TUU#P-o5t)<{Z&HVV zYZLmsDz#v^O`%muJ!VThv{hjB%H6u-f1JzhR7y4OMS#R#?D%^WJ~1r4M6LLl&CY9! z$K|Zm3PgV?pUPoxHYyg2L0`Adrq^w^+-`SUz2^67vETp(0`Y~C zt(M60bKC5!ZijTk>nwTe=Q6_(x=*KCJZ2lYwbb)?_1Q;SEt|4+ZPCl5dO?D}L$P$P zpF6MJ#@xK$9{*3E`?ZhSXvwu|g7&*WNt_Cxsz>{#{2|X%PVl*`d;aA?D1+GzIS_*~ zghKEOK@FnsB&Wr`o8PaweZn{jd!Otrl7Rl2q z0UbY4Vm}k5OI&Qb#Z#0xhPo3wyAaHf?BhQolN7fDD6~Bgvc~YElR8Q>eEmvLa*9VU zNvpb@14k5l*G;3-!cjf16YU<+KkZby{L%B*NLE^Uw{OSg(XW> z0`me@Zz^`aI#B%iDz`BcvrwiGllMta^;Iip+LM(8=f9CfQsY$(Z2?%*w>!B6LNAn) zaBsKx(R1)lG?|^v~1qWHkcYmkoP2UCkpY(W#f%=S8mNI)Ejf#GttGRwQ~#MfhD^5sKhVi}7=l34YI zaF65k22+h^&Aq>6(~FX|p3HN$lGI^|6-_j)w$pi;>ap}U53&=krlwgM6PHP4bi5;H zQF5-+h~|?X)3>o&105ba&&ut(Q4q7wZmE@>YI@qhtw$Lm@in|bP0 zyIBD5j|St&*Og*tS7??@vu!~U4e5ze7RM*d!!%X5Q(JHsRn9rnYV(2e-HM?ps=Z^a zdflC;6&7uoinZHA5$(ei_t+!pP)a}y@mM$C)!-+oK%eotReT}X;xc&oMHJ}1g@i5p>RNIjaka?Je} zQ`}`wp`^Cc0~gf#sdtb~Gb!i(x*==k zh3<9#nz-s*A&T>P5PhjKCr=xnoPR6%R4#>s`WyfR{Sg2F2myd6B_hfE z(PvF|L`cbU!)OC=o^*bEPMNt0ki$h{68$7E1;EZ2{OejXJ<-d`15BH(D0*}W*-l7l zG@xwzV^ZPTs;BbvjBB%_k3s-AlopoXwM&i>?r_bf)>o=L%P*!C_fvxrK8WfyO;Xwm z5_z*z$${jRH3oB5!Y3(NgYT8F7I4QEK^)MY#iWMHALh_+ev7f zJ)4eIjq{RPLhe&lCV>Q2%@zPlZ@>WdxKuLYTw9Fcg794nzyLwq*hwhp%p*7%Gr~NqFctvSUifOhi`Q}?WgFvn9?0_-= zu->WUPc39rUG@h1uWMyfl=bzRb-8Xb8)<2-?hu~Pg`wZ#4O|}$a-cX!u)|fB@zrcI zz!(Me$D5CTEWQ-1)0+}a8}o_l?dT(QoYS&5YybOV6BX%T}25Km1a^oU#?j4qz zE}f^vLNUdfs%2W8f8QmRv;ZlptnMX8U8=r3}wgQb*V;Sfy4zFHj zr*>I-3##j_r)0B4nEFn}E6g#jwZ;TLnOZYOIkQu9%F%sk(^$+Xm7y#?8`z0OgGUxS zk{niSzjzx0>HS*u@zPYtxrQDBJf;ZC!pq-=-xifqfEuTc4C zX1B?{S_NJT{44+rP93y(hY{jMFavQ=04Dgr00Z`v1|+X-878CSMa@kU5g$ayjmvggoq*Lc zb%fA*cblZM1D&}M*ypx)rAX~Ble(!(*!)jz)Si{hwNp*Z+eJrg%&8$*0?kSF^QXp* zDVwYlJ>=8ZE0P_-(D6!Awi&vBb{Bt=qteESud)Y8>S)56V$|@SoE|%CP{=@7H z%}Yz# z4=z7RhGS2@C$UzcPb$7KD;BUmdIj|q?Izx?P%liG0I25_?S8haj8hC0Y>`zHD!%9H zNF#7`%1?;Wuu9J@a^Wrr|0+ov?n4s^Wd6(4qFgV^5hKL4zSYFgHmYkEeR_=`jQrf zDH|Zn2DgV^s1hR?a0w+SHtg-sC52AaY3~1OwA1nx1Q6FI@=EP3Kud5{Ag)Gqad9E= zP?}KgWTu|3sP5G+ApcCC0I)F-?eI$rKum)xnAY)9RMPH^Zuq;9`oD7C zEKM;F4nC&xw!Uz280dcjAO--2T>DK^UqF&@aA=+wqB$q1XFVYui+akc{ak6J75TW5x&b%V>lv5 zNR&QkB+&=6=_4u^Or&uD4?jld`#i+dsYLfqaVIX0!Aj_|`S7H4CLbAOIh=`CX)Bx8OI5uyzSFlK!Z6U zRd-F&&il1|KJl3(ss8T<*->sn+m=5DZIs^al4G(gZ?FQX@yIY9HSPV-eG;tq%)RB(0tKVXk_AOI5KE)u{1d-jVDuqc0J z%4wEeGOt4$(X&IOu^IFab5|ceH2~d9uK-Mjb9K6pudvAW_f7Yjg73R#%LxIFvhUUt zKFUIB7o{5&cS3}xLUws$%If@*VOA%SvI#ia0!wr9V!?H+a@Nf(YBM*W_V1O8$LN6SP z03%=s#C}O7lS$&Q{-)mH8E!PJgzfYic>>Rc=aF<-M*$h5TjewZqq!)T(0oj*5+@0is*2>OwJmsZp(1_SuEXdmut>e za@`%&*MHmV_OJc^wlA$rz;<=si#K;K%;@1NHD6bPhhz3fc-Z?l(-Hc-H?Q*E{vqib zj-M+C`{x0&P%ApPuup6jlDID#5a%NBR3zytZp0wrLvS0i->48WR`?>o7zhFY2Yg!$ zvklxpQDsQ}Ky~e7%D850@oG%{7(X-v-^_6IfOVncu?!mBhiB!nd1qVLYP$i7%zSCUGIX7|* zKPXrcf++JMQ-XhNTQCh9DqHiNa~;M~gvn-4mMi6S%Fv}fHbWO(n=~VqMBzO{R}={| zqz%I_Mc%5kxaQIqG(UO4a;rkNy7&A&6-9Ar-*PGVjsm1HvyBrRLN{&Rl*?Em={8wW zl+R)&iKUSEx(xC*V{rWtr&NtBadodOnJq<_z5% zXxZ9pIRjV7hBd0)_U*M}VGCBBf;34|Cm_)jrnyZndEE;1V0#+{EWH~=!LaDq&9|Z9 zdPC`c(b*L}9ZIzoNmFpT-x7s^ykG!M@%%7t3hlaPlOw`5wILpAsfP8MPkXJ;O6v5k z8Cqr5Zv~NGnDn~@Qb|7j>7vdA{os zcCh$KJ6{zh7bj@fh|A`6X`%GL=BVq>vv`3Dfp!!V?(~lHdvvUoVj0!+-_D}Dfv`BV z7nf@ITvQrwjLHL=$CPAN8O($ZUJEO>&jZ~8TPP*nmL_F&2^lkAO^}@{wv&LRp_D#( zZ{YVIlXBrzE0S>#b;N?GpyQl?8H$I36siWMNFWRqY;M?xJcfA}Ad{77@7RVMh=^I@ zycdPgz5BKpTImafX(vfYos_c_!J{-*gsaLR$3rOZprW;Naq;UMwU)VF>phE&ZY!iH z*y2;HUyfziy+#QG5ut| zpcc5tBwZ0AY7)*LumrC0BW%8qt?`3AcRrBdOVwDfjjkd%7Lp~@t(cGI6)WI5{KoH!vY)~S6ztoooowIY8v;GuL z7IdHA;a@l9>N-(n@it?<0XLLoOi8vuADHbnf9pBuuS!gN;h~0eGp3-(X6}1StX`gy zqL4!urzDv>^^vslA-w|BV->@jb`*wd6FJvMSlq9jggR2cIAuMc+WJ4U9HXU^oj0CD zy`l;plr@q*SZkz0fK`c*1x04%DPYmKb^K3W=y6F0a^3!Et1IB z(*`oL?e)QrA? z#){}O%M|L54dr)l1L=WYz4Nz6Ta{+$28CC z!F{eXfgv)AfdI?B>^XJ4o3NJc8Q$?Ob`^z}&oySRFKYk6tj^|EGa#klCK|w%30u8+ zZB#DlXRPd6Vcq$~jLdXsVOT;!U+b%F$u%FyEYj76%SZhC|x9cHObfv z!Y$&jE^NI`GpLILzVu0jB+BkT$iDmE3x80|t`=nWxlP}>|5GidEvD5kFc=j(d+fua zg7|weN<0-R4^~7~Oy$<56cL}u{nAwGk0&7^8>B!0Q__=iMU$5GXLH?3gn1(&)MWor zqY3UuIx0j{7&9A}jH8;bF)C8hZ{ zGB2>HJ85(?vt?9h^*|N!=u*z7gHBCVBDSvJ&BVv*A>ToIAK~%5>sJ@A|B?DNP zJ#=>WHNZ!oMIkx>0hdEgmM2T)691tye8uB&)xGB=Kb9sY&7~TergEs{b755Rkx3N% zS}Gva`fXpWFRM|q6(y3=9H+JTF4#hV$i_JO>7tJX>G z0X8MZ8b(FST2jVILlM8lH5iImh7Ve$cam@6pfz02Td_x_zBa>*C#9Enk0n z<$UdEZoiH4?7QdQw6VGnx*Mc}u9*9fJH!7Qv)~|et}t_&x^TZebIdH`TP32TKf)5T zvHZK@9Jz6(vbiRu3;8-LYPw18y$Qa*iH5teb3o(VuzQ%dGsd>icZYLsKg%CDiA*wE z#EL8ZuOomuqS7r(#wPpoH2a6Un!dAA3chLEi9xQnL0Xg)BDz?PwF=-C5S_oXnJ!vQ zG%}1C94d;02@spCj9bkXVez`6N;pH+A<3se8125ZG?02EH^c|HyM4R)Y7o2+LgI6c z!LvGgaxv5w9g0vmv;V&Mv4^YhfvfSvbMnGCqJn%&002n@h)A$35lnGpGMnM6DV0SC_n3M0!+@7T1O6rve!ywuy(3wUc{_@96)qGVL?lWS z(Jw_{fu$@PL%9nu^LMBVf;^kEM@zE|1B)gUP{phtMT@yHM1c(BBdY>)Lm2HrTJ^F) zsmJqJJ=_cr!`MY6c11j3pVK@Na+g4JysgYLGb&L<8u+)^&zB@ay6TB0OgbiGa6wFl zH*2(@V>L*s{v(puyxO_QM1Q+-lEuP%tibHVkN`x1$x0M_3CK7~NB~MmI2|++l;DiM zV$#67=q$`(L#tsJ^=>q?$LVq-e2&yT{Z;#e&+#AeoD)=Bl)@l;ZV0{H@0G zOFMGlr^KzxJbTEJ0h;V=!$WdCsIEoqunqL7wsU_S1aU^ZAU0r+KpWIIR0FfB6*g3u zvfRBh8)V2@&o^R6NCImYB$`Kb8@$QllN`5@X+X-nqsiO9j+_(^YurAps!8LHLJ5V* z^MEbvBtJ556Xb_U7?Tki;k0~dlhXOTD_BRMx6UFDOv^4ngXg82UO=2YK9nxNBJath zi%!GZ5jkniv#U)6>5fe9MOcnRaC*udNB{)&O=y$^ocRC%CeNy`K^y*;T$Rr|{HGea z!()1m^8r?RAKJ@nI^Ik`Mxhrmp|pxnbhdqY6<53OMG&%_^# zN)@_{{57kN!vS-nH2zMs^D=z_mXx>5l6SI&6}Bp_PV`brsX3pBcSm{wsN0e>yHLQ& zM$QcQPw96vn(+Yq><@5KPskG@TA57_~w~ zM=KmMWgE`aN-wmozI1y~v;vy6m#9ed(X0EI@{!W?gvS7{&^$eg`_a>Qflqu$0j&2# zbt8yl_5iE(KR_2o{RXYlz`L_yyYT|cRV^+oJh447#Ozff1F<~PUdcO@n!L6_WgyaV zNvGU$I}3PA46iZVB{2NM#}zqFkt3l59GWWK)nqa&!Inf-92KPG)Y|V!At=ksZkQBT z%5^}|MASSLS(qA7Qk^VDJqJ+wpFZ5E$ebA`(lgWGxK<%ekw^iy*v(B_jJkaswhCL) zMMabW%T7&WyK$<3rG@ z6DLD0LbYWK9em3xR+$<|*kjHGS3M(%F>2R|OZj8&|kh zo79n_!}AVO1yMDvs+_@Ytxdz$)i_Th*Tm(%n8LgxI_HVCxm+aPv7I=_l;{*;MzVsl zhjeQe#I6ezGtNNCTzla@jj$I(wolDPxpacIB49~e)}UELS#4m#x}?mF09{qwQn9Ge z<b92zoq8ctNbh}x>!Ak*;}$u?7ypBtgI{XvyYU2|pA6Suaci_85EP+Yph+~2tk*wxKE zp0h#Ryye@&>LSyJUL}nlJ-A>r01Vxv4rQoV<>bWl6yLq*s{6}R^#na^b1$RRzQJEz zrBF=8#!$uzR}vN z8&+-Q-@%b$Z0^zx(%@zvNrj3%GYv7~>eIPyKl24o9py!KAWqH_tKI*g>(ntW3)?k5 zl6#Ra-LKr)+t#K47vo#m&G45k(%Ci#8d%F;HAK%`_yev(001@QOwCu8C}0f&kQ8;< z)o{=zNLfiDHj{t6s@gi0g5%u5VBxA%);nW;5-K5-<1HtO&BCrF?_;?G!wF)d+ViG} z-m#11#YJdH?FC@TM9HO5)cfz?1(KN?662-6SVkYa%2mka?2)zJ-{XoH>XllP6Ajc{ zsJfVv%@5E$C)#STB@N7x4g$Y!7Dzc`7TzKkjxzju21@q?9H!+*Q?L zeso|{!e%x{4&}1kj#$zp|C8mGz>{89ws^=q9Ju~o->S(d?i)ib8BXGEvt|*rE;(q% zdQ{#)Uqj2+=u2rB00K^vWTrS|ZeT^U1LUqx(q#raec_bNb3SFJH#_>`j$p9V#$`sG z5{q4f`>hZ(xUL{m2%l+u+(RA+jaKU zU##3O*gCXg=@zxZF4o*;6CE;?#O!y>epaE0vDz}(yOkofhRtU!)$5Jx6QaS;WjQ#0 zX7Q|v%-*{&0M~2)*}ZiexZr1e08em00-h!QlX=F~IQM;xcX>w0#_ZhgeG;os<;XD- z9-eQn*wbrl+Y2V2M``NS`Z#Q+^Hm@6XT3H5ey&pTs8G~;sG-rKHk7>1?3oWOF!~zT zBa*an3QF<(2`Ngj>{BqQs9aYTJ&lVn{l^g$moP*z6ulon^CR65Nvgc{I>D3V@dnBB zJefF7FY21W#`8qn)}o5s@i{Qc;&nPv)S6cH&l9~f2T`x{@k~?kI+-NW6OBtRsWc@E zN>l7hS1!cqE99a#Evs)_)oTE4Uw{PVga857DrW1nHB_Zq*QskyPfXTrnN%-xJvms# zsVm1R(9CpJ)Jm1@WcXQkUbnud1#qlP$M(_U1iTMtN_~DyET8&et}1F=&W_kn!ad z6SZk+dRDBmLJ+L~aBFU|KA@o~H7}7|SmTjz=Wz{PY&4O3?}1`keb)@`+Z-^S!k6~) z{v`Wt4}`3@&O?vzd?uNwu69a|T(-fhaN2L^;IGSo1Wz?@JUNEvv+p*#=SR&MBim)N zJQYgy=F8THs84fl(Yf2aHqy{Mu*M_3UQmx6f#T|xbIQ2Y2UW!Ly8dUZ=8K1w;B8qh zLB-}>{xeYc`afryah~2sz1FftW$gN~PRl9uNbXmbpmu!Czj&S=3m$dQt3Mp)FWv9* zZr!s=mmk8QArCoCJF||p8PoAzuD!#mI2!I;^N4{>B&erHgvXa-+%nFYZWbmiPTL~U zfUt=aHI+`onBzlbC=KR6Bhcs(%jAEK!UvtFL|Dq49docv6FcRw_f|nOQIJX?DCkUo z-#L^>4@vUCByAEQa}y{I(W69DEaVm2l!t^IJw?y}8KVPuc2Q0uKp4zIp_!FwZ~1O7 zc%>N7DTRe@g@QWN7WLY@v5GO_^E7DEW7wk_fv_2;LdT-K<1^Nf(NWSySa{MT3_5yo zHWj@0p(7tceu+$6F@*8zH266LB|C~>vHh5##_Ji*X*YavHa#wMM`Nw z9AwM1Nzu|Vt9QDop{%SoaB+$}$Ou&uM96mM@omFZCk9TV@SSA5)-D(oxjpeo^ zyf}w0+)Vf=@Bpz+Y6kq|nt(fREeE6cFGS|7=aIA_2~Cm>795hia<8mQ(og^qX+&Z= zPo`QCsQAo?8cVV%AG^h z=`^V`RuIZq_L@+{GqG^T4~d`eOiYEW@p~Rry-AR+(dzwz~CYpw@MpNF15EZoqc(90P<2 zZ$VCk@S*t0<&SdIqh^$fDzQ_`j&-Mdyp#47u(!%9cag12XsCr68cHQcEj5t97$Qe8 zw5EhEikZ37LQT3`rETe)6-Tw|anTd!buQD~!ZA8y+n4iXg3ieQV zDep3*hcB*G?W5SnzR+29ZKWOEbJ&jfWChE9Z;kK9RrYi|knZ6=Ovt#>2w>ML zS=5w!w|Hv_B>YV)Z*)d!nTEgAMsqr z*$WrZ*)ZbCqY%d*`AgVFb*Y9ci<4n~bH&(K;bspj14U>T_UjxQ2qbOTC ziNbcI^Wum9i5e_G&utGKGnqW*XEKwXH_}R#`)6mC3)!=G)&AusGOi&0UxOqC3%RuK zG#!h3f^=K`+e8?AkD>Gc0hlrdKmd94)zlX{fB+DkOulBcVMmJeYs^^;=U*c_sJDeM zXZEk2(M!9WOAT+jJb!WXQzcO{^|E-l9mGv8MCUPH{l9llV?S+?v>MXz?)-q|^DW(q zo$Mdy{g=Jj2SF(+)=gPh7K~dhW1jOHgxGVZH1Sk2wftsokG)@0Xhc!IJRN?1`|`lU z6%D`U#5cmc&13ot?xm7~BldF(Bv2S1oHG0!u#9_*_}uFe2_D7So*&fSuaE0%H;B8Q z54KdSQ|+0}bpt1bX_T^!;sshwOmlkN)}1!oV+Z=MX-i%RG0YY>7! zT)F2~pN_Kkkq)8`R=&^7o=U>yZ-&OD{z0(R;VZ1B5QK%yrY#ZB+0n{8FDV>uSnfp# zv*Qm6t`zeOsLgCK6!2dJN2d!%3P%yb?9hNqWD;BDJmK)lGO*7L3mmiL%xCGbAC6}d zD2`yv3nLNJ8%{WS@o2-zEhf%f+{o~VDu{_A7Df^R@8jtw#+u{L0N_u;#t?`r2_iWn z*AH?UsnG!HvSNBIQ2ugMUyflHYx?@}Vs8>H53)9>QTEQNXylJNk%X%WVv-x-z8k;* z2oah^06i~pg&2TCFX>ef%c&Jmrrl3BD$fZg4Y?E%oR7cAj!ouEG$i=H0w@Ez?yIPaei|h=K9+YBE0A2yQ_w()aSbgK0pN z$>j`Y#2sWy>V=refH%UZ=i_78yg00BuvBdS;6 zYybg4MD08QKodFCAczea9d0hels1X;xjF`~JB%vzk>fPTp&HNi1A`SXCY>%*)U-m1 z{u4nTuvWEG`vkL?Q4I4Mk#eum8mZKzRud5&=Up(8zZFqLf>9tq6BNd6)Y$Mh1M)bo zGon+ZNkww@C^SVh~kSW_=^C0LStV2=k<5@}$_zb1n8&3WMW8u?T8JUo(x}8uKpb zbx$I0+W4+jlfWwqAO742b>r#sSL zZma_O^#^Z^9UKNkOVR)%A^mY+01Y=B00DDyBHRymC;$MG)(G4l^VDnasbMWS0 zG<80uF)Z)XY|M`Og8=+yy(1-KWN1Abvaf9y41{vQ6s0>B_J>wdaUd@3UGH~H%WZH4 z%?OWWaE~Q!RU=6@En2FgajZo#|Bd>eLxX$LFxQ(^(#~@OEmX6 zLoDoK6(LYm&oQ;|`q3)L&h2`~q;Io2-3t~_)f**M-FJ4c2UT4yH-TTZNkR98KD4k! zj>kJw({1-$T$OmO(2;Kyl}`?HS@zUVG#Jm<=AOIA& zSO5W)h2Q|_&W<9$D~6x|2tbAiU;qsGcmNXq1UGvMjT2|^Bz!KvbPTS!6O%y1C1KGh zM^{TCg5y7Sr7_pfLWIV_Mi)~PT^-mJdDeF!5Vv~iR>c>6f3&rGI3t6vD&u#VR942i z#qVkOv4c@7WiuGvl>#CdERPBgeAvRXkIu}h(}V2yW60`WhqHRrpdk0U>v+^XRAA0C z`h1w_EJN6;aiI#>lYRDiV6Od*mZpLyjFtqoJ~NFUnM98_$W%f{h;`P=D@l|SF_15e zoUfyb3!#H3gj)FVcA0GMH#RBtV{ApMU00CKnTvW%_@_3$;1lhXc_Dy?HCkB>6&Q<7 zcTZ|8Nbt(2qPYu7&NXM2|Bp2hO0pStRu67i<273t$#PpX zRI8DQAgn82SvpAL*Qj;Hwp@5c8!z_}xt5#SL5;27pZ2wg@fe*aSZJAHlNlqI+P5v0 zZ8EyS9+r@U*^{EkW1qJ>iIw;{8lQX1Pn}B%U9e4zQ=J8x?X30_VA_*v6LEJ_b%_;~ z4>ZS66q}!KORp>}D!L_Nnsbg8mu6XmB9B*`P^oJc$ER~CDYM%^x)G0+_dhAT)$L+^ z**O*|uY;79_d8c$?aJWr!8I8lF*0jb*M!<+U!+-{#Nx##clL>v_p2GQrO=Hm_we1h z)RvEwHTmIZI0>bK-xK1@Lv73U?2e!R}lUWEV2%%Pjsy4fMHG`^H*_Acp z58JmKikB`lTdZls+SzNiEnOlTCVvLaHLt|WB(+ky*RW6QMvVumalE${jL}rpX4*XN zyDmKDqpz`NH7Yl-_DQD`aKL!qaIWdYIp?+&t$TaPu@;4lx>%c+;eISKb%y0ClWDq@ zDBAaLx|!WqwP8EkJ*|~@Z7)W2n&-YuFM>_S!80sdo0Y#aBOF`{j<%dhHusSk%}R_* z7gd+K~1%pS=+C$x{E&(0DVC%B@1K@)gZ@ zXQosO#y9oFDl$$*u>)LnlY z{H}JRS<9A6Z(3g41WK=jz)PJ?syH`-G=j?s?%Q48y=~iU@Ih!5r_|lC#jY)l~_j@$dcYCX&~1U*>LgGb92901lNfI)tn;t$IA*f;Pg=A$Qt43l#Eo( z#J;EdybO=pJ`-i#!Q*+9mmUwp-SV3*P1XA7#J91ry=m8X_1wBN-!`b$1zpq;9Bo&B z%w9do`xoZybMiO}a%?reF;-%5C1P3xTf(i|)N9({>vca%jhxl$$PzkB)lP3q5? zm|t7XwIPw8ejoq<1O5dCgF#@BcvL184TnSG5g3$C8w7?#V(~x#1_d02#$!?##6~?9 zhsU6@h(u-oDv`*h6B(2qK^vMup@107>K8MgPv-EcbRv5-pi$`*N)(2TAOOps^lDue zlS!#XC~zsPa-$uCPatsWg@&tTheB(0`NTH4L7Y};a%(hFb5@?$r8Y{`O0RRjU+4AM zJ;Eywf&noA2X-#|KCRrQ)+{axrxV8DGZ~z|R~wzk$g_E!6hix1(%$ga3ti^bq_<%; z8ayrAR1DxUIaBU3n{4O!Cg`&vn$z0Z?ycVP`E=HKdis zjQuqIR82jZFxbwtCsNq=14$>y)VgV6)>Yb4@>6xq!6e=a)q`ftcPf!CtW*r=Jw}$T zv3$v>twg=Cvc#u#-Y~uUe8mr~(3d4ng+GU>QO+HO;_|C6jmtM`<2c?|#LHh*nB#Rx z+fqJ4T1#)5X)*$(0>iWA*%2>WE$z4;VI~&jUy_-vAHwz6+;nvI*YhTq1m7?X^ zgnO7`RP^|&Q2LBqzbZ0pd5`G}wW63|C>0$@QdPcftYQ)lt6JfkCV;{2GP4O)ZQ9nU zx~Yx+aj9ZEmYtbO;2dESbLt6gBd0p$p8|(Z4DE&%*RHu!`Kog-okYMEcxnrQ;%v|@Mmwgp z1X-hfYVGa$5*E~A$8+O-MzJz8_wfgmW0+`9ZF(AG1neP_ifk<<^A#p0-JOcJghwFa zH-*}!T#5WHNFpMzqc*=>SwV+Tc;BG1>ctskLU7J)kU7|p^3dZGGjF~Nz%%&zT$|u^ zWRZZzC`Q{!!`^AJN*%3oPO&2M119DXC@naix7zU|hz&J!CMYa-;KE2*Y4R*LIRe|^ zg4l2|;rqcNSoGtZhG{OP;WX#lC*y;fgymIkN%=PJ0}S_nJgM>lX4HMQ-b*k^eHit33NU3B{ZjV5S6Cs;(iDXLM+)DVY>K9VOZFk&G2-QCZgF zWh}%xG&sI7=<7RVOutR17`R5%!82(r=PTrv7tV$A+Nl&gyrlZXeV>LjQa>kKN zCZkRYdwP^|l8wJ;5Q^H#)vEL%7(WWO#5JQ2yoQY7jr4Aq>w*zR+XOxyE>Ir zQFWGK$wEkdWh5P4nP;M+89Btv>=lq)Q+dowL$)F#f8+iJ9{Qf93b9Ouc#T%PT_eXW-=3Ds(OX%}R2kvDAS zEPKRX(n@4qHT26~n`3q*lW@6quJWm?;BRM){De2kna9e4p3J@Ge=A<+LfjD&@6Dx# z6)wxM!Sl}31Iowb!50x9Mb29ohpXRS7t+#t4PYs64gw3@M+3RP_od1lhI)h7VuUFjM{YJ4( zbh5lXQ!C9lVRMf8<|k>HRJLK!5I(+QHldmBc`;YlOpzyjC4RG&{$F@DcU4tSfgAfe zFDJUuJ!oXS*v276ED=J>MPrsP1v$c#V$Ht^jbvu#TC4iq6F>Z#tEoc4EEj(*>*|29+=S!FW1gj+`sR@43GNHSThDFd}}}hNSN;$?+4u zxT*zd*$oBYNil+NQa=KDa;Sxc5bU6D4%Ia=UgMcN!|dq|ySpU4!{=W1cF!r#ck;#1 z6v}DuPe;+HhKx2$)?n|JWvH^F%6M2imFLXc5v+d%G?o97vZwK0|~*vC$_>;5hqTze5~7OTU^@<3GCyDm${a zvx+P0^F9k!yK^u%7=%63wvD>5y9>d*YypjnIzEG3Bq_c=dX>SG(LUl(2R`om8^przOiR03vUrK>OnjFt~=6@0=uH4c#bn#7Qz6u5gz72D$+lh6^g6Fs5>6G{f*g1Wd&_0K$89Fbe)aOd^wn3Y6O5z{3f#@`tF23qdmR#iSP(GzLWb-Iy#) zMhN)C>-fL%Gq&7bjccpLsS32Rp}Zt#G3v!a3xLI7-!>!+Fv_JggfX8euBb_hwfW9C z;peL)QnKj-C>y1`v@5n^Q^fRopt~Z$oKh93wwREPE5|BgV`x4H5mJFG;E3|*4Q#`dfu12G8msp-M3^27B6~KAdFjNLe!{eKyaKB?@$s$-r>I%f0;6xEH zL?eqy6g0y+&p;!4$qQt^Je5gV->VU*KKpq{oSHH$0xZiL$BYsZT%N;nl^x>&4CG)q z8mzY)C`OATEL^6GG617&t)ZMSD&#GrWURr-oXAX8${U6)gs;Rx@;bz}w}K`Sgd)8Z zW<^|^5R*PBy2KbXm`EccGYP#9ibPBVw7V26B7vKx93;yjPomV5MgyS0TpOM{{iWog z5&Sk4NisRAPD@&%!^AkqE4?>NvI@gvG5d-^{1`n$dr8b!7pxge%q2=3tV4M3A7rVz zf@Y{Qvq8gej}y+lb0tXpo=c1`zjWh190fH>%RzMErzw=1P=J7dJ6+D__yP<70DvH{ zs5AZ(2Z%x8aTuglEfSdPwiO5@QGYjlX zA(zYC<{4~t*D;^1;^Y_Gg^xj@wpKLyy7a4EhK1=Tx~lwdHIcPKG~1Zw$2qH zl~X&q$#5+&t&Lt!gsgITT5N8kZ+V>MaQz6+b1h`)>F4&jOgYlYQkAzm^$w|lwD}V?R2+^;P+^W075}aPSNU{W;{v;1%g(AYz`?j+y zFk(j}sgrDJJ59~p%-OW9^wOC=R0Hh#yUny-@3@Vu!y}=S#PcyMDjE|7Hqp|p6ws7A zBLStXEH_85>zth9!gT~7&asKyaVk{P6UR%gj|E!9I8}5KhR+mrGcwlNzucMr*#u9B1G*w%oIO5h*>cO9o|uaxR+^%G;FQk2mX>+#I}uWPv# z3q`C?MrpLo_?(RaQ&h%*T}hj&eNnD3%)PE?| z21Ke=@o_}d;wx2uLcJaRr(smK-?c-@pqD7Ql8y~&qRlCFG z(DhL+-?V!<&#}~5KH|UY=O1hBRKv;r*ZFuIB7}+_oAy_%-LkvZaPr@T0wN7ntF@N5 z0-X9LchC6*Cbpn@RI`zS2`sU;wl-7RiT_bhZ3DJ-nF3hLV0tMb1G*=A#o+7;Ua(Yz zAl2IfQ*%pNuQ~vcrjqXz5-Wc%y&A*!;#k*{s8ui-^slD`b=+hmb%_DaKF9h^PdUv& zabU+k$W*Y6Noq%m8GFI_j_;QGfr!Ye9T(@WOkI1nd{E$(s#uzaqa1U8&<$}a^`LxC zq;WI}LOn;dNUz^p@r5ru!N0i&Ay{J|kWtbmly_={Sc?TmXP?>TQ@R?8`xQ)hVFCzHifrlFJ9O=-M$; zn9iL^%GU2B3B2NxhAK0{c)vGOgTz0L?hr-OryETC@F#~!M@};^;t~s)Iq{}!%!4^1 z->g!il4^{~SSLad8}ybcT&bMY*B_>0$aJPPA(9lk7T^?wrHhf_tQMk+XK`tx3MG0& zDL~YztEi#Rx)()fK{yUX$Bs%$OO}W}%SrD))ha@gYMyBtq~itSEjfFp z{s~cOSdN|?jdD~##nkliQ|jX8lgb9MIkX)0Wg+&2F%j~%+3;&>L{zSEMdwCpc--Fm z*q21&q0#5@HWwN%PL%=K~td*P^BdLzW9I zGpY3-st8*HE&a%z zkfL4NJL`Kd9ml!KLj2Y{6s7N+Ou(~Fx!5c2?kj~4p9%gKrf7QRuapMCbrPhiixVpE zfi#A5zEG59wT17sccYjclHI&hLf9>U#MA9f$%O$(t)-E~ICz*vR}*%o_5a6n{P|b8 zxaLW{jlj|3<*5=cY9Mw)Idr~n<5(dt3k>zaOaSWFx|N7c$-he%#_h)VLm~(Qo5sJ1*N4l^|46M+6}JaNrY7b@iTb)JyJE_oiX~Dq1wW76HP#z zXvVa)nU?@eJ!xAj3H-C#5;zGN%As}4a|c)EzsY6&oO|(ScW9j9wf7##k5odrytdhsi}~`dr+Bism76(fjumHilg>cqXpB#?O@C*nQ8R9p$_nH=fD0mC<&~xy7-6q$^An ztC(%RraVsx>K$8J*nw5)vObno>lwKoZRfFFZ>Kx0Ik6;BGTobDSkK;mu40BR!d;4N zQ;5;oJ1aIPbE_h0-7JRrpFrw%$}U~bKf{tSS>Zf;#559KX;QcaOF2e^^9^~2R3D4t zJy*lkdy-l(xqDyj7Z0e;@k-URgyejZfjZ)?vVA>$vsFgXWHn!~_;0L)TMIQT91A|B zz0~s3%dkV9U8+6TUx#zqNO&GPu$2~Zs1fJCT0C;;+1|Qoe${fPx54aOPubOfRK(v% z)p+R#W`%Wk9CCk#o{Qz%D4X-s*lp&&>bO0<90a zctTjrid4uAyrQmL?T=*Bj-+vIeE}~lx<^u7&z!~N_LN0#>(CJSD~R|G_T&Z}wXBZP z?C$F9mh*}_?Qe3-&gfN#IA1KP-$byrEEaa=CQ1*?-2<}cEBglTE|bqhj;ci7&Pws7 z{$=j^tndm?iuARs*8)&v|6^W6Xb{~k==CtB$7%>r2!95HfMbMl0PF-)ulQewQvU8F z-|#|@=kD+Av{lcfe2TWx3MUB(feq<0u7W%+4dlX*@cjl-=djrNX$-lG%+XNley{?r z%e+mHK()kk4oXJ_t=d&h$eqq8WX{17s<11jbdU-&6NLz2Q4UIoVCv524>0Ibu}oHv zxbSc+{EcL2k#5a!NV+h%)hEQ*1qB2~JrGY&|I9$KFed(P+`B5l1*6>caA5MM7SQh* z3=mZogpT+N=p*g+_Ay5VFPiwUpsSF+D97~AkL28}0=zJj7w}@?OI;DI5{8O`!RO%h zOUUsDYaM2Z8tlMrr*_VfjPvlz9V>>kQCM-XF8?eYAdSl5D@bh6!j7?_0)%YT&|c+; zF%vLe|L=^pM$Y{)hSP1a9*nFp@>v&+pxV)IB@Fuj&0_s=O12|}TM^GAkKn>@R}|69 z1u0Z-QZ}Q}ytS-k(h-@F4vCanRZ96KDo{%ILA?|dPah{Ju z;U5ta=CC@>LW>@dIT@0;r;U>c>HR5k?rsx%aXUmqH*$0z|EgC>3+Inh>J4- znFB>HvW}rKRQM=}+)gmViH`xy8!vI{_33{v5~xYA`siwk_sC?6N4CoiMHS#Vw8a z|7(^^ioqTzg&ULe7H)p7h}!d1HtUkpCebe`GR-FRI{uNWpfS-bG(|a#PRynKDyUY` zkx07`0Yeik?eJ2m<*h_6r9tK2H&JInl6^4i+WCz>c5rbr1cNsZ4Ftud6*9pM^P1@? z!#zq}9rL`I^F;4c$uAJHQfIdtlmz0tR)P(bLD-x7KuErMU2Bk0%6jG!cO6HYA>v2FZ$1!R`+SE?- z%ppT8?@rPRH8McM&`}BUAe`{3Om#6mu7-9*9Nm>g2!fLwbkgYa>};qrLsK&&kzQi8 zX!g{!%&uh{ZlaX6TUd2m;uGmVFmnoYp+(IL6ZDNiw9Q9tsKix!NGM{LX;C&q*Emsw zQ-sQ?ut3X{4_fs0_?2{9@SRJNI~b^O1r<9}Q{q?hkwq)tBT=NVi@|96?)U&#VqbAaH zTC{b)64e)63NKf*^-F8cJr#pXwD9CK{)E<3X3e!$2@JWkiC!>}<*Tf_<{xMxDOSo3 zU!uN9PNQF~Z9a~%7#0x7i0vQ~d`xknQ1$A|Z6DJm^oAlRRZY(cK)i2eh8E;y(_K>== zc(fJZ^c7a{v)Ln5d26z}M8mOM)z>uEDF<}m&CG88r|Ru>D7XscQYsAOjdMOn&tgWy zbSeU^q=8))T8@q}X17SN(@QTkGZ1giw5-JdS5n3IcX&1`=9JK55VsnYAcd2wU(Mby z#%DW`eL9ykvZ)tXtmSX^F(h!iQ5Uyoj&@>;C0_*dX;;NrSIb$ zO1I?ra$jt#_kFAN6J-P?tsQ4=3PQ0Pc=%GW@&9>PQta%Va~C&Aqj7L@gv8S(@pj%| zl}UzEH2yb*ERH=|jCA0r-4qjJ2-srjS49gq180U{-FTU3RKa30p+X68LQkV26vSKg zlW}LMS82yoRXm5eN=<6YvEm2U_>2lrwoBM^^<3 zSH7~@F9NKK2N(>(rVys`R?~JeXY<~J@HEEeGkO>SS5=W4ag&#G(_~2thq%3AQ6ZF) ze`t4|jril1afLH(($#AxP4=ZXb32%LB(KitWO;z0?kPYv(QX2iiP@^!WJOEYXJL3p zd9hJv8CZxhe$?3Xg;lg7=}fp+DhTP;t88IyZS+i?nNmslf*)Dev=HJ|dEj8s^R zHN-@X=atvVV0Ss4@)dl!tj+3Vq=>C&S-La!l$`QVVQkrKvHga*OPBPOj~9sM^~Eo$ z(UbYEE$cm)m4r*!h+g>*0rx*^nA*~#b)>hKahGUHYLLA~-A~!(@J2_KG_jqM?>K1b zca#XX5KCa~R;PIxpVN1!RBs`REU-4NtmWsLcFkOn1z7m4R*!I?7UQRy4TT|w{~&(Q69c$soLSo)D5pmj zCy-X|sih_|x4WKr1WCFDVAa(&7n^()$yzze;M&oOrkN6ZHGf*a78qdA7FOVkL!$|A zNYaMSM)?}roG#bdr5bT+IA3NIV>&uNtD0|6Wz9^wmhUnDLi!zgua+m+=b7a=uHVG#IC%o(|I+jUI)VBgb^liLjayTh^fN`zbC z57b4JGyyDe`;(hVE6ZnX8-nQEEk5q$#CkI-Q!adN{c$p~$TC1^yP~=b$!(|Kniz+u zip^!ahkf$?{B%jVdLMdh(Yc(Zz;-}w6;GX*JA6B5rfFTvH&vMqD%|;)`iC*4*^?er zD^waMVVg8(+gG7hbpUd>1A ziu~V9HWXVGbBO#vN34xty(GU#dSd)_vANH*v^cNobs2Im3O2Kom4A$TZ^qfL0$eL^ zriYL_0nVuqsofi{B|prVqK%4awUT4Phz%AqCxu*C*;x^u7kf7RnK^HZ#r&y2yB$tD z^}V@Fo;^L!)140Di4AZK)>$K3+%8qQ07e-4CN@#e4;ofowbr{SdRXk?6ltM-4aBwO zV5b$?hgAGde~nkMiCot0-BPkSC4&;(2{yqXF3)!=MZbsV+wSwG6;$jR@kJbPyL#(g zx)@V6F@c(O%6C6M#QnWTqqFj@MQrnnSEF`D6I*q1-MEK{8orpMbH zWGGMBXWYF7!UcT={)N8Y+Wd)vcAZ~`7~{3MJLrVom#9?BNA*&EkE;s|KAksydeGaR zFDF*;avnMIdMnj;74*H1=q~}LUk7=QrNvgi^E`})_L=Ah4|V8Y!Fg4>uX%R9wRxN} z*C=u8)F{asJ@1#ydCu)*kD!_IBlKUN@e3aYdt1=(AWf4uL$7Pv(@mMNUUCrqrVp$Q528AEnIcRZA6)D=x6s?GV}3 z63K11MC#P)jlSt2xXd8aT5NXbb-G#Q@hJtaIckYmFVaiA^0R=gMKRc#H1-c%hg0y@ zn6^r>frUe3v3kAo*yxhIUwJufwXzqY;Bk5SjLd4e*yi**HIAK+2R^d+cisx#N4@B&%Qbw;X5%~V z`sTR(_=k3zy!$6DGZxaKF6;jRBFz$>^D(e1{>i&f8lt5^uyS&Rs0|7j0JiO8YUe_# zJL3H|%9E=QDvTpW?Xd4GPO7A^yYCgW5ZW-MJ+X7rvn>rATB9)$JWQygZyRoxJZ@SY zAV(@hlHAElQwJzR@?#Q{fQd?0-bWIu{R6D5iZ>@hGUU4uKhc{(G|bKu4!J&1j0ZNo zQ)EK|GjG&t%*S)AnIyQ;EHo4CDKzyhK{>w-gwZxP>7-)qQB@mTM9&p{Hr~|{RKXcORrI>6 zOY^08{MYqz{=CX|OWkBXu3Y0{*E0LzT-x$=7txcHA|COAb^w1$4{UHSPX|RWZu}d?c{juV~wL%XXK#ca8&m*)%j$pES;&;g_JI}qmM(e)YX@O-g&c>oMMl=iwa&!BQc-P z@s@`q6{EK6?a@;TJjsoZkVa!u)7q?A

i%r39vqhURQ8>06oHVq?8F#4avf=(JFxw#xi;#3;UZ~?#-#+Bv#|~r1GzTJ z89BtXpl%|mZhh-LojN1X)*2!6X(l|dHA337&pO#muNcW7c0{A%o8yg5Sl@ z&V{SNJUB#bPT1L;Kv3+BN2ko9-MMIskXAh(*5tt<6q`8Bb)p`~9U0)_@qKS57B?Hgm!8vIfOL$wx8jN>6ehDzp?mxC>PvgTks}D zMqDS;$Pt0R7~QGhHXvV!YO;0wrVOcyh99ub7tKpv!QV zQ@L5XrL0Gc0Y6mnnqW@yy8Gr+Xm*XLxIGi`3g#UEbFl7)$n zCcQP0@wLk*iQ?-hJQ#uS+J-Gz3vFDb5h}5QY_?{1TI*#pO%^`URa;KIDdi2cbv&QP z+n-VG)n=4c`mDpIvtXxN13c%3BwL7!ET7_iyzM2J+ewT_snp{;lVbKJ*${Tp1Vp~) zM$#B$3v7*y3$60P&O{CZ34!vISSZDw!c;+9XYAlQ&_#7 zk5e!;Z)7Df>*~u@ekOi1Z4(PKU;NvSX~mbPI4>PDYz468v@yBX^E?yhLlieg&bU&K zO4?>Gz}AxWnCk9%IF{MMw|=$MD&Xv8D;=F!23>)?OLXew>5nSO?Xz&ches6~e>J@T zYL~Vf-0c?J*^6pT8gq?AnZBxhC77l?J*HkZ|5uH?Y%oUIH$_iA7a+BFM8(g7QAtCQ2_Fv zy>BtQrF(ipOLUUDn!g@!?ms40N`=^L9@|ZH_6x7PiYEHkX=9lErrrLfv+y;8#XE0B z292k(^4~)|Cl9sx^+$%LdAdS=!>H6fB$APF?QK6IkUg{UKhdK(BX)_|E%Gt zOZ~A^`Y!oty*v6pVoR`!BB-lZLzA=$(^4LbI1p??4fBR5aaF`yiNezxuIjDAE4jJ* zFGRAywChYXQ5zp?xg6vfKmmasTm`v28lFQEz!~ksyWTg8^^%&%z*IavLu)wLuElaP zDLd0SOH;vt@((E>4wAn-drho?ib5Kp#ew{*`4zYtIWF?t!h88DtH3e@3`PSgya2=_ zdt4Q41`JUV7eWc3GWWaeNJgvG!*bHTi{!lHwH6$7xU0f0;p0a0I-{YJ#SC^mq-wtG zb3Z7~kdwLyB@Q1FW#@MEbvQ8_g0l5QIkE!|gg= zptf++yA(xiI?ScM%ltl&I_RU+n*fps0D&E-EGHE{F|)LfIxkX)ygiYmYVSiYBts;= z5%RAox$@Mm{khG9$eYWIGLrHuQFO}Ts*c<5Bq7d3#RbQ1`^@n~({yDc!jo)EElu;w zRW8br%ucky6VsJNw6pU@=PXm3_`$gpJ9{e3)HIaAxa%ahHNlVE5}MDGVp5qSEX?BM zuheu_uu3w-c=XcEb!j+CQyZZkS2YAA+CQ>Jln$wOPzZ8ZH_H$`i2tSpMv zde64p-#XAN1xIFJjx;LZ&oJHReoT~%HksIXg$TUKkP>eg-*~dQ16I z+7T9kJ1tn|3$)1(>)*R)_!Ze!R_xwKDdf4F$qetWcK@R{*TZ^>?a*y~vBiv%bEfc# z_V*lcdUru~X>o&v#A*1Zr-Iql+aXu$89s5+#ZF&gO|^P7yBq4vrnKDUc@5)bcW@(` z+w9%r;PUdGF00kf`(@?pdR}U&zVn_(yQ{sMc9&~myA|*BxjzqP`q-ZvO!Y^*qJ{D8 z3mZ*%dmPtv(bX%0KxS?MKl1j@nc_uf#qAxuL)QUaN{4;Qao#isuyGQCymCwF9X;4C z@QZWyaqx+-x~N93RYC1@utmr?rzTb4n&5A6u|mA2$pF!lG=5OsF*29Y2U$9va;S{X zI8)x-8;U8SS<((`=fpieXN-^PU<6r2tqAM*1V_U%pYmoj77DIuGl!UW7_YBZoRk0cv`6< z8GVWEA}GT5?F7nve|FI#KoTe*zg;OfK`;se!#MJ89K2jUi$XQ6Mo9~w@`z$iN$94x zR`p$)A&YAi&che7?2$CSHYPeM!c@4I;qoXtC6(7Tcy|6?V}oh2$$!P>Aj{<|CNPq6 zQ}M}pS!VUuZYYU#YT0-Vufi;GP;by-0*XBP>dq@X+4hPxqS)E+|u>03J${Ac#z(R%_xsgkIIuS#ufU~ zh51m`t8=6A`UXiOYLVfb|CPwrTef!(59D;>qm5EoL8U<|T7>wlH6cx>f_VQ?B~yZ> zwg9}^pCp)4-J10gN>O>X+UV^INpXdPPpK1ASIsMGXZ)<#Y9TY)lHx!uGG$QOp0XCR zHDdBkUPyEVtYM>$sxoe4CdwqQ)ZOVxn-fkaa^RYXdM>_eeN`Pzwx$yHt-E^nLmMS7dCp>m zRf~jcO8YLn?;?6!Ir}Wh?9E1WX1he2D+?~uiI@oGq{`aEEu!lGzbTr;St`i5Ze&D` z<~4)MNhx?BHDy@z;?h|=6M)_`>!p+e_0O7}hi>%-QuuNCTKa>8tX-wUHhONV+VP1l zX|$8X&T8TeRbehhDznXd1me2E2vIxXPuE5(V#=#0s4Tz6)zV?w40VUiEvLK7K^#^vtyzZ~M>}x+<$e&px!!$bN+RQ4wKl{nm7w0|uJZ0Z|ERCL)ZX0|lv)WtcnFB(5(+I#jR(vadaGb_+JjI z4ZwF|e%rh7l6gKOu*G(QwvxKCK)XdNxTz`&%2S0Uo{dM6_3lqpRz4NxHn@lLGg3d( zruXZ)t+BPsg19lGgtR)<5Ff&-GWle!TR2&%s^Zj>7LF5Q&8M1pb;)jAb;t3#&mB<1 zqoEd~L-QMNr1mbb(KC}QWeFa0><2$OdY0BeLWRg-g44P}7B5Pi}eD5-MD#yQVKD zE49eF>C<}Lb&0z5{pg*s{}63mA2rWfUgJEz{pyL|CP;_4_dr#qU(oDtO=5^FaBb0*zO4(0c!G5%y3-lWQmYUqHnt4WV}Aa z+BJw+GNFhZ|EaqBa60kK46hCN<;uR9r!xpn#|WZI;|3DqECmT>JoL{{ z><)?T7`dht)(ypBN)55)h2;?2!+MK6}% zqNKs5Fpf)i4o{G@F$n_CzRu|meaUoBQ4sy;a}lry0D{8lubTzXs=mxM4(H&$kplIQ zfKtgm+KJ~8!#r%yvk33)0_`^FqBQTRKM0XlzfmU;O8Dfh=yNcB{Az@T&9KL96wE5h z>f;Yj=Ijl=Y@$&61t}V@ix37zl&^a5u9i1TM4XWfuF#a=E-MY@MB6d>0&Jj8P=y4i zpkyQ*#_3MVhPdEl&Xq0z@(l|isR-5&cJXoU>@afWv4FqscIXLgY-bFr@*th@7ZVPq zO3wWVam4^Da`a3p%n`6EWG5#s)|v=$8BS!{@XUnrc+L-weTMdSug>VMvgV5eDRN>> zQi}dCc7l*Zits*}(YW5SimIwAy6*OZFsT`l+a`o)_5}kXP%K%{S12+FlE&CFaysg# zgu!GzE3XLT%Hb~%%Db=k6RSGbZcQdCHta=c-Rch}Qf7K&R8C0q7t%bsj_WZl*D4ST z84u+Z^8n0|=FW;C26G7b4r&#+!?GAJwu^B8bK^KnNBi%S&{+AVP?+mPzQ z&bD{WUnmHmGRHVrXfp!x_`+#S+@)tIaWqj9l{87R(@*mHCO;OX0V3<0H4_yV*(g8&StL&TL+ge)Lr|$3mVn)fA0&LN6?f=&oN#*Cj;eUUZ8(LW?zKmNF>H^>l|f4)q->B-nE2 zN)cf46psfDFidX~L9AkMvXYuJ??tobV}x+nWYSAq;&l42btaH~# zXJb7T7)|FLPt-7gLYXnMZq)M463=}#Fsy?R`cLgT&2pw~s~=Jo6%w)N-K@G=uUk;D z2H$bq^(lup)ms^{`gl}-1JqD4G)Xou+dk9_G;+S`GP=3YeN_-Nc2S2!GZ!n>FI2Rg zp!B~~m3t@5^jMHLR!4w<$3UwnM?dFama+cElOj_OoHy~WGnCN|bM`(^dUtgBAZfQs zjr%>7G;-BNE%ne2Hmvl$Td$Pv(CEi;)btYMA#l7Pq5QI`n?EtlDby_VGVV3i zSeKF?2y+Ix6{R9HV>zhVO)j*GFq;AMBO?eULQ}g|(g6{ZZCg@JTQNSHRy^O9Hkwqy zATeblEV(ZZ4#kk-x>K`Rc7tZNgGO-2RVZ}>$d5m3i&7L9QT9tRRefX$I!(z%2@>l+ zu>WY26%~+BS=KhC=Y3w#z`>MEnDXqAk;a_X!(cIHCai^DbuAtbSV2}RPBMir)zM%y zr6A{vQ8Kqaj6DH1^7;{S-Vs4uM6E~mxi7B8UDni07b9G6l=Q*aoF?&L<+j*%O3T8% zaj)k@gb^QBqg};lII=falLK7RVQN=PJ8$U!b(Dn4D!O&+WHk=AN55pln6)*i%@&SR z4x4s!$2~E=%l2n3k7r{tjT4haO|Dm8vkOCws~Zxs=C00>Q^!wGXm7Uwbym|Lw^Y+= zWmqwvXhf3rce#9Yv~$+(vKChJ*NIoN$oMZ0HVHWY=OcXRKx#J|e{zRXbTYjcrE0WQ zOqa~qEr^uT8)YrS3GC*JhHZeiLl>nPFYp0i(0N7*FE_G3TNWchQjY>LlXG^dZxsP( z&{be@wcGe$93&2y4YTcGdyJj zlZR2VL6ApT&-AqQ2ZJtSefOszib+XGr)v}iiR*s2IGu!+PjT1LW>|lG_^~XwwIq#w zdUV$F=D|()lIQYkXt?VPNzjb9T_|*FpK>jB?;Tnbw?lHN9&~ctXZ?(0KYR9c?6sAR zbr&*)vs^fk{IrJeC@+dA;XF2uarn4zP$7z}da#qNLUxr>xG8rOY?uhi4bc;f^n+CM zD)(5}?m1~?mE&-=g-Au+G#K)*RNa2BF*$eplbM5kV;^x@=9Gmdl{NanU!|q+RrQ) z`B?DnXE|85HVYtEi-;@gFs%Qh6vqJ7ReiHBhi{2uSf#4ErpAxUPu7}!5%GB0>pblT zCel1gv>lt%bx{NPA#bT3rX3G0=S%iFOET?D4Od#axH9=oW%lO&5EFqp6`z{*j@Dy^ zNwi_{Cabmhim9n*^e;*9&zKAMPw{`JTJ5hg&!gG|V|nis8KEBIF=89Klq>_ayEmJ9 zzpQ$xrLIYZrj-6d$#fCljVfodsJodv;KW-x(2`X8djAsg!hXUva?S~%TaLuJJ&4-U zgLTQl*0Tx>QNe3{uqdWXY{76eUtn8fvPB7wI0(T!L3gBmqA4?Nx3YHmpP@B2qmR_Z z8BV$jnSFclHm)CY*uQI5HFB4Myw=5H5rQ$>t-Wdqu2@01F_NwOOUYB?xmz7+%#qBJIhz#QB&S7wP&QaA$N*)Am9c_LE0UcFVB-7&U)dk#&NiVDV+=t$hhwI z+rD^rUdrp$!dzKGlH+t#1D4M|gPY6Dkyn-dE~0gHhyx#(($mF6BdJ^~Q>vo7TbTXM#y`xdMaFHBazq0 z$4UWK^2-jofwc<{C^KEHqJg8g`O6u-X~^2I#c|TvW!$o5n_QhYbjz`MbeUK0&rJck z6I`SCJa3&Lp;?g&MnBkv^L}=s*iLAfi!H{QX$jqj)Dq#yoif+mWa6F~Y}Wm5qqo&O z5Gg)CY}t{$`O+wUC!ammeK!w91DJodN50vYvD@+5-c=a4?85#}6l*lwUJnKc>$RP( zkPDY2661Xx(}A(MO88jm&-=V;1z-LrxwiSv)S0Z@%KC<4t5svC7go0~1Dc&nJoJ-Y zoNehok7OCcksLD(ozo}%)wJ98lG1qfT!AQ@OMa3JLJzX2^ry#qiE~C>@2fva(EUF% zb7zz5ze@$gRWZAsm838Lp;}k+t`MP|t{szc?qi!ElmP_N7#EEn?!K#m(Z4NH*oBJEDkd#**Na-UOutkW3eIK~aBVQCS zts}Q4O08-xyt%N-{UGoaPz?b|%Bo!a>&lc8gGp2~{AW$i)avC0 zRIZdTgEmc@YIZjBqo5d z+_O6|k$h_rQ}TV4M>=#BGKN?bBxt_cw6dQR+?G9AJIZxLK8ik+)O8Y4@;liJ%(H9F zZ&OS|5 zjb+s~E-9%pk4>|i<(ULw9OC$O-Am{CzPGAL?1s6riA2)FK z9D{^syO%j|IJf6U(A7F#$p~6~eS@K0+KVS?E6}HL%T>5zD`dp^3s#O-uODQ#Hxo9R z@@|xbUEuh347}86sXm``dL3^&-#mOLNu$P2ZedgRdkyR5OfT$rt7)DzmdJS*AJ(<* z+h(K2vflKO!llCS;7}8_RL)$Yr$YpaA3{BBFYKAXhxpc8a};a^C21jZ+XCQ=BQLMn z^OS_T=#k6acPkC1w=zo!53^l(thv@McFw3^^a4$sL_d#nwkNigQ@JLMl!m=db0PBN%LKUJq52C3yHxpEQe)Q05kyrJ(#5(H(~E z!Su-DT>TJiI+9SWRX#VfFcAWkl`-M)zQtK2U(|hTrP&k}G7F*BQJ2TDe;3t$~Ft_fU1*ug>+e@N*b$B$T$S$@AN{vjFrg0Lar?OcsnQR{&w0y3VoR zLV2nME_~A(g+a>gRwGqm_)2Ij*eElyoN@ti)2arynuPkA3My5}YRvqqO#!S$9fY6> z%|}}kWu%rSX}{S%$clwT7hQ!2QKj=?CeYN77gQ{rJAYmK%I;uI)oM?)HJT;GM7nUe765bW!Y9=ttg>U78}vx4sY^+%Cq(aa1XMW&<_C%rbdH zyK2NGjdsNmM-fRzEofYFGlNe>x|kVtWMEw`6 zCf(&LEbuFfh_QzMEMucYb=4iOkcAG&WSMy0nuXenmqCZXY=ZTqP13|EpA4l8zFZm1 z*)0r#Na9o|h{^w7tZeF(XpN6~&^@J88wV?yXisC6F{p&Rv?4I?gq$dKxUc*US?O zQkk5=uBuUA=z~MCJtM4>mEqM`%u;r@2%J!HkO{$wQD(7_ffxz zJ%P*qpdJ_p_^B5>zh z2cMY_9Z$J(@k=-vvUoo+%-fH2>Y0tnU4neL^sYtmjUSMB#?-BPD8XKc$6=d!y1#Ry zUFOCYJ0iV7=Z{IjJBnMf^)|E1bMtR4_j56227KO_{!nN~VpzW+M} zaXg;hTu**4p2_GtZ&WLuKZbaFPhzgVh)n8By4>F}(wj$Z^nE7~dp?C{u@2ySoa4S& z3D58Ass{5ur^;+9E2{mL_4Mf?dDmMD0M$egE6J6RzpNcTgOek>FG8FlzpNEHiwL>v zN+Lm}YYqdz!!kG!djl&uuQY+(nk&z}3bB|_OyLnG;-Ax1;M!oqV4 zw&W4PW5qL=;Xpggjm!6xJJvvC5hS9a6B`dgY#Kc>H$7tWBP<>)^YX*wO1FA1H&jE! zBn}}=O|l^nt?MtuYvm~`9yuIRyBohfX<@(&ER+lb!OSl$Q_C-tpCL>exNI@Qq+LD( zgCJ_6DU(ITQedY%DL=8P#XGIPXwf#oRl&NFMw9IiDEuw#4Zaj-!7MYRBY-qW)kI5t zv7)w}I#xGB6DNvnor3ScgP;qd#yu=jM`SlVtPLFtOvl^)#;UwV(zzl704JG5!&Dp} z3_m;kYDfd6N9t%gY=tF!PdvF9vVYxil3fv%&L+|Lq&|5Soy{mz zIwXR3CY#KtG+JdgXBq%RBJ{arRvithRjV}WFP3{oKP`I5P3;)0u3HCG z&gXO490dmzR*z|H`Z^VhB}uSrHdf6{$3>CZ$8^`~{$|m)%hmCCZPg~rM&NE~+x`|4 zcO&I*F!cS0PBS~sbZ(s5j<&~0#rS$OJvS$DF4OqDcifz!x9RNXdp^2;Vv|VY@--XZ zSJH~}KX42Dw7YKNB-Ji2OV0tkimU*MwCc<3{=tjFD2qT!t2qL`aH`b{td6tTxwerL zs}Cti{38BDt0Pv-wedVcnnCXy-tRY1Qedk=O1oT>#;+I&A%F-H2!kg|%kuFcsmy^H zMG9(Oh9=0mR-?s@gshA_tZbsUIFK}56t9t5u^`GWq%woYv4qmRu&}~r(!nYG(AG3i zi(Lc8Ym^HvP4OdZGD4Ge0_DZ=jQG${@S0qnxU?k?DK?95 zRxLqT!z_~TMOAK99bCAu1%BySOPjEcO{pw@1IreDqaDO?4W}~PRRyOjq8D7VK0Vhp zjTyuUb<0=TH)|^=-p(EF{niqO0@^APbq23rHto}c(9;WBUDo&o8+p%rVSSC^b{AQt6OH< zw`aOKza?zgI`2qj+nr;zW%)`Mp4C;w5sYS#^^2LXI^@2V=6d$?v%s$g6}8Em3weU@ zynU0gP`LeBvF;DA9Kl8Wj!(32($=TY?@r?Nmf@S16){)#CS%sv4irHf;B}kpaCQ5i zcBwZV-l2!-mZZ6F>H8l~;chHWb-vO4;+fERtKYTB-@NQ4TKGHnxWsu=7o%qLzWys{ zF}U7;_cmP>l{W6#Co%PTm=1!_$QcGgPD#?RXQqeW;@noqVfivrfb<|!Z8vFk>Y}E~ z{R?XAaf-S2!G{t}34%?2YdqhUHnfZlya#a5jbS&qR`ZuT{bq`y6&g2ayq82Hb*N2j zJN6dFp8}^hMD_MIWIFF&S~M~cZW^IvvXEiR`*n`o=@hiK(jp8WHgBES97E#GTtjXm zaW*GLA{65eyksk?W+cF44;rDeDvVA_5M)GZ*vc)VSnthzH#OlpA(>bHTy(3Z~;wMxCI^ql$ zis&s28CUfOPFpB^lm-jJvhI@LYtcKio?c40_Xr|W9a9tm(W)0Xdrwrqi$*$2(YDss z;r$MjM@;)cHgLZt0^(ovi26rG`xIQul$6PNHZOVcC<|o&l?w8U(c>Q%Df8Esbh3)6 zx63pXY>T%n&Yc+KPU9>G(6G`t>c)>sAQp$&h z7MnikxUN;BtD=k9@y2z>RZNk9HB{blluEfcC|zHcluSfG@*U2xbP*uRtn)s>K-KTTbMB_!4yIU-);Yw$o)h%kv zFzscMYZMLI#YK5AYGpW%RvIBvIhb>#-L5-OMv$NS=R6K`C8_rXKUak`d7s1kVM!tL z98{fd-L=bXjiA51i)$xVO+9-l^6AS--&(H?nWmCX>qWbVb0!3ynsq?6ocMcluZz5e zH$D2q`esim9Fdo0dTTD0KU3+Ih%0tP_aJ4_niQR^wJ8gm_LkHn_?j~^BSc_iU z6&0vA9Vt!LiXoTSk3Q)>!F~G{n&IiGs&v`S*vnXoWIT$;>K#$sm-h@E+ebAuR>9z; zqk9`{Bf6DdZFW=h7Hbmvd&)-PtQgVVYW@|pY@{#Z(=U<2BVv>G;x<2$4xw@mQ-N-5 z_t8iTm+7oCyI)rO-Z~bXqg=;^`HBQ*)88t|JHblyo?38PTHEg_Z*aNR7T84Vq_KBs zmEMOl;e3yfYo*Bz@{ES%w1)Taoc*ry=Hls4|3K_Mn|z#FIaO(#UwRu;Uh}}IFF(@H?_1}bU zl8u?(q8Wo&F)-g4f5~9t5CH%yLLGk2&fx^{Lvikxd?;_dc%0S6Hpd>dc{6j@rsc~u zgB;V|fqVODxx_E8A@#MD4(Sat$geL|n$$3%b5nD`Q9WY2xJ#U141@PG19Bn%qDgLR zaLV^ZGW$5b-5vi|)bY1l^1d(3=_}SSiuB2;pho0&rN_vd?+AjAprua?&hElMYy48F za{0|V_sLSL2s}bbzVT0lm5yfGkEGd*qMndIYo(Z&k95FKmZ#2H0*7K$Xg+IC;@WUR zGtLV5&&*}Y(xwkYI4Y8Tih%qMY|Rj0e2xMx!{)TlrmbVpjL#~o&-NvcKG2Mk?F8&1 zC;s+r{(=it0Z;B}P(F?Ddj_o%|BzI+O1^Mt?kvk*DDP115Dbb=ev>I@3~)k;j0~qx z%=_&kxa+iJ4v6?Jy7Fdk1uK~a%wo;##Chc?=&qP)?zUXe!enQBK=2Cl4#g2|KCiBd z^3aIx0>t3(*!=Fx5D_}-P&(!i7LV`_h!En`@j6ncB9>>6@eh(jMx_)k)dCEq0`LU) ztx)*~=@hYG>Whr*@QVNKIR$Zd2FRY$qQMGrl>BDj18+G0(Cnxs;?k{L?oO(UW90tl z7XmDO4{=oMk&guKNdd0j-7MaIO_n!saKjI+6AN_`uKfw=mXa=i5fIMs2-04Vvi6LP z0$fX5z7w!K~{TjncP{0Uq!yx+gBWG4B{i&l)GJjm+&G z5OoBxB-(Ix-fNKy@WylzUha!lR-?Ad4SdWl9{uWK%j_!pFhw1a+Xj(Rlj)q{QBX4r zYJBHXyw6(lG3_YNLivoz3eA8~O-(8)vWn4vA&X{Pkmm}jlA7l(?GBM>sNCRsGm|1EOOGevf}}v^rfTe^)6w}bKGg&P22PMVpCzGD34=7v`KN5?_9<#YXQin6q zk3terI}?`>5hnrk7N;e6mlIV)X4vZT@FG(jv$Fd`ue8?-Jw5IozjM_O&UVvBX5eu{ zD>4@ci$OLLhaqweGPGo?udeUu-6)hOf=TSGE8#!}K@IA@dTyjtDPT%#h^h0Kc(P#d zQ*ixqfkTZj{1P6~sxctucQwlxfz*yJQ4~xRY|v^-`LP))v2jW809M6I8FcYP?rj^S zMGaAG>{NV{u%da>DL+qs^^Uz2YnUR^WlZo;p;BzHN$~1b3daT)QzQ)oQpruub3*kP zr7-Hnq@K~x1vHPzQOb(XYC9Z^aRD?mi&TLSbd6UK`7ce%Ca?odQ!K@V!ik0cy;XG6 zv)e;(nkV&dRkYbUZi6O~^qSn|Ca(rG1XAw-muB9(b7v9ke7BMnpS99jI-7qE!Dw4aN}t-oVy6KDR5SY2_b0fVQUugYVvw) zlQCXNHfZDF9dwMHaKmyD6*|@*L9>-?mrE^`Ll_WUb2ZTrg&%8VzcvxoN=$QTY-4Na zO8+H81BVLVa_1ow2T&BrHcK;=A#$_ENH$ef9l zY3P?+F|f)L5bkt^a_QB3HRMng`2E!_J??+9@y0 z?N-(#ZzgukzSi3axEDr<;&FBeZ#dYlmSJ1h&vhvWTl%q($=k)j}56oRwkHP z)pcvxA1$u%IFkZX^8`>^nYq5sSC?QJ=KmPpHu!EkNC`l+qm8v6XV9rb71vW0JB+!# zjVup(tA5EE2cDP4>lY|-O%;*pg5ddg4EH%gba$JTnSxfFkhpV`ai?pTSC9iTve`qF zQdHQtjat|c+0^qd=U$$IFO}=L5g8taiT+Kow~P4lt&1;BdBs}w8YtG*eGthfVl=7K zHH>&X#On>6PQj{gghB6|qqJhf@#HpOUm4AJB;q@ep{<1*A}ZvI8%u!qZ%C-|Q+NA-bKPA; zSoHb*Y%QatSf`SY%eV98giZB;*lSPMS&q+^@)1p=XseiF$({@Ew)KOj2VDm36^=Mr zr;a{l@n+(Bc4?;|A{DxHO-kF5UpP!d6?8*pEw#HDD&=WMvybVfOf#tz4VhJVX&JWrj{5Tt4Qqxu!9MG27%I9i`_ zIroYPiBn_exLSF=<3SuJz&rWzFEAG#mc*YsJCB9Y!&kgXb+fh>J<57>wmf5H_f>bs z*MKua7rGtB^XmW96PVE<#F~DxoAgZelgNue=9L9dFb@sQK^C>+wN425F=;&fpH$hC zuH(dT9Yci3P@Nh#yqT9x?Ce$%-^Dj!(fkp7aN=pxc5$i^xje}Kxr z%&WFQ{%voMQq|7UM_2Clow`}wyMWQ#b)Ad<~F#>EmYqh8r_j{DT4)X)Ybr(X$|O5cMR?D>@GI+H`YedMH0v>$e-b-HhYD zH+7Epi->$@$;h1Ev9;OINrfxztv$))mp^=1%1>U)*G51%EeWhqFV`Z&eD&7#e14gMU$evPfF=Jwjl zx;@*=oDp~C zV2#@@F$`?fDBE{$DiSbT0nBZ<#tbQOG^ zJ_&e{XEItFmJd^=i|Qk}{Cq06Z`Ez=H`w$yQ9r$II2l;3_OnaY*tozPEe@f}(trS+ z5CgBNFUIe;b*vW$Nd@9>?A`uvbIHc-fODAd2bM)x*K0OZj4k^E!;oC%RLbX&73Ob*1YNUjgdi4MGiLA+?5r?_$=5PyH>&XWOH|3Gn?$1waF!VrQtCZvo_Fk9V-LXO6+?; zT+;L$$fz~zl%!vgtPJ)iu$0Aj*x1sQlV8&OS&HD&OtSYjGFx++&G3v|$WQqO8x>e6 z_Ew@`872uZ=x+8;1;E(FwQ%8W6*)pqdZXK2>okq~ufNw0afntk?Jcz}7ea|}K$EV> z(8M)uI;PRLmWiBcnIj3LY&%}xw$9R3-pu2R>(jeDx5U|~MeQAb$nurn4Mpxa^@U2# z_8dcJ00&Xlby{0bGqp2&Vyd$2+|)6aw7eTvp4;|LFT(YEMlPmddEZl1W-&{}tMQ!G z^yF)bKOfDxF87sk^Rf)&`FPpmDNshTJ@ZHVIS&b0v;JhC>GetHoxABP=V7G%Sd!{mX;Kh1$-lKW1;(&gdI@DFn`FW@(gtwV6!g0_NJ)bj0uE{l-4)}yz(81mUu2mkfeu_gdu}7g=f{up=Vz27-AS-uVG)o zhwh(?Y$$*549gs-OAT5Rh+xQAiL)pF5}ynmYA^OBns@yaqMKDRPSl~kQ*?Tw84=uVx1>o|MiM55WVg;$>#LFOJ z({gYTY(uzt6(RcOk4(K;8$vrJU345o5^_f-cc{|I(^zaVT2GZ_)=A^T-+{1AI7DXx zMEsv zNV%@grZjLvl6m|*GtCMl#7TS(-Xpo^6*(G{-(ONS_r(}HHH(bRm5gpJKDEqSqC^r~ zu3cOy1pWvZ#j?fBV-Ve#sE*`u#*l`~wEt{{F7~{Yij@7JtMI$LLmrd%gXW&dTZZzgo+4tpE z$t|6>PReXhvzcD&wT-K_5bioRO-o?4lw##J+g9gkSL{tvSq^5>SfvjY4E3*{w-pqk zJ0~3>JZ@bx?(5B_`ynlAKDBH`swW#GQ{)Q(trW$7u*`!Q$JoLaahZkD{ZGAC}5x00tF<`5EOx$h=DMs|I z(lXC;^6`1O6tL@O3$ub${CHy4TFv1Ig^VVyJRvzzLSeZ}jLZ9zbQfCrZv@!!Hp|s-YbEoG6g=hus=FJ{kC~El3}D0%BJeN zgQ>Ozs=qi>N8pV|qh_9nwUVnw){Mzs+lFYR3(@YI2w|qGA~?SG2Yxu1Ay%BOxqDn6 zQkFaaoK0-2q_y7*wg?!dIM#Bu7@Z>Jh+;#xD)LzA%W&Dty}S`QoVZLKiSc_Oo~3MH zd%3>iBuP55xQ>$M*7-mon1Rdmj>J;=_0x~-uU9u)w%a-gykXgVapgX%zqp4IZvHK= z^kSuFZ3kEARBe=G*)lKO3g{Ud>rX3&$6Q(U^f6Q?rtuRmaR-UZZY538EKU*YOV#d)}t zO;Hwy0Oagzc$;IeGbpcpctp%gF>l87-xHbp2^Z+$e=zl0b?!}03HS`|j@Q>QbFv2Y z&>sP1$`MMH+^%_ryi>5I z3%9^3o*)5W31FH)W34~aej`ikr!jfIllH(e=%y1MzVovd3TC>i-n)_@wj2Y#5V0dm zX}u$jwtK6)IZKo3{E>aDZ5plmp*iMKtPCJwwi zzU%WX;**bjK8o><8^U%%OV6(Ig}izv!kW24lo+76l#+20JTp$j8$b}zEtdop#H0r= zY#Sb;#k`_`!K@NKSm+LtmOsI%IjNyFvF4zRIFTGzHJa-REI>TeG$%W@L3>`jxtJfU zNir^kaFg0XK$eYAB>Q6)CbH{{zLbM%4(5tsZ9KCUw z$hhF07=VC)I-pPZBm4meghF9Zuml7d>C!2kHmzT(QD}5(^iInOpjqq^I>laLVu!~qcRJl3V@#Y{u9gZ+LfdkrUaxpO zC92^%wBa#T*)|ImkAuzM_?wN70S?DxFB3U@*9~~hXmAyo75ej{(Ajc#EY71{D8uXa zRK1QySC-ppHha3>Mq75SZ#THuw0@g?yXg2>JU*{;T9N>8THanZTgcnZx|A8V&#`RU zR64pVKTEsZ=kmOK$>xL4jrII{bWcY^8S(d8JTZPRrhe1a%;;qa35b?u16&JCIao8z)e^%HYUJ18XEFEW#L%ugeqqxi|_63ew1LBvB*2 z46FR!$kK$E+(fR-UdYQaoEFzY>SMm1Kofh%47T%ZI=0NS8__#JQS?tUPZDcv&aBe} z%)-iZ@*6-;^jzIXQM9Eb@j%i9{TVF@4ItSk%d({qw(9ji6E#x|zf--F5-zSZ)KxD` zO%zn0S*z;8y5~4?jY&&TlKVj^CD4(NO4X8L z&2(@AM@SsE0M@PwyE20XW9HCqRR7R50lC|G?Kv8(2kv7-Z6!>ep=VP z{|s2QRr#%CR$7smVfv1%oHKfxyR70hmepD#cJ|(?zW6rhugrV0!)Py*u8XQzJ2S1c zY0&iasPFrBV^d8~?(e>9p@h$8mp$=qHW4asNui=&TTsN0vD z=;F47ms&^|4=oOANjI15Dw&>Z9%lUWkh^8yCi@{k9Y2ro`Z5YK)&Ad?=YG}x8?0v+ ztJg7Z{I?u8)~1mQtxL`c(y$e%##ejOC2sB1E65bx3t7N|PtmnLmtNPLnKX2W(eNnu z-0|E?%q_5u%c7Rv(i*wQWX>(pIN|!Mt%W0=ZvhE6c2*zT)-tp5@^u`LqBin zrniPR;*OK~gf3LTqUb>s)H!Q{50PDy^+aTlI}wRc44t&de()Vjw~3IIXuHOK=?-Z_ zWh_z?p=eD3Arr7@&~7g;qMGob>Zp0kxh_VC)TCpqba@c9aW9Dyu;R<$R3wy-BDYN# z;mab0k{UC^co`sMd7*sB?H<0QAq5R&p*_&qPdCXA9bv;`cFY|^J-KGiSOivv+}c^#zdgdwE%SHTnBjF>EnYGoEmy`wWR+I)plhh8y0=(hyo?An*> zq8&HMzW*l_QZlc`T17+PvlvXVNfVZ2vbM(%p`me}O?ALb<6xpAG9#N0a(=jTa$i}6 z11-c6jm*L+GYiw>IcH8V#ivBqTHAS$3FVWjUkT_-RDrMP?lx0Zl_XSq0HI&3t>DwTh6Uc zLpKFcl)68PPx_5L<1IG{iy)=5Jkd%vZ8^|%{h4)sr%0MIcBR!&k99UhMhLKX5F~3v zNM@`ZSY*AaL{otTpx{S1NbzOD0i@=>O{XQ|zb4nMTLri?@ z6hu2VHRP69jDf4{OGQ5_?TMIs(O|QC#1-Vp%d1)|mc*xXA8)T~V_VH#BovL-ANer1>)Jj}2HG3&o z#iUc`#xbogik{mNnSC;zD0P?Yn`CEt;jc|BqPB96H%J{WDYi|O&t`v@e9>Lw2$YCHBeTiL$ju#U$h3+AYDNoRr^WC*mhLs>F}djCW_9gVRE$?%|#{l!gsnF<68!( zgw9r-*N;IQ05{JmX{LO~X{%*Q3pV#?d<=gXcUB_hMx^ytr?OZXOzz5}Z&`lso_5`M zW32JFHtg@6*K>U6va-i>c36o8j*3&c#^yLRPp;DI803uki#Q88iC1ExL}%GS;e9i9 zI5{X?9ZHFEjcn5yl7V7qeUr<6ca54Ka!Bo4IPP}pR&%M7>kYMe?q@GGmYaE1n=q_5 z{siQDJ$+COvhjDeu*^H}nO-TcBi~ATq1=9ra%1q~Gug_^n-h%Py_vds%=WumuTbn= zajhg?soHI<^V5R4tui+KcQ5YWWA{&XPVYkPbc(^#3WI<8v%l_LU!66w9f$VAtcfmf zZMl7=kZUdU-6<&2s=WX}3(5N|pZ*$EXg~Jjm>~r*xf7aXGdzer{uVg^xTUKHLmpaD>SYx&dQ3K^R1Tk%L4)K zvY2klDQy15rp$$pa&nD&@DFVQ$n;Zggn%FhM=3~V?~;YyhKp; zhxFHQ0$8t}T(Gn*q)xgnMD&Ba;LRxAuy&eHkZa}SjH@RNtB@v($n!;jdd9TnLZJc> z`ul6(t#5wt&#wMTuFhqCHDsuqEO?aX!x0WfNzWKotfJn}^44(}D^Sr1P7)<9+~VZO z_erK}j4qGxpzdunqr%|HV%S?Pim_`%_ia}Itjh|eZ4xW31&iwJDArzsw3SB^{7_aZ zkjD{DbYhSGwZquMi*M z{HxJ58!z7BL(ct9j&~2p{_SMy5sca~So9~3GLh)6QB<|iyC18I1W|(W(ZKSqNgNR2 z4JWktF1-{gF9k!=ToMZ8A~^)FT8W7^#BvIbkQV(2T?d2wz)0l3js+Kt*CA1$xk<|e zvP!?ufg$UD1*i9SUyqO(y=BLq1jXvrO@ zFq=;BqB3;NF1)ENWgl`g7IEtuMU5uxlN68@D6DYlk;fm9{~c0taF05|uVF#I{o^=L~@oFAXRNu^A7j zOR_xALR58Yl1Ju2GY1Dbk@A>LDD254C$paC(vuV`POp;Mf&Owd0d7j1>rFu%i>|%`?vT)JS^sY?%bnGEqQCli4Q(j)OzD z8S`Q()Bui@gBWI)6)bH?^Jt;;exr|L3uMUL(A?dN0W^n(9RP%Bj+0Lvy@d7a*6ACEUb?zG(ha~iAkrCD%0sc)Daw!?Kp3zC?|tG(kwpC zyA})<^im+KG=~e5H6S#i<;7f1BKnRos_U}$uCf?LW?@ruuNV=D4^%xRa=T3xR`kw5 z{?f*^v3WYC8$)zYG0s+)l@z21z)Q4SMZvn@L+;BS=l>F_+(6kSFT%|YuBfXe8a6&G8^ zRX|i(OzwQ^3X5Jw=8OU>NkXet2j1X?F-i4zP|y1^kS8BbV8-yHJ>ybnH8N9ibyf9v z!%gW{a$!2{hMBeq)5A+m%grPcZ&oGFUbMB2BY-W)=@jY}&lDJr%II4DXErDJ4WM;!#yIJhHr9bGsQcM?}xwzLLcAHJdjU zF<27hb2JSTaNa7`Q2{l^H%lQ{?pt8iVqq$g8|24s73SknscG?rUz7c3kOV|^(8`q8 zL+&41id>Jb{M*ARZ7<<#QDX--{HfL4M>JnCHho5i?&Ag_Ad3+~Q6zZNt25?LQjcoF zWa~C>z~d+&=+Qk+G?8MG7i03{K=)w-c7H6=kjcv0-!2_H@tZtp4`zfON`%W*wiuIw zJfO}CIu@^1@8Xtm=`0db|M5W^Gg9%<%Of|9an?b3j4Jg|>RYc?ibi_IWX&vevsN@^1? zk-0BYXH>TX8Fkj;^sO**-BIldz)FDow;Lo=>tX5K%@{6FH>BPYpH)O9ZqGe?g7Qvk zBD4_sUF<*~*b#kl#eO&P_H@4@weIQ{M`D*4t0S<{%-G^H*n`8{f!D`&_g_bBPiziL zgzZ0a^!~uK=LyqACFcDHN2;ZAcV$&UD;S!AbVqwOlYY3EA?y;W7ow9SZbcCtb`FHsUSnTq%R!x4c=cK%LRFt2Fchj)kk}uP_q{5&#d)_hP{w#wIZ*GIA(5hb zk+{=TRrQZgSvB{!aFiOs7u+*51`AAvaDvE?Znc~=a3vn1dT*gD04Gm_q z`-&sfLX??}@mB@7jTNrUq8ZSU$^xL-WrIpvbTThU^$P)&sG(H~=`Br^CLEI#3WvCZ zpgCS)Q#3`UA$fL4{ZVaz*N(MNH3~Vyj*h=**MDr+^v;&uL0KLt?kM$GxYI>L9}q`F z2nlqVOvkZtY*xnWGxV1ZKZ#EFgyn5MNozm3zb&@{$7?NqEUT1xl(ExWKbEBMBE6a! zrEAUZdHDmBl2KK(wRP7VrI~KVME4obIiOVBnK=KQSJcaE6Ml_xiW*BSg^8|KtziU9 zf3_#24EJTV%6ODzu!p4O?ROyM^Ov@qdXB|$7YA-T4NTG%W%wf}`Zl`6GPfHr_8KJz zmpyRmM@H2@dFn9MkU5)Xj%&H|4XU*G5aA0L%V@hbPdM3fS=VgLzY#M}p}5StxfrYH zEhy6oKKhuSHEdcMAv4%6Xg0r6+10c1DLcpSrrFu8$0?0<#ZP$mvYC8cso@avxmg7t zl^OwYF(!Z#O{_X=NKS0i?hA#R^k{Jnoa^rr7`Lq&rCxexKu-qA3mP-~w=Xlb3HkYb zQ5SDGZ+ACSrwy89d-B5QfxIz@;d*&amvLpBE04QuiP>FcHw_78`4YKjQJLI2`Yiq} zzL{E8U@O5)5iV3v49L67vuELw6-B)ZpwlarkC*Dmmg=dF$!IxX)her`mUR=_bEq4F zaHJP{s#8(S1*)tb%MwwtIj z;h~XNwSEa~y!c(3y~uq@s6+qH^ywsbKU#d-fR)fY5W@2PAZHi(iTzEPv&rNtJ2*4Z zwu>oO_B}1#FR{()za6TRI+c-Cd)R!55k78ExhXXC{9A9&iTKrlIm^5ecfwbHpCpQ& zJtwRi_SuccvODX=C39*HIR!nNuGTlem;}K3A93iN-1xz{v#$7jqt4{yR9%tUey@ew zGjA`6>bTR-5bsP{V8#tlFy?vAIeF0~@p30Wy;||yaf`^c$vd#bOTF_`jwL)<^+J6K z@cgZ6uEga<-}D`jNu8>g0rKARyFY`D`TP0*(YBxA z>fYWU5AXyI2?GGZps<)!Dg_09!(nk4lujuXf&)ELar0VttS=aiaM=069N#wB#Rl}-~apUz@a ziS1IkU7T0zwi%2*n?aAL#%qw>5UCz&Gq(dh5Y9-d`eXPeS^2imIe}lha z;&VE*ibHb5U+&j^z3REK9o^!$+2Qo~8eKno z6DRUuxLi0FXV+Wsd-T>U#&5NW*mr^s;P{iv}xCWK#LV>qJKhLs2Ag z8>LPwzX(PS3LOzeFj`LDGVyGPlSgsFUb#oFbd>tGF{>ddMX@^hCCQSEuB%tEe%jPJ~{@;ef?lGNhf#!;iFpQR9dZ41ot(hTHC@l@#*&}%|55FpKR znAXozY*9u@jq;Z&KP(%q2~FxEuP8p!yfY-RlVux6F7z~P+OV^g7e2{Un)yS?HEWGX z)KukbG_5TZyIMCa`TnOOwA(dbQ!J!?U8yRCZjD)QtsebKwmPXkQT8=QLRQv_q}iqv zv+#;HZ1iHYPc>CjY_au>Cl*%mWoL53Q$!ncUTGuv0zc3K$#2t%tg?$h=)FTxND|U( zfiV>H7L{8T&Jz)=svEY1NY`WUK{?m;py@gC#boLy)}zB@HZ80M`eLyr9G$cE%~@uz zQp*Q}-1XJHfZmW)OOhlKawTBewCpK&=J(!Qjk3#bKbl{U9KzP*vJ|Ch=Cu0vmg#T3 zF_Y*L^9`h9uT7Jnv$Dp;Z|eEVkmj|@ZHKO5k^QfQBepCtb>|fxGiKDZ%E7c|+O5xn z;#$V$`)$&;<+^H_2LlN1_SYM*YgttNRj!v!kl^e2M+<}`wA!H2L$KbL%&d5=f2v^G zA1}{HIrZUr@N-vP*Yy&AT9|K`F9Fo?oxM}NG@O%1mweWPnIxdNSwG0M0 z;ahKlbJclor2n`_J+3v_(m9=Z#M=0xd&F_{2OZ3DPG37jecp=0)3rZr4B7m-7G8uk z14^milfYA^vF*5bg8?&5SNU+`tW!gC^|odXG3FDd^%XtI7u;)jB9O>Mw-ERUhu%7zOb7s3Y0 zf?dnsif=`K6%#DzTAW{wr^$JtSJwd}3__2pt{}e@=DeaTMoW?LyB#;0f8KifTM-=M zJw}Ta&%`T!&uP}h(%#Qw6a7(f!ZxnN@MNUneU49}EU8%^76@{hezI7M#K+kC+=KX$ zu!dEe^)Sz16WDi-E!#1)cFdxRsF&%P8h$=HR;M)ifV~%^2z+rsuD;XMFlI;^=ld2Kge%_ODsqMS&%_RywbNvCQx%DyT%>yKq4 zCsJxU)c3hOD1?rt@b0WZX^v)OiutG~UYw^ouP2rQTV}O32U2uLTaqNLrtVURwg?qj zTN}DvgwCJS7YjL&bG|=S={A_T>j#?bD0j5b@Jt$4FO=nSS890e)Jfk=AVcAXj=pG4 znUP3Vr4^PD(#+I{&Vp-on0S&o|C?t4IH27tuF~AzOsNY4-Wuet@KUvrdjCtN0|>R2 zhEpD@?>?3^Ubs~7*;Q*%OD4^lZz;Iy&IXxT5ZP$#u=G_tvc4Nlk2y>Ttc+(VA8<(IqC0n}If1v&t(` zVx-;4LG(W5Ul@2*rp--X9`YL) z-o=zP=e-ogl~o)&eku*n%!sc{N9*?Ro7%uInQc((Sk0IxiY`3t{jKO#nrh=itdOrX zbXGn`%>s$a2OIPDndLri-01pw_LcmG_8P zOjg^m=^og~NaE)U`+cWwHMbT7pD;xE%cx}bjhq%ACNs@7Wt)lOoZ}Efs4$|a{UGO* z_Ghy7Y{l4mvQkrNa9zL@Pj3qZO8%C{?Hvdh&z^C37gMY=-Jz^9b%Q3zL83>zaHhJg^yJf)% z&!bbkC3GDv%P|d`_N}}Didf^jQ{7CzG%AfszP^H3s4$Ui`@!+AL`5&*Q+6+Y0QnnL!pgR(%Z4KY)Xn3(4l zd@-}bq9;?B!aNS4iElc?F)_KG4N82nQh_9EjX_G!HsM`8bOA){K*R&WLpkHN@dg{y z?!2@?L^^pL3+uP*ma76$L`ylHiy1=+akxo?KFXTGgafWTF*sYn6#%NnyRV|s9KY;#!%PvztWP9MK^iMDq!fOiaqB7rxyU>OjSOSI82b@C zhqokZC5%Zg6jh=_tDwl{MI2K=dR?-DRU1QoM+A^a0!yc&(K0klJxXIj6YE2m`Z_F_ zFDphwAhCfVsCgMy*EE&FWJdUhnMKbX}!d=BoMKnZKqB403 z#9YK261$3Hkn~u^6D7ioJvXw8q5EsC6r4sRr^_3AN*t}So2oNxZ?wtwrxR>Rs_m&U zDmp=7$!fM?M; zTmFYToYH4ADReS@CZnDoM z+p7?K1=7EJ&gg3M%pLnvaMR*-x~aWG5t7gBt(l#rrpZy4?k}6%rZOl2h1~e}8Fw3r zBGPIx6{=@DpQ72!_c$Jv+po3d^`ThF^vAc~*lx1e|7WA!+2QuA`Oj~@)vV}Ma~1nH zr|iwTDH=?kuuEGAp*(NH`lfjL23kJW?tSsfb$g_~TsqK6u zlq8Q7Jr%w$#5$WJurxsyqi=(s6vc_S2_1k45(tAM@l*bTz-epDiNvtVQyfPw8}}Nc z&>UYTwQ#zpB`D044GKxFbS~RTX+(s(v(d6~FiMd#gs4n&OV=n$F>_5fMY2RT^P)0j z=-8sM9Paf%j!Qu_$xfUi{!GzY=JLexr1LRN(7UrOJ+t)M^g#3+%%f5h+h;ArH1uAf z(o}5uQ&dz#nDsDgG?PTnZT#?>Qk6^crBBV;Z(7#S3&OxqwX#)8)U&NmVOVOTguYVk zEt;y+Ei}0eS5=*m!&6qB4_4as9VF!0bL|BF))f;+IZuo_I^-$!&5cLc_U)5+&#U^2 z62^87ys^sPS`A=XW^`Db^-tgMm-{9 z4tz6mTXwb?jMGW}0V&>AE8#Ry&!$^w+Sv?0U|kqfTbo6f>`esa7#&faV>0$rpwv1| z=?-Y|%ppBMT5LSvHup|VlIVHva>vq;gsAIb^*+6%Y^1y9^HT=gE95J%O_n_Orr+Korga9T^%+;82;1WkJ+QRRC4;pG-ipX`DT()$ zCn*D9L^pM7Mi;Bq(E}PgUPUfi8Yzci17Z3oS+O+6omYJK6s$RgDXJm4RSa1jL?U;E zef_jm&i{)jLU1Hg3J;l!g%Kv&vIWiuxhiXAI<`w1N!121tEdq-vK zB8}?beTrr4!}&ohWlSYOM;bLqhE*$+j97Q_eX=@bPJ^Cuo|aB2g|(O-h948@N={B) zx(1~4AoOg8Qo%(?))y_~e3FP#>L)_Unpk06&M>Wvj7#E(`4~E#olQH zZ)#&cY2;UCOGP{@6phIE2{#-9lR}5>d9rxQ=Z@hqnlc^KyZP}X=X~d$u>lcII4ZQ? zis76QV4cQDHxhXUAo961HwfETT=<7hIkw!NmS$a;TWkYRr1^d2K$3y3#oquPV zrcP6*KBhHonezgYH0Y9^QH^qcir#Wes;>o~v_fEqj z1m<$5iMgpM9=y~U7jnyeMUamr&N*u?oo?aSw2C=Lsz@sb3>DF#utlvv8xJ3Bag4q) zsfA!W<$N2fnO^o4>_Th(REeD4tf}JrSjziXjbra>l9dzH6DNe5JPWz&4+AX)U5PAJ z-L&xD``_D=WFVy*bX8Vrvx&`iu1)NycmmKE97=ufJ}*32{>;5BeS_DHgO4#u_S<{V zc-C$1wfEy7-ue>TONvIx*anx+LZgR{ZK=XEYSUW7XLg?=StFUHe7OrE@EfE{#r2Ll z7wkanvwak?@q&)qBNK-5eRZo%VpJsJ!9H6vCeUa1Pd3l>(Q z7a8H-sqc|1-aV|?uS{fz+m9mlf>twHzASw~l4s?jY>pXMw49ZwY-PW6Xx6ae8B%ez zzNOSu&gEgo5{@K}Rka97u;SZBNFNgvp7C!QYNZI)>msYhc&AL=eDr2={#wUWx+Nxj ziDj93yRZ+Lr|CB@yS90&XU zec=RK0<|PTr-Z9wAB(M>(BzonG6Klf9ObjM7aO@`zBx*~g}=0=t721em?F2np)!uyKGg?{rA0pUPTb1y3Pmt^Kb+ufhMP_~{k?6iI&-?F?URXHf zmfsrV+bgEL*!F&K7UZdWEc(-2%ci<-E`Am(rWVrUpbVa#oZDScnHr-|F;rKwUAnsz z7!w*+e>15Q*M@9f7sF~-F5qRC0mAu*w-+yhaJgfU_TB%;SWc+si;ocEdRmFWflAME0Dy*f~-mJ+jABj@G?b9dkDm&C!@&uR`XKsiBa6B@7Ww zRj6MMx#qcrhfMdn!M`yy^KI|SjK$#D4QIJA>|jZXMAdA_ z&MneJhlaP0Y$}7qK?>OWt^jSt{JD*+g5~IS3*7$8IOVSH`{e%3#$2n0Vu?-4{48o| zuuPpzYBdl%)&*M!ZG_h=@-EPP>#9`+uTVj(D$H*F=O!Sn&q8kJ+LI4nS;@5k!mx}i zdPy*<$8Bi%4hZLLcIEGCl8sErOuC~F#-7b0<)sdjsc864IRB4`^DtnQ%(UUk{|xR% z@eB^N$SjzOrnHcTy$`HpDH{-LZ0N?8)=v&t&=BnmuJi7+wh!Ry2UI;!P{Av9-w_~n zuk6hcI;|)=fY0Fi?Uw4!rw>sh0`U}s&=meJ^w`DVbMWf&3H)bp!lA?>G?5UW>vSe@ z9@Wqc;ZFQAF&JCbR&g*Kj(g?VXAoJ#f7wizKj_DxdUlfsz8F5zIk;ftL zyk*GNRt45REzY(lH4d?BAt+q;1M0aD7S3*%fsS-#F`*PJmkDQ>yb+?)ZI~!6vhS}j zYlsUUQIQBD_BjvT8IU6lQf}@}FvZWn#?DtBEBwKSJj4d-A zjG)Q?6Hm-P#|BE{Z5~PB%yP)c5|*J2oeuIR6wA=XvCy{&7b521Gf$4vjyj7gRF~}Q z9`b=9M4EWP&Zxp<{!n8ihrsL&ypqXz7;?tp%4+#7fhe)U=*D>oGnDdg+Rh6+I*oiK zjqd|<2O?6q!pG+hOJ^LCO5jtYHc#fhC@}0Ybp%pS`K{#Bta3lHvk@`^d2_a$a-}V+ zdlaW;$kFKVa=yCIl(a9TjpoXXua?>E3ougEHBM0R#!B1~Uo-4P@4|lu@P#;z_ViO3 zG~$gX@bNGc@aGe`DT*TQauGJ9yEA2|gp=bs6F#Fc%Nj4zJPo|xlselFWjXL1S1CJ0 zg10lWeCWpfrIWx;)QIIyBq)y^gR;vfiiS!8)c6U@TW>r z!8X!3&ZI*-%asLlqd;?Q9rJLg!Tm{2-$e{D6@sMbG(8{;Coa_U6*OX+6R7vJw;|A3 zPEbhg?%+%`X(qI`|1w)U?$0RG7Cup7L^FOtEA=$f4snWP!jLN{)8{3{XGU?EJ*NpI z^zhrHV6(BH>q%^(E-IfDMLtTeL6gYmuMCmXrBIR!K~o&ZhbAk}lKt?_I@Ng{vdbHa z*y}X)6}3-Q6+ay8flDZ{EptS;5(O4ji&*q7yw!Cb)tI@pc@r--;>NCk^`!)JzEJBb z-w}gc^tD2(8a7bd#S^Il_5CG#;OG(O@BU5ysvjcpqjwSm+KKqvB6k&m1g5bUDQQA z%7tc$f=b1tqx1tvv8ulEBS{W8&c)6*Dno3O5fgSTThBxDf%3kz%n zT~)RedZ(cRF26|MNh{6 z2yX)*(_D2hbwV^oqA7WFMK^Bo8uJMH;MU_3NfMf6xkwSMXeixL?xiLZNi7zSaLcYM zlp0s?%R9BRSvE??wy?;}3c7GJM5AjaQ3T5Ow_4YKS#=w1(v@k@bxg;nViKq|b)xmx z{Q}Z+Yi+;1lI)977p-(^GS7-i z-E$h<_YqdqByr_(2@h+hM1Yp_H=|^CdIsiH5Xrhl!gN6#|q7eEKjoMP?+y zln!y17Q*uJXcb9Xb`Me&-uZHp?w8|g=wic%DRru|TTyRk(wkIf?Rpkxg{VTyGI@CT zPf=JQLideW(JvE~Z+hwaOIO`_F)@gCWq)w6nWSZE80CUh(RU_(L}ags=(BmVJtHe0 z4|l@y6vH~E<12Nq0!|)KcoAMPPQ=*sxKKQ-?FB1zTX1e*j=4RNRgGXbVQHh!iFY%F z=d~?r`;gTUh1k0$(H#VGW-b`pmBgurA`T$TSr~B~k?A;`i8W`E%Z{w&Mi&=c^dNNi z$e7sunKk>7vadwgz?*CZB<(;l?<+QHTJf@NN~FT>5_YZ^DNB=2BUU2N!nC5z>gfeC zU9`)7^=4JgbzD*XCw0jz)|nBqy=ivJfJUL0btcVarx&LK8?LHo*e!wNMT&JjP+3)8 z7oQ}wuab6AYIoTfPwq}q!Jjkrqi~jV#VpWItKl((Lbrz zTPo{D@pS}wr&CPBd6g+vT34%waFWyakVhJd%5fMK-+i_*fGX9iR>D6OgQU7N_KoF5 zS!mZ30gm`Tm|5>ctZ?&H-I4T(muo9FD;G*d-jrDbua1w7%bq-z0kD)o9@jPILpH9DJ*XStbgGum?Z z*8Pd~g=`Sqk{VNzl>RBs%^Mm&E$ysKy9aJa>ag}Rd$^%~+0v4lGb8$0qtj7u+r_^X zj3`=zrW^&8x_4ME+h>;w__~b`w5K2AtAkK#?4=)7`(?8zO_el~)Nl2yC~L4TWFt+b zkrrEJWH_gB4W>KuPpL&>x<2?cDWW>yd2oF_7TUutQe~U6H1xg58CS>UL&V!ddWut( z>$>Qf;lO*w{*Rrn`+t!y*Nr=%_m3Em;bq`0N=tqBxp~`&H z?JN)8TOc!!Uk%hTlGf|moR?zw0Nc+B=)LDM9NCt9!L)q;D#!k7z8PLwnH|wVi=69p zeD8GB=Jzkj&|KZ7i(S>-$3zePuVrI4jFFq$X_AnhzL1fDT_qSWKcWx%!R@QlDdw#e z&9~b($k?iKwZ#)lJFdPF1eEW#UD4BHLn6?juAVu;5u569TX}jX5G~S6PG((wgS)+s zk8o$|tv3z%rL_Dl9voL2(YT5IH3T@An#Y}QO5f3)n&j3V*wAw0oui_@WAQwt;T>hw{q}`4$I;&b;_`mt`pff4 zXFvwt-5WtF&(CmQ3F1CFGQK|lGQ+F?PM2n3w>62q?+=ak;ZB+DFdRHWbcTj~QLPnA zT~4F$Q9R*aBZBX_g&JYrKR-N4u2TP<>N{1$U6}fNJJ+xY6j9`b73ad5*ga}>(y>(% zYw^^T8)iO%uF9>)-9(VyRGE#jXqUhs00PWMG~o1oJXdWDOFBmEvHUq6>Ak*vqP;>VgMPXmP<;eSnd}KWGXQO zw^J$->#fH5W06ZDH+qatJrkG4tGBDP^8bCuW8}6NWIqKI!s075ss2kLozGzMb+}Fn z*E+?>^7e{GR^O(=XZ9N%md|My0&Tz!ebmD_p47?lw7ss@%Yd_JaF;$E%I$N1>m^*S zUW*kG;@u+DX>=|ZJ?Urr{f^D2g~#(ns9qb6XUom=+2=C_Jn0EC~9?Y zG`x2^$v9ba{c``^6(y&5Ul>KHb;+{YI`rA@CJgAjmu(jnVRA&OrCm>@y@0&-k{cDW zIGYW6-Zy3ied8C~HpEG8gG-2IjN+dL)G0lQj?%dLB+^dSJyUz)STi$Ac{w4r=1G3xu-kyZXHQmjqFI{eTd`@ilSO@5dL9q9 z;Ce27tzU~R4GC>{`aLP;d%p|ADwSnibGMOte8A7i^W}bU7bN$xEYfCIQp%dD6?ty< zQb%jkM;ETc%D8yuuOvhiOWUludL7%+Jhk6#$J_F=?aSrd`ccvBbH1&lXkA5W zp!n_dAh13g`c1WO7jo^8-mtF-*f6nv_suvG4%wc1c?7xbd>p(#$9XusJC9k6I@azW z_ieAI%qFh+-n`_=0gPL*KJW#@k%#cD9N9Q{Z&B|*!;H1x zJIFCGNe&>jfd<|~1wU(Q5I1Lb_tychE6mA;zc-Z%8*B1?EU9`nBg+Zd><4&8q1&TY z5a{6(US|lMPB0WOp$hW_TgrJ*BgTUR;5xg9@HD`|(u(9!3#a^eqS*N(1MP=z5sf|w@{gTsv~A6OvcM=w1QJ3i zk826>FbIbt4*I5zra0iT7Gy8={;iI`kJtS6h=#r82+Bz1X*kRN6XL2P-MTpkQ zB;zDpFxB9h*x;npQy5Lsp)e{a{Q%uEH#?GkD9PfMTaz(KNX(V4OOqI*pkhjk&%I{I zIU4HbQ|g;C8JEjBD>qN`x|``u>yx=e)ST(B&@pwu>p6==k(<}?#ErdAf1G|fXL!|Yu%Ii;CLvkGT~ zx?8Dmr@E?5IAuJbb!>`_ODL-dUbJ$D%6;L|GSEyWoJ}n=VH+>_VD)Fa>8BJPc0d|} z$f2{&sIm4vO6hMg-RhbpQf4)v=qo3W4BMcxjcYx{b5mp^%qDYAC^iUig`(tVdbOD3 z%LwULpuKN2(rT``WNMgdaw@Dm zwe{9g$wND0`)Mf!h9|i?hSZrH+?F)HJ6VVl^@>^(K{WYkRT--BXQb@5Qg(^XDVD*Z z(TlPtn#)k~@@7oj{;q0J(5z|v+$7x(eGAbiSmsk%&s$5mmsaZ&XA(K6l!2%gCLlp) zGH|Wg=WnJ>XVxj8oT~xxg77-IPd3vpt^BxVv;3yNDAhWqxiYwQ64OOG)|zjb`K##R z=(+<=eYRD9e327fTNgDv0sx0zGB^s zq(@H98Di${u?q7&mm=c3hLd`3F-?g$&Du#fT}muA}1(3HgWxx+c`UF=+mLnMZjSWHZ?P5VHFSlN}* z{G&7Q4W+s^ty*3;TbbH|g{4_8)JS`2ceG3{lbNnZ-F+dXZo#;_QIaJ&qW^euJ=3U} z?>gQ|hg0wR51|u+bWN;9GBq}jCCj5QWK4Eek;%?i`o5*RB>9ZAY!cSiXua#(ntB%v zKEV;82rQ}jKUGBfDB6zq<(cfYuimXedjUS&w#b9Ev_r}Ib|Wat;cA#wp}$P#MQX@b zc(BsZh@{VJN_e!BcX}4c8VY#mm_n`ho&=^WXJT9kh`9Alki@IPa%~*qplL1ka4HII z<>Otx<_7&O=2l~Fy?we$o?L4AsefvG^FgKT!h57+L2?{9!y1hBxk(QX(oH2^bM9I` z8fp)>&B?0xmoevxtlUO781d=X6UEvgV$DltcFHm$t2C}am#Ra%G*hSAR;Fa|onh5l z{2kHO`Gvs~_Y&K$C||ZB-a^FlyXDNRmU$)%PdNX~+piesIG;~MUPqxY>hZ#Rk+ZEG z{?M%FCEz{oGbGFNpsL4MG8RvKRLM-((gXE@=i0<9PIpG*S7e8V8uY8G3Bmj|FzypY z{ie&^Y0}?r?Cd*%`mQN$p?bC7d11_SO3?C=Va4oS)sD>%Dc<&VxL44h2yAJ0m;1h( z%3a?#cN|iWT4s{LZRb+@?zg$Tj{v=%l*VITO=n`|yYo58K6b;mK6w8~FHsAg{{P@) zD2|pREOWDNjZ|G~POeA3?q3trZm0{osiX40Q#zYb8a(5LJ-Zu}JKi00)ViVQ3}SOV zd0aAk;knvt9h+OM8 z`kfNSDZ3oOiaNTQm_9nytoi;vBmcpC3yG36wL1?IECP~*5bhsI;knIx7?6_Lo{aES~iRSTEGrZRb?)=Mvz z%coIk%tB%TiA?6yIYe%IH;BJ*a8 zUz1sEb=uT^6Kkv5DVBItB4-}DT&lEbr5fpYyvk#l013!=pJp4lKNl*Ij>tv<3G@(O%uftOjL#dk!S#c9LOq10!3?^ZxTXq#6=pw?|N4qE3Xs93NcXB ziyt)cTe#^p@#8rDr;VhCB`A%L9m?`TDI7$}i}bgrvizMh zGB5Kp63THz)Q3m#I)6Aovs4hV%2EW%#78qsIF+yRwD8-_@RPeFyQ~E39y|=oq_fg+ zth%x?^UK3WQL1dWLNE0Su>8kRi)}-=l{CFVH4L>gS1I!Zu^hV2HD=(-EOk30y(o=$ zS0)dY5X!_hBp*-DGt6-ZG4?Z68d+8?VP?#VBC4Mu*;TD^RaVwzZt2)BwW|ld z$<4QHJ#*X{8Oql>U2;+vRo78g(+&G}xyp>jw_Pv9{F2(2-W7%6j~rS8Md%s}b>MJK zvy0)bRUZIZF)QI|UrJovO~F+&VUFW2g#nLa7OaNM(-fvzd{K%@g)~f4j!Tuzf) za`On{drF5^&vga&sOkBw!I>@kb>W@kNXBtA=e54aQ||iCV&CCAb@fH7d>S=#IJ(tn zxXFz7DxKoHM-^XEw}k=7b8g;ey|Dc2oaSy^X1mbtStf}8ussI()^?q*Y~*3_dCqg7 zhw=TN@>J~~x@Nld|Dkb+c27Goye`QQX`L5@#%Z2(iI5=ruZuURF7`0H;e0-6f@C~P zk<7Dwl?kiVIR(Gk@Nzq-hWy?&=&)VeH^ZLLI^TkR+&g7pOZkd8<=CPW8zv+O9i_cw z`o^59_g6Tp;2> zVKA9{LRU2vPm6(iE!HoecO4ZVA{d7ef;L9g_U=)FGG{KjGr@I|_8SURcu-m}teAR@ zo|%qmC5bS`vt*H8TP=^}eif#3s|gwmb}lJGAfa?>n9l?Vk8Z7tIz~kpmBfZGOPLKs z_{h&4yYGidYBaoL6%Pz;Hl33$HgKI`HONntTW^|*MWZbFBWsX;-0diOqptHrp-#S<1 z%yrGF`YG9mEamJ8YLkvsD0w`HT~m8xak(p`$X?V8xm=zSUM~|Vvnk^=3rDjJ2T-=C z!D7S5Q-wwRy42x2s2u^HR1s6pHo}1?x&cXNVu6!Li%BVkF>z7BiBi)j(A}DaV02oW zkr`yY=3P8{Z}Or^3Lz}sl}C(nI-%6KbvzpSsh*Q*l&0yX^kPj-X{DNT71@(I4KyA~ zwT0+G`h{2w-4BQoavZM-RW+TnNlTS#RmN3#Q;UMotIob_*I0*4pVbbKB+9d!+4*2> zE8M3tYPKBtB-=}@gqo8rw=jCt(V}VsrN(}bL*><2q-wjdCz2q|^LlFA{K~0Qz4ggE z7aJ;#Ka~~wmRJdIP-N6ss&?5=+G-<8s(rzn4`x=s0^1=OE0tLknd;BVqfBM9Dl{%! z{amPAnILtkw%2a%Dr#tqY=jkI3Nay2Lh(LobqtHMe$kwDTG4HyJDbuaz*R~$d){S( zarG{jzzT6CmsRbLwa$ONvwd4U=cqPjKOUv{C5ggdFWHA&jredcX^xJ`*Vw-vD_aT6%THQGzh z<4bgKVgaQ%%A?}B78D3o73lB}G5w>#q za`f3-{`n`KS*_Hs6A*ZNlcSySnDIUF;-v7k3?n$end0u~T?}ll{BkyVy(Z0D>qH~M z_RSaPJwx<1j;1TDk_E0audFws>=~=8E%QQ8g}X+{HV&EbIxy61y-*EAH@tb5Rq0%b zNU;jn)U0;dTI(qSo>O~7n340?d;ohEG$6{T8#-M?>5Ofo?tUg~RcyoCRq+Fg)!21~ zOJweCc3rQ%QDnsF!lkbCb|1HOjpN?Uw3uq{=$x18fXgWxj!tg!ZTAAQ=@TKQcCHF< z+lt~zvzL7>Rd8M>;txHH#+mYEFntUKr1tY zZcZJG4DrUH+i@B}Xkww&3{O$m{1&`8F3)QD?!H3Xn6~&Xg1dW%Bj6fc;5vT2rX^u` zoz#!V_8Z~m3}MU9z1JUY%D1aG%|2>=j(TtyN52U@3V#l3j=et}-S3LPWPa8eN}k<& z$_8s=(AD9_J;Qf+pA?DN4r90;>Cy0qoaNt7>LRXT*=t4>OB=dwk?*6s{ylKB5t8SOhvc<8r}G;tf%>F<^xw3{;i^XMqnhiB0#EL6>gj%R4_Hx* z*!JUy>*M~8ul9vWpzO}Tr>d0i?8wUK0>8rw`Qq5qguXKcyw@lctdJJ`@4DwBlr2I! z_U^1YCGz`}o#)EF#;l5~+}P0M44$OBlY*UQn<^JKoHNoJ96j>2$$psy1AFg{bxtqf~2|17$e26QR| zjBzhq(u@j#?m~;}Q1wYpas>ADZ8H5Ys}OMrK+mqo0@By2n+46p!l?%EaE6SI_DBc^ z1q^QI$I9rdJdF$W0*$PM;?y~ABF)L(h)6Wd&l?9qM2D%95rnW!O7js3wv4b&@~>u) zs`|vSPZZ3P7cSQKu&l>vbnOcb03z zM%0jC#j%d3@np-c_`{Hc5KD^l8-|dgFbW+>hewY;B1Et5vaS7p#3l4 zzzB%$%1Iw?%>m4Q=BGSmZ?O=v6(M9-5b?xJ&v_YT9P8qK$Pak2Oi-AsE}}9dx@>fY zY^xs;KOIUD3P_Cm3$GK=a-Y#BATM_y1GIw1?!|17DZ)}s2)8B!MA@a684^_pZ?xB&yt{}6B{i0R#F)=^FUN5avZ8^*e_8l^B*Uv znDb{e*-~^W$n6PGe=6h8 z8SQ32GYmGUMy(F@!2u#@%u{k@@I>O9$C6dVV z(C#-PpCm^@d!#_1B#?tc@Pt_8PMxsW5E>Y1lCIJ;A zASIFzY4A53aV09xAccqC=CeI6B4er%A^a{37*lg$O*(%~eV;CxuF0W_V z8gpK-3#$4tPY&r}EVMr>(@!3+io=t3XVARZh$9nILrHX)MKebb6%U6^1UDWKw(hG*Or=1Ig~+`V|3MN8$n`T&Q{sBHJw|gO z5`+3s4LJ-ghdi#;O0v5^6)M^_|2q@D=g|~}6bg^YaQKyR7WH8B(|l;PA5@BwN3^)J z?ht^o+)WfYWA-TT4j&|SZ&|IPjWV9-#iX*+l{&IN3sti66pV%z2@H^lJ1)yN2|qn` zf~(MFIdUIl@e?A{6=@S-t!a@8EHhB+wt&Sdp!Od@)wLM)`Y`q6t4b(9LbG8rhNhYw&89j97Vy+Tn!Z$Qsp+(HBd5ZR+ePQ5k$tew9)ng`WFWzX3SFPO-xK!;BtEl z7X3>M;?7c8YKq5Va-T?6e$>!|K9%8eHp4j(ZBr5RVU&GNur*z8PVkZYQB=K_m2g&HM$AD}Ni*&F{Uh!vO$yq>HAggl@`&Z33_=zWT!2)oWaFNp@G_5Ok_+`VdJBeO0 zRmnTAZFzO+OhXZrA$_sQW{TZv(Ssc}$1Gxse>I0a5eIqn)LFJ;D>y*YN^v18 z<|>#iKnJwjX48E18SQg*QKSSUZvSiIFClbs7S=*ll7ty?*Bbn#U~$uk(#h#w{&( z9mltRQP+^LKamXqiFhR-)Ny#`4Nv#84EIo=7k{jG_ASqtv3dcjD;(5%S5PZ>w@*?d znF+5-Js$MKrB*$%6Y8j#c6~5uM|T~kdeJA?5r0Y>wGXF43H4)l#ikgQn_6wQ`*0%| z18(~LJ{wwZG{{mrdM|1*dT^g)*~^uNa}X`TnAK`gby{E3owR!>k<-VgR`r%M276YJ z$~Tp?7cRAW8a4X8fzU@7m#qgf+haO2tu@PzS>3q$W3}0TRXD#B6BS40&xkUYsai9T zwN1E8g}I5;(T^f+jd_EYsCH8stXqeJRj9c7LTwu~c5?AOG+(Y7ru&hXeQAX9&rPU$ z6zWxxjs^ofdeu(#-L&VQ3cOpRaQiJ7#JD?^Ik`c=MCGP*M>P3xeY8uyscVcFXOq~e ze~WoRd0cdRJ)>IJgnMnbJfX@W6Eu2r$F5}Fi!Ez0#lmY&b=jDG&TqT*>sgi4#aDC4 zD`%-ZA&jo8jk|xudB4s3_=0*lfVKc}xN#TB5wWeW&K83}*dAq@klV7;Q(Pa5oCh1c zo_M*0o3gZmNujWuugr~oY_s^6S}#s0Nr&AI-HgRrCy|T7EfO(q$Vp z%oS(NoAtXo9^6gKo=&5n{Uel0eN^LJbKHD9+ONSlI9=U&(REQ$x@DofFwVtaY*zQP zx!c7D=AImDEbvsS#}|90BaZkejk4j)EiJx^fMTezR2_`sMu(i4caZl-Yy8Q=yrteM zW<}M(lN#!bO(w|F=`vQI3H<$qaH@VtHQpBez?}`Z+eXWKozDBIE4^`|S5|tB;`~rv z_%S@RcwYj(C*0)i+Z@H%`~2zAhHfxqg_!H#{L15NV~>^T(Hx0SeFxSo6{?tFhi%b* zDectT^W0uKxNYg;8TZK?6wICP&a-*q-MQfCeN~;C1~>`jkQuqycZ=A8J$7C zH5XFfIppPpk+Z4IQ2Ll(Hs+p%*?S(I8|4cHas+A0(?WAS)xLcxpV#J7J*(bc^|w5! z-q{S-o6nTEUBuH9ws(1G(d*!Z6R7@!nYv#q{#|~3O~~F;(Nzn}kV;5IY4aGQaTl-4 z9nlxKbIo-_r2RW!x)VEmb?2Bv^4$RLWc@GoTv^^>)OLyV-Xn^998HY?j~#F8&!H$e z#qyt9RW55|>Kxny>I}=j>C6=Sm zo4SGdE?MloxI~r7nKM5(Qqv#p+*mN@=y!R)nZay&XVrLMAP?{a4haJQ!C=scBnlA> zg+t;I7?e&a6^ljV5t!6&IUSEj+ z(e?Z0cHOk#1F+$zZ@cjUH!e~n{=1FZ^#L$X3L3h*ZaOUpH4ZbO1-tMgtcW^pdaVgE z?L0pXLg=fJ2qepE^#nz5^hXMz4%)uZM3JOx8%FWOa~&e7SO}J->54-Jy3bQs`aICQ zGXyj7e2*Qs$ZSt0$#H6gcBn@HwG$t;xFJuxc1F-y^8a>PIIG)pwMvfBFP zyE5e9v80d;vnS2(Y@+u<(W`*b%1gteG(?k(+`z1>yJMkeso$TK>JkR=u%TCo8PJ@jebMi9lR6lYIlz z7h{t`qO@X{U`^;(ckjhjN7wu!JG(18tENJlEYMt#3G)4U{|fe_8TdJXJgYQThI&}_ zlt9YF=h{tr{?ZvwS{pm#56&D%-&eb}`FUaeH4Rf%T>Yjdk>V2lCgs5f`+|bubw51b z2m|eTyDeU|!0|*|{V-TgL;e0plKL@k+rYPvuQd=ig+y=1rWMO`U1<#4uiU@}oKJY- zb2}GBXid7!509|4-s)&0MJ`U#SZA8>=Hs;gN`9)(VXaz^$UB*27cZH>g5Q{A^+&)f zqgEMJ{$ujcl#^haYOAww_ZuO2L!^bvBt%{`7&PPB^;*lt%tK7DMAD64ib3ItK)pnl zsA{XxI8e7D_HKFpaIDGKCJl7eiqXA$ksSwuhQrBZL)H&=Hy-p&iWt3l(q>OJueJlq zt-WgVZ!6}Qo&yiQeiPKb|C$^v|FHt;uzRcK9QAYIC#5JftcIxTxn2Str=dYHzVyI_ z3S6=3LmaVdCXbkpZ%wOY_yy&0{gy7aJiP^ zeKw}SBRV^qoAT$9h<>6vGNpt~gg%DvgqFCLTeUM^`TNevu%Uh50mJkwF{UJDci+fNu`nsgsQ8`0oaxk8wVWs316&e#6C>d@hTB2 zs&0pXja}GOf4tH{$u?FqFX#Ny1KlZh)#_U+v!d1j_czF9-nBjY#Y@V}V-Kca53@6! zygYo?mpT6#SxtEPUT|vbS3iHqDgIj}xiOZxW5*PiCKeeuQPHV__Nb%8mL3H^+I%YM zoL7d-_=v4i0gB3|Bl7cxGsH|T;2ElooTmt-kh-` zv~xt@HXVx4!?-%Ku6-+0%V+c*$vE7+HzktkQbCRSMOi5b^r5h@dweNn?5#5ATa?rw z(NMG7GGXDbnjwoB87p||?idz4NZ~Tv=rvKXQbiGQj#@edO5`jB@2 zt@7uv%8$FOkHpJMLuPdmFjKOG-fmxHjA~r`tL2%ZosLzA-%p{{e{Q?ukAbvvxXOAg zm0QE<6%tsbyjwT$V$#4;!EfrFtyz)7aXs}~X;1S$leLXku<^34pR{i`RssI(h|k!3ab?sv9`xy8ePB6 zg$WfOv}q5hws5$$aL~uGm)}VGO~{g$DX=DOpfKy~rV@O0FQQ}}<`q4Ojmnnx?wC$? zi6-$B9?+v@HI1eTWeZ8CxpyHNB@K5dt^blnFB2xpuohbt#1@ZV2drhb;}*hT4eDze zTMd_Tvp~WWG+*vsqY1iAs_mf6nLEk+5#p@~NK>n1GH>$3f|Jm=rZ1 z$1f`o;M!7{4T|dIZ47J_>7z%#rRi!o&(xqs?>Mq~8+XM|p+CICr@5vjobvVSYZ-cT zPs`g3$Xnh~W&T8C^c;sryag+frp(=)Yg0X@cY_Y%?ytS-hYZ7f2ZdsbZ=x*u`J1h` zo;+wgi{eMP_;sueH%lDnCyM23r@%d#zngY!<#mw#tYgY;DaTuqlezpwXvSC#*7=q0 zqh)K9EOOjc7v?A9MAW9UGFo08md5`}+e5&sZK5MB**zdT_khSX{$|f@ECns9A*a75%c<0&5>@3QY$znFlWjuk z-aE%1{6n3iPuj=I}! zvn%la;O>2=&H6`(r?>Kl{ae1{tT1u$oI{K2r+KZ_c+=hTeEM}Vm(Py9n+9^UW5joS z0k*8V%d0_z*o`I29pL%HHI0-rHnWc@LzZ4o<{b@Ssn9`pPMtJ@99N{YjV=d)Ou2@3 zFMfv))@t1r=<$oO11v5#^xxRKu7<@3dhWwJgE28b2%4$gJv}@_w{<5!PXJyKA%*sA zLMKG)vf@YdSX{JZ*)YEjk;>B`f^%1)Pm!UiDKQq3p^6{=dfBQx@5BcgrPDy{5R&Bi zJZZy4*jr{qlKrOGlgXNkfFezPgC`>$MoA)4hiP_s$645*K+ zRu6nyz4@UVB3-abUR2sb@P#o7UR{G zpYY>Pg6`)bAtq|R-0rHYf(h|+#ov7rNJ-K|-(0yV;^`GU><+}^0-S{(eIA+&|#$5xII*z>M40I3ho^fOp11or#VA7 zF_Cm*Whwju{MbCX+!8YtzmCRdQR4~5Vmf|@HP;{4ORHdxK!0Mzfg3KZ!wD?eP}CB3 zA^WBt*p50`MNQSnu6bFhHpR8dDchC6T?3o^L$oGKxaj)Z_#!qTo3vY$-cWL!xPHFC)pXjmza{zN)4a3&Vor z_3QJ}o&9}>m_in#ow_CpLQuDNcKgTG)XtOO4MJ6DyfCiwE zzICItNe>g<3K9O_`jcN9t8((~u0#Dov|UJiLY5|9i(70n^7YUuLs-*<>)WVDG?!;z zIhZ+?z2wVp7~&PSSpk-Zv@&OOg*O>1wg-H1aokE9 zu^+<{Q4qZ_nm=Dx6*LU>zZMBfIGJzhe?Mr~)(k&;n_ca+az{3d6~4)7h&*~a zZL3^yP=TJ2tFABfGyQv{l~N!lS2zOMqbV9=i_<7U#p$D`4_1b8;~nep#mei424<(= zraxMcp2S6O-#P*4$OXBkDi0T2>+Ti-cEC7e!$he<=ZY`9Kqoigm#4Fgmjr+2{ac)) zfMEs6?xbUHl=hyFXFAb1vYar}MyaK#_5IOjVmj#MzR&+7AIY}PL+o&9x>|VbdU-Aqgi@+g6P(@ zrgXTcKuiI(KrB*ethnkb>1QhQ@dve(j)4M!C(RLtcXYgsuMa3>X&PYoCT~^PAwM>@ zsfsuiHYF>hT~OnXBf`%t41Q=G4i#EPM_fGjbMd82<+WKb#&wCk0rNd4bNBJYByp18 zlO89`WCdY)U6*5D4`O#nI%>`Z4C=<&j!*5SupD1VUOBGh8#^bX9Nefzwt$CLhiywn z+iSzaipld!{h~AB$%h(dZA8|y9KyuhVZiy>E4aW2(Vx!NJhD>EQjTKE$ zF2K#oPTGHwp6hU;IS~{+SzO6!=4GFm1La`O?lB56+@WiyC|{_|e;1_s^HqVt1J|u! z)_TT(*4;XB==y1ts7M;sMA}3Zy;ZJGb9*gTPpUD=8u#(qONAvjgS!(`VeXfqc`s)r zulnLR@>lY&g>U$0+BgJ=M{6c!bS-E4mShkO)WNeJmFPpGM8V-o=wu2hd#7T#5dCB3 zhx0GGV$mb5D@K*dXrJdR*}o$)w4tDB7SVNS_gN09Es)`J+%j#fu4H?h1~(VkRb|dL z zlO#f9zU(J`<(H-Y)WUM^^t1R4YzO;4AF0jIS+5E)gy7qCSO#$Wu4|gyf>^y z(bA`v3r(*EDM+5bN9VjXf0n{_wB9eqvv^MK-}SZkoJ#W%&FY1H&ukee!iLM(HK9=Q zjfT4+wB>ZmsBi4uE+0yJIx-({Q~^HB8NFwPorr#_pQs$jVsRul6|TD>fI%%D=h zMBq%Nyx}>b#$Iz%N5gpDeQ)&sN3S$uS3FYVw`Kwq7^5a(BX^s(enz z)93c*F{1r@A079q1M%L)4^>g^5*%JM9K@ClPk)tnIC(G6ZS(Nc=5E#DFF;MJTe2Z(CXZa{ClO)tWpuNhvPdZyj=nc0hWS}Kr ze&RV%x9vAt^8+p2DADABo03E2QOD0|UDo?6utvY}sE&CmSojSyQjkHX+ZV%b3Aa;( zP-n;L=yb!i!rt&ChBM)eRS)F`lfq1TlUTXH*cE%nyx`(pguWM-k8TEEG1#4%em1_F z{!x4tuFNm-lPs;u%@DOvqbM;-Lzvq1bZ_HXF7iTJ?|p(p5DPC|c3xmzR+>|*qOIfB z=>f2Oh*#h4U6d^v7LaQu?8VYD-my5eJAO(V+{!fIU-9TsbeGjvA?hPvKHoj#-HBo% z6y7qi@^e{zeQFyQp}@H%czZiAdf(uEVd^UC`Q|?4h)>ROlu#?+flPG1S-jc+DV89J zot%|-Z}*^;{a51ztX15|tK%#u9l>UrrIH&CZ8ufNb`o`STZYh4QnxUF376e|ba%s} zu5C5v!ZW^+g6GwWk}8*$m*dlYSB9@=7LSgH;m9f4if`8A3E*56;3^g`Dt?`eq1I2# za>QRcAErDhzKcw-Xo=aruZ;0M(_V63o<>*oleaiiH{_R2Ms)1Gi&M)7< zHy@@gLA7kfahs$Dw_nq{jNy1MS8}SZoOD2jg360|p@ipVfLAdGkGA{%pf_5BkF`g8 zg;~GTwJ8XlZEeyCHShXELfP$^)pz)mBh0=VqGP_Y_%mG2x|3t&XXmoSBU=0_ahM2hI1c;EP~WB_u?39Z53Z;2r@#G! z4MmQ2_c?!TPR@_0*|Q`h7;h({yS~m-&^(;*pqPB+5$9?&IKSdpl~{?+E!FV8(&Sa* z@JA$A)C5{s#2@r%32&-=$YS`q7@rU}-%M(R6HylvVE(o}wK}a~MdGr^R_6+Ie~WXG z(tyg1gGF=5_UOi5iBpvNHX-l4_A}n}S0=84)(dm$bGpF`>`z>n;nZ3nG|V#=n7vPz z=}A>9@}aL|LNdobl-fxV#Wn*8lXGm3rzgw=uI#jR{=Z!O=+S=7V9z1c<+5RGKa@B} zjZ7{UefV))_Q~xJq2_#ld^HS>6?7tB(lIII+@hXyoF8*D0f&;JhT)iP)QA3)s%15B zc!H>LKpBUAFl~$W%F{rDXCnf{4Yva-rg{Uje-Q2INqs>wOy{tTLW^U7?S6TwWJ+6c z>+h2Cbos<>S5Tf17%CMPpyer#qrT1@cb9~IRR1a@$pMEW{oFx?*HMS+teweYPSj(u zh|^3NEALwkT!dD?dVN<=pVff68wM38VGYwu@8zKjo#lvjH~6zKhY1xMHF|tZ?o8a4 z^cs62pAC1!eu<^n?mk5nYRpV7Vz};(dleIw_5u@f?s?9d>uo)DU{Q>6bTA@s9r=u*UxGN}!`(2f1N7dqvsdxte zm}5&jVO~KsQ9Cda7qC>XnpW*{KxA3FZkMV%!^L{QK6sI6AikB(WDQ~GunWsM6O~UP zjg4Ot;8GB9E0C+19%^8i!aky}3Ziz}-p%inL)D_gwN;!kWSLHSj{fmE8eX|npcgTm zMEh6rXgEt%uC9CctBXCpYa%+uZ&RN(d34?r#tXC*6tX}!50VuV7~YcS36}_uq#fdw zMbVJNb9q(Gs;-Ww%wwxi&o4e(&pkzEf|9ReUzT4QcziPlHwgot5NVa~Gx9umdkZq7 z%T=AhQ{(VK9)slyGknqUSBH2oR8Y#GQlp$|Sn!@`)WfZElN+La)<{ZbuIw~SdXWkS zY1*bfHRdSOP-->izfxaio(A)H#8g2jtaQ!{v|)|u9%ML0Qm#48tJ-eS4XC`5P3pf& zUXYO2A?dnN?bp~cq(+NiN5AEkmzQQa;_;(k*HleSdQ&L0c!Nj5u0P8cDT~}^b3zxe zU7%I@V*$cd?-`AyD`AUvpN!QnCj+t4Juu_O(Q3M|xa~31gLm~oG%vFujamP4@$FM^ z$&CiHY~>W6%YJt#xmd&?J^EV~8Fo@{!|od`#=LpHt6uv%3h3B1fAnfu9U^j0^=rHl zrulSL>a*97BNOkp_-D*^noA7!^@Mk@_F9J)Cw)i`a@LFmBXo#UX|$MZp?*nJYG-mV zuTVJa8o6juh~JCD__X6Pg84BMZ)|nu0-Op;WX6-Qhv{%p_N!K?Jt#wr?5}K05LR$`$N6dPGMYl$^ zB#bxd%x?ABCUZD6Hj#E|o@F-3A4kq4+#D#UVwkMcV!Wqf@V5x|f1GkNed2n+9#p}) zwlwxxVNm%Vefq#V%INJg8i?-@ul~a6m_A?d{rx#RlSC9_Z&fr8$R!9(zP@wnxW{JA$5oDCMw@dZDhWkzs%c(&%z~$$2KNed?x;`=x zbGzX$1tPyUkD}>_-ZzaLL`hPi_pbJztx$u%cZ_5C8r=-a_F zNqm0!Q@@!%{nnhHFyw-hNXg^fD7^uMm@{99M=e7K5>J*JllQ1=RnX{`iOg;8{qEp` znXJ;sCj)Z`Uo#OADbiODTyd1Opd)#mS!tF0(ZMPhe=oc_IK`z$-E%oH<4da2H`9g< z0Vzm9|5egbp|%%a*5@Un{%#`1>K zrIcf&Uag15#IGtst^5GN`gRfaa6gE@2*tyt3iXx|UvO$~wC-?phR~PKb(<-?+f!1O`gwK-FOma<*%5gp=z{34dJJZ8Y^_SRB3mHGfy@r`N)LAolDgw&TC#)pxr{ z3F&$oEmm{-Nt*Uxzg#q#{({&n+IB;veJ>g}6Bt^_@1k8QwS&X!fBlmLkc`5yX^Qd&U$woB>cU`+$E`@T_!lwD9<4X$J(2De?++l+$6H#-siQ~ ziuG^IidfDC>0boeHaHeLfP=@Cah*P!{`zd-_`-75N2YKE3lb)182tWY&L^vBulq>9 zFrX*wCi)xyQbbff?+mY_QNCYO?3nf&W5OL1J#m~Otz=TE&L=KQ8aR8M_k4ZtsoJ*d zp1w8LeN-2?J)IvtWN2+p-FUD6vjg|VeGOS?P5UYF_NtiX!}IybYM_$gtD68kDw1EV zL9ZTP!^*_fs8!& zd#)t2Oo~`ROhC{n9+^?;WFP2E=to6(8MWb4-DCn%ojUb+6?b*^jvc=H+2;h#u<0KO z1)eNy2d;f~7A-yIH&x;&jj6O^lr|iDCx8^59h~tQZCJ^?LXbDw_q>}dvWI}f^G?%x ziFSQ;Y`X5LBk`(x9*!TDf zzs#FsT?Zec%?LNQo=o~axlbor*j{>C?c@A%4HOj>Uy{kLw|E`bFyyj~IeY&zGrC(oj-qUu;q>wXY@Q z_$F2`TX&;Ank+8frh4U+fCMsr;MHz&M(}y=^dYGG?K$Q*I#gi0NBrkvrZ$z6Zpw_s z^on&otV@#kWrl%Ho(|2Yxk?QqmKkpMnz^eKp&e>oaQ*JF8L5@CFm###uYZYhSR>-h z9E(=vi%^<#y=9R>L|CrVhat-bp*63jkHecv*QD*^8h`M&ZSFj>`i!jG4)jWe&&0$C z60`PppA3FqvX6Dx1iTPli+_big4v#aL-JWkiXyuwNp3gA;vKQ$#U`cE!^LYnU!BpZ zmB%8#VLJ4UF9)wOBXyw8RBTIdXyZq9sxo09N<~Vg#5KoBRboqXehN%rQd1gSW*O?$ zAn2_juFICF-c-Yv!gPpOmCz(vpl{pX5(R!>Wo97BaczCr=>dNp-cqQ=ZD;MPBCh2X z;o=#g<2`Nz<0?j2xpAvr^0+ZbO0h zYRTE`fGIEUW4M+a&o;N^4?ZOw3~erWQJHTOczAl+EFJaWMP1`7RjJ#Puexsjwtd#$bPl0-D$%uEZ?ENSa&ljt@$rsHEy`g5*UwA>JZ8tm#*tO z9y#_^p_7I8aaiP%Robu6N10Xgu_jvi(J3WcJ;-W)QTJpV?B&$KCo<7&W#u`a$7;CV zn7>_?JzZ?>vW_ulR(+o^(h^*4Ft%{`r(jm0OkAm4Ia(<}-*4y2o{f`_z{{48&gs1> zclPwlLCx;>dK!;cQ&j@IIUtjf)MpZmBVX@aXMH1;+j*H`Q|>R05ZYSKU+O(ifkwk@ z!_D$W_+H&M_Q(#^PNQg_9lje@1o^A8vhxl)w`zWEKT^&cDZ6g}@s&nF$IE=)wcV6j z?HfKj*~ei;46xP3t1b-?%M*6ASLL8yD59)K!lrmuhl40TU)Q6+L7v6H&=; zzRKDq+}Et@4puw9Z{7Rwaii2#g>H$gMxXF^)<`U0NaN3vqHTz7a;5f;8_*s4>3b$F zv*@{3A*+>rSMuXMjY1TyaCjjOzGbpK`wpM5yXxHB_Y>C`jXc`o9gtS9hQoz#nk<3c z>6WK<2veRAz5coLc)*{4%F*Z_*QCF)Bj;2&m&HVb&rdBAYa-pcNabyhD6M8cCntHU zDO}#({X}7x@BM_7cz~NhiS6TC^1?S1F>CTOPw3qQ6=+#`$^_7_00hwHiYzqE!e$~z$YIEj!;w;FXCd9p?{26o*s#C^`* z@f%Rzi?h$Zrb*_B%hh`PsBVv&8E{D0ry(;Kxe%Qs<9cW`qhM!mozWHS)`17QV7l`UKItvI#J^3JU_m}vjUYQ0=`D?AoSP#F(*WcFu zP~~V@rbLukLtJXMAeaVWho7X$)bLqoKGXBy$2hNm>sjX> zdN{;cN3ACtX0Us$4fX>i*`V6RSb2tjI(UOZH#%>?v~}8ti6XYE0{Y^KA3PZ%lM0O+ z3arM-Jw2iVfcOSxggP7uJ?xFS+rQ?C%35mpYU@&B#miGoEgm~VZg$U_N=#{r z)>lXc^D@LqJwJW3& zPt`8>7RIHb6ii=soMPDV=QgO*s%$zyZL1fH>fZH1iJ6}=t1;P48#x)~m&tm&y9ixK z+0Vaau6CArjg6bUU;5HOWP7-WBGksCr7iS|8#CXErA^d&_iI5$PdyP>EZQh6SqaR! z99MPZxZ-r%`bgIfsxEYG)gD`0P#LK`X%YedzU+2vGd#I1DVq5D^W^5rBv!UfVQb4* z)MQ*X08BFb^zvSe+##C2z^gN}n^lQ#wc7<}|3|~&rh0uhIN(&p&ZP)L%$g|16bEJ`CH|#>0s+gCLA?O$+p5I{4QMFp_$p3vk-Aok^9B z`bRR=29l#mR0PH~_Ma*R?zcoAwxzRS!?9%-m!j4zC{7v2JPICp6oq`P{xm@@ER@=Qq@<>o-opAK#4WD7g&X z>MRLrPAjqU7{ms-!6-7v65np5mpPAG=%8(gYA>FcC!2Znt%Pi5pn}p=F-7~^&1zl} z?$pa!<r1GEf)qc?-5dP^r zzk-j)Gn<;~LM5jI&t9WQEIQP}o7u>eTWmx(V{;0DaLSnYo6L0&E$7^2?HLO-zbYf) zvUIQN;Id>ZF;0CNxgwq59lOdp77zUCbF2~hRix-he_1JwwbzO0U3YR}((1sx8#^_> zU^}a-)c_~9>SyDd7qN^!>X>R#VST$j#@bg!@ON_}f(E z$OM1k^BP3f^!Bx3kJ8zTUh2I3I}+iJ_jY4H803hT6u*CBbR~N&6!H3gEwc4f{KXAE z0X)iU!Al`qoz2EM{1g0W;b6Mo*krHf)klMADNh9kdUzHgIT}XLiJf%Pi`h7vAsX(d zAKcmdo}<*Yg@fe=*LV?{l(G%uLncF~@fS(YRgJto!y+#;irxkOWUNzni;Yj#Pn|a~ zmk)~@`<{J`d}S1{>wGTKFSYO%i@X5CNBx3BmRls}m$8%9L}W@1emFuB3K^NPHY4x6e{E?SUyAmD+9TE}WJg7gSt72zyFYlXkd( zuvoWBarj*Bl=cZ>P9!|ZNLbuV;ux> zE7G!=)8;uvjV-~WDOA}Lb(WNUnno&qBdWW+uZwl@OD5Zb5!H??1Z%DL@E&f{$j9R9b)ClzRzz(_Ptc;qW8-yn zz9j3rZ@xSI@s2kDaLs=yw@)Y2T2zN4F4X7j?7-P$ns z(QEn1timdVwfJ(JlAQQHx75nDl9dTXa>z^30rs|0$8E!C=gqo0WXQBSZ)?5$yRb8J za?NxoUachtl{22(7i2WS`Sy;^>=VM!T08~qC2j|Y?7D7`c}6BgS`Dk806~LkNXUxXUqUM=XuP*AtV9gf7x^1%& z$J66*MW({rtY5#^9hb7~h0?3(7BcF3F27fLyqONzT|<#^oO;EMVoCDHOH+GQmWwJ> z$J@hH1Jcev^FW9H+^O%y*ScVMX6mq56v^PJ=jO#NBo3Z|{$W!ZrfR>xS1)XOQrI`O zaEP}gPajp%VXb3>gJjJlUun`)X^dwo0iJPly~$}@we_%lUFqUmw+c>Hp5d;tW-hhP zRP3Qo)E+Qq&*p~!i}xhXLxSR@cg}n>LO5Y|{$C6!46!YY>B+}#gvr^`a0BVN?Mh;q z7V*6(D34O3b{~z5qjs>zu!}rgg~bZ&U+mkiT`*KTaR&Lf8+Y|n@#keiyuPF&j}kxS zd78#fJ-#994?qbu3EwVqpl2J2nNTrRP-{Cku=t6%pi2GRS=L4r+e)IAY0AXgp>*3D zu)s6rfE?=2sJok!HS^&|xyo#NjzOz*Ky?mZnCbnzf#X!8kjJ5UnD8=?P)az&dfM#g z&{cfSIuM#eD;VXTYiC}1bKqBv-9~qYC7ZSKL9b}0RdFI&4GXIp`?aNqSC1;2e|^jw z=R%4+1TxnyDseku1YiFF>PqhBId08b4Wmbt#fPU#ZgJyk-hOJnbB@F%OZHhnCM+hSgjFYm>m^s&F$UYeRB8NhE95mY_!iX4QV>Qyf z97AyIGia_$XfPnsuVVRNpT(FtAvYFN1XeTfrp;$}ztCud8mg1g}covKmYG6duZ`v@1{ zM?w;`8}DQ27_w!C&!6vQoGgY-M59}OLM_HqJVKL4t+mY)nrIoP8p2lDPD$t$Nx19; z3*@<&2`7ZZE1vS~dRt=RVA*T7C=^Aqtp2(10{Zcgl}_hMQ)fnJUxqZ75{=6dHua-c z?-Ru65>xIlb?Z6f7>X{?uztdGY*28)Q@A76J4lnNreBtRIpcJ~fnWSsxGz&efbWv2 z?)GZ^Wc52Ww)*J;Hu?kJ@?}Du0Os*}jRIMc$V)|5>i7jtF&P0`A@&7u#3iJ* z3wNXPOg)kQyYd0=qD_)>4kiJD1UH1mr3b?SOJ?`&S?!W(A{TS=^&k0fBgn?Q7@D1D z@$gs&_!mE^4@~{0HM1_0^e=p1Rm#>2-o-m(FktMEMWtjycR9h7ShA>?R-b)L)V_=_ zneVxwy3oBy@;^<=E4h&8WQp3zwM%p4t#{A}fJL^{WD96^UNg`M}om}#hSe>7t9>O|9ai*0>chE_4{*`oW z`p`K`*ruv_DzM4DSromMR`WXsPB?ZQ)lHGMhNBlBIy~O!`OnMYl|hMulR*=$*O7-# zNGSfCsL!e%T@DVf9=UO~Fy0Es47*rUsP40s+u;ad4c1OHN+3*dZ?!!*mh$qbNMCEn z&P`?!|2qb!1m+tYCMe$3Lz3JI_nqJ{MHkHM5_`)33w<9(>l;A!BG7o}Q=Td^Gn`)44I%<+U=! zHISLn&vCgUssYK4O)w9+r_G9s9}r13%oe)Q%JTr<)V%m0DPeGz+e)+oI~m;N>)uvA zaI=A#`zsO+6}mCyM8`hHXf?MoFwIWChEhn79n{2bVPS3NR4O%L8JW+?uvx@S z6{+^TJdGQsL}oBVDseQ=55ycBwrjn?H;dPkCOW7?Y)S@3V`zpq?jAN}mU6$Yb!j#1 zvX0$bnF_sBaZv?gAqpC}-jEptk9SWlJOMHgl$%6dZ)+QGuuXob%*Q^NLyD$Z7Xj@h zRyi>5Nk<`$;npOc3UjV7Z<4bv4k0hkh zE7tCVGa5Dt^*a{$e^kz4X6d5o=D(Yv{NZ->7sR!&^3q=6N1fzVrj7sAli%rl_$A{! zWTXK$WY8!KI=+>ic2sjAuuK|rS1WYD1|wV}xx&1-C~j^cciZr`dL+K_z3y|2 zC$^m)9GFESN?V~jI~(pY!E(#1&@9OOhBD{*rn+8_52hakn87>GD#?NP;b8#3Z^Mh*uD z#w&T?O8%&2%WsJaDXew7i+8x~^AY$MArPv4=R-;B^0Dumd%BaK&P1R_g%zIhO%Ke; z$%IAHp};|@HGzQ(s;I2qnw6$QI5NLIpHbBDR-`+`osac3UU=lKBrKZ;(fyR3%!)U! zq&jbbOJjWuSoeETlCgkDl1out)2&LpWe~oC8FjV)jg+B=x+HeJ#x*nc?1ca_W>P$- z<(tm;85mwo4I5rNao*aHX2`?0K#yHp8=%NJfeCjV#}_NP=Dy^CVW;-)Tz(- zjwt>{T+=Ja9G#`I87xO|K*&Y(DgNFIaf_h2+?PQ0TeBWS(;!)OCPlZxeda2dUJLN^ zZayj7n>~0FFK!8M{aWuN?taGDhcs`g7CkM~ThJ?BJ02m<-{NXXS&LsPsZ#YOREq$E zg#anmFDzwZKZb}pJI+l~{}rp?&rfcB(N+7$OF|3L^i&X*Ke$SHOJfY9kJpfsj5m;6 z@Abn>a>%kqp^$bIkvY1uTP=>JTKg;JQnlLl2bksud3>~Uu^l@G3wzs ziEuMU+Y+d$SAlP%S(n>k;_{AKzEwz_8wm{&TqlGq?BJFyyWZ@j`^PIx6_vGqRG8xi zbRHNSE=rsB5*4TUmSA&6Gu0Mi9s1A31dG4wo3lJRMJpRfSX!nl9oxn2)i;lCA4>Co z7MRyJ3eY$TfNa$m>NP#NHS^jQHU~J>-^JKhCgPrp8?DFZ>vtosz7CVV^R?z^b9cn6gd#&d zL2$4-R>y33MjL`gv|5~A!LVje>0;GJYm-qhrEQiL1;Jx`@l{9L1DNVFYeIYW;!54! ztIrw&H4JJ6*w#Prw757-cv7ijV(`AjYzzrW)wIuc)g@wl{yvaF=`-U(Y^YkdAgs`u z8zQpWt8>)i$4{!U9U0m*wR#113B>^C2iZ+^#e~ve!B1G(7G-En(H$9*HiuFz`MO#P zCU5j*na>6(%vQYZ*Q-}fY5wYmB&Sd05$MY*@}0RZ*tA{o)WmY)LB_T&yhvMO6HD2c zIa^;K{V~6J%&4dBp4mw+?um?YPH5@JN^5^%YWi(avkcnkDqCxIW2(j#Qyi$SZDKTA zu)~C7`RL2Gv)2f_N_^l<|76783)qruLa&)Qw_|B?d@c=+vc46^vi7$?8-`g+<-}TG z;PM*ktHM4+h<>)p#&60^QB~7P1&(OfdE9;{uj#g4=pk8Fb{fyF797v|mskI9bru*tNa<_yZ{LW2a*jf_D_;69Y7 z&p$rb3U{7t1m%4ad@&hu(OVYfxU00P=+kV!OMRZ=UMH;Yohpb0ZTlnbuyeVSi5}kU zFX$wEF+f}SUECWW?yi&=ioO)3pFbD4^6NM4xj6i}J<(>WN5pdZD;9+>K}W9$mhxRF z>vRc*f}}r)EhTm7$&pQsbj(v$S-uMmT~;p_l)qcrec2@^yL|oAsp83Gk@igN$Ruk@ zO@CuihpPRGec8{0&GX8?TgBjbSxj7VRL&^N)poh-=9Uj5pX|x&Ozu8wAS1sObBum% ztZ7y2oE-6Q+z=fJK3H-C^S|PT|16}ug_S=0zswVr_?DCa8>Ro}z0$VJIqYw1Sm4`k zjX?*K2Yv1v`WpJ@(@>euZ}zzil@E!O@-&KZhF(-{QSy{aU6;o+`HhNZnUjb;$Lmc2 zt%DR2-Y|N>^5uQLXt>8UirP5~zH)1-k8;7IRoaZ578xF$-<^C8V}HY|wW?4NW{F1C zejKtosR=}Tmn>So%baYivW}BBspp~Jsmo7PKC^Iv;~<+9o7ZY{tv=e+ZHc_pSHA4D zZ5#Tkc)~SHOxK3pdgp3Wukz+9V6t<~d|4#ksCBGt_xMG{M-N5rz$XYRns1Bt*X(RH z>07mlgPW(IKjgU!XAdub#7{OgVQ9hjrtjHVG#|(F&{l!@FHtLY7ey?yG{Iabt}s9A z)ROnmIn;2T&`YpLa;8dL1H5p%?LG0kzQjC9+~ma^tzlN9pp4JUVFed8%3!up6BZn| zd9Mf~EAyh%q4Urqh;gjuREi#tX3!0?x7RXuByCr-)wwog&e)f&x)h6uAeHI zS&&v(d6luYM%X!~3ThdZv>f%w`q4d~7->c-_GrfIvk^q(Dr2I>HF$L3&ILJ?vk9gd zX_oNH9i&N=R2#|>SZC0L!TfC%tNkToh*IQ=+K^C716{8|2P55^KKFeI2~f{lI*2H| zsQheu+qT+Oy;(z1VRB#l$`nO-avSDOVwWp+W-v z1yPvunOm=)8k4EVO^xF`Cc%EjB{!8?4Ku_WylXs3%;ZZ1kkWTdKF?<7nvQSk)tJ&e ztnI#XHq6lXobeLr_NGE|X||Y{fdchQbOn2pRBv*1sbroPEQ5$Zsv-+7xZ83`q#~WH z1yvY+3+WbAdCCkG^K3@H)lzj!w0X?3q=SwT=OFBlV6? zvNMg;6t7oI7jEH-iTm$K&z#oVcAJ%zH5%i6d*!nurpML2_ab>>$02K;pfLt-SAT76xSRMG4 zRCXPIbx#_PXR{jG7Ov^~d2!rz#KEte zg5ymi8u5VW55E%ij=ferwT!XCUduG=H&6sK__*wNRZJ&b%!SY>3GX}14{>xyc^~n8kU4Qzni+A zKD0uT!_-$7p9vSuw#|>j5*Re!^y1?nqG-!Vx>3P*Fc{(JN~>jHu^G0%l4#xbY!T(0 z=1Z|n*|GIQj~U!`NOd)Fo^BYbb(snDx;5fe&zS;)93)fC~ZuSO5S( zu=~&q^e=|_0A-ke7!H6%`~ZUemmGkH%3u8t!$27wfaU-;0E@%{!UEu+j0@FY1VJT# zp9wtx5Z?bV^ePDdf0zQw1pn5L01^LvGE^HD(G^7UZ}tU|{?~ID{)hjT%lS{a=+JWC zfJFaGuK8cA^$$bsM`8%~01yBGRUXRf&~pB!1n3F1?teZJfqxwUMmzKso&kV<2mq*^ z0RX=o00^T1fG7k2ND={ntO@{LV*&t$9rSzw0P=C@c?e~G=ot@XN~q2`0FVj*0I?+i ze7^>OscHb&Er&YG6KeP-0FsXdK;{Gh$p13{N@W2+^~(Tg>JR{3Y637gY5)v3833b& z0Kj;N0Wis908HH}05iD`z?|R%e?1C4EX*w(Y~5YFoUJ6deA!%`Z2?cPjg6Nl*pb4U zOMnadTB!2M&=@BS)KVvBPj^kZHx&8?h7<_nP`@DouK-Q}Ft_w@Rnd~whAIOJGEx*C zP^G{8pL9D9Eeo1vSmo6zDE=e=|3z4quI`>t7pp_Hxvi`{puPY>eF!-Ec)I?TLwy9` zS~&b=n19-hJJdiZ6aJOk{)<`u(fJok{ADXAXDg`AUz=U6oUHzGFO(y^y{w@Os|@8Z zZ?LrwlxLw#ah8chXgJgqIE^#{iRWmI=`t@VF~zjgaBjVq0R>I{TG`XAYU?){I< zB@X}uZlJzN_>asY0|1&sq3wP7KQfvx0Dut!08JDB^*;E2+l!s2r>hVC z?XN@so&G-+{;m1HhyN;%?QePi_8o<^wT-!#qbJ2*r&_u=x_G%$c(|HdT2rw8zZ>!Y z^^N~!)_>W-qG@eo?QZQ1ElL;K%D~RH(CT)!0(*j8oGHN0|GOIgzr5|gZ1{`+YS&P} zDfkWGzGVY2C!l@p$tVDag95-B=RmK3{#|d%NV>q^Z=N3c-oM&Cl%d!E$^VxO2HIyq zdm6AU#b2?MrZ$D8m%I00hJGjhX7B(qfC25*iGbGtHNXI{0$cz;APh)A2k0pRYJfIi z0GI-nfF0ljxC1^wAn*|g1EQh*Dg?*`a)AP%6sQ8~fM%cr_zv^~Bfumu2dn_UfF0ln zI0tTlClCmP073)dfQUfkAX*SJhzleD5(CMAltG#x1CSZW7UT@_0tJGCLD8TjP$uXr zs1#HSY6X1<4T1ij09^;7_|XB`0pS7Z0rCO*0s{gJ0u%xr0ww}40yqLe0!so^0$l=U z0&xO*0)zsN0+<4#0;~eI0>J{y0@VWG0_y_x0{{aH0~P}z11$qM149E(16l)S19Ag? z1BwHd1EK@21G)pp1JeWG1MCC&1O@~X1Rw-01Um#s1XToM1aSm@1dIfl1gHeI1jGc> z1mOhm1pWmL1snw{1v&*u1y}`V1$PC81(pS-1+@jm1=R)R1@;C81{MY<1~&#s23ZDb z273mK2Au}42EYc<2IB_x2L}fk2P+3X2TuoK2XqI92bl+~2fqi>2jvI&2nz@w2r>vp z2wDhk2!aTf2&xFa2+|1W2>S^T2_*?S2~P=R33&;R38V?S3C{`T3Hu5W3MUFZ3RDVe z3V{lk3a$#p3fv0w3kwS(3poo>3uz003z!SA3&;!M3;7HZ3@Qvm3|tI#42}$^48RQ8 z4D$^Q4JHjh4O$I!4UP?|4Z{uI4fqZd4lWK!4rC604x0|P4$=)?59|;L5GD{q5MdC05StLW5Z4g(5fc$H5l<0q5sVS45y=tg5(g3{5=9bZ5`+?? z62lVX69W??6GIbY6N3|^6U7td6b2M06iF0n6pIwC6wVaz6%rLR6;>5^6`K{k72p;F z7A6)+7Hk%e7P1!B7Wx+*7eNRB-$kjB{(H$C6^_~CHE#LCRZkhCbuT& zCm1J5CweEVC)_9vC_gB1D55CTDF!JxDQhX6DbOkcDm5x-Dw`_LD*`JvD`_j8E72?k zEIBN0ETSyeEetI|Ep{!dE#WQ}E=(?hF1If3FC;HoFOe_DFa9t!Fl;cSFxxQ_F-kFl zF}gAGGAc4-GMh5gGYvCFGk-IWhdK43neKHxtgKVd(jKjJ_mKx9CsK<7azL25y)LGD5@LUKa2Lia;DLw!TQL<2-e zM2bYtMG{3-MVdw4Mj}RMMyp2fM>R)#N5Du0NJ~hONY_anNn=T=N$^THN_|SiOAJd> zOPWjKOe#!rOu9`1O-fCZP25f;PHs-OPXJFzPm@pGP$y7vP`gnEQBYBvQRY%HQhZX! zQxj8PQ>s(;R68+Ta{boTs2&VT-IGDU3gu|UK(C(UcFxrUtwRfUVhCcAIwicUE_^coBGRc+7b!d5L-FdPaJsdjxx9d%}Dne1Ux7eL;PpegS@B ze!_nve}sSKfJcC+feL|Zfz5(2f|7#tgI9yPgdK!{gyV%rg{y`RhH{42hdYO#hy;jf zh|Y;KiJ6K1ie!q)i!h6pi~NjZjLMBMjhK!9j%JR|k2a5^o3ET4oQa(Gon)QT zor4#LmS_#mL4+#>2-!$G^xu$h^rq$+^ln%D2ll%eKrl%(cxm&9%-p z&bH4t&$!Sz(7Mq)(Z13@(!tY2)5g?E)XUXQ)zQ{f*4Wov*WlP>*y!18+40(T+WXsp z+y&f<-4NZD-W=Yd-znd(;5OjB;Y8ug;#1<=<74CNCoz1>gDTj>-+46?Gf#q?kMiG??CU&@L2HW@pAG1@{IEt^QZJQ^uqN}_1^Yv_WSpW h_!;=9`8fH<`d9kr`*-{Y{FwbI{kr~3{@nj<|Nj@*dFlWF diff --git a/contrib/macdeploy/background@2x.png b/contrib/macdeploy/background@2x.png deleted file mode 100644 index 4858183f75c382a9b8d75ae4fb8a74abd830615f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138890 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 2: @@ -757,7 +765,7 @@ if config.dmg is not None: if fancy is None: try: - runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname="Dash-Core", ov=True) + runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=volname, ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) else: @@ -772,7 +780,7 @@ if config.dmg is not None: if verbose >= 3: print "Creating temp image for modification..." try: - runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname="Dash-Core", ov=True) + runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=volname, ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) @@ -837,7 +845,7 @@ if config.dmg is not None: items_positions.append(itemscript.substitute(params)) params = { - "disk" : "Dash-Core", + "disk" : volname, "window_bounds" : "300,300,800,620", "icon_size" : "96", "background_commands" : "", diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk new file mode 100644 index 0000000000..eb8672d556 --- /dev/null +++ b/depends/packages/native_biplist.mk @@ -0,0 +1,15 @@ +package=native_biplist +$(package)_version=0.9 +$(package)_download_path=https://pypi.python.org/packages/source/b/biplist +$(package)_file_name=biplist-$($(package)_version).tar.gz +$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604 +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/native_ds_store.mk b/depends/packages/native_ds_store.mk new file mode 100644 index 0000000000..8e902af1b6 --- /dev/null +++ b/depends/packages/native_ds_store.mk @@ -0,0 +1,17 @@ +package=native_ds_store +$(package)_version=c80c23706eae +$(package)_download_path=https://bitbucket.org/al45tair/ds_store/get +$(package)_download_file=$($(package)_version).tar.bz2 +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=ce1aa412211610c63d567bbe3e06213006a2d5ba5d76d89399c151b5472cb0da +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages +$(package)_dependencies=native_biplist + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/native_mac_alias.mk b/depends/packages/native_mac_alias.mk new file mode 100644 index 0000000000..d117c1c9a3 --- /dev/null +++ b/depends/packages/native_mac_alias.mk @@ -0,0 +1,16 @@ +package=native_mac_alias +$(package)_version=1.1.0 +$(package)_download_path=https://bitbucket.org/al45tair/mac_alias/get +$(package)_download_file=v$($(package)_version).tar.bz2 +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=87ad827e66790028361e43fc754f68ed041a9bdb214cca03c853f079b04fb120 +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index 02cc188420..59b009b66a 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -15,6 +15,8 @@ wallet_packages=bdb upnp_packages=miniupnpc +darwin_native_packages = native_biplist native_ds_store native_mac_alias + ifneq ($(build_os),darwin) -darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus +darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus endif diff --git a/doc/README_osx.txt b/doc/README_osx.txt index f589bfc676..c13efaa145 100644 --- a/doc/README_osx.txt +++ b/doc/README_osx.txt @@ -63,9 +63,8 @@ functionality is broken. Only the compression feature is currently used. Ideally, the creation could be fixed and genisoimage would no longer be necessary. Background images and other features can be added to DMG files by inserting a -.DS_Store before creation. The easiest way to create this file is to build a -DMG without one, move it to a device running OS X, customize the layout, then -grab the .DS_Store file for later use. That is the approach taken here. +.DS_Store before creation. This is generated by the script +contrib/macdeploy/custom_dsstore.py. As of OS X Mavericks (10.9), using an Apple-blessed key to sign binaries is a requirement in order to satisfy the new Gatekeeper requirements. Because this diff --git a/libdashconsensus.pc.in b/libdashconsensus.pc.in index 275d486f6f..eb85bc5974 100644 --- a/libdashconsensus.pc.in +++ b/libdashconsensus.pc.in @@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: Bitcoin Core consensus library +Name: @PACKAGE_NAME@ consensus library Description: Library for the Bitcoin consensus protocol. Version: @PACKAGE_VERSION@ Libs: -L${libdir} -ldashconsensus diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index cd9eb971aa..28694ba7b9 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -17,7 +17,7 @@ APPL CFBundleGetInfoString - @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS_FINAL@ CFBundleShortVersionString @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py index 8508a4ae5c..eb7c9cddb8 100755 --- a/share/qt/extract_strings_qt.py +++ b/share/qt/extract_strings_qt.py @@ -70,6 +70,10 @@ f.write(""" #endif """) f.write('static const char UNUSED *dash_strings[] = {\n') +f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('PACKAGE_NAME'),)) +f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS'),)) +if os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION') != os.getenv('PACKAGE_NAME'): + f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION'),)) messages.sort(key=operator.itemgetter(0)) for (msgid, msgstr) in messages: if msgid != EMPTY: diff --git a/share/setup.nsi.in b/share/setup.nsi.in index f1d5756781..1cd3eae009 100644 --- a/share/setup.nsi.in +++ b/share/setup.nsi.in @@ -6,8 +6,8 @@ SetCompressor /SOLID lzma # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" !define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ -!define COMPANY "Dash Core project" -!define URL https://www.dash.org/ +!define COMPANY "@PACKAGE_NAME@ project" +!define URL @PACKAGE_URL@ # MUI Symbol Definitions !define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" @@ -59,7 +59,7 @@ XPStyle on BrandingText " " ShowInstDetails show VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@ -VIAddVersionKey ProductName "Dash Core" +VIAddVersionKey ProductName "@PACKAGE_NAME@" VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyWebsite "${URL}" diff --git a/src/Makefile.am b/src/Makefile.am index 83e1af2c4e..63a25ac90a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -536,7 +536,8 @@ clean-local: .rc.o: @test -f $(WINDRES) - $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ + ## FIXME: How to get the appropriate modulename_CPPFLAGS in here? + $(AM_V_GEN) $(WINDRES) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) -DWINDRES_PREPROC -i $< -o $@ .mm.o: $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 4cf20e7f77..0b0ef5ddca 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -571,7 +571,7 @@ SECONDARY: $(QT_QM) qt/dashstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) $(libbitcoin_common_a_SOURCES) $(libbitcoin_zmq_a_SOURCES) $(libbitcoin_consensus_a_SOURCES) $(libbitcoin_util_a_SOURCES) @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" - $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ + $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) PACKAGE_NAME="$(PACKAGE_NAME)" COPYRIGHT_HOLDERS="$(COPYRIGHT_HOLDERS)" COPYRIGHT_HOLDERS_SUBSTITUTION="$(COPYRIGHT_HOLDERS_SUBSTITUTION)" ../share/qt/extract_strings_qt.py $^ translate: qt/dashstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) qt/dash.cpp $(BITCOIN_QT_H) $(BITCOIN_MM) @test -n $(LUPDATE) || echo "lupdate is required for updating translations" diff --git a/src/clientversion.h b/src/clientversion.h index ae26e8b2ab..8de81d8a84 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -38,7 +38,7 @@ #define DO_STRINGIZE(X) #X //! Copyright string used in Windows .rc files -#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " The Dash Core Developers" +#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " " COPYRIGHT_HOLDERS_FINAL /** * dashd-res.rc includes this file, but it cannot cope with real c++ code. diff --git a/src/dash-cli.cpp b/src/dash-cli.cpp index c13a5b0467..8c823df5c6 100644 --- a/src/dash-cli.cpp +++ b/src/dash-cli.cpp @@ -4,6 +4,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "chainparamsbase.h" #include "clientversion.h" #include "rpc/client.h" @@ -76,10 +80,10 @@ static int AppInitRPC(int argc, char* argv[]) // ParseParameters(argc, argv); if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) { - std::string strUsage = _("Dash Core RPC client version") + " " + FormatFullVersion() + "\n"; + std::string strUsage = strprintf(_("%s RPC client version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n"; if (!mapArgs.count("-version")) { strUsage += "\n" + _("Usage:") + "\n" + - " dash-cli [options] [params] " + _("Send command to Dash Core") + "\n" + + " dash-cli [options] [params] " + strprintf(_("Send command to %s"), _(PACKAGE_NAME)) + "\n" + " dash-cli [options] help " + _("List commands") + "\n" + " dash-cli [options] help " + _("Get help for a command") + "\n"; diff --git a/src/dash-tx-res.rc b/src/dash-tx-res.rc index 816a35676d..e492daa2b3 100644 --- a/src/dash-tx-res.rc +++ b/src/dash-tx-res.rc @@ -17,7 +17,7 @@ BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN VALUE "CompanyName", "Dash" - VALUE "FileDescription", "dash-tx (CLI Dash transaction editor utility)" + VALUE "FileDescription", "dash-cli (JSON-RPC client for " PACKAGE_NAME ")" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "dash-tx" VALUE "LegalCopyright", COPYRIGHT_STR diff --git a/src/dash-tx.cpp b/src/dash-tx.cpp index ac768f7746..c796aaa519 100644 --- a/src/dash-tx.cpp +++ b/src/dash-tx.cpp @@ -2,6 +2,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "base58.h" #include "clientversion.h" #include "coins.h" @@ -52,7 +56,7 @@ static int AppInitRawTx(int argc, char* argv[]) if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help")) { // First part of help message is specific to this utility - std::string strUsage = _("Dash Core dash-tx utility version") + " " + FormatFullVersion() + "\n\n" + + std::string strUsage = strprintf(_("%s dash-tx utility version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n\n" + _("Usage:") + "\n" + " dash-tx [options] [commands] " + _("Update hex-encoded dash transaction") + "\n" + " dash-tx [options] -create [commands] " + _("Create hex-encoded dash transaction") + "\n" + diff --git a/src/dashd.cpp b/src/dashd.cpp index 5d1cb32555..d80d6a3384 100644 --- a/src/dashd.cpp +++ b/src/dashd.cpp @@ -4,6 +4,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "chainparams.h" #include "clientversion.h" #include "rpc/server.h" @@ -14,6 +18,7 @@ #include "masternodeconfig.h" #include "httpserver.h" #include "httprpc.h" +#include "utilstrencodings.h" #include #include @@ -75,16 +80,16 @@ bool AppInit(int argc, char* argv[]) // Process help and version before taking care about datadir if (mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) { - std::string strUsage = _("Dash Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n"; + std::string strUsage = strprintf(_("%s Daemon"), _(PACKAGE_NAME)) + " " + _("version") + " " + FormatFullVersion() + "\n"; if (mapArgs.count("-version")) { - strUsage += LicenseInfo(); + strUsage += FormatParagraph(LicenseInfo()); } else { strUsage += "\n" + _("Usage:") + "\n" + - " dashd [options] " + _("Start Dash Core Daemon") + "\n"; + " dashd [options] " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "\n"; strUsage += "\n" + HelpMessage(HMM_BITCOIND); } diff --git a/src/init.cpp b/src/init.cpp index 7448296dad..b5761388dc 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -38,7 +38,6 @@ #include "ui_interface.h" #include "util.h" #include "utilmoneystr.h" -#include "utilstrencodings.h" #include "validationinterface.h" #ifdef ENABLE_WALLET #include "wallet/db.h" @@ -642,15 +641,13 @@ std::string HelpMessage(HelpMessageMode mode) std::string LicenseInfo() { // todo: remove urls from translations on next change - return FormatParagraph(strprintf(_("Copyright (C) 2009-%i The Bitcoin Core Developers"), COPYRIGHT_YEAR)) + "\n" + + return CopyrightHolders(strprintf(_("Copyright (C) %i-%i"), 2009, COPYRIGHT_YEAR) + " ") + "\n" + "\n" + - FormatParagraph(strprintf(_("Copyright (C) 2014-%i The Dash Core Developers"), COPYRIGHT_YEAR)) + "\n" + + _("This is experimental software.") + "\n" + "\n" + - FormatParagraph(_("This is experimental software.")) + "\n" + + _("Distributed under the MIT software license, see the accompanying file COPYING or .") + "\n" + "\n" + - FormatParagraph(_("Distributed under the MIT software license, see the accompanying file COPYING or .")) + "\n" + - "\n" + - FormatParagraph(_("This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.")) + + _("This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.") + "\n"; } @@ -1234,7 +1231,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) // Sanity check if (!InitSanityCheck()) - return InitError(_("Initialization sanity check failed. Dash Core is shutting down.")); + return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), _(PACKAGE_NAME))); std::string strDataDir = GetDataDir().string(); #ifdef ENABLE_WALLET @@ -1251,9 +1248,9 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) static boost::interprocess::file_lock lock(pathLockFile.string().c_str()); // Wait maximum 10 seconds if an old wallet is still running. Avoids lockup during restart if (!lock.timed_lock(boost::get_system_time() + boost::posix_time::seconds(10))) - return InitError(strprintf(_("Cannot obtain a lock on data directory %s. Dash Core is probably already running."), strDataDir)); + return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), strDataDir, _(PACKAGE_NAME))); } catch(const boost::interprocess::interprocess_exception& e) { - return InitError(strprintf(_("Cannot obtain a lock on data directory %s. Dash Core is probably already running.") + " %s.", strDataDir, e.what())); + return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running.") + " %s.", strDataDir, _(PACKAGE_NAME), e.what())); } #ifndef WIN32 @@ -1716,10 +1713,10 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) " or address book entries might be missing or incorrect.")); } else if (nLoadWalletRet == DB_TOO_NEW) - strErrors << _("Error loading wallet.dat: Wallet requires newer version of Dash Core") << "\n"; + strErrors << strprintf(_("Error loading wallet.dat: Wallet requires newer version of %s"), _(PACKAGE_NAME)) << "\n"; else if (nLoadWalletRet == DB_NEED_REWRITE) { - strErrors << _("Wallet needed to be rewritten: restart Dash Core to complete") << "\n"; + strErrors << strprintf(_("Wallet needed to be rewritten: restart %s to complete"), _(PACKAGE_NAME)) << "\n"; LogPrintf("%s", strErrors.str()); return InitError(strErrors.str()); } diff --git a/src/net.cpp b/src/net.cpp index a3594650c4..dae7fc439d 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2033,7 +2033,7 @@ bool CConnman::BindListenPort(const CService &addrBind, std::string& strError, b { int nErr = WSAGetLastError(); if (nErr == WSAEADDRINUSE) - strError = strprintf(_("Unable to bind to %s on this computer. Dash Core is probably already running."), addrBind.ToString()); + strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToString(), _(PACKAGE_NAME)); else strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToString(), NetworkErrorString(nErr)); LogPrintf("%s\n", strError); diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index df1c0148d2..32a9409fdf 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "askpassphrasedialog.h" #include "ui_askpassphrasedialog.h" @@ -122,9 +126,9 @@ void AskPassphraseDialog::accept() { QMessageBox::warning(this, tr("Wallet encrypted"), "" + - tr("Dash Core will close now to finish the encryption process. " + tr("%1 will close now to finish the encryption process. " "Remember that encrypting your wallet cannot fully protect " - "your dashs from being stolen by malware infecting your computer.") + + "your dashs from being stolen by malware infecting your computer.").arg(tr(PACKAGE_NAME)) + "

" + tr("IMPORTANT: Any previous backups you have made of your wallet file " "should be replaced with the newly generated, encrypted wallet file. " diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f2513eb392..392ae8569f 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "bitcoingui.h" #include "bitcoinunits.h" @@ -127,7 +131,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); - QString windowTitle = tr("Dash Core") + " - "; + QString windowTitle = tr(PACKAGE_NAME) + " - "; #ifdef ENABLE_WALLET /* if compiled with wallet support, -disablewallet can still disable the wallet */ enableWallet = !GetBoolArg("-disablewallet", false); @@ -374,7 +378,7 @@ void BitcoinGUI::createActions() quitAction->setStatusTip(tr("Quit application")); quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); quitAction->setMenuRole(QAction::QuitRole); - aboutAction = new QAction(QIcon(":/icons/" + theme + "/about"), tr("&About Dash Core"), this); + aboutAction = new QAction(QIcon(":/icons/" + theme + "/about"), tr("&About %1").arg(tr(PACKAGE_NAME)), this); aboutAction->setStatusTip(tr("Show information about Dash Core")); aboutAction->setMenuRole(QAction::AboutRole); aboutAction->setEnabled(false); @@ -382,7 +386,7 @@ void BitcoinGUI::createActions() aboutQtAction->setStatusTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); optionsAction = new QAction(QIcon(":/icons/" + theme + "/options"), tr("&Options..."), this); - optionsAction->setStatusTip(tr("Modify configuration options for Dash Core")); + optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(tr(PACKAGE_NAME))); optionsAction->setMenuRole(QAction::PreferencesRole); optionsAction->setEnabled(false); toggleHideAction = new QAction(QIcon(":/icons/" + theme + "/about"), tr("&Show / Hide"), this); @@ -436,7 +440,7 @@ void BitcoinGUI::createActions() showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this); showHelpMessageAction->setMenuRole(QAction::NoRole); - showHelpMessageAction->setStatusTip(tr("Show the Dash Core help message to get a list with possible Dash Core command-line options")); + showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(tr(PACKAGE_NAME))); showPrivateSendHelpAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&PrivateSend information"), this); showPrivateSendHelpAction->setMenuRole(QAction::NoRole); @@ -722,7 +726,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled) void BitcoinGUI::createTrayIcon(const NetworkStyle *networkStyle) { trayIcon = new QSystemTrayIcon(this); - QString toolTip = tr("Dash Core client") + " " + networkStyle->getTitleAddText(); + QString toolTip = tr("%1 client").arg(tr(PACKAGE_NAME)) + " " + networkStyle->getTitleAddText(); trayIcon->setToolTip(toolTip); trayIcon->setIcon(networkStyle->getTrayAndWindowIcon()); trayIcon->hide(); diff --git a/src/qt/dash.cpp b/src/qt/dash.cpp index 4379212051..df351750de 100644 --- a/src/qt/dash.cpp +++ b/src/qt/dash.cpp @@ -626,14 +626,14 @@ int main(int argc, char *argv[]) /// - Do not call GetDataDir(true) before this step finishes if (!boost::filesystem::is_directory(GetDataDir(false))) { - QMessageBox::critical(0, QObject::tr("Dash Core"), + QMessageBox::critical(0, QObject::tr(PACKAGE_NAME), QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); return EXIT_FAILURE; } try { ReadConfigFile(mapArgs, mapMultiArgs); } catch (const std::exception& e) { - QMessageBox::critical(0, QObject::tr("Dash Core"), + QMessageBox::critical(0, QObject::tr(PACKAGE_NAME), QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what())); return EXIT_FAILURE; } @@ -648,7 +648,7 @@ int main(int argc, char *argv[]) try { SelectParams(ChainNameFromCommandLine()); } catch(std::exception &e) { - QMessageBox::critical(0, QObject::tr("Dash Core"), QObject::tr("Error: %1").arg(e.what())); + QMessageBox::critical(0, QObject::tr(PACKAGE_NAME), QObject::tr("Error: %1").arg(e.what())); return EXIT_FAILURE; } #ifdef ENABLE_WALLET @@ -716,7 +716,7 @@ int main(int argc, char *argv[]) app.createWindow(networkStyle.data()); app.requestInitialize(); #if defined(Q_OS_WIN) && QT_VERSION >= 0x050000 - WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("Dash Core didn't yet exit safely..."), (HWND)app.getMainWinId()); + WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely...").arg(QObject::tr(PACKAGE_NAME)), (HWND)app.getMainWinId()); #endif app.exec(); app.requestShutdown(); diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index b75417b72a..40a4f85cff 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -406,7 +406,7 @@ - Open the Dash Core debug log file from the current data directory. This can take a few seconds for large log files. + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. &Open diff --git a/src/qt/forms/helpmessagedialog.ui b/src/qt/forms/helpmessagedialog.ui index 24ca5fafdf..334546ed95 100644 --- a/src/qt/forms/helpmessagedialog.ui +++ b/src/qt/forms/helpmessagedialog.ui @@ -16,9 +16,6 @@ 500 - - Dash Core - Command-line options - 0 diff --git a/src/qt/forms/intro.ui b/src/qt/forms/intro.ui index dd014d90a9..19b90f705f 100644 --- a/src/qt/forms/intro.ui +++ b/src/qt/forms/intro.ui @@ -15,12 +15,12 @@ - + QLabel { font-style:italic; } - Welcome to Dash Core. + Welcome to %1. true @@ -44,9 +44,9 @@ - + - As this is the first time the program is launched, you can choose where Dash Core will store its data. + As this is the first time the program is launched, you can choose where %1 will store its data. true @@ -56,7 +56,7 @@ - Dash Core will download and store a copy of the Dash block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the Dash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. true diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index 4681792d39..d4df3ba2fe 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -30,10 +30,10 @@ - Automatically start Dash Core after logging in to the system. + Automatically start %1 after logging in to the system. - &Start Dash Core on system login + &Start %1 on system login @@ -681,7 +681,7 @@ - The user interface language can be set here. This setting will take effect after restarting Dash Core. + The user interface language can be set here. This setting will take effect after restarting %1. diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index 3effc3275e..f18720f608 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "intro.h" #include "ui_intro.h" @@ -119,11 +123,13 @@ Intro::Intro(QWidget *parent) : signalled(false) { ui->setupUi(this); + ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(tr(PACKAGE_NAME))); + ui->storageLabel->setText(ui->storageLabel->text().arg(tr(PACKAGE_NAME))); uint64_t pruneTarget = std::max(0, GetArg("-prune", 0)); requiredSpace = BLOCK_CHAIN_SIZE; if (pruneTarget) requiredSpace = CHAIN_STATE_SIZE + std::ceil(pruneTarget * 1024 * 1024.0 / GB_BYTES); - ui->sizeWarningLabel->setText(ui->sizeWarningLabel->text().arg(requiredSpace)); + ui->sizeWarningLabel->setText(ui->sizeWarningLabel->text().arg(tr(PACKAGE_NAME)).arg(requiredSpace)); startThread(); } @@ -194,7 +200,7 @@ void Intro::pickDataDirectory() TryCreateDirectory(GUIUtil::qstringToBoostPath(dataDir)); break; } catch (const fs::filesystem_error&) { - QMessageBox::critical(0, tr("Dash Core"), + QMessageBox::critical(0, tr(PACKAGE_NAME), tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir)); /* fall through, back to choosing screen */ } diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index e41881d8d0..337a476cee 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -100,6 +100,11 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) : /* Language selector */ QDir translations(":translations"); + + ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(tr(PACKAGE_NAME))); + ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(tr(PACKAGE_NAME))); + + ui->lang->setToolTip(ui->lang->toolTip().arg(tr(PACKAGE_NAME))); ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant("")); Q_FOREACH(const QString &langStr, translations.entryList()) { diff --git a/src/qt/res/dash-qt-res.rc b/src/qt/res/dash-qt-res.rc index 6210740eaf..5922a9bd55 100644 --- a/src/qt/res/dash-qt-res.rc +++ b/src/qt/res/dash-qt-res.rc @@ -19,13 +19,13 @@ BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN VALUE "CompanyName", "Dash" - VALUE "FileDescription", "Dash Core (GUI node for Dash)" + VALUE "FileDescription", PACKAGE_NAME " (GUI node for Dash)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "dash-qt" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "dash-qt.exe" - VALUE "ProductName", "Dash Core" + VALUE "ProductName", PACKAGE_NAME VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index db739485f9..be86e3bd3c 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "rpcconsole.h" #include "ui_debugwindow.h" @@ -262,6 +266,9 @@ RPCConsole::RPCConsole(const PlatformStyle *platformStyle, QWidget *parent) : { ui->setupUi(this); GUIUtil::restoreWindowGeometry("nRPCConsoleWindow", this->size(), this); + + ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(tr(PACKAGE_NAME))); + QString theme = GUIUtil::getThemeName(); if (platformStyle->getImagesOnButtons()) { ui->openDebugLogfileButton->setIcon(QIcon(":/icons/" + theme + "/export")); @@ -643,7 +650,7 @@ void RPCConsole::clear(bool clearHistory) ).arg(fixedFontInfo.family(), QString("%1pt").arg(consoleFontSize)) ); - message(CMD_REPLY, (tr("Welcome to the Dash Core RPC console.") + "
" + + message(CMD_REPLY, (tr("Welcome to the %1 RPC console.").arg(tr(PACKAGE_NAME)) + "
" + tr("Use up and down arrows to navigate history, and Ctrl-L to clear screen.") + "
" + tr("Type help for an overview of available commands.")), true); } diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index a568c9aab1..f28c461f71 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "splashscreen.h" #include "guiutil.h" @@ -42,10 +46,9 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) float fontFactor = 1.0; // define text to place - QString titleText = tr("Dash Core"); + QString titleText = tr(PACKAGE_NAME); QString versionText = QString(tr("Version %1")).arg(QString::fromStdString(FormatFullVersion())); - QString copyrightTextBtc = QChar(0xA9)+QString(" 2009-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Bitcoin Core developers")); - QString copyrightTextDash = QChar(0xA9)+QString(" 2014-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Dash Core developers")); + QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str()); QString titleAddText = networkStyle->getTitleAddText(); // networkstyle.cpp can't (yet) read themes, so we do it here to get the correct Splash-screen QString splashScreenPath = ":/images/" + GUIUtil::getThemeName() + "/splash"; @@ -65,9 +68,8 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) // check font size and drawing with pixPaint.setFont(QFont(font, 28*fontFactor)); QFontMetrics fm = pixPaint.fontMetrics(); - int titleTextWidth = fm.width(titleText); - if(titleTextWidth > 160) { - // strange font rendering, Arial probably not found + int titleTextWidth = fm.width(titleText); + if (titleTextWidth > 160) { fontFactor = 0.75; } @@ -80,9 +82,13 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) pixPaint.drawText(paddingLeft,paddingTop+titleVersionVSpace,versionText); // draw copyright stuff - pixPaint.setFont(QFont(font, 10*fontFactor)); - pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace,copyrightTextBtc); - pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace+12,copyrightTextDash); + { + pixPaint.setFont(QFont(font, 10*fontFactor)); + const int x = paddingLeft; + const int y = paddingTop+titleCopyrightVSpace; + QRect copyrightRect(x, y, pixmap.width() - x, pixmap.height() - y); + pixPaint.drawText(copyrightRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, copyrightText); + } // draw additional text if special network if(!titleAddText.isEmpty()) { diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index 180cf56fe5..5af0c22996 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -3,6 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "utilitydialog.h" #include "ui_helpmessagedialog.h" @@ -34,7 +38,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) : { ui->setupUi(this); - QString version = tr("Dash Core") + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion()); + QString version = tr(PACKAGE_NAME) + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion()); /* On x86 add a bit specifier to the version so that users can distinguish between * 32 and 64 bit builds. On other architectures, 32/64 bit may be more ambigious. */ @@ -46,7 +50,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) : if (helpMode == about) { - setWindowTitle(tr("About Dash Core")); + setWindowTitle(tr("About %1").arg(tr(PACKAGE_NAME))); /// HTML-format the license message from the core QString licenseInfo = QString::fromStdString(LicenseInfo()); @@ -57,7 +61,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) : uri.setMinimal(true); // use non-greedy matching licenseInfoHTML.replace(uri, "
\\1"); // Replace newlines with HTML breaks - licenseInfoHTML.replace("\n\n", "

"); + licenseInfoHTML.replace("\n", "
"); ui->aboutMessage->setTextFormat(Qt::RichText); ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); @@ -203,7 +207,7 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f): { QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(new QLabel( - tr("Dash Core is shutting down...") + "

" + + tr("%1 is shutting down...").arg(tr(PACKAGE_NAME)) + "

" + tr("Do not shut down the computer until this window disappears."))); setLayout(layout); } diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index 5ac9b6928a..ac8e51a1d5 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -404,12 +404,27 @@ BOOST_AUTO_TEST_CASE(test_FormatParagraph) { BOOST_CHECK_EQUAL(FormatParagraph("", 79, 0), ""); BOOST_CHECK_EQUAL(FormatParagraph("test", 79, 0), "test"); - BOOST_CHECK_EQUAL(FormatParagraph(" test", 79, 0), "test"); + BOOST_CHECK_EQUAL(FormatParagraph(" test", 79, 0), " test"); BOOST_CHECK_EQUAL(FormatParagraph("test test", 79, 0), "test test"); BOOST_CHECK_EQUAL(FormatParagraph("test test", 4, 0), "test\ntest"); - BOOST_CHECK_EQUAL(FormatParagraph("testerde test ", 4, 0), "testerde\ntest"); + BOOST_CHECK_EQUAL(FormatParagraph("testerde test", 4, 0), "testerde\ntest"); BOOST_CHECK_EQUAL(FormatParagraph("test test", 4, 4), "test\n test"); - BOOST_CHECK_EQUAL(FormatParagraph("This is a very long test string. This is a second sentence in the very long test string."), "This is a very long test string. This is a second sentence in the very long\ntest string."); + + // Make sure we don't indent a fully-new line following a too-long line ending + BOOST_CHECK_EQUAL(FormatParagraph("test test\nabc", 4, 4), "test\n test\nabc"); + + BOOST_CHECK_EQUAL(FormatParagraph("This_is_a_very_long_test_string_without_any_spaces_so_it_should_just_get_returned_as_is_despite_the_length until it gets here", 79), "This_is_a_very_long_test_string_without_any_spaces_so_it_should_just_get_returned_as_is_despite_the_length\nuntil it gets here"); + + // Test wrap length is exact + BOOST_CHECK_EQUAL(FormatParagraph("a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de f g h i j k l m n o p", 79), "a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de\nf g h i j k l m n o p"); + BOOST_CHECK_EQUAL(FormatParagraph("x\na b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de f g h i j k l m n o p", 79), "x\na b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de\nf g h i j k l m n o p"); + // Indent should be included in length of lines + BOOST_CHECK_EQUAL(FormatParagraph("x\na b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 a b c d e fg h i j k", 79, 4), "x\na b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 a b c de\n f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 a b c d e fg\n h i j k"); + + BOOST_CHECK_EQUAL(FormatParagraph("This is a very long test string. This is a second sentence in the very long test string.", 79), "This is a very long test string. This is a second sentence in the very long\ntest string."); + BOOST_CHECK_EQUAL(FormatParagraph("This is a very long test string.\nThis is a second sentence in the very long test string. This is a third sentence in the very long test string.", 79), "This is a very long test string.\nThis is a second sentence in the very long test string. This is a third\nsentence in the very long test string."); + BOOST_CHECK_EQUAL(FormatParagraph("This is a very long test string.\n\nThis is a second sentence in the very long test string. This is a third sentence in the very long test string.", 79), "This is a very long test string.\n\nThis is a second sentence in the very long test string. This is a third\nsentence in the very long test string."); + BOOST_CHECK_EQUAL(FormatParagraph("Testing that normal newlines do not get indented.\nLike here.", 79), "Testing that normal newlines do not get indented.\nLike here."); } BOOST_AUTO_TEST_CASE(test_FormatSubVersion) diff --git a/src/timedata.cpp b/src/timedata.cpp index d0619d4f4d..172c940e5b 100644 --- a/src/timedata.cpp +++ b/src/timedata.cpp @@ -2,6 +2,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include "config/dash-config.h" +#endif + #include "timedata.h" #include "netaddress.h" @@ -99,7 +103,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample) if (!fMatch) { fDone = true; - string strMessage = _("Please check that your computer's date and time are correct! If your clock is wrong Dash Core will not work properly."); + string strMessage = strprintf(_("Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly."), _(PACKAGE_NAME)); strMiscWarning = strMessage; uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_WARNING); } diff --git a/src/util.cpp b/src/util.cpp index 9bd081b6cc..f833f1774a 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -954,6 +954,17 @@ int GetNumCores() #endif } +std::string CopyrightHolders(const std::string& strPrefix) +{ + std::string strCopyrightHolders = strPrefix + _(COPYRIGHT_HOLDERS); + if (strCopyrightHolders.find("%s") != strCopyrightHolders.npos) { + strCopyrightHolders = strprintf(strCopyrightHolders, _(COPYRIGHT_HOLDERS_SUBSTITUTION)); + } + if (strCopyrightHolders.find("Bitcoin Core developers") == strCopyrightHolders.npos) { + strCopyrightHolders += "\n" + strPrefix + "The Bitcoin Core developers"; + } + return strCopyrightHolders; +} uint32_t StringVersionToInt(const std::string& strVersion) { diff --git a/src/util.h b/src/util.h index dc9cc5f2b6..725349f004 100644 --- a/src/util.h +++ b/src/util.h @@ -271,6 +271,7 @@ template void TraceThread(const char* name, Callable func) } } +std::string CopyrightHolders(const std::string& strPrefix); /** * @brief Converts version strings to 4-byte unsigned integer diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp index bf304a935f..11f0250e32 100644 --- a/src/utilstrencodings.cpp +++ b/src/utilstrencodings.cpp @@ -478,34 +478,40 @@ bool ParseDouble(const std::string& str, double *out) std::string FormatParagraph(const std::string& in, size_t width, size_t indent) { std::stringstream out; - size_t col = 0; size_t ptr = 0; - while(ptr < in.size()) + size_t indented = 0; + while (ptr < in.size()) { - // Find beginning of next word - ptr = in.find_first_not_of(' ', ptr); - if (ptr == std::string::npos) - break; - // Find end of next word - size_t endword = in.find_first_of(' ', ptr); - if (endword == std::string::npos) - endword = in.size(); - // Add newline and indentation if this wraps over the allowed width - if (col > 0) - { - if ((col + endword - ptr) > width) - { - out << '\n'; - for(size_t i=0; i Date: Thu, 4 Feb 2016 14:38:58 +0100 Subject: [PATCH 36/58] Merge #7070: Move maxTxFee out of mempool fad6244 ATMP: make nAbsurdFee const (MarcoFalke) fa762d0 [wallet.h] Remove main.h include (MarcoFalke) fa79db2 Move maxTxFee out of mempool (MarcoFalke) --- src/rpc/rawtransaction.cpp | 8 ++++---- src/test/txvalidationcache_tests.cpp | 2 +- src/validation.cpp | 12 ++++++------ src/validation.h | 2 +- src/wallet/wallet.cpp | 8 ++++---- src/wallet/wallet.h | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index c3a1dba565..87ad929a7c 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -860,9 +860,9 @@ UniValue sendrawtransaction(const UniValue& params, bool fHelp) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed"); uint256 hashTx = tx.GetHash(); - bool fOverrideFees = false; - if (params.size() > 1) - fOverrideFees = params[1].get_bool(); + CAmount nMaxRawTxFee = maxTxFee; + if (params.size() > 1 && params[1].get_bool()) + nMaxRawTxFee = 0; bool fInstantSend = false; if (params.size() > 2) @@ -882,7 +882,7 @@ UniValue sendrawtransaction(const UniValue& params, bool fHelp) } CValidationState state; bool fMissingInputs; - if (!AcceptToMemoryPool(mempool, state, tx, false, &fMissingInputs, false, !fOverrideFees)) { + if (!AcceptToMemoryPool(mempool, state, tx, false, &fMissingInputs, false, nMaxRawTxFee)) { if (state.IsInvalid()) { throw JSONRPCError(RPC_TRANSACTION_REJECTED, strprintf("%i: %s", state.GetRejectCode(), state.GetRejectReason())); } else { diff --git a/src/test/txvalidationcache_tests.cpp b/src/test/txvalidationcache_tests.cpp index 62d960e303..36d4271b6b 100644 --- a/src/test/txvalidationcache_tests.cpp +++ b/src/test/txvalidationcache_tests.cpp @@ -23,7 +23,7 @@ ToMemPool(CMutableTransaction& tx) LOCK(cs_main); CValidationState state; - return AcceptToMemoryPool(mempool, state, tx, false, NULL, true, false); + return AcceptToMemoryPool(mempool, state, tx, false, NULL, true, 0); } BOOST_FIXTURE_TEST_CASE(tx_mempool_block_doublespend, TestChain100Setup) diff --git a/src/validation.cpp b/src/validation.cpp index ac77486de3..13585c9c09 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -552,8 +552,8 @@ std::string FormatStateMessage(const CValidationState &state) state.GetRejectCode()); } -bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const CTransaction &tx, bool fLimitFree, - bool* pfMissingInputs, bool fOverrideMempoolLimit, bool fRejectAbsurdFee, +bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState& state, const CTransaction& tx, bool fLimitFree, + bool* pfMissingInputs, bool fOverrideMempoolLimit, const CAmount nAbsurdFee, std::vector& coins_to_uncache, bool fDryRun) { const uint256 hash = tx.GetHash(); @@ -789,10 +789,10 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C dFreeCount += nSize; } - if (fRejectAbsurdFee && nFees > maxTxFee) + if (nAbsurdFee && nFees > nAbsurdFee) return state.Invalid(false, REJECT_HIGHFEE, "absurdly-high-fee", - strprintf("%d > %d", nFees, maxTxFee)); + strprintf("%d > %d", nFees, nAbsurdFee)); // Calculate in-mempool ancestors, up to a limit. CTxMemPool::setEntries setAncestors; @@ -1021,10 +1021,10 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C } bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransaction &tx, bool fLimitFree, - bool* pfMissingInputs, bool fOverrideMempoolLimit, bool fRejectAbsurdFee, bool fDryRun) + bool* pfMissingInputs, bool fOverrideMempoolLimit, const CAmount nAbsurdFee, bool fDryRun) { std::vector coins_to_uncache; - bool res = AcceptToMemoryPoolWorker(pool, state, tx, fLimitFree, pfMissingInputs, fOverrideMempoolLimit, fRejectAbsurdFee, coins_to_uncache, fDryRun); + bool res = AcceptToMemoryPoolWorker(pool, state, tx, fLimitFree, pfMissingInputs, fOverrideMempoolLimit, nAbsurdFee, coins_to_uncache, fDryRun); if (!res || fDryRun) { if(!res) LogPrint("mempool", "%s: %s %s\n", __func__, tx.GetHash().ToString(), state.GetRejectReason()); BOOST_FOREACH(const COutPoint& hashTx, coins_to_uncache) diff --git a/src/validation.h b/src/validation.h index d2e927030b..c111ca123c 100644 --- a/src/validation.h +++ b/src/validation.h @@ -308,7 +308,7 @@ void PruneAndFlush(); /** (try to) add transaction to memory pool **/ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransaction &tx, bool fLimitFree, - bool* pfMissingInputs, bool fOverrideMempoolLimit=false, bool fRejectAbsurdFee=false, bool fDryRun=false); + bool* pfMissingInputs, bool fOverrideMempoolLimit=false, const CAmount nAbsurdFee=0, bool fDryRun=false); bool GetUTXOCoin(const COutPoint& outpoint, Coin& coin); int GetUTXOHeight(const COutPoint& outpoint); diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index aee5dc22c6..dd5e3499f9 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1744,7 +1744,7 @@ void CWallet::ReacceptWalletTransactions() CWalletTx& wtx = *(item.second); LOCK(mempool.cs); - wtx.AcceptToMemoryPool(false); + wtx.AcceptToMemoryPool(false, maxTxFee); } } @@ -3542,7 +3542,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey, CCon if (fBroadcastTransactions) { // Broadcast - if (!wtxNew.AcceptToMemoryPool(false)) + if (!wtxNew.AcceptToMemoryPool(false, maxTxFee)) { // This must not fail. The transaction has already been signed and recorded. LogPrintf("CommitTransaction(): Error: Transaction not valid\n"); @@ -4432,8 +4432,8 @@ int CMerkleTx::GetBlocksToMaturity() const } -bool CMerkleTx::AcceptToMemoryPool(bool fLimitFree, bool fRejectAbsurdFee) +bool CMerkleTx::AcceptToMemoryPool(bool fLimitFree, CAmount nAbsurdFee) { CValidationState state; - return ::AcceptToMemoryPool(mempool, state, *this, fLimitFree, NULL, false, fRejectAbsurdFee); + return ::AcceptToMemoryPool(mempool, state, *this, fLimitFree, NULL, false, nAbsurdFee); } diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 06bec149c0..a7829c9fcc 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -247,8 +247,8 @@ public: int GetDepthInMainChain(bool enableIX = true) const { const CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet, enableIX); } bool IsInMainChain() const { const CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet) > 0; } int GetBlocksToMaturity() const; - /** Pass this transaction to the mempool. Fails if absolute fee exceeds maxTxFee. */ - bool AcceptToMemoryPool(bool fLimitFree=true, bool fRejectAbsurdFee=true); + /** Pass this transaction to the mempool. Fails if absolute fee exceeds absurd fee. */ + bool AcceptToMemoryPool(bool fLimitFree, const CAmount nAbsurdFee); bool hashUnset() const { return (hashBlock.IsNull() || hashBlock == ABANDON_HASH); } bool isAbandoned() const { return (hashBlock == ABANDON_HASH); } void setAbandoned() { hashBlock = ABANDON_HASH; } From 8874b2e0fdfa58a93a90e7bcd454978d6e3c8a8f Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 4 Feb 2016 17:02:57 +0100 Subject: [PATCH 37/58] Merge #6480: include the chaintip blockindex in the SyncTransaction signal, add signal UpdateTip() 7d0bf0b include the chaintip *blockIndex in the SyncTransaction signal (Jonas Schnelli) --- src/dsnotificationinterface.cpp | 2 +- src/dsnotificationinterface.h | 2 +- src/validation.cpp | 8 ++++---- src/validationinterface.cpp | 4 ++-- src/validationinterface.h | 5 +++-- src/wallet/wallet.cpp | 2 +- src/wallet/wallet.h | 2 +- src/zmq/zmqnotificationinterface.cpp | 2 +- src/zmq/zmqnotificationinterface.h | 2 +- 9 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/dsnotificationinterface.cpp b/src/dsnotificationinterface.cpp index 53f7c440f8..93f30fc27d 100644 --- a/src/dsnotificationinterface.cpp +++ b/src/dsnotificationinterface.cpp @@ -53,7 +53,7 @@ void CDSNotificationInterface::UpdatedBlockTip(const CBlockIndex *pindexNew, con governance.UpdatedBlockTip(pindexNew, connman); } -void CDSNotificationInterface::SyncTransaction(const CTransaction &tx, const CBlock *pblock) +void CDSNotificationInterface::SyncTransaction(const CTransaction &tx, const CBlockIndex *pindex, const CBlock *pblock) { instantsend.SyncTransaction(tx, pblock); CPrivateSend::SyncTransaction(tx, pblock); diff --git a/src/dsnotificationinterface.h b/src/dsnotificationinterface.h index 72e46afa58..8a2d62e412 100644 --- a/src/dsnotificationinterface.h +++ b/src/dsnotificationinterface.h @@ -21,7 +21,7 @@ protected: void AcceptedBlockHeader(const CBlockIndex *pindexNew) override; void NotifyHeaderTip(const CBlockIndex *pindexNew, bool fInitialDownload) override; void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) override; - void SyncTransaction(const CTransaction &tx, const CBlock *pblock) override; + void SyncTransaction(const CTransaction &tx, const CBlockIndex *pindex, const CBlock *pblock); private: CConnman& connman; diff --git a/src/validation.cpp b/src/validation.cpp index 13585c9c09..9b7684085c 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1015,7 +1015,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState& state, const C } if(!fDryRun) - GetMainSignals().SyncTransaction(tx, NULL); + GetMainSignals().SyncTransaction(tx, NULL, NULL); return true; } @@ -2524,7 +2524,7 @@ bool static DisconnectTip(CValidationState& state, const Consensus::Params& cons // Let wallets know transactions went from 1-confirmed to // 0-confirmed or conflicted: BOOST_FOREACH(const CTransaction &tx, block.vtx) { - GetMainSignals().SyncTransaction(tx, NULL); + GetMainSignals().SyncTransaction(tx, pindexDelete->pprev, NULL); } return true; } @@ -2582,11 +2582,11 @@ bool static ConnectTip(CValidationState& state, const CChainParams& chainparams, // Tell wallet about transactions that went from mempool // to conflicted: BOOST_FOREACH(const CTransaction &tx, txConflicted) { - GetMainSignals().SyncTransaction(tx, NULL); + GetMainSignals().SyncTransaction(tx, pindexNew, NULL); } // ... and about transactions that got confirmed: BOOST_FOREACH(const CTransaction &tx, pblock->vtx) { - GetMainSignals().SyncTransaction(tx, pblock); + GetMainSignals().SyncTransaction(tx, pindexNew, pblock); } int64_t nTime6 = GetTimeMicros(); nTimePostConnect += nTime6 - nTime5; nTimeTotal += nTime6 - nTime1; diff --git a/src/validationinterface.cpp b/src/validationinterface.cpp index 73c83b241a..7c97f2c5ba 100644 --- a/src/validationinterface.cpp +++ b/src/validationinterface.cpp @@ -16,7 +16,7 @@ void RegisterValidationInterface(CValidationInterface* pwalletIn) { g_signals.AcceptedBlockHeader.connect(boost::bind(&CValidationInterface::AcceptedBlockHeader, pwalletIn, _1)); g_signals.NotifyHeaderTip.connect(boost::bind(&CValidationInterface::NotifyHeaderTip, pwalletIn, _1, _2)); g_signals.UpdatedBlockTip.connect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1, _2, _3)); - g_signals.SyncTransaction.connect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2)); + g_signals.SyncTransaction.connect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2, _3)); g_signals.NotifyTransactionLock.connect(boost::bind(&CValidationInterface::NotifyTransactionLock, pwalletIn, _1)); g_signals.UpdatedTransaction.connect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1)); g_signals.SetBestChain.connect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1)); @@ -36,7 +36,7 @@ void UnregisterValidationInterface(CValidationInterface* pwalletIn) { g_signals.SetBestChain.disconnect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1)); g_signals.UpdatedTransaction.disconnect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1)); g_signals.NotifyTransactionLock.disconnect(boost::bind(&CValidationInterface::NotifyTransactionLock, pwalletIn, _1)); - g_signals.SyncTransaction.disconnect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2)); + g_signals.SyncTransaction.disconnect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2, _3)); g_signals.UpdatedBlockTip.disconnect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1, _2, _3)); g_signals.NotifyHeaderTip.disconnect(boost::bind(&CValidationInterface::NotifyHeaderTip, pwalletIn, _1, _2)); g_signals.AcceptedBlockHeader.disconnect(boost::bind(&CValidationInterface::AcceptedBlockHeader, pwalletIn, _1)); diff --git a/src/validationinterface.h b/src/validationinterface.h index 094eccf29d..5c15f80bbb 100644 --- a/src/validationinterface.h +++ b/src/validationinterface.h @@ -10,6 +10,7 @@ #include class CBlock; +class CBlockIndex; struct CBlockLocator; class CBlockIndex; class CConnman; @@ -33,7 +34,7 @@ protected: virtual void AcceptedBlockHeader(const CBlockIndex *pindexNew) {} virtual void NotifyHeaderTip(const CBlockIndex *pindexNew, bool fInitialDownload) {} virtual void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) {} - virtual void SyncTransaction(const CTransaction &tx, const CBlock *pblock) {} + virtual void SyncTransaction(const CTransaction &tx, const CBlockIndex *pindex, const CBlock *pblock) {} virtual void NotifyTransactionLock(const CTransaction &tx) {} virtual void SetBestChain(const CBlockLocator &locator) {} virtual bool UpdatedTransaction(const uint256 &hash) { return false;} @@ -55,7 +56,7 @@ struct CMainSignals { /** Notifies listeners of updated block chain tip */ boost::signals2::signal UpdatedBlockTip; /** Notifies listeners of updated transaction data (transaction, and optionally the block it is found in. */ - boost::signals2::signal SyncTransaction; + boost::signals2::signal SyncTransaction; /** Notifies listeners of an updated transaction lock without new data. */ boost::signals2::signal NotifyTransactionLock; /** Notifies listeners of an updated transaction without new data (for now: a coinbase potentially becoming visible). */ diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index dd5e3499f9..ddc843c49d 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1185,7 +1185,7 @@ void CWallet::MarkConflicted(const uint256& hashBlock, const uint256& hashTx) fAnonymizableTallyCachedNonDenom = false; } -void CWallet::SyncTransaction(const CTransaction& tx, const CBlock* pblock) +void CWallet::SyncTransaction(const CTransaction& tx, const CBlockIndex *pindex, const CBlock* pblock) { LOCK2(cs_main, cs_wallet); diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index a7829c9fcc..bf689b73be 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -850,7 +850,7 @@ public: void MarkDirty(); bool AddToWallet(const CWalletTx& wtxIn, bool fFromLoadWallet, CWalletDB* pwalletdb); - void SyncTransaction(const CTransaction& tx, const CBlock* pblock); + void SyncTransaction(const CTransaction& tx, const CBlockIndex *pindex, const CBlock* pblock); bool AddToWalletIfInvolvingMe(const CTransaction& tx, const CBlock* pblock, bool fUpdate); int ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate = false); void ReacceptWalletTransactions(); diff --git a/src/zmq/zmqnotificationinterface.cpp b/src/zmq/zmqnotificationinterface.cpp index 0dd7360b36..30f180ddac 100644 --- a/src/zmq/zmqnotificationinterface.cpp +++ b/src/zmq/zmqnotificationinterface.cpp @@ -146,7 +146,7 @@ void CZMQNotificationInterface::UpdatedBlockTip(const CBlockIndex *pindexNew, co } } -void CZMQNotificationInterface::SyncTransaction(const CTransaction &tx, const CBlock *pblock) +void CZMQNotificationInterface::SyncTransaction(const CTransaction& tx, const CBlockIndex* pindex, const CBlock* pblock) { for (std::list::iterator i = notifiers.begin(); i!=notifiers.end(); ) { diff --git a/src/zmq/zmqnotificationinterface.h b/src/zmq/zmqnotificationinterface.h index 424d7c30e0..264f34c591 100644 --- a/src/zmq/zmqnotificationinterface.h +++ b/src/zmq/zmqnotificationinterface.h @@ -24,7 +24,7 @@ protected: void Shutdown(); // CValidationInterface - void SyncTransaction(const CTransaction &tx, const CBlock *pblock); + void SyncTransaction(const CTransaction& tx, const CBlockIndex *pindex, const CBlock* pblock); void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload); void NotifyTransactionLock(const CTransaction &tx); From 7ec1e188740606c16a324ba1556316f2323d3e6e Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 5 Feb 2016 11:19:36 +0100 Subject: [PATCH 38/58] Merge #7459: Consensus: Decouple pow.o from util.o MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit f3757a0 Consensus: Decouple pow.cpp from util.h (Jorge Timón) --- src/pow.cpp | 12 ++---------- src/validation.cpp | 5 +++-- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/pow.cpp b/src/pow.cpp index 1626ad445f..17949f1f3e 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -10,7 +10,6 @@ #include "chainparams.h" #include "primitives/block.h" #include "uint256.h" -#include "util.h" #include @@ -191,7 +190,6 @@ unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast, int64_t nF // Limit adjustment step int64_t nActualTimespan = pindexLast->GetBlockTime() - nFirstBlockTime; - LogPrintf(" nActualTimespan = %d before bounds\n", nActualTimespan); if (nActualTimespan < params.nPowTargetTimespan/4) nActualTimespan = params.nPowTargetTimespan/4; if (nActualTimespan > params.nPowTargetTimespan*4) @@ -209,12 +207,6 @@ unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast, int64_t nF if (bnNew > bnPowLimit) bnNew = bnPowLimit; - /// debug print - LogPrintf("GetNextWorkRequired RETARGET\n"); - LogPrintf("params.nPowTargetTimespan = %d nActualTimespan = %d\n", params.nPowTargetTimespan, nActualTimespan); - LogPrintf("Before: %08x %s\n", pindexLast->nBits, bnOld.ToString()); - LogPrintf("After: %08x %s\n", bnNew.GetCompact(), bnNew.ToString()); - return bnNew.GetCompact(); } @@ -228,11 +220,11 @@ bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params& // Check range if (fNegative || bnTarget == 0 || fOverflow || bnTarget > UintToArith256(params.powLimit)) - return error("CheckProofOfWork(): nBits below minimum work"); + return false; // Check proof of work matches claimed amount if (UintToArith256(hash) > bnTarget) - return error("CheckProofOfWork(): hash doesn't match nBits"); + return false; return true; } diff --git a/src/validation.cpp b/src/validation.cpp index 9b7684085c..c60332248c 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -2431,8 +2431,9 @@ void static UpdateTip(CBlockIndex *pindexNew) { // New best block mempool.AddTransactionsUpdated(1); - LogPrintf("%s: new best=%s height=%d log2_work=%.8g tx=%lu date=%s progress=%f cache=%.1fMiB(%utxo)\n", __func__, - chainActive.Tip()->GetBlockHash().ToString(), chainActive.Height(), log(chainActive.Tip()->nChainWork.getdouble())/log(2.0), (unsigned long)chainActive.Tip()->nChainTx, + LogPrintf("%s: new best=%s height=%d bits=%d log2_work=%.8g tx=%lu date=%s progress=%f cache=%.1fMiB(%utxo)\n", __func__, + chainActive.Tip()->GetBlockHash().ToString(), chainActive.Height(), chainActive.Tip()->nBits, + log(chainActive.Tip()->nChainWork.getdouble())/log(2.0), (unsigned long)chainActive.Tip()->nChainTx, DateTimeStrFormat("%Y-%m-%d %H:%M:%S", chainActive.Tip()->GetBlockTime()), Checkpoints::GuessVerificationProgress(chainParams.Checkpoints(), chainActive.Tip()), pcoinsTip->DynamicMemoryUsage() * (1.0 / (1<<20)), pcoinsTip->GetCacheSize()); From de91ef95f08b37e1f508475d3c7b42b1848dcd8a Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 10 Feb 2016 12:30:24 +0100 Subject: [PATCH 39/58] Merge #7490: tests: Remove May15 test acf5983 tests: Remove May15 test (Wladimir J. van der Laan) --- src/Makefile.test.include | 1 - src/test/checkblock_tests.cpp | 66 ----------------------------------- 2 files changed, 67 deletions(-) delete mode 100644 src/test/checkblock_tests.cpp diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 76431558ed..f798c981c2 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -48,7 +48,6 @@ BITCOIN_TESTS =\ test/bswap_tests.cpp \ test/cachemap_tests.cpp \ test/cachemultimap_tests.cpp \ - test/checkblock_tests.cpp \ test/coins_tests.cpp \ test/compress_tests.cpp \ test/crypto_tests.cpp \ diff --git a/src/test/checkblock_tests.cpp b/src/test/checkblock_tests.cpp deleted file mode 100644 index 1f0f907074..0000000000 --- a/src/test/checkblock_tests.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2013-2015 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "clientversion.h" -#include "consensus/validation.h" -#include "validation.h" // For CheckBlock -#include "primitives/block.h" -#include "test/test_dash.h" -#include "utiltime.h" - -#include - -#include -#include -#include - - -BOOST_FIXTURE_TEST_SUITE(CheckBlock_tests, BasicTestingSetup) - -bool read_block(const std::string& filename, CBlock& block) -{ - namespace fs = boost::filesystem; - fs::path testFile = fs::current_path() / "data" / filename; -#ifdef TEST_DATA_DIR - if (!fs::exists(testFile)) - { - testFile = fs::path(BOOST_PP_STRINGIZE(TEST_DATA_DIR)) / filename; - } -#endif - FILE* fp = fopen(testFile.string().c_str(), "rb"); - if (!fp) return false; - - fseek(fp, 8, SEEK_SET); // skip msgheader/size - - CAutoFile filein(fp, SER_DISK, CLIENT_VERSION); - if (filein.IsNull()) return false; - - filein >> block; - - return true; -} - -BOOST_AUTO_TEST_CASE(May15) -{ - // Putting a 1MB binary file in the git repository is not a great - // idea, so this test is only run if you manually download - // test/data/Mar12Fork.dat from - // http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/Mar12Fork.dat/download - unsigned int tMay15 = 1368576000; - SetMockTime(tMay15); // Test as if it was right at May 15 - - CBlock forkingBlock; - if (read_block("Mar12Fork.dat", forkingBlock)) - { - CValidationState state; - - // After May 15'th, big blocks are OK: - forkingBlock.nTime = tMay15; // Invalidates PoW - BOOST_CHECK(CheckBlock(forkingBlock, state, false, false)); - } - - SetMockTime(0); -} - -BOOST_AUTO_TEST_SUITE_END() From 529e8ad63bcce57ad4c934ec9dceca09d7edd22b Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 15 Feb 2016 12:53:33 +0100 Subject: [PATCH 40/58] Merge #7528: autogen.sh: warn about needing autoconf if autoreconf is not found MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 889426d autogen.sh: warn about needing autoconf if autoreconf is not found (Andrés G. Aragoneses) --- autogen.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/autogen.sh b/autogen.sh index 3e26a18305..46e36ff5b2 100755 --- a/autogen.sh +++ b/autogen.sh @@ -6,4 +6,6 @@ if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then LIBTOOLIZE="${GLIBTOOLIZE}" export LIBTOOLIZE fi +which autoreconf >/dev/null || \ + (echo "configuration failed, please install autoconf first" && exit 1) autoreconf --install --force --warnings=all From cd7a2e2b5aaf558f983e1ba9c69c459788233df3 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 15 Feb 2016 17:18:35 +0100 Subject: [PATCH 41/58] Merge #7504: Crystal clean make clean MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ae6eca0 make clean should clean .a files (Pavel Janík) --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 63a25ac90a..d13c79b150 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -510,6 +510,7 @@ endif # CLEANFILES = leveldb/libleveldb.a leveldb/libmemenv.a +CLEANFILES += $(EXTRA_LIBRARIES) CLEANFILES += *.gcda *.gcno CLEANFILES += compat/*.gcda compat/*.gcno CLEANFILES += consensus/*.gcda consensus/*.gcno From ee5f8d21156f870267ef59d41538517104d9d5a3 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 16 Feb 2016 09:26:27 +0100 Subject: [PATCH 42/58] Merge #7536: test: test leading spaces for ParseHex f31b6b8 test: test leading space for ParseHex (Wladimir J. van der Laan) --- src/test/util_tests.cpp | 4 ++++ src/wallet/db.cpp | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index ac8e51a1d5..043ade7024 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -60,6 +60,10 @@ BOOST_AUTO_TEST_CASE(util_ParseHex) result = ParseHex("12 34 56 78"); BOOST_CHECK(result.size() == 4 && result[0] == 0x12 && result[1] == 0x34 && result[2] == 0x56 && result[3] == 0x78); + // Leading space must be supported (used in CDBEnv::Salvage) + result = ParseHex(" 89 34 56 78"); + BOOST_CHECK(result.size() == 4 && result[0] == 0x89 && result[1] == 0x34 && result[2] == 0x56 && result[3] == 0x78); + // Stop parsing at invalid value result = ParseHex("1234 invalid 1234"); BOOST_CHECK(result.size() == 2 && result[0] == 0x12 && result[1] == 0x34); diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index 261611cd9d..ca0c6fabf1 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -193,9 +193,9 @@ bool CDBEnv::Salvage(const std::string& strFile, bool fAggressive, std::vector Date: Tue, 16 Feb 2016 09:47:45 +0100 Subject: [PATCH 43/58] Merge #7509: Common argument defaults for NODE_BLOOM stuff and -wallet 1fb91b3 Common argument defaults for NODE_BLOOM stuff and -wallet (Luke Dashjr) --- src/init.cpp | 12 +++++++----- src/net_processing.cpp | 2 +- src/validation.h | 3 +++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index b5761388dc..9797943fe6 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -102,6 +102,8 @@ static const bool DEFAULT_REST_ENABLE = false; static const bool DEFAULT_DISABLE_SAFEMODE = false; static const bool DEFAULT_STOPAFTERBLOCKIMPORT = false; +static const char * const DEFAULT_WALLET_DAT = "wallet.dat"; + std::unique_ptr g_connman; std::unique_ptr peerLogic; @@ -448,9 +450,9 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-onion=", strprintf(_("Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)"), "-proxy")); strUsage += HelpMessageOpt("-onlynet=", _("Only connect to nodes in network (ipv4, ipv6 or onion)")); strUsage += HelpMessageOpt("-permitbaremultisig", strprintf(_("Relay non-P2SH multisig (default: %u)"), DEFAULT_PERMIT_BAREMULTISIG)); - strUsage += HelpMessageOpt("-peerbloomfilters", strprintf(_("Support filtering of blocks and transaction with bloom filters (default: %u)"), 1)); + strUsage += HelpMessageOpt("-peerbloomfilters", strprintf(_("Support filtering of blocks and transaction with bloom filters (default: %u)"), DEFAULT_PEERBLOOMFILTERS)); if (showDebug) - strUsage += HelpMessageOpt("-enforcenodebloom", strprintf("Enforce minimum protocol version to limit use of bloom filters (default: %u)", 0)); + strUsage += HelpMessageOpt("-enforcenodebloom", strprintf("Enforce minimum protocol version to limit use of bloom filters (default: %u)", DEFAULT_ENFORCENODEBLOOM)); strUsage += HelpMessageOpt("-port=", strprintf(_("Listen for connections on (default: %u or testnet: %u)"), Params(CBaseChainParams::MAIN).GetDefaultPort(), Params(CBaseChainParams::TESTNET).GetDefaultPort())); strUsage += HelpMessageOpt("-proxy=", _("Connect through SOCKS5 proxy")); strUsage += HelpMessageOpt("-proxyrandomize", strprintf(_("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)"), DEFAULT_PROXYRANDOMIZE)); @@ -492,7 +494,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-mnemonicpassphrase", _("User defined mnemonic passphrase for HD wallet (bip39). Only has effect during wallet creation/first start (default: empty string)")); strUsage += HelpMessageOpt("-hdseed", _("User defined seed for HD wallet (should be in hex). Only has effect during wallet creation/first start (default: randomly generated)")); strUsage += HelpMessageOpt("-upgradewallet", _("Upgrade wallet to latest format on startup")); - strUsage += HelpMessageOpt("-wallet=", _("Specify wallet file (within data directory)") + " " + strprintf(_("(default: %s)"), "wallet.dat")); + strUsage += HelpMessageOpt("-wallet=", _("Specify wallet file (within data directory)") + " " + strprintf(_("(default: %s)"), DEFAULT_WALLET_DAT)); strUsage += HelpMessageOpt("-walletbroadcast", _("Make the wallet broadcast transactions") + " " + strprintf(_("(default: %u)"), DEFAULT_WALLETBROADCAST)); strUsage += HelpMessageOpt("-walletnotify=", _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)")); strUsage += HelpMessageOpt("-zapwallettxes=", _("Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup") + @@ -1191,7 +1193,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) bSpendZeroConfChange = GetBoolArg("-spendzeroconfchange", DEFAULT_SPEND_ZEROCONF_CHANGE); fSendFreeTransactions = GetBoolArg("-sendfreetransactions", DEFAULT_SEND_FREE_TRANSACTIONS); - std::string strWalletFile = GetArg("-wallet", "wallet.dat"); + std::string strWalletFile = GetArg("-wallet", DEFAULT_WALLET_DAT); #endif // ENABLE_WALLET fIsBareMultisigStd = GetBoolArg("-permitbaremultisig", DEFAULT_PERMIT_BAREMULTISIG); @@ -1206,7 +1208,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) ServiceFlags nLocalServices = NODE_NETWORK; ServiceFlags nRelevantServices = NODE_NETWORK; - if (GetBoolArg("-peerbloomfilters", true)) + if (GetBoolArg("-peerbloomfilters", DEFAULT_PEERBLOOMFILTERS)) nLocalServices = ServiceFlags(nLocalServices | NODE_BLOOM); nMaxTipAge = GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE); diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 52274e286b..d548a8e164 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -1096,7 +1096,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, LOCK(cs_main); Misbehaving(pfrom->GetId(), 100); return false; - } else if (GetBoolArg("-enforcenodebloom", false)) { + } else if (GetBoolArg("-enforcenodebloom", DEFAULT_ENFORCENODEBLOOM)) { pfrom->fDisconnect = true; return false; } diff --git a/src/validation.h b/src/validation.h index c111ca123c..213b59d392 100644 --- a/src/validation.h +++ b/src/validation.h @@ -136,6 +136,9 @@ static const bool DEFAULT_ENABLE_REPLACEMENT = false; /** Maximum number of headers to announce when relaying blocks with headers message.*/ static const unsigned int MAX_BLOCKS_TO_ANNOUNCE = 8; +static const bool DEFAULT_PEERBLOOMFILTERS = true; +static const bool DEFAULT_ENFORCENODEBLOOM = false; + struct BlockHasher { size_t operator()(const uint256& hash) const { return hash.GetCheapHash(); } From 6a121275d1f06c518d08226c3f251b73306ce559 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 24 Feb 2016 11:34:16 +0100 Subject: [PATCH 44/58] Merge #7583: [doc] Fix typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 6e4dfa1 [doc] Fix typos (Cédric Félizard) --- doc/build-unix.md | 2 +- doc/travis-ci.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 764787fc51..912287bcb8 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -7,7 +7,7 @@ Some notes on how to build Dash Core in Unix. Note --------------------- Always use absolute paths to configure and compile Dash Core and the dependencies, -for example, when specifying the the path of the dependency: +for example, when specifying the path of the dependency: ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX diff --git a/doc/travis-ci.txt b/doc/travis-ci.txt index 786a39684f..58defdeb40 100644 --- a/doc/travis-ci.txt +++ b/doc/travis-ci.txt @@ -27,7 +27,7 @@ In order to avoid rebuilding all dependencies for each build, the binaries are cached and re-used when possible. Changes in the dependency-generator will trigger cache-invalidation and rebuilds as necessary. -These caches can be manually removed if necessary. This is one of the the very few +These caches can be manually removed if necessary. This is one of the very few manual operations that is possible with Travis, and it can be done by the Dash Core committer via the Travis web interface. From 984dc5271fe8f9509ec4ed28720c4660ca4d4363 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 29 Feb 2016 08:57:42 +0100 Subject: [PATCH 45/58] Merge #7619: Add missing sudo entry in gitian VM setup. f41927e Add missing sudo entry in gitian VM setup. (BtcDrak) --- doc/gitian-building.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/gitian-building.md b/doc/gitian-building.md index 4f8f4dae02..02640808fe 100644 --- a/doc/gitian-building.md +++ b/doc/gitian-building.md @@ -262,6 +262,7 @@ Then set up LXC and the rest with the following, which is a complex jumble of se # the version of lxc-start in Debian needs to run as root, so make sure # that the build script can execute it without providing a password echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc +echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-execute" >> /etc/sudoers.d/gitian-lxc # make /etc/rc.local script that sets up bridge between guest and host echo '#!/bin/sh -e' > /etc/rc.local echo 'brctl addbr br0' >> /etc/rc.local From a890c7616fcf1a846622623ea1318d3126df5e6c Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 29 Feb 2016 09:30:14 +0100 Subject: [PATCH 46/58] Merge #7612: [doc] Typo fix ff2be40 [doc] Typo fix (Alfie John) --- doc/build-unix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 912287bcb8..253476aae3 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -11,7 +11,7 @@ for example, when specifying the path of the dependency: ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX -Here BDB_PREFIX must absolute path - it is defined using $(pwd) which ensures +Here BDB_PREFIX must be an absolute path - it is defined using $(pwd) which ensures the usage of the absolute path. To Build From f0300c6c5fad17ace733d90516cb9d76b44cd7bc Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 29 Feb 2016 09:51:17 +0100 Subject: [PATCH 47/58] Merge #7606: [depends] builders: No need to set -L and --location for curl fa7a5c5 [depends] builders: No need to set -L and --location for curl (MarcoFalke) --- depends/builders/darwin.mk | 2 +- depends/builders/linux.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk index cedbddc578..200d6ed22a 100644 --- a/depends/builders/darwin.mk +++ b/depends/builders/darwin.mk @@ -7,7 +7,7 @@ build_darwin_OTOOL: = $(shell xcrun -f otool) build_darwin_NM: = $(shell xcrun -f nm) build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) build_darwin_SHA256SUM = shasum -a 256 -build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o +build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o #darwin host on darwin builder. overrides darwin host preferences. darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk index d6a304e4b4..b03f424010 100644 --- a/depends/builders/linux.mk +++ b/depends/builders/linux.mk @@ -1,2 +1,2 @@ build_linux_SHA256SUM = sha256sum -build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o +build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o From 5390a1a0a9cf956107c626a6d02cbb333c519b44 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 29 Feb 2016 09:52:27 +0100 Subject: [PATCH 48/58] Merge #7590: Improving wording related to Boost library requirements [updated] 8c5a5fb Improving wording related to Boost library requirements [updated] (Jonathan Cross) --- doc/build-unix.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 253476aae3..8389f227a0 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -67,15 +67,17 @@ Build requirements: sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils -On at least Ubuntu 14.04+ and Debian 7+ there are generic names for the +Options when installing required Boost library files: + +1. On at least Ubuntu 14.04+ and Debian 7+ there are generic names for the individual boost development packages, so the following can be used to only install necessary parts of boost: - sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev + sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev -If that doesn't work, you can install all boost development packages with: +2. If that doesn't work, you can install all boost development packages with: - sudo apt-get install libboost-all-dev + sudo apt-get install libboost-all-dev BerkeleyDB is required for the wallet. db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). You can add the repository and install using the following commands: From 74eda875917647805614559b5985778a3989f508 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 29 Feb 2016 10:04:26 +0100 Subject: [PATCH 49/58] Merge #7537: wallet: Warn on unexpected EOF while salvaging wallet ca8fb59 wallet: Warn on unexpected EOF while salvaging wallet (Wladimir J. van der Laan) --- src/wallet/db.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index ca0c6fabf1..16e799e096 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -165,6 +165,11 @@ CDBEnv::VerifyResult CDBEnv::Verify(const std::string& strFile, bool (*recoverFu return (fRecovered ? RECOVER_OK : RECOVER_FAIL); } +/* End of headers, beginning of key/value data */ +static const char *HEADER_END = "HEADER=END"; +/* End of key/value data */ +static const char *DATA_END = "DATA=END"; + bool CDBEnv::Salvage(const std::string& strFile, bool fAggressive, std::vector& vResult) { LOCK(cs_db); @@ -199,18 +204,29 @@ bool CDBEnv::Salvage(const std::string& strFile, bool fAggressive, std::vector Date: Tue, 1 Mar 2016 17:24:17 +0100 Subject: [PATCH 50/58] Merge #7616: [depends] Delete unused patches fafe446 [depends] Delete unused patches (MarcoFalke) --- .../patches/boost/darwin_boost_atomic-1.patch | 35 ------------ .../patches/boost/darwin_boost_atomic-2.patch | 55 ------------------- depends/patches/boost/gcc_5_no_cxx11.patch | 37 ------------- 3 files changed, 127 deletions(-) delete mode 100644 depends/patches/boost/darwin_boost_atomic-1.patch delete mode 100644 depends/patches/boost/darwin_boost_atomic-2.patch delete mode 100644 depends/patches/boost/gcc_5_no_cxx11.patch diff --git a/depends/patches/boost/darwin_boost_atomic-1.patch b/depends/patches/boost/darwin_boost_atomic-1.patch deleted file mode 100644 index 97f59cb7e4..0000000000 --- a/depends/patches/boost/darwin_boost_atomic-1.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp -index 906c13e..dcb4d7d 100644 ---- a/include/boost/atomic/detail/cas128strong.hpp -+++ b/include/boost/atomic/detail/cas128strong.hpp -@@ -196,15 +196,17 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void - store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type value_s = 0; -+ storage_type value_s; -+ memset(&value_s, 0, sizeof(value_s)); - memcpy(&value_s, &value, sizeof(value_type)); - platform_fence_before_store(order); - platform_store128(value_s, &v_); -@@ -247,7 +249,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - diff --git a/depends/patches/boost/darwin_boost_atomic-2.patch b/depends/patches/boost/darwin_boost_atomic-2.patch deleted file mode 100644 index ca50765200..0000000000 --- a/depends/patches/boost/darwin_boost_atomic-2.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp -index a130590..4af99a1 100644 ---- a/include/boost/atomic/detail/gcc-atomic.hpp -+++ b/include/boost/atomic/detail/gcc-atomic.hpp -@@ -958,14 +958,16 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - } -@@ -980,7 +982,8 @@ class base_atomic - - value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - value_type res; -@@ -994,7 +997,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, -@@ -1010,7 +1015,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, diff --git a/depends/patches/boost/gcc_5_no_cxx11.patch b/depends/patches/boost/gcc_5_no_cxx11.patch deleted file mode 100644 index 04514c593a..0000000000 --- a/depends/patches/boost/gcc_5_no_cxx11.patch +++ /dev/null @@ -1,37 +0,0 @@ -From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001 -From: jzmaddock -Date: Sat, 23 Aug 2014 09:38:02 +0100 -Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the - feature was introduced in GCC 4.4. - ---- - include/boost/config/compiler/gcc.hpp | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp -index f37159d..97d8a18 100644 ---- a/include/boost/config/compiler/gcc.hpp -+++ b/include/boost/config/compiler/gcc.hpp -@@ -154,14 +154,6 @@ - # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS - # define BOOST_NO_CXX11_RVALUE_REFERENCES - # define BOOST_NO_CXX11_STATIC_ASSERT -- --// Variadic templates compiler: --// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html --# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) --# define BOOST_HAS_VARIADIC_TMPL --# else --# define BOOST_NO_CXX11_VARIADIC_TEMPLATES --# endif - #endif - - // C++0x features in 4.4.n and later -@@ -176,6 +168,7 @@ - # define BOOST_NO_CXX11_DELETED_FUNCTIONS - # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES - # define BOOST_NO_CXX11_INLINE_NAMESPACES -+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES - #endif - - #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) From 266520ced1c53b83b230d1013ca2744322c6ce68 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 2 Mar 2016 15:04:14 +0100 Subject: [PATCH 51/58] Merge #7632: Delete outdated test-patches reference 2e23066 Delete outdated test-patches reference (lewuathe) --- contrib/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/contrib/README.md b/contrib/README.md index 7c3b2c13db..74e5128f0f 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -48,9 +48,5 @@ Test and Verify Tools ### [TestGen](/contrib/testgen) ### Utilities to generate test vectors for the data-driven Dash tests. -### [Test Patches](/contrib/test-patches) ### -These patches are applied when the automated pull-tester -tests each pull and when master is tested using jenkins. - ### [Verify SF Binaries](/contrib/verifysfbinaries) ### This script attempts to download and verify the signature file SHA256SUMS.asc from SourceForge. From 07338feaee032735c34ca2d195a95079bf01bc48 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 3 Mar 2016 12:56:42 +0100 Subject: [PATCH 52/58] Merge #7620: [travis] Only run check-doc.py once fa1b80d [travis] Only run check-doc.py once (MarcoFalke) --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d0de765933..32fd888a83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,7 @@ env: global: - MAKEJOBS=-j5 - RUN_TESTS=false + - CHECK_DOC=0 - BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID - CCACHE_SIZE=400M - CCACHE_TEMPDIR=/tmp/.ccache-temp @@ -74,10 +75,10 @@ script: - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST - BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib" - depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE + - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh - ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - make distdir PACKAGE=dash VERSION=$HOST - - if [ "$RUN_TESTS" = "true" ]; then contrib/devtools/check-doc.py; fi - cd dash-$HOST - ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false ) From 48eddeea2983d904fd0b24de9039b026151a47dc Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 3 Mar 2016 16:26:45 +0100 Subject: [PATCH 53/58] Merge #7455: [travis] Exit early when check-doc.py fails fa5f193 [travis] Exit early when check-doc.py fails (MarcoFalke) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 32fd888a83..eb32a18938 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,6 +66,7 @@ install: before_script: - unset CC; unset CXX - unset DISPLAY + - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi - mkdir -p depends/SDKs depends/sdk-sources - if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi @@ -75,7 +76,6 @@ script: - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST - BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib" - depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE - - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh - ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - make distdir PACKAGE=dash VERSION=$HOST From 02785c8585b5f5d8ca44991f681005386a9ff7c7 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Sat, 9 Dec 2017 18:53:53 +0100 Subject: [PATCH 54/58] Disable check-doc.py for now until all backported PRs are merged and docs fixed --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index eb32a18938..3545ec1a34 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,7 +66,7 @@ install: before_script: - unset CC; unset CXX - unset DISPLAY - - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi + #- if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi TODO reenable after all Bitcoin PRs have been merged and docs fully fixed - mkdir -p depends/SDKs depends/sdk-sources - if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi From 51ca0d5b47608b5049b42e704d6c5b6a9a2a8e5e Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Sat, 9 Dec 2017 20:07:49 +0100 Subject: [PATCH 55/58] Move privatesend to rpcwallet.cpp as well after Bitcoin #7307 was backported Allows to compile with no wallet again. --- src/rpc/server.cpp | 1 - src/wallet/rpcwallet.cpp | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp index 2065856615..85c80b1bd9 100644 --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -348,7 +348,6 @@ static const CRPCCommand vRPCCommands[] = { "dash", "spork", &spork, true }, { "dash", "getpoolinfo", &getpoolinfo, true }, { "dash", "sentinelping", &sentinelping, true }, - { "dash", "privatesend", &privatesend, false }, }; CRPCTable::CRPCTable() diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 8b2153cd98..6c3a9aaa12 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -2778,6 +2778,8 @@ const CRPCCommand vWalletRPCCommands[] = { "wallet", "instantsendtoaddress", &instantsendtoaddress, false }, { "wallet", "dumphdinfo", &dumphdinfo, true }, { "wallet", "importelectrumwallet", &importelectrumwallet, true }, + + { "dash", "privatesend", &privatesend, false }, }; void walletRegisterRPCCommands() From 4e0bb527d026eb4f24d2703223dd84a42d4b703f Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 20 Jul 2016 09:09:26 +0200 Subject: [PATCH 56/58] Merge #8373: Fix OSX non-deterministic dmg 3b3ce25 build: fix non-deterministic biplist (Cory Fields) --- depends/packages/native_biplist.mk | 5 ++++ .../patches/native_biplist/sorted_list.patch | 29 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 depends/patches/native_biplist/sorted_list.patch diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk index eb8672d556..3c6e8900f6 100644 --- a/depends/packages/native_biplist.mk +++ b/depends/packages/native_biplist.mk @@ -4,6 +4,11 @@ $(package)_download_path=https://pypi.python.org/packages/source/b/biplist $(package)_file_name=biplist-$($(package)_version).tar.gz $(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604 $(package)_install_libdir=$(build_prefix)/lib/python/dist-packages +$(package)_patches=sorted_list.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/sorted_list.patch +endef define $(package)_build_cmds python setup.py build diff --git a/depends/patches/native_biplist/sorted_list.patch b/depends/patches/native_biplist/sorted_list.patch new file mode 100644 index 0000000000..89abdb1b71 --- /dev/null +++ b/depends/patches/native_biplist/sorted_list.patch @@ -0,0 +1,29 @@ +--- a/biplist/__init__.py 2014-10-26 19:03:11.000000000 +0000 ++++ b/biplist/__init__.py 2016-07-19 19:30:17.663521999 +0000 +@@ -541,7 +541,7 @@ + return HashableWrapper(n) + elif isinstance(root, dict): + n = {} +- for key, value in iteritems(root): ++ for key, value in sorted(iteritems(root)): + n[self.wrapRoot(key)] = self.wrapRoot(value) + return HashableWrapper(n) + elif isinstance(root, list): +@@ -616,7 +616,7 @@ + elif isinstance(obj, dict): + size = proc_size(len(obj)) + self.incrementByteCount('dictBytes', incr=1+size) +- for key, value in iteritems(obj): ++ for key, value in sorted(iteritems(obj)): + check_key(key) + self.computeOffsets(key, asReference=True) + self.computeOffsets(value, asReference=True) +@@ -714,7 +714,7 @@ + keys = [] + values = [] + objectsToWrite = [] +- for key, value in iteritems(obj): ++ for key, value in sorted(iteritems(obj)): + keys.append(key) + values.append(value) + for key in keys: From af5aece96b4123ceb2af1cd6967cc0e014e8ea1b Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 11 Dec 2017 17:20:11 +0300 Subject: [PATCH 57/58] make CopyrightHolders more generic --- src/init.cpp | 2 +- src/qt/splashscreen.cpp | 2 +- src/util.cpp | 6 +++--- src/util.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 9797943fe6..2ac4e99a99 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -643,7 +643,7 @@ std::string HelpMessage(HelpMessageMode mode) std::string LicenseInfo() { // todo: remove urls from translations on next change - return CopyrightHolders(strprintf(_("Copyright (C) %i-%i"), 2009, COPYRIGHT_YEAR) + " ") + "\n" + + return CopyrightHolders(_("Copyright (C)"), 2014, COPYRIGHT_YEAR) + "\n" + "\n" + _("This is experimental software.") + "\n" + "\n" + diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index f28c461f71..24ccbcca8b 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -48,7 +48,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) // define text to place QString titleText = tr(PACKAGE_NAME); QString versionText = QString(tr("Version %1")).arg(QString::fromStdString(FormatFullVersion())); - QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str()); + QString copyrightText = QString::fromUtf8(CopyrightHolders("\xc2\xA9", 2014, COPYRIGHT_YEAR).c_str()); QString titleAddText = networkStyle->getTitleAddText(); // networkstyle.cpp can't (yet) read themes, so we do it here to get the correct Splash-screen QString splashScreenPath = ":/images/" + GUIUtil::getThemeName() + "/splash"; diff --git a/src/util.cpp b/src/util.cpp index f833f1774a..37d3f99acb 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -954,14 +954,14 @@ int GetNumCores() #endif } -std::string CopyrightHolders(const std::string& strPrefix) +std::string CopyrightHolders(const std::string& strPrefix, unsigned int nStartYear, unsigned int nEndYear) { - std::string strCopyrightHolders = strPrefix + _(COPYRIGHT_HOLDERS); + std::string strCopyrightHolders = strPrefix + strprintf(" %u-%u ", nStartYear, nEndYear) + _(COPYRIGHT_HOLDERS); if (strCopyrightHolders.find("%s") != strCopyrightHolders.npos) { strCopyrightHolders = strprintf(strCopyrightHolders, _(COPYRIGHT_HOLDERS_SUBSTITUTION)); } if (strCopyrightHolders.find("Bitcoin Core developers") == strCopyrightHolders.npos) { - strCopyrightHolders += "\n" + strPrefix + "The Bitcoin Core developers"; + strCopyrightHolders += "\n" + strPrefix + strprintf(" %u-%u ", 2009, nEndYear) + "The Bitcoin Core developers"; } return strCopyrightHolders; } diff --git a/src/util.h b/src/util.h index 725349f004..f1491623ea 100644 --- a/src/util.h +++ b/src/util.h @@ -271,7 +271,7 @@ template void TraceThread(const char* name, Callable func) } } -std::string CopyrightHolders(const std::string& strPrefix); +std::string CopyrightHolders(const std::string& strPrefix, unsigned int nStartYear, unsigned int nEndYear); /** * @brief Converts version strings to 4-byte unsigned integer From d6a0de72ad2ff873cd4ceef55b7d81be3bdf847c Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 11 Dec 2017 17:20:29 +0300 Subject: [PATCH 58/58] fix splashscreen (shrink titleCopyrightVSpace) --- src/qt/splashscreen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index 24ccbcca8b..d18c2b2dc5 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -41,7 +41,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) int paddingLeft = 14; int paddingTop = 470; int titleVersionVSpace = 17; - int titleCopyrightVSpace = 32; + int titleCopyrightVSpace = 22; float fontFactor = 1.0;