diff --git a/change/react-native-windows-2019-10-23-14-41-41-clang120.json b/change/react-native-windows-2019-10-23-14-41-41-clang120.json new file mode 100644 index 00000000000..a76ee8e8da4 --- /dev/null +++ b/change/react-native-windows-2019-10-23-14-41-41-clang120.json @@ -0,0 +1,9 @@ +{ + "type": "none", + "comment": "change clang format column count to 120", + "packageName": "react-native-windows", + "email": "asklar@winse.microsoft.com", + "commit": "a1e10087ad39b3c4f26a806a50acdcf719056ba6", + "date": "2019-10-23T21:41:41.845Z", + "file": "F:\\rnw\\change\\react-native-windows-2019-10-23-14-41-41-clang120.json" +} \ No newline at end of file diff --git a/vnext/.clang-format b/vnext/.clang-format new file mode 100644 index 00000000000..42d7289d38b --- /dev/null +++ b/vnext/.clang-format @@ -0,0 +1,92 @@ +--- +AccessModifierOffset: -1 +AlignAfterOpenBracket: AlwaysBreak +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlinesLeft: true +AlignOperands: false +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Empty +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: false +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ForEachMacros: [ FOR_EACH_RANGE, FOR_EACH, ] +IncludeBlocks: Preserve +IncludeCategories: + - Regex: 'pch.h' + Priority: -1 + - Regex: '.*\.g\..*' + Priority: 1 + - Regex: '^<.*\.h(pp)?>' + Priority: 2 + - Regex: '^<.*' + Priority: 3 + - Regex: '.*' + Priority: 4 +IndentCaseLabels: true +IndentWidth: 2 +IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Right +ReflowComments: true +SortIncludes: true +SpaceAfterCStyleCast: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 8 +UseTab: Never +... diff --git a/vnext/Chakra/ChakraCoreDebugger.h b/vnext/Chakra/ChakraCoreDebugger.h index 5e80790b54c..1287c2c1d1e 100644 --- a/vnext/Chakra/ChakraCoreDebugger.h +++ b/vnext/Chakra/ChakraCoreDebugger.h @@ -16,8 +16,7 @@ class DebugProtocolHandler { DebugProtocolHandler(JsRuntimeHandle runtime) { JsDebugProtocolHandler protocolHandler; - JsErrorCode result = - JsDebugProtocolHandlerCreate(runtime, &protocolHandler); + JsErrorCode result = JsDebugProtocolHandlerCreate(runtime, &protocolHandler); if (result != JsNoError) { throw new std::runtime_error("Unable to create debug protocol handler."); @@ -30,12 +29,8 @@ class DebugProtocolHandler { Destroy(); } - JsErrorCode Connect( - bool breakOnNextLine, - JsDebugProtocolHandlerSendResponseCallback callback, - void *callbackState) { - JsErrorCode result = JsDebugProtocolHandlerConnect( - m_protocolHandler, breakOnNextLine, callback, callbackState); + JsErrorCode Connect(bool breakOnNextLine, JsDebugProtocolHandlerSendResponseCallback callback, void *callbackState) { + JsErrorCode result = JsDebugProtocolHandlerConnect(m_protocolHandler, breakOnNextLine, callback, callbackState); return result; } @@ -65,31 +60,25 @@ class DebugProtocolHandler { } JsErrorCode ProcessCommandQueue() { - JsErrorCode result = - JsDebugProtocolHandlerProcessCommandQueue(m_protocolHandler); + JsErrorCode result = JsDebugProtocolHandlerProcessCommandQueue(m_protocolHandler); return result; } - JsErrorCode SetCommandQueueCallback( - JsDebugProtocolHandlerCommandQueueCallback callback, - void *callbackState) { - JsErrorCode result = JsDebugProtocolHandlerSetCommandQueueCallback( - m_protocolHandler, callback, callbackState); + JsErrorCode SetCommandQueueCallback(JsDebugProtocolHandlerCommandQueueCallback callback, void *callbackState) { + JsErrorCode result = JsDebugProtocolHandlerSetCommandQueueCallback(m_protocolHandler, callback, callbackState); return result; } JsErrorCode WaitForDebugger() { - JsErrorCode result = - JsDebugProtocolHandlerWaitForDebugger(m_protocolHandler); + JsErrorCode result = JsDebugProtocolHandlerWaitForDebugger(m_protocolHandler); return result; } JsErrorCode GetConsoleObject(JsValueRef *consoleObject) { - JsErrorCode result = JsDebugProtocolHandlerCreateConsoleObject( - m_protocolHandler, consoleObject); + JsErrorCode result = JsDebugProtocolHandlerCreateConsoleObject(m_protocolHandler, consoleObject); return result; } @@ -142,22 +131,16 @@ class DebugService { return result; } - JsErrorCode RegisterHandler( - std::string const &runtimeName, - DebugProtocolHandler &protocolHandler, - bool breakOnNextLine) { - JsErrorCode result = JsDebugServiceRegisterHandler( - m_service, - runtimeName.c_str(), - protocolHandler.GetHandle(), - breakOnNextLine); + JsErrorCode + RegisterHandler(std::string const &runtimeName, DebugProtocolHandler &protocolHandler, bool breakOnNextLine) { + JsErrorCode result = + JsDebugServiceRegisterHandler(m_service, runtimeName.c_str(), protocolHandler.GetHandle(), breakOnNextLine); return result; } JsErrorCode UnregisterHandler(std::string const &runtimeName) { - JsErrorCode result = - JsDebugServiceUnregisterHandler(m_service, runtimeName.c_str()); + JsErrorCode result = JsDebugServiceUnregisterHandler(m_service, runtimeName.c_str()); return result; } diff --git a/vnext/Chakra/ChakraExecutor.cpp b/vnext/Chakra/ChakraExecutor.cpp index 1355f3f9ffb..f5bf88cc655 100644 --- a/vnext/Chakra/ChakraExecutor.cpp +++ b/vnext/Chakra/ChakraExecutor.cpp @@ -85,8 +85,7 @@ JsNativeFunction exceptionWrapMethod() { namespace { -template +template JsNativeFunction exceptionWrapMethod() { struct funcWrapper { static JsValueRef call( @@ -98,12 +97,9 @@ JsNativeFunction exceptionWrapMethod() { JsContextRef ctx; JsGetCurrentContext(&ctx); try { - JsValueRef thisObj = argumentCount > 0 - ? arguments[0] - : (JsGetNullValue(&thisObj), thisObj); - JsValueRef thisPropertyName = argumentCount > 1 - ? arguments[1] - : (JsGetNullValue(&thisPropertyName), thisPropertyName); + JsValueRef thisObj = argumentCount > 0 ? arguments[0] : (JsGetNullValue(&thisObj), thisObj); + JsValueRef thisPropertyName = + argumentCount > 1 ? arguments[1] : (JsGetNullValue(&thisPropertyName), thisPropertyName); ChakraExecutor *executor = nullptr; JsGetContextData(ctx, (void **)&executor); return (executor->*method)(thisObj, thisPropertyName); @@ -125,8 +121,7 @@ std::unique_ptr ChakraExecutorFactory::createJSExecutor( // as we're moving m_instanceArgs, we can't call this more than once assert(++m_executorCreationCount == 1); #endif - return std::unique_ptr( - new ChakraExecutor(delegate, jsQueue, std::move(m_instanceArgs))); + return std::unique_ptr(new ChakraExecutor(delegate, jsQueue, std::move(m_instanceArgs))); } ChakraExecutor::ChakraExecutor( @@ -150,8 +145,7 @@ ChakraExecutor::ChakraExecutor( } ChakraExecutor::~ChakraExecutor() { - CHECK(*m_isDestroyed) - << "ChakraExecutor::destroy() must be called before its destructor!"; + CHECK(*m_isDestroyed) << "ChakraExecutor::destroy() must be called before its destructor!"; } void ChakraExecutor::destroy() { @@ -197,8 +191,7 @@ struct JsRuntimeTracker { } \ } -JsErrorCode ChakraExecutor::RedirectConsoleToDebugger( - JsValueRef debuggerConsoleObject) { +JsErrorCode ChakraExecutor::RedirectConsoleToDebugger(JsValueRef debuggerConsoleObject) { JsValueRef globalObject = JS_INVALID_REFERENCE; IfFailRet(JsGetGlobalObject(&globalObject)); @@ -211,8 +204,7 @@ JsErrorCode ChakraExecutor::RedirectConsoleToDebugger( JsValueRef undefinedValue = JS_INVALID_REFERENCE; IfFailRet(JsGetUndefinedValue(&undefinedValue)); - if (consoleObject == JS_INVALID_REFERENCE || - consoleObject == undefinedValue) { + if (consoleObject == JS_INVALID_REFERENCE || consoleObject == undefinedValue) { return JsErrorNotImplemented; } @@ -242,17 +234,11 @@ JsErrorCode ChakraExecutor::RedirectConsoleToDebugger( JsValueRef scriptContentValue = JS_INVALID_REFERENCE; IfFailRet(JsCreateString(script, strlen(script), &scriptContentValue)); - IfFailRet(JsRun( - scriptContentValue, - JS_SOURCE_CONTEXT_NONE, - scriptUrl, - JsParseScriptAttributeLibraryCode, - &patchFunction)); - - JsValueRef args[4] = { - undefinedValue, globalObject, consoleObject, debuggerConsoleObject}; - IfFailRet(JsCallFunction( - patchFunction, args, _countof(args), nullptr /*no return value*/)); + IfFailRet( + JsRun(scriptContentValue, JS_SOURCE_CONTEXT_NONE, scriptUrl, JsParseScriptAttributeLibraryCode, &patchFunction)); + + JsValueRef args[4] = {undefinedValue, globalObject, consoleObject, debuggerConsoleObject}; + IfFailRet(JsCallFunction(patchFunction, args, _countof(args), nullptr /*no return value*/)); return JsNoError; } @@ -271,10 +257,7 @@ void ChakraExecutor::initOnJSVMThread() { // if there's not already a runtime if (tls_runtimeTracker.RuntimeHandle == nullptr) { // create a runtime - CHAKRA_ASSERTDO(JsCreateRuntime( - m_instanceArgs.RuntimeAttributes, - nullptr, - &tls_runtimeTracker.RuntimeHandle)); + CHAKRA_ASSERTDO(JsCreateRuntime(m_instanceArgs.RuntimeAttributes, nullptr, &tls_runtimeTracker.RuntimeHandle)); #if !defined(USE_EDGEMODE_JSRT) // if desired, enable debugging for the runtime @@ -318,9 +301,7 @@ void ChakraExecutor::initOnJSVMThread() { JsSetRuntimeMemoryAllocationCallback( tls_runtimeTracker.RuntimeHandle, tls_runtimeTracker.MemoryTracker.get(), - [](void *callbackState, - JsMemoryEventType allocationEvent, - size_t allocationSize) -> bool { + [](void *callbackState, JsMemoryEventType allocationEvent, size_t allocationSize) -> bool { auto memoryTrackerPtr = static_cast(callbackState); switch (allocationEvent) { case JsMemoryAllocate: @@ -340,13 +321,11 @@ void ChakraExecutor::initOnJSVMThread() { }); size_t initialMemoryUsage = 0; - JsGetRuntimeMemoryUsage( - tls_runtimeTracker.RuntimeHandle, &initialMemoryUsage); + JsGetRuntimeMemoryUsage(tls_runtimeTracker.RuntimeHandle, &initialMemoryUsage); tls_runtimeTracker.MemoryTracker->Initialize(initialMemoryUsage); if (m_instanceArgs.RuntimeMemoryLimit > 0) - CHAKRA_ASSERTDO(JsSetRuntimeMemoryLimit( - tls_runtimeTracker.RuntimeHandle, m_instanceArgs.RuntimeMemoryLimit)); + CHAKRA_ASSERTDO(JsSetRuntimeMemoryLimit(tls_runtimeTracker.RuntimeHandle, m_instanceArgs.RuntimeMemoryLimit)); m_context = nullptr; // Create an execution context @@ -368,21 +347,18 @@ void ChakraExecutor::initOnJSVMThread() { #else if (enableDebugging && m_instanceArgs.DebuggerConsoleRedirection) { JsValueRef debuggerConsoleObject; - tls_runtimeTracker.DebugProtocolHandler->GetConsoleObject( - &debuggerConsoleObject); + tls_runtimeTracker.DebugProtocolHandler->GetConsoleObject(&debuggerConsoleObject); JsValueRef undefinedValue = JS_INVALID_REFERENCE; JsGetUndefinedValue(&undefinedValue); - if (debuggerConsoleObject != JS_INVALID_REFERENCE && - debuggerConsoleObject != undefinedValue) { + if (debuggerConsoleObject != JS_INVALID_REFERENCE && debuggerConsoleObject != undefinedValue) { needToRedirectConsoleToDebugger = true; } } #endif - installNativeHook<&ChakraExecutor::nativeFlushQueueImmediate>( - "nativeFlushQueueImmediate"); + installNativeHook<&ChakraExecutor::nativeFlushQueueImmediate>("nativeFlushQueueImmediate"); installNativeHook<&ChakraExecutor::nativeCallSyncHook>("nativeCallSyncHook"); installNativeHook<&ChakraExecutor::nativeLoggingHook>("nativeLoggingHook"); @@ -393,8 +369,7 @@ void ChakraExecutor::initOnJSVMThread() { // JS Tracing enabled only in verbose mode. #ifdef ENABLE_JS_SYSTRACE addNativeTracingHooks(); - setGlobalVariable( - "__RCTProfileIsProfiling", std::make_unique("true")); + setGlobalVariable("__RCTProfileIsProfiling", std::make_unique("true")); #endif #if !defined(USE_EDGEMODE_JSRT) @@ -422,8 +397,7 @@ void ChakraExecutor::terminateOnJSVMThread() { JsErrorCode result = tls_runtimeTracker.DebugService->Close(); if (result == JsNoError) { - result = tls_runtimeTracker.DebugService->UnregisterHandler( - tls_runtimeTracker.DebugRuntimeName); + result = tls_runtimeTracker.DebugService->UnregisterHandler(tls_runtimeTracker.DebugRuntimeName); } } tls_runtimeTracker.DebugService = nullptr; @@ -439,8 +413,7 @@ void ChakraExecutor::terminateOnJSVMThread() { JsRelease(m_context, nullptr); // Reset runtime callback. - JsSetRuntimeMemoryAllocationCallback( - tls_runtimeTracker.RuntimeHandle, nullptr, nullptr); + JsSetRuntimeMemoryAllocationCallback(tls_runtimeTracker.RuntimeHandle, nullptr, nullptr); // dispose runtime only if there are no more contexts for it if (tls_runtimeTracker.RefCount == 0) { @@ -466,21 +439,18 @@ JsErrorCode ChakraExecutor::enableDebugging( auto protocolHandler = std::make_unique(runtime); auto service = std::make_unique(runtime); - result = - service->RegisterHandler(runtimeName, *protocolHandler, breakOnNextLine); + result = service->RegisterHandler(runtimeName, *protocolHandler, breakOnNextLine); if (result == JsNoError) { if (protocolHandler) { - result = protocolHandler->SetCommandQueueCallback( - ProcessDebuggerCommandQueueCallback, this); + result = protocolHandler->SetCommandQueueCallback(ProcessDebuggerCommandQueueCallback, this); } } if (result == JsNoError) { result = service->Listen(port); - std::cout << "Listening on ws://127.0.0.1:" << port << "/" << runtimeName - << std::endl; + std::cout << "Listening on ws://127.0.0.1:" << port << "/" << runtimeName << std::endl; } if (result == JsNoError) { @@ -493,8 +463,7 @@ JsErrorCode ChakraExecutor::enableDebugging( #endif #if !defined(USE_EDGEMODE_JSRT) -/* static */ void ChakraExecutor::ProcessDebuggerCommandQueueCallback( - void *callbackState) { +/* static */ void ChakraExecutor::ProcessDebuggerCommandQueueCallback(void *callbackState) { ChakraExecutor *executor = reinterpret_cast(callbackState); if (executor) { @@ -532,15 +501,13 @@ void ChakraExecutor::loadApplicationScript( std::string &&bytecodeFileName #endif ) { - SystraceSection s( - "ChakraExecutor::loadApplicationScript", "sourceURL", sourceURL); + SystraceSection s("ChakraExecutor::loadApplicationScript", "sourceURL", sourceURL); JSContextHolder ctx(m_context); std::string scriptName = simpleBasename(sourceURL); #if !defined(OSS_RN) - ReactMarker::logTaggedMarker( - ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str()); + ReactMarker::logTaggedMarker(ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str()); #endif ChakraString jsSourceURL(sourceURL.c_str()); @@ -555,19 +522,14 @@ void ChakraExecutor::loadApplicationScript( } #if !defined(OSS_RN) else { - evaluateScriptWithBytecode( - std::move(script), - scriptVersion, - jsSourceURL, - std::move(bytecodeFileName)); + evaluateScriptWithBytecode(std::move(script), scriptVersion, jsSourceURL, std::move(bytecodeFileName)); } #endif #if !defined(USE_EDGEMODE_JSRT) if (needToRedirectConsoleToDebugger) { JsValueRef debuggerConsoleObject; - tls_runtimeTracker.DebugProtocolHandler->GetConsoleObject( - &debuggerConsoleObject); + tls_runtimeTracker.DebugProtocolHandler->GetConsoleObject(&debuggerConsoleObject); JsErrorCode result = RedirectConsoleToDebugger(debuggerConsoleObject); if (result == JsNoError) { @@ -585,22 +547,18 @@ void ChakraExecutor::loadApplicationScript( #if !defined(OSS_RN) ReactMarker::logMarker(ReactMarker::CREATE_REACT_CONTEXT_STOP); - ReactMarker::logTaggedMarker( - ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str()); + ReactMarker::logTaggedMarker(ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str()); #endif } -void ChakraExecutor::setBundleRegistry( - std::unique_ptr bundleRegistry) { +void ChakraExecutor::setBundleRegistry(std::unique_ptr bundleRegistry) { if (!m_bundleRegistry) { installNativeHook<&ChakraExecutor::nativeRequire>("nativeRequire"); } m_bundleRegistry = std::move(bundleRegistry); } -void ChakraExecutor::registerBundle( - uint32_t bundleId, - const std::string &bundlePath) { +void ChakraExecutor::registerBundle(uint32_t bundleId, const std::string &bundlePath) { // NYI std::terminate(); } @@ -617,15 +575,11 @@ void ChakraExecutor::bindBridge() noexcept { } auto batchedBridge = batchedBridgeValue.asObject(); - m_callFunctionReturnFlushedQueueJS = - batchedBridge.getProperty("callFunctionReturnFlushedQueue").asObject(); - m_invokeCallbackAndReturnFlushedQueueJS = - batchedBridge.getProperty("invokeCallbackAndReturnFlushedQueue") - .asObject(); + m_callFunctionReturnFlushedQueueJS = batchedBridge.getProperty("callFunctionReturnFlushedQueue").asObject(); + m_invokeCallbackAndReturnFlushedQueueJS = batchedBridge.getProperty("invokeCallbackAndReturnFlushedQueue").asObject(); m_flushedQueueJS = batchedBridge.getProperty("flushedQueue").asObject(); m_callFunctionReturnResultAndFlushedQueueJS = - batchedBridge.getProperty("callFunctionReturnResultAndFlushedQueue") - .asObject(); + batchedBridge.getProperty("callFunctionReturnResultAndFlushedQueue").asObject(); m_bridgeEstablished = true; } @@ -671,49 +625,39 @@ void ChakraExecutor::callFunction( ChakraValue(ChakraString::createExpectingAscii(methodId)), ChakraValue::fromDynamic(std::move(arguments))}); } catch (...) { - std::throw_with_nested(std::runtime_error( - "Error calling function: " + moduleId + ":" + methodId)); + std::throw_with_nested(std::runtime_error("Error calling function: " + moduleId + ":" + methodId)); } }(); callNativeModules(std::move(result)); } -void ChakraExecutor::invokeCallback( - const double callbackId, - const folly::dynamic &arguments) { +void ChakraExecutor::invokeCallback(const double callbackId, const folly::dynamic &arguments) { SystraceSection s("ChakraExecutor::invokeCallback"); JSContextHolder ctx(m_context); auto result = [&] { try { return m_invokeCallbackAndReturnFlushedQueueJS->callAsFunction( - {ChakraValue::makeNumber(callbackId), - ChakraValue::fromDynamic(std::move(arguments))}); + {ChakraValue::makeNumber(callbackId), ChakraValue::fromDynamic(std::move(arguments))}); } catch (...) { - std::throw_with_nested(std::runtime_error( - folly::to("Error invoking callback.", callbackId))); + std::throw_with_nested(std::runtime_error(folly::to("Error invoking callback.", callbackId))); } }(); callNativeModules(std::move(result)); } -void ChakraExecutor::setGlobalVariable( - std::string propName, - std::unique_ptr jsonValue) { +void ChakraExecutor::setGlobalVariable(std::string propName, std::unique_ptr jsonValue) { try { SystraceSection s("ChakraExecutor.setGlobalVariable", "propName", propName); JSContextHolder ctx(m_context); - auto valueToInject = - ChakraValue::fromJSON(jsStringFromBigString(*jsonValue)); - ChakraObject::getGlobalObject().setProperty( - propName.c_str(), valueToInject); + auto valueToInject = ChakraValue::fromJSON(jsStringFromBigString(*jsonValue)); + ChakraObject::getGlobalObject().setProperty(propName.c_str(), valueToInject); } catch (...) { - std::throw_with_nested( - std::runtime_error("Error setting global variable: " + propName)); + std::throw_with_nested(std::runtime_error("Error setting global variable: " + propName)); } } @@ -767,9 +711,7 @@ void ChakraExecutor::installNativeHook(const char *name) { installGlobalFunction(name, exceptionWrapMethod()); } -JsValueRef ChakraExecutor::getNativeModule( - JsValueRef object, - JsValueRef propertyName) { +JsValueRef ChakraExecutor::getNativeModule(JsValueRef object, JsValueRef propertyName) { std::string string; /*auto result = */ JsStringToStdStringUtf8(propertyName, string); @@ -790,9 +732,7 @@ JsValueRef ChakraExecutor::getNativeModule( return m_nativeModules.getModule(propertyName); } -JsValueRef ChakraExecutor::nativeRequire( - size_t argumentCount, - const JsValueRef arguments[]) { +JsValueRef ChakraExecutor::nativeRequire(size_t argumentCount, const JsValueRef arguments[]) { double moduleId = 0, bundleId = 0; if (argumentCount == 1) { @@ -805,24 +745,20 @@ JsValueRef ChakraExecutor::nativeRequire( } if (moduleId < 0) { - throw std::invalid_argument(folly::to( - "Received invalid module ID: ", - ChakraValue(arguments[0]).toString().str())); + throw std::invalid_argument( + folly::to("Received invalid module ID: ", ChakraValue(arguments[0]).toString().str())); } if (bundleId < 0) { - throw std::invalid_argument(folly::to( - "Received invalid bundle ID: ", - ChakraValue(arguments[1]).toString().str())); + throw std::invalid_argument( + folly::to("Received invalid bundle ID: ", ChakraValue(arguments[1]).toString().str())); } loadModule(static_cast(bundleId), static_cast(moduleId)); return ChakraValue::makeUndefined(); } -JsValueRef ChakraExecutor::nativeFlushQueueImmediate( - size_t argumentCount, - const JsValueRef arguments[]) { +JsValueRef ChakraExecutor::nativeFlushQueueImmediate(size_t argumentCount, const JsValueRef arguments[]) { if (argumentCount != 1) { throw std::invalid_argument("Got wrong number of args"); } @@ -831,9 +767,7 @@ JsValueRef ChakraExecutor::nativeFlushQueueImmediate( return ChakraValue::makeUndefined(); } -JsValueRef ChakraExecutor::nativeCallSyncHook( - size_t argumentCount, - const JsValueRef arguments[]) { +JsValueRef ChakraExecutor::nativeCallSyncHook(size_t argumentCount, const JsValueRef arguments[]) { if (argumentCount != 3) { throw std::invalid_argument("Got wrong number of args"); } @@ -842,8 +776,7 @@ JsValueRef ChakraExecutor::nativeCallSyncHook( unsigned int methodId = ChakraValue(arguments[1]).asUnsignedInteger(); std::string argsJson = ChakraValue(arguments[2]).toJSONString(); - MethodCallResult result = m_delegate->callSerializableNativeHook( - *this, moduleId, methodId, argsJson); + MethodCallResult result = m_delegate->callSerializableNativeHook(*this, moduleId, methodId, argsJson); if (!result.hasValue()) { return ChakraValue::makeUndefined(); } @@ -860,9 +793,7 @@ JsValueRef ChakraExecutor::nativeCallSyncHook( return ChakraValue::fromDynamic(result.value()); } -JsValueRef ChakraExecutor::nativeLoggingHook( - size_t argumentCount, - const JsValueRef arguments[]) { +JsValueRef ChakraExecutor::nativeLoggingHook(size_t argumentCount, const JsValueRef arguments[]) { // arguments[0]: text message // arguments[1]: log level, optional diff --git a/vnext/Chakra/ChakraExecutor.h b/vnext/Chakra/ChakraExecutor.h index 76458a75417..f0021f0d0fe 100644 --- a/vnext/Chakra/ChakraExecutor.h +++ b/vnext/Chakra/ChakraExecutor.h @@ -29,8 +29,7 @@ class RAMBundleRegistry; class ChakraExecutorFactory : public JSExecutorFactory { public: - ChakraExecutorFactory(ChakraInstanceArgs &&instanceArgs) - : m_instanceArgs(std::move(instanceArgs)) {} + ChakraExecutorFactory(ChakraInstanceArgs &&instanceArgs) : m_instanceArgs(std::move(instanceArgs)) {} virtual std::unique_ptr createJSExecutor( std::shared_ptr delegate, std::shared_ptr jsQueue) override; @@ -80,24 +79,16 @@ class ChakraExecutor : public JSExecutor { #endif ) override; - virtual void setBundleRegistry( - std::unique_ptr bundleRegistry) override; + virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; - virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) - override; + virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) override; - virtual void callFunction( - const std::string &moduleId, - const std::string &methodId, - const folly::dynamic &arguments) override; + virtual void callFunction(const std::string &moduleId, const std::string &methodId, const folly::dynamic &arguments) + override; - virtual void invokeCallback( - const double callbackId, - const folly::dynamic &arguments) override; + virtual void invokeCallback(const double callbackId, const folly::dynamic &arguments) override; - virtual void setGlobalVariable( - std::string propName, - std::unique_ptr jsonValue) override; + virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; virtual std::string getDescription() override; @@ -115,8 +106,7 @@ class ChakraExecutor : public JSExecutor { JsContextRef m_context; std::shared_ptr m_delegate; int m_workerId = 0; // if this is a worker executor, this is non-zero - ChakraExecutor *m_owner = - nullptr; // if this is a worker executor, this is non-null + ChakraExecutor *m_owner = nullptr; // if this is a worker executor, this is non-null std::shared_ptr m_isDestroyed = std::shared_ptr(new bool(false)); std::unordered_map m_ownedWorkers; std::shared_ptr m_messageQueueThread; @@ -144,15 +134,9 @@ class ChakraExecutor : public JSExecutor { const folly::dynamic &jscConfig); void initOnJSVMThread(); - bool isNetworkInspected( - const std::string &owner, - const std::string &app, - const std::string &device); + bool isNetworkInspected(const std::string &owner, const std::string &app, const std::string &device); // This method is experimental, and may be modified or removed. - ChakraValue callFunctionSyncWithValue( - const std::string &module, - const std::string &method, - ChakraValue value); + ChakraValue callFunctionSyncWithValue(const std::string &module, const std::string &method, ChakraValue value); void terminateOnJSVMThread(); void bindBridge() noexcept; void callNativeModules(ChakraValue &&); @@ -164,8 +148,7 @@ class ChakraExecutor : public JSExecutor { uint16_t port, std::unique_ptr &debugProtocolHandler, std::unique_ptr &debugService); - static void CHAKRA_CALLBACK - ProcessDebuggerCommandQueueCallback(void *callbackState); + static void CHAKRA_CALLBACK ProcessDebuggerCommandQueueCallback(void *callbackState); void ProcessDebuggerCommandQueue(); bool needToRedirectConsoleToDebugger = false; JsErrorCode RedirectConsoleToDebugger(JsValueRef debuggerConsoleObject); @@ -178,22 +161,12 @@ class ChakraExecutor : public JSExecutor { void installNativeHook(const char *name); JsValueRef getNativeModule(JsValueRef object, JsValueRef propertyName); - JsValueRef nativePostMessageToWorker( - size_t argumentCount, - const JsValueRef arguments[]); - JsValueRef nativeTerminateWorker( - size_t argumentCount, - const JsValueRef arguments[]); + JsValueRef nativePostMessageToWorker(size_t argumentCount, const JsValueRef arguments[]); + JsValueRef nativeTerminateWorker(size_t argumentCount, const JsValueRef arguments[]); JsValueRef nativeRequire(size_t argumentCount, const JsValueRef arguments[]); - JsValueRef nativeFlushQueueImmediate( - size_t argumentCount, - const JsValueRef arguments[]); - JsValueRef nativeCallSyncHook( - size_t argumentCount, - const JsValueRef arguments[]); - JsValueRef nativeLoggingHook( - size_t argumentCount, - const JsValueRef arguments[]); + JsValueRef nativeFlushQueueImmediate(size_t argumentCount, const JsValueRef arguments[]); + JsValueRef nativeCallSyncHook(size_t argumentCount, const JsValueRef arguments[]); + JsValueRef nativeLoggingHook(size_t argumentCount, const JsValueRef arguments[]); }; template diff --git a/vnext/Chakra/ChakraHelpers.cpp b/vnext/Chakra/ChakraHelpers.cpp index eae97b7228d..4411b029483 100644 --- a/vnext/Chakra/ChakraHelpers.cpp +++ b/vnext/Chakra/ChakraHelpers.cpp @@ -40,9 +40,7 @@ namespace { template size_t fwrite(T *p, size_t count, FILE *file) noexcept { - static_assert( - std::is_trivially_copyable::value, - "T must be trivially copyable to be serialized into a file"); + static_assert(std::is_trivially_copyable::value, "T must be trivially copyable to be serialized into a file"); return fwrite(p, sizeof(*p), count, file); } @@ -64,11 +62,7 @@ struct FileVersionInfoResource { #endif class ChakraVersionInfo { public: - ChakraVersionInfo() noexcept - : m_fileVersionMS{0}, - m_fileVersionLS{0}, - m_productVersionMS{0}, - m_productVersionLS{0} {} + ChakraVersionInfo() noexcept : m_fileVersionMS{0}, m_fileVersionLS{0}, m_productVersionMS{0}, m_productVersionLS{0} {} bool initialize() noexcept { #if !defined(CHAKRACORE_UWP) @@ -84,24 +78,20 @@ class ChakraVersionInfo { std::unique_ptr moduleHandleWrapper( moduleHandle, std::move(freeLibraryWrapper)); - HRSRC versionResourceHandle = FindResourceW( - moduleHandle, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION); + HRSRC versionResourceHandle = FindResourceW(moduleHandle, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION); if (!versionResourceHandle || - SizeofResource( - static_cast(moduleHandleWrapper.get()), - versionResourceHandle) < sizeof(FileVersionInfoResource)) { + SizeofResource(static_cast(moduleHandleWrapper.get()), versionResourceHandle) < + sizeof(FileVersionInfoResource)) { return false; } - HGLOBAL versionResourcePtrHandle = - LoadResource(moduleHandle, versionResourceHandle); + HGLOBAL versionResourcePtrHandle = LoadResource(moduleHandle, versionResourceHandle); if (!versionResourcePtrHandle) { return false; } FileVersionInfoResource *chakraVersionInfo = - static_cast( - LockResource(versionResourcePtrHandle)); + static_cast(LockResource(versionResourcePtrHandle)); if (!chakraVersionInfo) { return false; } @@ -115,10 +105,8 @@ class ChakraVersionInfo { } bool operator==(const ChakraVersionInfo &rhs) const noexcept { - return (m_fileVersionMS == rhs.m_fileVersionMS) && - (m_fileVersionLS == rhs.m_fileVersionLS) && - (m_productVersionMS == rhs.m_productVersionMS) && - (m_productVersionLS == rhs.m_productVersionLS); + return (m_fileVersionMS == rhs.m_fileVersionMS) && (m_fileVersionLS == rhs.m_fileVersionLS) && + (m_productVersionMS == rhs.m_productVersionMS) && (m_productVersionLS == rhs.m_productVersionLS); } bool operator!=(const ChakraVersionInfo &rhs) const noexcept { @@ -134,19 +122,15 @@ class ChakraVersionInfo { class BytecodePrefix { public: - static std::pair getBytecodePrefix( - JsValueRef scriptFileName, - uint64_t bundleVersion) noexcept { - std::pair result{false, - BytecodePrefix{bundleVersion}}; + static std::pair getBytecodePrefix(JsValueRef scriptFileName, uint64_t bundleVersion) noexcept { + std::pair result{false, BytecodePrefix{bundleVersion}}; result.first = result.second.m_chakraVersionInfo.initialize(); return result; } bool operator==(const BytecodePrefix &rhs) const noexcept { return (m_bytecodeFileFormatVersion == rhs.m_bytecodeFileFormatVersion) && - (m_bundleVersion == rhs.m_bundleVersion) && - (m_chakraVersionInfo == rhs.m_chakraVersionInfo); + (m_bundleVersion == rhs.m_bundleVersion) && (m_chakraVersionInfo == rhs.m_chakraVersionInfo); } bool operator!=(const BytecodePrefix &rhs) const noexcept { @@ -173,59 +157,44 @@ void serializeBytecodeToFileCore( FILE *bytecodeFilePtr; // bytecode is a binary representation, so we need to pass in the "b" flag to // fopen_s - if (_wfopen_s( - &bytecodeFilePtr, - Microsoft::Common::Unicode::Utf8ToUtf16(bytecodeFileName).c_str(), - L"wb")) { + if (_wfopen_s(&bytecodeFilePtr, Microsoft::Common::Unicode::Utf8ToUtf16(bytecodeFileName).c_str(), L"wb")) { return; } - std::unique_ptr bytecodeFilePtrWrapper( - bytecodeFilePtr, fclose); + std::unique_ptr bytecodeFilePtrWrapper(bytecodeFilePtr, fclose); - const std::wstring scriptUTF16 = - Microsoft::Common::Unicode::Utf8ToUtf16(script->c_str(), script->size()); + const std::wstring scriptUTF16 = Microsoft::Common::Unicode::Utf8ToUtf16(script->c_str(), script->size()); unsigned int bytecodeSize = 0; - if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) != - JsNoError) { + if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) != JsNoError) { return; } - std::unique_ptr bytecode( - std::make_unique(bytecodeSize)); - if (JsSerializeScript(scriptUTF16.c_str(), bytecode.get(), &bytecodeSize) != - JsNoError) { + std::unique_ptr bytecode(std::make_unique(bytecodeSize)); + if (JsSerializeScript(scriptUTF16.c_str(), bytecode.get(), &bytecodeSize) != JsNoError) { return; } constexpr size_t bytecodePrefixSize = sizeof(bytecodePrefix); uint8_t zeroArray[sizeof(bytecodePrefix)]{}; - if (fwrite(zeroArray, bytecodePrefixSize, bytecodeFilePtrWrapper.get()) != - bytecodePrefixSize || - fwrite(bytecode.get(), bytecodeSize, bytecodeFilePtrWrapper.get()) != - bytecodeSize || + if (fwrite(zeroArray, bytecodePrefixSize, bytecodeFilePtrWrapper.get()) != bytecodePrefixSize || + fwrite(bytecode.get(), bytecodeSize, bytecodeFilePtrWrapper.get()) != bytecodeSize || fflush(bytecodeFilePtrWrapper.get())) { return; } fseek(bytecodeFilePtrWrapper.get(), 0, SEEK_SET); - if (!fwrite(bytecodePrefix, bytecodeFilePtrWrapper.get()) || - fflush(bytecodeFilePtrWrapper.get())) { + if (!fwrite(bytecodePrefix, bytecodeFilePtrWrapper.get()) || fflush(bytecodeFilePtrWrapper.get())) { return; } } -std::unique_ptr tryGetBytecode( - const BytecodePrefix &bytecodePrefix, - const std::string &bytecodeFileName) { - auto bytecodeBigStringPtr = std::make_unique( - bytecodeFileName, static_cast(sizeof(BytecodePrefix))); +std::unique_ptr tryGetBytecode(const BytecodePrefix &bytecodePrefix, const std::string &bytecodeFileName) { + auto bytecodeBigStringPtr = + std::make_unique(bytecodeFileName, static_cast(sizeof(BytecodePrefix))); - if (!bytecodeBigStringPtr->file_data() || - bytecodeBigStringPtr->file_size() < sizeof(bytecodePrefix) || - *reinterpret_cast( - bytecodeBigStringPtr->file_data()) != bytecodePrefix) { + if (!bytecodeBigStringPtr->file_data() || bytecodeBigStringPtr->file_size() < sizeof(bytecodePrefix) || + *reinterpret_cast(bytecodeBigStringPtr->file_data()) != bytecodePrefix) { return nullptr; } @@ -268,23 +237,14 @@ MinimalChakraRuntime::MinimalChakraRuntime(bool multithreaded) delete c; }} { JsErrorCode lastError = JsCreateRuntime( - multithreaded ? JsRuntimeAttributeNone - : JsRuntimeAttributeDisableBackgroundWork, - nullptr, - &(*runtime)); - assert( - lastError == JsNoError && - "JsCreateRuntime failed in MinimalChakraRuntime constructor."); + multithreaded ? JsRuntimeAttributeNone : JsRuntimeAttributeDisableBackgroundWork, nullptr, &(*runtime)); + assert(lastError == JsNoError && "JsCreateRuntime failed in MinimalChakraRuntime constructor."); lastError = JsCreateContext(*runtime, &(*context)); - assert( - lastError == JsNoError && - "JsCreateContext failed in MinimalChakraRuntime constructor."); + assert(lastError == JsNoError && "JsCreateContext failed in MinimalChakraRuntime constructor."); lastError = JsSetCurrentContext(*context); - assert( - lastError == JsNoError && - "JsSetCurrentContext failed in MinimalChakraRuntime constructor."); + assert(lastError == JsNoError && "JsSetCurrentContext failed in MinimalChakraRuntime constructor."); } JsValueRef functionCaller( @@ -315,10 +275,7 @@ JsValueRef makeFunction(JsValueRef name, ChakraJSFunction function) { return functionObject; } -void ChakraJSException::buildMessage( - JsValueRef exn, - JsValueRef sourceURL, - const char *errorMsg) { +void ChakraJSException::buildMessage(JsValueRef exn, JsValueRef sourceURL, const char *errorMsg) { std::ostringstream msgBuilder; if (errorMsg && strlen(errorMsg) > 0) { msgBuilder << errorMsg << ": "; @@ -330,8 +287,7 @@ void ChakraJSException::buildMessage( // The null/empty-ness of source tells us if the JS came from a // file/resource, or was a constructed statement. The location // info will include that source, if any. - std::string locationInfo = - sourceURL != nullptr ? ChakraString::ref(sourceURL).str() : ""; + std::string locationInfo = sourceURL != nullptr ? ChakraString::ref(sourceURL).str() : ""; ChakraObject exnObject = exnValue.asObject(); auto line = exnObject.getProperty("line"); if (line != nullptr && line.isNumber()) { @@ -339,8 +295,7 @@ void ChakraJSException::buildMessage( // If there is a non-trivial line number, but there was no // location info, we include a placeholder, and the line // number. - locationInfo = - folly::to(":", line.asInteger()); + locationInfo = folly::to(":", line.asInteger()); } else if (!locationInfo.empty()) { // If there is location info, we always include the line // number, regardless of its value. @@ -377,22 +332,19 @@ void installGlobalFunction(const char *name, ChakraJSFunction function) { JsValueRef makeFunction(const char *name, JsNativeFunction callback) { auto jsName = ChakraString(name); JsValueRef functionObj; - JsCreateNamedFunction( - jsName, callback, nullptr /*callbackstate*/, &functionObj); + JsCreateNamedFunction(jsName, callback, nullptr /*callbackstate*/, &functionObj); return functionObj; } void installGlobalFunction(const char *name, JsNativeFunction callback) { ChakraString jsName(name); JsValueRef functionObj; - JsCreateNamedFunction( - jsName, callback, nullptr /*callbackstate*/, &functionObj); + JsCreateNamedFunction(jsName, callback, nullptr /*callbackstate*/, &functionObj); ChakraObject::getGlobalObject().setProperty(jsName, ChakraValue(functionObj)); } void removeGlobal(const char *name) { - ChakraObject::getGlobalObject().setProperty( - name, ChakraValue::makeUndefined()); + ChakraObject::getGlobalObject().setProperty(name, ChakraValue::makeUndefined()); } JsSourceContext getNextSourceContext() { @@ -414,17 +366,14 @@ JsValueRef evaluateScript(JsValueRef script, JsValueRef source) { size_t sourceRawLength; JsStringToPointer(source, &sourceRaw, &sourceRawLength); - auto result = JsRunScript( - scriptRaw, JS_SOURCE_CONTEXT_NONE /*sourceContext*/, sourceRaw, &value); + auto result = JsRunScript(scriptRaw, JS_SOURCE_CONTEXT_NONE /*sourceContext*/, sourceRaw, &value); #else JsSourceContext sourceContext = getNextSourceContext(); - auto result = - JsRun(script, sourceContext, source, JsParseScriptAttributeNone, &value); + auto result = JsRun(script, sourceContext, source, JsParseScriptAttributeNone, &value); #endif bool hasException = false; - if (result == JsErrorInExceptionState || - (JsHasException(&hasException), hasException)) { + if (result == JsErrorInExceptionState || (JsHasException(&hasException), hasException)) { JsGetAndClearException(&exn); throw ChakraJSException(exn, source); } @@ -436,9 +385,7 @@ JsValueRef evaluateScript(JsValueRef script, JsValueRef source) { return value; } -JsValueRef evaluateScript( - std::unique_ptr &&script, - JsValueRef sourceURL) { +JsValueRef evaluateScript(std::unique_ptr &&script, JsValueRef sourceURL) { #if !defined(OSS_RN) ReactMarker::logMarker(ReactMarker::JS_BUNDLE_STRING_CONVERT_START); #endif @@ -471,22 +418,16 @@ JsValueRef evaluateScriptWithBytecode( // code right now. return evaluateScript(std::move(script), scriptFileName); #else - auto bytecodePrefixOptional = - BytecodePrefix::getBytecodePrefix(scriptFileName, scriptVersion); + auto bytecodePrefixOptional = BytecodePrefix::getBytecodePrefix(scriptFileName, scriptVersion); if (!bytecodePrefixOptional.first) { return evaluateScript(std::move(script), scriptFileName); } auto &bytecodePrefix = bytecodePrefixOptional.second; - std::unique_ptr bytecode = - tryGetBytecode(bytecodePrefix, bytecodeFileName); + std::unique_ptr bytecode = tryGetBytecode(bytecodePrefix, bytecodeFileName); if (!bytecode) { std::shared_ptr sharedScript(script.release()); - serializeBytecodeToFile( - sharedScript, - bytecodePrefix, - std::move(bytecodeFileName), - asyncBytecodeGeneration); + serializeBytecodeToFile(sharedScript, bytecodePrefix, std::move(bytecodeFileName), asyncBytecodeGeneration); ReactMarker::logMarker(ReactMarker::JS_BUNDLE_STRING_CONVERT_START); JsValueRefUniquePtr jsScript = jsArrayBufferFromBigString(sharedScript); ReactMarker::logMarker(ReactMarker::JS_BUNDLE_STRING_CONVERT_STOP); @@ -500,9 +441,7 @@ JsValueRef evaluateScriptWithBytecode( JsValueRef value = nullptr; JsErrorCode result = JsRunSerialized( jsArrayBufferFromBigString(std::move(bytecode)).get(), - [](JsSourceContext sourceContext, - JsValueRef *value, - JsParseScriptAttributes *parseAttributes) { + [](JsSourceContext sourceContext, JsValueRef *value, JsParseScriptAttributes *parseAttributes) { *value = reinterpret_cast(sourceContext); *parseAttributes = JsParseScriptAttributeNone; return true; @@ -525,11 +464,9 @@ JsValueRef evaluateScriptWithBytecode( // This code is duplicated from evaluateScript. // TODO (yicyao, task 1977635) get rid of this duplicated code. bool hasException = false; - if (result == JsErrorInExceptionState || - (JsHasException(&hasException), hasException)) { + if (result == JsErrorInExceptionState || (JsHasException(&hasException), hasException)) { JsGetAndClearException(&exn); - std::string exceptionDescription = "JavaScriptException in " + - ChakraValue(scriptFileName).toString().str(); + std::string exceptionDescription = "JavaScriptException in " + ChakraValue(scriptFileName).toString().str(); throw ChakraJSException(exn, exceptionDescription.c_str()); } @@ -549,8 +486,7 @@ void formatAndThrowJSException(JsValueRef exn, JsValueRef source) { // The null/empty-ness of source tells us if the JS came from a // file/resource, or was a constructed statement. The location // info will include that source, if any. - std::string locationInfo = - source != nullptr ? ChakraString::ref(source).str() : ""; + std::string locationInfo = source != nullptr ? ChakraString::ref(source).str() : ""; ChakraObject exObject = exception.asObject(); auto line = exObject.getProperty("line"); if (line != nullptr && line.isNumber()) { @@ -558,8 +494,7 @@ void formatAndThrowJSException(JsValueRef exn, JsValueRef source) { // If there is a non-trivial line number, but there was no // location info, we include a placeholder, and the line // number. - locationInfo = - folly::to(":", line.asInteger()); + locationInfo = folly::to(":", line.asInteger()); } else if (!locationInfo.empty()) { // If there is location info, we always include the line // number, regardless of its value. @@ -578,13 +513,11 @@ void formatAndThrowJSException(JsValueRef exn, JsValueRef source) { throwJSExecutionException("%s", exceptionText.c_str()); } else { LOG(ERROR) << "Got JS Stack: " << jsStack.toString().str(); - throwJSExecutionExceptionWithStack( - exceptionText.c_str(), jsStack.toString().str().c_str()); + throwJSExecutionExceptionWithStack(exceptionText.c_str(), jsStack.toString().str().c_str()); } } -JsValueRef translatePendingCppExceptionToJSError( - const char *exceptionLocation) { +JsValueRef translatePendingCppExceptionToJSError(const char *exceptionLocation) { std::ostringstream msg; try { throw; @@ -594,8 +527,7 @@ JsValueRef translatePendingCppExceptionToJSError( msg << "C++ Exception in '" << exceptionLocation << "': " << ex.what(); return ChakraValue::makeError(msg.str().c_str()); } catch (const char *ex) { - msg << "C++ Exception (thrown as a char*) in '" << exceptionLocation - << "': " << ex; + msg << "C++ Exception (thrown as a char*) in '" << exceptionLocation << "': " << ex; return ChakraValue::makeError(msg.str().c_str()); } catch (...) { msg << "Unknown C++ Exception in '" << exceptionLocation << "'"; @@ -605,12 +537,10 @@ JsValueRef translatePendingCppExceptionToJSError( JsValueRef translatePendingCppExceptionToJSError(JsValueRef jsFunctionCause) { try { - auto functionName = - ChakraObject(jsFunctionCause).getProperty("name").toString().str(); + auto functionName = ChakraObject(jsFunctionCause).getProperty("name").toString().str(); return translatePendingCppExceptionToJSError(functionName.c_str()); } catch (...) { - return ChakraValue::makeError( - "Failed to get function name while handling exception"); + return ChakraValue::makeError("Failed to get function name while handling exception"); } } @@ -649,10 +579,7 @@ JsValueRef JSObjectCallAsFunction( JsValueRef value; auto result = JsCallFunction( - methodJSRef, - const_cast(argsWithThis), - static_cast(nArgs + 1), - &value); + methodJSRef, const_cast(argsWithThis), static_cast(nArgs + 1), &value); delete[] argsWithThis; bool hasException = false; if (result != JsNoError || (JsHasException(&hasException), hasException)) { @@ -674,8 +601,7 @@ JsValueRef JSValueMakeFromJSONString(JsValueRef string) { auto jsonObject = GetJSONObject(); JsPropertyIdRef propertyId; - if (JsNoError != JsGetPropertyIdFromName(L"parse", &propertyId) || - !jsonObject) { + if (JsNoError != JsGetPropertyIdFromName(L"parse", &propertyId) || !jsonObject) { return nullptr; } JsValueRef parseFunction; @@ -685,19 +611,14 @@ JsValueRef JSValueMakeFromJSONString(JsValueRef string) { JsValueRef error; JsValueRef arguments[1] = {string}; - return JSObjectCallAsFunction( - parseFunction, jsonObject, 1, arguments, &error); + return JSObjectCallAsFunction(parseFunction, jsonObject, 1, arguments, &error); } -JsValueRef JSValueCreateJSONString( - JsValueRef value, - unsigned /*indent*/, - JsValueRef *error) { +JsValueRef JSValueCreateJSONString(JsValueRef value, unsigned /*indent*/, JsValueRef *error) { auto jsonObject = GetJSONObject(); JsPropertyIdRef propertyId; - if (JsNoError != JsGetPropertyIdFromName(L"stringify", &propertyId) || - !jsonObject) { + if (JsNoError != JsGetPropertyIdFromName(L"stringify", &propertyId) || !jsonObject) { JsGetAndClearException(error); return nullptr; } @@ -708,15 +629,11 @@ JsValueRef JSValueCreateJSONString( } JsValueRef arguments[1] = {value}; - return JSObjectCallAsFunction( - stringifyFunction, jsonObject, 1, arguments, error); + return JSObjectCallAsFunction(stringifyFunction, jsonObject, 1, arguments, error); } // TODO ensure proper clean up of error states in the middle of function -JsValueRef JSObjectGetProperty( - JsValueRef object, - JsValueRef propertyName, - JsValueRef *exception) { +JsValueRef JSObjectGetProperty(JsValueRef object, JsValueRef propertyName, JsValueRef *exception) { std::string propName; auto result = JsStringToStdStringUtf8(propertyName, propName); @@ -735,10 +652,7 @@ JsValueRef JSObjectGetProperty( return value; } -JsValueRef JSObjectGetPropertyAtIndex( - JsValueRef object, - unsigned propertyIndex, - JsValueRef *exception) { +JsValueRef JSObjectGetPropertyAtIndex(JsValueRef object, unsigned propertyIndex, JsValueRef *exception) { JsValueRef index; JsIntToNumber(propertyIndex, &index); JsValueRef property; @@ -792,9 +706,7 @@ unsigned JSPropertyNameArrayGetCount(JsValueRef namesRef) { return count; } -JsValueRef JSPropertyNameArrayGetNameAtIndex( - JsValueRef namesRef, - unsigned idx) { +JsValueRef JSPropertyNameArrayGetNameAtIndex(JsValueRef namesRef, unsigned idx) { JsValueRef index; JsIntToNumber(idx, &index); JsValueRef propertyName; diff --git a/vnext/Chakra/ChakraHelpers.h b/vnext/Chakra/ChakraHelpers.h index 9775c3a87ca..23692665ff4 100644 --- a/vnext/Chakra/ChakraHelpers.h +++ b/vnext/Chakra/ChakraHelpers.h @@ -18,8 +18,7 @@ class MinimalChakraRuntime { MinimalChakraRuntime(bool multithreaded); private: - std::unique_ptr> - runtime; + std::unique_ptr> runtime; std::unique_ptr> context; }; @@ -72,14 +71,11 @@ inline void throwJSExecutionException(const char *fmt, Args... args) { } template -inline void throwJSExecutionExceptionWithStack( - const char *msg, - const char *stack) { +inline void throwJSExecutionExceptionWithStack(const char *msg, const char *stack) { // throw JSException(msg, stack); } -using ChakraJSFunction = std::function< - JsValueRef(JsContextRef, JsValueRef, size_t, const JsValueRef[])>; +using ChakraJSFunction = std::function; JsValueRef makeFunction(JsValueRef name, ChakraJSFunction function); @@ -97,9 +93,7 @@ static JsSourceContext getNextSourceContext(); JsValueRef evaluateScript(JsValueRef script, JsValueRef sourceURL); -JsValueRef evaluateScript( - std::unique_ptr &&script, - JsValueRef sourceURL); +JsValueRef evaluateScript(std::unique_ptr &&script, JsValueRef sourceURL); JsValueRef evaluateScriptWithBytecode( std::unique_ptr &&script, @@ -126,20 +120,11 @@ JsValueRef JSObjectCallAsFunction( const JsValueRef args[], JsValueRef *error); JsValueRef JSValueMakeFromJSONString(JsValueRef string); -JsValueRef JSValueCreateJSONString( - JsValueRef value, - unsigned /*indent*/, - JsValueRef *error); +JsValueRef JSValueCreateJSONString(JsValueRef value, unsigned /*indent*/, JsValueRef *error); // TODO ensure proper clean up of error states in the middle of function -JsValueRef JSObjectGetProperty( - JsValueRef object, - JsValueRef propertyName, - JsValueRef *exception); -JsValueRef JSObjectGetPropertyAtIndex( - JsValueRef object, - unsigned propertyIndex, - JsValueRef *exception); +JsValueRef JSObjectGetProperty(JsValueRef object, JsValueRef propertyName, JsValueRef *exception); +JsValueRef JSObjectGetPropertyAtIndex(JsValueRef object, unsigned propertyIndex, JsValueRef *exception); // Only support None void JSObjectSetProperty( diff --git a/vnext/Chakra/ChakraNativeModules.cpp b/vnext/Chakra/ChakraNativeModules.cpp index dbaf1f9a983..595cb30024c 100644 --- a/vnext/Chakra/ChakraNativeModules.cpp +++ b/vnext/Chakra/ChakraNativeModules.cpp @@ -11,8 +11,7 @@ namespace facebook { namespace react { -ChakraNativeModules::ChakraNativeModules( - std::shared_ptr moduleRegistry) +ChakraNativeModules::ChakraNativeModules(std::shared_ptr moduleRegistry) : m_moduleRegistry(std::move(moduleRegistry)) {} JsValueRef ChakraNativeModules::getModule(JsValueRef jsName) { @@ -31,8 +30,7 @@ JsValueRef ChakraNativeModules::getModule(JsValueRef jsName) { // Protect since we'll be holding on to this value, even though JS may not module->makeProtected(); - auto result = - m_objects.emplace(std::move(moduleName), std::move(*module)).first; + auto result = m_objects.emplace(std::move(moduleName), std::move(*module)).first; return static_cast(result->second); } @@ -41,8 +39,7 @@ void ChakraNativeModules::reset() { m_objects.clear(); } -folly::Optional ChakraNativeModules::createModule( - const std::string &name) { +folly::Optional ChakraNativeModules::createModule(const std::string &name) { if (!m_genNativeModuleJS) { auto global = ChakraObject::getGlobalObject(); m_genNativeModuleJS = global.getProperty("__fbGenNativeModule").asObject(); @@ -59,8 +56,7 @@ folly::Optional ChakraNativeModules::createModule( } ChakraValue moduleInfo = m_genNativeModuleJS->callAsFunction( - {ChakraValue::fromDynamic(result->config), - ChakraValue::makeNumber(static_cast(result->index))}); + {ChakraValue::fromDynamic(result->config), ChakraValue::makeNumber(static_cast(result->index))}); CHECK(!moduleInfo.isNull()) << "Module returned from genNativeModule is null"; return moduleInfo.asObject().getProperty("module").asObject(); diff --git a/vnext/Chakra/ChakraTracing.cpp b/vnext/Chakra/ChakraTracing.cpp index ce51e9c0d7b..2e015254c4a 100644 --- a/vnext/Chakra/ChakraTracing.cpp +++ b/vnext/Chakra/ChakraTracing.cpp @@ -77,10 +77,7 @@ static JsValueRef __stdcall nativeTraceBeginSectionJNF( // TODO: CharkaRT doesn't have JsCopyString, implement alternative. #if !defined(USE_EDGEMODE_JSRT) CHAKRA_ASSERTDO(JsCopyString( - arguments[3], - const_cast(argsStr.data()), - argsLength + 1 /* length */, - nullptr /* written */)); + arguments[3], const_cast(argsStr.data()), argsLength + 1 /* length */, nullptr /* written */)); #endif } #ifndef NDEBUG @@ -127,10 +124,7 @@ static JsValueRef __stdcall nativeTraceEndSectionJNF( return returnValue; } -static void beginOrEndAsync( - bool isEnd, - JsValueRef arguments[], - unsigned short argumentCount) { +static void beginOrEndAsync(bool isEnd, JsValueRef arguments[], unsigned short argumentCount) { // arguments[0]: 'this' // arguments[1]: TRACE_TAG_REACT_APPS, constant int (1 << 17) // arguments[2]: profileName, string | undefined @@ -288,10 +282,7 @@ void SystraceBeginSection(const char *name, const char *args) noexcept { } } -void SystraceEndSection( - const char *name, - const char *args, - std::chrono::nanoseconds duration) noexcept { +void SystraceEndSection(const char *name, const char *args, std::chrono::nanoseconds duration) noexcept { if (g_nativeTracingHook) { g_nativeTracingHook->NativeEndSection(name, args, duration); } @@ -302,10 +293,8 @@ void SystraceEndSection( void addNativeTracingHooks() { installGlobalFunction("nativeTraceBeginSection", nativeTraceBeginSectionJNF); installGlobalFunction("nativeTraceEndSection", nativeTraceEndSectionJNF); - installGlobalFunction( - "nativeTraceBeginAsyncSection", nativeTraceBeginAsyncSectionJNF); - installGlobalFunction( - "nativeTraceEndAsyncSection", nativeTraceEndAsyncSectionJNF); + installGlobalFunction("nativeTraceBeginAsyncSection", nativeTraceBeginAsyncSectionJNF); + installGlobalFunction("nativeTraceEndAsyncSection", nativeTraceEndAsyncSectionJNF); installGlobalFunction("nativeTraceCounter", nativeTraceCounterJNF); } diff --git a/vnext/Chakra/ChakraUtils.cpp b/vnext/Chakra/ChakraUtils.cpp index 91dea864ded..fc46e3ad08b 100644 --- a/vnext/Chakra/ChakraUtils.cpp +++ b/vnext/Chakra/ChakraUtils.cpp @@ -27,8 +27,7 @@ namespace react { JsValueRefUniquePtr MakeJsValueRefUniquePtr(JsValueRef value) { JsAddRef(value, nullptr); - return JsValueRefUniquePtr( - value, [](JsValueRef value) { JsRelease(value, nullptr); }); + return JsValueRefUniquePtr(value, [](JsValueRef value) { JsRelease(value, nullptr); }); } ChakraString jsStringFromBigString(const JSBigString &bigstr) { @@ -39,8 +38,7 @@ ChakraString jsStringFromBigString(const JSBigString &bigstr) { } } -JsValueRefUniquePtr jsArrayBufferFromBigString( - std::unique_ptr &&bigstr) { +JsValueRefUniquePtr jsArrayBufferFromBigString(std::unique_ptr &&bigstr) { JsValueRef arrayBuffer = nullptr; auto size = bigstr->size(); assert(size < UINT_MAX); @@ -49,8 +47,7 @@ JsValueRefUniquePtr jsArrayBufferFromBigString( static_cast(size), [](void *bigstrToDestroy) { // Wrap bigstrToDestroy in unique_ptr to avoid calling delete explicitly - std::unique_ptr wrapper{ - static_cast(bigstrToDestroy)}; + std::unique_ptr wrapper{static_cast(bigstrToDestroy)}; }, const_cast(bigstr.get()), &arrayBuffer); @@ -65,8 +62,7 @@ JsValueRefUniquePtr jsArrayBufferFromBigString( return MakeJsValueRefUniquePtr(arrayBuffer); } -JsValueRefUniquePtr jsArrayBufferFromBigString( - const std::shared_ptr &bigstr) { +JsValueRefUniquePtr jsArrayBufferFromBigString(const std::shared_ptr &bigstr) { JsValueRef arrayBuffer = nullptr; auto size = bigstr->size(); assert(size < UINT_MAX); @@ -92,9 +88,7 @@ JsValueRefUniquePtr jsArrayBufferFromBigString( return MakeJsValueRefUniquePtr(arrayBuffer); } -FileMappingBigString::FileMappingBigString( - const std::string &filenameUtf8, - uint32_t offset) +FileMappingBigString::FileMappingBigString(const std::string &filenameUtf8, uint32_t offset) : JSBigString{}, m_fileMapping{nullptr, &CloseHandle}, m_fileData{nullptr, &fileDataDeleter}, @@ -144,11 +138,7 @@ FileMappingBigString::FileMappingBigString( #if (defined(WINRT)) m_fileMapping.reset(CreateFileMappingFromApp( - fileHandle.get(), - nullptr /* SecurityAttributes */, - PAGE_READONLY, - m_fileSize, - nullptr /* Name */)); + fileHandle.get(), nullptr /* SecurityAttributes */, PAGE_READONLY, m_fileSize, nullptr /* Name */)); #else m_fileMapping.reset(CreateFileMapping( fileHandle.get(), @@ -165,11 +155,8 @@ FileMappingBigString::FileMappingBigString( } #if (defined(WINRT)) - m_fileData.reset(MapViewOfFileFromApp( - m_fileMapping.get(), - FILE_MAP_READ, - 0 /* FileOffset */, - 0 /* NumberOfBytesToMap */)); + m_fileData.reset( + MapViewOfFileFromApp(m_fileMapping.get(), FILE_MAP_READ, 0 /* FileOffset */, 0 /* NumberOfBytesToMap */)); #else m_fileData.reset(MapViewOfFile( m_fileMapping.get(), @@ -189,23 +176,19 @@ FileMappingBigString::FileMappingBigString( static const uint32_t s_pageSize = getPageSize(); if (m_fileSize % s_pageSize != 0) { // Data are owned by m_fileData, deleter is no-op - m_data = decltype(m_data){static_cast(m_fileData.get()) + offset, - [](void *) {}}; + m_data = decltype(m_data){static_cast(m_fileData.get()) + offset, [](void *) {}}; } else { // Ensure m_data is null-terminated - m_data = decltype(m_data){ - new char[m_size + 1], - [](void *pv) // Can't just say &opreator delete[] because of calling - // convention mismatches - { delete[] static_cast(pv); }}; - memcpy( - m_data.get(), static_cast(m_fileData.get()) + offset, m_size); + m_data = decltype(m_data){new char[m_size + 1], + [](void *pv) // Can't just say &opreator delete[] because of calling + // convention mismatches + { delete[] static_cast(pv); }}; + memcpy(m_data.get(), static_cast(m_fileData.get()) + offset, m_size); m_data.get()[m_size] = '\0'; } } -std::unique_ptr FileMappingBigString::fromPath( - const std::string &filenameUtf8) { +std::unique_ptr FileMappingBigString::fromPath(const std::string &filenameUtf8) { return std::make_unique(filenameUtf8); } diff --git a/vnext/Chakra/ChakraUtils.h b/vnext/Chakra/ChakraUtils.h index f8044214a58..0e0b823bd0c 100644 --- a/vnext/Chakra/ChakraUtils.h +++ b/vnext/Chakra/ChakraUtils.h @@ -18,13 +18,10 @@ namespace react { ChakraString jsStringFromBigString(const JSBigString &bigstr); -using JsValueRefUniquePtr = - std::unique_ptr>; +using JsValueRefUniquePtr = std::unique_ptr>; JsValueRefUniquePtr MakeJsValueRefUniquePtr(JsValueRef value); -JsValueRefUniquePtr jsArrayBufferFromBigString( - std::unique_ptr &&bigstr); -JsValueRefUniquePtr jsArrayBufferFromBigString( - const std::shared_ptr &bigstr); +JsValueRefUniquePtr jsArrayBufferFromBigString(std::unique_ptr &&bigstr); +JsValueRefUniquePtr jsArrayBufferFromBigString(const std::shared_ptr &bigstr); // We only support files whose size can fit within an uint32_t. Memory // mapping an empty or a larger file fails. If the file contents are not @@ -56,8 +53,7 @@ class FileMappingBigString : public JSBigString { return m_fileSize; } - static std::unique_ptr fromPath( - const std::string &filenameUtf8); + static std::unique_ptr fromPath(const std::string &filenameUtf8); private: static void fileDataDeleter(void *p) { diff --git a/vnext/Chakra/ChakraValue.cpp b/vnext/Chakra/ChakraValue.cpp index 355378957b7..a5e96efbf92 100644 --- a/vnext/Chakra/ChakraValue.cpp +++ b/vnext/Chakra/ChakraValue.cpp @@ -29,8 +29,7 @@ std::string ChakraValue::toJSONString(unsigned indent) const { auto stringToAdopt = JSValueCreateJSONString(m_value, indent, &exn); if (stringToAdopt == nullptr) { std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Exception creating JSON string: %s", exceptionText.c_str()); + throwJSExecutionException("Exception creating JSON string: %s", exceptionText.c_str()); } return ChakraString::ref(stringToAdopt).str(); } @@ -39,8 +38,7 @@ std::string ChakraValue::toJSONString(unsigned indent) const { ChakraValue ChakraValue::fromJSON(const ChakraString &json) { auto result = JSValueMakeFromJSONString(json); if (!result) { - throwJSExecutionException( - "Failed to create String from JSON: %s", json.str().c_str()); + throwJSExecutionException("Failed to create String from JSON: %s", json.str().c_str()); } return ChakraValue(result); } @@ -84,11 +82,9 @@ ChakraObject ChakraValue::asObject() { if (hasException) { JsGetAndClearException(&exn); std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Failed to convert to object: %s", exceptionText.c_str()); + throwJSExecutionException("Failed to convert to object: %s", exceptionText.c_str()); } else { - throwJSExecutionException( - "JsConvertValueToObject() failed for reason other than script exception."); + throwJSExecutionException("JsConvertValueToObject() failed for reason other than script exception."); } } @@ -108,41 +104,27 @@ ChakraValue ChakraValue::makeError(const char *error) { return ChakraValue(value); } -ChakraValue ChakraObject::callAsFunction( - std::initializer_list args) const { +ChakraValue ChakraObject::callAsFunction(std::initializer_list args) const { // OFFICEDEV // explicitly pass global object instead of nullptr for Chakra assert(args.size() < INT_MAX); - return callAsFunction( - ChakraObject::getGlobalObject(), - static_cast(args.size()), - args.begin()); + return callAsFunction(ChakraObject::getGlobalObject(), static_cast(args.size()), args.begin()); } -ChakraValue ChakraObject::callAsFunction( - const ChakraObject &thisObj, - std::initializer_list args) const { +ChakraValue ChakraObject::callAsFunction(const ChakraObject &thisObj, std::initializer_list args) const { assert(args.size() < INT_MAX); - return callAsFunction( - (JsValueRef)thisObj, static_cast(args.size()), args.begin()); + return callAsFunction((JsValueRef)thisObj, static_cast(args.size()), args.begin()); } -ChakraValue ChakraObject::callAsFunction(int nArgs, const JsValueRef args[]) - const { +ChakraValue ChakraObject::callAsFunction(int nArgs, const JsValueRef args[]) const { return callAsFunction(nullptr, nArgs, args); } -ChakraValue ChakraObject::callAsFunction( - const ChakraObject &thisObj, - int nArgs, - const JsValueRef args[]) const { +ChakraValue ChakraObject::callAsFunction(const ChakraObject &thisObj, int nArgs, const JsValueRef args[]) const { return callAsFunction(static_cast(thisObj), nArgs, args); } -ChakraValue ChakraObject::callAsFunction( - JsValueRef thisObj, - int nArgs, - const JsValueRef args[]) const { +ChakraValue ChakraObject::callAsFunction(JsValueRef thisObj, int nArgs, const JsValueRef args[]) const { JsValueRef exn = nullptr; auto argsWithThis = new JsValueRef[nArgs + 1]; @@ -152,11 +134,8 @@ ChakraValue ChakraObject::callAsFunction( argsWithThis[i + 1] = args[i]; JsValueRef value; - auto result = JsCallFunction( - m_obj, - const_cast(argsWithThis), - static_cast(nArgs + 1), - &value); + auto result = + JsCallFunction(m_obj, const_cast(argsWithThis), static_cast(nArgs + 1), &value); delete[] argsWithThis; if (result != JsNoError) { bool hasException = false; @@ -168,27 +147,21 @@ ChakraValue ChakraObject::callAsFunction( if (hasException) { JsGetAndClearException(&exn); std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Exception calling object as function: %s", exceptionText.c_str()); + throwJSExecutionException("Exception calling object as function: %s", exceptionText.c_str()); } else { - throwJSExecutionException( - "JsCallFunction() failed for reason other than script exception."); + throwJSExecutionException("JsCallFunction() failed for reason other than script exception."); } } return ChakraValue(value); } -ChakraObject ChakraObject::callAsConstructor( - std::initializer_list args) const { +ChakraObject ChakraObject::callAsConstructor(std::initializer_list args) const { JsValueRef exn = nullptr; JsValueRef value; auto result = JsConstructObject( - m_obj, - const_cast(args.begin()), - static_cast(args.size()), - &value); + m_obj, const_cast(args.begin()), static_cast(args.size()), &value); if (result != JsNoError) { bool hasException = false; @@ -200,11 +173,9 @@ ChakraObject ChakraObject::callAsConstructor( if (hasException) { JsGetAndClearException(&exn); std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Exception calling object as constructor: %s", exceptionText.c_str()); + throwJSExecutionException("Exception calling object as constructor: %s", exceptionText.c_str()); } else { - throwJSExecutionException( - "JsConstructObject() failed for reason other than script exception."); + throwJSExecutionException("JsConstructObject() failed for reason other than script exception."); } } @@ -216,8 +187,7 @@ ChakraValue ChakraObject::getProperty(const ChakraString &propName) const { JsValueRef property = JSObjectGetProperty(m_obj, propName, &exn); if (!property) { std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Failed to get property: %s", exceptionText.c_str()); + throwJSExecutionException("Failed to get property: %s", exceptionText.c_str()); } return ChakraValue(property); } @@ -227,8 +197,7 @@ ChakraValue ChakraObject::getPropertyAtIndex(unsigned index) const { JsValueRef property = JSObjectGetPropertyAtIndex(m_obj, index, &exn); if (!property) { std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Failed to get property at index %u: %s", index, exceptionText.c_str()); + throwJSExecutionException("Failed to get property at index %u: %s", index, exceptionText.c_str()); } return ChakraValue(property); } @@ -237,20 +206,16 @@ ChakraValue ChakraObject::getProperty(const char *propName) const { return getProperty(ChakraString(propName)); } -void ChakraObject::setProperty( - const ChakraString &propName, - const ChakraValue &value) const { +void ChakraObject::setProperty(const ChakraString &propName, const ChakraValue &value) const { JsValueRef exn = NULL; JSObjectSetProperty(m_obj, propName, value, kJSPropertyAttributeNone, &exn); if (exn) { std::string exceptionText = ChakraValue(exn).toString().str(); - throwJSExecutionException( - "Failed to set property: %s", exceptionText.c_str()); + throwJSExecutionException("Failed to set property: %s", exceptionText.c_str()); } } -void ChakraObject::setProperty(const char *propName, const ChakraValue &value) - const { +void ChakraObject::setProperty(const char *propName, const ChakraValue &value) const { setProperty(ChakraString(propName), value); } @@ -260,8 +225,7 @@ std::vector ChakraObject::getPropertyNames() const { std::vector names; names.reserve(count); for (decltype(count) i = 0; i < count; i++) { - names.emplace_back( - ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i))); + names.emplace_back(ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i))); } // PropertyNameArrayRelease(namesRef); return names; @@ -272,8 +236,7 @@ std::unordered_map ChakraObject::toJSONMap() const { auto namesRef = JSObjectCopyPropertyNames(m_obj); auto count = JSPropertyNameArrayGetCount(namesRef); for (decltype(count) i = 0; i < count; i++) { - auto key = - ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i)); + auto key = ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i)); map.emplace(key.str(), getProperty(key).toJSONString()); } // PropertyNameArrayRelease(namesRef); diff --git a/vnext/Chakra/ChakraValue.h b/vnext/Chakra/ChakraValue.h index 984c2db2766..5ac0a12d24a 100644 --- a/vnext/Chakra/ChakraValue.h +++ b/vnext/Chakra/ChakraValue.h @@ -131,8 +131,7 @@ class ChakraObject { // TODO :: VEC is value is not object. } - ChakraObject(ChakraObject &&other) - : m_obj(other.m_obj), m_isProtected(other.m_isProtected) { + ChakraObject(ChakraObject &&other) : m_obj(other.m_obj), m_isProtected(other.m_isProtected) { other.m_obj = nullptr; other.m_isProtected = false; } @@ -160,22 +159,16 @@ class ChakraObject { } ChakraValue callAsFunction(std::initializer_list args) const; - ChakraValue callAsFunction( - const ChakraObject &thisObj, - std::initializer_list args) const; + ChakraValue callAsFunction(const ChakraObject &thisObj, std::initializer_list args) const; ChakraValue callAsFunction(int nArgs, const JsValueRef args[]) const; - ChakraValue callAsFunction( - const ChakraObject &thisObj, - int nArgs, - const JsValueRef args[]) const; + ChakraValue callAsFunction(const ChakraObject &thisObj, int nArgs, const JsValueRef args[]) const; ChakraObject callAsConstructor(std::initializer_list args) const; ChakraValue getProperty(const ChakraString &propName) const; ChakraValue getProperty(const char *propName) const; ChakraValue getPropertyAtIndex(unsigned index) const; - void setProperty(const ChakraString &propName, const ChakraValue &value) - const; + void setProperty(const ChakraString &propName, const ChakraValue &value) const; void setProperty(const char *propName, const ChakraValue &value) const; std::unordered_map toJSONMap() const; @@ -203,8 +196,7 @@ class ChakraObject { JsValueRef m_obj; bool m_isProtected = false; - ChakraValue - callAsFunction(JsValueRef thisObj, int nArgs, const JsValueRef args[]) const; + ChakraValue callAsFunction(JsValueRef thisObj, int nArgs, const JsValueRef args[]) const; }; class ChakraValue { diff --git a/vnext/Chakra/Utf8DebugExtensions.cpp b/vnext/Chakra/Utf8DebugExtensions.cpp index edb2101fd55..eb0ae764aa4 100644 --- a/vnext/Chakra/Utf8DebugExtensions.cpp +++ b/vnext/Chakra/Utf8DebugExtensions.cpp @@ -14,9 +14,7 @@ namespace facebook { namespace react { -JsErrorCode JsGetPropertyIdFromNameUtf8( - _In_z_ const char *name, - _Out_ JsPropertyIdRef *propertyId) { +JsErrorCode JsGetPropertyIdFromNameUtf8(_In_z_ const char *name, _Out_ JsPropertyIdRef *propertyId) { if (name == nullptr) { return JsErrorNullArgument; } @@ -24,8 +22,7 @@ JsErrorCode JsGetPropertyIdFromNameUtf8( size_t convertedChars = 0; size_t stringLength = strlen(name); std::unique_ptr wname(new wchar_t[stringLength + 1]); - mbstowcs_s( - &convertedChars, wname.get(), stringLength + 1, name, stringLength); + mbstowcs_s(&convertedChars, wname.get(), stringLength + 1, name, stringLength); if (!wname.get()) { return JsErrorOutOfMemory; @@ -45,8 +42,7 @@ JsErrorCode JsPointerToStringUtf8( // JsCreateString is not supported in universal chakra engine // So we convert the utf8 string to utf16 first and call JsPointerToString to // convert the string to JsValueRef - std::wstring wstr = - Microsoft::Common::Unicode::Utf8ToUtf16(stringValue, stringLength); + std::wstring wstr = Microsoft::Common::Unicode::Utf8ToUtf16(stringValue, stringLength); return JsPointerToString(wstr.c_str(), wstr.size(), string); #else @@ -54,9 +50,7 @@ JsErrorCode JsPointerToStringUtf8( #endif } -JsErrorCode JsStringToStdStringUtf8( - _In_ JsValueRef stringValue, - std::string &string) { +JsErrorCode JsStringToStdStringUtf8(_In_ JsValueRef stringValue, std::string &string) { const wchar_t *wstr; size_t wstrLen; JsErrorCode err = JsStringToPointer(stringValue, &wstr, &wstrLen); diff --git a/vnext/Chakra/Utf8DebugExtensions.h b/vnext/Chakra/Utf8DebugExtensions.h index ba2829d14d1..0c40768a6ad 100644 --- a/vnext/Chakra/Utf8DebugExtensions.h +++ b/vnext/Chakra/Utf8DebugExtensions.h @@ -22,18 +22,14 @@ class StringConversionTest_Universal; namespace facebook { namespace react { -JsErrorCode JsGetPropertyIdFromNameUtf8( - _In_z_ const char *name, - _Out_ JsPropertyIdRef *propertyId); +JsErrorCode JsGetPropertyIdFromNameUtf8(_In_z_ const char *name, _Out_ JsPropertyIdRef *propertyId); JsErrorCode JsPointerToStringUtf8( _In_reads_(stringLength) const char *stringValue, _In_ size_t stringLength, _Out_ JsValueRef *string) noexcept; -JsErrorCode JsStringToStdStringUtf8( - _In_ JsValueRef stringValue, - std::string &string); +JsErrorCode JsStringToStdStringUtf8(_In_ JsValueRef stringValue, std::string &string); } // namespace react } // namespace facebook diff --git a/vnext/Common/unicode.cpp b/vnext/Common/unicode.cpp index c9cd45c9405..2bfeb663438 100644 --- a/vnext/Common/unicode.cpp +++ b/vnext/Common/unicode.cpp @@ -29,8 +29,7 @@ std::wstring Utf8ToUtf16(const char *utf8, size_t utf8Len) { // Extra parentheses needed here to prevent expanding max as a // Windows-specific preprocessor macro. if (utf8Len > static_cast((std::numeric_limits::max)())) { - throw std::overflow_error( - "Length of input string to Utf8ToUtf16() must fit into an int."); + throw std::overflow_error("Length of input string to Utf8ToUtf16() must fit into an int."); } const int utf8Length = static_cast(utf8Len); @@ -80,8 +79,7 @@ std::wstring Utf8ToUtf16(const char *utf8, size_t utf8Len) { if (result == 0) { throw UnicodeConversionException( - "Cannot convert from UTF-8 to UTF-16 (MultiByteToWideChar failed).", - GetLastError()); + "Cannot convert from UTF-8 to UTF-16 (MultiByteToWideChar failed).", GetLastError()); } return utf16; @@ -112,8 +110,7 @@ std::string Utf16ToUtf8(const wchar_t *utf16, size_t utf16Len) { // Extra parentheses needed here to prevent expanding max as a // Windows-specific preprocessor macro. if (utf16Len > static_cast((std::numeric_limits::max)())) { - throw std::overflow_error( - "Length of input string to Utf16ToUtf8() must fit into an int."); + throw std::overflow_error("Length of input string to Utf16ToUtf8() must fit into an int."); } const int utf16Length = static_cast(utf16Len); @@ -167,16 +164,14 @@ std::string Utf16ToUtf8(const wchar_t *utf16, size_t utf16Len) { if (result == 0) { throw UnicodeConversionException( - "Cannot convert from UTF-16 to UTF-8 (WideCharToMultiByte failed).", - GetLastError()); + "Cannot convert from UTF-16 to UTF-8 (WideCharToMultiByte failed).", GetLastError()); } return utf8; } std::string Utf16ToUtf8(const char16_t *utf16, size_t utf16Len) { - return Utf16ToUtf8( - Utilities::CheckedReinterpretCast(utf16), utf16Len); + return Utf16ToUtf8(Utilities::CheckedReinterpretCast(utf16), utf16Len); } std::string Utf16ToUtf8(const wchar_t *utf16) { @@ -192,9 +187,7 @@ std::string Utf16ToUtf8(const std::wstring &utf16) { } std::string Utf16ToUtf8(const std::u16string &utf16) { - return Utf16ToUtf8( - Utilities::CheckedReinterpretCast(utf16.c_str()), - utf16.length()); + return Utf16ToUtf8(Utilities::CheckedReinterpretCast(utf16.c_str()), utf16.length()); } #if _HAS_CXX17 @@ -203,9 +196,7 @@ std::string Utf16ToUtf8(const std::wstring_view &utf16) { } std::string Utf16ToUtf8(const std::u16string_view &utf16) { - return Utf16ToUtf8( - Utilities::CheckedReinterpretCast(utf16.data()), - utf16.length()); + return Utf16ToUtf8(Utilities::CheckedReinterpretCast(utf16.data()), utf16.length()); } #endif diff --git a/vnext/Common/utilities.h b/vnext/Common/utilities.h index 467a29069c8..96a7d02ae85 100644 --- a/vnext/Common/utilities.h +++ b/vnext/Common/utilities.h @@ -21,10 +21,8 @@ inline TResultTypePtr CheckedReinterpretCast(TOriginalTypePtr p) noexcept { using TOriginalType = typename std::remove_pointer::type; static_assert( - std::is_pointer::value && - std::is_pointer::value && - std::is_integral::value && - std::is_integral::value && + std::is_pointer::value && std::is_pointer::value && + std::is_integral::value && std::is_integral::value && sizeof(TResultType) == sizeof(TOriginalType), "CheckedReinterpretCast can only be used to cast from T1* to T2*, where " "T1 and T2 are integral types of the same size."); diff --git a/vnext/Desktop.ABITests/ActivationFactory.cpp b/vnext/Desktop.ABITests/ActivationFactory.cpp index a2e80960587..ceafcae5688 100644 --- a/vnext/Desktop.ABITests/ActivationFactory.cpp +++ b/vnext/Desktop.ABITests/ActivationFactory.cpp @@ -4,38 +4,26 @@ using namespace winrt; extern "C" { -int32_t WINRT_CALL OS_RoGetActivationFactory( - void *classId, - guid const &iid, - void **factory) noexcept; +int32_t WINRT_CALL OS_RoGetActivationFactory(void *classId, guid const &iid, void **factory) noexcept; } #ifdef _M_IX86 -#pragma comment( \ - linker, \ - "/alternatename:_OS_RoGetActivationFactory@12=_RoGetActivationFactory@12") +#pragma comment(linker, "/alternatename:_OS_RoGetActivationFactory@12=_RoGetActivationFactory@12") #else -#pragma comment( \ - linker, "/alternatename:OS_RoGetActivationFactory=RoGetActivationFactory") +#pragma comment(linker, "/alternatename:OS_RoGetActivationFactory=RoGetActivationFactory") #endif bool starts_with(std::wstring_view value, std::wstring_view match) noexcept { return 0 == value.compare(0, match.size(), match); } -int32_t WINRT_CALL WINRT_RoGetActivationFactory( - void *classId, - guid const &iid, - void **factory) noexcept { +int32_t WINRT_CALL WINRT_RoGetActivationFactory(void *classId, guid const &iid, void **factory) noexcept { *factory = nullptr; std::wstring_view name{WINRT_WindowsGetStringRawBuffer(classId, nullptr)}; HMODULE library{nullptr}; if (starts_with(name, L"facebook.react.")) { - library = LoadLibraryExW( - RNDLLPATH, - NULL, - LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); + library = LoadLibraryExW(RNDLLPATH, NULL, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); } else { return OS_RoGetActivationFactory(classId, iid, factory); } @@ -44,10 +32,8 @@ int32_t WINRT_CALL WINRT_RoGetActivationFactory( return HRESULT_FROM_WIN32(GetLastError()); } - using DllGetActivationFactory = - HRESULT __stdcall(void *classId, void **factory); - auto call = reinterpret_cast( - GetProcAddress(library, "DllGetActivationFactory")); + using DllGetActivationFactory = HRESULT __stdcall(void *classId, void **factory); + auto call = reinterpret_cast(GetProcAddress(library, "DllGetActivationFactory")); if (!call) { HRESULT const hr = HRESULT_FROM_WIN32(GetLastError()); @@ -55,8 +41,7 @@ int32_t WINRT_CALL WINRT_RoGetActivationFactory( return hr; } - winrt::com_ptr - activation_factory; + winrt::com_ptr activation_factory; HRESULT const hr = call(classId, activation_factory.put_void()); if (FAILED(hr)) { diff --git a/vnext/Desktop.ABITests/MessageQueueShim.cpp b/vnext/Desktop.ABITests/MessageQueueShim.cpp index fb642303911..76c5a180223 100644 --- a/vnext/Desktop.ABITests/MessageQueueShim.cpp +++ b/vnext/Desktop.ABITests/MessageQueueShim.cpp @@ -4,20 +4,16 @@ namespace ABITests { MessageQueueShim::MessageQueueShim() - : m_messageQueueThread{std::make_shared< - Microsoft::React::Test::ControllableMessageQueueThread>()} {} + : m_messageQueueThread{std::make_shared()} {} -MessageQueueShim::MessageQueueShim( - std::shared_ptr<::facebook::react::MessageQueueThread> messageQueueThread) +MessageQueueShim::MessageQueueShim(std::shared_ptr<::facebook::react::MessageQueueThread> messageQueueThread) : m_messageQueueThread{std::move(messageQueueThread)} {} -void MessageQueueShim::Run( - ::winrt::facebook::react::QueueItem const &item) const { +void MessageQueueShim::Run(::winrt::facebook::react::QueueItem const &item) const { m_messageQueueThread->runOnQueue(item); } -void MessageQueueShim::RunSync( - ::winrt::facebook::react::QueueItem const &item) const { +void MessageQueueShim::RunSync(::winrt::facebook::react::QueueItem const &item) const { m_messageQueueThread->runOnQueueSync(item); } diff --git a/vnext/Desktop.ABITests/MessageQueueShim.h b/vnext/Desktop.ABITests/MessageQueueShim.h index d70455f1fd0..889238b1c78 100644 --- a/vnext/Desktop.ABITests/MessageQueueShim.h +++ b/vnext/Desktop.ABITests/MessageQueueShim.h @@ -4,13 +4,10 @@ #include namespace ABITests { -class MessageQueueShim : public winrt::implements< - MessageQueueShim, - ::winrt::facebook::react::IMessageQueue> { +class MessageQueueShim : public winrt::implements { public: MessageQueueShim(); - MessageQueueShim(std::shared_ptr<::facebook::react::MessageQueueThread> - messageQueueThread); + MessageQueueShim(std::shared_ptr<::facebook::react::MessageQueueThread> messageQueueThread); void Run(::winrt::facebook::react::QueueItem const &item) const; void RunSync(::winrt::facebook::react::QueueItem const &item) const; void QuitSync() const; diff --git a/vnext/Desktop.ABITests/NativeLogEventTests.cpp b/vnext/Desktop.ABITests/NativeLogEventTests.cpp index 5ac8d028d0b..cbe0347efd0 100644 --- a/vnext/Desktop.ABITests/NativeLogEventTests.cpp +++ b/vnext/Desktop.ABITests/NativeLogEventTests.cpp @@ -14,8 +14,7 @@ namespace ABITests { TEST_CLASS(NativeLogEventTests) { // RAII helper to ensure log handlers get unregistered struct NativeLogInitializationGuard { - NativeLogInitializationGuard( - ::winrt::facebook::react::NativeLogHandler const &handler) noexcept { + NativeLogInitializationGuard(::winrt::facebook::react::NativeLogHandler const &handler) noexcept { m_registrationCookie = NativeLogEventSource::InitializeLogging(handler); } @@ -31,13 +30,11 @@ TEST_CLASS(NativeLogEventTests) { init_apartment(winrt::apartment_type::single_threaded); // anticipatory, see TODO below - std::vector> - logMessages; + std::vector> logMessages; - NativeLogHandler handler{ - [&logMessages](::winrt::facebook::react::LogLevel l, hstring const &m) { - logMessages.emplace_back(l, m.c_str()); - }}; + NativeLogHandler handler{[&logMessages](::winrt::facebook::react::LogLevel l, hstring const &m) { + logMessages.emplace_back(l, m.c_str()); + }}; NativeLogInitializationGuard initializationGuard{handler}; diff --git a/vnext/Desktop.ABITests/NativeTraceEventTests.cpp b/vnext/Desktop.ABITests/NativeTraceEventTests.cpp index 7b89cbacfb9..df24f2191ea 100644 --- a/vnext/Desktop.ABITests/NativeTraceEventTests.cpp +++ b/vnext/Desktop.ABITests/NativeTraceEventTests.cpp @@ -13,15 +13,10 @@ using namespace winrt; namespace ABITests { TEST_CLASS(NativeTraceEventTests) { - struct TestTraceHandler : public winrt::implements< - TestTraceHandler, - ::winrt::facebook::react::INativeTraceHandler> { - void JSBeginSection( - param::hstring const &profileName, - param::hstring const &args) const { + struct TestTraceHandler : public winrt::implements { + void JSBeginSection(param::hstring const &profileName, param::hstring const &args) const { if (this->OnJSBeginSection) { - this->OnJSBeginSection( - ((hstring)profileName).c_str(), ((hstring)args).c_str()); + this->OnJSBeginSection(((hstring)profileName).c_str(), ((hstring)args).c_str()); } } @@ -31,15 +26,13 @@ TEST_CLASS(NativeTraceEventTests) { } }; - void JSBeginAsyncSection(param::hstring const &profileName, uint32_t cookie) - const { + void JSBeginAsyncSection(param::hstring const &profileName, uint32_t cookie) const { if (this->OnJSBeginAsyncSection) { this->OnJSBeginAsyncSection(((hstring)profileName).c_str(), cookie); } } - void JSEndAsyncSection(param::hstring const &profileName, uint32_t cookie) - const { + void JSEndAsyncSection(param::hstring const &profileName, uint32_t cookie) const { if (this->OnJSEndAsyncSection) { this->OnJSEndAsyncSection(((hstring)profileName).c_str(), cookie); } @@ -51,24 +44,16 @@ TEST_CLASS(NativeTraceEventTests) { } } - void NativeBeginSection( - param::hstring const &profileName, - param::hstring const &args) const { + void NativeBeginSection(param::hstring const &profileName, param::hstring const &args) const { if (this->OnNativeBeginSection) { - this->OnNativeBeginSection( - ((hstring)profileName).c_str(), ((hstring)args).c_str()); + this->OnNativeBeginSection(((hstring)profileName).c_str(), ((hstring)args).c_str()); } } - void NativeEndSection( - param::hstring const &profileName, - param::hstring const &args, - int64_t durationInNanoseconds) const { + void NativeEndSection(param::hstring const &profileName, param::hstring const &args, int64_t durationInNanoseconds) + const { if (this->OnNativeEndSection) { - this->OnNativeEndSection( - ((hstring)profileName).c_str(), - ((hstring)args).c_str(), - durationInNanoseconds); + this->OnNativeEndSection(((hstring)profileName).c_str(), ((hstring)args).c_str(), durationInNanoseconds); } } @@ -78,14 +63,12 @@ TEST_CLASS(NativeTraceEventTests) { std::function OnJSEndAsyncSection; std::function OnJSCounter; std::function OnNativeBeginSection; - std::function - OnNativeEndSection; + std::function OnNativeEndSection; }; // RAII helper to ensure trace handlers get unregistered struct NativeTraceInitializationGuard { - NativeTraceInitializationGuard( - const ::winrt::facebook::react::INativeTraceHandler &handler) noexcept { + NativeTraceInitializationGuard(const ::winrt::facebook::react::INativeTraceHandler &handler) noexcept { m_registrationCookie = NativeTraceEventSource::InitializeTracing(handler); } @@ -100,15 +83,13 @@ TEST_CLASS(NativeTraceEventTests) { TEST_METHOD(NativeTraceEventHandler_Registered) { init_apartment(winrt::apartment_type::single_threaded); - ::winrt::facebook::react::INativeTraceHandler handler = - winrt::make(); + ::winrt::facebook::react::INativeTraceHandler handler = winrt::make(); // anticipatory, see TODO below std::stack> jsSections; - handler.as()->OnJSBeginSection = - [&jsSections](const wchar_t *pn, const wchar_t *a) { - jsSections.emplace(pn, a); - }; + handler.as()->OnJSBeginSection = [&jsSections](const wchar_t *pn, const wchar_t *a) { + jsSections.emplace(pn, a); + }; NativeTraceInitializationGuard initializationGuard(handler); diff --git a/vnext/Desktop.ABITests/PerfTests.cpp b/vnext/Desktop.ABITests/PerfTests.cpp index f87d89ea413..4c4cc39056e 100644 --- a/vnext/Desktop.ABITests/PerfTests.cpp +++ b/vnext/Desktop.ABITests/PerfTests.cpp @@ -17,13 +17,11 @@ namespace ABITests { TEST_CLASS(PerfTests) { static const uint32_t iterations = 100000000; - static void HandleLogEvents( - ::winrt::facebook::react::LogLevel l, hstring const &m) {} + static void HandleLogEvents(::winrt::facebook::react::LogLevel l, hstring const &m) {} TEST_METHOD(TimeNewAbiInitializeLogging) { // ensure the DLL has been loaded before starting perf measurements - uint32_t loggingRegistrationToken = - NativeLogEventSource::InitializeLogging(HandleLogEvents); + uint32_t loggingRegistrationToken = NativeLogEventSource::InitializeLogging(HandleLogEvents); LARGE_INTEGER accu{0}, a{0}, b{0}; @@ -59,15 +57,13 @@ TEST_CLASS(PerfTests) { PrintResult("TimeOldAbiInitializeLogging", iterations, accu.QuadPart); } - static void PrintResult( - const char *testName, uint32_t iterations, LONGLONG accu) { + static void PrintResult(const char *testName, uint32_t iterations, LONGLONG accu) { LARGE_INTEGER freq{0}; Assert::IsTrue(QueryPerformanceFrequency(&freq)); std::stringstream ss; double time = static_cast(accu) / freq.QuadPart; - ss << testName << ": its=" << iterations << "; accu=" << accu - << "; freq=" << freq.QuadPart << "; tt=" << time + ss << testName << ": its=" << iterations << "; accu=" << accu << "; freq=" << freq.QuadPart << "; tt=" << time << " s; tc=" << time / iterations * std::pow(10, 9) << " ns"; Logger::WriteMessage(ss.str().c_str()); } diff --git a/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.cpp b/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.cpp index 21989c2c22f..229f8785f23 100644 --- a/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.cpp +++ b/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.cpp @@ -9,8 +9,7 @@ using namespace facebook::react; namespace Microsoft::React::Test { -std::shared_ptr -ChakraRuntimeHolder::getRuntime() noexcept { +std::shared_ptr ChakraRuntimeHolder::getRuntime() noexcept { std::call_once(once_flag_, [this]() { initRuntime(); }); if (!runtime_) @@ -30,15 +29,13 @@ void ChakraRuntimeHolder::initRuntime() noexcept { Microsoft::JSI::Logger ChakraRuntimeHolder::ChakraRuntimeLoggerFromReactLogger( facebook::react::NativeLoggingHook loggingCallback) noexcept { - return [loggingCallback = std::move(loggingCallback)]( - const char *message, Microsoft::JSI::LogLevel logLevel) -> void { - loggingCallback( - static_cast(logLevel), message); - }; + return + [loggingCallback = std::move(loggingCallback)](const char *message, Microsoft::JSI::LogLevel logLevel) -> void { + loggingCallback(static_cast(logLevel), message); + }; } -Microsoft::JSI::ChakraRuntimeArgs -ChakraRuntimeHolder::RuntimeArgsFromDevSettings( +Microsoft::JSI::ChakraRuntimeArgs ChakraRuntimeHolder::RuntimeArgsFromDevSettings( std::shared_ptr devSettings) noexcept { Microsoft::JSI::ChakraRuntimeArgs runtimeArgs; @@ -49,12 +46,10 @@ ChakraRuntimeHolder::RuntimeArgsFromDevSettings( runtimeArgs.enableDebugging = devSettings->useDirectDebugger; if (devSettings->loggingCallback) { - runtimeArgs.loggingCallback = - ChakraRuntimeLoggerFromReactLogger(devSettings->loggingCallback); + runtimeArgs.loggingCallback = ChakraRuntimeLoggerFromReactLogger(devSettings->loggingCallback); } - runtimeArgs.enableNativePerformanceNow = - devSettings->enableNativePerformanceNow; + runtimeArgs.enableNativePerformanceNow = devSettings->enableNativePerformanceNow; runtimeArgs.enableJITCompilation = devSettings->useJITCompilation; diff --git a/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.h b/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.h index dfd72bb184f..304f06f5ef5 100644 --- a/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.h +++ b/vnext/Desktop.IntegrationTests/ChakraRuntimeHolder.h @@ -19,8 +19,7 @@ class ChakraRuntimeHolder : public facebook::jsi::RuntimeHolderLazyInit { std::shared_ptr devSettings, std::shared_ptr jsQueue, std::unique_ptr &&scriptStore, - std::unique_ptr - &&preparedScriptStore) noexcept + std::unique_ptr &&preparedScriptStore) noexcept : args_(RuntimeArgsFromDevSettings(devSettings)) { args_.jsQueue = std::move(jsQueue); args_.scriptStore = std::move(scriptStore); diff --git a/vnext/Desktop.IntegrationTests/DesktopTestInstance.cpp b/vnext/Desktop.IntegrationTests/DesktopTestInstance.cpp index 6db85de025f..8a04a3294bb 100644 --- a/vnext/Desktop.IntegrationTests/DesktopTestInstance.cpp +++ b/vnext/Desktop.IntegrationTests/DesktopTestInstance.cpp @@ -13,12 +13,10 @@ namespace Microsoft::React::Test { #pragma region DesktopTestInstance members -DesktopTestInstance::DesktopTestInstance( - shared_ptr instanceWrapper) noexcept +DesktopTestInstance::DesktopTestInstance(shared_ptr instanceWrapper) noexcept : m_instanceWrapper{move(instanceWrapper)} {} -void DesktopTestInstance::AttachMeasuredRootView( - std::string &&appName) noexcept { +void DesktopTestInstance::AttachMeasuredRootView(std::string &&appName) noexcept { m_rootView = make_unique(move(appName)); m_instanceWrapper->AttachMeasuredRootView(m_rootView.get(), {}); @@ -28,8 +26,7 @@ void DesktopTestInstance::DetachRootView() noexcept { m_instanceWrapper->DetachRootView(m_rootView.get()); } -shared_ptr DesktopTestInstance::GetInnerInstance() - const noexcept { +shared_ptr DesktopTestInstance::GetInnerInstance() const noexcept { return m_instanceWrapper->GetInstance(); } diff --git a/vnext/Desktop.IntegrationTests/DesktopTestInstance.h b/vnext/Desktop.IntegrationTests/DesktopTestInstance.h index 3cf084d1df6..41e7ade7e27 100644 --- a/vnext/Desktop.IntegrationTests/DesktopTestInstance.h +++ b/vnext/Desktop.IntegrationTests/DesktopTestInstance.h @@ -13,15 +13,13 @@ class DesktopTestInstance : public ITestInstance { std::unique_ptr m_rootView; public: - DesktopTestInstance(std::shared_ptr - instanceWrapper) noexcept; + DesktopTestInstance(std::shared_ptr instanceWrapper) noexcept; #pragma region ITestInstance members void AttachMeasuredRootView(std::string &&appName) noexcept; void DetachRootView() noexcept; - std::shared_ptr GetInnerInstance() const - noexcept override; + std::shared_ptr GetInnerInstance() const noexcept override; #pragma endregion ITestInstance members }; diff --git a/vnext/Desktop.IntegrationTests/DesktopTestRunner.cpp b/vnext/Desktop.IntegrationTests/DesktopTestRunner.cpp index a9eabc9055f..3695fb14180 100644 --- a/vnext/Desktop.IntegrationTests/DesktopTestRunner.cpp +++ b/vnext/Desktop.IntegrationTests/DesktopTestRunner.cpp @@ -35,70 +35,45 @@ shared_ptr TestRunner::GetInstance( vector> &&cxxModules, shared_ptr devSettings) noexcept { vector> viewManagers; - viewManagers.push_back( - unique_ptr(new TestViewManager("RCTView"))); - viewManagers.push_back( - unique_ptr(new TestViewManager("RCTText"))); - viewManagers.push_back( - unique_ptr(new TestViewManager("RCTRawText"))); - viewManagers.push_back( - unique_ptr(new TestViewManager("RCTScrollView"))); + viewManagers.push_back(unique_ptr(new TestViewManager("RCTView"))); + viewManagers.push_back(unique_ptr(new TestViewManager("RCTText"))); + viewManagers.push_back(unique_ptr(new TestViewManager("RCTRawText"))); + viewManagers.push_back(unique_ptr(new TestViewManager("RCTScrollView"))); - auto uiManager = - createIUIManager(move(viewManagers), new TestNativeUIManager()); + auto uiManager = createIUIManager(move(viewManagers), new TestNativeUIManager()); auto nativeQueue = make_shared(); auto jsQueue = make_shared(); - devSettings->jsiRuntimeHolder = std::make_shared( - devSettings, jsQueue, nullptr, nullptr); + devSettings->jsiRuntimeHolder = std::make_shared(devSettings, jsQueue, nullptr, nullptr); - vector>> - extraModules{ - make_tuple( - "AsyncLocalStorage", - []() -> unique_ptr { - return CreateAsyncStorageModule(L"ReactNativeAsyncStorage"); - }, - nativeQueue), - make_tuple( - "WebSocketModule", - []() -> unique_ptr { - return make_unique(); - }, - nativeQueue), - make_tuple( - "Networking", - []() -> unique_ptr { - return make_unique(); - }, - nativeQueue), - make_tuple( - "Timing", - [nativeQueue]() -> unique_ptr { - return CreateTimingModule(nativeQueue); - }, - nativeQueue), - // Apparently mandatory for /IntegrationTests - make_tuple( - AppStateModule::name, - []() -> unique_ptr { - return make_unique(make_unique()); - }, - nativeQueue), - // Apparently mandatory for /IntegrationTests - make_tuple( - "UIManager", - [uiManager]() -> unique_ptr { - return createUIManagerModule(uiManager); - }, - nativeQueue), - // Apparently mandatory for /IntegrationTests - make_tuple( - TestDeviceInfoModule::name, - []() -> unique_ptr { - return make_unique(); - }, - nativeQueue)}; + vector>> extraModules{ + make_tuple( + "AsyncLocalStorage", + []() -> unique_ptr { return CreateAsyncStorageModule(L"ReactNativeAsyncStorage"); }, + nativeQueue), + make_tuple( + "WebSocketModule", []() -> unique_ptr { return make_unique(); }, nativeQueue), + make_tuple( + "Networking", + []() -> unique_ptr { return make_unique(); }, + nativeQueue), + make_tuple( + "Timing", [nativeQueue]() -> unique_ptr { return CreateTimingModule(nativeQueue); }, nativeQueue), + // Apparently mandatory for /IntegrationTests + make_tuple( + AppStateModule::name, + []() -> unique_ptr { return make_unique(make_unique()); }, + nativeQueue), + // Apparently mandatory for /IntegrationTests + make_tuple( + "UIManager", + [uiManager]() -> unique_ptr { return createUIManagerModule(uiManager); }, + nativeQueue), + // Apparently mandatory for /IntegrationTests + make_tuple( + TestDeviceInfoModule::name, + []() -> unique_ptr { return make_unique(); }, + nativeQueue)}; // <0> string // <1> CxxModule::Provider @@ -118,8 +93,7 @@ shared_ptr TestRunner::GetInstance( std::move(devSettings)); instanceWrapper->loadBundle(std::move(jsBundleFile)); - return shared_ptr( - new DesktopTestInstance(move(instanceWrapper))); + return shared_ptr(new DesktopTestInstance(move(instanceWrapper))); } } // namespace Microsoft::React::Test diff --git a/vnext/Desktop.IntegrationTests/HttpResourceIntegrationTests.cpp b/vnext/Desktop.IntegrationTests/HttpResourceIntegrationTests.cpp index bf6927e75d8..bb9f01ada79 100644 --- a/vnext/Desktop.IntegrationTests/HttpResourceIntegrationTests.cpp +++ b/vnext/Desktop.IntegrationTests/HttpResourceIntegrationTests.cpp @@ -11,8 +11,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; using std::string; using std::vector; -TEST_CLASS(HttpResourceIntegrationTest){ - TEST_METHOD(MakeIsNotNull){auto rc = IHttpResource::Make(); +TEST_CLASS(HttpResourceIntegrationTest){TEST_METHOD(MakeIsNotNull){auto rc = IHttpResource::Make(); Assert::IsFalse(nullptr == rc); } @@ -25,15 +24,7 @@ TEST_METHOD(RequestGetSucceeds) { rc->SetOnResponse([&received](const string &message) { received = true; }); rc->SetOnError([&error](const string &message) { error = message; }); - rc->SendRequest( - "GET", - "http://localhost:8081/debugger-ui", - {}, - dynamic(), - "text", - false, - 1000, - [](int64_t) {}); + rc->SendRequest("GET", "http://localhost:8081/debugger-ui", {}, dynamic(), "text", false, 1000, [](int64_t) {}); Assert::IsTrue(sent); Assert::IsTrue(received); @@ -45,15 +36,7 @@ TEST_METHOD(RequestGetFails) { string error; rc->SetOnError([&error](const string &message) { error = message; }); - rc->SendRequest( - "GET", - "http://nonexistinghost", - {}, - dynamic(), - "text", - false, - 1000, - [](int64_t) {}); + rc->SendRequest("GET", "http://nonexistinghost", {}, dynamic(), "text", false, 1000, [](int64_t) {}); Assert::AreEqual(string("No such host is known"), error); } diff --git a/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp b/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp index 6810b92e4f4..118c6660866 100644 --- a/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp +++ b/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp @@ -20,10 +20,8 @@ TEST_CLASS(RNTesterIntegrationTests) { TestRunner m_runner; void TestComponent(std::string && testComponent) { - auto result = m_runner.RunTest( - "IntegrationTests/IntegrationTestsAppWin", std::move(testComponent)); - Assert::AreNotEqual( - TestStatus::Pending, result.Status, result.Message.c_str()); + auto result = m_runner.RunTest("IntegrationTests/IntegrationTestsAppWin", std::move(testComponent)); + Assert::AreNotEqual(TestStatus::Pending, result.Status, result.Message.c_str()); Assert::AreEqual(TestStatus::Passed, result.Status, result.Message.c_str()); } @@ -42,8 +40,7 @@ TEST_CLASS(RNTesterIntegrationTests) { auto result = m_runner.RunTest( "IntegrationTests/LoggingTest", "LoggingTest", - [&logCalls]( - facebook::react::RCTLogLevel logLevel, const char *message) { + [&logCalls](facebook::react::RCTLogLevel logLevel, const char *message) { if ((strcmp(message, "This is from console.trace") == 0) && (logLevel == facebook::react::RCTLogLevel::Trace)) { logCalls++; @@ -54,13 +51,11 @@ TEST_CLASS(RNTesterIntegrationTests) { logCalls++; } - if ((strcmp(message, "This is from console.info") == 0) && - (logLevel == facebook::react::RCTLogLevel::Info)) { + if ((strcmp(message, "This is from console.info") == 0) && (logLevel == facebook::react::RCTLogLevel::Info)) { logCalls++; } - if ((strcmp(message, "This is from console.log") == 0) && - (logLevel == facebook::react::RCTLogLevel::Info)) { + if ((strcmp(message, "This is from console.log") == 0) && (logLevel == facebook::react::RCTLogLevel::Info)) { logCalls++; } @@ -88,8 +83,7 @@ TEST_CLASS(RNTesterIntegrationTests) { // default Logging hook. In the TestRunner's Logging hook we interpret all // error traces as test failures, which is exactly what we expect in this // case - auto result = - m_runner.RunTest("IntegrationTests/LoggingTest", "LoggingTest"); + auto result = m_runner.RunTest("IntegrationTests/LoggingTest", "LoggingTest"); Assert::AreEqual(TestStatus::Failed, result.Status); Assert::AreEqual(L"This is from console.error", result.Message.c_str()); } diff --git a/vnext/Desktop.IntegrationTests/WebSocketIntegrationTest.cpp b/vnext/Desktop.IntegrationTests/WebSocketIntegrationTest.cpp index a646d147e96..50bdda8cd7e 100644 --- a/vnext/Desktop.IntegrationTests/WebSocketIntegrationTest.cpp +++ b/vnext/Desktop.IntegrationTests/WebSocketIntegrationTest.cpp @@ -22,8 +22,7 @@ using std::chrono::milliseconds; using CloseCode = IWebSocket::CloseCode; -TEST_CLASS(WebSocketIntegrationTest){TEST_METHOD(ConnectClose){ - auto server = make_shared(5556); +TEST_CLASS(WebSocketIntegrationTest){TEST_METHOD(ConnectClose){auto server = make_shared(5556); auto ws = IWebSocket::Make("ws://localhost:5556/"); Assert::IsFalse(nullptr == ws); bool connected = false; @@ -64,8 +63,7 @@ TEST_METHOD(PingClose) { promise pingPromise; ws->SetOnPing([&pingPromise]() { pingPromise.set_value(true); }); string errorString; - ws->SetOnError( - [&errorString](IWebSocket::Error err) { errorString = err.Message; }); + ws->SetOnError([&errorString](IWebSocket::Error err) { errorString = err.Message; }); ws->Connect(); ws->Ping(); @@ -99,12 +97,11 @@ TEST_METHOD(WaitForBundlerResponseNoClose) { bool wrote = false; ws->SetOnConnect([&connected]() { connected = true; }); ws->SetOnSend([&wrote](size_t size) { wrote = true; }); - ws->SetOnMessage( - [&mutex, &condition, &read](size_t size, const string &message) { - lock_guard guard(mutex); - read = true; - condition.notify_all(); - }); + ws->SetOnMessage([&mutex, &condition, &read](size_t size, const string &message) { + lock_guard guard(mutex); + read = true; + condition.notify_all(); + }); ws->Connect(); ws->Send(json); @@ -119,19 +116,14 @@ TEST_METHOD(WaitForBundlerResponseNoClose) { TEST_METHOD(SendReceiveClose) { auto server = make_shared(5556); - server->SetMessageFactory( - [](string &&message) { return message + "_response"; }); + server->SetMessageFactory([](string &&message) { return message + "_response"; }); auto ws = IWebSocket::Make("ws://localhost:5556/"); promise sentSizePromise; - ws->SetOnSend( - [&sentSizePromise](size_t size) { sentSizePromise.set_value(size); }); + ws->SetOnSend([&sentSizePromise](size_t size) { sentSizePromise.set_value(size); }); promise receivedPromise; - ws->SetOnMessage([&receivedPromise](size_t size, const string &message) { - receivedPromise.set_value(message); - }); + ws->SetOnMessage([&receivedPromise](size_t size, const string &message) { receivedPromise.set_value(message); }); string errorMessage; - ws->SetOnError( - [&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); + ws->SetOnError([&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); server->Start(); string sent = "prefix"; @@ -157,36 +149,17 @@ TEST_METHOD(SendReceiveClose) { TEST_METHOD(SendReceiveLargeMessage) { auto server = make_shared(5556); - server->SetMessageFactory( - [](string &&message) { return message + "_response"; }); + server->SetMessageFactory([](string &&message) { return message + "_response"; }); auto ws = IWebSocket::Make("ws://localhost:5556/"); promise response; - ws->SetOnMessage([&response](size_t size, const string &message) { - response.set_value(message); - }); + ws->SetOnMessage([&response](size_t size, const string &message) { response.set_value(message); }); string errorMessage; - ws->SetOnError( - [&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); + ws->SetOnError([&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); server->Start(); ws->Connect(); - char digits[] = {'0', - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9', - 'A', - 'B', - 'C', - 'D', - 'E', - 'F'}; + char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; #define LEN 4096 + 4096 * 2 + 1 char chars[LEN + 1]; for (int i = 0; i < LEN; i++) { @@ -205,8 +178,7 @@ TEST_METHOD(SendReceiveLargeMessage) { server->Stop(); Assert::AreEqual({}, errorMessage); - Assert::AreEqual( - static_cast(LEN + string("_response").length()), result.length()); + Assert::AreEqual(static_cast(LEN + string("_response").length()), result.length()); } /* @@ -232,16 +204,13 @@ END_TEST_METHOD_ATTRIBUTE() TEST_METHOD(AdditionalHeaders) { string cookie; auto server = make_shared(5556); - server->SetOnHandshake( - [server](boost::beast::websocket::response_type &response) { - auto cookie = response[boost::beast::http::field::cookie].to_string(); - server->SetMessageFactory([cookie](string &&) { return cookie; }); - }); + server->SetOnHandshake([server](boost::beast::websocket::response_type &response) { + auto cookie = response[boost::beast::http::field::cookie].to_string(); + server->SetMessageFactory([cookie](string &&) { return cookie; }); + }); auto ws = IWebSocket::Make("ws://localhost:5556/"); promise response; - ws->SetOnMessage([&response](size_t size, const string &message) { - response.set_value(message); - }); + ws->SetOnMessage([&response](size_t size, const string &message) { response.set_value(message); }); server->Start(); ws->Connect({}, {{L"Cookie", "JSESSIONID=AD9A320CC4034641997FF903F1D10906"}}); @@ -259,13 +228,10 @@ TEST_METHOD(AdditionalHeaders) { TEST_METHOD(SendReceiveSsl) { auto server = make_shared(5556, /*isSecure*/ true); - server->SetMessageFactory( - [](string &&message) { return message + "_response"; }); + server->SetMessageFactory([](string &&message) { return message + "_response"; }); auto ws = IWebSocket::Make("wss://localhost:5556"); promise response; - ws->SetOnMessage([&response](size_t size, const string &messageIn) { - response.set_value(messageIn); - }); + ws->SetOnMessage([&response](size_t size, const string &messageIn) { response.set_value(messageIn); }); server->Start(); ws->Connect(); @@ -313,9 +279,7 @@ TEST_METHOD(SendBinary) { responsePromise.set_value(messageIn); }); - ws->SetOnError([&errorMessage](IWebSocket::Error error) { - errorMessage = error.Message; - }); + ws->SetOnError([&errorMessage](IWebSocket::Error error) { errorMessage = error.Message; }); ws->Connect(); @@ -337,22 +301,19 @@ TEST_METHOD(SendBinary) { TEST_METHOD(SendConsecutive) { auto server = make_shared(5556); - server->SetMessageFactory( - [](string &&message) { return message + "_response"; }); + server->SetMessageFactory([](string &&message) { return message + "_response"; }); auto ws = IWebSocket::Make("ws://localhost:5556/"); promise response; const int writes = 10; int count = 0; - ws->SetOnMessage( - [&response, &count, writes](size_t size, const string &message) { - if (++count < writes) - return; + ws->SetOnMessage([&response, &count, writes](size_t size, const string &message) { + if (++count < writes) + return; - response.set_value(message); - }); + response.set_value(message); + }); string errorMessage; - ws->SetOnError( - [&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); + ws->SetOnError([&errorMessage](IWebSocket::Error err) { errorMessage = err.Message; }); server->Start(); ws->Connect(); diff --git a/vnext/Desktop.IntegrationTests/WebSocketJSExecutorIntegrationTest.cpp b/vnext/Desktop.IntegrationTests/WebSocketJSExecutorIntegrationTest.cpp index e297f3a7362..7ad8b919435 100644 --- a/vnext/Desktop.IntegrationTests/WebSocketJSExecutorIntegrationTest.cpp +++ b/vnext/Desktop.IntegrationTests/WebSocketJSExecutorIntegrationTest.cpp @@ -20,20 +20,14 @@ using std::string; using std::unique_ptr; TEST_CLASS(WebSocketJSExecutorIntegrationTest){ - BEGIN_TEST_METHOD_ATTRIBUTE(ConnectAsyncSucceeds) - END_TEST_METHOD_ATTRIBUTE() TEST_METHOD(ConnectAsyncSucceeds){ - auto jsThread = make_shared(); + BEGIN_TEST_METHOD_ATTRIBUTE(ConnectAsyncSucceeds) END_TEST_METHOD_ATTRIBUTE() + TEST_METHOD(ConnectAsyncSucceeds){auto jsThread = make_shared(); auto delegate = make_shared(); auto jse = make_unique(delegate, jsThread); string errorMessage; -auto errorCallback = [&errorMessage](string message) { - errorMessage = message; -}; -bool connected = jse->ConnectAsync( - "ws://localhost:8081/debugger-proxy?role=client", - move(errorCallback)) - .get(); +auto errorCallback = [&errorMessage](string message) { errorMessage = message; }; +bool connected = jse->ConnectAsync("ws://localhost:8081/debugger-proxy?role=client", move(errorCallback)).get(); jsThread->quitSynchronous(); Assert::AreEqual({}, errorMessage); @@ -48,11 +42,8 @@ TEST_METHOD(ConnectAsyncFails) { auto jse = make_unique(delegate, jsThread); string errorMessage; - auto errorCallback = [&errorMessage](string message) { - errorMessage = message; - }; - bool connected = - jse->ConnectAsync("ws://localhost:0/", move(errorCallback)).get(); + auto errorCallback = [&errorMessage](string message) { errorMessage = message; }; + bool connected = jse->ConnectAsync("ws://localhost:0/", move(errorCallback)).get(); jsThread->quitSynchronous(); Assert::AreNotEqual({}, errorMessage); @@ -69,17 +60,12 @@ TEST_METHOD(LoadApplicationScriptSucceeds) { jse->setGlobalVariable("__fbBatchedBridgeConfig", move(bridgeConfig)); string errorMessage; - auto errorCallback = [&errorMessage](string message) { - errorMessage = message; - }; - bool connected = jse->ConnectAsync( - "ws://localhost:8081/debugger-proxy?role=client", - move(errorCallback)) - .get(); + auto errorCallback = [&errorMessage](string message) { errorMessage = message; }; + bool connected = jse->ConnectAsync("ws://localhost:8081/debugger-proxy?role=client", move(errorCallback)).get(); // Point to an existing script accessible via the repository's packaging // service. - auto bigString = unique_ptr(new JSBigStdString( - "http://localhost:8081/IntegrationTests/IntegrationTestsAppWin.bundle?platform=ios&dev=true")); + auto bigString = unique_ptr( + new JSBigStdString("http://localhost:8081/IntegrationTests/IntegrationTestsAppWin.bundle?platform=ios&dev=true")); jse->loadApplicationScript( std::move(bigString), #if !defined(OSS_RN) @@ -107,16 +93,10 @@ TEST_METHOD(LoadApplicationScriptHandles404) { auto jse = make_unique(delegate, jsThread); string errorMessage; - auto errorCallback = [&errorMessage](string message) { - errorMessage = message; - }; - bool connected = jse->ConnectAsync( - "ws://localhost:8081/debugger-proxy?role=client", - move(errorCallback)) - .get(); + auto errorCallback = [&errorMessage](string message) { errorMessage = message; }; + bool connected = jse->ConnectAsync("ws://localhost:8081/debugger-proxy?role=client", move(errorCallback)).get(); // Point to a non-existing path. - auto bigString = unique_ptr( - new JSBigStdString("http://localhost:8081/showme404")); + auto bigString = unique_ptr(new JSBigStdString("http://localhost:8081/showme404")); jse->loadApplicationScript( std::move(bigString), #if !defined(OSS_RN) @@ -144,16 +124,10 @@ TEST_METHOD(LoadApplicationScriptHandlesNonExistingBundle) { auto jse = make_unique(delegate, jsThread); string errorMessage; - auto errorCallback = [&errorMessage](string message) { - errorMessage = message; - }; - bool connected = jse->ConnectAsync( - "ws://localhost:8081/debugger-proxy?role=client", - move(errorCallback)) - .get(); + auto errorCallback = [&errorMessage](string message) { errorMessage = message; }; + bool connected = jse->ConnectAsync("ws://localhost:8081/debugger-proxy?role=client", move(errorCallback)).get(); // Point to a non-existing bundle. - auto bigString = unique_ptr( - new JSBigStdString("http://localhost:8081/nonexisting.bundle")); + auto bigString = unique_ptr(new JSBigStdString("http://localhost:8081/nonexisting.bundle")); jse->loadApplicationScript( std::move(bigString), #if !defined(OSS_RN) diff --git a/vnext/Desktop.IntegrationTests/WebSocketModuleIntegrationTest.cpp b/vnext/Desktop.IntegrationTests/WebSocketModuleIntegrationTest.cpp index 918db9c6156..c38500677d3 100644 --- a/vnext/Desktop.IntegrationTests/WebSocketModuleIntegrationTest.cpp +++ b/vnext/Desktop.IntegrationTests/WebSocketModuleIntegrationTest.cpp @@ -13,8 +13,8 @@ using std::make_unique; using std::unique_ptr; using std::vector; -TEST_CLASS(WebSocketModuleIntegrationTest){TEST_METHOD(WebSocketModule_Ping){ - auto module = make_unique(); +TEST_CLASS(WebSocketModuleIntegrationTest){ + TEST_METHOD(WebSocketModule_Ping){auto module = make_unique(); auto connect = module -> getMethods().at(WebSocketModule::MethodId::Connect); connect.func( @@ -26,10 +26,7 @@ auto ping = module -> getMethods().at(WebSocketModule::MethodId::Ping); ping.func(dynamic::array(0), [](vector) {}, [](vector) {}); auto close = module -> getMethods().at(WebSocketModule::MethodId::Close); -close.func( - dynamic::array(0, "closing", /*id*/ 0), - [](vector) {}, - [](vector) {}); +close.func(dynamic::array(0, "closing", /*id*/ 0), [](vector) {}, [](vector) {}); } TEST_METHOD(WebSocketModule_SendMultiple) { @@ -46,32 +43,14 @@ TEST_METHOD(WebSocketModule_SendMultiple) { [](vector) {}); auto send = module->getMethods().at(WebSocketModule::MethodId::Send); - send.func( - dynamic::array("request1", 0), - [](vector) {}, - [](vector) {}); - send.func( - dynamic::array("request2", 0), - [](vector) {}, - [](vector) {}); - send.func( - dynamic::array("request3", 1), - [](vector) {}, - [](vector) {}); - send.func( - dynamic::array("request4", 1), - [](vector) {}, - [](vector) {}); + send.func(dynamic::array("request1", 0), [](vector) {}, [](vector) {}); + send.func(dynamic::array("request2", 0), [](vector) {}, [](vector) {}); + send.func(dynamic::array("request3", 1), [](vector) {}, [](vector) {}); + send.func(dynamic::array("request4", 1), [](vector) {}, [](vector) {}); auto close = module->getMethods().at(WebSocketModule::MethodId::Close); - close.func( - dynamic::array(0, "closing", /*id*/ 0), - [](vector) {}, - [](vector) {}); - close.func( - dynamic::array(0, "closing", /*id*/ 1), - [](vector) {}, - [](vector) {}); + close.func(dynamic::array(0, "closing", /*id*/ 0), [](vector) {}, [](vector) {}); + close.func(dynamic::array(0, "closing", /*id*/ 1), [](vector) {}, [](vector) {}); } } ; diff --git a/vnext/Desktop.IntegrationTests/WebSocketResourcePerformanceTests.cpp b/vnext/Desktop.IntegrationTests/WebSocketResourcePerformanceTests.cpp index e3bec7d17df..c9caed97686 100644 --- a/vnext/Desktop.IntegrationTests/WebSocketResourcePerformanceTests.cpp +++ b/vnext/Desktop.IntegrationTests/WebSocketResourcePerformanceTests.cpp @@ -20,9 +20,8 @@ using std::string; using std::unique_ptr; using std::vector; -TEST_CLASS(WebSocketResourcePerformanceTest){ - // See http://msdn.microsoft.com/en-us/library/ms686701(v=VS.85).aspx - int32_t GetCurrentThreadCount(){DWORD procId = GetCurrentProcessId(); +TEST_CLASS(WebSocketResourcePerformanceTest){// See http://msdn.microsoft.com/en-us/library/ms686701(v=VS.85).aspx + int32_t GetCurrentThreadCount(){DWORD procId = GetCurrentProcessId(); HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0 /*th32ProcessID*/); PROCESSENTRY32 entry = {0}; @@ -59,19 +58,17 @@ TEST_METHOD(ProcessThreadsPerResource) { vector> resources; for (int i = 0; i < resourceTotal; i++) { auto ws = IWebSocket::Make("ws://localhost:5555/"); - ws->SetOnMessage( - [this, &threadCount](size_t size, const string &message) { - auto count = this->GetCurrentThreadCount(); - if (count > threadCount.load()) - threadCount.store(count); - }); + ws->SetOnMessage([this, &threadCount](size_t size, const string &message) { + auto count = this->GetCurrentThreadCount(); + if (count > threadCount.load()) + threadCount.store(count); + }); ws->SetOnSend([this, &threadCount](size_t) { auto count = this->GetCurrentThreadCount(); if (count > threadCount.load()) threadCount.store(count); }); - ws->SetOnClose([this, &threadCount]( - IWebSocket::CloseCode, const string & /*reason*/) { + ws->SetOnClose([this, &threadCount](IWebSocket::CloseCode, const string & /*reason*/) { auto count = this->GetCurrentThreadCount(); if (count > threadCount.load()) threadCount.store(count); @@ -87,8 +84,7 @@ TEST_METHOD(ProcessThreadsPerResource) { } } - int64_t threadsPerResource = - (threadCount.load() - startThreadCount) / resourceTotal; + int64_t threadsPerResource = (threadCount.load() - startThreadCount) / resourceTotal; Assert::IsTrue(threadsPerResource <= expectedThreadsPerResource); } } diff --git a/vnext/Desktop.UnitTests/AsyncStorageManagerTest.cpp b/vnext/Desktop.UnitTests/AsyncStorageManagerTest.cpp index 1d270b01038..f0ad6e4d1c9 100644 --- a/vnext/Desktop.UnitTests/AsyncStorageManagerTest.cpp +++ b/vnext/Desktop.UnitTests/AsyncStorageManagerTest.cpp @@ -66,24 +66,17 @@ TEST_CLASS(AsyncStorageManagerTest) { inline void cleanupStorageFiles() { WCHAR wzMyAppDataDirPathArr[MAX_PATH]; - HRESULT hr = SHGetFolderPathW( - nullptr, - CSIDL_LOCAL_APPDATA, - nullptr, - SHGFP_TYPE_CURRENT, - wzMyAppDataDirPathArr); + HRESULT hr = SHGetFolderPathW(nullptr, CSIDL_LOCAL_APPDATA, nullptr, SHGFP_TYPE_CURRENT, wzMyAppDataDirPathArr); if (hr != S_OK) throwLastErrorMessage(); const std::wstring strLocalAppDataPath{wzMyAppDataDirPathArr}; - const std::wstring strMicrosoftFullPath = - strLocalAppDataPath + L"\\Microsoft"; + const std::wstring strMicrosoftFullPath = strLocalAppDataPath + L"\\Microsoft"; const std::wstring strOfficeFullPath = strMicrosoftFullPath + L"\\Office"; - const std::wstring strStorageFolderFullPath = - strOfficeFullPath + L"\\SDXStorage"; + const std::wstring strStorageFolderFullPath = strOfficeFullPath + L"\\SDXStorage"; const std::wstring strStorageFileExtension = L".txt"; - const std::wstring strStorageFileFullPath = strStorageFolderFullPath + - L"\\" + m_storageFileName + strStorageFileExtension; + const std::wstring strStorageFileFullPath = + strStorageFolderFullPath + L"\\" + m_storageFileName + strStorageFileExtension; // full path should be like - // C:\Users\\AppData\Local\Microsoft\Office\SDXStorage\ReactNativeAsyncStorage.txt @@ -100,8 +93,7 @@ TEST_CLASS(AsyncStorageManagerTest) { TEST_METHOD(AsyncStorageManagerTest_SimpleOperations) { AsyncStorageManager kvManager(this->m_storageFileName); - std::function)> callback = - storeCallbackArgAndNotify; + std::function)> callback = storeCallbackArgAndNotify; // Empty the storage. std::unique_lock lock(m); @@ -115,16 +107,11 @@ TEST_CLASS(AsyncStorageManagerTest) { // Set two KV pairs. Note that it waits until the condition variable is // signalled from the Callback function. - vector> setArgs = { - make_tuple(SAMPLE_KEY_1, SAMPLE_VAL_1), - make_tuple(SAMPLE_KEY_2, SAMPLE_VAL_2)}; + vector> setArgs = {make_tuple(SAMPLE_KEY_1, SAMPLE_VAL_1), + make_tuple(SAMPLE_KEY_2, SAMPLE_VAL_2)}; folly::dynamic jsSetArgs = folly::dynamic::array; - jsSetArgs.push_back( - FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); - kvManager.executeKVOperation( - AsyncStorageManager::AsyncStorageOperation::multiSet, - jsSetArgs, - callback); + jsSetArgs.push_back(FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); + kvManager.executeKVOperation(AsyncStorageManager::AsyncStorageOperation::multiSet, jsSetArgs, callback); cv.wait(lock); // Check if any error was returned. @@ -134,15 +121,11 @@ TEST_CLASS(AsyncStorageManagerTest) { vector getArgs = {SAMPLE_KEY_1, SAMPLE_KEY_2}; folly::dynamic jsGetArgs = folly::dynamic::array; jsGetArgs.push_back(FollyDynamicConverter::stringVectorAsRetVal(getArgs)); - kvManager.executeKVOperation( - AsyncStorageManager::AsyncStorageOperation::multiGet, - jsGetArgs, - callback); + kvManager.executeKVOperation(AsyncStorageManager::AsyncStorageOperation::multiGet, jsGetArgs, callback); folly::dynamic jsReturnValues = folly::dynamic::array; jsReturnValues.push_back(returnedValues[1]); - vector> retTupleVals = - FollyDynamicConverter::jsArgAsTupleStringVector(jsReturnValues); + vector> retTupleVals = FollyDynamicConverter::jsArgAsTupleStringVector(jsReturnValues); Assert::IsTrue(returnedValues[0] == dynamicNULL); Assert::IsTrue(retTupleVals == setArgs); @@ -154,8 +137,7 @@ TEST_CLASS(AsyncStorageManagerTest) { folly::dynamic jsAllKeys = folly::dynamic::array; jsAllKeys.push_back(returnedValues[1]); - vector retVals = - FollyDynamicConverter::jsArgAsStringVector(jsAllKeys); + vector retVals = FollyDynamicConverter::jsArgAsStringVector(jsAllKeys); Assert::IsTrue(returnedValues[0] == dynamicNULL); Assert::IsTrue(retVals == getArgs); @@ -173,8 +155,7 @@ TEST_CLASS(AsyncStorageManagerTest) { TEST_METHOD(AsyncStorageManagerTest_QueueHeavyLoad) { AsyncStorageManager kvManager(this->m_storageFileName); - std::function)> callback = - storeCallbackArgAndNotify; + std::function)> callback = storeCallbackArgAndNotify; // Clear the storage. std::unique_lock lock(m); @@ -199,27 +180,18 @@ TEST_CLASS(AsyncStorageManagerTest) { setArgs.push_back(make_tuple(key, val)); } folly::dynamic jsSetArgs = folly::dynamic::array; - jsSetArgs.push_back( - FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); - kvManager.executeKVOperation( - AsyncStorageManager::AsyncStorageOperation::multiSet, - jsSetArgs, - callback); + jsSetArgs.push_back(FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); + kvManager.executeKVOperation(AsyncStorageManager::AsyncStorageOperation::multiSet, jsSetArgs, callback); } callback = storeCallbackArgAndNotify; // Do one last set with the notify callback so we can wait until all sets // have been executed. - vector> setArgs = { - make_tuple(SAMPLE_KEY_2, SAMPLE_VAL_2)}; + vector> setArgs = {make_tuple(SAMPLE_KEY_2, SAMPLE_VAL_2)}; folly::dynamic jsLastSetArg = folly::dynamic::array; - jsLastSetArg.push_back( - FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); - kvManager.executeKVOperation( - AsyncStorageManager::AsyncStorageOperation::multiSet, - jsLastSetArg, - callback); + jsLastSetArg.push_back(FollyDynamicConverter::tupleStringVectorAsRetVal(setArgs)); + kvManager.executeKVOperation(AsyncStorageManager::AsyncStorageOperation::multiSet, jsLastSetArg, callback); cv.wait(lock); Assert::IsTrue(returnedValues[0] == dynamicNULL); @@ -231,11 +203,9 @@ TEST_CLASS(AsyncStorageManagerTest) { callback); folly::dynamic jsRetValues = folly::dynamic::array; jsRetValues.push_back(returnedValues[1]); - size_t returnedSize = - FollyDynamicConverter::jsArgAsStringVector(jsRetValues).size(); + size_t returnedSize = FollyDynamicConverter::jsArgAsStringVector(jsRetValues).size(); Assert::IsTrue(returnedValues[0] == dynamicNULL); - Assert::AreEqual( - returnedSize, static_cast(numOperations * numBlocks + 1)); + Assert::AreEqual(returnedSize, static_cast(numOperations * numBlocks + 1)); // Verify random key-value pairing. std::srand(static_cast(std::time(0))); @@ -247,16 +217,12 @@ TEST_CLASS(AsyncStorageManagerTest) { vector getArgs = {key}; folly::dynamic jsGetArgs = folly::dynamic::array; jsGetArgs.push_back(FollyDynamicConverter::stringVectorAsRetVal(getArgs)); - kvManager.executeKVOperation( - AsyncStorageManager::AsyncStorageOperation::multiGet, - jsGetArgs, - callback); + kvManager.executeKVOperation(AsyncStorageManager::AsyncStorageOperation::multiGet, jsGetArgs, callback); vector> expectedTupleVals = {make_tuple(key, val)}; folly::dynamic jsRetTupleValues = folly::dynamic::array; jsRetTupleValues.push_back(returnedValues[1]); - vector> retTupleVals = - FollyDynamicConverter::jsArgAsTupleStringVector(jsRetTupleValues); + vector> retTupleVals = FollyDynamicConverter::jsArgAsTupleStringVector(jsRetTupleValues); Assert::IsTrue(returnedValues[0] == dynamicNULL); Assert::IsTrue(retTupleVals == expectedTupleVals); diff --git a/vnext/Desktop.UnitTests/AsyncStorageTest.cpp b/vnext/Desktop.UnitTests/AsyncStorageTest.cpp index 75b7adee3dd..255cfd4ae8f 100644 --- a/vnext/Desktop.UnitTests/AsyncStorageTest.cpp +++ b/vnext/Desktop.UnitTests/AsyncStorageTest.cpp @@ -16,16 +16,7 @@ using namespace std; namespace TestKeys { -vector BasicRW = {"key0", - "key1", - "key2", - "key3", - "key4", - "key5", - "key6", - "key7", - "key8", - "key9"}; +vector BasicRW = {"key0", "key1", "key2", "key3", "key4", "key5", "key6", "key7", "key8", "key9"}; vector RandomRW100 = { "3C&nRlz#x)N$%X@OqzL6F*JcqgE$E&m7fiIs93p5hHmv7pIW(Wp4", @@ -129,1042 +120,2062 @@ vector RandomRW100 = { "ha2TpdGIBq#rK*mozjGWy3$89q53LPR1BH#$mwC#sl5b&gi0dAgQwo^zdh", "!o1g6s&LAh(9PjEG9bN3o2J$AH#0gecQE2bawE16wPlgtTnYAk8YG&AVWMT!l@uXAGOfNrGuu%cP8qa#Nrmm@o5QS75"}; -vector RandomRW1024 = - {")&xZPKcKiYy6OBYQSO3g1hF@P!I5L9)lQ=YAupoRM29tbLOk(FH=9lkZHLI^EhX", - "NNzhT4lE-4HMZdeon!s8A@SEYG#LXmGf&A6j(W5L$E3E6umH8fubmiGk6x)CPiD(vIC%Eeq3i5JW*3p%jEo8V5", - "IvOZIpsmJ@KOCM6NaF%N#^Hmlg#xChUs8*J!AmydnwnohF))4UXMn*2NDVvDww=ck", - "(**CkKh&8eww(L!Jzwgv&Qb&8vFKD8XeYz#pRcQaV1OU#HX-W!584tjQohcO%kl8hC&a582ao2LyHHp#0Xy4T3Y@2rtPGM", - "#5B-c&#C($ME2WcAbGN!z=&@Qx%m*FWHnpKqKxc=GMVMj#ezpJaA&FCck6sxoy!qEBT*%$pcOgOiGV8Fj(bcFA&e72%&JM#!GNA", - "*5EIR=o2H6WetBO5l^VMJM4wca5yWB@RHeTfal61vjKOIuP6Yt9@pA", - "LHMASYWT)sO&LRyi^4W$l4C#4Ylsl46HooUo4p%Hu2GiIDF@#S6oeuzIbXNXxs4Z^&&C7=)OsqBq1qmv3xNB", - "aEQdCQHKdgaUGXY%EmjE&iLPu2nGME%9tUf9Sl&RoaIYw8cw4pArh*!vjFH", - "7$4CmL1G*nzXf2xCJ%(1CUyo-^CJPDwL1mQ^Cv2RmsIKW&uSS(ZMY)ELMSy", - "#y*RCMvGx#OYwUXXjlk!aFYynZaQywQ(GDoVLa%=ggDU3flJD30RX=L)rD0%SWEq=SDsOITPbYaEShdLQ2=Q-WFe2", - "xWE5unL=Yo7Wj%Z8ECh0L26)O0TMv#3tAhwv!a-PI!MiPMq!^mtxzxkc", - "h9=Z$5s%5)HT14Z%^RLxRV#hOHKqh380kPXYVAEybLy970jGMrg)x)DMx$CCoEP5LtrLxEZ8qKL6P$fzNbL=A", - "oHIc0-ksYCYyLHZAzpW%nn1kkfm-^UT#uxV)6lWOjtj*%IbaCk8Y", - "0d$o2qfzpxVboT#0=L2EG&Oh)va!v-yxh^x^t13cAA3Bdq$A#T)3@gqju=y75t-XEwB)drEe8SWH7!yeu#zt7", - "7OxTCQ!HMW6GOcc6b@Q*mk23spJyrrnec!n4r0l9NMlA@OS4OWCNYyu%!i^irLs&FEwjwyI5D@e8QSTgx(*Om6Oe", - "JK7tMEV)Mk^GEdb-xmD-(WwWE1Le4oS6FR97JD5z*edLAMOwsY86*zL8J-yAEfU2faaU6iR5I", - "%001u8tiB3V&S(*&x68M@EOfNoHo2q3EmCOU)ebqQ)^8*BPn%lv62m=aOg=x(DosD@oqlI", - "C@8S5gZCdS-!*L*iB0#EWmov6$um(DaPB=wa4wa^*SsefkMg)zF%R(2pE)zeALHMycABb3v^Cg)zta", - "Y6tbC6JT^Zj&9Drmccb=p4tnzj#oCCv@HbluBOKzbX5cbU&=RJ@A4O@8R&s", - "7pKf234y@vKu*8Sa#8k=bvW=l(01a8)GwJBW38*I3DL!b18J1Ap", - "-khxz1Esr$c&PKyn27fX@aqWAcbgVHm)JbGesNJdNFjH*HaH^@)=QPg43FI6v)sRtgfDrcp8%7Nn", - "S1@CdIxwXBBdp8fy^^BoifJP7#RtYe#581b-D3GRm4WIYQQ0f9MekbiK$$Ahsv(F3mBe1s*mTU-eOVLe7cZMG&*zpp@iY5o", - "T4MccecexAvl3sP3)4A&y@=Yc5sJT#=3@RHW0MKAdud*DZcfdwP(FYjmQQ^OBauCV381Bt43Q=", - "eM4=6va2V0aK*q=oa*ZG$Yo*ELYL84)ddrOXDou(fN)XZ@8JAw0EYw-6UqyUp5@4SpbWSJ5pfJb)", - "0QZv9Zw92B*G4gHEKqgJcyoNv5o4A^iwk#bpk$X^x$4Ub(IrPP(rHo$IgY!%$eKU", - "!l(!ds2Z(y$ESnHtrjcGj60BTKndo0TYPfPU-DT1V#xNp2mIkxvrpi4)=RDCR2^7R50jR0lPz", - "Xjo#h8Tid5Td3VQ!)ej-dT-ko-U90c!)@q@)c^XCHP8B7MMa9FWyEPoiR", - "9G@#BT-9)gC8&U2fpkXMy%i3J=K%#tTx#wgOikH$^Qxg7TPM!XtrGk", - "WUjabf@Dk6r-yNkSl6G$EB#VB72ld0tM4J4qXI=Ji0%TnzoLRZzx@6qqdFDI(Q^rNIiNZ2JcYQg!(C24", - "W&6Yf3r75SQAOfspOuPc1N!&03KNqZKe4UdKPm(Kn6tmokDSY11-k0EvharT*fQuWoU5h=taoEK=Xz8", - "5LFZCiuwnA(6Utebvz@b*G&1JE##m!eK0B15zuIr@Lk(Qxz1eeiXFlhz*rkZ$nw#U9UPeH9#nHSB6chv&vQcd--OcBp", - "kV@s34^i&hg6dpV)7nr0yTHtjOt!Rx-@MpwINb#)J9cK5Dl6ITiCeyvVr00*dMFmhLAtB$3BYCSZSc", - "Pl%CX!tR(oXSh#p@UW11BWIX-t(q22lJ=YweKHlreKgfWqRa%SYWmVtwH%^Qh3&", - "aR&HTl6#sB8H8@aNcJU^Vk6$YQgQw22Jw*vzt$xWYy@kUZPRUa$g", - "09W02mo9xvzTtrYErPkkeA2!q-ex%sO%WU2VOd2%QOIMW^VLisnmFAcx3(mwsJEOHOUmc5o$155h0E2dRh0X3(DnowiH$", - "T5TsnxdziJJC-cGssvPwgGXX0jahXyeJw9sldFWWogjC-EQ67WWsK7iuAGXUp8gyqQ", - "SU@MAjN6Zq4#YpJ&xvO1S#F6JD7dc*TLi(MT0mGQG!6zZb12!pR6R-LRRJO%1AdhQqM$7)@3C^", - "x9EdnFDonPY4YavrLRvtVIElXSBIpYP^AkbR#nxJo*dUya=9X&6PAg=mm3m=O4zqn9xEr-jIYV", - "SgWmC)z3Uj%4WVZM1($0iSS3B^2h$b(^1iAy%zt&qNDYejKNyKYDr^DTHjt6rk=7kFpwSH(zM", - "6TbzjuIlPCvtxrLPupFweQiCS9HsRTx2@CyXvb-a67c07iGi%i$rpCZ%#t", - "HFK-JRbNW&FT(S2YrWNKoNVNf2Rs(9-4v#3%LEEEbSTll0%1Q--iG)IJ", - "lPnuu^Mn4Va9$iQ%noGEwR-lR&cnxVQwKC%E3Z^mUb^yYDZX048yrb@zOUK)tzAYSFYXGP1f0", - "Q!evr*(yFv8VBYtWFzkjbTRjIO=k1d)hV)Q#=JKPEn2ei1MR0I3-6(o7whM^W)dFbsEfO^jV@SuzTTg(K14&Bzfuhi$", - "EHuvk2EjrXsZUwscTc%s%bNcoi314wvF5jMi&FbQ0TLjT2b8)u&-8hIv(^eJb%7tgm", - "!SPV7)La=&@(uuHfxOZhyn4^=utbmH5*V84aqQmCy8ASXXy4m#qMoqi7!jme9OilnD14D^#5B", - "TanEh!rH%W&2M0z@=tZzp9bMQ3hoiN7cs2&v-9E*=uo2@-R@B)c=%NAI2&G=lxdH#ujDtH6MJFAn", - "e5v=7DUm5tdc9t&ObjgG1F6yTQq*6k!6Rh2cvLGwWWMNBua2i=&i%zLrZx#c$wfDvOfjy*=X&*#piuKVw0X$df*ok#gS^V0F!nH", - "r5)Ht%QqX6$N%riJ-jZhx&1f!$@WrWoVovUF6%WqfaDRq4F#Sp5p9J5W0$WpdFY@", - "Rf(*N#jvs6@66rtafL7rHT@Hp24=fkuht)-AKUKKhcE)Ln3Yx9Unx^eNF", - "Sa6UEyE^elwfty^eGV79XGZwe0l)6SXr4roOU*LK!l-iel)dC^22F^$y71u0P07=12VFQYKpA!L=3", - "QY4Zo-NDpLL8Aoqqm6g6yghv6wc#5$d3MAQ!3j^WnweTg1$@QykcOzHp)!()uWT9D#X2fHElmSq7iO=HJIsaynW@c$Ya=Po&wLT9", - "2^s#A@T3t%UeCeIU&d@&8Xr0k%!AOZ==$oJINssI)Dn=g&x4srymAchh&Bs6i5FI^ADYU0H", - "q^Uu6ZUiYVCcf#7jOU9-cVHYA=6&q%UP$=3*t$=Z$Sb7kJAN$D7d4fMufMNr=8#YX-pk1YgP!vUAzbE=bUZCeg", - "4A(lQI!hUjyPk^B8-*gqV(GVJ9UG*W(Dr@tNDUK=YB!TLla^@26RsUI1ZHro2y@xEwhU4n1%O2RmwT&1MK!9", - "6oyPk)*AhI&Q7Vq99&yjyjKb8GzsIqcq2V0T)MNorKHzoE6Go&V%Y0OyD%fBw2xCEnO9W7", - "2Xtl#u5ieB5FFcTqN#Q6I0-Wb(Jb$Pzp=0q6vduc3ril8r#z5F#1NQ)2lXhyjcb4mlA", - "N3Ko49D9(@fYxq3yPCszu*PhKY@Yzd#$r4*LrQ%5FzSs0Ev6lSiv=U6sM8ph%o@Vrb6gS(5maXM(qSU3GjMKnm$OYO*", - "y2j0io4^AYw5mf6Qj5q5vm5WXRZ-xcJQO!4o39MyvcBS@5)sP8Uy!Egl!lmkayroqdn1^&33F&10J75v", - "U#xxrme(DrqWIyK4Vuw5Lx4lcEV4Lz0dip0uCCA^P^3sww3jjMyoI@%$HKmmtWY!HI=Tl=5OVUXiEZIY9#!G8Lxnn47w", - "-Ow1hfm^XG3DFy(%ru6E5k@**sg^N8-z5&jVqC!fsEQxmY%liF^D0(TpYkvxYi1PhIoxkIsW0T%sB%7FbsoHr&0eVy=%FWKk$", - "mb4x)A$96N8)itXGKyzc)V7u6sr3BiNy-0B)Mc22R=D)KRCditNsRfbHSMk3auR4SZZvY@z", - "rF76BnyjHAbE&PpBg=bQ4PMJ)sRfk7qQA8HL&dF(e$R=&kB3WFUS0QEac*xv^GtJq2)*m(f$", - "vrFp@Bba*sZJTRVzmQUzLPNe7sY4uri6yT1!yZ)-%W3w5TTkqD&=tzSoB(nyC&MBM)3m79w", - "AjbVau*NJ9BJz3KglfV0IFkYuSmuGO(0!%dQMMn$U%12!P8E5$q&5u1S4p", - "MdklZv25u^7Spck)IQrtOy*thlvh8S(=DNpi8$E%nVxMwDo%uBXusZEt@zev2z#XadXjcRsW0bdWXnT", - "attg(Cd$i$XLg%LF(RCH#=hX0tFFnFo)Q6TGgAtObMwBqpFjPn3lM1%CWx8XIPaTJeVmOkiKDt)ph", - "*dS-@wIf^*y2Soeeg$c-WEOGdG@snge0DX!-qJ)ICnB3ic-u=BnTZJDoXutQD83xC7iWlz$g0Oq5upQNT7Sm(WjLkzxET@2$ZkXS", - "oR&u*u2LTwNkFC#7%ztjZ@dkvY6Ks&&zi-GYkbRpZ73x#nzbUmHUE", - "V!e^kugPczeY(Zvs!T=xtjYt=K#)xG68OJ0xRWW@Mxg9HHyQn6", - "nexpZGuXGS(bexz*F@Tl^=79A66w*WoVHkl*^lU5MvS4=Kkc=3XpFfkNO%fEQiaXxrOmGE!1!y19YqqEVCd@GB*vaK&YE#qO$Nit", - "Mf8)YG@!dQiuCp$FPr4EX0HirxH%eJmN^PRwqs%UqReGY9&f0&JTz!VO7WRa*7Vo4-L#pWr*%i)j9yQf2d(=zypJ", - "-Pu7rL=Le8u3n8ssWI^8%2^hUIGyU8%rL&aPaxAM6FdcC4$XSWVBYnRs09iwKgFVq8^*Nf5UNxhvs7kGEsV^Z#pcxk=8H3DJli", - "nfW!w(8=fuGjt!#c#VVgHy^=6i4&E%wU16FQ*UAnT$LT**fFPc4AKv(pY*TzyOl1hDDixdb0nk", - "@utRYS1s*kj^we$CN*o=)ufHl#6JZ7Qd9(95lJaTGVkkOnPi%2wxV0r4Ov)96uCJUbGKdpubmRIlmM-BRG7sZl=Z", - "NHYjX5CYExCUYuv4!KtV3PA67loYuImEsG=k@%P)s^CET8sc5L3R!b5Cas8h", - "Heq*0j8Knd8*%w$ZF6ySctD4awqn)bk6@xq#5g0EW8wy6C0oC%#wSFv", - "Un3k9bYIU*0mFc$^MsQ!-N!@f05TjglEZX*u)EWblbLMr0RqrB$cExa=Ot#h5tF@F6G6)rbpSEbvM%", - "dsrs&c2Z1k33hegGQE*urZ4r-=@AjbiLd@BSTCN(WALro(8M7&i3IR5d7nY52!U", - "-49W!srvC%0TEIgqF=ptin@8sMN4i6(wPgmmNoZSnfe7^RFH2cd8iP6dlkDoj1x7IgYSqZxcIdz67V9z(FuxqCV", - "JQevFzZn=F#44=(Fk-OcJcQpV1qmvii2MscL!52*-Z@41Au*@sS=@(cTs^5a0gErvoDK@n%L=&Hw-Iv2OhQc1%&=", - "FstkA9g!2=Gf!-&l$2zO62(15zjKe1G@HdHggX%L7kPRn5BIO@D(gi4I#UZX0M$zGl^H4FVkXT%EvWb52NaZBy", - "&K^%r6f$X1oFOQ%hApalm3wNUG8&iqBQLpCpr8o8rkJHCDN2SUH8F=8iC%1PSxoR4d8^AWn@", - "B8h(GxBl#Bir@CX0#d-6Nd*)qdOFW*tM4CoLznvnnx(p@bZXCvi9Bc", - "N#INufmlJVNDuwV#zA0(^t*dczSLV=(#2uBu$9S@8c9evxYV3Y=@m(%H40-SJqC^", - "7FT$szQy$dyaE*gF0m8Mxc5!K-9mbb!T^8q(WBKDHB77#jKcG@&QvYu-=#Cu", - "3!Q&1n746miv7PwU=%tEM(R9fWttMxOa*A%YyGaLl5J@GK$r-$exFtXLPMouyQ2D1y*CtB$d", - "&zr0H^DLIEMe#aIJ1=PhcMYSOEIC8*yfj(yXk2YlKLRaoST75tzo!AG!0&3C-=N", - "BWKl2HlKTZ=9EB7@KHA5p%K*dslmnWMI$t@S*BGv5^M3w7pg$nhF9IZksJUTiw!Q", - "(pxp48sflI)bri0v=L9zO$zAHXmvr$jdcfIh%R9xG8zhOXWlkehn7xjZ", - "G6AzHeI9jq%b5e-w0X91zbxIy1I8Idm=Ewz4C*uE3RYxT6JzBMHp41gGvnKF=$b1BJ=RYU1zTqr06aI)k&uUxI5ffbZT", - "T8vvkDK*zOD7H*@bkO=eZHqApL1oANzzPsR3haKu9WoZq1Z!LiEz@zBUvoaTONp#IryriijSSf!Wj)U%(vxbwibMVJC8E", - "rIB-wg!qJe2T-%Q8-!%7pUlW&dvt*dG4^grXaTy&o4p5gUD3Sr%ua2r#$pM(BGP-1b23AZ!P=ALht=Qud4rKUazA", - "MTkcMUsSdbFbH(!Lh2Nrv)pLHNK#$OG^tYRo2mxcOLS)0^)t3yU*E&51j", - "3U&m=#L4xXxbfy*IQe!JPi2tQ6h7cifRW%lfO6xoDD9=6AtKn&", - "lr8@pDej*LJ57)BmtYTh%TS59Qu5fGhM$NYpKMlH$drtTB7hqgJI6G0PGAW#9eoufcXNxv47rU=uNd", - "5%AU(S=oy3v%YSmZYYryv2Fm$0zJGl3eWALJZLp&2i6Gst0!&2LWuL!0tf$gpzK##xFL!gJ6W^HL3huVXl)R", - "uU)ccE)J-7#c3UGIXPIMcYpSvPJ-#h(NQxjv$lZCQo3zC#EE*Jf5XwS=iz3w(Ldsk4MZ#vz!lZAtz&5zv0Xs!f0sx3CxYyTC", - "BIV3qFsg-ssc^f=q#EfMAvaP54THm79rOwrnXfU^)JpCMyoKKiWIKgbf^yu^", - "SkdQ!v&sE@H9Myehx2d=DfJdF46A&SivRERTaX6^-*B37%5b!ci!ldm^3zFRK@VRu8PiNhAUtYUFIG6Tcw$", - "AMtbYas3L&g4yF)OjeWpMQLNfx%ml8V8mg^uiVg50EkD&lom(tjP", - "1dZTzdYFmu8C9e7XIMIiPks$5%wsNh3uIpB^TTWOjnVZNMP&AwJjI4l5U", - "e%*8gy$xSK3W--qBtPoT0w3!wl)ffsTn)eYBqt5!fONYp9!ejW96D6UMQF6FPAiN-ZDcvBwlUyIbHfLkaTwy8&l3N", - "jE3)yYefF=h3-NDPy(1*I!aC1*@TV5SU(Q68lGqXXO-ywQTY*Hu1m((Zm9vcMK7D55s^keHTTfN2a)V&Fzc%(wLT1qSrvx", - "*N)v2lLNvMmIL@x7vNaMu^LsWF%nJ3G-#FyI2l5ihFu4r@e!(U9n", - "8mzvLdEN7oB^F5Qew8wyKmQbIiOT$NKcr3SvSeFA5^cdJkfXf#O1mG%AwC#X44^g$Bh2*H(gX4ZZR0)8*bJqFE%X6", - "bbd4bO=gky6rGrDJmu7-xPkQlMy#NNyg%H)SF-g9Xikbci=xuAJVwRxqLqU7jSHM", - "NclTs2^Gtmh1zc^sXA)F1@BAqSld-be-am2zg$820)3G@dqj*&AlCoUS-6M93)deb3H6LH", - "Lf5F0#$pvP$lUC8jNm$IcBXtEiG1OIk-XD02x@v3nwnaN7!iD9fBbCj2njH68K(EZ0LZfu*rErIm**PktPVWl123kX", - "@Dbo^jv1K07FW@sd8KnUkOtdodV6inMRPxG@3jXsX!hqx=uv@F3^*j3Z0VyJekJCb)JU*p", - "^XSZR#6KklUQ$W5Q!Oj@M-KImY8(msxSMEx!DZKI4XlgaEE#CD%p%Be", - "wZNPg@-0VjlV(fh1J$J^NEZm&9xA-RjSop5h5TYc9fxhq$0KW6ZAn(rK*k-&I42%b)", - "xCFH2nrG1SD8TAvvn3-LW@U9M6RF6(bZ!*quUb$$53Pn8scEh6iOe0puuGq3EZWboXOf8Meu0gU8J@g0hd-#Qd4)1PAp", - "NSFzkT7uJl-0kEI7G(^X=q6hV^*Pvm0ji3yT39Kj9*^-=LA@Kj4gX*d55pikZq-)50LmJ!OzChtY1gUe4$u5F#2wW#%j4vK", - "B9Nq8W-QSRXbAQPJFKFv*SKf4%)vZa4I7@A0HFF&THWoQ)3Zs(A#3gV-N%ij!w%pP^N!m2(g", - "LRrtEQ1&i)6o7lfEQGeB4MzY^QF$58PH0%HvfaBt8nROlHEGf2)lSGF4KJxsOC2662VeEVrhrx)A", - "%4wX@5L3#nH-BB1c^QkKEkwI^m&ykCx$K&IiI1q9oAqYR^L^peoaCbC-WnMurK35fG9CFNQa6Hxke*4^fVg&#z36", - "ymf4M4W1V9LG=pzyyGZt&jLnLJg7hxBE&3KSWS9mAt##*Ie-17lEl^p0I2*1sTt0)rMPvmhsNE#8GF$nyc@%411vB", - ")ne!Fse(2Q*x6cP4U0M^EOq&vAvFrM%^OD7AuJbrsdglqQH*Xfiq$q1)", - "u9wKSFroJkMkScZIj3x8RO%ahB1lBk4W*WUxpKwB(rCcW2^e06d#35(NHB$IOquta2$xX0tFQcLagR=O", - "78fTuViAmTri%f($)%0%jB!TOS1lxm80ThstlwEcLJGvGaNZ79dE=ljE2@S4Fcw8HZU%W!JD3r&hCb%In65qkdNKgPmmh6zx", - "@lpSDGBG)qy-hj3*)6&U=o4m*T$aWmWWC3ETf59yk2Q&^gDQ-OQ5rZKh^7$2b$^u(UGEyUnrqn", - "UvRxdi8Ii1y@o!ns@QzlvnvBnsHtS8%P1%aQY-3WoQA^BWjh#C%px29qxVo^xO*efQ=EiB3jzWz$6d", - "(vlgYQLK1WY!q&IM^EDF^z-AuOfDN%Rpri=7CUM4vU&=7J#Xl7$#5GE=IuKaEx781qs#asA43#Z9YKO)Andqi@(VhtT^6", - "J)HYb25Ka#PHwVgJUp@N29s1y7cK!H)tdXKB$XMLYKNE9xir%$cm$pS70W9m8rp*Up(720Lt@oEA4%yC^QdFfiW7dCBMbSZ", - "42oM@CuaF$*kZ!Bb!MIGU6(NHQOeG8uEr(Rq^fH!jfHWouEi)!ArJXd#*pVePhp2T^Kfe0tNvceR#lzNyeqMW!m", - "aX^fq=FOF0l^sJn2zyW6!4gS6&LgHJiJS8AKa%lpV%rnbcv)a0I=L1i*9ouhs#99SwzGlbm#bdnvLvCpHw#N9s", - "Nv7Rfc&I&DEkfr3qgqIdra!pXEk7aJ$bJPnq9)u0G2DRK6TEYzj7dW&Kj=WQX!kwIF6Dt$Lun5oRrYNCO7dwJYA72wTlb5k", - "&GYp73H0rz^6*qjut-K3q37=4taU68ivk(koQ3^(7-B2Gx@IHuCmE^Hyz06bGxVE$9TZP5c!IKerqIQ!9q", - "Dsnv@CTytrVJLIeuZ(WN=tJ&fyALc!B49PR#7zsD^f1JAYkTd3Cz&QE*1l1)l)4t)", - "w7HS1XlL%R0mLTT=xy18!$j4!Wwa#MIL)vfJWRdW%-yV@b1(Q-q)b!kK$-BOEi4WbLoknfuGPs85mnvRc3K7G!", - "blBtJ^dcgtn6#VeA%XsU1dxoDBloS0C!zV32ENtpboG7&0ooqgr$", - "S1@1xx4^2E(fkclLs0w=OL5D)kYE2K%na-Kbz*dd7J67sR*^2sZ4ok3YT&sVmeQa6cH-r)&xM", - "mF8iaue)AkWUkqovTmrvq)!kHOC$DGtbDX9!&R@tuO#a#d1PP%B=#K-n^=PIIqtvOKa^BPQ)sn&jd", - "H##AIs!qag*%YMBXb1JR)8wocoCMOre5Ov8vP11!e!-qRj=%479KXoobb2*p(J3Obvo&7%u29-Q", - "xp3HWe7p7d!oD1ll=Z1C&v9BO75-GNhAP-I8sS2E&MGzep#p!o3yOccqVYYj6l6E%ISlF", - "lSUM@=^aW#zkxL@W#^C4Wkrems6nHCC2V&Sb*!8^imXk7T@ndS9sM7-)*1L%eLAqLmGq7)J@%ZOfvvGyJe=4c*d8VS)OhCKHBqzQ", - "%f%a=%IszpIyBFo980kUCEP75oSy$URr$hv16xHxgtKFKGe$-5x#02OKU1rp$M(06wbV8UnYOs(A36er9*xQuYp$awv", - "F%31YKVL^(a0Mb^z)$-9!SWxc60SC-u=cGjZipP$cgLDvpy^fVnx-Zq)GlUWaEkrLJZ=sh=NReepftMB)=V-7BokEFz#39VQcr", - "%Yq59nyioD5SZ!9Y4jDK@G31LmAhEYPwh53LKw5SRfrdutjEvwnqBoVy^DFzi4mw^vsgJ91vGDhxPCr1RHQO410l!@ukj", - "9%DR%aLLm%yzqlg1fT!*v=nK3(0BvLOjDAJPfkfFxiUFlh!j73xJ2DbovXO7QE@VI^p(r", - "HdIlYX%tDDSGIOyTBRE0LJf94=HrcSHx8w^Xb57lcoTM0=W0E1#E98i6))fx*&6Xnv#auuH-u%Qd*z^KM)", - "Z@v4JVA#i%IhLvg%h5L28Rw#TuY*=so2F*CIqI(MHuDB%ogrnwztAUyO", - "H)Y&NrzA3-DeRX2%uTYUXEfBC94yBLmh2%wInK7aVlV)$^pxH2Za$ZfjlO^J", - "lU*MjFOyi9fvImYFp(S9eS8qmO5wr4A6)%ci*DA5=WFoM#M4o0#!gEmZBT*dYZYtN5yjbVxNL0Mb#w", - "I0ZH37XAH0sJxTG4r9$Kk@YH%QT*h1wc!csbtod9PC=MbDu8s)", - "1e8rEnQSU^a=no5Sm9zTiR*pG7In@(K@f=OR7E*Wo9@gKp6U7%*c39%s#k", - "^hOXu6mjm6KqJPqloFSn-3LDLcPZMhBLT4Z&Q)HaoOapk05*B#tiIy7$NzseBwB6Chkqse@(2QLHu", - "8AOkf4xaO-T^=0EMsCf(8HYSKQn@D29fC5PkbPw3q1HIP(zDl!sGha9R%MY1zoxxAUByTXP5MBO*XvF", - "1oPUObS=pCvgFj1kG4pcbOHv%9IiXG(3YC=-&q#ffjLqXfI9)AAI8#BBqP3)G$2T^u9#MkjZ@", - "ciGSGlI-^Hn#lmG)uit)P*0OA8m!%Q-uazh)gVaF@Q)MQiid0qpGr4uRVDu1-3S8WRH1C$F", - "5lRS9bG6%lS#@sIsAx5EdeMPVK=JwP!8WVEJLzN-ZYu6aTPfT@LnfTP8", - "9&xymz9I48C7eslRz*G%f)T%I&!RGrybiIbctYwCC7=lgda*c8NR!($T&0o0p)J)ZPRugmZuJ-)", - "Zz7t%2)&C%N$q7MJh7ut*WNSk#d8l)85$9y&k6TXH(skB5%b^@6iF^U=nV2#lJ@SMI(GzCTZ#XasNjEMCfZo", - "GfPuBSVglbDD#8t1iQ1OK33k2MJODLw-1J5u69nhKdQzsAAk@Q", - "YU50zg%f1&D1fDUq&YHstSNbGGvyQeb1Qan-dCXU0Q0rt*!OzX-JZ&-Ih&YhWU0HBPR)qd4NbImqN0(!PfsMrpaYWj", - "GNU&GVmGbDsaE#=$FrP%ENd(-YyLi2@UdMt(GuYFIFq)&T6yvh!)rhe(oN9g=HursNWK)-Hd%Uiw^%iTqi", - "IVv^vfb81P%H9VM!joXjnt-%TDhQ1gb&$iL@Vrl5dNYahpUiaiiO@qsfIX3LT1@yl", - "rAFi5IMBhv8LLf)=%wW60^Q0@OsEMdWXmORHN7r(7LWP7VPW8qjlsdzqvaRx*G1QGRlpgy5Xt", - "RooE5oKnj1X*O-2ZF3wPAxddFAGc7otB&(3rj@zENX)F#7Cy%-NpKAgpA", - "rJnDrfel%#)8l)MwAwkX)keWP&2ym#nxnn58Jq)9HY26dKOAIhzQk@t4IIR", - "8p4fz8$Oj=DV3inmEw29^G4yMPbim@*%QaXAYDVjqJ=xiyAnDyaPPyu#Cy#W7LI!HArl6(u5DEO#=J0U#E)@aDZxh(G", - "jWsCUsyRTO8vxWHh13iyDRSlfq*N2T&0Bhq&u9wjFfNRXKRkNCJwXvoUf(2hdZ5Ewk$@UO8CEZT*", - "AQo1GsAChbl4$J6@-dj69JTgkrlD6qkzb%jZz6)CDZVbO(edexaK$DH86rvct3RWdAkqKNb(h!MJat65GS@K2bEjsj$$cNu9#a", - "h66OyOScC42xGrledKMjOCFqnGrHtVnKWfLZxRbMB#$gOsKQd95q7^t!ky&$^*I7-N$H64CA#rG", - "FYVnn1tV#)duC4OIeh^Dzr3g%5!5jPssC#ZuI$)!AGEZHQ3sV*33g%Fj!YmU!", - "02ldOBp^v(8eTK-Ep@6F6qTBg%9tY4AL#rS1%vPUDXF-H2PyrfG!DvDaD0QZ^mWH70HTnfL&#Ty0PSw", - "usv6#qM1o*80H$8xGu=hrm-s%aVvnNS0Rv0iwb9gj-)OmuSRr**X#Kg=lcIu^1Dkjegk$6qht^SapcY", - "Vi==f=Qe>kh*beGB8M6&Yy$jNor(B*M3FoIG^t7jAta*w=fAXedeL*Ix9xHH-r", - "QLtlQbZFdVofv&FiHXtIX6p6&Z!CpYEXL%0GM^sHdC6btOnKUG$JFyeKxd66", - "oKwV#0(Zw0jT2)01iMLiJ=aeUN^l!Ta1@6(MOdR&-mL*)!SXDDp$ro#(0hiij=R-EkLGhFzgOy&hfkl53^O#8%LfzCmf1", - "%x8gp0TOyboox!Fa-9Z%=!orTg!@CbrCZAfN#z14ibrF36E0O@f)eu%u!3FuGNI", - "$g#R6nmhUPrG8=lS9QD!q0384ZlKxm$==QPhEoruha*Y5k-55^Fyi0F@&&S4CMxV=%4=dx(9pg^O!wOX2M8bj9", - "1I&!5=8Sns)v(KMLF!E9*=GbXKIGpPD8mdFBFJMYAeN*5m=*tK#i5RfY81=fTgC(HGq&!(qjlGoAzO!v@^U3oEV!zltj$-", - "8LK*8b(HVC@F9RV)3kG3HQks*lIMqiYIaK6gVzHLz%m3ahc*peP", - "O^BOAZegusYK2O$W-V=)wo@fkl$U4eg2jdQnD-Z51CiNj36-ByIzzo33Xvyv8vJeXMA", - "Yo9-HGVR8a3NTn2s&9GgL=O-0b$EO&eJTvG(3gAp7BYT%WJtRfc4&X(NX5-o!iXOyG3HyE6eq(KaxkiR-&(COa@pi3ZWDg&Fy", - "lWHQ(Rf4D@9Pq5)eqi(Ym(JOj*Tv%DhS^XuVft5ZraRwvM98qOnI0!90MS9J*UnQXygMfGKOrA34*@DSd", - "6Kqtc=lMvBqe&MKg04d@!=3wJaiS!LNzAQ)aWOu-i3-a=WPWtvq$f!BTh@gRJWOm", - "ntudhljZh2koSJX4(E$8HBGtEa&SH#vMfN$(LYK6rsBc0y)S*BR!&CNu^$MAY*mQK*^Ajfsfo1DSP7Z", - "7jDU5&RhTx^&6zmAykdk=E5JpQLo(Us)7(Pu@@&*3=rq0LB8OgkmJDU5-0Xr=", - "b4C!!@dFVQ8Yc*Sa^UFxSU)we$OtCgIZ^p)aTabfVkpSJ(IkxsLwAtr-7u8m^p4%lFkxQ", - "B=9dPd)MAduJb*Da5^1vr@@cE1uliVxS&BS%UKQ0Q@HLC%ONN#G4(MTEbtx@N0FBJg(kcw4H7TSkQ)X$3", - "7pRzFVy-&Bho#djgdDjuOoUG-t@788SDY5!f8cUvHeG^4=*Se*Ya(Lyprz6$J&GjLR07k4tgYd2ioR2lF", - "y2S*bZ^EgrRwA5K-EIAsxcD^HNZua3@zJ5SRPeWq9iB=YKm!ll@6PM5L-huR5&G2qJqyx-PoelYypenMM(I9G0IB=V@2vTKV", - "MStOheLDzQ9-)*wwJj^5&F1zNk14&^q%f&Iif5*npYAJr4&*Ks1aWs06E*FV=glIOrA0%jRDc1MW$@5u*", - ")cJKk76FrhWFAdmW9X&3brE3XbJ=dqk@2r2Ske$!9yc!jw#gz#rg(0in)HLz5aH$bwJjqYm@", - "GqYEREjQ2(87ufjYc#i#W^pj#kjvsOs(z=Oximqz(yaJn@wKRy(dQrd893HSvT3TMe(N", - "89t^qxA3F=Zxcr$-q9#C2=g7sjsLX(*6uE!Ih4U#kOY43F1dvC5bCZd3w919P!W2tK&rd7f%d)U!EXGg7*6T4EGE-EIQs", - "!YNOLnBma(L1)0xTwud*FhPm2sX#Tv7pW2r&i=T18xmEN5Id7dXR", - ")z%0!O%sdj*y5=6LUxg(nkyvVI8ECpTzB4V)6SKt&5=-Znu*IU(buUyMQN(ZmBCq7ZFRL95ST@(*EuQnKcdoX#", - "eXJLcq6SeJpch$-ouvo98#Wm1*TIE86&A2ddzitLgtmbuT2jDPApPde^U=BFS0cpqK=RAO(6E1j%%bT", - "X(idiUPVJEnt#U9DgvbncU)QcpOxEKb^eWp*hYT1M7NATKiNEidn^mnB1I%qY1Px8x)J27auqXAL3y", - "LO1!Kyw^ESfiB#l5$5JbM%P$!SyhDK=88xX@3PjZX7wH1Ieyqu=FFHcsDZmC&uWN9lrbfrsklcr4VJS#b(MHGhYy2fa*B", - "SEfnGmAHe2CFUWIpQZ6f4aDRL8ft5XcDUjn=i9(RTYwmtZ*ox-cTGZwB48A(DXMe1lIHGNj@m3K9@", - "ugIIhJmKGuj0S(-7I!)8uJTlmA1W^m(O9DJVd326lv^FY#)q@k7p=qd8qnAYfDgr)YJkVUuyzQ-z$Pmb$QpmqQwC9A9Y#1x", - "KM(xiTf=scf3xP@mLmk#c^wH))s!SO=LdL=-t7@9n#QJAM9gpX-DcGDNkpwli$eMKRg15x0=C5^#a37B", - "g!ZoXS3!YXoC&lW^kJxOPC#GkI2(b4VNM%aSbNRJNOukgK8rNl", - "&^XOOcHg5-l6@T@k%p1MJv*sFebSMpJ1it8wc1fW1n8BpB2u9W6=AZKitpU4H@APV3gZTsle897Gnz*hn==y!&r", - "hh*GN(@wrBMSQWzN%EKRqBEw5AOYh4O4mk5=iWb!7yq%O0Gh*Qd^ANF*5tr72x7u2^v@1gh(THbX4m5icQsC", - "U4#ao=C5@SSryBt&Uf^vgNGTdp=2KwO$JldhEMM$IBBF1e1LS^lj!", - "3-4LRDnrYp2GYUFhop^wAN8SLJvw%pMQcIitzhq6kV1od3YofMa2gya494&rrlPo(kErLNAc(^dCqqjntWe", - "5kM@Pm^Qxy7x&QysJR3aJXgnj6s#4qP-iHT8N2&ySS2I$5r0r!iL(#)%n3$SEKf9ao@nfBPxxwaF", - "yGK7D4YiKJ4PqR3^cTA=aCu(S9Oh#%q3Ys8pXjL7MJKc#k0sAUVy^WmG@7VaKMAWOMc$AXAv$YVm0!eUAKvg", - "#yu4gjHue@Sw#Xk!te)O)VpHGeRFrBXXA6*KK$evhEs-CUmAsKp!gGavnCxXA!LQAeHsM*E2RR8@gGZnWkSDY!BYIy", - "9rN%H1(p-4uhUlzKjT&*wX^78sbRohBlaC=8l%30s6GpzwXdV$jUWLCg5#ZK8WS8WhP1FSge3YXnX-", - "&oILjZ^hgZ)ABcO1L3P8IY!H!vVd@XJiew@YmxY(4z!zMBR&q7", - "tHjs^Y0unnmERN1cCPrw5d(JVCdIr0@M2P))XnjuvvbXHhrokb)QPDGoLW", - "h^CLUcY9N$sY&%R(H#G46!HSXx8CAXSaU3R9W2ERymauZnczRK(j$3!emPoXUGmxXg%aF*^zEevPQFx4#dG*i7slxhn", - "aGY@XPy3f84iH!*%WJS55cuVQgEZokLyT)w&Rm0nwboHgj$e4iX9@kO0Om@I5jx9nDkSQluLX2vH*nUfasSvWWbc", - "&U53WLWpnqRZJ*zJnyBXfto95I1HpdEl$WHK=$l#Mm37NPHIqnE5LgEAku380af6FtDdJ6e-8gWzAzJ(g#6%&^^tK%ZtzSXXXNj", - "DoIdbDQV2P6&j9-n$KlrUlbWtJ#wcW*tcFFp)F(GW8A1K-!Am%Cz%", - "BF@8tbDkWLOJ1UjpWq)Zmlr!n2l@4q%WZYFK*GIrjg&Nu5r%-&UB", - "C1HRhZx#&F!er@Jw!pYo4fr0RjYgd#0l@^6r7-&0G*uN&RBZJb2NF6d5ld4^IqbBxFUXtgAO^HS2)poR#vt", - "h)$oxDr40y#HF4IYb^Fb@j!HRiopx3*Q0Kxbq6M^KZzFfgZOX9o1z-kl&rQt8jD5d^ek)EnXpaH", - "AJ1N@D2Q&lE8V=XY2d$yj)^49(2AuB4CBkxR3rJV9$Qn-o$*-OFJoVJeCZ)8s(*QePGfuMx", - "HmTDTD9yqwECj!hD$KsS@toCd^FpSEgGZ8ELTqBR!#jVEC3xx@i*%H*!tfDjZ12&yg6", - "*RhkrfH(Z^U%WHA1GvGaQc$k!&G@51D-Ua0Mg5bm1e)TZ)nEWj0ppgOu", - "mM8txOPxz(dlR4&AHZSCwkewCP#MP2#ij*svmZ4!SL)%eJrr^@fdvKOhz%9-#8etH9sgS6-fc!rgy1P9xiIAG", - "WAZ-WE(l4R*=Kf&&5$3tN0aH9kxvSS2khEV71pK-HuUEd5=02hPgGiY!dITc$", - "tQufMeI67i9LN5tRpSxInUwuffK90*!qyfRUx8W$8@=$gOOzbMs&8xo1Z&i@Lw-jL3AxzH&FXUzfzJP$", - "St&G2kBK#lf$VB5T&kjmYDnJZRcIbqLDFOcnobre#ejs8RLBF%OJM(2neH^!3ALHdVLxh5)suj3Tguc", - "zstau@cvY5k)kQas^7eiYMxcgsaUH^Sn53L*O5*eIMCTlSIqgdoA$2i-DQ(h@S40kXALe3LlRhFH1DUPfizs", - "QORG*QdGjO(nP#A@0AfXhppdbkKrzwF2*X9%D&5kBSM^)Mw^M^#vo6DLJ)v6zkH&uSoUa3pjijr5aaCmm5LCBENC9GzmX4e", - "yGU8)1tIdmlASYjk$W0ak%gf*Qt3(kBhU0u=G70qAM&GoCKhTG4", - "jwl*xE7mF%c0g#=Iqd8Mg((jjYvt#x!ImhxBc=oZvYH(vN*XM(txX@bW", - "BHMilg2$AYeAbo-Hp=F*fC!^!-Ul-dD(1uD8Sq(4Ta$g=!aVvfwlKK5FB$eau3ZPM6c9a)", - "#0UGnz(qb^R0=-TdY!@fvL4nbw7lu@#M2DxeQWiv$DQGq&Q#sRX#VpGuT2jzdU$lTQJbZbU&jh=U", - "BexbeKpCc$-3BlHb6TgrkROl%3-IbF^jeA7%*UBhzMFeSqP3618MWA!yBIqNRrD-(Rw1TKg64UTeVc", - "5I7ocg0tyvF8!3IV@K%@3E8WYWzKZbG8))6!YhDr&hVlMdWimIPvL2!(n&*HwCOVB3&mM-TwrR04h7Fm", - "arR-@F2ug%E=-%mbhQyQ16T90mOFjTpBOdGO6%wDKrHN^gOVGXeagc!JoVW", - "9Nk-#xbcGIO&bkl(m-BUL&&PneR4oKooWH$)t@CTXPcNIsz(dVO0(XZoWg@sCA^qcHplRD=rBJ#JIco4WqWWj8m*F4$N", - "XUlv&uhyp0MZY5d6sok8hkBlQ%5!hNsuTk3xLY2cS!SetqOZ1aTqRjyge956cA(tc1R!%EuS4bymvSZDPqrOR8GnWX#E99@sF", - "XowjXC8frfKg4!ja!tUbHiG$J*w9=%=g8-pCR&dy*HtlK!Qc*-Lp2", - "kxzOt42OGTek@f2)lE=F@PygRLzA%l$r%yem5x#hZwAY2L(C8y=n)5#3xWi*W65&inukB6N$SRgo9ftIDvOx-tf#uc$LqmF78Ru=", - "6i3nSAfT^Z-OfM=Ah#uxboN%Qc)kwqB=$wyf2n#Hl%O65xF8&PazXTsuRbNeXY-1FKTHtl3H#It", - "*cgcEEX#Cma(Oj1KRZKW^!HQV72c-ot^P$xln$Qnp9mrSQ$r(@Tp^3aicL8pPNJv)849g2vsk2mO)P&E%596$G8$", - "PqGAowdHybXphPHg2jHj4E%bd)5aJyB*SJtpyXF7v^M5EqsbXT", - "-Ry)gbT)%iQ8=Ny#ymp$DVCeD(Zc5PLaeEsRjSStXDLwmFc%MbZCW)X9RRhwzkbY*5%C8YfcSCbD$*PQLUtj1u#6Iw9Xq", - "t5Ig4lqAopHNPZ7-k*SQTWYzaHMIWN*udY$hrk)BocLsp1LhpGu7^", - "XD1Tr$v0JxxcLLQu=ss$jFrHbuywh6L@EODNEdWMpyJZ6E$kayVy5^Z&$h8ikb(k^L8e", - "Lt30CaLiGDqSh-m8VKXAYjVDE!bIQ=wpQ3%P))o$cxUK52-l@druPBCC@GWqe))otPgVlR2d*T3(XR5(nWPlo", - "G*2T7#8aLvA(1^JV%G0#@-REuVJ13lMCq@FDe^1S*#kIpdtT)BhbrcUz04lnWvi-=ZgHGsTNXbFHuDZHM", - "JbRpQmIr*=9TpYglg-WLRS(-ud*MA=cKpTYdS2ESN)BG=1&Tom61Fdyk%#iUNRcUUfq!hmUy!Dn#UN8", - "9YZSj@nR@tDOOSK#bFHh&xHgver%6D@zJ4Kh7qITcXm(jeTUf3bnKoxAl0deZ4KwwiSyEF5j&4iKzDBUsdt!S)#tUkHQ6z(1H", - "3bm9IbhEgCYUIWe%c9mlxx!!vqyahr-3t!5Z@Xt4f5gdGVHdj&lOR&Vh^acJXB6pNodQNc3UC)e3#*N", - "EIQRhqpC=JIe=w4mThUUzWLMw&bFz=Er*ot%CFkHf@AJMkTXW=zDc09-45e9kMOYHWBJgvyvmPoa$jOX^hgf9&ZgT&l#g", - "6H=Zu5aCWkQ3Ovqvs9@yXx%N$gF%gC1fcU3)TbAgNIAKDlK%l-QqjuBXm44bda#)&xP8nAMWZsiNV(*wN(6CbnlKm", - "6xOE%HW@yOuIi8mX%35sU9kjnotZ!LAfqbbc3bCq-1GY1ijyCvhzKC@=Aq&0nvS=-7a%", - "wQbeBKvLR%s8zc#YDWCeSnj4ZhNFSofmOzFOXaiWqPXnexEKcGKVT8%&FxYn^nKQ=qgAlKBCpG&)", - "WHe!NapmqMyclHP@#zP0ia5O%b@9LLqEyc9RHo&HPsYt8iz4mY4r6zOn9QgyOYVN5)^wo4r7VJ7dp^O6(oxbYZk7mI", - "zAjb7KuV-^9!=0tlxF-$@av%=5pqBhuw)BM@Z0eT&%RXUdE*C!y*INK$!#ZyNA*V", - "L&=wtC5Dkr4d&aYB29zStcGOH8PNb%Uo$yyztIE-EH)^yPO9QnPG6y8uoqD6", - "V@PU-WfV=FkKjtimgCJYKT6XyUyZ3pmNWgM21i1&Dc0IC2X2q#ElHO7oaFVW((t", - "qJUoV3657YHd9c7OHLkyncb)Zk!ZHS7&Z76Q&SYFRQa1RQAijA22QfJsu)Y^$-%OCKdb(339UihFMcNyTty(VrjI", - "vZ3DIwCN0AWoXa)w51xDti-*f(om0M$u0T9j^DALWCg-oSmtr8a-@!Fmv5UbwfT0OG!7@@!)CaVriCDxhxu*jT@ROPETowEKIgQ5", - "Qz!VaKHGZJMLK3coLY4KpNdDV7^VoVFA(HCX4GU=5e2)-18cBk2wVFf9QVc%bhy", - "vo3pzu$9^UJ9V$B5xiHz2AG6!vimo)TDnRP-GBcd%cc$RsEF)j", - "h&FSi*QuD%ec)lqH(XsCXB#BSicICEMQTLTtEn(JlTaGc9liS5w6-sw()cvGGLTMA*biCzO7E#pOBCU", - "EQh$kdA0$N=rTDYrEVrmtRbZUg!yiGYTAmro3Y=qEqvcIvaaadqxXj8OKAmU9a@luXSlX0F#dKxQO=wHY", - "hpHuRhroee2=j10Ogn3mb)HljyV@f)iYIjhS!Fpl*sqXg@4KBl9uI1^!0pq@iz5U7N42)Ir1pJd@", - "TICoSYi=EKwDSgJGRnoIn6rm2eoT*HzQwz&yYyaa6N9nb$)#cgeT5UJ*Ju^ZYMS%2N0h", - "Cr@LgCX$jk%FXxm%*xftPWZAt%FA4Nv(&IQmUhXcQ#1ry)tkN*VNi7@l0K#UKz", - "^82Ik%!6(36SbZ)XXjtx4$YHGXdlTC7vQmc=*z9gUvSF&TVzjJQBI(F1KicmR7Ciq8^CzoEt)Yv8RHFXon)L&2HfKjCnD#eB8&z", - "0-i2Sa#WN1H%9eG2NCrPgP0!ZnF#Vz5Y#&^8ee9XIs43ULuySZNtwA3LT$Fwr", - "C#OUU*D%7$orUENhb9y*jC6^7w^3Lw(1XyIZUk8lT-^AHyNeNB-", - "jBDMha1f-4Wb!c8FTqxDSeRw5Rat%d9oqKh&J-Abs6dnIzpJs7p4(TVAd", - ")TN&5YUv1&eLshD(f@m@8qzTwyKQ*hDEDSpqtX2QRltffhgp@y)JkxZ38Xy", - "UO$w8)rq3*5T=C#lH0)@Au!lv11VzZrm%ua1xyM#zs1^%a1EKaTz=GN8jED8Xk8*o%2uJ#n4Sv$wUf(3e(ENs6UvLQaJsH", - "H3ZhB%@K4*(4KBwL!6#MxrLLuKRici6ABA@@@JGC74oKga-MmLz(yow", - ")9ZSjtR33(2h!cx4W6B&2R6D=%!^6aeWORVqEE7bb%v)DDoB@7INjXsy4agXp", - "bU@ptHIFfXQ)6oM3T#%b^5ZvQwJrLNf5YeG)4r1wzxm=rKuBGNm*tnR00aQvgvOI&G!Ln", - "*wA%Z&)4vxY6uICSHH@aW6C&KocF5ZCsO!K9*Plqn2pR5bUIC%#m!A=ET5D7BYF*0^4cw9VcvNeMxYse", - "eY7-6QWg&-zVNlIb#74RZcs@bXGB!J%cJk-03$a*smMt)s&DjluBuCS(m0!yT@V", - "uQvW!kMk!7QTY!8bs^d!9G)oRf0Inac$RXWR2eCs4Y77mN$GsQC*Zo%w2^0hp9g69i!SvEoWM7iMB)Tc", - "@5(HTHNV)HVten^Tjr3F&Q3hjvtLB9NzoU7V--2fXxK#YT3kqNxYB5AN)xb-LSaBNR", - ")X8e(KwtJ6yA@tr4(a@rT66on6)69Eh1yHpz9xSV!GLRyDb5YvewqDUat3#0jQK9cbCf5KjYIQkmqv!ojLlLRFP50x#xtJat^F", - "nMhdAGFl93DxWg2d@*&0SGr0#!QNN8AB!Ir8)1kmNK9bfm^Y=9c(L*h!oc^-cjjS@T3xT-D", - "%BR&Wtac@$2%HPYU5D9zmo8Ke9A3hq#lubQWkNljf4)4yvqNp*5@qg0t%lr9GCwNTRck", - "cvk#eJ@!kbVbA(EF7%sCPUeRy*#fyiAY=iFG%b0(Yrydaa-=$Y8JjEE&ji(5@weDhxqgIFd^", - "Lu(ewL%0#RunWk&23%4n*RZ^B7b1#pD!1%FqKTqaCKC%1TaQxD5gFem", - "8Bk4@TvQypYjCfA2ThzZq!6@U#kv-P!8PJ01UWUgRvf(yicST)TKvuyIaQTZ(wi*!Mw&4A@ftf&Zdo^yK", - "1jc#C-BGZWC-QeKk$P#VP=k%bdPzauxs3UAHP3oO=tv8*fvt$bQ$pUPOQo$Pd21(Y$gCnprUGjehCszZLsxrz3&H", - "84I!mJ1-H0AKt^^V!mmFSm2x1bm*wekup8hDDx3Ukk(XxbQrhTZv28#(EP7jnnBZ9@W$x1k2e@z3^WR6DWPC", - "YdkPEKJfNC&8nUxuT$MILbi)Zjl=*n2dCyTkw^M2xtI*iDUI7Wiha!7-0q82rVYmh=j!a3u)mAhbDS5yanvgnhOM3yeRVxlU", - "Qh9LQ*ZvUvs4$L@r1GmH#S5)#h^5ud(6uC5YA*l^IxAxP&QueJxnS)DhdEVMMeKp)m3WWR&s0aAF2qlWb9oH4Mr(W", - "Et2mPvdOUuUG@xEQarA1gnKD*G#phKjW0P^vRMJHWHuUgc)@kvC!SPEfyO(^S*4IcQsMRU0DEyJXSh!c2-@2#f2!mG", - "ymZp(T)$u!8ALT3nMVb4EidSawnxxrAnLmSEYF-iU2!nMsfjjWhfxjd9dha^JFPJj01i8N$*1(r&WmNXZ3#$psYEX1bR&8", - "nXdnw0YgO7EMW(ndbHaF0HxYqM#saV&J$W=mYOD5-z9^t8QRD)#lRj1)0cl$TjTg%x$3cI3Ow8NCe@d^RdXAir", - "N3Rlw$DK1)q7&eYD7TacVqdEw%7289dpQywHTzr4B=o21#g97OVep1$8NuETDpd!k0", - "iXt6=*@ob58v@wmHCsPbJW38-aaJB*WkxELG)&ulBYZo)9VweCTiQTo#SjT!ScKs3xYe4NK7kpo8RrqgoG8!3taSd", - "U7Gyqdw6cKtJtwnCkXKnb6S^r38!eZ&tbD)H9uRbp&j@O24x6C@xUbl2hhacJ^Rc!YfP8ngk#s*1rPgGB$$", - "KwfKxng=DpvioeWHaCkiLe7IG^vLWi5&Wa^3N!fpqGtWT#1P9*oBLTfl)4Ln6F%4tcZiiNZk(qj%5wPzOWFF*$9=1bC1jO@uYF^", - "9^Y96SFC1frR&rIr7qw3U97M3ZIP&v93XcVd8mZ)HRPx%JQrmO@WY3KVlIw=E5gIKExffj1vvZc", - "xE!6lN7Pv&Qs1PN^$L5PQOV1FWal-4$MItcpl4R9hFz!1f9YO!^fMI^yvCZm", - "XfVnXa@)Vw)#SlepNa1HK)DVKoV%$p$FgIoA@vyGHPF$Mgm=%tUyQ5", - "mANLcIkAW=#CIDI7#mJ0^=b219kX4e%!D^yRgE=3qjR@@1p8tgg2IYs^", - "^$c*p2(jL$oi@RX#j-UZnP1yaa$u&ruy#wxr1rx5&Ivuy&Whl$H8t9yVj$OB9PZEc)k8z^)3Ubl8)LEhf78Jj00Ew!=$G(bIAmzB", - "%Df1dn4BYd375U@OEx30R2fUn@F^hUtVYKx-hiV5cWCa9uSoA3@5sre5&v2JfvmEbzOkTPe=ztb(Dq6C6V^=g4yNYeb-p0sM&", - "l=#p%CZcW5da=cCX@I095(=thr975*XJh^Vx^kBcrnyVQVCiHOEy&jB5fb@z", - ")#BV2rTcZzq$70KwOgPncPkC=G#8M90O%$sKW5Py*D^z6XDI6(aELT^=U4t#bgW4M4ZWNJ!-x3DlsWusFsp", - "&Kk*ZZ@e%k9hmr#Y!-F#vO1EOQ0n6WX3q4gV=zy2sPz()fsVA6f&!vTK#$tr-AR$kDm&&$I", - "5z#&fuWHgWKXJqVpkWApRsP1w9M4Hm*W-8=#nq7X=n(%FeB^QSb%nO2=", - "f#w1mFQB%nfAhkq)Adz53S82zGQ-(6m!z1uu*Oovy1M)1mq3lMX)(%uI)&", - "wHHO#FqwCuTY!V1)J)fzpzyt7uWYPomFv*vLqz#v99!4%eU!236P3LBm^158d8", - "I&weKla)AquyJ-c98&IjLv6cl)Jx2n*e8RsYSamHvCC=ZCjSYu9qY", - "ITAD%w3CPwE-S6@JOB51l)RRajUluA(#0#GhnPt8OQ=!7b4Di$", - "5BrB^yB%*@3$5jAPF!XbbFF%jCv5vOnq@qI9kBFILHv8rZ=B9N0P4ExC!SsT#g", - "2=XU@tsU=cTPLt&Y@YJ2Wr&x6eQ#MSUiiJ(n-9s$uz5)LU5hgtf#)OYrv8%J-GP*5o7(bujw", - "ycr&rKOFrcT#qbATUU5WWKPXW3D^d26U^VfmWYOaNlHTMPViPP2bmwtm@a", - "p#2#5-fzyVAF*BkqVn4CLa(97Ka=Z=zLo)VZXTZ7ulKB@^@gnQTsew4V%1I$BUcaqeTQ8Dpbk@r", - "^3M)#Z5OVF%kflOCY0Rul)eWVE0RVVjw3*XGlUAp$=%7&MsFurnl805pn$&PTwQkmzqJwyEEbPd355goGTcS", - "usZBDyu7TTTbG4)&T)nK2n7YGNCe39&1hZfBO5S*YzQsGmRBlu^q%BI2pP%vsfua%EW0%P#gTvY-TTma#h#WFk8=-RfM0j46", - "Zm9Tp%k78xuvVjbH2g-6YF%^20$Vv6@i$JyOwOp)s!L0H^pnFx1AfZIcB1D(!6MvwonIwX", - "ws&NtDN3lGeCzkLbRb5mNH(8%b9#qJvzEJr*sZUSZeleY%sp!SQ1BoNXJVrXJ59", - "ql6VW^XXE8)KlCQesqD*8i2nHdfQOMHlCcX3Bl4WuWOAWx&N-55ZqnZSfYZ", - "3LWRonLWW5&Voc4wTOeKD#kwFPv@@=BF%3pC&Gmr2%Oz6RXByvshEyG(EZSIOf0Zg57FtdJ", - "Z7nU@vvK#fIQyx&S^uWd)Qcy%fHxGP7BwsWT29uU^HuDKL7ASC2mzeEFL(g8&FfRNGF", - "6L5#*D)dpoN=nZQWy)QAI)P0faz%w2OHE*eLxZjkVPDfRLQdifYLiv26Y9", - "8VxfbQx9Ls4NkELt1rfHPxrNU38iwdhR5r$q2K!8uB085SxgKxM8XwaGRkYJ2yS12G%MB!cuQ(7V7KbSqdeQPbZecEZ((C", - "8ZM9!hlpe03QqboI(n^xjOyEHOH79GWQhHO9Evbt%GhNMH7J=dNMHIgY", - "Sosgx9I&Ml(YXyR6=pF=$TRodWSiK*^PNC#2Cv8vewJ7@-T4X^o%40-UtrR%G4AYIV4t4f", - "7--II$zyZF@4$adfP@EQN^9bC=UmxL0SEIL!gfU6sS$SOs1r369^CG6rwn95guKTPUo4CEI1IJ&i", - "Uh9z317E60KXvimnA((Ltbcl0lisiQP=30kn26fL6&8z55hSH9EogKwG6JTyXexOF-Aq()WYoBIxRB4fR5G$Sxnp9JYX", - "Q94&FkQiVi7TDNQKSPUxvXJu#kXr30RgquR2KL=-A@2h0*SJM9Xc=HUKD=0eJPx7CY$O*-eSbvunDWscKg", - "W*J=3XsyFHWzTPJ6V9B(5vG3!tm$q5nX#7WJfj1rES5y$w2(vJX^JI3tPL!TjqDZ1L&ztKTxkn6=p#0(ACOXkkkz", - "nwdsYj1Nn5N&qu491ba2kC588sRQQrRj0O(i$0IreZ2zStdOYHTs8C11h6OWfDU(", - "u2DBVkd9$Ac=i)7Pb&Eg^TINL%BycmX&EF13Zf@!DW*cl$Ji=@Y&zjd0U4xov$9Wd)xHA71F2zS=zzx", - "%lc$XhXXE*3fXU(jjX0G6z(rHy1xOoDbE&f^J8j!z#EK=JUnnQBzZDv", - "PQ)PSYIr&MoK$DG^&vWQH2nNC%1Z^5BFscPE(QwCHjKp3S##MynLl&o@^", - "MZ1glsamaXZVMol4YxU-u3m-WR@2zByje*b72Yr=gShc&rmbRvaFudi=xpaVyk7EPEkaUDaWoH6g", - "XoBYZ)fJa^tVTbg(6RI0JpB#HfSUS9T6u@PgqT1KfJbvog#gX3o0C=owOpYWG7", - "nr&rn1MSbjLvZlGV5x=SENHsox0uJtYiu=9HP=5VvcmGOyJy%wdvbuSE)X8rhMOX^@Wg", - "G3BCj2n)sP$zXs4prq6QTNbnGZt&ob7An(Aa*TR#yuEh*75DSS)*xO!$4OZ*2@dn@", - "picY#udtIF5Xr!hA#NSPT1@MMxC70F-e2g)0eU*sa&0$x5fvWEWIxldG0d7uOiq8B#j9A", - "@p12ubT%8@p!kr2CUwfwUSCOgt1OP^xgv!VFKqEjMrO1UbzTY(u(&E*&d-P56Xzfa0o2(5@AV8EUNqF05(oNJrlrBQtX$", - "u!J-AN&*Rmfu%h#^25cN(!2Hu%Q9ZZC&HW3ED7!4BywXc4bo2t1eP%#wl3Z9lGa0&xRsOnyvglA&*iV2Mv8&x0kV)jQG2G25)fW", - "H=7JY^4I$a9SU*G&uBEJp*4FQZGZ$apeFPvjDgK&EG-h%#E3$Ja(qIbgfpv9fo!vYC(8&EmKiBRS(3J", - "7sO4LE4$is%EE$nB6hoX*iJ1GFaHaJChMF6nAVy6LdJ38Y^=HwDT=%I&q*JCoZ", - "Y2c#q&DQEvx@j!hOQz8o0Xy=f2XBYs&(lrSxO^2I5U8y1B@AfCyX=f", - "(lb&N=c7kt=(F4hl)Bzi1Zx4GNBx**O8*#(Zq@MHrNx(O06pRonZ(npdXZS3A((sKDHLX", - "i7ShUM&$0g6I^e$eceV3=JyQQL2d*yp&o0#G-PObI5cF5)6Qb90irjUoC-i@Kr0M-tQx6k%1M!zC*Kp", - "ARqsF@8aSVQpU(ScbqkoiUOaj-4K3agXlXnJ6S^3#x1O8*@g%l1xh*v&m-I34tE4ZLRx9Fb#3DF=UgzJ6Ar6a", - "B8BJNo1yQ7Z^CAd7GqHAGv!G*SQjwL8VQ(IJTtz6qDAL%AZ4aRB^@prNHC(DHCHWbEF*DZqJWLP", - "BR%kHitt8jZ*DZPI19$Mz9XEP)HU4%pXyxS!A=l!Xul0&lF1QI1Amfkb(7L0vy76SsM0HL@n9zg@", - "(Wjf=uoM#gTtpgQEIWFS@PQ0djhk4FrD#@H1yiAq*#A$(1LpcjThY-i*C%7D=Spzw6r@O", - "%67Y)NM0FMnD%ToGE$JkZ5!Du28rpG$k8rlG*L^xg(hvh2CnDw", - "Dg9HU6CeA($&k5NPH^ZlDYZtGC@&PPVw$S4BKJWdqBm$B)3xTB*Q1G6^RlpEu", - "pBbF4U%q=!uD(ME0lwW1^9V=#0vHTIK*93$2UgN)Mlm@TRXSpW7", - "xlDDKM2LKIeFg*Ip#c#x5EQ4n3N$&7a0w#7II9Q0Ej#Q9g6Pb)(mLpb66pIx)eHRlLIp@rSj%G9", - "mhu!hgymRvqRQLo&Iu^!R$vBmdrTq&ji#ui&D1wkucfT9nJ@0S$$", - "dhiBETxk#^@XIj0i^GXHiIUAg-Z1Jrb3LEAX)e@byfH5-#BUvJ-qH79ZM1#%Vw)4ziYfa@WLg#owJqipojUKU", - "DM3YIhVoRr!Ifq!$WLMcWlh6Zec-GtBYIqbkcV5wITrB&p7LQ5C5#uLumUk@^XzscE4", - "4=GkwphR2yr1J1-)G)A&#q#RT&-3LSEd3MN3FydpH#R5@W(sFP-dOqVYW(2xdvB!zoe&bi)w-0eX=Nr(83n^9JEDJm4G", - "9bcnlB%Tp8CIL59Ax@T#SwEvZMUZC8&!K2XAcoZl^0S(0s^UdoqU*E)jWl6aT*Vfm(N6ii6wP", - "A3p#Hva4#!Q=9$Oxko6CyI#0zbdScBPF6KWNXI9%Hc8DJ)$*^eGlyBptkhGbgl27Go$5o", - "WSV5*HM*7CZbWiFFPM3dsOA#o=lGA&q^%I2eqiw0gqo&h6QAr!wCu^F=W#", - "zm9GiOppfT$*n7xXSuii#$V#e9(2oE44OWUT#Du(qlVs2!-welUW=lGosNE(x)Fw(pNIix^Gpd70-rL-", - "TgXG2pSOadi^B*B58IDD7ugSUof2MX0=g3b4Xf1NF54ys@kauU=tZM2FeY5)HNl2KmY3LOIzuNk*Mm&7!pA", - "&pDqv6N8%YlxwksiBmN)WPp6AFALl#39MB1A8IoF23*h8ANf4TdCDSSx#87(t%By=GI%KI)Q(g54bXjQ2", - "jwwQ%40j#iQ*w*cqy3MV72(i0L9P*3Iwoa!cP-3!&DCU*8S8R&*R*Xl!", - "p9RU8PmmMqiJ)J(jW-q%Tsym#BG0dxxgMReR)=vxWa0GRD3*9hC*4mhh7)#yCQD69S^CN$Snvw^U&Pv@eX&gUoF4dR1RM^f", - "t-Pm%X$4r%^8@!h=!Bf72!h6q)Mnhw$jCWp2FTlsYWxL8IiqVylxXq95YZJntjve9U5w2#x)2O2P", - ")DqoG6ZrkfduIFb9LEJ7qRBgd6z41w@ofYpYXvS&!0O(JDTkDXZY!Ari", - "f1LSzlW*NkGwzbdVaXIXeJvcx=AtO^xuq8D=ttG2#174DB-!#@K5%j=XCY3zQosl3flv53LpRavf0115f1aGy", - "O^FvqrIsUna#RdxKmRVjEl&5Y*41cVreGEk4A-7q$5bNMndi%#GD", - "vNi2(uigigbl^l1wwih2N%KQZL)3VoEiVC3^Zh7y8ubjG-NV(e%e=Thj1wsiz5=85sEQIXHk(6k16", - "=)*U^B4kKPPUzgD-8nUBkOR@()GcvCnILZ0SOEomHcu6qRs&NAX03X1LCnqq%G#RCzkCvm#T7nG9FzX3eB13p^*#^WOgrC3t", - "b^v1N7vEw@d0J=FcQWofPSQAD4AXAK=eJxXfIx3&KDOhY)sZXtxFwp7&x", - "A^G=@p!8!HMEPYXnxmROUw$d$iiByGT2oE0D-gRX^N&7*liv!%mU7DL48rXGB#65K", - "L%Vr^VcX-5Nx#bThvKT585r*oRMEd@7)NgX5o%k7loreQIgAyZTAr9-GK-9ZkzjF", - "zAtjj$DPcikPljA3@GbhiLkor4pRSlxhvG%hekrGH(FT2hMGb3ScnIvm(ULrc(4&ICYr6CYdT#L!G-gBel=27", - "(EG!36SrFmo24Qq^tgOoRwvRmWRn-tps%jv*oH!yaeranvXiOONvUPbxRda", - "nnjA7!1ENCdh2Qzr!m2o4O!qc=OhZwV4fJS5MH9^W9m$lyve3uJ3xt5#%5@^@OIe$0zxuei$kB2dQq@!QNdWa*20Nix#", - "x2(Ng7K71n8wqeTwkLeGDLAyXSUc1QyRT8&EKE&QJtj)*6*IWuKJGYhQB&", - "IU7znpDm#cwHx(g5(@jf43q$Z0-A41XL4Yy7MhH-g(aIssq2Z93!cToVGiD)AFMbG2VUSskf#@ZIRDczIM#2SMA(qBEtIh", - "fWut-Slys!x9&HFk-U%c9@K)Wv(Zo3EAJ0lgp6v1CM@(sDp686H", - "ay33Z#DHP2ZU4BDtYoaj-7Svh@RWlNlBZ^)xhpu&9AM=jM#adWE)KjK0zvW%5Ia#sdq&IlwCpcPtGT**xt2k#(=VtHWPo$b", - "U2hr&%Nxr-r9KzCIE2mDeN10EeTRSyomY$J#6bfLZapuwdoQ1d#6-QbqzqZy&qQf9-2YTxjfQ", - "(a4XZCy@=2O*^FM1(Y9feo7d8jhSJ-1DymyvT#ggLU!pd1LG#xjeUtL37fbd9epod^gZaEGT9xK", - "fR3n3sRHsr8Dvu=4h7)=(qsNkwJ&IbhIz76fEp71ULseOgV=OmE$HEMe7SsZD7W7(@^9jBqQ", - "=y7Ufs6oj708j%RGWdtoPS)SMvb5dH-nI$A=ewhA)kRXEwzhDPj4RDn2R0lN8jU7Mw-#IDDjVe5MbvicWH%RHN", - "dh!u$G#E$0lG(TMtskrX3NiMENF3wWVb9Ib2C1-MRM01WOij#r2oEiYPs", - "fBsI4rJ@7M9Mn-1pOFV)jMlAakqvglOMVQHW*rTgL)M9y=azuKvsXy%pCDH", - "683Qqi)6M2(Npm73ethqMpMw2r6kmfwN(T*gX)3$JcxQ&&)*I7*x78zV^GpV6", - "ox@LHfTplV6pYr9#e*CAhy8aYH7li450RMD#hcVQpSYk$#c)PzQ@", - "1@e(-EEYNyvNf3!U=-m)QwptM-aWQsQS2U&iPptx$Awzh3#sAz9^^c9HW%8ihIaCbey-o*)vsGalUaEvBv", - "8R3jw@@HYscq&fzgI8k%Qli6^x%B0yP9uXBs)IEsVLArdNVIZphYnk7%s1O&pzIN@H@BVL6", - "ZrPN^0NcEq)xtzc87Hn*4CIq1Q#)h#zjOL@)QnJ6BNfG(tIMsqF5(94#%SC*G8SH6@&Jl2wG)0fvenvhRmA8xh3!Q4oW5Bg", - "lAe7wM@YSMragoE3miM8ZX4jn16)jHEps#kY14F3ueiWnL&wpGg%BC1o=ErH4^4^4zU", - "u*A%^U7YU4ozjBK$a-jWHB!!aL83hSGnTj*p85T7R%!5f&i1qCM6zZ!(0IM%7%AZZy1#Pa-9g1Bm(4@aqwDp96SubGDYg9jBXE", - "cCM@BPXvqsOQENM0frAGqZ!u-mC*98Dn(o!E9FSyp(Wacl)O=NtXVyeNP9ThddE7krfGRw&-5", - "raB=57KLDOip*4gX#bv9Ufhd00gX$&Cd-xKtlv=Xs3-S5KKXIZjJr", - "NZ*IZxiI9UmLu5!lSs7%mYRFa(f%jh2BT^@ItRatdDM88^y4Lhp(^#HxYt!bIn*Nr5*$06*RUnqzCEcoJF5p5fYD2jNfLvv1M", - "MZUWh$4zu9Ikw$okKv)c!#*dt(-t5bU9YjGKNfrm%1D#2uYFTUjZA)ukyL31lKFQ&qevwInun=", - "CT5!hTCubnDW@n&601LQdpV#^RjJ)lwwkF%XrUS6lyR6=v#qKu-Ab!Kb^vBdFJu(Gw6^PeNAENNfSY", - "UwuqUJLIAJl)^dXo!8(HwA4Z)13-T92O6#SpS^tqsAL#=30&oXAstB9g^IS=10-kKbz@^xNvtGXyFCC*b)!", - "(TsP!fAj4LILyuXeJ=#DcA^q74nXK-09bz*GJ@wIPx*FecvZyic!L", - "ABOmnO3NEjV-tf5cbkUCdHgore7HVuX1W6h32RSBxtCq4j14)DXUDW3bNLDMIrrJXZ=0^lJkXrmHyM3O0cn)!Xhb3b4P", - "$sV7&yyiE)FIpEx=HecySsarHFWdvbWEeg1ls@p-ADJuzT=98--", - "O(OHKZ8&%xYQtmbGPo)owSg-XuFOdVKzeqZofnl5F1nuZv-3YBP-CknsJYQIvbQeBUe(Qu4hx!*oE5BUP29sHt", - "skZ#O-@Ro%kL^3sleAYoYh18!UaGbJmMc#km7qGP7EJlyA=&MDir7p5^!EE", - "ko(tfAMPgw6Q9u)(w1Cc*@*y7T13tz^kNkKcLVxPcbLfSF1bFI68u50-JFntE(Iw7%kd", - "bTzSD3A!UqOyFeB6ew4c#v95bOS&&3EMN9!WwgXXvp#V8#W=bSM3IY!YP-Q3Q87Us%J1#kar$kCyAqWHh8z-K", - "OD37MKd6h#%IrUa9-dsaALtE!(EWm1=QqnWmtLInTYAn$-#^Hwr)#aHLps9u7jF", - "QZp-*#At$KW-29NyMOpLMyK!hd!RnGFxKfGH8dXh=7TLtl^v42ydVOx", - "Bpm54V=cqHR=oB(mGBz@gfQqreNkQR70byOOKWU5MQ9BGVM&or9ktSz#zB*dGEI3)PPh*^@w5stdAiteT3pAQIkzgjx#wqJ", - "GJ-khDD1UFCoosAlan$YhquVT%anL40lfe3MGWc&3RN1=v@&i(xJe)hQ2z$NunalS1TVqn23u8aBEA!TBMlAmb=JjE8id", - "x3w6jcbKNWsQON#E!p3U(D=t!7wATvD5%jeXB%VcOpSM5ybCD!q)3miZWQrSiQUMD!iittN6RR=a=2", - "nm-=y%3WrDg$WCNAb@p(qf*^sAI-bbR5^=ttI8H4jAf&S5^e)iSkY7RfG4TO", - "X!zcHNLi&2DK(2=jwygZ&2WI$tdfPfSo3MNCtYp-G4-JXOGJYZE6I=WsWb=ZD!hLzYLot&=28Ig", - "G$KZnMzNAtXWG)QN0F4a^zXBJEEH*OPrmZh4Odu2h(l(Zz%vapAnn", - "VZQpa^%F-@eDxc#d3Q(Tm#&nV%v!UVI6RB2wquJGLQwuZPeREFPj^51f0tHEB)zqigpw6hjTXAtMI8nEhZ&Rh", - "GjoJ$dlwDq!&J4Y%vYlq0zPzkLp2-(ihC#VTyMq0!55muz9VV5j7KnD$flJR-Jx1a-ThfyXn@", - "$B276X!mm*@vq$f^=NAViZ0LGCDFpAnlw=14*LvdC18RX*Mqt3FO0WdJByDR5(Qz", - "!5$3%ttwBb^@E*5L32OUNNgz62#NCrxVc*iImeOLu7l8r(G@JV--ch0jO&G", - "rXE42iS#oEq!U@TR^*um1*)Z85#ft=%%U6*-%W1Ej9hLZNRV6xFbm9u*s&m4OCvEn=AV25s1L0AHPx!Sv9)41", - "-!(h*!9Xjt0Y*5zXtEkonrhvRt3IvI#rGXa@eFQ^=JHxa^9l1FBr&bOT!c7IXHVpEcs5pey0kqh", - "SXPoaFQgZey54QRQL^NAXdm6KQbK6ObG*sl5mB1l92TYrSPTUT%ca@6(vAV5R3%UAv6GNztCAdkI^x$X^9", - "e%mUGEhgI0DpS75C($Po$77EqYf#6u0o(0xW1M0duBbWMOK^8kIWzWsh@kMYenV", - "Zd$d0B7lK5rJAhRlM$u%s(pmh64JZ^*DB3&9LQDfbXu=#*ZtbG75QEIlKb($p0a&lRa&CE@%KeWEwC", - "2ZM2!WU8vPFgv*5oG6ptp!I&G^fdm(MUmSx1)bg5GlJMD#ikAxta*0%", - "u72OH9R*9&HM86UX75&X*$JZ5E)nAN6GdJiXWQ&#yI#clup2$LnJfSl$-e", - "%C7Or1ljsGzupFu6uDE)1rt^d5QR4I)NQu1YWNzw#YBE&cv(LC%w1DCfz-vz59)&D!nj@J", - "pS5fjTMbPQNef846n#%&El)f-CC5*3DyLEgBh2yt)NmT#8D)#EIBR6i!AF5BbZWAE%P5TEH5B", - "FHzX(7GZK5YVVzQVoy$9^xCVb@8TGMyc39vW$KXYhl3A1V#iL(EHQnDed", - "UAg(ruBQ=H)PNo&MEK2smKj#OZfNdkZ1EqhI0(4GaVWHZuKaxO^JH-(f4n^tl9wtr8UKrPHu5Bk9^y7l=3ncfivK)8gii", - "$G84Twzc6=NUaa@R1mfyVOxLartr!tlF0y7pU2NHZZKa6ZXF=Yd-QTJKcDK!oQ8M=fT^p2(rrmtZY*B", - "I%s#PkZk@#K%28mQuWlQ(s=bji4&!xMZSLP@LeZVCpM)-pta7SPK4HL1P-gP07Qo!#TbbFBgZkFJ", - "^YWbuzBle$!UiIu3&)(wX@kr8)EllJSPD1ISrmIKeqJ4lo7Ai5F#Yr9g=UNl8hIkdE$P!W#2DwJGfRu=F355Aayqbr", - "HW--!p-V(Z2i=ozTpBSR$4SN5SOKUj47n$5Cw#TK!s7KDg511rNf%To^50BgxiZ#YxF7^E1J2D%bs%e", - "SssE-Bv9bRlGAC4s)*IP&u1887WXXyI(spCUqYn*KE68fqwVO24^xz1XQ06F8)9zp$!EtOVjvzGN#-he5UXSQIvv69$3ndBN", - "hRKj&DM%DFdTsaDddh9UX3LSy63^Zyf9I9)VpH#*AWx3(B^6^*lIP=C*0CfJe^2DNFXx@", - "4n$9m(VZ5K!WNw55TUg964SQO%YQpyG)EmE26UAIvfPdbNC6jq4DDD#cidDhC@**$)5G*5^zFO!$(JmT=)v", - "jp0ysaEsJ3T^0jbrH5tT1s@r)V=$7rq54$w)4@@gJhXzjPQ)kwmBeXBt@30p@SWupcpwQycrXTO", - "j&H$JF-8Z=yO&pgd4J5JMzKihxAgOr&IkWYA=GjV=9hdz6&%^XiuzP", - "6GaZom1W*U)Tx2WLVSNDW6igNnnnJWv*7(ir9erNog^WXlBo8p5iDY$8dz!eu", - "H(6((v2XqlQm7dbJBMc5acAfEtqr23ZobN!K^lBASX%5!DY9!ThN", - "vLG=#NU=NqT*kR3sJRl$c^mOIsblWY$)6nA-FueBqExBf3!G*)&%OOf", - "IajUieGCvrwTBmM)90Ptg)@5Pzu&j7uyD4BYIZ)9Y0k-o0e(F@VUfRObRp@76wVu(pq)pSY=#FBGZ49*D01lvgX", - "b#=wWB!P%TToVyqoq9!#&laxw8-AjpR7Ybmt6^Dmwv19FH4a(2KxEeBlmAmp5kaWaVJzOKEub!", - "TYT!Xa8ulnsxlaSHSKaP4aTAmSz7V0Bt1dl!L4y2o(TFq^f6jm80kW#*0*Vq$do)U0z6hhvn*vX#G4wakOaPpf", - "Cob7(0scvsJj%=T(cZ2NuD!DAvH7#eX44T(Zh034v$JCBbEF9B", - "PkkUrp@hS!QIPmDaN3xuGxiFnegDM!=NFY*bE23PnX9PrMT2UIK0Yh%P9$rsA*BpXe", - "ud#Y6y1O0uzrjqz9QXpwFoGKmVVS9pQ2d=&RAfUInuWJcmC-wZDT5&cdR", - "L2T1rZVg3o*QNfl0!CsW1NjbK(&xGKG=KZ*$^M8A92NFKCC9W^70uGy6^fBP%8NUckOvb2!TG", - "(YHH83uHp$=f=&%O16TtT(p-*CLsf6cXn)co1L%P$Vn@2Z)rUbg1kgMpojw%f3p^U0VT3dFTBlUzRRDALwQUvyzo)#bwJ5I", - "NN^OP42=jRYt#hVcqTfc#blfg9pTaWUlzW)bJuwO0M$Rpx8Ir1VPyPmNXUm9Q7tJb524HM9^=&#=$XO3(Zvkmw#piEwtX)Aq4N", - "%s7MsG5Uo^DMO2PxIJ2ae3sk&J2czeNDDQuEP*aYfRKiCn(gd0e%PcyhU6EKE@vmoA4u", - "O*QBNJ3uxjfX1Grs#52i3afH@DqX()AHSFwsI(RP98bYd!FBv1kL81Uig1Gs7Jv611tHLhf!o7!DQB*TutB@PIL", - "!TOHlHp6M-#iHEA3e5@YE74bc!YLu2UR1!XD9VcuhMY984n2F^^ED&aVMRPV-P4Bo^", - "*nV=xv8p*rn!K5ka)Swz8afIxdk)ZjPa#)o)nB@37G!M7x72($XeYc)^I4^!x^ULsomHh#", - "v57$9EG*^nwP(Fhbg!-CWi((a)@l7kbigC1xD^2rPoeIlvs0upa90g0XHeK(f3qvMtdx-r!Y!k=3DZJytXOpdtU%EY2w$=7", - "iY@nb9PN($VhU-c*mYoSJFR=Ablq#TJaPpxKIjer(=#Uau4vnBdF1yU8w)^J%NjiwG2Z9$4c$HVE$p", - "bc9vF)aUEQAT8D%ZWoVfM126uIu5r$fuW6y4suof4Sfc295Y!4YlIeTeeukeV9KTi)6o*1=v32GS&qBbqtPvLcx6j2F(xK", - "zKzRR5TW4*izC@J=lF8LZzOqYmwRJ$*bPY-a#JOjT^%Oo=ge9xE", - "xnx&PHy5a4Z*E80Me-F!B2cWn^3L#itm$p245DpJ7-WdcrQido2Lkn6Q@Ov*R@pq0o4S84B1))58HW!sly#J92TA", - "Xx(%&VQWpwgbNRQ!7kpJJ=0ohF2vpuE%M)IDiZKJ3F=0cI9ER-0#@Bbw$pQYBClFV4U#yZaPZcAapbe=v=jKySPqEV&B", - "(q0aU8Mg(fo0DZRAI^-FgWV3kJpufEQwVKUrlsY7=Qd)Ryqfe85ErFX(Xlq-KPy01Z", - "x5@oTbJ&MP&mOmxMTA1IOI-pm8N6k$5UYUmiCYXxafM!y6r1&@Y3W", - "6hkuqcYDXxKcRXXtV5hGdHL3mGPkoVsJ&JNB9IH5rrwFeYBw#2p&uZR7#)zdy7", - "LLXhL!kkG=X=N8SRv#aZfXR@PX--uCU@ow*mqpd)Pr=YL@Ap9J0MYM--gstTtnHw1%Iy*oTz8vnc", - "gjiaBuT(WCyG%GA)WtM0dzgJ7TfGtq$Rns69$)zou2YM9kN-eQb66vK(6", - "FBNDoRxTdr=Jvp-xOTaU69poR7JD(fSm0QzgfphapLt9MI!yNw^a3Mw%8IKwhdews&=7op", - "OCRp(HB4rtkevp779Fq3AIAyMv=uaktdTQ$Wm(hPGrPuXT@Ui4qRVaPoAa@mc$g%^^F&FvX$1Sq^nhW", - "hK5JEgJ74116@O7Gxkk&oo1a2(C)YOHbZTGhehuXn()mAMZzYYU#2svI-fH7nyqWlczG#Vk!#Jt7yrbO4#RyO)om0Q-^0qg&rB*f", - "l8g6(wvPglZsBakIo)FETS(oE5wV3I8x%apE(HB!u5@@rr@Br(%LfDcqZV", - "6chV-IhgqZTryTd0BE8UVk^pvLkNDb-ALuB@iVqn1W@-um8&o1lx", - "Sw#N*-&HB$I@c%m5Ps(Zog$yP6(LSDx10knJzi59kCz6ncVUi4xmd4Cy*e", - "zR@b0iQ-CUX5P3OX$-vi@=WK7(ojKO*&^O=JS8NxT)Z-L47E(tV^NEHP)BxPCPgS%", - "=K1B^U-1cQG2C!fIdZLlgrj-ax#iyALYXzLFnI3m0jQIT^^TGBK^=hnjRwedVoXOraPsK1k%Ks(d1@#K$curg%*AxwpZ6VNAOj", - "vfg^7-EN13DPJ&RyMWE&OMuH!ovfb3VzQM9VZhO3Z5Y0cMDyDeNg%z(NJ0eAZhwkfrEUH^e&&bF!Wk!xMCx0l", - "92^Ou=nnksr2r#NGWIzknAzyjyCMd#6-W7zexgsh9N@Ixx2e8bSkJ7ay#BzE-Jw4TT5znjg5v-FL2QVdiLYX38qfz#BDUBUUZUT", - "wz*%3RJ$w$0XGbH=oohi9&ULCrcQ%PYGQyRtwtwEdiBz)2yCG&eCosaCY%brS-FS", - "497ViFK46DQ^&G5bNB(O686Q4NzH$#G1YrTSzY)xOWpuDPX5mGb(8qLpNiIf!%YHDyNDNrtrPqOwo5BI$VU8)6X-jkMOKe*8icUw", - "KoIXArhT*p5Dicp!Jzug!%fun9zlQzTH@i7atr=7@W40u3^7EM&5DudR12N5q)ITO7TPU1I4Wp", - "tb#lPW$V9fbwt%=k$6z-vyCc8xHxdGr2ysJVhYDUl^j^ZD0&&N", - "neezjpg6xi^$5tKDeWdkqrH)jl9QAc1wHA60a*C#2u-tqf^Wih7k%dG8oSYLEbI&BljzPPg4CRK@z4A8ObuakpCMsla", - "uzeTku-EY%*f0D!DRseA@JPqMxp8FQrjmr575#i1swzbBtotD!Pu78)JfHW!L-ViK=P", - "ht=dTE3jbH*#i*jQxFYY&!K2TZMXXi#&dCLFzo)a$hIm18W^@epv-U@MHbJ!Vh)fGROzjN)6c6Ni&x3bCeUZxwSUkM$ELHn", - "i2Jzt#*YUz8dB0VkBVFzc(U0k#Dlc*DV2APK#Nc=dzAMw5K19p9i!7MRYFeeEQEQ5", - "e1UN7JigIiq=!oOt1)8!$CF&7*^jitm8#$KK6SEA=KGFFFPNaVFxH$NDTt2nSlfO0*kegvs#B41O", - "@Zxy1XJ@31)#G&CIcw0$JKAgKVhs8yQhoh*JsbgL)%@oarnjjag", - "aV4r0$2AD4z1&J2BJLSJoy0G&zQeM2YjL1A)d4mV&($2lUQS48)b2ttg3FHdLLimCTtQVw6GAh-%kY#t2^*p", - "%S-*9MQ4KM-gORv^!PoCR1ult03AF1NjZ#NrQqgd6ZBGUXy5AE", - "cXC3er2h40G)iMmPw#L4JvUoD%!LjSd#H!Vb&kMpt%gOSMO%Q!PX&5", - "K)cE=B7SB9I55-8!wXcUazZeYmf&VuYtc#is%kMI=Lnj=sZYLmLs", - "ptqg(q!N6O*nM9SMHhEj@fD&&RMeJWGh&2WixrK&t4=5NxRiuHq(Pg@b-h=YnnIXO*HkiYUGA@**u", - "X@&QjGAtp2kurUFQutQ^q5C11Bs5@DFu*K@mSOvxkdR7#MXI^OQO@2", - "Oxc)osV&do%6=42Elt)x7Ab&@Yot&SttPztEdYR7=iz7kXry99XbB1rli-dt2KUS5Zr=rzmBH5IIS&!fPY5yQ2(ad4L", - "o$HlwA&oSr6(e(tESU#kt%vgummbnhTLp*gCkbaR^OKFVxnzD7YUs=iVPBKXcNiV1jGvna9alLB&du41j", - "0e&R^cVjXNrdmfACc=YqdmbwN@m5HLm&UJ3OrBrp!g65Zuls)NMfR@1VOax", - "%SwBRpVXMK)bnek4^h6L1O*(Wr$3*W($iZBTxTV1jy^&gxrQapnZFM)I!eiveuozwiIULLC-^m!OCsUho2$(1ZTUjw)", - "k65P)RZILv4rI7Ovytf$ioncR5zY0x%VyKRP%&SG5sSW$9stVDACVCooBdd^J1tYyGKr@KKxCBvWU$Vd#ct=7Uz!", - "Pj-jZp8qhY$c&nrJq6F$KhHbuL$6OJLb2xEYCbVT(W*nO%EmMc9=oK4HB)cpH1tUp2J0dDO4)G&7Ye^WNRMUQG1=2Lj", - "Sub$VK7ELJqS@X7lDXUN#dY(i**dW6@sp#sxKIcFE56sAY#wKfHVUvUHrnaB5uehTSGPLbdGTm", - "h*hcfinx1TJm#OQc%QZqllpvcQc8RmXu#U=qUDrt#SNAHm2SZes", - "r*Jx&grAGx==s)5-r4V%)SQY4l0gOU3buuLCntam(m%pzGeyc3jFD$29bI", - "7YAL3&Mxz^D!Ro8&tTCrgJ!f--Pm9pgTj4R4GvhUp!HPuX@KH9OFLkpdiOM*$nj@fheAqw&f", - "YVxmeFrw*DrnpQ1^1y@vyF&gxuMsor-sR(8z6haZCGX^pAOwD&JrS&IWVph$RyT0UuJcrr^H8Kep-sW1j^Pt@)F9!tFBBSU-qG", - "9g0ocvCbIV*sBezs&pKfo&@34Zsv$7ezGnyK3uBEUyq(DlM3xCpnLU1%cL1FGkbw*#v!mS!K*a0bn=IC6UfP(R^Cq*)bq9A-z", - "DM&b-r851uz2fDBW2%=Md^UY^%BV7NxCRrGNBYmCeKWTgZyRR8WJgv*yVm(m$HQG1jQ8PK6o", - "iXc$^HjW5ciB*cFOoqupAE%DL$H=hqv&lg%HkgKMl@rbqMI9WtNunl9QT6IjP6C", - "JnhotFzjBmN#rjs(L1CbskZL-v$-4)W#-!kQZU870w36W7S%fMN6@WhE)3vwI11()yeT@Q&QuF!BRn4o9Tj)sxAWk-3(Mf%i5k", - "D!Pm$wO7r1Ft9EkEzRhE3gm4LE9fEq4re-tXoqlcwVD%-aAZ6T!fR!6gjLpn7CKe@j3iq^dovpwOu%=S*6%Qe1*", - "GoIrR@oJCM@R1cnatGIAfQOVba8(O@EtqAqDNhIa0f7SJLc0&q@t=", - "0Fl01JI^u*aW2RCYX-7M!Iv$0CGAF3K4INcKG7GNVlVDC1iQoXFpm68Lz5u6Ti#gW#)KbM(ZwI53de7kKEoIc!yoYW%m1ds#", - "KD*Si&FRf3N1P5B^Rn8QSQiCSc-&gblYHS5vtR)Q$-6zXfSjYceXNP0SYKKxfdH70Is*PjHWh#FMwg1yESYqAn", - "&7e3hVhSmgjl*wW3Rm8C0$S3opDA6q&%J8srQ*1@RX1Bsz2-x*4M93PvrAN=F43jN%o02E", - "O9jCTwNUsnWui=4gHdh8C5b3SDuh)6010j87LOFkWYd#==E)!XL$LF", - "njpYPIvauKY#-$Afllk)4rViLx&D!q237DNW-NRxxJmwb9D0ME##zS0GuVXmzpHwk59v(IGd%wPaD2LX35-U", - "K)zn1%FOescBzUO5jemcVaqSYVx1ri1GtfoCbx)GLLSup=X9D=#bS", - "cOc(CDN&D(Oy5-VDADIpc@IdIJ2kqfX@Dc^1oN&Wy0*=ALL!s&*^Zc%e*@Fl$6C9UjuQT@fF^72ojt9@SgHye(h", - "zUxBLg$zzTzAYpv3Y#GmpjuOmwLqCd2Zrggb$vYthy4lD7y0EvVIkGz", - "eRwQlj^DFIFQ!3IItv)nqsEg560kdn4l8PHlQI%DS(*cWy-@27Jgu)u6Qp3*oeJGvP3Wk*)D7z2-cZL$gb40VdcBAC^vF^grC", - "yk)zi81SXS^X3jr6BtW1n2F4^vh@(3zg4pO@*kkX!IZFwH#OxDZK#K0P!@NY7hHfoYZ9VoV(je#R", - "eZ(u1!Q9RTxf$ZWeOv51a7oQJQ0=A3&haY3pGHidr6(OCE1^x^LH2h^5=NDPc", - "8MhtFaAsXykq-cilmMyOXPWP(SjS0-3uF(57PJCTL&Zx^UF=eY(gG2Ler4xrl)Z$Exqi2HMUth5$QM=5gRXb1", - "oNyWwbgUYquJjbux95kJXxU8vnVdP(eyBfHZVMiLBKvaDuj7J3JeL!eH^MhR(0fGDy-v$=g3br^)zoV(4bf)YrOpaS", - "C)-LWvf76Vpu@NJ&C3$%ws%wD6m&SGvQ$dE5OsmwfrkrTfYsg(1aDqMJbQ&1siw2ueJyE8mwmM4ah8haX1WUyLr", - "iS499#rOYKQ)0ujOnc9BJ=jGtqEqEjbA%2#!OaoMzZ@xk2zMyeg&j*GTMx1nW#tbEBEect$#64Tpy4Mfo-ptNQKoL#7", - "fXs#&RL7PBxzaa22&Nv9dwrIHnnRazR^0R2dSTtM*26wvwuiTr-wGYA(", - "c8Mx8uA=O2A0A-Y&nI$-AhprqFWc*8%sx6DoU(NCCl#yxr(k8MWi87", - "LcCVpo9QZuZx9ek!V*2O8cw1Ski9D2Q%)-Q*E4-tJgbJxW^bXd-T4Sh2bs0-W*D&bw8&ZiJ(zC#!0", - "lexW5ZZ1Zcd$faT$$R8W@SQcgR@8y(&(p(fb*hQ9SvllUOmY@A5oMEfP2&KmlYYkA6M*yYguTOjQfL!y(i2*", - "$0#$b)tyYDTR-Fhf-yE1QvpJa&0KSD6g-mq6*^QfByblNg2@4@xP4ElIa8UO&m=4^vRC4i!Fqu&rq^djaLOm", - "(eflrV^XpzMj8#dzTU6LUXnEhZI(tQKup!iLCLtQJaZ4bs&1f^Q9pwZQARDaIw#ylpxxJ0j0E1Tzx@)ggRYm0JD9b0q", - "E!Q7$J)VNOY$VC#60ThuV2fT4*WHiHF-r&LjEVZ&q6mGAneONk-pxsKUeDPAcJ3ca", - "YCUy@9uNg%KzDes&Ah%wpU4$JO9cp3I)*e!1vNcka$jieclJB^Ejr07(j4*N-PN9", - "WQEpj5Y92V$DyIAkf$rV8$J7NNAlP&1IcGFh)lLzuO%4GptCI&hZmo=p3i)9^Jg86MyF&InbHz8%P)==gkbK!pV%7$B@", - "R5Tj8nIjCA4BWK7(WtvZ8rB$00PY8l@j#Y=RlvH4WG7YDqLS!SQKYX*nw3NfGyowavPt9o3R6oF)onr5l1Mez^ZczCd2%jK7vO", - "95x@QTNb0rMJG=0^I6sP8hGF0=^pNo#nlJDIPTkyrs!ihLGc!#e0QjPTrDKP9d3E6vD0QR0o", - "S5mMiOK1V!bbCg&$q*^4XOXzlgHuQQBW-6)wcAuSC$(MomAF%QwI7SVv04Z(PKj5NA$X55t4#uT(H", - "@DEj#ld#3LFM&(Y6ZnDjEswaK*0aTvwlt5NgZ)2PmW6kNTYOkzF9zl%s@VI6Fw&2zMmK5", - "ZwvS1%mLQ&3!k%*ONgKCtT!0Xa-zk!aOCjusyJQnlEa!Ufr#7y&*qXZ2jYrWiFxgl-*AB1OLGXOTJ379J", - "M@gGXyEzRVsk&hK7PCi4jbA-CN)PvLJ4%ROEcq%)p1MOU4eOp1HYtxrBoohG6YKeOiH2uciEZ*K3I)YLQ^q", - "xr@Gar7HJ5kLipG0LH%zJQx-FUN46OESu%ad!TBdC6$vEkzVSZ1XG!C!iebxud*e!d", - "pa)g^fFtSbo&fd1poA3lrkd5TvBQfv7%QW7Ql!3o$hWJwj-r6nyjTEDVR", - "e)f*Rxh*^kIbba9un7nVlZziR!Ti25ZGYAmS&TLW*3u4Ul*KRclcR!p3wTq%bnx&K5sH4hR9K4PrUkFeJG%qo#T9&r)*CuW3ar$^", - "cf551(NFOQQa@jQhBPd7B1-0yB#)nl$JCpfsyKfvyMg-wI$L#e500o)M%z%W&WpL2X", - "FVOX((ZzHj!G2Y9xv)&AnWQt3pB9kRz3C3ra0fQNVayPSk-2CpOtMLV4RAIAwX4yxz2oXEhzJ#sPzJWFtYwjqxJ79E^G0", - ")g^qB$Wzvq5ZhiS6%8Bfu^*JOp!NjIQ!)R%ApED^o2cxJ^$L&tYlOD$z=o&q6u", - "WzCe0jpFmkPxZuynT5MxY9Qm@Kq*Fl6rzC^-K*Cnour1J#gUtu6btCQgbGZ$fRmpO(Xgl(2Q#Ai", - "4Km!BI==qS#sn=0NK@1&%OokI0Kx&SGeHwWM@LYF3U5P-Aul4%kbSp5&R#R0JVEMgh3Aik6@RSd-SK4E=ddt", - "h)x1ud(JTxyF*OGEAZK)5#qYs9gjir7xsLMxk6MqLvhOpsE0MA-yJV9lrGiM36)mz4EuS4)bvP)5PafrqtdZFT0k#%xzmcn=", - "MptAxZvEr^ODw-JbyitUUOe^cCYMmWN$fz@34)w4BZ5j*C((KX%qr=San^QKA", - "TTTi)nDh^WhvDvCmfNqeSGfk!#w!(hPI3KCvu=inYxLs8%=5idPSbyENEw^txtlBohD^Pg#*ZcHGA)XLF", - "Re%)kO*qlHLI&ZM7MrLU)@VZ1II(-hIccb(FdwCWqyHQNfTgysiIvN(px8(8$S3f@3t*", - "snrxK!Vu&fteDliIUMpGz3kJW4yCWjJGFjVp@KUr&v=twYL$bdr7fz", - "A87JcnfJhk$2hGb@S=RX(tNaUD6sRGUAnLaMevEkg(U=qAK&OW8aUX*AT%agDGBGSAVfA&TiwIQym$krKzP", - "cya@r)w!7s7mu-)Vod4PftrEi4JFZ52&h9$YmtAJj3N6mPgfe6VJja2u(Bd!lqI", - "3scWcmV5T&UJ#7uwhuM02j0VcE%dqkxoUIetneUryDo@^msZk()pXz4SiWM(DoroW&yLHVoGPCu2RUW3Zzl5^oSL9d!z90t", - "C4iV0XD5r$f=s8i&5^a@whdFV1!i@ks#4a&5T(N0EC1ZJLT1SPx4UgU0gCeLpIx0UWK&Zdd#tpNuZA9IO", - "uqv-50*&cFZScREj^cWE=D!rX#Z8NduyM)dG5KZjK^9VVChrpI0u%nJJ$@u1BadJN2@pBPhye=GpGEkGjcGJx)D", - "Sb=Ezq0lJeKrTT2(XUDvQTauJrNhV%P=N0=vFF8OjIY#b^bGvU1K9V8$6ROke", - "KomG)gp2rgkqWse1CfD5H)e7GRc-Jx07fMIfoSH!DQP-&@$stt03)8Q8&isCDo7XEjka(B0EhVYs@&bkv(oL", - "ItbSJt0DdlbB5^EVzP9ndgchPG9h3&lZ&INA0HG0MUnF0df*Uh5ZxC2", - "6X&etHIS93iux5mePG%*hSt9C2GU-bnm)&*)Xl6LjfX7nTiRgcnKNfNk3*", - "oFV8vXD6#cS)mcvBD0C^eo5)ywGcb2E@dE34*V!NAKk4=3#6*1Yafayzwie5J8O8Z@L93", - "QGAr!Jw@Q#6GH!JuXDKSlg2po$uVF-b*5IBt91dT9&I&)6Gg$SbvWq%ERypeBp%dd!SpPkpA21NeKOyYEEwlf$md3O-OB", - "qmsgU(7ZI=iOYFa0^*N6)6mH7bDg-awAA=$YEsHfAcBenjPHJn!", - "k$bz2C)zBlyAzZMV69uia&sQih5Pd)F-P29^OTA(u%l3!4Wt51&(YH0f5Nt8c6wjzZLuuv8n4@yFiQ-nHH(", - "rW=qFKKB8ZOo=6VJs(KWeGkP!)6YToaQjW6udtSwQ3-tW8MQ(oxc9kAVXMtJCAMoB", - "sYSQqSS8qoBa17gqZbnG-RefH!G*2yr*BIA1x$s^SZAqRYA6*rRNS=&q)", - "5K6VnkY^p!)^#v^9zyNGV8V=nS2eZd=-d1aNwLA*6=i7fQ*Zl99oj)qfx1ee3nAt1*xcb8IDggOUH6%2vZV4Lg@JPX", - "vdem$8GM3CotWarD$C35%XtmtZZ1epyMKnl4^7CeNAm-a9W#ovAFLAd7k^b#Mssu8&YwJu40EDz33t1ZN8kE", - "mEPdETwdMBfwNbjprQ)5#JX8M1(=ScwIIdqq8Eh5&=%$67=TJpO#qVq5X#PR%6nY$JnVbF", - "loQT*o8eO9@U&JC7CIK6uB%9Hv$EtWx-ic@Bk$&SkS2@7KKv8Z79RcG(ei*0", - "-oY@It#QcNxVrCE255Ihfudy0k1K8-@HF!IHtMhy*lkEo9%h!HHSet(^fJbiQiFttYK#w#vO", - "E0AW71@3(NWGtrTFkwq6XpK&zViyYZBoV^)PvqO4N$YtH22I@e*5Tf!l*YNE8", - "%zrMqfreXrlVgpN(^huPKK!BTsl#zj^Z6q-XkxQsRmC=bJKdok^vSh)XDFbO4HT#PaLU", - "7*YL6CwT4eVOEhx5Jl2DIIlX4MDnf$8uja9154SPGcW-=JLr6FhQW&zWY)G$zwwzg3$tauP6HAB&8=uqk-#FRug3fZr-ER03", - "jv!HdrQBuUvqWzzatF9NglsAsje%$fb-mtfn7(5Igv5q^WBN7m0)jxtlpeAa7-0UU#(SxdmrjAB5tP&6yjL", - "YoOQO)JHVZ$NsuGP!jxr9%kc@6fi=J3=62O$koiIgOR=H=v&z6t&juJR%yfPr!v(O#u01FVIOS", - "e(aP@vjaSAkQYIssAETxLleIFqmcTO6MM-HqXKlPwRUJ&%$IvnPNay@*CHNL", - "gX*L#IRGG^1jX5@bq2B!I8EM$-aP(^2XpM%kjg4#jSOisf36KuAHT7%pX4^dmOTMT$5PZ$!8ZUZlYjFddS", - "xrJSI(aIueII@TshcxIRXLQp$^Z-jNCB)Nd@Q5%dP@Wv@Bf0DNbSmKpdx", - "6gM=Pw#lA9Qs1Wjij$2Pi3R#obPaSs#6d$Ya6d1exrt4UA7Saa5sdevn", - "cjB1s^mRQxyI4mJ!lMW$cV7&c6D6^I=J&atImwDLpWk=Mnim2TsAtdhw6EZ)ceo7(&))KRWBJz$KFoh@L0exFn*%", - "JJQmIc^F^kdvBe38g!=hrO02a0QjbTzfuW%m=M5hrbZwKf*)&NTOF-fg1jaB2yZdZ!%4QDmNbbNJNsmSVLApy8", - "RJqg$kG9gM1=S27(gF6phqQErFFF(V(6lIgeXozSEhq9QLB*3g-G)uXnrJI(fJGl6vt97jJThSFMC9", - "Z$hXc$CQ1pn8*X(mgy(^fimG1**kF@-C3UeVY%eqXvTf$eegeXU@&iCDTNtdB!r9xpogYEsV%$KwI(kz3)hDw", - "%R97Jc2ik!vY6-JUv#pOuesZOvAw@OaWmJlxo@x7iJQ$7xkDiJ%&2(U1TVOn3##Q*iWdjELCFilDkRgL)Mr", - "Z(5R!j^qcN&GKI)0ym-jxNjr&oSy*Wkzk&Z)V!4-BnXV9c(YknrPmgQ^!#k*BMTgtCR09vz)W-GQPaR^YZKKZ*cmuqR", - "$vbG-U0C6Y(gWsb9VEK*-q)4J%q)a0L#7DwQ1JAozP8TV%oUv!x2M3I&-*", - "wkcBlW9g%)5PK*Cxjrth*1LBwAm9)Xv4#6OoP!ALLjrHsuAS-8kI(ZKf0H0Xq)bJlIJ#!&SG(Wzo", - "1HszEMnBeKwgd4so01&t%@1h0Ra$QRb5CiiqqaDgIoMid-vwqc(wH=knBcbUIxwSNXF4G0ZML#GaohwGJ", - "3yL^Oqn4YRVe(YJ4o#CiZ#OlR5htjIaqSiv6eEj$gXG^xOEoX1=-xDJYu#vAXjVFUzEcQ#9Ci^gsF)6K#r8TXUt*HdnL", - "m%Xxl)2fYIdU*DVPnOgK!kAph5HPDUWwn-8@R(CbjeUjVuqODz8*eVkRgV^Oz#", - "6%4p!APYY0=4YEq6kqEB*zYR!cJYd(4XA7nq8m)W1iY1O4xK%EeKT4gtKl0Xvczq11GFfyuY*xXrrMbC8", - "WwB6aC)$$KRu$GrtGy@OVQ379N79x*Ygi6mg#xF*v9cjp*MG%b=U6*3HKMdNne^0nO5gGf@611eDkyZlYot", - "jwjVyO)Z07(o3&9AaVLhxHT3s10MgNeZgXHV1y@V2KHOYvpWN)m8EiurF-GEZA#7YtlTXA2QOzu@5prF9RSHUeCZ^jDUmtqhh", - "YBx*@O7cG6zytK$(QGyARmj&0qG0HlCR=Eq77=b2HaZ6ko$i5g3iyfrfEL@1!%spLUrVWlO=6GHfP2ftG!GHZ-rauup6(qd", - "MYzeOJ3DT46p@kp7b$1BOjdkJ6PjdL%PH8!gtucJn$T--j)HIAG@6%kJ!XsKNCweZq*4MQ36^4RA%b@mL36(C1)O#", - "idRl7Ykb3YJZo(p5tlh(r39H!pJ0OyQrnnL6At0aHlST)P@H*y(g", - "sDQ1s3=U3IqeZz94xquy5P50%xnyKkCW(@53DrP&kP(&0ffhP0iv5vBV!nQlWG06textadQwIE@j0*0(nDXriJ7qM6P4nZCIfAt", - "vxs91N(Jm=jqguSSpK1@qA9xC9b*UnVChZGMZ4u@4Qjaaq9L(mu-u1nZ&ATa", - "(n-xiVDTXCrlYF0)Qz=oVPztKr7n!C5DhW@L7VcJeBD#My9-m0heNB^6^UpULOJfRH=q)#X7VI^27qmcm0o", - "jHg=WYJ6i%@IL@Fhmm&@oSrXgu7f=0tZI1H2l2dVKcXCpsSk89bQQcvIQSbdR5aE8r)f7w@dDGHTKo", - "IKX9NU(m**Asir6#4R8DSwrD7ji#KdieyM4sGUB!-*d66XoKP34JmcQ1SR^ArcvQz5P3vkJkV*(xPM7qv)wmL", - "$n$FE&%DI1vjQClav4Qm8nzjGkbPU*a9!N$jDp$n1)ySh%UPUb@2IGyTs-MhmTB-QE6PZb^n#B%9Qh", - "IZ3KfGz!PII#LiZ=9(QdL8t#hYcgGFQOqNHTZk$gbWzzG96waegh%jMhFOQaa^N85yToxY-8so)k$O*fm6uk*8xW!l@S", - "xZ$%!C-Yg*iCnya2sL^jzZ-xfvGZ21S4xWc3Boh^l&v2ossU4u^8T!EMCgvX%W(#Ckp9kjnV!D3i^Bl$x=yFW)&9oEc-", - "UHsj0-jf=(d2t9^)lA4!%Bz%pBhi!Mx2xCIWmKXOwZj(dK#fJAbY2E84Ljc&^PI#6T", - "AD)CdJhn%*d2wfkl)wbq-EO&ptYZiYRP&f04ig6f@ChfK7E7fBL!Wxaj8#NO3No*pwgklNjZ(9Za3Pe(glr(k6-jpn2", - "KdTUSJ$b6G9lbl)FMY9YU-%2R%PBp%!JLFwX-eRgi)YJRcupWRLB=EzQuiu)b3Ud92$@C2%8qt6hnm)1*MGUg-!Av", - "!cLA3%jwBHnmieBrxs(C*@EYVEtuwSRDWNn6NjC7)V!wL@HX5$L4", - "dU2ui6M@Nbi^!vSo3L6QT(eANeSBWULLHxm53l@YBvb9!-5-AsF73x&$&JXZA^D-0$DGs5WBtD^", - "YvltLFH^-$$CgVAvsc-nzBw9#hj8riV6m)PP-sO!WR-IPCW3B)yO3DMs&pJS5SG!qTQ=x", - "1&-SVtX0b&sSQX7h*PVNN7OYvB)18ykXwwtYu4bt^^O#i6%A-WjDTf-2=q(9GlzsAcX9s5Zlm@E)vxESz!E(dz$5KWwVMuAWBp3", - "6vNQbcs3m6Qt6HGcF2Xns@N%MXGuT$oq(0#r$&jSOhpgRU5gFYyX#-Z@@SaJtc0VoAl@yfLmn-q5u7&*&UL%^eH!aVaMfUD2zfx", - "y2CBp-WxxFPxM$acS=P$&qt&q$@LfTHC7flByha(XgsVQA$n@Le2z@9AS3q", - "VTrC5@3oTTA17$6NPyU-N1x$vtd=z)9Yz9Al-6id#4F4m70FOOF1F&H370NwCapqAC1%ZUbH-zU*(MvbYl90)q6eBTxvm3M4ldS", - "Vc384u6U1KSf^bBjVi*R8DGZ#gef8Yo$Vtqh^$P9h#P^IugLXS!p", - "*Enrz8W6S*^kTaDIrIYub2$0-JPbB4ojLWl=3h!LJQNw@K@d7g*-IZZd8VbD9dzxleZ", - "SPakx-Wb5KfbUEHTLqMgjbCnpt(YdZXks&Foq3jZscmfadl5KMIkqz6IOqr7G359IU1JD1QcXt4f80Iq9BbC%KhAS", - "^3Vq#R6&QGzm-Fgm&QxjrHSq8pwmZgfGFr5R2P0iZkiQ00hdf-niWHh(ob!3#iIt*mYC=4cGsRgqkOqhu1=%Mw", - "bWx2!3hTLaHqbRQDGKZ$X7B8@l@oy2CFXou0K#MG2Kp3$^VoPyBudt!IHg4w3nB&(Iwe$)8-GMBwDsu-W&RMaC", - "FMY3EsFSxflCceW16NG)Fe65O@cYQj4su-t6jsfjyVrnK2#s7udz^QA2M)(BhQ=76q0wn))UAcRxAIMEVuuG@J$7qTaWgmp", - "Hl*xcarBWvB=LxfDh&#bOrW29tttO$Y7SUk3saejlvozn05m^6-L)z$K)f@fb)LOeDK4kHav$-Dj$ux", - "Cv@1gE1D^L@5#a@jWOo0KxF)lw0!5!lnm-T**ip^56mj0Jlq^&sYjP8Z8F@FZlf)$p2EGB", - "uQP56U32p50)S4&=^PtS#C0iOI)(VVJe3l*^73G@jRVmn9*2xVe-7uWLTj7zGisK)mnhHxeYfVmyU-53)1Yr6ste^", - "XPSDfBu6uGC4i!FEm-xrKXC)=pO9%YjkIr2q9ICk@zASlJvMWJNk*P2ha1C-Jv5DuF@w$CNj6S81FZP", - "M*gT@=LsK=NPm8u=BmCgxjP&t$^&iKFrHZ)xjtIBTF*0Zzl%9RZz-GRf=VhFZk&!cVMMQz43Z-gLFQGE7y6$", - "mzcLCwLETIy-p8t=RUh=fABI9-EMO^(w@KP)7rO0FT51CQEC-)y07(1PHBht&81zUXkywPUXdoRitDLJcJ1pboBvOFKobax#Bp", - "9gKca^nWjaX&wUNez^*NwsMTF=sAXsj(Sisc5)!)!zXX3t1nE=em(XJ&okJeiijj", - "*vUt@%6mIJK3DEU6pN%M9uUswXa2@H*pa&A5TEgMKcs8i08&g7$Bh!9lR-gd9", - "G#CYzu!dE40nPxtHuPHOo=xgr1asJOCB83imJ%0QG%9R@^GNDX9KNj%", - "JWmozl(hKZ8CsbMhw$erGnPsgAN%Oue8F1Thv2NH%v7ufhr0E51DpWxD", - "3iu3Biwiio$CzT&a53iF@oy8PUD1TR%O&RGw^FilaD%kLgkDzbvKb553b", - "MDXvpn!0Ivm4BpG2YwRnygL=ChX!7TG)X$LbkIa^i1BGohMXYQ31eTjuen#3HqjG-M0q@7Eptf&q", - "xZqc4^0HEvKJYi9v!Z8%*g=XfZ8Z8*vhMlpQVR6DL(ukT$jl5XJPpsl=PCItfOKhuikwMaqNicrPNVJXR@hvlk", - "Fq$$RnGdHN$Fy-e^n!watf9=Dc!O3v#pax4dkiilq*E0Q2$uW8GmE8Z8Rm*9xkKaC(z1nHb29sSU4TZ@-DF7LatNV=spuq", - "SaT9DPRsuzdkU4#pM^wQxlA$%sovpnKa(NIw0rh1HzMUsR%v2zGn", - "T^@wLGdjU7*0lkZBvD-6gcacNa=Nmp1JMej2tcXFVBV9Gu=4dQ!jYQGbepUWe2l", - "x23=r2FI(1@uwlvy$dv5O=di%!9@cXj1gza9xI4V@)#uO%bJcoUqn4kzM=qrENimpZA^s3mqi@HJnu%N!Ldc$vBwWJT^53y!E(7", - "qxKXTbMx!9nYT0)E=SobgStKUjRdhp%VtN%JGgrbYtPd=5jZdq%iSOh@", - "Tp=@fBXib2CMyi1#CaT^V82hirz3nN=Ne$B9oPs%!yk8Fj3=AOnU2Zv-VHK&E&RtwE1(owD(k^@w8mzMQt2(7ES)dtlyL$m", - "7-yVxpFVpcT$7Zocw0YJW%nOikD=Ez#g23hd%-e^637Y-p3*3@S&mJs1B)7*rpmpf#^Ic87IDg#", - "Hu-d(vhBQklvlU3dqc7yt-BPeJQh6ZnWQ^XcssryssPHSf)g7mg=N=Jz3AVl(NVKe-KEPPbih0Cvbl&YjDD*t", - "rBCYb508Hl1JH&wUql#p@*Tzby0#5y)mAhQ2r*h3RXLsMtSz(pV(^YAczHctFJV^Qq$r(YtHW7TtnDtNjy2uc@1Rw2", - "ygSWFm1uH0pn)t6&Z92Vzs#9k2w2fQ76E-1EM#oT&qQFW))Ab@", - "2&F5KCOX$nB)K*!*LFrdxz-X7Uc@ryD7fI&CNLx8ms&P(LN*r10tb4==$IuGBBB#zqK0ZWOhw3NHci*lFF2vxQ1cki!%C-iOQ$2", - "Ay*SR^n4RSj9blF0Tib)dpgbnF)LiU%A=!l2BX(o(tuor67i=T3w9eBPVX8XC&)Y#)8E4CxVC^BmO(M37!YhB9Nf9Gn&47=", - "5YeN0V(rRT5mE-PUIhn^5uO=kc$U56kqX6obt*vEWG4$D^(DXLpwBVnXIlS&=ayMc=WFe)$epi", - "E7f5Pi5HM%DOWLx7-AynsTMkcHx2wf#tPKpwU$v69y1aysu5IYAe$jE3-Vyqo1q6LHHF5b7", - "bk7Cu2d&9vITh@rl*NCBd8cse&Eq^#8(E6WYS#MZv0R*jF#yNNJuNGPbdwL%bDwM*o%C)&kdDwvSC%", - "oe^aHqbGIE$kwYm3X9ehTp7HF*q7@Lrte5SE^u6&e@07YFvmsl)ZB-fwv7hVxD0V", - "DEFD0iuhq96XLIePNns18X@jgGOzvCy&kdLbPmDj8!Ebor$WyC7-Zcca#YtJUCZ(Poe!1Qhn3CMc", - "wO(AxfvrdIfuLDqFczrhPp=#i3ahf5YEATQ%=peHCeRjeP=l9xhHL", - "VG!&EALgBaA!SZ5Q-csTF1TZDcsE7@LqB@bsKDFhZjE5&c@YIBR5jIbC)9%x8O4nDzVt9ZjRzc86zw*H*$8mEV5cQ-i981yNL", - "X-QFl-B^@vJQP!8i6joBdBSb$HhigAonZPnhQpAMEQkxmlJ#EXfPt", - "DMvLBnSMwLqNHyX7qfUZU!2jSaK!JAdZldc3pU)fabcxkm#wg9n2*2s-44!=^dg^AE", - "mj7Q5z)HX=dLxl5IOnkv0(CiiHiP30fyTCGwMwL4MvkmoS*h5Gu7NWhLE^ow^UG^HMLCMT&3oAm(^XDs&r0))GTJwHfcl", - "%Hz=vMhW1-wsCrtCIQv^(wpRUx1bcgv(jqdMf8olAqeCah*URq44cH@7-n0sX%6=6zO9v@^ph4E!fS#LxoNfSWzbOU0qakByPbn", - "H82XHXHrUuvi8Qzz3S@Um29SN8pN$1g1T@=)SBGxYJOxY9Q^3%fqmt68)xQLy4BO1S&y*vxClGRWGOnTnkXG*!xU50%OPHUE%", - "=ZKYQPC0UO4hF3wWcl16ORh8x11c4a7@hx1hJ#wFsE8)gNTJF#LWo1uAJ(m)g6BPKI9&^*2a^$-g6U^KA7!99DWQ*Ek@", - "ltYPBbOjRRGJX45Qq5lH51=fhaI$e9TXkhy5cxCHQNfo!C&s%*Kk%HFU@8o6Fnjgr8ae5PazcmT^r(aKm#azO8t8ALVzsuj", - "Jk@3SmfkZRee0OW%x*hGKxT)Z7^$7%C%!G0Ijl3n*WQpT-mqKCB8q2Y@lc%Uuo(sA3Er%Lk0Br4%-uWbFlZJJyNV2o$*", - "QQoJdk^*P=sltLet^ROSYt!mLc2g6EDkhN1oU4P4XX^ika^RwZ6gH%)x3pXeaKSrJZ5IhHyIBjXjyKV)MQq0", - "6iP4E48JU8KX(hyyVqjz@IeQVpKJSBpVM1wgAiZudQ!oJSBTO%dv4tJyxG6&8n1Vh03)4LBOL6eBEX6Q9Dja(exc2Q7eGV", - "M&y5ls&kfAyi=eOqCcf98a$X&i21cwDw!nouo)bSij&*XY1IugZaH-*CngpJZP-ThfDndI&dT#@l9aaqQ=4xjSdEAbB%wUbXU", - "t9lS(TMiNf0t#zBCCAyaOHyVLMpip1=sSTW&H=5Q66rnuVn)70aq=JBUbn(JhDAnbG8EzY", - "44gG-NKUv-@if-89w3coE@HzuOHVr*snn#TwQc1y2envDM4NIA9hTsfxauLTt", - "G0JnALxqaJGLRhOzI-^Y%RDghjI1GqX^hW%E^WHkB206=tZpptxa0Z$DEhQN%tmLNh8$%y$SU8oHTjtjhY@F", - "ykoNyPkkUcdW7bv=KWr%VQw4ligOeB#h(FQ#d)ddM9*Y#b18In!2hD1cy(eDdQPHCXhWhcfC-w^Y", - "si^FEn-B*^K82G3qmAT!1z#M19TtlHuervn6q)mj@4vRHNsvNbAy%)wXMiure8ei)bSJy)C02MT5@UE1ZNh1^djr", - "@KQ#DxtJngVDvrbKw15l9KG596QK&64*T&JmjJA0a50OBtpETsAIu*tTS)7T!$V6GP", - "nsgmLlmsEJi3QO8zNX1YO4L)IT!yNR0rp)1FdP&3hROw$JUFBeFRY0(azZ3xUU*", - "*oAdm)odz8hlxhZ$n0j1x2XAIHo=xjEeUgy8^!jyt^p^3YKT@xl@YP4La)y@Cx$ERVFc9wuZ5$M%F-xLb9eARFR", - "wSEfDim@&L@sqH@NgUA)uj#j7lKFJxjAMl$GxUNTwWe@gvIz0)hnMYHAt&Fx0ebE3%@dAbr73#sqF@4U2", - "P%Amo#UT^07EvigQa(Kn6u0@LL9BWo!kl*prcNw2z*m&y!w4mdraV)#6fxzbqViM0xBU6a!!c", - "-NL&4u%hW^tvzQ)R=7uUms-xfAK5fLzsNk8%t87Abk!LwpDLb#oPhtw(^Jo9iu", - "IalQaPgB2dxZTpRu53e&OaLYj2-xuC7Pi^wPMq)6Vpav$EtYlf9sPnZpN3!RQSd3(4pN1iOR-Qx2m=f%", - "6tPLl@wNY4j7q8*GDjRKYJxHN@dUSv=R&X7vqLFwH7x$b@Xkv-hmNTix)u4FYbqZV^)gT1iL0wLp=1e9gv1^yN9)HNP^Qs", - "Ft0l(odPbWh*9(cV)d-0Q$c&nVaq%ohhi)RUmXoR!CJGVHvWs@J720=iBQe8zNd!zrYU()c6jbAabr=HJBfrn^ZxOlS", - "DY-e5PZf-4TmS%Cni7G)ti-S6II9zcC70Xz^hg0UM7%xdtKAc-#MFc2f5mObnhRvUh2GYi09utYCtwiXe!ERwrg=Lf@5f", - "d^G-im1AbaIt$GVaCw7sKBjXW*g5leK3eFNoG8cy&&YugMkfo1iNP5dkK^9dkHp9v4kwg=fLB$!)$IaPQX", - "g*$(nsfo!LcX*Poo*Rt5YBzz!*Xi@qo89Hp^w3CyCSVKS@6^V3-AceV*(pa^-1V5NUi1kv", - "2*Wvt%PD1uh2nKJZr!8s0TN4sNSD8gI!-E3H1Mws&HxFiPUdg@#uZ*ks#hMQ49g1^^CB#", - "IC5HSyZyvZ=hw@ogSSjfwBT-QK*WW=QZn12QRJ8e#PXI7cl43wk8JRB=2nH)DHKYz-pd#B*(8gZ5F0LkJ)", - "&*dPUoN(7ZU@bn%!mgjDo^Dc%BtOiP5IKpamHL9dz8=O2)M)5^Q0O^$L7h&IUo1lnkaQE", - "Uu#^oH575EXD4VcoK#BPy&Cw8R67)=rK!0%463GD700rP2BK*UiC%cKoZ4X#&0bLTCFYG5H", - "$YBQujOH!MW0T6ylL1Cr@ivYfD#yaK$$rclgFqJ*6lEggAFkRXjO56cK9PR%", - "Squi9Q@gsQ=w$M6858(Ucm=qFWbl3kw9EeEY5eCH8Q8pzs!e0pXEIo4n*Mzr&^FrpZ=A6AgDf-Xkq3)fhYUVV", - "wGbe#NDIxS)T4HSGK4sidT1=6N2CsR!4eEkfK*%J7w$h4J@vuleC$tG)0huED", - "mYvX2WmX0#H45WovH=YyAIO2%oCUR^ZhyLGYlQ^XjPAj5@$KK7gFfBumEo)Vuf&-rEyVFWM4uPGIFT", - "dypF)TUM)XXX(i(($M&N@HEP$v$t0$j4ou^T7%k9CwWWF4WOTuWKa$GqQuyDo7lJ9wZjA", - "kSnh3(-2iQ)trjuF#@&a=KqqasogLb&$ssYvgWUNfLtpNW%JJoIKH3ZpH)fwT%B15s9", - "y5---EGL54*jOrIFn$^Aac-uiPo!W=!s7K8$YI#t#xhtx1WJg5h3t%FVx)", - "9LEJt)J%EmctKgJrOu6on3JBz*oURHZ7u1u-l6K1xth81UyWz30&DXRD!tkTQZ1*Q-uO!zR&5hmoBoNL-2vYHn6jtjD!uJ5nMO@p", - "BoEW%!nTSlciuXM3xYu1QY%@HymOmFQwaj84yGtU9RO1i2T%tivzt(bAFLiNu&ntgG*smxqh#B6SKKnp#jEA!IhpL!g", - "C8=&J0qB1PBav=DA6Y!Wf%VpRoQT^!=M9WyBg$B36sWzjvCYbUGrXK9*Y4wyYQJXrw8OCL4epMri$sbcH*m#o", - "4YMW13SwDDo!w*lRG0)WzYX$b%v)D^NQta%%doXbNN)KITN%Hs6%Ks&hd4ebn^)Qeoll0R0RQyo3(8gYrEnfZ1aAaWD=", - "TFfdpam@2Cs%gywuqUy=V0PhU-UOqDsQwoXiCr%dYxD-(nDPOFefra6RXWeHM", - "!UmJ5-!FWQviEe9e%JbF5kR=oUl-Qh2!k8p5ic-a56^CQ^xlnQL)", - "4qX%1RTws4i$hC1l*eNl4wU#5$4ewm3FihBK8D(@&a$WCvx@go2yqkvoZk*-cg", - "*)5HnlP%RCW0DL=)R2Ow2uLIp9OVs0vDlJ)F8Vnr4E3-!f3pO2n6IgaYop8B&h=w0lrchK", - "zEWWEi5Ui5yVc4!%XvUt7aGzeCpLng^a=rn#okYGcXV(x11VvW", - "nh5=LLA10RE%*ot-dTCZRMac%$H^G*3nDrzFMe26UVrefRnVuOEtb#IJ!-lQKnNLTTjRf%J0o1hSP0cehDhRk2u%MO5O", - "mBn6Nl1X7&wLIknE%w!(lVuaTr5wijv-7D6yfs#**r$e)g^Tx)uVuV!bEiFoU#9#-3=%OkfyE*ga##$", - "uPQFQ9IldIEVc^ts)%CpX8-1pf55K6#7F6Rk*^9qN^9ta6AaO6N63^HKn", - "d-tsSe3nfgQySY9qwAJW*J3o9JILLIuFC8Ubll3Awqe1ToW)lD#fCb$PcDgA-r40rtp-4bE", - "NjkkCzge0=Iv&NBwU9FmSc8KpxW9U^P81HJRSr38Uc4*N!TZ@LNTLmbMClWTmCW!kq)prSZ@ky!YCCVvA9m1H63g(GQrG", - "$ZpEKI1i$gDk=z%#8%tJCC&Li$uWD0qnwOJLSLf=fZ#og%*1nns14IVhOUw7mJt-YkzI@eEvzh3", - "^0@$xRmXl##952G%c!npq3)7SYrj*)Ic0XPJ3%lnMyJ=v-EukYe*hZ%(c#-BfK4vfgq(Givl5FRaeSoeCsUt0iB#", - "61JjrHyAyfF2yx%V=gHZC4T8LAO%I6XVr5MH$Tp(K^Iyo9KyAS*--SxZ&*z^Ecpq4aR^4OiLFI3d1709", - "Rgp1OsGyxc@^AiV3IwEwe^3w=CIaY!%etX48ITqi5nmvlA%Lo&W#Yo!W#0*P^95p%H3g%zn^fQDIkX7!ob9DC", - "UqCzSrK*@E&2g8REqLv%7WoRQHlPFFG3PtzzM#&^kB@^M*N3-EH1z", - "n5bFdjiCT$coOjQR0Hpm91QVBbDP(B!N1!zRpp%3fDUeUDSOwcBoyCtqKWG0v8Q8VagMn^zHepi)OAZ", - "KW6N@3CHd2O(adiw-YzclZZ%rE4c3mlgQi@!dx8tfFsgUln-TOd)N&T2mhP^xC@9jm$i)zuk-HPKHgn8", - "Ef9EoYnfiduG-a^MVU8wD6^&QkGWFj2pZG!%pCg0^Md$ht84QWWW0uQiHcMte^XO31HwRpbfT6Hd-rzP$nL5eWVfSFEgvNxOh0", - "dJPy=h&82s@WaBUE#U-GTc*jok8AdmDR=OvuO1l@tivtvsZnDmN3T6sfNYOIFA$4pT2$gpYC0twW#d4SvwEzqNkte", - "wWvCN*xCjRTjAgV^T*9j(V6rwcWeVBZgBDsTFaFW6Rjup8lnPrc$!dDFM5pcSOUN*1SUf(vi=B6CUFbKg2%HlYO7HXUkd#GL)", - "jrNyHvpKFsbDN0vhYsM10=n%fnl%VvfpLB(LcSAfzhsks9r)rHbg-yJYnU%XOC)N", - "1@AkxEuL96ILWj*1Cf&GbN@Huxc89VM-LU7^Z1y@6xZ!z=qzYEd*uZ*G-!7VRC$zjo^03gKH3ut4KQ%t", - "cvYdsM=qIFdrwQ6-6pXhn4EC2!tWyQZfz5jqeT(A((Pvfe3QDl^g^qMDYiT", - "mE24CYkigZ&wiRz$MBykMHwi6#fn%LegILUFypG3rQ3gMHy)JcWK2mYl6", - "vm%7Kgflfv!jXlkQxE(9PZT2OMWypZoleRjGymRCwR$)$YsV$K7TOS&per@$cfA3muzG2)EkCCUJq", - "6j(bKgBBT4avZ-)@8aj2szV7NX)b^a)VHYqj8Z#bCpVIG2H-6@QZQnowTjFEea9IZJN", - "qDpwP1lR#U!IGJTbw0xZoi7#$@zr^Sz%WmMJ6#eS#Tp-Nl^UGs95gPko", - "hz=OF1^6De!Jph27k-P2Qd2hl3#Dsl5N*QOt&jWD9sow0m53gpSrsRBY=aEmmL1opQvGr$Hnz7g9zlWr&Ci&*jy", - "hBD-(bNm61D13FJgiY!qwI6=q!^N*ZPyxm!1TuMRyxKMG@yD7b-5yPSmg!5Ghj7pSayegW($!uk&@U%", - "x-L@J*ATE^Y^d%pFHWdT1A^-h@VqqgLyCK@3Q(tb7w#Tl-zaO7-u8QA)zA%*(^XGUIKrJZtBLTWwGid4m9xUyIi3Dewxa", - "I$5)zrK0H!=#N)DRoD^8)4Ar)Q!ksI(LGSaWmx9lGl0&Tvb#MMSy)*EUr3igExNe))xckYvp=@hLaYKX", - "MKjgBB58-R@bCI0*dVMB6DnsHrMpQ0^6nxy=9yjl(glJccsz#$LoNgbkGy)-L^V!", - "CA85YK05dBNHr3D3cF@cL5aJ^#99Wc8J-PUV1jQDCVf^$PuSNw3m0P6Dxg(RR5t4@@sY@v3Modq9d3*", - "U82GP4FaOBtolY)5rsbOu-tk1R$OrL^xRMEbuJ3JXR0GhSL-nfMK4$dE3x%1ShNNzM", - "KQ9jDa=vWoYNNbLY^dJS@PYrRAEOk4bdvkBVvN@ph-L#X5(K$Jc7^lj^82bu", - "*gMpPc)duKx=XphxA9woQcvfq3T&Z@6eTfBDDlWwzG#gw=HZRNpRQ", - "wsiPo!HVa5yRiyrsKESd^(zlYDT&JsPK&T&7Iff1z-s5IeJGW@MA5DYLw^QA#CyDJ", - "!bo4nhia9-jJ5tHP2nmIoZSBaG9N(*BWigKBlj^qzo=^UKZKJ$ABmuehbwnCs", - "wVzNziaQ-saeINqgUKX2@UFZ&z*bVO=69tDUo^q^(IxpyD^tnj58lPc*xTCS#JLlkKzCXo0Fq&fNa5twU#$Mdbn", - "8DAsfBiHkqD*ALCFk0qtY@ikt0j=PnXQN*D3=u4w#Um5#QNA$AV2X3DCXQ%", - "wJp206oi5q3*k90-3b9=1i2wrP&9zEuDXDYOkgo*)#C(m13NmX9vc41&QX2*", - "u$UNha$s(g&I-y!OdiTRq&h&Vqx)q!tWW2y19ncyOxx4IOIdV1la&N1IYcONV6u3X=R3PPR8uj!5", - "PfiiDPuIla-2gM@X(QK^#WEy&w19y@KfFlmvE^=jvBZHquQ9aHTExYvYf3a", - "1aW5$OiZbL0zl4=$y%h0%3GJ9cc!MDQ1$%wazAFH!R*%58g)H=j%M8M", - "9Jy0MV38IPC&^*Pxb&iemi3iqcXy)PA9t)!V*k0eUE(L&bCgha%u#fG2oO!eX0J8d3-6x57ubvBylmIprr@LwcQloTyk7H1M0thC", - "8(*Jsv6QHSZcbz!fgCwKtodVNwQmpFShkjfd^kLPRKw)HMB5pLic*ph)xaV-=XVl@DvUVJ(fV@LPk^hI)yISt!2trU", - "CSNvCCO31y8Paen7nbQ@yJfSuQFDsjj2I3YLSBVtVbM9&h$irl(J@&Iu^7ez1i)*!k99je5mQR*Z28e", - "kKTB8T6y)g(jnIID(xA$kRttOqLU$DaBkrviW5)8yVX&38^GFCLzqBJYwylo2fs@$WE&Ti8(1VF#IBam&", - "e*cS8u73W7qmr2xYnq6ZcFlss8al-C@VjL43xFQkon2*BNBp7l)mr-*RgZkYHoCIm#deT5tsHTzcsI(Zm7reNzFnVcb94", - "QTuGHvcEgD7JxhpnwL8C(6FW87yZku*ht0dd9W0sR!EUkL)Sgba$!Atuoo5tuBef$&)u", - "9B)0D!GPP^M05nGM*rxqwhUw2JWQUQZfA8F8b&cPjZcB8Q-zt4sjotFV", - "PTUxrZcRD45cHc4d%8bQ0(q#uYpDio5RI8iedATb$7MK@)q@O8b=UfKDHhe2#y", - "x-ZvOKIrzFFvBz(f9z*HF%PWw7F)1h^0brj7MiPgpDziFqbEzvZyZinpt52YmeKdsKI2TXf9yT-xXzdqh4wfg5xi", - "$%enrsTSjdf==Xf%)5@pM0ppQ7GvaiI%ZK5R(wAGaNaL=qY@#KXyW$@N&^BrKEdojWM", - "GTU@lYRgD6OeKl^-lML6vAWXCT9I!(QF8pwELxjaK0I3O4@!vTQAWHtHgw3))@OfV@t-^wVQZNXa)t=BehIzOryG%t4q", - "0hB$g$7gChBZ7%JKy!N8nwRCM5M&N@1q=v-aBPE%exRx1(H*5W0mLF1t8c6Ana=t%^7y)Oz)!qdQ6aMo!z(n-ZB8N", - "j6xjrI!oN7UT%KX*MyqZwM%$cC7&N!lFtigSKVGrboRM2hea#c7Gtvr(Dxks))0735sNajt6bytLGKA3e7a)3tXK%N)", - "@5Obc5$fZoz^PzZ4j6IKjqhazL94bN)wwgr8Mc3LrRb^2@f92J9Fk8oDwxI83oYSc6FacYHOJ7#p", - "XRacS42TRK#nKFUaQ-uS@Mh8X@uOTw0qB69414nUVZJMAe2biXDSe5YEXC2%^^-3Ra", - "A)v0@FVd#ZVJQV2XdiODdKYlSFL20=2=29CuFS7#B3@Hv&c2wUY$iukSZ8P3D0&gf75dpj16(FsX52TD%N^X5tC#!pL-)PN5", - "ocMjQZlz0QlbDHxE)VaRY^FRG!IA1aCxTi(rFlrwh7f^Hdxnkzi7p7CR=DUBu^V9)=", - "3CNAtYF#fS-JO&KOOy1a0I%UL)uc*=z(SHVU@FOwO6RyV^&--6qDBdzi)-S=RYg9tM=7Zr(t9k#g33Wt", - "ZYW(*WG^f)CHivMYl9DkWC7AMAFYbQO0mSa9cWaK&SoqO8RCVtZDLx(lCVoIFc(f", - "0S#Gd&ph=us1sm@focqd38M*w*BP114HRQMwYNrFyt8iOFvyZZhj7lxdHjic(X8", - "BEChjr3x=xGNCe=!%NacrPP)FdB$8pRdntTeynGXBOAE2enzC141EzLLe6B4sADCF)7#-^Uaf", - "h%3E5Hq9uLG@5Ww1PLzP@f5Z4W9dSuicimXuVf1yM^ya*M=Vl)Zqexk$b", - "94*nO0SBg@#IU2rjbG-J$i6g&m(*770rnp3zFmu3WYq=h%@-(b4PFq9f%=oVlv50XcoWdlDGpJHTD4", - "RdklHGtvp3c2^f!iYGOfD42CheoU^w7jQF(lD6sYQ*ECx0B@CfQ4DZlrxhDDqNUTSigbaJN@s$Db#G(h78Zf$", - "ug%BPLpFzHk#Ui5W^Mbf!hrvg9$05!UaltcEa7axlung7pqr=VaY9)sU0", - "YF-06(3=KoBp#4d&&5ux^Nkj)s6(5dgrY1KeMjIOCrVv=2ix#W$OMe", - "tEw3q4#NiMRYsYcC-Lw#H$Vs-#q9IzT9Ys-4cmqOT6%(KG)J%V3rRzZ^UAVWdBJu18-", - "1Qs)0PUgEq2J&BVkYPIA^@9Ch5mXqHJzrsbK2ti82cXKqxpq&KB8", - "kJd0Nc!ft)qyLLiUa=Qh18QX4r2S&z^9NXsU@U)N&Q9PVEeMLr#MGyrQi695wKrqbRV)9w", - "ErS7THtWC$3gVUOCk5@s4O$p!zirCQc8cdxFK*yM!n0G^Uyi*x)D4", - "PA9Meu%3ob5uDAjgT5EiwuEY=(&JWx6JAdBtoQLed(H!y5fWCMgd1JchTLmr09Y72wPINqNdOu#!#o8!MoxIDCOKt0gs#v$n", - "yl6g3%7lhxuuXE*hi*x#oTfz(=B2Orr$l7Xyq!@wjaSuDEQDo(tPa)Z*hKqnKFxTPupe", - "3QXVkZR@5wSsSti4w=cl@N9S%-(e)e4^nrY*@$r3&RQikxtSab2qSyXp-RQGD3", - "vqE8u90R#wdm51LmQ*z=JTgZCJl^s6Ra8!ea%BhQ=aOYziFgjHI4bfE4Gc!$06fMvj41PVU^fpR3c5)Kvwdd6y&s$-MaWoVbjI", - "xGYiiIm2Qbvj!jQfHywi@=N=4zrOhqgIg-MC4V)8no(Kbqt^eDBo%2@4cyIO8fo", - "WwkGeAYPKP1!D3vLOajYlsF&!fHr!&t99Fn7M7zJR0wX*dU*FqKv$JZ5vyVZna14oSPP%ZL*A-s=SGyxnz6djS^", - "hu(^(LsH6cGLpmwYvpWjCYu!mu^6j%B#ZaXZ$l$t1pFe$BQob^L7V#$#hF7HJQMxoca", - "6qCwHFjaafAQc3noA(-$zJ(aoUTPPYTwx9zXPwSK(Ez7zeg&SNQ@6wT7EwLS^Uujv(3c$JkMKRMbQcvN!6FW$iDVeoV", - "c*bQuL=!(7vaof1ojXaahXgjKkSCFjNgTgPVBP)vk3q^$AhV-7CD*wBkF=v4qFOVcz%#cZjXJbacHil^gUMZGs245y61pCt", - "vJt2@rba%mY4&2O=anXjr&cQo^5PHf87h*A0eyTY-TbAHgoQqTzB0Di", - "bfJyi@J*w9d0G(!-Qk&fhF%QG&LQt48wk9XgWTgptWK(UrMe1i2KH%Ehd", - "C%%NL-YlfoPGwF7ibUA0jAPzwUHe=a(UF(7pDLhe0bZmO^f7WJcrHHwF(l35ZKNlf", - "aWcIu!ndhUa4FV#=RlF&q&z)eff$Zg&21luLqSCN!0gD!h59fYnc=!eP@LB9jmKiLO$%gi*9PaVNVRF60w)g", - "AqReyTUC16sfDjm1R&T^6&bm1!l(L7TdED(Vw7kG7s2=(Om4UTu3S&zh2M-ZHM3EUyPnp9wtE0GCff(c8C((%K", - "0NirzQ^r6ZWzDlt#Ine%aYsdH^9lR^(2io4i0Gn5f30Gqs7a8&Pc(rdT0NSf", - "cV6c!PxiV^r5rX4n#XaR%BoehF%F@D4oacwyFp2L35JzSDnCxN1ImXoxV-8M6o", - "s6TkkS9x&yJQo#6xc2r^qspk8TByEB5A1ciFUdF^wHwh3gZPVwtvJv4zPoT7F5XjI^ws", - "X8tPeo8m9ylM6l8Bgl6aFD%aOJaiGYOd$Z@)909$tDQ#C-6MqVQIpw$D$V1ydu8V@66%qi", - "B5ipE3j21#d4F28Kx0hGLJJ%BhuR7784Jh^1TAyL*Kx-4OWH*Z$E6OJKfuFIolvmvA&Icxc2x&CBv%-m1KNRXqAT47GP", - "e!YKp-xdUV&LDD$Xeg2xq93%m1c-N(LhYDw2y(!phyoslP!SGRH#U3^iT=CE17Z2kfgOBOYqI6wglIsEu8", - "9yHPubSpzv3IbMgUUgFUZD0wIFqY1sF!vHrwEEHGA4427YYT$xJ9lDR#BrwNL0H3cuDBzCmPzoQwnCq5ViWx@z)iQH8%gD!", - "bDq)%erl#8Hl0AqcZX3EQ)uCk$1iTM4%kUlT1FFIIHf^Z!ae5mxwR6wfoWD1487)tD$5vwv!07XF", - "BxVg&l=(&HjRP6xy*IF)FVZyL(uIquL)1Fj)-B)cmXGRYq3r9*tUJ*WPns4p3jQbzKPtWvCnBY4g@R7yW", - "@W9f4DGi^Hwp)Vn5Xnx7TPPfzz$1ozA@tSdw@N&wZNSUNAdEKa46@y", - "!%uJR*WNIEVyWbzpJ(a71K777BL*M3hkgbR-!#YgHfTz&6L9d5viN7O3NXqjS!bJN@p1#AbRiE", - "!3zfmV23B&EdWO)5FBB2l=!cwud$cd*$$eO3ive@fR1RnE%H6S$C*Dx!p1gcgwCua5cy&hTrbOn=3%UMmOffVrTe2EmO-w(t", - "65rq&&gBaRb^YTBurKE)YExCP&qwqpqv%geiimDWyW^tRWOLi8wI929(OAGcbB", - "CT6*@gCCEhKwTPkZrIr)hMDDFsy)0eKyEy9H6T#65!0*h%rU%!6zSLfM))1E!z@9FdRsL!dttbRU", - "D&4chk6!@f#fcuC*H@K1bS8RG(fVSCIid4dA&0BXs)2L1JSH(@rWC(JHpxV&ofzv5E6C@kTxrw", - "AbP2NPEPqPX=twltxAE2xabitH=-Jz4NEjN6PxkLk2AU5PT9yjl)x3SZXJ@(qd(TUZe5", - "Bn19#k6iFMNT6e$RuO3g2rJ!T8a^w^*UFTzPIDIhk1mzUMljmJ!q%y4rxL3k1WfVDvp(Qy3z22)F$ZzT0=csNe", - "8@YG-@k(uPY98LgLWS%Fp)kR90e1Ly4vOTd0uRjX95LU%6g5#aFa%OSP", - "@9gt)^cH#8l-0%0aO9@9w8kJF5o-2g%J(AcrGCuXrQ)lNe^iIJ*bFKAY78v%zObr&", - "t=XMKP3grJicDAeDeJ&)jRqxU-@@yPe4^H0p!dgAk6l*gLHTOozPXK$=lqW(9G-dxn9K3", - "GU%YgCtwF*(kE5)thEhsEXA5RFinvsF5U1W8PDML*Z)j#ca*fnd1xx5VfN&ZFOcQ63^t7^XS07ODxZHOeAYBHAK4sf)smrMQL$Uq", - "l)x6D%a50CalB0-d6-5KiV9=^4jnzlceHYLN@j#d@S==*C8eufOmHcRN0J12Ba@tc-QEVA3t", - "v&-M3VEI1gETPqAfD%xE%uEPZD6A-^DD87Nr)(2jqCQYcJ=16OQGcxcR03XAcEbJx(48JqLM@W%1", - "PLfvnF#3RBHryx%K)qTI6VpZ4f!!$Adj(*ZjcHUEa(nx#rmtTjnMnv#mN*t9B!U7GEcOFc#nZwf6I60b%!!xY4cz", - "3PSj6N))7eti5JQki@WQ=7AXdPg!NSGd)rOcrS-ZlEud-OWwajxv4#LxQtfp^F", - "&OMeGd--I4@nmlCVJDIM1(%t0Bnd2a8#Kcd!SpR3ttwgC3(*C-RqjM", - "0yURhfWx#k-ZPfNN6yPmr9*U7--ZgXg7vZ=NIY7lP5F04A5B)P@Z^N2zSqHKT@sC(t9k0FWF(tIFuPnOWG!FhPQ62znFtx22XJq", - "RaX&GItwR!u(XTUN66Jx8Gi&sXlkeurle2cQQb4=c&D$2k0Bb1bSs=v1pg1JsxA=M77&ehwhIla!H1G^SSg3g*I(!SlPLIz", - "hc%dcj^vWoNkR4N1M3-lKX#G=Q%yu*jvXnMhZLlV!RelaEDS9^K)=Ww5a%P@t0DRY@)-MBNQiL9WVY!GLa4R1CYC2*0-zv2iznNQ", - "qOBuqPcnYlZTd^AeLd%kZS0wl1XU*)@ScKc8mve@a0g335cBJba#7Ah*EPqbYmMkTgC9", - "yALX%jUk$1kqX*e52MUHfqAoqk-%0R223MOotcM9L!^BMg)NLr%qjaQ37FEfxN-ZiAoTZ6IzH5@q4tvpgi2K", - "ytp*-95ogWnw(7y=)NHqj^md4r*YBG^EDdwv91=6tYn-K3BOlD9%f*0I9b6#A#U=qBNCkfUpqk02RU", - "DNpo%duvz&p*^VGd%(Uj58V2Y=4^6TDtnxi)Kttx3bTO8JyUrUi1jGaOSGSry$y&7zjJ", - "8gtKV9!(6p1MhxVMF8fnZG4QDWr%Y@y(#NejtWCiLr3lYOCUH(hgErR5Cqo5v", - "itD7w&)ct%=q69RW6x@(xo5nL3sSX&F)PukHIYq7fJY!Z!90!T66xGXWI#YFYzgm%(hDqxVbcegij", - "kxAXpm4eMoHaby2S*pHEp%tL!EK5VNrfYPCb@Op2-*%i)smOhZ-4xE5GDCYe*qebJ00%zK0)DAmaj^VqBd7Jt&Op", - "Gl%PD(=Tu2aQbUOFPd%hG0n-H(T^ADDc47jV4ZfLlJq(jtd0UFTXwSoOMiSfGxegk@jVO8pNkRK", - "=8Qy7gbnc(&#MgF1tJxXpW)vhDZJvTkDEAx#E4OXxWJk@09So!Uxvfqc0mBw", - "qXB^AwqrAg6II)a32j=9to6#FsmUpKhP##8RpU*#Prdf*9!-(KINtsGy6SC^sboEc9WKVWEp*RWk(qRKj%", - "n-H=MAlLDff2VLcl*kH*Kr^cX3i0qXi6$Vb!RIElk7fWxGcYP$WS0%))n064Z1pdK0DVIp4B9f2IwZPbcLjOAmztkZwatFR", - "4zOP=X-Z@kFm1k-@bUku5V0(0z-5onUMv%UG&&qTbQqeZjeqdERqGNO1yAiHy5kHWXT3o6-VanF", - "!zx4PeTvXdcNZnMq^UC7^Hp9x)Yen#noZu=Sm422CRnScNWXMy!Mo^BD", - "ZxM3oz1KGc(DHuOL5Tzt1)lJcN2VO@@Qgc--D4ZfOvDH0EedJ5UK=oV$Xka^zod6=Jy%L", - "zgrjiK%^FdNRfonJH2R0@h44(LCKCoGz#6W5kNjfN1B#mQmnnYZ34XWgKeklwpHZOy%rbMB7gPEvVN", - "Vv*w3uwjC9c)LU-6PdL!*6^izu6^W72B%iG(EtgebrU0bsQ(fPB2HR%i)vBSXfRIezJrP%=#IEud4GK*dJjG5", - "!w75F!)Z70oEde2RAd66w7mrKOj9bmNy)cHOQY&AVbW4IMeoQ0C)DjhBBIOsTD!sYl", - "0FO9PCI4ATIR6KmVIwGVHWg-kfnX9L@!#B9Oq$=^OE50Z14H@v", - "Wrwx7zmbL$N(-Uc8(O%EiKvtPRpEPDw%xW9#1YSlF2y(NkNG00e)168b2a82aq87$#87OFYnKMsB2Y90TNK))gdjbdRZYr", - "mJ$W)T$S(J)X8(xiYE@DFHVgylMZeVCZ5szU8KnIaIH82iTxFRCus!gQ", - "A3Y$kbCBBTV(FDKE7xbsfH8q76AwEgQiQd4Eleu&POm1^zRf6XSxuscpCyB*)", - "GKkLYu=0IkxUKHPRBR1&C7vMu^zD3e#=TE$Fe*z(kBJmhf^vCX4Es7$O0SUt)%r6O#j#RZFJHB3OB#350#TeWzP", - "Xo#93xmhy1KBiFybX6$23vVRH56TVSR(@tq2yLaY#hq^$O6(r8-HdFE^=I#)i4GU9=GCHxRZivHjWcB", - "XqXBJAVC)MlINg9e6BGz81VWgELNmG#N!J3ORGAxaGG!D$yaE&HS5xZjDe@S^PTH(!%*eG", - "s&s$#QmmhQ*^q=lCPxK0adxB0&9elhk8C9SN1r3WrLA-0v^aN4YHEc)bhHeXvsEtJzLVuN(HU$Wo0aRjWiyJU!", - "WuhC=BKdAnsAxfgZ2cjhF1X649^q6mVVhipY$9rwC^UebYQT2)IT5qoIO#Uf!k6VgLlAxF", - "yQwF8aP^7DVKCnGRPNbuoJO7g8pb#a#4Rv10HUV9fqZBsrFW)fLTAWPD*6pFeyz2uStsAlxLV0GL#o$@", - "Z6EL1GUYcPmR!e#xI%04g#Ayo3@4G1SQPq6vQBY49r$Tvik^7O3@Pl6=zOCV3Cp2FwXoYO(aqWb5", - "*s1v(f#%S9Q%9@1rYPptcfa@T@Nw^m#H)*MvyMcxt44sMjTn0xq%JfHM==gGdm3GsUkETO@", - "1PbyEnV7-FHfxBzBmj)Doq&iO&b!Lwg@GIBlm=@Szaw^gu%6chWXl!x!-KdpYzzhG@Dm6Ty=KmZ3@h7tJaL7yXSAR@", - "!%%^j4A1tfpOrc1!RrBHlQ5TdHK&kow*C!G-Miio0-0l57h6zp2J6HkDm-GChH9", - "Q49bdQ57=m6cx-3!8SeH*IoiH)M6EGuG&)dV%OrzS-jng$ZjsbZw2048ga4w4yoU9NcP#QIxrCM6sp7qJIOx975zG)MOyG3$-3I", - "qiLD6nYHNG78x=!ru&@-!sNFl#E@*pE(8mt!CmuHmSfNQVYxksRBQ(3dxZt4DTh=q7DjBD1^V49c8dRyoXl9RoHk!m!YOa7", - "!EhUzK6Ioet@iQyJnwSx-BlzX)qtR2eKbBo9D#oE7xa7JlJOk$FGjY04(TL!Ov3FYPJJ!Bl$lX6u", - "ato3Xb4Md0&sncctvSmYP5cQe)rcdAU%jjp82DfT2g&$hhzVtm&k72-V", - "p&zntM8zr5O=y(gN=7o4w*vHK4inX!d)4XX!JsQB3!=ej(N3*U)jn!vm-V4eXSUHkEIWrC-V)R#AIosN48KmM^Wy9jB6&r^mL", - "GwA5=lapOtRLQrTTHrfT$8bdWt4Pjxfee-hh&dvelokBuYe8gTUU=Lzc%bF&cvRslLhD44D=qV4", - "htPHBQHO7Ntg9ghI7qF2fgqQ7H^S&WRo2Slds25L8kaUMqyo29*PybCC=gFEs&Wo*9PPQrw0@YJJqSmHjE!)lFoa4*^uQnbu", - "E%P2$cIkXz3bMC5nKlD83PtQuPC(-R5XClKz0-9%K5Av3ON!PxYx=Gij*^$E6Gv5oRI7u=1XBl", - "7LXu0A3saV@2C!pW$))qolunT0$afQ1rDnk2nfsZ!zWQh=MeRj", - "QcoepN6uWtS=rt-v0ePd#tlH&8zjAmN88@kG#zUB8UcrpBA=RTvgVT@ltmaJtBXsB2nt", - "8U#2abgs9U(xUa=9O83mT7PPKY^HUlDOfLn*a5d$QYjb=D^1%-c*KFp-zXA0*&ebIak&g2m!KcCRa", - "ygUdjW4gpoqdkqaexr&Rnp&&OE=YxXCA2Qnd6Idk0XLZEC@!*j7)BSE-GEyj6h#D)Dd^4Q", - "%!I%9UmKOgnPI4%cXnj!b&NnLAKmXgxlOdEmQJPjS((lOXdi*7m%RmbUeskBN2^hp", - "pJdZ6rS^^KN-4)6-o#3%idCHjF7$46E(Q*yuUWxFWklKzhdTghFMpgPT", - "aZazfcLhjstl8-YOiz8j-1PmsvEK95CBG8aNcDLH1Wxi238MLc5dZWtz", - "KaYml9M6nBY2ThtAZAO@E7G@qZvu!gVnf!-2b=fKov8G(GzmJE6U1K=O9H0dW", - "ipPCVz3HEI-Yk6$M#d@$oLT(JCYGAsP^mfnFcowe5PYRORUVjFBA066&SYf@WyZK!7TU^wsOVTVhigM3UaO=WTnUGM(i&Z4z)gk", - "7sZ57bpQgC&M6-BDX67LV6*P1R2aFzMUG3Nijm!iHR-YM#M&d1f^=Pi4O#k1N)Px8S$2smJV&p", - "hsFH#nBj%Yp5gM$@oFj#H*c%CcCHSe&o3RSGRJ$OtK7j0Qd7WwPsaKhjzmKf9hp7Otjxtlvs", - "=q-hoqyFY#NwNLkm1gHs)hFG!Q&3t4RN7PwXD!zaOxwkrumHqRLawGL1PASGCq(rcs89$QUgjfvD1zIEcqQv^cOxm", - "(8A6dsg5eTZaBIdkJlnmlI9EDDc9Ny0f$ZoqiZJMDT4XynnmNDa*$pd!$oEAEP6", - "#E2Qd^t$C)Gk)oMJ7y@FVKz6urE9uGjoXXjb(UkI1I$hzEuPig@M#yVbBlmqeaQj3KB$o9k9FVNf=ww$5rkAIAgcj#Ti*X3-tJN%", - "$2=YF6n%kMFbQA=Q$z-5v82#w)pQNjOarb!BfTUz=mbN2fH#xM7D()G^UYLj0T0c$aAN(Hs8!fD", - "sDA6SF*0%jkO!QDwaqvzW@-lfYNa51aEf*TXND#Xg%Vhqpq3mrg-oPCwA(R4$^cm7UO$u", - "0tQ2mE1R%==sYRE!eo%NQSQ^T@vR!*gtlURqW6dv8oVDuCU=J$F$ejcwhfnWP465SJmaT&&LZ0yl=&rid5YOP7", - "DQHWG0Mt8p)y%qNZ$@rYz8-1YrU*@T0YWxrk#o#pyBG(ckQXN=7e$^sMg5qv56M@$", - "X&UR()s!BuZ9LZFR%TPrag7Tz*9EugP(j9#8ap-iC0*HjNLlZ3MT&Y^Ug5*kQeEkJr78mq@shMcHXPHY", - "mQvLC5YAwdJIM41(#jDCiH9t7ZJSzUPN*&w5S7(9!wfO9CE0W@CVW7j)Ne4yb", - "&qkP@34kUF47&Kc*rlEaxZeUmp=jDVR!z=8Bm&Ve=9lJx1T2DqxASpnWmSO#iIN03l$Gh*KL!8$bvpzjT9$EWTkFFn$UTc", - "CFcW8)*E)zyA=Iq%cJ!F9FM&y3BnIO9%FreL2Uqg00U)JFclDqN", - "q8XU0o4j6tb9VZF%Uw4Bu&6Vm-fz*=SSUt*d9VsLhcXYMeAG4M-qcxy@2k7mprnG$3l&hQcGrTfIUB%", - "uDRIz)3OQgqKsjjLG7CjGh4UpxwRqHgmotMmFLz1cFqTcTsWDb^^", - "B3(zNcgeo09W7R0DPFEQM4blGoAKK@CtOzomBA=-raZ=bWl@qjE2T5sYB=j58Z2yvwzvF&j^%2Hhihm&4eYJV2oJYjaRbe$K%", - "p0I*Ty*9$HfbVOrobNr@M^e=M$ChqVNHG0=Fs@HH0oOPtwOq5juFuQvf^sVn-s6Jgp4SXpuYhEVk&^hu(OZ*baCO5", - "!htCbkOAaIrQgbH%V*QvYMhCVAAsnmHnraiB5^DNZ7&8c62AIPqpBW1mTpeogsS)(l$T((!duy9Gf6", - "oE4L8u7ToqVg*E-ZrQ*kSDD)8CScq26kD2wr)fl(XxH7s@a^-EgbCRg@VS%0-T9VK0HYnkHvFngFP$GgzCqF", - "#-BC@tFLnYraF&Gkj*4-@Xovep)VR*b4eD%tr#-w=JKP02LhFgF(ccwU)Rqd%l$Gok6NA#yWOFs^8", - "WOju4o901N9Q@UtrIvAC@Qadgr$2g$*(pU^r9D-7p3uiJEGq2fF4Y5CRPr&Y!7aB6C@-e&22XQrEGKZ=j", - "-^wPyJbC%^x*x*bh-$5ANaIN^^&f-A#x!*njB4!!VACUbDW&%gTApdIbq(bO((aqhuco*ONO", - "L%is0y)!LEjw0x1S*A(20ytkguoEh!HNuZT7zmDfj$toCfZxlfc!3hdYJwL!wLxmvF2ndHFvB!JTnO1m9rVP9!YD1y8tQ^E", - "t$3pwlTSQ^tKniwbmbVGPb940@SXw3KpbPtr-PQcRv*9eWS-c4krEXv(&jEl)Bix)", - "-%g9f%jEU3WO9zsCcr)nV-1Z=pbbnu!uIpLv-Brh$*G#Di$5*3Ccy1", - "9AU!YC1Kcg%mmH47NA#wX2y#%Jmacr*(djL0Sx7)Kqq8o%!x*vbf9=RD3l$GDPPZJUPpLTj^*I", - "bT-hZO@kTMBd&we)SxTXs1V%$wZ#$&rmuD4Aik=Lc2)O$KL7U*eW*8", - "H1$zoOKh1Fyo#oSad)JSK@(VN@lNmnog!BZjJv595aQC5-FePprNNEah", - "k#bhR6l)61)N6g9#CV1RD5%^=d6Iib4^ky*p=BbdkcY0x-E4%qx0i=&1^pL@xdZeynNgKSuVk1v(GH8v", - "8wgK3)inM2Q8xz&*Bk#Qa2WcYCt-&7IMf#i-T=)5JYrwEUQi#f3RbSEI(ZTp8Qybcg&L&QwlWB=8D9lS$&zfAKS)bVfVuD0U#", - "GC$oK@4g^xEzvJVrEiRzIAkX0TMF3slreWxRnQiZQp4KPP623Cq#Hx0sDd4zlJAW(Lhop^Wo", - "TWqpzp)bdnrcDkUQuZVVZuIf0ptFWRcHFzNzId(dogAdJ2kVT(S06=#9oGYOl", - "l^vcyr#l&XQexfqbzOUuxiFHaRG%3Rv233IIA62&7u-Sgsv%p#j0^L", - "6Nk34RZ7=1lyOBDJCnvX)!IOC2zNwko-CY-jxIDYhFkQd29oLBl5iw5#", - "K9ljJ^YKQoV7u&VIC)k)Pf(dH1UI$Nsvt7c6HLyEdL!e77v1DrHIuJS0Fjjn-57Nwd", - "SiG^okR1U4Bn(hdsU9uFeQ*yf!)nA)AzuYS*j=$uJTzpPSL^HG8yZ9K&O!#uMU", - "ffK7nm=g7z#1SZY00-gL3JS2Ehf1J!TkOq012WO4w*KA!Ml0vCy2eZ^WspyzlVLn", - "NG01C7cLQ@hbT6ur)v!=%bwjQoKwG!Dc3cmqsLi!)-*Dxw^kP!QI-vp", - "8d6z4p9&B9)Mtz)zOGzC@%rrw5Wwikgrb0XCywCeDN3%bBm=hFOJoWdQvCJ&uhbC#viWmNdU$F$!G$d%2)0UWg@NorbyXNx!", - "zh5!ki1h4bKRNadgtyIJmNw$6bQz*vCGe8&%lgJTX$PzH$!7ME^H!f#W(Wkng4ub74lVVE2", - "7Drb^DFm*-o16VHXPEsmHRnZi&OKw^&z#&)$OQO976Nie@fwQs*^Mnz%jeg*uJcAjjB26BG6vAa-)v4t5baDfVfNZa^@", - "F)dV%Vg)8jaz@DjrRG5SBMUGG(L7pG4XdRRS)TBd6=gc24t3=sPv)3OIeM", - "xIh^FR2Rz)^0@FfZE@58cJINPe5Yd!7qBVQiOa&x#Eb9q!Fkm*BauCf#U", - "dB1A3s7oR8PB2-Alwz3*$1*0tcyDfjU2Otl%iazSa=9U3(eU!17jvPAlxD(*1co-tMi58UgNw%W7OPzb3@2*g*artJ", - "mFYUPt^A&8GdzM9rfPZ8C3WJt%3(R8VIqy*wav!wqqf(QEYSn*O(cF$H-U3^yR6basR2=(mGdo&Ra)6RY", - "9iMrAj)&XKWVSSE@BvHA0XFknKRw@7svihKWiR*vYJEllDaUWi43*^(", - "7MoYXLABZzY!6Sa!FiFlzw=CdvWA3ZgEjt02@I)DK&(Kcx29PVO5ROj(1M0r=NPK5wtVez7uJR@(TQ7VETpF%8WO5ly-T#Ce&$*#", - "By%-UAFhM#fX(=RtaWI=ZkWz0%OmmtRH@pp@DDEER-#lmUjM1zlJDQ&T", - "($UUwyGOu#-EAS$TO6zF^V0=6nX%esW!h=%q-##Ox6@!YPdo=D4SX!TAKZrwdrrf@", - "7x3#kU2@P67&zqhnu$w(a%eZMirjx(6ea!Q26MG!78R&h)=h5s4z!rpy%cZ3&E8@Yah*y", - "GNnYVDSR5%za)i-g1RDuOirJwF6z0zgGzEUP%i#g=4eS44^x@aqIx(zpuGnk9&QqiL", - "@=%fBLxXzSq7^gAa-Zf&YL93Kmh30o5a^Jvl-2bH*-AVAD-&h9Lv6=nXJqw*A@S8w8OmdrZahs@", - "LqLwqz7ZcFLW!-&r=9EsM*kKvW)(K6xLKT)1^s(7FBq)j9yZJBZ-dJa1!fDu6o$ATAXN&MRZmOTJ", - "hVrnx9BQk4GEtRj33JfROqMD&Pt-s^g^lQxA11DglxWsFt@YVSEecmyoOHBkSUFhcpXPJ^651xdsP^Oj2vSQsusm*fzYKUJz", - "#N5JymwQKd@yustOd&UtT)#KEJqo(8(G6u8RkP3YCa*bhxKfzf$4X9", - "(a=t3L$dry36nBAbmz@!Y*mR%4bBPKN3Rj5n%vu&giIQ!!0qlpKDgmtE8H#(3MG-D$NtUkO8TQr", - "51IAx%!AFC*=FcUUx#Iekk67%ppx#Z#KvgCD0x7Lj%Sb#)a%^o2)-fl#", - "R4ry!2Kg-O-08rm6cYXG8m2llC=@RxaoON*j$E%j=b93acQkm3%&T5ERTm1)pKmh8oNuEh", - "bAdNn4yf#AKYn(FMm#V)lzd&TSAp$JiTSxonu(S(Djx*dPY4*aN(4eDC", - "X#HCptt!Wg!RoqJ7fR#hWMFds)h^euOvyccMX=9V10t@wd4sd33H=-Y#kOo(-n%lunU=feKJCFb1KY0Q9Efh%2h", - "W!49Gv$4jA(yaW7aSiX^b4-J)UV(6K4VfPuDZSPU5EezPdw#pc0S-=C-J(Anky2%$Od1Z^80zb9nc0czrVP7iix2k903p", - "C2bMT4fUG%(B=o0OeF!dfvQQKInNGMXumJr7O65EG5zRl0SZMOMN1-LL@sF%$i$=Pf1oK2sxWga#!7Xz#WwFEtSMj4XIF^PtmE", - "bp-9I1SIz*3wRbXPPN^OQAe3&rK(UI!g%M2JX#yud@ODn9E%VMVWyJ%!fAe", - "5hgcRY&BL^z3V1=f2$r2$t0ZqWCanpj2ggrp!HcyclgEPtE8e0tPYN4bA@CASZT3X7(", - "7TajqMppuuUJhQZS@bZCjP7LjiEQf0dIClw(Tae$)#X4pmoB=4EzD0uCfIj*kcGAUbNa4Xar1i2LBC1BR11fMp#", - "i(3-SQ32Mgq(w8xqud)Ojg67)-U-jb(!znM#c*XBT*928OCe4%heuH@--OP$Vwj*W-KKuQSPUe()c4f", - "0*YIek%ag9bJibWVj^t7ljt4PrEmuBQ2qVFyDDqh-(ESWKtENbNQIm)53b6=UCx-q", - "5VZULHBG%p&!CjoOgi(CmOw-)B-HVYzvLkVrP*(6alM4(8ybGv$iJUAxxD!7K&-@8EFK@Gl8g", - "hmklBKpJ0QC#OnG@7XKz3aK$loR3TcY^tkR!uugye=O8tNq9^MUMX@ZlAh=WXtCM(E34gE", - "u*gA#$O&-#Ug%%n!#*P6lKFiMRs-6UPbv^CR3*c0IV=pWh!5pQjgL*z3ATkEktXlfbsG^HYK", - "t1MiI6GKM%y@AMNaM02ZQ=Qymt(-62$6*FgkWPKi*0AySDdLVXtQkyL1ur(uV5wEL", - "kTrK&LuSUu*74ja%YLxFYwW$2p0E=Td&v*Q7$38sNR6yuYb53lwU8^&LgVqizcZ9", - "B!apj12P#Z6xwcrmlD&0KqpYWVcXil7qm8tPGAo=wkXIm(rSk-#w8u-xpa^v)DqYtw^!&QQ1GV86^6P5dKsXV6Vok", - "2(W6RWNduK6$IYF#&k9aUGq@^62%jCY1qZqpXV(pj2NzSbjBrkXhJVuWJiev", - "dKl-BOl0woCNNirGMmzhDU70CFleWGFUxNL=pqLhFukIp6AbfW%*lEcQR", - "qyhpkwlFGUvaCu85WECWF!O6dC%h5s8XEsX)lsmqf@gS(r&kG0IaXy#0yrfaN^=^Q=Z8J&XL50K=LQS-qlgKW(fIkBVi3^LoJ8S", - "FdT@!oVuvmRmVmXOvCYmyTWh6zoSx6wj7ubiyG9@FLyzCE5kuN9CJ6V!cugT", - "xPEa90qn=Y^o0Be=M=GrqMI7@-KaDQ@R(Iq)jjuFt@b@z*wRDa($0hag9cv(lrOVq", - "ZAy-fw0I7bu62Q!9$^OCPxSQ)sF4KCpKYDSkT$XpAUX7=GG*xQCDR65)2BAoU$ZtGyM$Y", - "@5P0V%b2mE!YrCPL)g5cHTef-8DjDn9@fQzt73-Bw%NM)Uoj9RK2#PUfCRy", - "&RAEFT@)PMwV9Q$AXOqOSYwHkST=ef2zeOpTxG%=AtX9CmwYu3kqtCJ#FAmAvxoqF5@", - "AWpfQtMy9)eT-mzQ2nXP89JybP0VI0UVrXn=S&sQvmOhIJt$8wj)xg5FF=AVa%", - "aX-xjg)$H%*m3-#W#w2Dl4sh9=5-RFJtmasOks4$IF26v4wsU1y-O4yMhozsBukR%*6kLP62-qp%wX81=O&)*t2XRdEv-Z8a3rUn", - "DczhM!PCOkuz^Y@dvzZ%j)@*Xf^9Hj^zxIfnctBveZjxk5a7xX%CwrhDa74ej41q9=@Zyg9JYK!q83*61I8w*u$IBl", - "h9NMHgaJ748D%$f7rKnxpmlQp2=ir2T9FTzMul*URKDUBfZyRh6MdeAZHGbGdewt02@eVmp&P@pS9(n-@p*6=gfqB", - "qn$bAsWZ9lNudJd8Cs!Gq8s8SyiC6vemO(udGoyEQdFF4YPg9F^j#g-z@8g4VLHYiTkMwB2TLIb149A8!v0u", - "jzr3-N!*-*VHtjmKYn2(c@65bmc=gaAgFBu*9(tm*a17lZ!MCsZ7$B$$", - "Jf-hR-WoMq)vjz9DRi^PX)NHZ8n&wmrg8H7HFY8zMeZmD%MW*2OS=dhVSu1V5Af3&UnYo4g*BtCMDl0zhN7@fsUMsPFp", - "9kA2YQStL#2i!5UP43y2-UFR8OoTupSrBe*YtUTfKMV1b(V7lWg834uV@sclH^", - "&2DGmd$%#2s3aNvB5ZbDHPJs$@&#)7(@**g#pWX(hE9MSB4LxXIW(32h-sFxYh0sl1=QdoTf^8fFXq=x", - "6@u6eoZ*MU%&p^0#Fa#f3476KuxzNCvjvzCoNBur^pzO-^yotp0yJ0$aCX9bogqk4VDPN*eWcKOYSC9", - "ozirqniOMw5tiI#R2Bi=N&H3y%6MAj)zad*m^bz=Ck)fjOLf@hacLNWLA=xYC#o@", - "8QnBaGQFw$=ujlGwyJc*nx5b2vqni%hZEzZAZitig9lG@*he($jDdXYX)!hY&pAmX-wHEsQg3$qAG", - "*cmX(KL@853#u&Qoa&2TECHce1oX3O-l6pgt1cgY!ZSfcwnnTspBRY3bXOyk(@aiyMuigwV3po%", - "8kCU1IIrq8sJe&ILXCz8IqA*BkZnadMgU4MwBtr0kHJLb!WYCwMF=XOU&iPhHS", - "@K-O9wVw&TJc8&@-RotIU!vM#5IanzgVX8YqacOcJMfs#iT-vD&Z", - "Uy7G-KSp%G867Jt)wI42rYYlcC1TTWjoEp^6uDAXe9bAY@aL*LPTSB1bwB^e&Gk1lSW*RZ^k)DUeIilw10S!5meogT$@4m9", - "7*etp!za29wFyecvhmyYG@909V5lpjxh3xhJ#!kJLZUHf$X9fZSbRtUKg5CE=)nLRAot5L^oJfrcx%yjv5f9Heq3Eiy9OeG", - "vDELh4pSPoGR&pEQz1TXcUZsJY$cHVq9agNOX5&jO5qcfxb!&y5m", - "N9-CG8T2Vcg1XCCp3N4$mt3NMO4%ApUYSeKCeK4W4k2JPInp2yPNhc1M@ZzDL5iZjCXU=zo", - "Lv)xXUFzLY@6Q*v%@lIo%uIS6(V%MGo--i@Y=M5d0byjbIl)a2p3#$Tcv51VNKEo8RWv", - "qaqANK(ftG(f#TOZy3mh=#Kh1fIcn(38a!2yBbj53)bONm*JSNUORRYBiHwNcs#@kJkeqvaj-@6^%Zc3n24%)$J#dgu$", - "sYhJ9=bA1xvq(zHGkY2ode$oh@rE!TRN1m2Q!KI8&6w^CDJER*ALAc(5tWM!!$%Yxa3ZgIL5JV", - "kg^7Bp=)=k8BCFlo50LwFAv0guM!Yxm)LLYn)tb9ys#xr%QKIgDBA", - "$qJIvM$v5vT-ZOJNg*FHVGB6MVEsgAE^&Z0UNXpk8gou7Le2ctWFhWFqT0Z(GrK!mT-Mm!fUpcOn@z34HJlchOCnU&Mj&u", - "@T4OUzAN5)=qELHU!eXfjJ=UVMQ$&YGh=6%#B=*Tz62H0CNQ2xkhvuUhihpB%M*S9K8Djh=Txz", - "IA-bvj-DArr#IKViO-=!bWnRi2K#c)BV(fSiqxPw^KsS&Zw&jw", - "EAJ01KRP6*I7=pf3By3s^g@XpDR7kcT!na8kJFVoS0SR-aP9vXGLicdqS4Wrz5FW9ubablD8zuCuFb$(LR*g!8", - "hh(8CxO6ixqIn3Agg1X1duxzyv%m)CX%9v)9BAsRa2JJlkseKKz0H*tu0X!oR%cFKY1!$7)yjB6CfwPi#2pB#Li$ID8JA*KeU", - "VK3q^o-zBcKj$SF8%k!Ey@ET#pwy6L-X9K@4uPiopcFB$St4%x&7FAlZU7J)O@0J", - "lNKQ!t4Cev5YLQG%suGXzJc%Oo$#)H!)YzT8!xHHp#$6-VV%1md-5A6wqNYoGYZ7!&wedU5PAu#*Xb2-Ow&MuS=srfUQ=", - "^&7WrpAn!ktFXeqT)K$OTA1bX=OZFT6!8e07GiqR4CZ0QilW2HH%clgs8FVVnzV@BCEf9hZ41bc", - "UW7C0u@a9-b@i8CIAN2eb8CxqJdz7Z7G%p3U2y7KllYf2wnU^JF%(4$G$rI6Jcdd=$ud@5t1ShQW72)Iu6o1y0JX", - "eDXx@9lqS$!LSYIp^XvoMKh6lp#=d2UnSoB=s5SA3#KRaj7*0n4q(=AEuE#Jr7bM=R9eLpQ8h-GWpn7I", - "NM1CZhSdqp3RXUQWp5@iW&*6HNGEhJYiydo0S&oi=@JEMs#3ew1Lpq&4zHjm$)rl", - "zS$1qK)^CxI^(rN%9U#*hGlcvd0^fg^(SH)(vLOazsgtKnvIVu$eOX973H", - "FAN)K0Nluiya*UlKEioB!6WSKCDMu4^Z9%j3j3dEAVK@3gYmJ^X", - "Feq^2lQ**g#!vc1UZPDExmYuSnuJE*^!TDm(UJ#dZLbyvw41S!$12eX@*&XlXXkmtr=9IvWEW*XUw", - "OXVb6ZAsTR4wUyhvPFT^udkff3NlqArAK2PV4A%H!PHckh@IXj3hz$je91BcCR6jCSEVfY-I!mi", - "8%y$s&3A!R5Px41!VvBcw7qm&aXO!hM6PFn1xC3peZJQ3(5%%!bpC$7cEu5uC(jjW6HGiAgt%2FhbJeS20E(O6VJTmLgZja=*V", - "=UK$-^VdeQ!rdU&w%fP2lB5)06*G$Pcb&E8&Fx6Et(Zr8dW$G&zX", - "G)!yN&5PihxEg!9d2Mk$v3mhWTfyAy2k2!x(yyFonRi&UPSfkf)@(HzUkjeF9XR*pG", - "3sXWPe@a)fTprS0=@1uDxg6xxu7$gfG)MveFLE)3H*zdT&VSPM$kCMIy8^tGp", - "4dQYiF@Hg&kp8%3Tjc)rn1A#xmw=m%61IFD7VeyAK!^38)0GXBNi$#*H9(Kz#DTpqXJ4gzO*P7=WlNv#W", - "1tk=E)zurapCi@ZP@JQ5Gahh4loN=4l(tp!wf$7idfszU8NaUXkZ37Ucc9vyLz4hop$N@", - "b*W135S4J=WqlgatE$UO=)08XPYR8aBZUAF*2#oFJIn1ei2#y6riMzl=THDMS#Jb=k@iD8j-9OirZBPF=JvTi", - "L^aHgRtA)1Q7w!#CyzFAg72t5mcqMUm(#wr^wBvMi-f-K=YX(-#3DcOP3ibI@zA@Vz", - "zh5hlP%Usq$IkzewPsCjK5j=-el8*lLwEpdLV9vL-vF9cy2zy&nK8lDa#kTQ2#0n!6dfuLgKS$Iw)p&SkTNQK*n6B", - ")W^SD1!knA7wCFm6MOYSukoN8UeUzGiVR%Q2grPr4o5dNzyI=#PyjgS$)otkTilAGJzcr=18ra9VPXyKhPnP0rYW-(#3izB5", - "DrQs6lNr8nDNJTiRAR7k^wURQVy54bR75LCm(k8lEBp@Dvp4t-*iaTWjSlYLu6(XT=9eB6%8xpwwe6LU@R(#KZ@rvCCs", - "$t#aRuu92fN5Z4U-XL9Rxfq9q2yW%o3dcrywlcEiEN!24SoS@4HVuA*9xN-s1bFy%XplYRXrCQEyfXyP$", - ")xdSs^A$ccOGD$yLvqHGuq^bWqxXep9k*cHUZIWFEQc#ngIGaIMegy#5QVxQr(-kmSeE9VdZ9LKlW2aGrQPKK751ijM!^qJ-", - "L-WZpU=Y2hGEQhUNGYJN!W&Ls8=b&Kd1FRx4St)wy8*O-xQD%xJb007do$@(%j9vu6R!f64#@kqbIJmge$M2FuTf", - "mW46uT=8Jo5TgdDTkFTlqJz0G2cwaUqZn7Tv3rx*QQW3^C0Q-8qXyV!vRXM*wO-aaHGPdZLFHBqluK", - "l4=2S3NUYHXg&!P^*Ak))NqnB0(O5hIjOeVmeNt1Y3wwNHGaS$SfKZUCQB1BZouRt)2diQcNYSSdf", - "LCD*GzwuoEQX&*%5KqI1ZcCs$9q7%9MpooIFRIftI@DoPpL&%yMQYGQ^epWiMMYrku53O3C#mGIIVzbgJ(zw7hk2Skxf", - "7hYbRSWjSwHSIXnHFxjsl0a=9trP3$wnLLFn8#IXNM#m-HdaRA0VV*E0REPrC)y=3$&YN*Lw", - "Lc0SMWOXyjvefQ0gM!i@5MhB)uG@d=H1jVuba@4lSzG68&JZ#HyFHxz!wb-bUbHw=KUhJ400^*IGMKkzpT2ULOJ7WVu0%3-C", - "*Lq5-nZSyJBZQnDu!p5DJr)h44ys-mzjMM75%CH7)$wi!i*O3@Dixni%A)*uF11prAP9!lJQ)9T34C(!vIY=%$5RABknKT", - "WQkO3HjK0yS!ra)TO8NkjKTRbNqWNLzUuU5&&Coqu%A*@Chg1uC4@!9kHqQ)WrEMW%c", - "uk=4b=(F8nn^7TGEhdva4(prtCt%#GE1Xy$3A&8tM4uSm6mUm2DJ7NT4T", - "$&-qPy6O#r)!@W#y6S$CmDzlqg7gC4wXUMvxqvEoYeZ4PEShsJ90QtMu=bMM^TdfddC", - "jdb&K)83rF6D!8nJyZuJjUAYCIF9ifkie2dO3)k$0^eGh(1>ZkMUJ5^I", - "lw4gDq16UWFoPDKvFc(zOKMGnm*yCjE#qcUISnN3)j^RXM)EnZt7@", - "5D99pl50oqXL)GG5qrinEElSakmcFpRVTpNq622Ldeik5T!GvgSPpgP=Zt(iQ^0@WUsrh7AqGuh9u%WFI2bJA@ko*L", - "Q*)VmUfKqn7)(dz!s7bMc86QZLNv7sotJ=trbxGa8DO3^IiKqTWNJ7o#qbIwuCDGkn2to(%EQn9JuczfhrU", - "#R-4A0hXS$ElICWp#(qZ&zd6kdoVYTzfSn*xVRN3zZbz!HHBF5eMNETEzALp@wEKbXX-w(XL7tOgpM)v5ZUxt", - "EOkSqSwSC!WUFDa!R*a3MdRlB1qd)wwFVHDPUS=9nfV3toTM-@XasM$8&L*NYsuOrolbLF)*WUQ=f73vB7Y4(o0UdsukWnR^TU", - "DXe6cL*0ps6oMmRdq-ndh7Kvj*$A47Ykc(s)wf$qxXByteum#Tf899kkmE)JF7y)suw5I=ruKAkCYysieV", - "M^0RJxP9U&La2z!r-0VCL&*qj3@wC)n0bUNP(JtzlP6n9rAjnOY@oF", - "u2BYoI1vROaT)byQR)48yaGE$oMDppwqq&-0I(0KO1E3)euiBlLGYyydU0izKSb%D6WH56UT)naSI", - "UR-ynWBw*K1bS@a#^%D%7oT6fCgaVKv!G0Z6g4d533AnzUyREd%pLmCvy4QeuqpA734KI#$C=e#rFCzyIQ", - "h5FVOlaedYU9SSvoiSoC7ot1XkdBdP0d3tXfthp#&cyoQXnLrZy2YOWXPWGWF0U=xfD^Lf2&pFdLijgb)5I^S", - "K5^qRi1M89CHRABDAw&7=SU@fZRLwsrR%hQdLlxo0HjcOUW*&ZCH2tRw0GHB7", - "-25IpO-Ot-JrJzOS0UjeQa#i-4v2Fun72to7C57z=DQ%Eu@a=CAVC%(%=$(R^", - "C3z%pgrd0Ldt)mH#sAeG!qTK)3M0U(BoCbx&eQ4enZQwLF@Z8u^SL@7M", - "kKXmeMd@@Ij^wH*bpLv368afaW^bNg(kE^DPxdT^I@ru!)5WOPtGPUqSvGUu4V^U)", - "o)U2s*6ekP0a!=$A*5q0RumJo1rxhUVLux6)WdY=@f5oYcNs*G7(yK(3&Z9TrVYgPG!PY", - "HJf-G@1nm17%*ldhkpzl@Vyby#xk5*K7CNE$2(71t-$!!hXoVA&A%Af-Hbfae5jD*omF)2&(JpnQUn%&#", - "2zUB4ce1@A8QksVpsAMEHErBcNalcpi3bAIhRqCgGIOEeETTfLADfv", - "Xqx*eXgkNtVgOPHAm@-j5SMP0cMj*3qaJT&!PI^5b2MWlN6x*Z$GSs3$an1$$^s@$yc5mDMUmG6TiDy", - "t1Ty%tFG$XN=D=2yLZclFWamrYX&$QNR4sBnDrZFLYq1txjh9CWEVvWL#%n0jlJt50j^Z!%SX2GNc6-zj*DReJgCS0n%5!f(", - "4FpMEqmzwJ3wTieRGsRYqbD)s-r)V0ac$3ol42OTpgnB9Hf3nW^Hq*rB50Hzh)vfzKOUDw)c&hfRuftnbz2", - "3*DDyZzXIl5LxZmFzzCq0QE6$(yQ@FIp5qxij2$IP^BkrAMHGA", - "$S&UbSYSlMWe!uQB)x8*LTDdP4*!QimYKvZapP@eLRwaNvkQXBDw@nXZ0zeUd97*^C43-bbS^f89(O(Twf5b", - "Yvfg@@7vG&At#rhpU8lvy=szL!2aXC(#av(-oBSeCz*9Lxyy!Z9$xPM15G"}; +vector RandomRW1024 = { + ")&xZPKcKiYy6OBYQSO3g1hF@P!I5L9)lQ=YAupoRM29tbLOk(FH=9lkZHLI^EhX", + "NNzhT4lE-4HMZdeon!s8A@SEYG#LXmGf&A6j(W5L$E3E6umH8fubmiGk6x)CPiD(vIC%Eeq3i5JW*3p%jEo8V5", + "IvOZIpsmJ@KOCM6NaF%N#^Hmlg#xChUs8*J!AmydnwnohF))4UXMn*2NDVvDww=ck", + "(**CkKh&8eww(L!Jzwgv&Qb&8vFKD8XeYz#pRcQaV1OU#HX-W!584tjQohcO%kl8hC&a582ao2LyHHp#0Xy4T3Y@2rtPGM", + "#5B-c&#C($ME2WcAbGN!z=&@Qx%m*FWHnpKqKxc=GMVMj#ezpJaA&FCck6sxoy!qEBT*%$pcOgOiGV8Fj(bcFA&e72%&JM#!GNA", + "*5EIR=o2H6WetBO5l^VMJM4wca5yWB@RHeTfal61vjKOIuP6Yt9@pA", + "LHMASYWT)sO&LRyi^4W$l4C#4Ylsl46HooUo4p%Hu2GiIDF@#S6oeuzIbXNXxs4Z^&&C7=)OsqBq1qmv3xNB", + "aEQdCQHKdgaUGXY%EmjE&iLPu2nGME%9tUf9Sl&RoaIYw8cw4pArh*!vjFH", + "7$4CmL1G*nzXf2xCJ%(1CUyo-^CJPDwL1mQ^Cv2RmsIKW&uSS(ZMY)ELMSy", + "#y*RCMvGx#OYwUXXjlk!aFYynZaQywQ(GDoVLa%=ggDU3flJD30RX=L)rD0%SWEq=SDsOITPbYaEShdLQ2=Q-WFe2", + "xWE5unL=Yo7Wj%Z8ECh0L26)O0TMv#3tAhwv!a-PI!MiPMq!^mtxzxkc", + "h9=Z$5s%5)HT14Z%^RLxRV#hOHKqh380kPXYVAEybLy970jGMrg)x)DMx$CCoEP5LtrLxEZ8qKL6P$fzNbL=A", + "oHIc0-ksYCYyLHZAzpW%nn1kkfm-^UT#uxV)6lWOjtj*%IbaCk8Y", + "0d$o2qfzpxVboT#0=L2EG&Oh)va!v-yxh^x^t13cAA3Bdq$A#T)3@gqju=y75t-XEwB)drEe8SWH7!yeu#zt7", + "7OxTCQ!HMW6GOcc6b@Q*mk23spJyrrnec!n4r0l9NMlA@OS4OWCNYyu%!i^irLs&FEwjwyI5D@e8QSTgx(*Om6Oe", + "JK7tMEV)Mk^GEdb-xmD-(WwWE1Le4oS6FR97JD5z*edLAMOwsY86*zL8J-yAEfU2faaU6iR5I", + "%001u8tiB3V&S(*&x68M@EOfNoHo2q3EmCOU)ebqQ)^8*BPn%lv62m=aOg=x(DosD@oqlI", + "C@8S5gZCdS-!*L*iB0#EWmov6$um(DaPB=wa4wa^*SsefkMg)zF%R(2pE)zeALHMycABb3v^Cg)zta", + "Y6tbC6JT^Zj&9Drmccb=p4tnzj#oCCv@HbluBOKzbX5cbU&=RJ@A4O@8R&s", + "7pKf234y@vKu*8Sa#8k=bvW=l(01a8)GwJBW38*I3DL!b18J1Ap", + "-khxz1Esr$c&PKyn27fX@aqWAcbgVHm)JbGesNJdNFjH*HaH^@)=QPg43FI6v)sRtgfDrcp8%7Nn", + "S1@CdIxwXBBdp8fy^^BoifJP7#RtYe#581b-D3GRm4WIYQQ0f9MekbiK$$Ahsv(F3mBe1s*mTU-eOVLe7cZMG&*zpp@iY5o", + "T4MccecexAvl3sP3)4A&y@=Yc5sJT#=3@RHW0MKAdud*DZcfdwP(FYjmQQ^OBauCV381Bt43Q=", + "eM4=6va2V0aK*q=oa*ZG$Yo*ELYL84)ddrOXDou(fN)XZ@8JAw0EYw-6UqyUp5@4SpbWSJ5pfJb)", + "0QZv9Zw92B*G4gHEKqgJcyoNv5o4A^iwk#bpk$X^x$4Ub(IrPP(rHo$IgY!%$eKU", + "!l(!ds2Z(y$ESnHtrjcGj60BTKndo0TYPfPU-DT1V#xNp2mIkxvrpi4)=RDCR2^7R50jR0lPz", + "Xjo#h8Tid5Td3VQ!)ej-dT-ko-U90c!)@q@)c^XCHP8B7MMa9FWyEPoiR", + "9G@#BT-9)gC8&U2fpkXMy%i3J=K%#tTx#wgOikH$^Qxg7TPM!XtrGk", + "WUjabf@Dk6r-yNkSl6G$EB#VB72ld0tM4J4qXI=Ji0%TnzoLRZzx@6qqdFDI(Q^rNIiNZ2JcYQg!(C24", + "W&6Yf3r75SQAOfspOuPc1N!&03KNqZKe4UdKPm(Kn6tmokDSY11-k0EvharT*fQuWoU5h=taoEK=Xz8", + "5LFZCiuwnA(6Utebvz@b*G&1JE##m!eK0B15zuIr@Lk(Qxz1eeiXFlhz*rkZ$nw#U9UPeH9#nHSB6chv&vQcd--OcBp", + "kV@s34^i&hg6dpV)7nr0yTHtjOt!Rx-@MpwINb#)J9cK5Dl6ITiCeyvVr00*dMFmhLAtB$3BYCSZSc", + "Pl%CX!tR(oXSh#p@UW11BWIX-t(q22lJ=YweKHlreKgfWqRa%SYWmVtwH%^Qh3&", + "aR&HTl6#sB8H8@aNcJU^Vk6$YQgQw22Jw*vzt$xWYy@kUZPRUa$g", + "09W02mo9xvzTtrYErPkkeA2!q-ex%sO%WU2VOd2%QOIMW^VLisnmFAcx3(mwsJEOHOUmc5o$155h0E2dRh0X3(DnowiH$", + "T5TsnxdziJJC-cGssvPwgGXX0jahXyeJw9sldFWWogjC-EQ67WWsK7iuAGXUp8gyqQ", + "SU@MAjN6Zq4#YpJ&xvO1S#F6JD7dc*TLi(MT0mGQG!6zZb12!pR6R-LRRJO%1AdhQqM$7)@3C^", + "x9EdnFDonPY4YavrLRvtVIElXSBIpYP^AkbR#nxJo*dUya=9X&6PAg=mm3m=O4zqn9xEr-jIYV", + "SgWmC)z3Uj%4WVZM1($0iSS3B^2h$b(^1iAy%zt&qNDYejKNyKYDr^DTHjt6rk=7kFpwSH(zM", + "6TbzjuIlPCvtxrLPupFweQiCS9HsRTx2@CyXvb-a67c07iGi%i$rpCZ%#t", + "HFK-JRbNW&FT(S2YrWNKoNVNf2Rs(9-4v#3%LEEEbSTll0%1Q--iG)IJ", + "lPnuu^Mn4Va9$iQ%noGEwR-lR&cnxVQwKC%E3Z^mUb^yYDZX048yrb@zOUK)tzAYSFYXGP1f0", + "Q!evr*(yFv8VBYtWFzkjbTRjIO=k1d)hV)Q#=JKPEn2ei1MR0I3-6(o7whM^W)dFbsEfO^jV@SuzTTg(K14&Bzfuhi$", + "EHuvk2EjrXsZUwscTc%s%bNcoi314wvF5jMi&FbQ0TLjT2b8)u&-8hIv(^eJb%7tgm", + "!SPV7)La=&@(uuHfxOZhyn4^=utbmH5*V84aqQmCy8ASXXy4m#qMoqi7!jme9OilnD14D^#5B", + "TanEh!rH%W&2M0z@=tZzp9bMQ3hoiN7cs2&v-9E*=uo2@-R@B)c=%NAI2&G=lxdH#ujDtH6MJFAn", + "e5v=7DUm5tdc9t&ObjgG1F6yTQq*6k!6Rh2cvLGwWWMNBua2i=&i%zLrZx#c$wfDvOfjy*=X&*#piuKVw0X$df*ok#gS^V0F!nH", + "r5)Ht%QqX6$N%riJ-jZhx&1f!$@WrWoVovUF6%WqfaDRq4F#Sp5p9J5W0$WpdFY@", + "Rf(*N#jvs6@66rtafL7rHT@Hp24=fkuht)-AKUKKhcE)Ln3Yx9Unx^eNF", + "Sa6UEyE^elwfty^eGV79XGZwe0l)6SXr4roOU*LK!l-iel)dC^22F^$y71u0P07=12VFQYKpA!L=3", + "QY4Zo-NDpLL8Aoqqm6g6yghv6wc#5$d3MAQ!3j^WnweTg1$@QykcOzHp)!()uWT9D#X2fHElmSq7iO=HJIsaynW@c$Ya=Po&wLT9", + "2^s#A@T3t%UeCeIU&d@&8Xr0k%!AOZ==$oJINssI)Dn=g&x4srymAchh&Bs6i5FI^ADYU0H", + "q^Uu6ZUiYVCcf#7jOU9-cVHYA=6&q%UP$=3*t$=Z$Sb7kJAN$D7d4fMufMNr=8#YX-pk1YgP!vUAzbE=bUZCeg", + "4A(lQI!hUjyPk^B8-*gqV(GVJ9UG*W(Dr@tNDUK=YB!TLla^@26RsUI1ZHro2y@xEwhU4n1%O2RmwT&1MK!9", + "6oyPk)*AhI&Q7Vq99&yjyjKb8GzsIqcq2V0T)MNorKHzoE6Go&V%Y0OyD%fBw2xCEnO9W7", + "2Xtl#u5ieB5FFcTqN#Q6I0-Wb(Jb$Pzp=0q6vduc3ril8r#z5F#1NQ)2lXhyjcb4mlA", + "N3Ko49D9(@fYxq3yPCszu*PhKY@Yzd#$r4*LrQ%5FzSs0Ev6lSiv=U6sM8ph%o@Vrb6gS(5maXM(qSU3GjMKnm$OYO*", + "y2j0io4^AYw5mf6Qj5q5vm5WXRZ-xcJQO!4o39MyvcBS@5)sP8Uy!Egl!lmkayroqdn1^&33F&10J75v", + "U#xxrme(DrqWIyK4Vuw5Lx4lcEV4Lz0dip0uCCA^P^3sww3jjMyoI@%$HKmmtWY!HI=Tl=5OVUXiEZIY9#!G8Lxnn47w", + "-Ow1hfm^XG3DFy(%ru6E5k@**sg^N8-z5&jVqC!fsEQxmY%liF^D0(TpYkvxYi1PhIoxkIsW0T%sB%7FbsoHr&0eVy=%FWKk$", + "mb4x)A$96N8)itXGKyzc)V7u6sr3BiNy-0B)Mc22R=D)KRCditNsRfbHSMk3auR4SZZvY@z", + "rF76BnyjHAbE&PpBg=bQ4PMJ)sRfk7qQA8HL&dF(e$R=&kB3WFUS0QEac*xv^GtJq2)*m(f$", + "vrFp@Bba*sZJTRVzmQUzLPNe7sY4uri6yT1!yZ)-%W3w5TTkqD&=tzSoB(nyC&MBM)3m79w", + "AjbVau*NJ9BJz3KglfV0IFkYuSmuGO(0!%dQMMn$U%12!P8E5$q&5u1S4p", + "MdklZv25u^7Spck)IQrtOy*thlvh8S(=DNpi8$E%nVxMwDo%uBXusZEt@zev2z#XadXjcRsW0bdWXnT", + "attg(Cd$i$XLg%LF(RCH#=hX0tFFnFo)Q6TGgAtObMwBqpFjPn3lM1%CWx8XIPaTJeVmOkiKDt)ph", + "*dS-@wIf^*y2Soeeg$c-WEOGdG@snge0DX!-qJ)ICnB3ic-u=BnTZJDoXutQD83xC7iWlz$g0Oq5upQNT7Sm(WjLkzxET@2$ZkXS", + "oR&u*u2LTwNkFC#7%ztjZ@dkvY6Ks&&zi-GYkbRpZ73x#nzbUmHUE", + "V!e^kugPczeY(Zvs!T=xtjYt=K#)xG68OJ0xRWW@Mxg9HHyQn6", + "nexpZGuXGS(bexz*F@Tl^=79A66w*WoVHkl*^lU5MvS4=Kkc=3XpFfkNO%fEQiaXxrOmGE!1!y19YqqEVCd@GB*vaK&YE#qO$Nit", + "Mf8)YG@!dQiuCp$FPr4EX0HirxH%eJmN^PRwqs%UqReGY9&f0&JTz!VO7WRa*7Vo4-L#pWr*%i)j9yQf2d(=zypJ", + "-Pu7rL=Le8u3n8ssWI^8%2^hUIGyU8%rL&aPaxAM6FdcC4$XSWVBYnRs09iwKgFVq8^*Nf5UNxhvs7kGEsV^Z#pcxk=8H3DJli", + "nfW!w(8=fuGjt!#c#VVgHy^=6i4&E%wU16FQ*UAnT$LT**fFPc4AKv(pY*TzyOl1hDDixdb0nk", + "@utRYS1s*kj^we$CN*o=)ufHl#6JZ7Qd9(95lJaTGVkkOnPi%2wxV0r4Ov)96uCJUbGKdpubmRIlmM-BRG7sZl=Z", + "NHYjX5CYExCUYuv4!KtV3PA67loYuImEsG=k@%P)s^CET8sc5L3R!b5Cas8h", + "Heq*0j8Knd8*%w$ZF6ySctD4awqn)bk6@xq#5g0EW8wy6C0oC%#wSFv", + "Un3k9bYIU*0mFc$^MsQ!-N!@f05TjglEZX*u)EWblbLMr0RqrB$cExa=Ot#h5tF@F6G6)rbpSEbvM%", + "dsrs&c2Z1k33hegGQE*urZ4r-=@AjbiLd@BSTCN(WALro(8M7&i3IR5d7nY52!U", + "-49W!srvC%0TEIgqF=ptin@8sMN4i6(wPgmmNoZSnfe7^RFH2cd8iP6dlkDoj1x7IgYSqZxcIdz67V9z(FuxqCV", + "JQevFzZn=F#44=(Fk-OcJcQpV1qmvii2MscL!52*-Z@41Au*@sS=@(cTs^5a0gErvoDK@n%L=&Hw-Iv2OhQc1%&=", + "FstkA9g!2=Gf!-&l$2zO62(15zjKe1G@HdHggX%L7kPRn5BIO@D(gi4I#UZX0M$zGl^H4FVkXT%EvWb52NaZBy", + "&K^%r6f$X1oFOQ%hApalm3wNUG8&iqBQLpCpr8o8rkJHCDN2SUH8F=8iC%1PSxoR4d8^AWn@", + "B8h(GxBl#Bir@CX0#d-6Nd*)qdOFW*tM4CoLznvnnx(p@bZXCvi9Bc", + "N#INufmlJVNDuwV#zA0(^t*dczSLV=(#2uBu$9S@8c9evxYV3Y=@m(%H40-SJqC^", + "7FT$szQy$dyaE*gF0m8Mxc5!K-9mbb!T^8q(WBKDHB77#jKcG@&QvYu-=#Cu", + "3!Q&1n746miv7PwU=%tEM(R9fWttMxOa*A%YyGaLl5J@GK$r-$exFtXLPMouyQ2D1y*CtB$d", + "&zr0H^DLIEMe#aIJ1=PhcMYSOEIC8*yfj(yXk2YlKLRaoST75tzo!AG!0&3C-=N", + "BWKl2HlKTZ=9EB7@KHA5p%K*dslmnWMI$t@S*BGv5^M3w7pg$nhF9IZksJUTiw!Q", + "(pxp48sflI)bri0v=L9zO$zAHXmvr$jdcfIh%R9xG8zhOXWlkehn7xjZ", + "G6AzHeI9jq%b5e-w0X91zbxIy1I8Idm=Ewz4C*uE3RYxT6JzBMHp41gGvnKF=$b1BJ=RYU1zTqr06aI)k&uUxI5ffbZT", + "T8vvkDK*zOD7H*@bkO=eZHqApL1oANzzPsR3haKu9WoZq1Z!LiEz@zBUvoaTONp#IryriijSSf!Wj)U%(vxbwibMVJC8E", + "rIB-wg!qJe2T-%Q8-!%7pUlW&dvt*dG4^grXaTy&o4p5gUD3Sr%ua2r#$pM(BGP-1b23AZ!P=ALht=Qud4rKUazA", + "MTkcMUsSdbFbH(!Lh2Nrv)pLHNK#$OG^tYRo2mxcOLS)0^)t3yU*E&51j", + "3U&m=#L4xXxbfy*IQe!JPi2tQ6h7cifRW%lfO6xoDD9=6AtKn&", + "lr8@pDej*LJ57)BmtYTh%TS59Qu5fGhM$NYpKMlH$drtTB7hqgJI6G0PGAW#9eoufcXNxv47rU=uNd", + "5%AU(S=oy3v%YSmZYYryv2Fm$0zJGl3eWALJZLp&2i6Gst0!&2LWuL!0tf$gpzK##xFL!gJ6W^HL3huVXl)R", + "uU)ccE)J-7#c3UGIXPIMcYpSvPJ-#h(NQxjv$lZCQo3zC#EE*Jf5XwS=iz3w(Ldsk4MZ#vz!lZAtz&5zv0Xs!f0sx3CxYyTC", + "BIV3qFsg-ssc^f=q#EfMAvaP54THm79rOwrnXfU^)JpCMyoKKiWIKgbf^yu^", + "SkdQ!v&sE@H9Myehx2d=DfJdF46A&SivRERTaX6^-*B37%5b!ci!ldm^3zFRK@VRu8PiNhAUtYUFIG6Tcw$", + "AMtbYas3L&g4yF)OjeWpMQLNfx%ml8V8mg^uiVg50EkD&lom(tjP", + "1dZTzdYFmu8C9e7XIMIiPks$5%wsNh3uIpB^TTWOjnVZNMP&AwJjI4l5U", + "e%*8gy$xSK3W--qBtPoT0w3!wl)ffsTn)eYBqt5!fONYp9!ejW96D6UMQF6FPAiN-ZDcvBwlUyIbHfLkaTwy8&l3N", + "jE3)yYefF=h3-NDPy(1*I!aC1*@TV5SU(Q68lGqXXO-ywQTY*Hu1m((Zm9vcMK7D55s^keHTTfN2a)V&Fzc%(wLT1qSrvx", + "*N)v2lLNvMmIL@x7vNaMu^LsWF%nJ3G-#FyI2l5ihFu4r@e!(U9n", + "8mzvLdEN7oB^F5Qew8wyKmQbIiOT$NKcr3SvSeFA5^cdJkfXf#O1mG%AwC#X44^g$Bh2*H(gX4ZZR0)8*bJqFE%X6", + "bbd4bO=gky6rGrDJmu7-xPkQlMy#NNyg%H)SF-g9Xikbci=xuAJVwRxqLqU7jSHM", + "NclTs2^Gtmh1zc^sXA)F1@BAqSld-be-am2zg$820)3G@dqj*&AlCoUS-6M93)deb3H6LH", + "Lf5F0#$pvP$lUC8jNm$IcBXtEiG1OIk-XD02x@v3nwnaN7!iD9fBbCj2njH68K(EZ0LZfu*rErIm**PktPVWl123kX", + "@Dbo^jv1K07FW@sd8KnUkOtdodV6inMRPxG@3jXsX!hqx=uv@F3^*j3Z0VyJekJCb)JU*p", + "^XSZR#6KklUQ$W5Q!Oj@M-KImY8(msxSMEx!DZKI4XlgaEE#CD%p%Be", + "wZNPg@-0VjlV(fh1J$J^NEZm&9xA-RjSop5h5TYc9fxhq$0KW6ZAn(rK*k-&I42%b)", + "xCFH2nrG1SD8TAvvn3-LW@U9M6RF6(bZ!*quUb$$53Pn8scEh6iOe0puuGq3EZWboXOf8Meu0gU8J@g0hd-#Qd4)1PAp", + "NSFzkT7uJl-0kEI7G(^X=q6hV^*Pvm0ji3yT39Kj9*^-=LA@Kj4gX*d55pikZq-)50LmJ!OzChtY1gUe4$u5F#2wW#%j4vK", + "B9Nq8W-QSRXbAQPJFKFv*SKf4%)vZa4I7@A0HFF&THWoQ)3Zs(A#3gV-N%ij!w%pP^N!m2(g", + "LRrtEQ1&i)6o7lfEQGeB4MzY^QF$58PH0%HvfaBt8nROlHEGf2)lSGF4KJxsOC2662VeEVrhrx)A", + "%4wX@5L3#nH-BB1c^QkKEkwI^m&ykCx$K&IiI1q9oAqYR^L^peoaCbC-WnMurK35fG9CFNQa6Hxke*4^fVg&#z36", + "ymf4M4W1V9LG=pzyyGZt&jLnLJg7hxBE&3KSWS9mAt##*Ie-17lEl^p0I2*1sTt0)rMPvmhsNE#8GF$nyc@%411vB", + ")ne!Fse(2Q*x6cP4U0M^EOq&vAvFrM%^OD7AuJbrsdglqQH*Xfiq$q1)", + "u9wKSFroJkMkScZIj3x8RO%ahB1lBk4W*WUxpKwB(rCcW2^e06d#35(NHB$IOquta2$xX0tFQcLagR=O", + "78fTuViAmTri%f($)%0%jB!TOS1lxm80ThstlwEcLJGvGaNZ79dE=ljE2@S4Fcw8HZU%W!JD3r&hCb%In65qkdNKgPmmh6zx", + "@lpSDGBG)qy-hj3*)6&U=o4m*T$aWmWWC3ETf59yk2Q&^gDQ-OQ5rZKh^7$2b$^u(UGEyUnrqn", + "UvRxdi8Ii1y@o!ns@QzlvnvBnsHtS8%P1%aQY-3WoQA^BWjh#C%px29qxVo^xO*efQ=EiB3jzWz$6d", + "(vlgYQLK1WY!q&IM^EDF^z-AuOfDN%Rpri=7CUM4vU&=7J#Xl7$#5GE=IuKaEx781qs#asA43#Z9YKO)Andqi@(VhtT^6", + "J)HYb25Ka#PHwVgJUp@N29s1y7cK!H)tdXKB$XMLYKNE9xir%$cm$pS70W9m8rp*Up(720Lt@oEA4%yC^QdFfiW7dCBMbSZ", + "42oM@CuaF$*kZ!Bb!MIGU6(NHQOeG8uEr(Rq^fH!jfHWouEi)!ArJXd#*pVePhp2T^Kfe0tNvceR#lzNyeqMW!m", + "aX^fq=FOF0l^sJn2zyW6!4gS6&LgHJiJS8AKa%lpV%rnbcv)a0I=L1i*9ouhs#99SwzGlbm#bdnvLvCpHw#N9s", + "Nv7Rfc&I&DEkfr3qgqIdra!pXEk7aJ$bJPnq9)u0G2DRK6TEYzj7dW&Kj=WQX!kwIF6Dt$Lun5oRrYNCO7dwJYA72wTlb5k", + "&GYp73H0rz^6*qjut-K3q37=4taU68ivk(koQ3^(7-B2Gx@IHuCmE^Hyz06bGxVE$9TZP5c!IKerqIQ!9q", + "Dsnv@CTytrVJLIeuZ(WN=tJ&fyALc!B49PR#7zsD^f1JAYkTd3Cz&QE*1l1)l)4t)", + "w7HS1XlL%R0mLTT=xy18!$j4!Wwa#MIL)vfJWRdW%-yV@b1(Q-q)b!kK$-BOEi4WbLoknfuGPs85mnvRc3K7G!", + "blBtJ^dcgtn6#VeA%XsU1dxoDBloS0C!zV32ENtpboG7&0ooqgr$", + "S1@1xx4^2E(fkclLs0w=OL5D)kYE2K%na-Kbz*dd7J67sR*^2sZ4ok3YT&sVmeQa6cH-r)&xM", + "mF8iaue)AkWUkqovTmrvq)!kHOC$DGtbDX9!&R@tuO#a#d1PP%B=#K-n^=PIIqtvOKa^BPQ)sn&jd", + "H##AIs!qag*%YMBXb1JR)8wocoCMOre5Ov8vP11!e!-qRj=%479KXoobb2*p(J3Obvo&7%u29-Q", + "xp3HWe7p7d!oD1ll=Z1C&v9BO75-GNhAP-I8sS2E&MGzep#p!o3yOccqVYYj6l6E%ISlF", + "lSUM@=^aW#zkxL@W#^C4Wkrems6nHCC2V&Sb*!8^imXk7T@ndS9sM7-)*1L%eLAqLmGq7)J@%ZOfvvGyJe=4c*d8VS)OhCKHBqzQ", + "%f%a=%IszpIyBFo980kUCEP75oSy$URr$hv16xHxgtKFKGe$-5x#02OKU1rp$M(06wbV8UnYOs(A36er9*xQuYp$awv", + "F%31YKVL^(a0Mb^z)$-9!SWxc60SC-u=cGjZipP$cgLDvpy^fVnx-Zq)GlUWaEkrLJZ=sh=NReepftMB)=V-7BokEFz#39VQcr", + "%Yq59nyioD5SZ!9Y4jDK@G31LmAhEYPwh53LKw5SRfrdutjEvwnqBoVy^DFzi4mw^vsgJ91vGDhxPCr1RHQO410l!@ukj", + "9%DR%aLLm%yzqlg1fT!*v=nK3(0BvLOjDAJPfkfFxiUFlh!j73xJ2DbovXO7QE@VI^p(r", + "HdIlYX%tDDSGIOyTBRE0LJf94=HrcSHx8w^Xb57lcoTM0=W0E1#E98i6))fx*&6Xnv#auuH-u%Qd*z^KM)", + "Z@v4JVA#i%IhLvg%h5L28Rw#TuY*=so2F*CIqI(MHuDB%ogrnwztAUyO", + "H)Y&NrzA3-DeRX2%uTYUXEfBC94yBLmh2%wInK7aVlV)$^pxH2Za$ZfjlO^J", + "lU*MjFOyi9fvImYFp(S9eS8qmO5wr4A6)%ci*DA5=WFoM#M4o0#!gEmZBT*dYZYtN5yjbVxNL0Mb#w", + "I0ZH37XAH0sJxTG4r9$Kk@YH%QT*h1wc!csbtod9PC=MbDu8s)", + "1e8rEnQSU^a=no5Sm9zTiR*pG7In@(K@f=OR7E*Wo9@gKp6U7%*c39%s#k", + "^hOXu6mjm6KqJPqloFSn-3LDLcPZMhBLT4Z&Q)HaoOapk05*B#tiIy7$NzseBwB6Chkqse@(2QLHu", + "8AOkf4xaO-T^=0EMsCf(8HYSKQn@D29fC5PkbPw3q1HIP(zDl!sGha9R%MY1zoxxAUByTXP5MBO*XvF", + "1oPUObS=pCvgFj1kG4pcbOHv%9IiXG(3YC=-&q#ffjLqXfI9)AAI8#BBqP3)G$2T^u9#MkjZ@", + "ciGSGlI-^Hn#lmG)uit)P*0OA8m!%Q-uazh)gVaF@Q)MQiid0qpGr4uRVDu1-3S8WRH1C$F", + "5lRS9bG6%lS#@sIsAx5EdeMPVK=JwP!8WVEJLzN-ZYu6aTPfT@LnfTP8", + "9&xymz9I48C7eslRz*G%f)T%I&!RGrybiIbctYwCC7=lgda*c8NR!($T&0o0p)J)ZPRugmZuJ-)", + "Zz7t%2)&C%N$q7MJh7ut*WNSk#d8l)85$9y&k6TXH(skB5%b^@6iF^U=nV2#lJ@SMI(GzCTZ#XasNjEMCfZo", + "GfPuBSVglbDD#8t1iQ1OK33k2MJODLw-1J5u69nhKdQzsAAk@Q", + "YU50zg%f1&D1fDUq&YHstSNbGGvyQeb1Qan-dCXU0Q0rt*!OzX-JZ&-Ih&YhWU0HBPR)qd4NbImqN0(!PfsMrpaYWj", + "GNU&GVmGbDsaE#=$FrP%ENd(-YyLi2@UdMt(GuYFIFq)&T6yvh!)rhe(oN9g=HursNWK)-Hd%Uiw^%iTqi", + "IVv^vfb81P%H9VM!joXjnt-%TDhQ1gb&$iL@Vrl5dNYahpUiaiiO@qsfIX3LT1@yl", + "rAFi5IMBhv8LLf)=%wW60^Q0@OsEMdWXmORHN7r(7LWP7VPW8qjlsdzqvaRx*G1QGRlpgy5Xt", + "RooE5oKnj1X*O-2ZF3wPAxddFAGc7otB&(3rj@zENX)F#7Cy%-NpKAgpA", + "rJnDrfel%#)8l)MwAwkX)keWP&2ym#nxnn58Jq)9HY26dKOAIhzQk@t4IIR", + "8p4fz8$Oj=DV3inmEw29^G4yMPbim@*%QaXAYDVjqJ=xiyAnDyaPPyu#Cy#W7LI!HArl6(u5DEO#=J0U#E)@aDZxh(G", + "jWsCUsyRTO8vxWHh13iyDRSlfq*N2T&0Bhq&u9wjFfNRXKRkNCJwXvoUf(2hdZ5Ewk$@UO8CEZT*", + "AQo1GsAChbl4$J6@-dj69JTgkrlD6qkzb%jZz6)CDZVbO(edexaK$DH86rvct3RWdAkqKNb(h!MJat65GS@K2bEjsj$$cNu9#a", + "h66OyOScC42xGrledKMjOCFqnGrHtVnKWfLZxRbMB#$gOsKQd95q7^t!ky&$^*I7-N$H64CA#rG", + "FYVnn1tV#)duC4OIeh^Dzr3g%5!5jPssC#ZuI$)!AGEZHQ3sV*33g%Fj!YmU!", + "02ldOBp^v(8eTK-Ep@6F6qTBg%9tY4AL#rS1%vPUDXF-H2PyrfG!DvDaD0QZ^mWH70HTnfL&#Ty0PSw", + "usv6#qM1o*80H$8xGu=hrm-s%aVvnNS0Rv0iwb9gj-)OmuSRr**X#Kg=lcIu^1Dkjegk$6qht^SapcY", + "Vi==f=Qe>kh*beGB8M6&Yy$jNor(B*M3FoIG^t7jAta*w=fAXedeL*Ix9xHH-r", + "QLtlQbZFdVofv&FiHXtIX6p6&Z!CpYEXL%0GM^sHdC6btOnKUG$JFyeKxd66", + "oKwV#0(Zw0jT2)01iMLiJ=aeUN^l!Ta1@6(MOdR&-mL*)!SXDDp$ro#(0hiij=R-EkLGhFzgOy&hfkl53^O#8%LfzCmf1", + "%x8gp0TOyboox!Fa-9Z%=!orTg!@CbrCZAfN#z14ibrF36E0O@f)eu%u!3FuGNI", + "$g#R6nmhUPrG8=lS9QD!q0384ZlKxm$==QPhEoruha*Y5k-55^Fyi0F@&&S4CMxV=%4=dx(9pg^O!wOX2M8bj9", + "1I&!5=8Sns)v(KMLF!E9*=GbXKIGpPD8mdFBFJMYAeN*5m=*tK#i5RfY81=fTgC(HGq&!(qjlGoAzO!v@^U3oEV!zltj$-", + "8LK*8b(HVC@F9RV)3kG3HQks*lIMqiYIaK6gVzHLz%m3ahc*peP", + "O^BOAZegusYK2O$W-V=)wo@fkl$U4eg2jdQnD-Z51CiNj36-ByIzzo33Xvyv8vJeXMA", + "Yo9-HGVR8a3NTn2s&9GgL=O-0b$EO&eJTvG(3gAp7BYT%WJtRfc4&X(NX5-o!iXOyG3HyE6eq(KaxkiR-&(COa@pi3ZWDg&Fy", + "lWHQ(Rf4D@9Pq5)eqi(Ym(JOj*Tv%DhS^XuVft5ZraRwvM98qOnI0!90MS9J*UnQXygMfGKOrA34*@DSd", + "6Kqtc=lMvBqe&MKg04d@!=3wJaiS!LNzAQ)aWOu-i3-a=WPWtvq$f!BTh@gRJWOm", + "ntudhljZh2koSJX4(E$8HBGtEa&SH#vMfN$(LYK6rsBc0y)S*BR!&CNu^$MAY*mQK*^Ajfsfo1DSP7Z", + "7jDU5&RhTx^&6zmAykdk=E5JpQLo(Us)7(Pu@@&*3=rq0LB8OgkmJDU5-0Xr=", + "b4C!!@dFVQ8Yc*Sa^UFxSU)we$OtCgIZ^p)aTabfVkpSJ(IkxsLwAtr-7u8m^p4%lFkxQ", + "B=9dPd)MAduJb*Da5^1vr@@cE1uliVxS&BS%UKQ0Q@HLC%ONN#G4(MTEbtx@N0FBJg(kcw4H7TSkQ)X$3", + "7pRzFVy-&Bho#djgdDjuOoUG-t@788SDY5!f8cUvHeG^4=*Se*Ya(Lyprz6$J&GjLR07k4tgYd2ioR2lF", + "y2S*bZ^EgrRwA5K-EIAsxcD^HNZua3@zJ5SRPeWq9iB=YKm!ll@6PM5L-huR5&G2qJqyx-PoelYypenMM(I9G0IB=V@2vTKV", + "MStOheLDzQ9-)*wwJj^5&F1zNk14&^q%f&Iif5*npYAJr4&*Ks1aWs06E*FV=glIOrA0%jRDc1MW$@5u*", + ")cJKk76FrhWFAdmW9X&3brE3XbJ=dqk@2r2Ske$!9yc!jw#gz#rg(0in)HLz5aH$bwJjqYm@", + "GqYEREjQ2(87ufjYc#i#W^pj#kjvsOs(z=Oximqz(yaJn@wKRy(dQrd893HSvT3TMe(N", + "89t^qxA3F=Zxcr$-q9#C2=g7sjsLX(*6uE!Ih4U#kOY43F1dvC5bCZd3w919P!W2tK&rd7f%d)U!EXGg7*6T4EGE-EIQs", + "!YNOLnBma(L1)0xTwud*FhPm2sX#Tv7pW2r&i=T18xmEN5Id7dXR", + ")z%0!O%sdj*y5=6LUxg(nkyvVI8ECpTzB4V)6SKt&5=-Znu*IU(buUyMQN(ZmBCq7ZFRL95ST@(*EuQnKcdoX#", + "eXJLcq6SeJpch$-ouvo98#Wm1*TIE86&A2ddzitLgtmbuT2jDPApPde^U=BFS0cpqK=RAO(6E1j%%bT", + "X(idiUPVJEnt#U9DgvbncU)QcpOxEKb^eWp*hYT1M7NATKiNEidn^mnB1I%qY1Px8x)J27auqXAL3y", + "LO1!Kyw^ESfiB#l5$5JbM%P$!SyhDK=88xX@3PjZX7wH1Ieyqu=FFHcsDZmC&uWN9lrbfrsklcr4VJS#b(MHGhYy2fa*B", + "SEfnGmAHe2CFUWIpQZ6f4aDRL8ft5XcDUjn=i9(RTYwmtZ*ox-cTGZwB48A(DXMe1lIHGNj@m3K9@", + "ugIIhJmKGuj0S(-7I!)8uJTlmA1W^m(O9DJVd326lv^FY#)q@k7p=qd8qnAYfDgr)YJkVUuyzQ-z$Pmb$QpmqQwC9A9Y#1x", + "KM(xiTf=scf3xP@mLmk#c^wH))s!SO=LdL=-t7@9n#QJAM9gpX-DcGDNkpwli$eMKRg15x0=C5^#a37B", + "g!ZoXS3!YXoC&lW^kJxOPC#GkI2(b4VNM%aSbNRJNOukgK8rNl", + "&^XOOcHg5-l6@T@k%p1MJv*sFebSMpJ1it8wc1fW1n8BpB2u9W6=AZKitpU4H@APV3gZTsle897Gnz*hn==y!&r", + "hh*GN(@wrBMSQWzN%EKRqBEw5AOYh4O4mk5=iWb!7yq%O0Gh*Qd^ANF*5tr72x7u2^v@1gh(THbX4m5icQsC", + "U4#ao=C5@SSryBt&Uf^vgNGTdp=2KwO$JldhEMM$IBBF1e1LS^lj!", + "3-4LRDnrYp2GYUFhop^wAN8SLJvw%pMQcIitzhq6kV1od3YofMa2gya494&rrlPo(kErLNAc(^dCqqjntWe", + "5kM@Pm^Qxy7x&QysJR3aJXgnj6s#4qP-iHT8N2&ySS2I$5r0r!iL(#)%n3$SEKf9ao@nfBPxxwaF", + "yGK7D4YiKJ4PqR3^cTA=aCu(S9Oh#%q3Ys8pXjL7MJKc#k0sAUVy^WmG@7VaKMAWOMc$AXAv$YVm0!eUAKvg", + "#yu4gjHue@Sw#Xk!te)O)VpHGeRFrBXXA6*KK$evhEs-CUmAsKp!gGavnCxXA!LQAeHsM*E2RR8@gGZnWkSDY!BYIy", + "9rN%H1(p-4uhUlzKjT&*wX^78sbRohBlaC=8l%30s6GpzwXdV$jUWLCg5#ZK8WS8WhP1FSge3YXnX-", + "&oILjZ^hgZ)ABcO1L3P8IY!H!vVd@XJiew@YmxY(4z!zMBR&q7", + "tHjs^Y0unnmERN1cCPrw5d(JVCdIr0@M2P))XnjuvvbXHhrokb)QPDGoLW", + "h^CLUcY9N$sY&%R(H#G46!HSXx8CAXSaU3R9W2ERymauZnczRK(j$3!emPoXUGmxXg%aF*^zEevPQFx4#dG*i7slxhn", + "aGY@XPy3f84iH!*%WJS55cuVQgEZokLyT)w&Rm0nwboHgj$e4iX9@kO0Om@I5jx9nDkSQluLX2vH*nUfasSvWWbc", + "&U53WLWpnqRZJ*zJnyBXfto95I1HpdEl$WHK=$l#Mm37NPHIqnE5LgEAku380af6FtDdJ6e-8gWzAzJ(g#6%&^^tK%ZtzSXXXNj", + "DoIdbDQV2P6&j9-n$KlrUlbWtJ#wcW*tcFFp)F(GW8A1K-!Am%Cz%", + "BF@8tbDkWLOJ1UjpWq)Zmlr!n2l@4q%WZYFK*GIrjg&Nu5r%-&UB", + "C1HRhZx#&F!er@Jw!pYo4fr0RjYgd#0l@^6r7-&0G*uN&RBZJb2NF6d5ld4^IqbBxFUXtgAO^HS2)poR#vt", + "h)$oxDr40y#HF4IYb^Fb@j!HRiopx3*Q0Kxbq6M^KZzFfgZOX9o1z-kl&rQt8jD5d^ek)EnXpaH", + "AJ1N@D2Q&lE8V=XY2d$yj)^49(2AuB4CBkxR3rJV9$Qn-o$*-OFJoVJeCZ)8s(*QePGfuMx", + "HmTDTD9yqwECj!hD$KsS@toCd^FpSEgGZ8ELTqBR!#jVEC3xx@i*%H*!tfDjZ12&yg6", + "*RhkrfH(Z^U%WHA1GvGaQc$k!&G@51D-Ua0Mg5bm1e)TZ)nEWj0ppgOu", + "mM8txOPxz(dlR4&AHZSCwkewCP#MP2#ij*svmZ4!SL)%eJrr^@fdvKOhz%9-#8etH9sgS6-fc!rgy1P9xiIAG", + "WAZ-WE(l4R*=Kf&&5$3tN0aH9kxvSS2khEV71pK-HuUEd5=02hPgGiY!dITc$", + "tQufMeI67i9LN5tRpSxInUwuffK90*!qyfRUx8W$8@=$gOOzbMs&8xo1Z&i@Lw-jL3AxzH&FXUzfzJP$", + "St&G2kBK#lf$VB5T&kjmYDnJZRcIbqLDFOcnobre#ejs8RLBF%OJM(2neH^!3ALHdVLxh5)suj3Tguc", + "zstau@cvY5k)kQas^7eiYMxcgsaUH^Sn53L*O5*eIMCTlSIqgdoA$2i-DQ(h@S40kXALe3LlRhFH1DUPfizs", + "QORG*QdGjO(nP#A@0AfXhppdbkKrzwF2*X9%D&5kBSM^)Mw^M^#vo6DLJ)v6zkH&uSoUa3pjijr5aaCmm5LCBENC9GzmX4e", + "yGU8)1tIdmlASYjk$W0ak%gf*Qt3(kBhU0u=G70qAM&GoCKhTG4", + "jwl*xE7mF%c0g#=Iqd8Mg((jjYvt#x!ImhxBc=oZvYH(vN*XM(txX@bW", + "BHMilg2$AYeAbo-Hp=F*fC!^!-Ul-dD(1uD8Sq(4Ta$g=!aVvfwlKK5FB$eau3ZPM6c9a)", + "#0UGnz(qb^R0=-TdY!@fvL4nbw7lu@#M2DxeQWiv$DQGq&Q#sRX#VpGuT2jzdU$lTQJbZbU&jh=U", + "BexbeKpCc$-3BlHb6TgrkROl%3-IbF^jeA7%*UBhzMFeSqP3618MWA!yBIqNRrD-(Rw1TKg64UTeVc", + "5I7ocg0tyvF8!3IV@K%@3E8WYWzKZbG8))6!YhDr&hVlMdWimIPvL2!(n&*HwCOVB3&mM-TwrR04h7Fm", + "arR-@F2ug%E=-%mbhQyQ16T90mOFjTpBOdGO6%wDKrHN^gOVGXeagc!JoVW", + "9Nk-#xbcGIO&bkl(m-BUL&&PneR4oKooWH$)t@CTXPcNIsz(dVO0(XZoWg@sCA^qcHplRD=rBJ#JIco4WqWWj8m*F4$N", + "XUlv&uhyp0MZY5d6sok8hkBlQ%5!hNsuTk3xLY2cS!SetqOZ1aTqRjyge956cA(tc1R!%EuS4bymvSZDPqrOR8GnWX#E99@sF", + "XowjXC8frfKg4!ja!tUbHiG$J*w9=%=g8-pCR&dy*HtlK!Qc*-Lp2", + "kxzOt42OGTek@f2)lE=F@PygRLzA%l$r%yem5x#hZwAY2L(C8y=n)5#3xWi*W65&inukB6N$SRgo9ftIDvOx-tf#uc$LqmF78Ru=", + "6i3nSAfT^Z-OfM=Ah#uxboN%Qc)kwqB=$wyf2n#Hl%O65xF8&PazXTsuRbNeXY-1FKTHtl3H#It", + "*cgcEEX#Cma(Oj1KRZKW^!HQV72c-ot^P$xln$Qnp9mrSQ$r(@Tp^3aicL8pPNJv)849g2vsk2mO)P&E%596$G8$", + "PqGAowdHybXphPHg2jHj4E%bd)5aJyB*SJtpyXF7v^M5EqsbXT", + "-Ry)gbT)%iQ8=Ny#ymp$DVCeD(Zc5PLaeEsRjSStXDLwmFc%MbZCW)X9RRhwzkbY*5%C8YfcSCbD$*PQLUtj1u#6Iw9Xq", + "t5Ig4lqAopHNPZ7-k*SQTWYzaHMIWN*udY$hrk)BocLsp1LhpGu7^", + "XD1Tr$v0JxxcLLQu=ss$jFrHbuywh6L@EODNEdWMpyJZ6E$kayVy5^Z&$h8ikb(k^L8e", + "Lt30CaLiGDqSh-m8VKXAYjVDE!bIQ=wpQ3%P))o$cxUK52-l@druPBCC@GWqe))otPgVlR2d*T3(XR5(nWPlo", + "G*2T7#8aLvA(1^JV%G0#@-REuVJ13lMCq@FDe^1S*#kIpdtT)BhbrcUz04lnWvi-=ZgHGsTNXbFHuDZHM", + "JbRpQmIr*=9TpYglg-WLRS(-ud*MA=cKpTYdS2ESN)BG=1&Tom61Fdyk%#iUNRcUUfq!hmUy!Dn#UN8", + "9YZSj@nR@tDOOSK#bFHh&xHgver%6D@zJ4Kh7qITcXm(jeTUf3bnKoxAl0deZ4KwwiSyEF5j&4iKzDBUsdt!S)#tUkHQ6z(1H", + "3bm9IbhEgCYUIWe%c9mlxx!!vqyahr-3t!5Z@Xt4f5gdGVHdj&lOR&Vh^acJXB6pNodQNc3UC)e3#*N", + "EIQRhqpC=JIe=w4mThUUzWLMw&bFz=Er*ot%CFkHf@AJMkTXW=zDc09-45e9kMOYHWBJgvyvmPoa$jOX^hgf9&ZgT&l#g", + "6H=Zu5aCWkQ3Ovqvs9@yXx%N$gF%gC1fcU3)TbAgNIAKDlK%l-QqjuBXm44bda#)&xP8nAMWZsiNV(*wN(6CbnlKm", + "6xOE%HW@yOuIi8mX%35sU9kjnotZ!LAfqbbc3bCq-1GY1ijyCvhzKC@=Aq&0nvS=-7a%", + "wQbeBKvLR%s8zc#YDWCeSnj4ZhNFSofmOzFOXaiWqPXnexEKcGKVT8%&FxYn^nKQ=qgAlKBCpG&)", + "WHe!NapmqMyclHP@#zP0ia5O%b@9LLqEyc9RHo&HPsYt8iz4mY4r6zOn9QgyOYVN5)^wo4r7VJ7dp^O6(oxbYZk7mI", + "zAjb7KuV-^9!=0tlxF-$@av%=5pqBhuw)BM@Z0eT&%RXUdE*C!y*INK$!#ZyNA*V", + "L&=wtC5Dkr4d&aYB29zStcGOH8PNb%Uo$yyztIE-EH)^yPO9QnPG6y8uoqD6", + "V@PU-WfV=FkKjtimgCJYKT6XyUyZ3pmNWgM21i1&Dc0IC2X2q#ElHO7oaFVW((t", + "qJUoV3657YHd9c7OHLkyncb)Zk!ZHS7&Z76Q&SYFRQa1RQAijA22QfJsu)Y^$-%OCKdb(339UihFMcNyTty(VrjI", + "vZ3DIwCN0AWoXa)w51xDti-*f(om0M$u0T9j^DALWCg-oSmtr8a-@!Fmv5UbwfT0OG!7@@!)CaVriCDxhxu*jT@ROPETowEKIgQ5", + "Qz!VaKHGZJMLK3coLY4KpNdDV7^VoVFA(HCX4GU=5e2)-18cBk2wVFf9QVc%bhy", + "vo3pzu$9^UJ9V$B5xiHz2AG6!vimo)TDnRP-GBcd%cc$RsEF)j", + "h&FSi*QuD%ec)lqH(XsCXB#BSicICEMQTLTtEn(JlTaGc9liS5w6-sw()cvGGLTMA*biCzO7E#pOBCU", + "EQh$kdA0$N=rTDYrEVrmtRbZUg!yiGYTAmro3Y=qEqvcIvaaadqxXj8OKAmU9a@luXSlX0F#dKxQO=wHY", + "hpHuRhroee2=j10Ogn3mb)HljyV@f)iYIjhS!Fpl*sqXg@4KBl9uI1^!0pq@iz5U7N42)Ir1pJd@", + "TICoSYi=EKwDSgJGRnoIn6rm2eoT*HzQwz&yYyaa6N9nb$)#cgeT5UJ*Ju^ZYMS%2N0h", + "Cr@LgCX$jk%FXxm%*xftPWZAt%FA4Nv(&IQmUhXcQ#1ry)tkN*VNi7@l0K#UKz", + "^82Ik%!6(36SbZ)XXjtx4$YHGXdlTC7vQmc=*z9gUvSF&TVzjJQBI(F1KicmR7Ciq8^CzoEt)Yv8RHFXon)L&2HfKjCnD#eB8&z", + "0-i2Sa#WN1H%9eG2NCrPgP0!ZnF#Vz5Y#&^8ee9XIs43ULuySZNtwA3LT$Fwr", + "C#OUU*D%7$orUENhb9y*jC6^7w^3Lw(1XyIZUk8lT-^AHyNeNB-", + "jBDMha1f-4Wb!c8FTqxDSeRw5Rat%d9oqKh&J-Abs6dnIzpJs7p4(TVAd", + ")TN&5YUv1&eLshD(f@m@8qzTwyKQ*hDEDSpqtX2QRltffhgp@y)JkxZ38Xy", + "UO$w8)rq3*5T=C#lH0)@Au!lv11VzZrm%ua1xyM#zs1^%a1EKaTz=GN8jED8Xk8*o%2uJ#n4Sv$wUf(3e(ENs6UvLQaJsH", + "H3ZhB%@K4*(4KBwL!6#MxrLLuKRici6ABA@@@JGC74oKga-MmLz(yow", + ")9ZSjtR33(2h!cx4W6B&2R6D=%!^6aeWORVqEE7bb%v)DDoB@7INjXsy4agXp", + "bU@ptHIFfXQ)6oM3T#%b^5ZvQwJrLNf5YeG)4r1wzxm=rKuBGNm*tnR00aQvgvOI&G!Ln", + "*wA%Z&)4vxY6uICSHH@aW6C&KocF5ZCsO!K9*Plqn2pR5bUIC%#m!A=ET5D7BYF*0^4cw9VcvNeMxYse", + "eY7-6QWg&-zVNlIb#74RZcs@bXGB!J%cJk-03$a*smMt)s&DjluBuCS(m0!yT@V", + "uQvW!kMk!7QTY!8bs^d!9G)oRf0Inac$RXWR2eCs4Y77mN$GsQC*Zo%w2^0hp9g69i!SvEoWM7iMB)Tc", + "@5(HTHNV)HVten^Tjr3F&Q3hjvtLB9NzoU7V--2fXxK#YT3kqNxYB5AN)xb-LSaBNR", + ")X8e(KwtJ6yA@tr4(a@rT66on6)69Eh1yHpz9xSV!GLRyDb5YvewqDUat3#0jQK9cbCf5KjYIQkmqv!ojLlLRFP50x#xtJat^F", + "nMhdAGFl93DxWg2d@*&0SGr0#!QNN8AB!Ir8)1kmNK9bfm^Y=9c(L*h!oc^-cjjS@T3xT-D", + "%BR&Wtac@$2%HPYU5D9zmo8Ke9A3hq#lubQWkNljf4)4yvqNp*5@qg0t%lr9GCwNTRck", + "cvk#eJ@!kbVbA(EF7%sCPUeRy*#fyiAY=iFG%b0(Yrydaa-=$Y8JjEE&ji(5@weDhxqgIFd^", + "Lu(ewL%0#RunWk&23%4n*RZ^B7b1#pD!1%FqKTqaCKC%1TaQxD5gFem", + "8Bk4@TvQypYjCfA2ThzZq!6@U#kv-P!8PJ01UWUgRvf(yicST)TKvuyIaQTZ(wi*!Mw&4A@ftf&Zdo^yK", + "1jc#C-BGZWC-QeKk$P#VP=k%bdPzauxs3UAHP3oO=tv8*fvt$bQ$pUPOQo$Pd21(Y$gCnprUGjehCszZLsxrz3&H", + "84I!mJ1-H0AKt^^V!mmFSm2x1bm*wekup8hDDx3Ukk(XxbQrhTZv28#(EP7jnnBZ9@W$x1k2e@z3^WR6DWPC", + "YdkPEKJfNC&8nUxuT$MILbi)Zjl=*n2dCyTkw^M2xtI*iDUI7Wiha!7-0q82rVYmh=j!a3u)mAhbDS5yanvgnhOM3yeRVxlU", + "Qh9LQ*ZvUvs4$L@r1GmH#S5)#h^5ud(6uC5YA*l^IxAxP&QueJxnS)DhdEVMMeKp)m3WWR&s0aAF2qlWb9oH4Mr(W", + "Et2mPvdOUuUG@xEQarA1gnKD*G#phKjW0P^vRMJHWHuUgc)@kvC!SPEfyO(^S*4IcQsMRU0DEyJXSh!c2-@2#f2!mG", + "ymZp(T)$u!8ALT3nMVb4EidSawnxxrAnLmSEYF-iU2!nMsfjjWhfxjd9dha^JFPJj01i8N$*1(r&WmNXZ3#$psYEX1bR&8", + "nXdnw0YgO7EMW(ndbHaF0HxYqM#saV&J$W=mYOD5-z9^t8QRD)#lRj1)0cl$TjTg%x$3cI3Ow8NCe@d^RdXAir", + "N3Rlw$DK1)q7&eYD7TacVqdEw%7289dpQywHTzr4B=o21#g97OVep1$8NuETDpd!k0", + "iXt6=*@ob58v@wmHCsPbJW38-aaJB*WkxELG)&ulBYZo)9VweCTiQTo#SjT!ScKs3xYe4NK7kpo8RrqgoG8!3taSd", + "U7Gyqdw6cKtJtwnCkXKnb6S^r38!eZ&tbD)H9uRbp&j@O24x6C@xUbl2hhacJ^Rc!YfP8ngk#s*1rPgGB$$", + "KwfKxng=DpvioeWHaCkiLe7IG^vLWi5&Wa^3N!fpqGtWT#1P9*oBLTfl)4Ln6F%4tcZiiNZk(qj%5wPzOWFF*$9=1bC1jO@uYF^", + "9^Y96SFC1frR&rIr7qw3U97M3ZIP&v93XcVd8mZ)HRPx%JQrmO@WY3KVlIw=E5gIKExffj1vvZc", + "xE!6lN7Pv&Qs1PN^$L5PQOV1FWal-4$MItcpl4R9hFz!1f9YO!^fMI^yvCZm", + "XfVnXa@)Vw)#SlepNa1HK)DVKoV%$p$FgIoA@vyGHPF$Mgm=%tUyQ5", + "mANLcIkAW=#CIDI7#mJ0^=b219kX4e%!D^yRgE=3qjR@@1p8tgg2IYs^", + "^$c*p2(jL$oi@RX#j-UZnP1yaa$u&ruy#wxr1rx5&Ivuy&Whl$H8t9yVj$OB9PZEc)k8z^)3Ubl8)LEhf78Jj00Ew!=$G(bIAmzB", + "%Df1dn4BYd375U@OEx30R2fUn@F^hUtVYKx-hiV5cWCa9uSoA3@5sre5&v2JfvmEbzOkTPe=ztb(Dq6C6V^=g4yNYeb-p0sM&", + "l=#p%CZcW5da=cCX@I095(=thr975*XJh^Vx^kBcrnyVQVCiHOEy&jB5fb@z", + ")#BV2rTcZzq$70KwOgPncPkC=G#8M90O%$sKW5Py*D^z6XDI6(aELT^=U4t#bgW4M4ZWNJ!-x3DlsWusFsp", + "&Kk*ZZ@e%k9hmr#Y!-F#vO1EOQ0n6WX3q4gV=zy2sPz()fsVA6f&!vTK#$tr-AR$kDm&&$I", + "5z#&fuWHgWKXJqVpkWApRsP1w9M4Hm*W-8=#nq7X=n(%FeB^QSb%nO2=", + "f#w1mFQB%nfAhkq)Adz53S82zGQ-(6m!z1uu*Oovy1M)1mq3lMX)(%uI)&", + "wHHO#FqwCuTY!V1)J)fzpzyt7uWYPomFv*vLqz#v99!4%eU!236P3LBm^158d8", + "I&weKla)AquyJ-c98&IjLv6cl)Jx2n*e8RsYSamHvCC=ZCjSYu9qY", + "ITAD%w3CPwE-S6@JOB51l)RRajUluA(#0#GhnPt8OQ=!7b4Di$", + "5BrB^yB%*@3$5jAPF!XbbFF%jCv5vOnq@qI9kBFILHv8rZ=B9N0P4ExC!SsT#g", + "2=XU@tsU=cTPLt&Y@YJ2Wr&x6eQ#MSUiiJ(n-9s$uz5)LU5hgtf#)OYrv8%J-GP*5o7(bujw", + "ycr&rKOFrcT#qbATUU5WWKPXW3D^d26U^VfmWYOaNlHTMPViPP2bmwtm@a", + "p#2#5-fzyVAF*BkqVn4CLa(97Ka=Z=zLo)VZXTZ7ulKB@^@gnQTsew4V%1I$BUcaqeTQ8Dpbk@r", + "^3M)#Z5OVF%kflOCY0Rul)eWVE0RVVjw3*XGlUAp$=%7&MsFurnl805pn$&PTwQkmzqJwyEEbPd355goGTcS", + "usZBDyu7TTTbG4)&T)nK2n7YGNCe39&1hZfBO5S*YzQsGmRBlu^q%BI2pP%vsfua%EW0%P#gTvY-TTma#h#WFk8=-RfM0j46", + "Zm9Tp%k78xuvVjbH2g-6YF%^20$Vv6@i$JyOwOp)s!L0H^pnFx1AfZIcB1D(!6MvwonIwX", + "ws&NtDN3lGeCzkLbRb5mNH(8%b9#qJvzEJr*sZUSZeleY%sp!SQ1BoNXJVrXJ59", + "ql6VW^XXE8)KlCQesqD*8i2nHdfQOMHlCcX3Bl4WuWOAWx&N-55ZqnZSfYZ", + "3LWRonLWW5&Voc4wTOeKD#kwFPv@@=BF%3pC&Gmr2%Oz6RXByvshEyG(EZSIOf0Zg57FtdJ", + "Z7nU@vvK#fIQyx&S^uWd)Qcy%fHxGP7BwsWT29uU^HuDKL7ASC2mzeEFL(g8&FfRNGF", + "6L5#*D)dpoN=nZQWy)QAI)P0faz%w2OHE*eLxZjkVPDfRLQdifYLiv26Y9", + "8VxfbQx9Ls4NkELt1rfHPxrNU38iwdhR5r$q2K!8uB085SxgKxM8XwaGRkYJ2yS12G%MB!cuQ(7V7KbSqdeQPbZecEZ((C", + "8ZM9!hlpe03QqboI(n^xjOyEHOH79GWQhHO9Evbt%GhNMH7J=dNMHIgY", + "Sosgx9I&Ml(YXyR6=pF=$TRodWSiK*^PNC#2Cv8vewJ7@-T4X^o%40-UtrR%G4AYIV4t4f", + "7--II$zyZF@4$adfP@EQN^9bC=UmxL0SEIL!gfU6sS$SOs1r369^CG6rwn95guKTPUo4CEI1IJ&i", + "Uh9z317E60KXvimnA((Ltbcl0lisiQP=30kn26fL6&8z55hSH9EogKwG6JTyXexOF-Aq()WYoBIxRB4fR5G$Sxnp9JYX", + "Q94&FkQiVi7TDNQKSPUxvXJu#kXr30RgquR2KL=-A@2h0*SJM9Xc=HUKD=0eJPx7CY$O*-eSbvunDWscKg", + "W*J=3XsyFHWzTPJ6V9B(5vG3!tm$q5nX#7WJfj1rES5y$w2(vJX^JI3tPL!TjqDZ1L&ztKTxkn6=p#0(ACOXkkkz", + "nwdsYj1Nn5N&qu491ba2kC588sRQQrRj0O(i$0IreZ2zStdOYHTs8C11h6OWfDU(", + "u2DBVkd9$Ac=i)7Pb&Eg^TINL%BycmX&EF13Zf@!DW*cl$Ji=@Y&zjd0U4xov$9Wd)xHA71F2zS=zzx", + "%lc$XhXXE*3fXU(jjX0G6z(rHy1xOoDbE&f^J8j!z#EK=JUnnQBzZDv", + "PQ)PSYIr&MoK$DG^&vWQH2nNC%1Z^5BFscPE(QwCHjKp3S##MynLl&o@^", + "MZ1glsamaXZVMol4YxU-u3m-WR@2zByje*b72Yr=gShc&rmbRvaFudi=xpaVyk7EPEkaUDaWoH6g", + "XoBYZ)fJa^tVTbg(6RI0JpB#HfSUS9T6u@PgqT1KfJbvog#gX3o0C=owOpYWG7", + "nr&rn1MSbjLvZlGV5x=SENHsox0uJtYiu=9HP=5VvcmGOyJy%wdvbuSE)X8rhMOX^@Wg", + "G3BCj2n)sP$zXs4prq6QTNbnGZt&ob7An(Aa*TR#yuEh*75DSS)*xO!$4OZ*2@dn@", + "picY#udtIF5Xr!hA#NSPT1@MMxC70F-e2g)0eU*sa&0$x5fvWEWIxldG0d7uOiq8B#j9A", + "@p12ubT%8@p!kr2CUwfwUSCOgt1OP^xgv!VFKqEjMrO1UbzTY(u(&E*&d-P56Xzfa0o2(5@AV8EUNqF05(oNJrlrBQtX$", + "u!J-AN&*Rmfu%h#^25cN(!2Hu%Q9ZZC&HW3ED7!4BywXc4bo2t1eP%#wl3Z9lGa0&xRsOnyvglA&*iV2Mv8&x0kV)jQG2G25)fW", + "H=7JY^4I$a9SU*G&uBEJp*4FQZGZ$apeFPvjDgK&EG-h%#E3$Ja(qIbgfpv9fo!vYC(8&EmKiBRS(3J", + "7sO4LE4$is%EE$nB6hoX*iJ1GFaHaJChMF6nAVy6LdJ38Y^=HwDT=%I&q*JCoZ", + "Y2c#q&DQEvx@j!hOQz8o0Xy=f2XBYs&(lrSxO^2I5U8y1B@AfCyX=f", + "(lb&N=c7kt=(F4hl)Bzi1Zx4GNBx**O8*#(Zq@MHrNx(O06pRonZ(npdXZS3A((sKDHLX", + "i7ShUM&$0g6I^e$eceV3=JyQQL2d*yp&o0#G-PObI5cF5)6Qb90irjUoC-i@Kr0M-tQx6k%1M!zC*Kp", + "ARqsF@8aSVQpU(ScbqkoiUOaj-4K3agXlXnJ6S^3#x1O8*@g%l1xh*v&m-I34tE4ZLRx9Fb#3DF=UgzJ6Ar6a", + "B8BJNo1yQ7Z^CAd7GqHAGv!G*SQjwL8VQ(IJTtz6qDAL%AZ4aRB^@prNHC(DHCHWbEF*DZqJWLP", + "BR%kHitt8jZ*DZPI19$Mz9XEP)HU4%pXyxS!A=l!Xul0&lF1QI1Amfkb(7L0vy76SsM0HL@n9zg@", + "(Wjf=uoM#gTtpgQEIWFS@PQ0djhk4FrD#@H1yiAq*#A$(1LpcjThY-i*C%7D=Spzw6r@O", + "%67Y)NM0FMnD%ToGE$JkZ5!Du28rpG$k8rlG*L^xg(hvh2CnDw", + "Dg9HU6CeA($&k5NPH^ZlDYZtGC@&PPVw$S4BKJWdqBm$B)3xTB*Q1G6^RlpEu", + "pBbF4U%q=!uD(ME0lwW1^9V=#0vHTIK*93$2UgN)Mlm@TRXSpW7", + "xlDDKM2LKIeFg*Ip#c#x5EQ4n3N$&7a0w#7II9Q0Ej#Q9g6Pb)(mLpb66pIx)eHRlLIp@rSj%G9", + "mhu!hgymRvqRQLo&Iu^!R$vBmdrTq&ji#ui&D1wkucfT9nJ@0S$$", + "dhiBETxk#^@XIj0i^GXHiIUAg-Z1Jrb3LEAX)e@byfH5-#BUvJ-qH79ZM1#%Vw)4ziYfa@WLg#owJqipojUKU", + "DM3YIhVoRr!Ifq!$WLMcWlh6Zec-GtBYIqbkcV5wITrB&p7LQ5C5#uLumUk@^XzscE4", + "4=GkwphR2yr1J1-)G)A&#q#RT&-3LSEd3MN3FydpH#R5@W(sFP-dOqVYW(2xdvB!zoe&bi)w-0eX=Nr(83n^9JEDJm4G", + "9bcnlB%Tp8CIL59Ax@T#SwEvZMUZC8&!K2XAcoZl^0S(0s^UdoqU*E)jWl6aT*Vfm(N6ii6wP", + "A3p#Hva4#!Q=9$Oxko6CyI#0zbdScBPF6KWNXI9%Hc8DJ)$*^eGlyBptkhGbgl27Go$5o", + "WSV5*HM*7CZbWiFFPM3dsOA#o=lGA&q^%I2eqiw0gqo&h6QAr!wCu^F=W#", + "zm9GiOppfT$*n7xXSuii#$V#e9(2oE44OWUT#Du(qlVs2!-welUW=lGosNE(x)Fw(pNIix^Gpd70-rL-", + "TgXG2pSOadi^B*B58IDD7ugSUof2MX0=g3b4Xf1NF54ys@kauU=tZM2FeY5)HNl2KmY3LOIzuNk*Mm&7!pA", + "&pDqv6N8%YlxwksiBmN)WPp6AFALl#39MB1A8IoF23*h8ANf4TdCDSSx#87(t%By=GI%KI)Q(g54bXjQ2", + "jwwQ%40j#iQ*w*cqy3MV72(i0L9P*3Iwoa!cP-3!&DCU*8S8R&*R*Xl!", + "p9RU8PmmMqiJ)J(jW-q%Tsym#BG0dxxgMReR)=vxWa0GRD3*9hC*4mhh7)#yCQD69S^CN$Snvw^U&Pv@eX&gUoF4dR1RM^f", + "t-Pm%X$4r%^8@!h=!Bf72!h6q)Mnhw$jCWp2FTlsYWxL8IiqVylxXq95YZJntjve9U5w2#x)2O2P", + ")DqoG6ZrkfduIFb9LEJ7qRBgd6z41w@ofYpYXvS&!0O(JDTkDXZY!Ari", + "f1LSzlW*NkGwzbdVaXIXeJvcx=AtO^xuq8D=ttG2#174DB-!#@K5%j=XCY3zQosl3flv53LpRavf0115f1aGy", + "O^FvqrIsUna#RdxKmRVjEl&5Y*41cVreGEk4A-7q$5bNMndi%#GD", + "vNi2(uigigbl^l1wwih2N%KQZL)3VoEiVC3^Zh7y8ubjG-NV(e%e=Thj1wsiz5=85sEQIXHk(6k16", + "=)*U^B4kKPPUzgD-8nUBkOR@()GcvCnILZ0SOEomHcu6qRs&NAX03X1LCnqq%G#RCzkCvm#T7nG9FzX3eB13p^*#^WOgrC3t", + "b^v1N7vEw@d0J=FcQWofPSQAD4AXAK=eJxXfIx3&KDOhY)sZXtxFwp7&x", + "A^G=@p!8!HMEPYXnxmROUw$d$iiByGT2oE0D-gRX^N&7*liv!%mU7DL48rXGB#65K", + "L%Vr^VcX-5Nx#bThvKT585r*oRMEd@7)NgX5o%k7loreQIgAyZTAr9-GK-9ZkzjF", + "zAtjj$DPcikPljA3@GbhiLkor4pRSlxhvG%hekrGH(FT2hMGb3ScnIvm(ULrc(4&ICYr6CYdT#L!G-gBel=27", + "(EG!36SrFmo24Qq^tgOoRwvRmWRn-tps%jv*oH!yaeranvXiOONvUPbxRda", + "nnjA7!1ENCdh2Qzr!m2o4O!qc=OhZwV4fJS5MH9^W9m$lyve3uJ3xt5#%5@^@OIe$0zxuei$kB2dQq@!QNdWa*20Nix#", + "x2(Ng7K71n8wqeTwkLeGDLAyXSUc1QyRT8&EKE&QJtj)*6*IWuKJGYhQB&", + "IU7znpDm#cwHx(g5(@jf43q$Z0-A41XL4Yy7MhH-g(aIssq2Z93!cToVGiD)AFMbG2VUSskf#@ZIRDczIM#2SMA(qBEtIh", + "fWut-Slys!x9&HFk-U%c9@K)Wv(Zo3EAJ0lgp6v1CM@(sDp686H", + "ay33Z#DHP2ZU4BDtYoaj-7Svh@RWlNlBZ^)xhpu&9AM=jM#adWE)KjK0zvW%5Ia#sdq&IlwCpcPtGT**xt2k#(=VtHWPo$b", + "U2hr&%Nxr-r9KzCIE2mDeN10EeTRSyomY$J#6bfLZapuwdoQ1d#6-QbqzqZy&qQf9-2YTxjfQ", + "(a4XZCy@=2O*^FM1(Y9feo7d8jhSJ-1DymyvT#ggLU!pd1LG#xjeUtL37fbd9epod^gZaEGT9xK", + "fR3n3sRHsr8Dvu=4h7)=(qsNkwJ&IbhIz76fEp71ULseOgV=OmE$HEMe7SsZD7W7(@^9jBqQ", + "=y7Ufs6oj708j%RGWdtoPS)SMvb5dH-nI$A=ewhA)kRXEwzhDPj4RDn2R0lN8jU7Mw-#IDDjVe5MbvicWH%RHN", + "dh!u$G#E$0lG(TMtskrX3NiMENF3wWVb9Ib2C1-MRM01WOij#r2oEiYPs", + "fBsI4rJ@7M9Mn-1pOFV)jMlAakqvglOMVQHW*rTgL)M9y=azuKvsXy%pCDH", + "683Qqi)6M2(Npm73ethqMpMw2r6kmfwN(T*gX)3$JcxQ&&)*I7*x78zV^GpV6", + "ox@LHfTplV6pYr9#e*CAhy8aYH7li450RMD#hcVQpSYk$#c)PzQ@", + "1@e(-EEYNyvNf3!U=-m)QwptM-aWQsQS2U&iPptx$Awzh3#sAz9^^c9HW%8ihIaCbey-o*)vsGalUaEvBv", + "8R3jw@@HYscq&fzgI8k%Qli6^x%B0yP9uXBs)IEsVLArdNVIZphYnk7%s1O&pzIN@H@BVL6", + "ZrPN^0NcEq)xtzc87Hn*4CIq1Q#)h#zjOL@)QnJ6BNfG(tIMsqF5(94#%SC*G8SH6@&Jl2wG)0fvenvhRmA8xh3!Q4oW5Bg", + "lAe7wM@YSMragoE3miM8ZX4jn16)jHEps#kY14F3ueiWnL&wpGg%BC1o=ErH4^4^4zU", + "u*A%^U7YU4ozjBK$a-jWHB!!aL83hSGnTj*p85T7R%!5f&i1qCM6zZ!(0IM%7%AZZy1#Pa-9g1Bm(4@aqwDp96SubGDYg9jBXE", + "cCM@BPXvqsOQENM0frAGqZ!u-mC*98Dn(o!E9FSyp(Wacl)O=NtXVyeNP9ThddE7krfGRw&-5", + "raB=57KLDOip*4gX#bv9Ufhd00gX$&Cd-xKtlv=Xs3-S5KKXIZjJr", + "NZ*IZxiI9UmLu5!lSs7%mYRFa(f%jh2BT^@ItRatdDM88^y4Lhp(^#HxYt!bIn*Nr5*$06*RUnqzCEcoJF5p5fYD2jNfLvv1M", + "MZUWh$4zu9Ikw$okKv)c!#*dt(-t5bU9YjGKNfrm%1D#2uYFTUjZA)ukyL31lKFQ&qevwInun=", + "CT5!hTCubnDW@n&601LQdpV#^RjJ)lwwkF%XrUS6lyR6=v#qKu-Ab!Kb^vBdFJu(Gw6^PeNAENNfSY", + "UwuqUJLIAJl)^dXo!8(HwA4Z)13-T92O6#SpS^tqsAL#=30&oXAstB9g^IS=10-kKbz@^xNvtGXyFCC*b)!", + "(TsP!fAj4LILyuXeJ=#DcA^q74nXK-09bz*GJ@wIPx*FecvZyic!L", + "ABOmnO3NEjV-tf5cbkUCdHgore7HVuX1W6h32RSBxtCq4j14)DXUDW3bNLDMIrrJXZ=0^lJkXrmHyM3O0cn)!Xhb3b4P", + "$sV7&yyiE)FIpEx=HecySsarHFWdvbWEeg1ls@p-ADJuzT=98--", + "O(OHKZ8&%xYQtmbGPo)owSg-XuFOdVKzeqZofnl5F1nuZv-3YBP-CknsJYQIvbQeBUe(Qu4hx!*oE5BUP29sHt", + "skZ#O-@Ro%kL^3sleAYoYh18!UaGbJmMc#km7qGP7EJlyA=&MDir7p5^!EE", + "ko(tfAMPgw6Q9u)(w1Cc*@*y7T13tz^kNkKcLVxPcbLfSF1bFI68u50-JFntE(Iw7%kd", + "bTzSD3A!UqOyFeB6ew4c#v95bOS&&3EMN9!WwgXXvp#V8#W=bSM3IY!YP-Q3Q87Us%J1#kar$kCyAqWHh8z-K", + "OD37MKd6h#%IrUa9-dsaALtE!(EWm1=QqnWmtLInTYAn$-#^Hwr)#aHLps9u7jF", + "QZp-*#At$KW-29NyMOpLMyK!hd!RnGFxKfGH8dXh=7TLtl^v42ydVOx", + "Bpm54V=cqHR=oB(mGBz@gfQqreNkQR70byOOKWU5MQ9BGVM&or9ktSz#zB*dGEI3)PPh*^@w5stdAiteT3pAQIkzgjx#wqJ", + "GJ-khDD1UFCoosAlan$YhquVT%anL40lfe3MGWc&3RN1=v@&i(xJe)hQ2z$NunalS1TVqn23u8aBEA!TBMlAmb=JjE8id", + "x3w6jcbKNWsQON#E!p3U(D=t!7wATvD5%jeXB%VcOpSM5ybCD!q)3miZWQrSiQUMD!iittN6RR=a=2", + "nm-=y%3WrDg$WCNAb@p(qf*^sAI-bbR5^=ttI8H4jAf&S5^e)iSkY7RfG4TO", + "X!zcHNLi&2DK(2=jwygZ&2WI$tdfPfSo3MNCtYp-G4-JXOGJYZE6I=WsWb=ZD!hLzYLot&=28Ig", + "G$KZnMzNAtXWG)QN0F4a^zXBJEEH*OPrmZh4Odu2h(l(Zz%vapAnn", + "VZQpa^%F-@eDxc#d3Q(Tm#&nV%v!UVI6RB2wquJGLQwuZPeREFPj^51f0tHEB)zqigpw6hjTXAtMI8nEhZ&Rh", + "GjoJ$dlwDq!&J4Y%vYlq0zPzkLp2-(ihC#VTyMq0!55muz9VV5j7KnD$flJR-Jx1a-ThfyXn@", + "$B276X!mm*@vq$f^=NAViZ0LGCDFpAnlw=14*LvdC18RX*Mqt3FO0WdJByDR5(Qz", + "!5$3%ttwBb^@E*5L32OUNNgz62#NCrxVc*iImeOLu7l8r(G@JV--ch0jO&G", + "rXE42iS#oEq!U@TR^*um1*)Z85#ft=%%U6*-%W1Ej9hLZNRV6xFbm9u*s&m4OCvEn=AV25s1L0AHPx!Sv9)41", + "-!(h*!9Xjt0Y*5zXtEkonrhvRt3IvI#rGXa@eFQ^=JHxa^9l1FBr&bOT!c7IXHVpEcs5pey0kqh", + "SXPoaFQgZey54QRQL^NAXdm6KQbK6ObG*sl5mB1l92TYrSPTUT%ca@6(vAV5R3%UAv6GNztCAdkI^x$X^9", + "e%mUGEhgI0DpS75C($Po$77EqYf#6u0o(0xW1M0duBbWMOK^8kIWzWsh@kMYenV", + "Zd$d0B7lK5rJAhRlM$u%s(pmh64JZ^*DB3&9LQDfbXu=#*ZtbG75QEIlKb($p0a&lRa&CE@%KeWEwC", + "2ZM2!WU8vPFgv*5oG6ptp!I&G^fdm(MUmSx1)bg5GlJMD#ikAxta*0%", + "u72OH9R*9&HM86UX75&X*$JZ5E)nAN6GdJiXWQ&#yI#clup2$LnJfSl$-e", + "%C7Or1ljsGzupFu6uDE)1rt^d5QR4I)NQu1YWNzw#YBE&cv(LC%w1DCfz-vz59)&D!nj@J", + "pS5fjTMbPQNef846n#%&El)f-CC5*3DyLEgBh2yt)NmT#8D)#EIBR6i!AF5BbZWAE%P5TEH5B", + "FHzX(7GZK5YVVzQVoy$9^xCVb@8TGMyc39vW$KXYhl3A1V#iL(EHQnDed", + "UAg(ruBQ=H)PNo&MEK2smKj#OZfNdkZ1EqhI0(4GaVWHZuKaxO^JH-(f4n^tl9wtr8UKrPHu5Bk9^y7l=3ncfivK)8gii", + "$G84Twzc6=NUaa@R1mfyVOxLartr!tlF0y7pU2NHZZKa6ZXF=Yd-QTJKcDK!oQ8M=fT^p2(rrmtZY*B", + "I%s#PkZk@#K%28mQuWlQ(s=bji4&!xMZSLP@LeZVCpM)-pta7SPK4HL1P-gP07Qo!#TbbFBgZkFJ", + "^YWbuzBle$!UiIu3&)(wX@kr8)EllJSPD1ISrmIKeqJ4lo7Ai5F#Yr9g=UNl8hIkdE$P!W#2DwJGfRu=F355Aayqbr", + "HW--!p-V(Z2i=ozTpBSR$4SN5SOKUj47n$5Cw#TK!s7KDg511rNf%To^50BgxiZ#YxF7^E1J2D%bs%e", + "SssE-Bv9bRlGAC4s)*IP&u1887WXXyI(spCUqYn*KE68fqwVO24^xz1XQ06F8)9zp$!EtOVjvzGN#-he5UXSQIvv69$3ndBN", + "hRKj&DM%DFdTsaDddh9UX3LSy63^Zyf9I9)VpH#*AWx3(B^6^*lIP=C*0CfJe^2DNFXx@", + "4n$9m(VZ5K!WNw55TUg964SQO%YQpyG)EmE26UAIvfPdbNC6jq4DDD#cidDhC@**$)5G*5^zFO!$(JmT=)v", + "jp0ysaEsJ3T^0jbrH5tT1s@r)V=$7rq54$w)4@@gJhXzjPQ)kwmBeXBt@30p@SWupcpwQycrXTO", + "j&H$JF-8Z=yO&pgd4J5JMzKihxAgOr&IkWYA=GjV=9hdz6&%^XiuzP", + "6GaZom1W*U)Tx2WLVSNDW6igNnnnJWv*7(ir9erNog^WXlBo8p5iDY$8dz!eu", + "H(6((v2XqlQm7dbJBMc5acAfEtqr23ZobN!K^lBASX%5!DY9!ThN", + "vLG=#NU=NqT*kR3sJRl$c^mOIsblWY$)6nA-FueBqExBf3!G*)&%OOf", + "IajUieGCvrwTBmM)90Ptg)@5Pzu&j7uyD4BYIZ)9Y0k-o0e(F@VUfRObRp@76wVu(pq)pSY=#FBGZ49*D01lvgX", + "b#=wWB!P%TToVyqoq9!#&laxw8-AjpR7Ybmt6^Dmwv19FH4a(2KxEeBlmAmp5kaWaVJzOKEub!", + "TYT!Xa8ulnsxlaSHSKaP4aTAmSz7V0Bt1dl!L4y2o(TFq^f6jm80kW#*0*Vq$do)U0z6hhvn*vX#G4wakOaPpf", + "Cob7(0scvsJj%=T(cZ2NuD!DAvH7#eX44T(Zh034v$JCBbEF9B", + "PkkUrp@hS!QIPmDaN3xuGxiFnegDM!=NFY*bE23PnX9PrMT2UIK0Yh%P9$rsA*BpXe", + "ud#Y6y1O0uzrjqz9QXpwFoGKmVVS9pQ2d=&RAfUInuWJcmC-wZDT5&cdR", + "L2T1rZVg3o*QNfl0!CsW1NjbK(&xGKG=KZ*$^M8A92NFKCC9W^70uGy6^fBP%8NUckOvb2!TG", + "(YHH83uHp$=f=&%O16TtT(p-*CLsf6cXn)co1L%P$Vn@2Z)rUbg1kgMpojw%f3p^U0VT3dFTBlUzRRDALwQUvyzo)#bwJ5I", + "NN^OP42=jRYt#hVcqTfc#blfg9pTaWUlzW)bJuwO0M$Rpx8Ir1VPyPmNXUm9Q7tJb524HM9^=&#=$XO3(Zvkmw#piEwtX)Aq4N", + "%s7MsG5Uo^DMO2PxIJ2ae3sk&J2czeNDDQuEP*aYfRKiCn(gd0e%PcyhU6EKE@vmoA4u", + "O*QBNJ3uxjfX1Grs#52i3afH@DqX()AHSFwsI(RP98bYd!FBv1kL81Uig1Gs7Jv611tHLhf!o7!DQB*TutB@PIL", + "!TOHlHp6M-#iHEA3e5@YE74bc!YLu2UR1!XD9VcuhMY984n2F^^ED&aVMRPV-P4Bo^", + "*nV=xv8p*rn!K5ka)Swz8afIxdk)ZjPa#)o)nB@37G!M7x72($XeYc)^I4^!x^ULsomHh#", + "v57$9EG*^nwP(Fhbg!-CWi((a)@l7kbigC1xD^2rPoeIlvs0upa90g0XHeK(f3qvMtdx-r!Y!k=3DZJytXOpdtU%EY2w$=7", + "iY@nb9PN($VhU-c*mYoSJFR=Ablq#TJaPpxKIjer(=#Uau4vnBdF1yU8w)^J%NjiwG2Z9$4c$HVE$p", + "bc9vF)aUEQAT8D%ZWoVfM126uIu5r$fuW6y4suof4Sfc295Y!4YlIeTeeukeV9KTi)6o*1=v32GS&qBbqtPvLcx6j2F(xK", + "zKzRR5TW4*izC@J=lF8LZzOqYmwRJ$*bPY-a#JOjT^%Oo=ge9xE", + "xnx&PHy5a4Z*E80Me-F!B2cWn^3L#itm$p245DpJ7-WdcrQido2Lkn6Q@Ov*R@pq0o4S84B1))58HW!sly#J92TA", + "Xx(%&VQWpwgbNRQ!7kpJJ=0ohF2vpuE%M)IDiZKJ3F=0cI9ER-0#@Bbw$pQYBClFV4U#yZaPZcAapbe=v=jKySPqEV&B", + "(q0aU8Mg(fo0DZRAI^-FgWV3kJpufEQwVKUrlsY7=Qd)Ryqfe85ErFX(Xlq-KPy01Z", + "x5@oTbJ&MP&mOmxMTA1IOI-pm8N6k$5UYUmiCYXxafM!y6r1&@Y3W", + "6hkuqcYDXxKcRXXtV5hGdHL3mGPkoVsJ&JNB9IH5rrwFeYBw#2p&uZR7#)zdy7", + "LLXhL!kkG=X=N8SRv#aZfXR@PX--uCU@ow*mqpd)Pr=YL@Ap9J0MYM--gstTtnHw1%Iy*oTz8vnc", + "gjiaBuT(WCyG%GA)WtM0dzgJ7TfGtq$Rns69$)zou2YM9kN-eQb66vK(6", + "FBNDoRxTdr=Jvp-xOTaU69poR7JD(fSm0QzgfphapLt9MI!yNw^a3Mw%8IKwhdews&=7op", + "OCRp(HB4rtkevp779Fq3AIAyMv=uaktdTQ$Wm(hPGrPuXT@Ui4qRVaPoAa@mc$g%^^F&FvX$1Sq^nhW", + "hK5JEgJ74116@O7Gxkk&oo1a2(C)YOHbZTGhehuXn()mAMZzYYU#2svI-fH7nyqWlczG#Vk!#Jt7yrbO4#RyO)om0Q-^0qg&rB*f", + "l8g6(wvPglZsBakIo)FETS(oE5wV3I8x%apE(HB!u5@@rr@Br(%LfDcqZV", + "6chV-IhgqZTryTd0BE8UVk^pvLkNDb-ALuB@iVqn1W@-um8&o1lx", + "Sw#N*-&HB$I@c%m5Ps(Zog$yP6(LSDx10knJzi59kCz6ncVUi4xmd4Cy*e", + "zR@b0iQ-CUX5P3OX$-vi@=WK7(ojKO*&^O=JS8NxT)Z-L47E(tV^NEHP)BxPCPgS%", + "=K1B^U-1cQG2C!fIdZLlgrj-ax#iyALYXzLFnI3m0jQIT^^TGBK^=hnjRwedVoXOraPsK1k%Ks(d1@#K$curg%*AxwpZ6VNAOj", + "vfg^7-EN13DPJ&RyMWE&OMuH!ovfb3VzQM9VZhO3Z5Y0cMDyDeNg%z(NJ0eAZhwkfrEUH^e&&bF!Wk!xMCx0l", + "92^Ou=nnksr2r#NGWIzknAzyjyCMd#6-W7zexgsh9N@Ixx2e8bSkJ7ay#BzE-Jw4TT5znjg5v-FL2QVdiLYX38qfz#BDUBUUZUT", + "wz*%3RJ$w$0XGbH=oohi9&ULCrcQ%PYGQyRtwtwEdiBz)2yCG&eCosaCY%brS-FS", + "497ViFK46DQ^&G5bNB(O686Q4NzH$#G1YrTSzY)xOWpuDPX5mGb(8qLpNiIf!%YHDyNDNrtrPqOwo5BI$VU8)6X-jkMOKe*8icUw", + "KoIXArhT*p5Dicp!Jzug!%fun9zlQzTH@i7atr=7@W40u3^7EM&5DudR12N5q)ITO7TPU1I4Wp", + "tb#lPW$V9fbwt%=k$6z-vyCc8xHxdGr2ysJVhYDUl^j^ZD0&&N", + "neezjpg6xi^$5tKDeWdkqrH)jl9QAc1wHA60a*C#2u-tqf^Wih7k%dG8oSYLEbI&BljzPPg4CRK@z4A8ObuakpCMsla", + "uzeTku-EY%*f0D!DRseA@JPqMxp8FQrjmr575#i1swzbBtotD!Pu78)JfHW!L-ViK=P", + "ht=dTE3jbH*#i*jQxFYY&!K2TZMXXi#&dCLFzo)a$hIm18W^@epv-U@MHbJ!Vh)fGROzjN)6c6Ni&x3bCeUZxwSUkM$ELHn", + "i2Jzt#*YUz8dB0VkBVFzc(U0k#Dlc*DV2APK#Nc=dzAMw5K19p9i!7MRYFeeEQEQ5", + "e1UN7JigIiq=!oOt1)8!$CF&7*^jitm8#$KK6SEA=KGFFFPNaVFxH$NDTt2nSlfO0*kegvs#B41O", + "@Zxy1XJ@31)#G&CIcw0$JKAgKVhs8yQhoh*JsbgL)%@oarnjjag", + "aV4r0$2AD4z1&J2BJLSJoy0G&zQeM2YjL1A)d4mV&($2lUQS48)b2ttg3FHdLLimCTtQVw6GAh-%kY#t2^*p", + "%S-*9MQ4KM-gORv^!PoCR1ult03AF1NjZ#NrQqgd6ZBGUXy5AE", + "cXC3er2h40G)iMmPw#L4JvUoD%!LjSd#H!Vb&kMpt%gOSMO%Q!PX&5", + "K)cE=B7SB9I55-8!wXcUazZeYmf&VuYtc#is%kMI=Lnj=sZYLmLs", + "ptqg(q!N6O*nM9SMHhEj@fD&&RMeJWGh&2WixrK&t4=5NxRiuHq(Pg@b-h=YnnIXO*HkiYUGA@**u", + "X@&QjGAtp2kurUFQutQ^q5C11Bs5@DFu*K@mSOvxkdR7#MXI^OQO@2", + "Oxc)osV&do%6=42Elt)x7Ab&@Yot&SttPztEdYR7=iz7kXry99XbB1rli-dt2KUS5Zr=rzmBH5IIS&!fPY5yQ2(ad4L", + "o$HlwA&oSr6(e(tESU#kt%vgummbnhTLp*gCkbaR^OKFVxnzD7YUs=iVPBKXcNiV1jGvna9alLB&du41j", + "0e&R^cVjXNrdmfACc=YqdmbwN@m5HLm&UJ3OrBrp!g65Zuls)NMfR@1VOax", + "%SwBRpVXMK)bnek4^h6L1O*(Wr$3*W($iZBTxTV1jy^&gxrQapnZFM)I!eiveuozwiIULLC-^m!OCsUho2$(1ZTUjw)", + "k65P)RZILv4rI7Ovytf$ioncR5zY0x%VyKRP%&SG5sSW$9stVDACVCooBdd^J1tYyGKr@KKxCBvWU$Vd#ct=7Uz!", + "Pj-jZp8qhY$c&nrJq6F$KhHbuL$6OJLb2xEYCbVT(W*nO%EmMc9=oK4HB)cpH1tUp2J0dDO4)G&7Ye^WNRMUQG1=2Lj", + "Sub$VK7ELJqS@X7lDXUN#dY(i**dW6@sp#sxKIcFE56sAY#wKfHVUvUHrnaB5uehTSGPLbdGTm", + "h*hcfinx1TJm#OQc%QZqllpvcQc8RmXu#U=qUDrt#SNAHm2SZes", + "r*Jx&grAGx==s)5-r4V%)SQY4l0gOU3buuLCntam(m%pzGeyc3jFD$29bI", + "7YAL3&Mxz^D!Ro8&tTCrgJ!f--Pm9pgTj4R4GvhUp!HPuX@KH9OFLkpdiOM*$nj@fheAqw&f", + "YVxmeFrw*DrnpQ1^1y@vyF&gxuMsor-sR(8z6haZCGX^pAOwD&JrS&IWVph$RyT0UuJcrr^H8Kep-sW1j^Pt@)F9!tFBBSU-qG", + "9g0ocvCbIV*sBezs&pKfo&@34Zsv$7ezGnyK3uBEUyq(DlM3xCpnLU1%cL1FGkbw*#v!mS!K*a0bn=IC6UfP(R^Cq*)bq9A-z", + "DM&b-r851uz2fDBW2%=Md^UY^%BV7NxCRrGNBYmCeKWTgZyRR8WJgv*yVm(m$HQG1jQ8PK6o", + "iXc$^HjW5ciB*cFOoqupAE%DL$H=hqv&lg%HkgKMl@rbqMI9WtNunl9QT6IjP6C", + "JnhotFzjBmN#rjs(L1CbskZL-v$-4)W#-!kQZU870w36W7S%fMN6@WhE)3vwI11()yeT@Q&QuF!BRn4o9Tj)sxAWk-3(Mf%i5k", + "D!Pm$wO7r1Ft9EkEzRhE3gm4LE9fEq4re-tXoqlcwVD%-aAZ6T!fR!6gjLpn7CKe@j3iq^dovpwOu%=S*6%Qe1*", + "GoIrR@oJCM@R1cnatGIAfQOVba8(O@EtqAqDNhIa0f7SJLc0&q@t=", + "0Fl01JI^u*aW2RCYX-7M!Iv$0CGAF3K4INcKG7GNVlVDC1iQoXFpm68Lz5u6Ti#gW#)KbM(ZwI53de7kKEoIc!yoYW%m1ds#", + "KD*Si&FRf3N1P5B^Rn8QSQiCSc-&gblYHS5vtR)Q$-6zXfSjYceXNP0SYKKxfdH70Is*PjHWh#FMwg1yESYqAn", + "&7e3hVhSmgjl*wW3Rm8C0$S3opDA6q&%J8srQ*1@RX1Bsz2-x*4M93PvrAN=F43jN%o02E", + "O9jCTwNUsnWui=4gHdh8C5b3SDuh)6010j87LOFkWYd#==E)!XL$LF", + "njpYPIvauKY#-$Afllk)4rViLx&D!q237DNW-NRxxJmwb9D0ME##zS0GuVXmzpHwk59v(IGd%wPaD2LX35-U", + "K)zn1%FOescBzUO5jemcVaqSYVx1ri1GtfoCbx)GLLSup=X9D=#bS", + "cOc(CDN&D(Oy5-VDADIpc@IdIJ2kqfX@Dc^1oN&Wy0*=ALL!s&*^Zc%e*@Fl$6C9UjuQT@fF^72ojt9@SgHye(h", + "zUxBLg$zzTzAYpv3Y#GmpjuOmwLqCd2Zrggb$vYthy4lD7y0EvVIkGz", + "eRwQlj^DFIFQ!3IItv)nqsEg560kdn4l8PHlQI%DS(*cWy-@27Jgu)u6Qp3*oeJGvP3Wk*)D7z2-cZL$gb40VdcBAC^vF^grC", + "yk)zi81SXS^X3jr6BtW1n2F4^vh@(3zg4pO@*kkX!IZFwH#OxDZK#K0P!@NY7hHfoYZ9VoV(je#R", + "eZ(u1!Q9RTxf$ZWeOv51a7oQJQ0=A3&haY3pGHidr6(OCE1^x^LH2h^5=NDPc", + "8MhtFaAsXykq-cilmMyOXPWP(SjS0-3uF(57PJCTL&Zx^UF=eY(gG2Ler4xrl)Z$Exqi2HMUth5$QM=5gRXb1", + "oNyWwbgUYquJjbux95kJXxU8vnVdP(eyBfHZVMiLBKvaDuj7J3JeL!eH^MhR(0fGDy-v$=g3br^)zoV(4bf)YrOpaS", + "C)-LWvf76Vpu@NJ&C3$%ws%wD6m&SGvQ$dE5OsmwfrkrTfYsg(1aDqMJbQ&1siw2ueJyE8mwmM4ah8haX1WUyLr", + "iS499#rOYKQ)0ujOnc9BJ=jGtqEqEjbA%2#!OaoMzZ@xk2zMyeg&j*GTMx1nW#tbEBEect$#64Tpy4Mfo-ptNQKoL#7", + "fXs#&RL7PBxzaa22&Nv9dwrIHnnRazR^0R2dSTtM*26wvwuiTr-wGYA(", + "c8Mx8uA=O2A0A-Y&nI$-AhprqFWc*8%sx6DoU(NCCl#yxr(k8MWi87", + "LcCVpo9QZuZx9ek!V*2O8cw1Ski9D2Q%)-Q*E4-tJgbJxW^bXd-T4Sh2bs0-W*D&bw8&ZiJ(zC#!0", + "lexW5ZZ1Zcd$faT$$R8W@SQcgR@8y(&(p(fb*hQ9SvllUOmY@A5oMEfP2&KmlYYkA6M*yYguTOjQfL!y(i2*", + "$0#$b)tyYDTR-Fhf-yE1QvpJa&0KSD6g-mq6*^QfByblNg2@4@xP4ElIa8UO&m=4^vRC4i!Fqu&rq^djaLOm", + "(eflrV^XpzMj8#dzTU6LUXnEhZI(tQKup!iLCLtQJaZ4bs&1f^Q9pwZQARDaIw#ylpxxJ0j0E1Tzx@)ggRYm0JD9b0q", + "E!Q7$J)VNOY$VC#60ThuV2fT4*WHiHF-r&LjEVZ&q6mGAneONk-pxsKUeDPAcJ3ca", + "YCUy@9uNg%KzDes&Ah%wpU4$JO9cp3I)*e!1vNcka$jieclJB^Ejr07(j4*N-PN9", + "WQEpj5Y92V$DyIAkf$rV8$J7NNAlP&1IcGFh)lLzuO%4GptCI&hZmo=p3i)9^Jg86MyF&InbHz8%P)==gkbK!pV%7$B@", + "R5Tj8nIjCA4BWK7(WtvZ8rB$00PY8l@j#Y=RlvH4WG7YDqLS!SQKYX*nw3NfGyowavPt9o3R6oF)onr5l1Mez^ZczCd2%jK7vO", + "95x@QTNb0rMJG=0^I6sP8hGF0=^pNo#nlJDIPTkyrs!ihLGc!#e0QjPTrDKP9d3E6vD0QR0o", + "S5mMiOK1V!bbCg&$q*^4XOXzlgHuQQBW-6)wcAuSC$(MomAF%QwI7SVv04Z(PKj5NA$X55t4#uT(H", + "@DEj#ld#3LFM&(Y6ZnDjEswaK*0aTvwlt5NgZ)2PmW6kNTYOkzF9zl%s@VI6Fw&2zMmK5", + "ZwvS1%mLQ&3!k%*ONgKCtT!0Xa-zk!aOCjusyJQnlEa!Ufr#7y&*qXZ2jYrWiFxgl-*AB1OLGXOTJ379J", + "M@gGXyEzRVsk&hK7PCi4jbA-CN)PvLJ4%ROEcq%)p1MOU4eOp1HYtxrBoohG6YKeOiH2uciEZ*K3I)YLQ^q", + "xr@Gar7HJ5kLipG0LH%zJQx-FUN46OESu%ad!TBdC6$vEkzVSZ1XG!C!iebxud*e!d", + "pa)g^fFtSbo&fd1poA3lrkd5TvBQfv7%QW7Ql!3o$hWJwj-r6nyjTEDVR", + "e)f*Rxh*^kIbba9un7nVlZziR!Ti25ZGYAmS&TLW*3u4Ul*KRclcR!p3wTq%bnx&K5sH4hR9K4PrUkFeJG%qo#T9&r)*CuW3ar$^", + "cf551(NFOQQa@jQhBPd7B1-0yB#)nl$JCpfsyKfvyMg-wI$L#e500o)M%z%W&WpL2X", + "FVOX((ZzHj!G2Y9xv)&AnWQt3pB9kRz3C3ra0fQNVayPSk-2CpOtMLV4RAIAwX4yxz2oXEhzJ#sPzJWFtYwjqxJ79E^G0", + ")g^qB$Wzvq5ZhiS6%8Bfu^*JOp!NjIQ!)R%ApED^o2cxJ^$L&tYlOD$z=o&q6u", + "WzCe0jpFmkPxZuynT5MxY9Qm@Kq*Fl6rzC^-K*Cnour1J#gUtu6btCQgbGZ$fRmpO(Xgl(2Q#Ai", + "4Km!BI==qS#sn=0NK@1&%OokI0Kx&SGeHwWM@LYF3U5P-Aul4%kbSp5&R#R0JVEMgh3Aik6@RSd-SK4E=ddt", + "h)x1ud(JTxyF*OGEAZK)5#qYs9gjir7xsLMxk6MqLvhOpsE0MA-yJV9lrGiM36)mz4EuS4)bvP)5PafrqtdZFT0k#%xzmcn=", + "MptAxZvEr^ODw-JbyitUUOe^cCYMmWN$fz@34)w4BZ5j*C((KX%qr=San^QKA", + "TTTi)nDh^WhvDvCmfNqeSGfk!#w!(hPI3KCvu=inYxLs8%=5idPSbyENEw^txtlBohD^Pg#*ZcHGA)XLF", + "Re%)kO*qlHLI&ZM7MrLU)@VZ1II(-hIccb(FdwCWqyHQNfTgysiIvN(px8(8$S3f@3t*", + "snrxK!Vu&fteDliIUMpGz3kJW4yCWjJGFjVp@KUr&v=twYL$bdr7fz", + "A87JcnfJhk$2hGb@S=RX(tNaUD6sRGUAnLaMevEkg(U=qAK&OW8aUX*AT%agDGBGSAVfA&TiwIQym$krKzP", + "cya@r)w!7s7mu-)Vod4PftrEi4JFZ52&h9$YmtAJj3N6mPgfe6VJja2u(Bd!lqI", + "3scWcmV5T&UJ#7uwhuM02j0VcE%dqkxoUIetneUryDo@^msZk()pXz4SiWM(DoroW&yLHVoGPCu2RUW3Zzl5^oSL9d!z90t", + "C4iV0XD5r$f=s8i&5^a@whdFV1!i@ks#4a&5T(N0EC1ZJLT1SPx4UgU0gCeLpIx0UWK&Zdd#tpNuZA9IO", + "uqv-50*&cFZScREj^cWE=D!rX#Z8NduyM)dG5KZjK^9VVChrpI0u%nJJ$@u1BadJN2@pBPhye=GpGEkGjcGJx)D", + "Sb=Ezq0lJeKrTT2(XUDvQTauJrNhV%P=N0=vFF8OjIY#b^bGvU1K9V8$6ROke", + "KomG)gp2rgkqWse1CfD5H)e7GRc-Jx07fMIfoSH!DQP-&@$stt03)8Q8&isCDo7XEjka(B0EhVYs@&bkv(oL", + "ItbSJt0DdlbB5^EVzP9ndgchPG9h3&lZ&INA0HG0MUnF0df*Uh5ZxC2", + "6X&etHIS93iux5mePG%*hSt9C2GU-bnm)&*)Xl6LjfX7nTiRgcnKNfNk3*", + "oFV8vXD6#cS)mcvBD0C^eo5)ywGcb2E@dE34*V!NAKk4=3#6*1Yafayzwie5J8O8Z@L93", + "QGAr!Jw@Q#6GH!JuXDKSlg2po$uVF-b*5IBt91dT9&I&)6Gg$SbvWq%ERypeBp%dd!SpPkpA21NeKOyYEEwlf$md3O-OB", + "qmsgU(7ZI=iOYFa0^*N6)6mH7bDg-awAA=$YEsHfAcBenjPHJn!", + "k$bz2C)zBlyAzZMV69uia&sQih5Pd)F-P29^OTA(u%l3!4Wt51&(YH0f5Nt8c6wjzZLuuv8n4@yFiQ-nHH(", + "rW=qFKKB8ZOo=6VJs(KWeGkP!)6YToaQjW6udtSwQ3-tW8MQ(oxc9kAVXMtJCAMoB", + "sYSQqSS8qoBa17gqZbnG-RefH!G*2yr*BIA1x$s^SZAqRYA6*rRNS=&q)", + "5K6VnkY^p!)^#v^9zyNGV8V=nS2eZd=-d1aNwLA*6=i7fQ*Zl99oj)qfx1ee3nAt1*xcb8IDggOUH6%2vZV4Lg@JPX", + "vdem$8GM3CotWarD$C35%XtmtZZ1epyMKnl4^7CeNAm-a9W#ovAFLAd7k^b#Mssu8&YwJu40EDz33t1ZN8kE", + "mEPdETwdMBfwNbjprQ)5#JX8M1(=ScwIIdqq8Eh5&=%$67=TJpO#qVq5X#PR%6nY$JnVbF", + "loQT*o8eO9@U&JC7CIK6uB%9Hv$EtWx-ic@Bk$&SkS2@7KKv8Z79RcG(ei*0", + "-oY@It#QcNxVrCE255Ihfudy0k1K8-@HF!IHtMhy*lkEo9%h!HHSet(^fJbiQiFttYK#w#vO", + "E0AW71@3(NWGtrTFkwq6XpK&zViyYZBoV^)PvqO4N$YtH22I@e*5Tf!l*YNE8", + "%zrMqfreXrlVgpN(^huPKK!BTsl#zj^Z6q-XkxQsRmC=bJKdok^vSh)XDFbO4HT#PaLU", + "7*YL6CwT4eVOEhx5Jl2DIIlX4MDnf$8uja9154SPGcW-=JLr6FhQW&zWY)G$zwwzg3$tauP6HAB&8=uqk-#FRug3fZr-ER03", + "jv!HdrQBuUvqWzzatF9NglsAsje%$fb-mtfn7(5Igv5q^WBN7m0)jxtlpeAa7-0UU#(SxdmrjAB5tP&6yjL", + "YoOQO)JHVZ$NsuGP!jxr9%kc@6fi=J3=62O$koiIgOR=H=v&z6t&juJR%yfPr!v(O#u01FVIOS", + "e(aP@vjaSAkQYIssAETxLleIFqmcTO6MM-HqXKlPwRUJ&%$IvnPNay@*CHNL", + "gX*L#IRGG^1jX5@bq2B!I8EM$-aP(^2XpM%kjg4#jSOisf36KuAHT7%pX4^dmOTMT$5PZ$!8ZUZlYjFddS", + "xrJSI(aIueII@TshcxIRXLQp$^Z-jNCB)Nd@Q5%dP@Wv@Bf0DNbSmKpdx", + "6gM=Pw#lA9Qs1Wjij$2Pi3R#obPaSs#6d$Ya6d1exrt4UA7Saa5sdevn", + "cjB1s^mRQxyI4mJ!lMW$cV7&c6D6^I=J&atImwDLpWk=Mnim2TsAtdhw6EZ)ceo7(&))KRWBJz$KFoh@L0exFn*%", + "JJQmIc^F^kdvBe38g!=hrO02a0QjbTzfuW%m=M5hrbZwKf*)&NTOF-fg1jaB2yZdZ!%4QDmNbbNJNsmSVLApy8", + "RJqg$kG9gM1=S27(gF6phqQErFFF(V(6lIgeXozSEhq9QLB*3g-G)uXnrJI(fJGl6vt97jJThSFMC9", + "Z$hXc$CQ1pn8*X(mgy(^fimG1**kF@-C3UeVY%eqXvTf$eegeXU@&iCDTNtdB!r9xpogYEsV%$KwI(kz3)hDw", + "%R97Jc2ik!vY6-JUv#pOuesZOvAw@OaWmJlxo@x7iJQ$7xkDiJ%&2(U1TVOn3##Q*iWdjELCFilDkRgL)Mr", + "Z(5R!j^qcN&GKI)0ym-jxNjr&oSy*Wkzk&Z)V!4-BnXV9c(YknrPmgQ^!#k*BMTgtCR09vz)W-GQPaR^YZKKZ*cmuqR", + "$vbG-U0C6Y(gWsb9VEK*-q)4J%q)a0L#7DwQ1JAozP8TV%oUv!x2M3I&-*", + "wkcBlW9g%)5PK*Cxjrth*1LBwAm9)Xv4#6OoP!ALLjrHsuAS-8kI(ZKf0H0Xq)bJlIJ#!&SG(Wzo", + "1HszEMnBeKwgd4so01&t%@1h0Ra$QRb5CiiqqaDgIoMid-vwqc(wH=knBcbUIxwSNXF4G0ZML#GaohwGJ", + "3yL^Oqn4YRVe(YJ4o#CiZ#OlR5htjIaqSiv6eEj$gXG^xOEoX1=-xDJYu#vAXjVFUzEcQ#9Ci^gsF)6K#r8TXUt*HdnL", + "m%Xxl)2fYIdU*DVPnOgK!kAph5HPDUWwn-8@R(CbjeUjVuqODz8*eVkRgV^Oz#", + "6%4p!APYY0=4YEq6kqEB*zYR!cJYd(4XA7nq8m)W1iY1O4xK%EeKT4gtKl0Xvczq11GFfyuY*xXrrMbC8", + "WwB6aC)$$KRu$GrtGy@OVQ379N79x*Ygi6mg#xF*v9cjp*MG%b=U6*3HKMdNne^0nO5gGf@611eDkyZlYot", + "jwjVyO)Z07(o3&9AaVLhxHT3s10MgNeZgXHV1y@V2KHOYvpWN)m8EiurF-GEZA#7YtlTXA2QOzu@5prF9RSHUeCZ^jDUmtqhh", + "YBx*@O7cG6zytK$(QGyARmj&0qG0HlCR=Eq77=b2HaZ6ko$i5g3iyfrfEL@1!%spLUrVWlO=6GHfP2ftG!GHZ-rauup6(qd", + "MYzeOJ3DT46p@kp7b$1BOjdkJ6PjdL%PH8!gtucJn$T--j)HIAG@6%kJ!XsKNCweZq*4MQ36^4RA%b@mL36(C1)O#", + "idRl7Ykb3YJZo(p5tlh(r39H!pJ0OyQrnnL6At0aHlST)P@H*y(g", + "sDQ1s3=U3IqeZz94xquy5P50%xnyKkCW(@53DrP&kP(&0ffhP0iv5vBV!nQlWG06textadQwIE@j0*0(nDXriJ7qM6P4nZCIfAt", + "vxs91N(Jm=jqguSSpK1@qA9xC9b*UnVChZGMZ4u@4Qjaaq9L(mu-u1nZ&ATa", + "(n-xiVDTXCrlYF0)Qz=oVPztKr7n!C5DhW@L7VcJeBD#My9-m0heNB^6^UpULOJfRH=q)#X7VI^27qmcm0o", + "jHg=WYJ6i%@IL@Fhmm&@oSrXgu7f=0tZI1H2l2dVKcXCpsSk89bQQcvIQSbdR5aE8r)f7w@dDGHTKo", + "IKX9NU(m**Asir6#4R8DSwrD7ji#KdieyM4sGUB!-*d66XoKP34JmcQ1SR^ArcvQz5P3vkJkV*(xPM7qv)wmL", + "$n$FE&%DI1vjQClav4Qm8nzjGkbPU*a9!N$jDp$n1)ySh%UPUb@2IGyTs-MhmTB-QE6PZb^n#B%9Qh", + "IZ3KfGz!PII#LiZ=9(QdL8t#hYcgGFQOqNHTZk$gbWzzG96waegh%jMhFOQaa^N85yToxY-8so)k$O*fm6uk*8xW!l@S", + "xZ$%!C-Yg*iCnya2sL^jzZ-xfvGZ21S4xWc3Boh^l&v2ossU4u^8T!EMCgvX%W(#Ckp9kjnV!D3i^Bl$x=yFW)&9oEc-", + "UHsj0-jf=(d2t9^)lA4!%Bz%pBhi!Mx2xCIWmKXOwZj(dK#fJAbY2E84Ljc&^PI#6T", + "AD)CdJhn%*d2wfkl)wbq-EO&ptYZiYRP&f04ig6f@ChfK7E7fBL!Wxaj8#NO3No*pwgklNjZ(9Za3Pe(glr(k6-jpn2", + "KdTUSJ$b6G9lbl)FMY9YU-%2R%PBp%!JLFwX-eRgi)YJRcupWRLB=EzQuiu)b3Ud92$@C2%8qt6hnm)1*MGUg-!Av", + "!cLA3%jwBHnmieBrxs(C*@EYVEtuwSRDWNn6NjC7)V!wL@HX5$L4", + "dU2ui6M@Nbi^!vSo3L6QT(eANeSBWULLHxm53l@YBvb9!-5-AsF73x&$&JXZA^D-0$DGs5WBtD^", + "YvltLFH^-$$CgVAvsc-nzBw9#hj8riV6m)PP-sO!WR-IPCW3B)yO3DMs&pJS5SG!qTQ=x", + "1&-SVtX0b&sSQX7h*PVNN7OYvB)18ykXwwtYu4bt^^O#i6%A-WjDTf-2=q(9GlzsAcX9s5Zlm@E)vxESz!E(dz$5KWwVMuAWBp3", + "6vNQbcs3m6Qt6HGcF2Xns@N%MXGuT$oq(0#r$&jSOhpgRU5gFYyX#-Z@@SaJtc0VoAl@yfLmn-q5u7&*&UL%^eH!aVaMfUD2zfx", + "y2CBp-WxxFPxM$acS=P$&qt&q$@LfTHC7flByha(XgsVQA$n@Le2z@9AS3q", + "VTrC5@3oTTA17$6NPyU-N1x$vtd=z)9Yz9Al-6id#4F4m70FOOF1F&H370NwCapqAC1%ZUbH-zU*(MvbYl90)q6eBTxvm3M4ldS", + "Vc384u6U1KSf^bBjVi*R8DGZ#gef8Yo$Vtqh^$P9h#P^IugLXS!p", + "*Enrz8W6S*^kTaDIrIYub2$0-JPbB4ojLWl=3h!LJQNw@K@d7g*-IZZd8VbD9dzxleZ", + "SPakx-Wb5KfbUEHTLqMgjbCnpt(YdZXks&Foq3jZscmfadl5KMIkqz6IOqr7G359IU1JD1QcXt4f80Iq9BbC%KhAS", + "^3Vq#R6&QGzm-Fgm&QxjrHSq8pwmZgfGFr5R2P0iZkiQ00hdf-niWHh(ob!3#iIt*mYC=4cGsRgqkOqhu1=%Mw", + "bWx2!3hTLaHqbRQDGKZ$X7B8@l@oy2CFXou0K#MG2Kp3$^VoPyBudt!IHg4w3nB&(Iwe$)8-GMBwDsu-W&RMaC", + "FMY3EsFSxflCceW16NG)Fe65O@cYQj4su-t6jsfjyVrnK2#s7udz^QA2M)(BhQ=76q0wn))UAcRxAIMEVuuG@J$7qTaWgmp", + "Hl*xcarBWvB=LxfDh&#bOrW29tttO$Y7SUk3saejlvozn05m^6-L)z$K)f@fb)LOeDK4kHav$-Dj$ux", + "Cv@1gE1D^L@5#a@jWOo0KxF)lw0!5!lnm-T**ip^56mj0Jlq^&sYjP8Z8F@FZlf)$p2EGB", + "uQP56U32p50)S4&=^PtS#C0iOI)(VVJe3l*^73G@jRVmn9*2xVe-7uWLTj7zGisK)mnhHxeYfVmyU-53)1Yr6ste^", + "XPSDfBu6uGC4i!FEm-xrKXC)=pO9%YjkIr2q9ICk@zASlJvMWJNk*P2ha1C-Jv5DuF@w$CNj6S81FZP", + "M*gT@=LsK=NPm8u=BmCgxjP&t$^&iKFrHZ)xjtIBTF*0Zzl%9RZz-GRf=VhFZk&!cVMMQz43Z-gLFQGE7y6$", + "mzcLCwLETIy-p8t=RUh=fABI9-EMO^(w@KP)7rO0FT51CQEC-)y07(1PHBht&81zUXkywPUXdoRitDLJcJ1pboBvOFKobax#Bp", + "9gKca^nWjaX&wUNez^*NwsMTF=sAXsj(Sisc5)!)!zXX3t1nE=em(XJ&okJeiijj", + "*vUt@%6mIJK3DEU6pN%M9uUswXa2@H*pa&A5TEgMKcs8i08&g7$Bh!9lR-gd9", + "G#CYzu!dE40nPxtHuPHOo=xgr1asJOCB83imJ%0QG%9R@^GNDX9KNj%", + "JWmozl(hKZ8CsbMhw$erGnPsgAN%Oue8F1Thv2NH%v7ufhr0E51DpWxD", + "3iu3Biwiio$CzT&a53iF@oy8PUD1TR%O&RGw^FilaD%kLgkDzbvKb553b", + "MDXvpn!0Ivm4BpG2YwRnygL=ChX!7TG)X$LbkIa^i1BGohMXYQ31eTjuen#3HqjG-M0q@7Eptf&q", + "xZqc4^0HEvKJYi9v!Z8%*g=XfZ8Z8*vhMlpQVR6DL(ukT$jl5XJPpsl=PCItfOKhuikwMaqNicrPNVJXR@hvlk", + "Fq$$RnGdHN$Fy-e^n!watf9=Dc!O3v#pax4dkiilq*E0Q2$uW8GmE8Z8Rm*9xkKaC(z1nHb29sSU4TZ@-DF7LatNV=spuq", + "SaT9DPRsuzdkU4#pM^wQxlA$%sovpnKa(NIw0rh1HzMUsR%v2zGn", + "T^@wLGdjU7*0lkZBvD-6gcacNa=Nmp1JMej2tcXFVBV9Gu=4dQ!jYQGbepUWe2l", + "x23=r2FI(1@uwlvy$dv5O=di%!9@cXj1gza9xI4V@)#uO%bJcoUqn4kzM=qrENimpZA^s3mqi@HJnu%N!Ldc$vBwWJT^53y!E(7", + "qxKXTbMx!9nYT0)E=SobgStKUjRdhp%VtN%JGgrbYtPd=5jZdq%iSOh@", + "Tp=@fBXib2CMyi1#CaT^V82hirz3nN=Ne$B9oPs%!yk8Fj3=AOnU2Zv-VHK&E&RtwE1(owD(k^@w8mzMQt2(7ES)dtlyL$m", + "7-yVxpFVpcT$7Zocw0YJW%nOikD=Ez#g23hd%-e^637Y-p3*3@S&mJs1B)7*rpmpf#^Ic87IDg#", + "Hu-d(vhBQklvlU3dqc7yt-BPeJQh6ZnWQ^XcssryssPHSf)g7mg=N=Jz3AVl(NVKe-KEPPbih0Cvbl&YjDD*t", + "rBCYb508Hl1JH&wUql#p@*Tzby0#5y)mAhQ2r*h3RXLsMtSz(pV(^YAczHctFJV^Qq$r(YtHW7TtnDtNjy2uc@1Rw2", + "ygSWFm1uH0pn)t6&Z92Vzs#9k2w2fQ76E-1EM#oT&qQFW))Ab@", + "2&F5KCOX$nB)K*!*LFrdxz-X7Uc@ryD7fI&CNLx8ms&P(LN*r10tb4==$IuGBBB#zqK0ZWOhw3NHci*lFF2vxQ1cki!%C-iOQ$2", + "Ay*SR^n4RSj9blF0Tib)dpgbnF)LiU%A=!l2BX(o(tuor67i=T3w9eBPVX8XC&)Y#)8E4CxVC^BmO(M37!YhB9Nf9Gn&47=", + "5YeN0V(rRT5mE-PUIhn^5uO=kc$U56kqX6obt*vEWG4$D^(DXLpwBVnXIlS&=ayMc=WFe)$epi", + "E7f5Pi5HM%DOWLx7-AynsTMkcHx2wf#tPKpwU$v69y1aysu5IYAe$jE3-Vyqo1q6LHHF5b7", + "bk7Cu2d&9vITh@rl*NCBd8cse&Eq^#8(E6WYS#MZv0R*jF#yNNJuNGPbdwL%bDwM*o%C)&kdDwvSC%", + "oe^aHqbGIE$kwYm3X9ehTp7HF*q7@Lrte5SE^u6&e@07YFvmsl)ZB-fwv7hVxD0V", + "DEFD0iuhq96XLIePNns18X@jgGOzvCy&kdLbPmDj8!Ebor$WyC7-Zcca#YtJUCZ(Poe!1Qhn3CMc", + "wO(AxfvrdIfuLDqFczrhPp=#i3ahf5YEATQ%=peHCeRjeP=l9xhHL", + "VG!&EALgBaA!SZ5Q-csTF1TZDcsE7@LqB@bsKDFhZjE5&c@YIBR5jIbC)9%x8O4nDzVt9ZjRzc86zw*H*$8mEV5cQ-i981yNL", + "X-QFl-B^@vJQP!8i6joBdBSb$HhigAonZPnhQpAMEQkxmlJ#EXfPt", + "DMvLBnSMwLqNHyX7qfUZU!2jSaK!JAdZldc3pU)fabcxkm#wg9n2*2s-44!=^dg^AE", + "mj7Q5z)HX=dLxl5IOnkv0(CiiHiP30fyTCGwMwL4MvkmoS*h5Gu7NWhLE^ow^UG^HMLCMT&3oAm(^XDs&r0))GTJwHfcl", + "%Hz=vMhW1-wsCrtCIQv^(wpRUx1bcgv(jqdMf8olAqeCah*URq44cH@7-n0sX%6=6zO9v@^ph4E!fS#LxoNfSWzbOU0qakByPbn", + "H82XHXHrUuvi8Qzz3S@Um29SN8pN$1g1T@=)SBGxYJOxY9Q^3%fqmt68)xQLy4BO1S&y*vxClGRWGOnTnkXG*!xU50%OPHUE%", + "=ZKYQPC0UO4hF3wWcl16ORh8x11c4a7@hx1hJ#wFsE8)gNTJF#LWo1uAJ(m)g6BPKI9&^*2a^$-g6U^KA7!99DWQ*Ek@", + "ltYPBbOjRRGJX45Qq5lH51=fhaI$e9TXkhy5cxCHQNfo!C&s%*Kk%HFU@8o6Fnjgr8ae5PazcmT^r(aKm#azO8t8ALVzsuj", + "Jk@3SmfkZRee0OW%x*hGKxT)Z7^$7%C%!G0Ijl3n*WQpT-mqKCB8q2Y@lc%Uuo(sA3Er%Lk0Br4%-uWbFlZJJyNV2o$*", + "QQoJdk^*P=sltLet^ROSYt!mLc2g6EDkhN1oU4P4XX^ika^RwZ6gH%)x3pXeaKSrJZ5IhHyIBjXjyKV)MQq0", + "6iP4E48JU8KX(hyyVqjz@IeQVpKJSBpVM1wgAiZudQ!oJSBTO%dv4tJyxG6&8n1Vh03)4LBOL6eBEX6Q9Dja(exc2Q7eGV", + "M&y5ls&kfAyi=eOqCcf98a$X&i21cwDw!nouo)bSij&*XY1IugZaH-*CngpJZP-ThfDndI&dT#@l9aaqQ=4xjSdEAbB%wUbXU", + "t9lS(TMiNf0t#zBCCAyaOHyVLMpip1=sSTW&H=5Q66rnuVn)70aq=JBUbn(JhDAnbG8EzY", + "44gG-NKUv-@if-89w3coE@HzuOHVr*snn#TwQc1y2envDM4NIA9hTsfxauLTt", + "G0JnALxqaJGLRhOzI-^Y%RDghjI1GqX^hW%E^WHkB206=tZpptxa0Z$DEhQN%tmLNh8$%y$SU8oHTjtjhY@F", + "ykoNyPkkUcdW7bv=KWr%VQw4ligOeB#h(FQ#d)ddM9*Y#b18In!2hD1cy(eDdQPHCXhWhcfC-w^Y", + "si^FEn-B*^K82G3qmAT!1z#M19TtlHuervn6q)mj@4vRHNsvNbAy%)wXMiure8ei)bSJy)C02MT5@UE1ZNh1^djr", + "@KQ#DxtJngVDvrbKw15l9KG596QK&64*T&JmjJA0a50OBtpETsAIu*tTS)7T!$V6GP", + "nsgmLlmsEJi3QO8zNX1YO4L)IT!yNR0rp)1FdP&3hROw$JUFBeFRY0(azZ3xUU*", + "*oAdm)odz8hlxhZ$n0j1x2XAIHo=xjEeUgy8^!jyt^p^3YKT@xl@YP4La)y@Cx$ERVFc9wuZ5$M%F-xLb9eARFR", + "wSEfDim@&L@sqH@NgUA)uj#j7lKFJxjAMl$GxUNTwWe@gvIz0)hnMYHAt&Fx0ebE3%@dAbr73#sqF@4U2", + "P%Amo#UT^07EvigQa(Kn6u0@LL9BWo!kl*prcNw2z*m&y!w4mdraV)#6fxzbqViM0xBU6a!!c", + "-NL&4u%hW^tvzQ)R=7uUms-xfAK5fLzsNk8%t87Abk!LwpDLb#oPhtw(^Jo9iu", + "IalQaPgB2dxZTpRu53e&OaLYj2-xuC7Pi^wPMq)6Vpav$EtYlf9sPnZpN3!RQSd3(4pN1iOR-Qx2m=f%", + "6tPLl@wNY4j7q8*GDjRKYJxHN@dUSv=R&X7vqLFwH7x$b@Xkv-hmNTix)u4FYbqZV^)gT1iL0wLp=1e9gv1^yN9)HNP^Qs", + "Ft0l(odPbWh*9(cV)d-0Q$c&nVaq%ohhi)RUmXoR!CJGVHvWs@J720=iBQe8zNd!zrYU()c6jbAabr=HJBfrn^ZxOlS", + "DY-e5PZf-4TmS%Cni7G)ti-S6II9zcC70Xz^hg0UM7%xdtKAc-#MFc2f5mObnhRvUh2GYi09utYCtwiXe!ERwrg=Lf@5f", + "d^G-im1AbaIt$GVaCw7sKBjXW*g5leK3eFNoG8cy&&YugMkfo1iNP5dkK^9dkHp9v4kwg=fLB$!)$IaPQX", + "g*$(nsfo!LcX*Poo*Rt5YBzz!*Xi@qo89Hp^w3CyCSVKS@6^V3-AceV*(pa^-1V5NUi1kv", + "2*Wvt%PD1uh2nKJZr!8s0TN4sNSD8gI!-E3H1Mws&HxFiPUdg@#uZ*ks#hMQ49g1^^CB#", + "IC5HSyZyvZ=hw@ogSSjfwBT-QK*WW=QZn12QRJ8e#PXI7cl43wk8JRB=2nH)DHKYz-pd#B*(8gZ5F0LkJ)", + "&*dPUoN(7ZU@bn%!mgjDo^Dc%BtOiP5IKpamHL9dz8=O2)M)5^Q0O^$L7h&IUo1lnkaQE", + "Uu#^oH575EXD4VcoK#BPy&Cw8R67)=rK!0%463GD700rP2BK*UiC%cKoZ4X#&0bLTCFYG5H", + "$YBQujOH!MW0T6ylL1Cr@ivYfD#yaK$$rclgFqJ*6lEggAFkRXjO56cK9PR%", + "Squi9Q@gsQ=w$M6858(Ucm=qFWbl3kw9EeEY5eCH8Q8pzs!e0pXEIo4n*Mzr&^FrpZ=A6AgDf-Xkq3)fhYUVV", + "wGbe#NDIxS)T4HSGK4sidT1=6N2CsR!4eEkfK*%J7w$h4J@vuleC$tG)0huED", + "mYvX2WmX0#H45WovH=YyAIO2%oCUR^ZhyLGYlQ^XjPAj5@$KK7gFfBumEo)Vuf&-rEyVFWM4uPGIFT", + "dypF)TUM)XXX(i(($M&N@HEP$v$t0$j4ou^T7%k9CwWWF4WOTuWKa$GqQuyDo7lJ9wZjA", + "kSnh3(-2iQ)trjuF#@&a=KqqasogLb&$ssYvgWUNfLtpNW%JJoIKH3ZpH)fwT%B15s9", + "y5---EGL54*jOrIFn$^Aac-uiPo!W=!s7K8$YI#t#xhtx1WJg5h3t%FVx)", + "9LEJt)J%EmctKgJrOu6on3JBz*oURHZ7u1u-l6K1xth81UyWz30&DXRD!tkTQZ1*Q-uO!zR&5hmoBoNL-2vYHn6jtjD!uJ5nMO@p", + "BoEW%!nTSlciuXM3xYu1QY%@HymOmFQwaj84yGtU9RO1i2T%tivzt(bAFLiNu&ntgG*smxqh#B6SKKnp#jEA!IhpL!g", + "C8=&J0qB1PBav=DA6Y!Wf%VpRoQT^!=M9WyBg$B36sWzjvCYbUGrXK9*Y4wyYQJXrw8OCL4epMri$sbcH*m#o", + "4YMW13SwDDo!w*lRG0)WzYX$b%v)D^NQta%%doXbNN)KITN%Hs6%Ks&hd4ebn^)Qeoll0R0RQyo3(8gYrEnfZ1aAaWD=", + "TFfdpam@2Cs%gywuqUy=V0PhU-UOqDsQwoXiCr%dYxD-(nDPOFefra6RXWeHM", + "!UmJ5-!FWQviEe9e%JbF5kR=oUl-Qh2!k8p5ic-a56^CQ^xlnQL)", + "4qX%1RTws4i$hC1l*eNl4wU#5$4ewm3FihBK8D(@&a$WCvx@go2yqkvoZk*-cg", + "*)5HnlP%RCW0DL=)R2Ow2uLIp9OVs0vDlJ)F8Vnr4E3-!f3pO2n6IgaYop8B&h=w0lrchK", + "zEWWEi5Ui5yVc4!%XvUt7aGzeCpLng^a=rn#okYGcXV(x11VvW", + "nh5=LLA10RE%*ot-dTCZRMac%$H^G*3nDrzFMe26UVrefRnVuOEtb#IJ!-lQKnNLTTjRf%J0o1hSP0cehDhRk2u%MO5O", + "mBn6Nl1X7&wLIknE%w!(lVuaTr5wijv-7D6yfs#**r$e)g^Tx)uVuV!bEiFoU#9#-3=%OkfyE*ga##$", + "uPQFQ9IldIEVc^ts)%CpX8-1pf55K6#7F6Rk*^9qN^9ta6AaO6N63^HKn", + "d-tsSe3nfgQySY9qwAJW*J3o9JILLIuFC8Ubll3Awqe1ToW)lD#fCb$PcDgA-r40rtp-4bE", + "NjkkCzge0=Iv&NBwU9FmSc8KpxW9U^P81HJRSr38Uc4*N!TZ@LNTLmbMClWTmCW!kq)prSZ@ky!YCCVvA9m1H63g(GQrG", + "$ZpEKI1i$gDk=z%#8%tJCC&Li$uWD0qnwOJLSLf=fZ#og%*1nns14IVhOUw7mJt-YkzI@eEvzh3", + "^0@$xRmXl##952G%c!npq3)7SYrj*)Ic0XPJ3%lnMyJ=v-EukYe*hZ%(c#-BfK4vfgq(Givl5FRaeSoeCsUt0iB#", + "61JjrHyAyfF2yx%V=gHZC4T8LAO%I6XVr5MH$Tp(K^Iyo9KyAS*--SxZ&*z^Ecpq4aR^4OiLFI3d1709", + "Rgp1OsGyxc@^AiV3IwEwe^3w=CIaY!%etX48ITqi5nmvlA%Lo&W#Yo!W#0*P^95p%H3g%zn^fQDIkX7!ob9DC", + "UqCzSrK*@E&2g8REqLv%7WoRQHlPFFG3PtzzM#&^kB@^M*N3-EH1z", + "n5bFdjiCT$coOjQR0Hpm91QVBbDP(B!N1!zRpp%3fDUeUDSOwcBoyCtqKWG0v8Q8VagMn^zHepi)OAZ", + "KW6N@3CHd2O(adiw-YzclZZ%rE4c3mlgQi@!dx8tfFsgUln-TOd)N&T2mhP^xC@9jm$i)zuk-HPKHgn8", + "Ef9EoYnfiduG-a^MVU8wD6^&QkGWFj2pZG!%pCg0^Md$ht84QWWW0uQiHcMte^XO31HwRpbfT6Hd-rzP$nL5eWVfSFEgvNxOh0", + "dJPy=h&82s@WaBUE#U-GTc*jok8AdmDR=OvuO1l@tivtvsZnDmN3T6sfNYOIFA$4pT2$gpYC0twW#d4SvwEzqNkte", + "wWvCN*xCjRTjAgV^T*9j(V6rwcWeVBZgBDsTFaFW6Rjup8lnPrc$!dDFM5pcSOUN*1SUf(vi=B6CUFbKg2%HlYO7HXUkd#GL)", + "jrNyHvpKFsbDN0vhYsM10=n%fnl%VvfpLB(LcSAfzhsks9r)rHbg-yJYnU%XOC)N", + "1@AkxEuL96ILWj*1Cf&GbN@Huxc89VM-LU7^Z1y@6xZ!z=qzYEd*uZ*G-!7VRC$zjo^03gKH3ut4KQ%t", + "cvYdsM=qIFdrwQ6-6pXhn4EC2!tWyQZfz5jqeT(A((Pvfe3QDl^g^qMDYiT", + "mE24CYkigZ&wiRz$MBykMHwi6#fn%LegILUFypG3rQ3gMHy)JcWK2mYl6", + "vm%7Kgflfv!jXlkQxE(9PZT2OMWypZoleRjGymRCwR$)$YsV$K7TOS&per@$cfA3muzG2)EkCCUJq", + "6j(bKgBBT4avZ-)@8aj2szV7NX)b^a)VHYqj8Z#bCpVIG2H-6@QZQnowTjFEea9IZJN", + "qDpwP1lR#U!IGJTbw0xZoi7#$@zr^Sz%WmMJ6#eS#Tp-Nl^UGs95gPko", + "hz=OF1^6De!Jph27k-P2Qd2hl3#Dsl5N*QOt&jWD9sow0m53gpSrsRBY=aEmmL1opQvGr$Hnz7g9zlWr&Ci&*jy", + "hBD-(bNm61D13FJgiY!qwI6=q!^N*ZPyxm!1TuMRyxKMG@yD7b-5yPSmg!5Ghj7pSayegW($!uk&@U%", + "x-L@J*ATE^Y^d%pFHWdT1A^-h@VqqgLyCK@3Q(tb7w#Tl-zaO7-u8QA)zA%*(^XGUIKrJZtBLTWwGid4m9xUyIi3Dewxa", + "I$5)zrK0H!=#N)DRoD^8)4Ar)Q!ksI(LGSaWmx9lGl0&Tvb#MMSy)*EUr3igExNe))xckYvp=@hLaYKX", + "MKjgBB58-R@bCI0*dVMB6DnsHrMpQ0^6nxy=9yjl(glJccsz#$LoNgbkGy)-L^V!", + "CA85YK05dBNHr3D3cF@cL5aJ^#99Wc8J-PUV1jQDCVf^$PuSNw3m0P6Dxg(RR5t4@@sY@v3Modq9d3*", + "U82GP4FaOBtolY)5rsbOu-tk1R$OrL^xRMEbuJ3JXR0GhSL-nfMK4$dE3x%1ShNNzM", + "KQ9jDa=vWoYNNbLY^dJS@PYrRAEOk4bdvkBVvN@ph-L#X5(K$Jc7^lj^82bu", + "*gMpPc)duKx=XphxA9woQcvfq3T&Z@6eTfBDDlWwzG#gw=HZRNpRQ", + "wsiPo!HVa5yRiyrsKESd^(zlYDT&JsPK&T&7Iff1z-s5IeJGW@MA5DYLw^QA#CyDJ", + "!bo4nhia9-jJ5tHP2nmIoZSBaG9N(*BWigKBlj^qzo=^UKZKJ$ABmuehbwnCs", + "wVzNziaQ-saeINqgUKX2@UFZ&z*bVO=69tDUo^q^(IxpyD^tnj58lPc*xTCS#JLlkKzCXo0Fq&fNa5twU#$Mdbn", + "8DAsfBiHkqD*ALCFk0qtY@ikt0j=PnXQN*D3=u4w#Um5#QNA$AV2X3DCXQ%", + "wJp206oi5q3*k90-3b9=1i2wrP&9zEuDXDYOkgo*)#C(m13NmX9vc41&QX2*", + "u$UNha$s(g&I-y!OdiTRq&h&Vqx)q!tWW2y19ncyOxx4IOIdV1la&N1IYcONV6u3X=R3PPR8uj!5", + "PfiiDPuIla-2gM@X(QK^#WEy&w19y@KfFlmvE^=jvBZHquQ9aHTExYvYf3a", + "1aW5$OiZbL0zl4=$y%h0%3GJ9cc!MDQ1$%wazAFH!R*%58g)H=j%M8M", + "9Jy0MV38IPC&^*Pxb&iemi3iqcXy)PA9t)!V*k0eUE(L&bCgha%u#fG2oO!eX0J8d3-6x57ubvBylmIprr@LwcQloTyk7H1M0thC", + "8(*Jsv6QHSZcbz!fgCwKtodVNwQmpFShkjfd^kLPRKw)HMB5pLic*ph)xaV-=XVl@DvUVJ(fV@LPk^hI)yISt!2trU", + "CSNvCCO31y8Paen7nbQ@yJfSuQFDsjj2I3YLSBVtVbM9&h$irl(J@&Iu^7ez1i)*!k99je5mQR*Z28e", + "kKTB8T6y)g(jnIID(xA$kRttOqLU$DaBkrviW5)8yVX&38^GFCLzqBJYwylo2fs@$WE&Ti8(1VF#IBam&", + "e*cS8u73W7qmr2xYnq6ZcFlss8al-C@VjL43xFQkon2*BNBp7l)mr-*RgZkYHoCIm#deT5tsHTzcsI(Zm7reNzFnVcb94", + "QTuGHvcEgD7JxhpnwL8C(6FW87yZku*ht0dd9W0sR!EUkL)Sgba$!Atuoo5tuBef$&)u", + "9B)0D!GPP^M05nGM*rxqwhUw2JWQUQZfA8F8b&cPjZcB8Q-zt4sjotFV", + "PTUxrZcRD45cHc4d%8bQ0(q#uYpDio5RI8iedATb$7MK@)q@O8b=UfKDHhe2#y", + "x-ZvOKIrzFFvBz(f9z*HF%PWw7F)1h^0brj7MiPgpDziFqbEzvZyZinpt52YmeKdsKI2TXf9yT-xXzdqh4wfg5xi", + "$%enrsTSjdf==Xf%)5@pM0ppQ7GvaiI%ZK5R(wAGaNaL=qY@#KXyW$@N&^BrKEdojWM", + "GTU@lYRgD6OeKl^-lML6vAWXCT9I!(QF8pwELxjaK0I3O4@!vTQAWHtHgw3))@OfV@t-^wVQZNXa)t=BehIzOryG%t4q", + "0hB$g$7gChBZ7%JKy!N8nwRCM5M&N@1q=v-aBPE%exRx1(H*5W0mLF1t8c6Ana=t%^7y)Oz)!qdQ6aMo!z(n-ZB8N", + "j6xjrI!oN7UT%KX*MyqZwM%$cC7&N!lFtigSKVGrboRM2hea#c7Gtvr(Dxks))0735sNajt6bytLGKA3e7a)3tXK%N)", + "@5Obc5$fZoz^PzZ4j6IKjqhazL94bN)wwgr8Mc3LrRb^2@f92J9Fk8oDwxI83oYSc6FacYHOJ7#p", + "XRacS42TRK#nKFUaQ-uS@Mh8X@uOTw0qB69414nUVZJMAe2biXDSe5YEXC2%^^-3Ra", + "A)v0@FVd#ZVJQV2XdiODdKYlSFL20=2=29CuFS7#B3@Hv&c2wUY$iukSZ8P3D0&gf75dpj16(FsX52TD%N^X5tC#!pL-)PN5", + "ocMjQZlz0QlbDHxE)VaRY^FRG!IA1aCxTi(rFlrwh7f^Hdxnkzi7p7CR=DUBu^V9)=", + "3CNAtYF#fS-JO&KOOy1a0I%UL)uc*=z(SHVU@FOwO6RyV^&--6qDBdzi)-S=RYg9tM=7Zr(t9k#g33Wt", + "ZYW(*WG^f)CHivMYl9DkWC7AMAFYbQO0mSa9cWaK&SoqO8RCVtZDLx(lCVoIFc(f", + "0S#Gd&ph=us1sm@focqd38M*w*BP114HRQMwYNrFyt8iOFvyZZhj7lxdHjic(X8", + "BEChjr3x=xGNCe=!%NacrPP)FdB$8pRdntTeynGXBOAE2enzC141EzLLe6B4sADCF)7#-^Uaf", + "h%3E5Hq9uLG@5Ww1PLzP@f5Z4W9dSuicimXuVf1yM^ya*M=Vl)Zqexk$b", + "94*nO0SBg@#IU2rjbG-J$i6g&m(*770rnp3zFmu3WYq=h%@-(b4PFq9f%=oVlv50XcoWdlDGpJHTD4", + "RdklHGtvp3c2^f!iYGOfD42CheoU^w7jQF(lD6sYQ*ECx0B@CfQ4DZlrxhDDqNUTSigbaJN@s$Db#G(h78Zf$", + "ug%BPLpFzHk#Ui5W^Mbf!hrvg9$05!UaltcEa7axlung7pqr=VaY9)sU0", + "YF-06(3=KoBp#4d&&5ux^Nkj)s6(5dgrY1KeMjIOCrVv=2ix#W$OMe", + "tEw3q4#NiMRYsYcC-Lw#H$Vs-#q9IzT9Ys-4cmqOT6%(KG)J%V3rRzZ^UAVWdBJu18-", + "1Qs)0PUgEq2J&BVkYPIA^@9Ch5mXqHJzrsbK2ti82cXKqxpq&KB8", + "kJd0Nc!ft)qyLLiUa=Qh18QX4r2S&z^9NXsU@U)N&Q9PVEeMLr#MGyrQi695wKrqbRV)9w", + "ErS7THtWC$3gVUOCk5@s4O$p!zirCQc8cdxFK*yM!n0G^Uyi*x)D4", + "PA9Meu%3ob5uDAjgT5EiwuEY=(&JWx6JAdBtoQLed(H!y5fWCMgd1JchTLmr09Y72wPINqNdOu#!#o8!MoxIDCOKt0gs#v$n", + "yl6g3%7lhxuuXE*hi*x#oTfz(=B2Orr$l7Xyq!@wjaSuDEQDo(tPa)Z*hKqnKFxTPupe", + "3QXVkZR@5wSsSti4w=cl@N9S%-(e)e4^nrY*@$r3&RQikxtSab2qSyXp-RQGD3", + "vqE8u90R#wdm51LmQ*z=JTgZCJl^s6Ra8!ea%BhQ=aOYziFgjHI4bfE4Gc!$06fMvj41PVU^fpR3c5)Kvwdd6y&s$-MaWoVbjI", + "xGYiiIm2Qbvj!jQfHywi@=N=4zrOhqgIg-MC4V)8no(Kbqt^eDBo%2@4cyIO8fo", + "WwkGeAYPKP1!D3vLOajYlsF&!fHr!&t99Fn7M7zJR0wX*dU*FqKv$JZ5vyVZna14oSPP%ZL*A-s=SGyxnz6djS^", + "hu(^(LsH6cGLpmwYvpWjCYu!mu^6j%B#ZaXZ$l$t1pFe$BQob^L7V#$#hF7HJQMxoca", + "6qCwHFjaafAQc3noA(-$zJ(aoUTPPYTwx9zXPwSK(Ez7zeg&SNQ@6wT7EwLS^Uujv(3c$JkMKRMbQcvN!6FW$iDVeoV", + "c*bQuL=!(7vaof1ojXaahXgjKkSCFjNgTgPVBP)vk3q^$AhV-7CD*wBkF=v4qFOVcz%#cZjXJbacHil^gUMZGs245y61pCt", + "vJt2@rba%mY4&2O=anXjr&cQo^5PHf87h*A0eyTY-TbAHgoQqTzB0Di", + "bfJyi@J*w9d0G(!-Qk&fhF%QG&LQt48wk9XgWTgptWK(UrMe1i2KH%Ehd", + "C%%NL-YlfoPGwF7ibUA0jAPzwUHe=a(UF(7pDLhe0bZmO^f7WJcrHHwF(l35ZKNlf", + "aWcIu!ndhUa4FV#=RlF&q&z)eff$Zg&21luLqSCN!0gD!h59fYnc=!eP@LB9jmKiLO$%gi*9PaVNVRF60w)g", + "AqReyTUC16sfDjm1R&T^6&bm1!l(L7TdED(Vw7kG7s2=(Om4UTu3S&zh2M-ZHM3EUyPnp9wtE0GCff(c8C((%K", + "0NirzQ^r6ZWzDlt#Ine%aYsdH^9lR^(2io4i0Gn5f30Gqs7a8&Pc(rdT0NSf", + "cV6c!PxiV^r5rX4n#XaR%BoehF%F@D4oacwyFp2L35JzSDnCxN1ImXoxV-8M6o", + "s6TkkS9x&yJQo#6xc2r^qspk8TByEB5A1ciFUdF^wHwh3gZPVwtvJv4zPoT7F5XjI^ws", + "X8tPeo8m9ylM6l8Bgl6aFD%aOJaiGYOd$Z@)909$tDQ#C-6MqVQIpw$D$V1ydu8V@66%qi", + "B5ipE3j21#d4F28Kx0hGLJJ%BhuR7784Jh^1TAyL*Kx-4OWH*Z$E6OJKfuFIolvmvA&Icxc2x&CBv%-m1KNRXqAT47GP", + "e!YKp-xdUV&LDD$Xeg2xq93%m1c-N(LhYDw2y(!phyoslP!SGRH#U3^iT=CE17Z2kfgOBOYqI6wglIsEu8", + "9yHPubSpzv3IbMgUUgFUZD0wIFqY1sF!vHrwEEHGA4427YYT$xJ9lDR#BrwNL0H3cuDBzCmPzoQwnCq5ViWx@z)iQH8%gD!", + "bDq)%erl#8Hl0AqcZX3EQ)uCk$1iTM4%kUlT1FFIIHf^Z!ae5mxwR6wfoWD1487)tD$5vwv!07XF", + "BxVg&l=(&HjRP6xy*IF)FVZyL(uIquL)1Fj)-B)cmXGRYq3r9*tUJ*WPns4p3jQbzKPtWvCnBY4g@R7yW", + "@W9f4DGi^Hwp)Vn5Xnx7TPPfzz$1ozA@tSdw@N&wZNSUNAdEKa46@y", + "!%uJR*WNIEVyWbzpJ(a71K777BL*M3hkgbR-!#YgHfTz&6L9d5viN7O3NXqjS!bJN@p1#AbRiE", + "!3zfmV23B&EdWO)5FBB2l=!cwud$cd*$$eO3ive@fR1RnE%H6S$C*Dx!p1gcgwCua5cy&hTrbOn=3%UMmOffVrTe2EmO-w(t", + "65rq&&gBaRb^YTBurKE)YExCP&qwqpqv%geiimDWyW^tRWOLi8wI929(OAGcbB", + "CT6*@gCCEhKwTPkZrIr)hMDDFsy)0eKyEy9H6T#65!0*h%rU%!6zSLfM))1E!z@9FdRsL!dttbRU", + "D&4chk6!@f#fcuC*H@K1bS8RG(fVSCIid4dA&0BXs)2L1JSH(@rWC(JHpxV&ofzv5E6C@kTxrw", + "AbP2NPEPqPX=twltxAE2xabitH=-Jz4NEjN6PxkLk2AU5PT9yjl)x3SZXJ@(qd(TUZe5", + "Bn19#k6iFMNT6e$RuO3g2rJ!T8a^w^*UFTzPIDIhk1mzUMljmJ!q%y4rxL3k1WfVDvp(Qy3z22)F$ZzT0=csNe", + "8@YG-@k(uPY98LgLWS%Fp)kR90e1Ly4vOTd0uRjX95LU%6g5#aFa%OSP", + "@9gt)^cH#8l-0%0aO9@9w8kJF5o-2g%J(AcrGCuXrQ)lNe^iIJ*bFKAY78v%zObr&", + "t=XMKP3grJicDAeDeJ&)jRqxU-@@yPe4^H0p!dgAk6l*gLHTOozPXK$=lqW(9G-dxn9K3", + "GU%YgCtwF*(kE5)thEhsEXA5RFinvsF5U1W8PDML*Z)j#ca*fnd1xx5VfN&ZFOcQ63^t7^XS07ODxZHOeAYBHAK4sf)smrMQL$Uq", + "l)x6D%a50CalB0-d6-5KiV9=^4jnzlceHYLN@j#d@S==*C8eufOmHcRN0J12Ba@tc-QEVA3t", + "v&-M3VEI1gETPqAfD%xE%uEPZD6A-^DD87Nr)(2jqCQYcJ=16OQGcxcR03XAcEbJx(48JqLM@W%1", + "PLfvnF#3RBHryx%K)qTI6VpZ4f!!$Adj(*ZjcHUEa(nx#rmtTjnMnv#mN*t9B!U7GEcOFc#nZwf6I60b%!!xY4cz", + "3PSj6N))7eti5JQki@WQ=7AXdPg!NSGd)rOcrS-ZlEud-OWwajxv4#LxQtfp^F", + "&OMeGd--I4@nmlCVJDIM1(%t0Bnd2a8#Kcd!SpR3ttwgC3(*C-RqjM", + "0yURhfWx#k-ZPfNN6yPmr9*U7--ZgXg7vZ=NIY7lP5F04A5B)P@Z^N2zSqHKT@sC(t9k0FWF(tIFuPnOWG!FhPQ62znFtx22XJq", + "RaX&GItwR!u(XTUN66Jx8Gi&sXlkeurle2cQQb4=c&D$2k0Bb1bSs=v1pg1JsxA=M77&ehwhIla!H1G^SSg3g*I(!SlPLIz", + "hc%dcj^vWoNkR4N1M3-lKX#G=Q%yu*jvXnMhZLlV!RelaEDS9^K)=Ww5a%P@t0DRY@)-MBNQiL9WVY!GLa4R1CYC2*0-zv2iznNQ", + "qOBuqPcnYlZTd^AeLd%kZS0wl1XU*)@ScKc8mve@a0g335cBJba#7Ah*EPqbYmMkTgC9", + "yALX%jUk$1kqX*e52MUHfqAoqk-%0R223MOotcM9L!^BMg)NLr%qjaQ37FEfxN-ZiAoTZ6IzH5@q4tvpgi2K", + "ytp*-95ogWnw(7y=)NHqj^md4r*YBG^EDdwv91=6tYn-K3BOlD9%f*0I9b6#A#U=qBNCkfUpqk02RU", + "DNpo%duvz&p*^VGd%(Uj58V2Y=4^6TDtnxi)Kttx3bTO8JyUrUi1jGaOSGSry$y&7zjJ", + "8gtKV9!(6p1MhxVMF8fnZG4QDWr%Y@y(#NejtWCiLr3lYOCUH(hgErR5Cqo5v", + "itD7w&)ct%=q69RW6x@(xo5nL3sSX&F)PukHIYq7fJY!Z!90!T66xGXWI#YFYzgm%(hDqxVbcegij", + "kxAXpm4eMoHaby2S*pHEp%tL!EK5VNrfYPCb@Op2-*%i)smOhZ-4xE5GDCYe*qebJ00%zK0)DAmaj^VqBd7Jt&Op", + "Gl%PD(=Tu2aQbUOFPd%hG0n-H(T^ADDc47jV4ZfLlJq(jtd0UFTXwSoOMiSfGxegk@jVO8pNkRK", + "=8Qy7gbnc(&#MgF1tJxXpW)vhDZJvTkDEAx#E4OXxWJk@09So!Uxvfqc0mBw", + "qXB^AwqrAg6II)a32j=9to6#FsmUpKhP##8RpU*#Prdf*9!-(KINtsGy6SC^sboEc9WKVWEp*RWk(qRKj%", + "n-H=MAlLDff2VLcl*kH*Kr^cX3i0qXi6$Vb!RIElk7fWxGcYP$WS0%))n064Z1pdK0DVIp4B9f2IwZPbcLjOAmztkZwatFR", + "4zOP=X-Z@kFm1k-@bUku5V0(0z-5onUMv%UG&&qTbQqeZjeqdERqGNO1yAiHy5kHWXT3o6-VanF", + "!zx4PeTvXdcNZnMq^UC7^Hp9x)Yen#noZu=Sm422CRnScNWXMy!Mo^BD", + "ZxM3oz1KGc(DHuOL5Tzt1)lJcN2VO@@Qgc--D4ZfOvDH0EedJ5UK=oV$Xka^zod6=Jy%L", + "zgrjiK%^FdNRfonJH2R0@h44(LCKCoGz#6W5kNjfN1B#mQmnnYZ34XWgKeklwpHZOy%rbMB7gPEvVN", + "Vv*w3uwjC9c)LU-6PdL!*6^izu6^W72B%iG(EtgebrU0bsQ(fPB2HR%i)vBSXfRIezJrP%=#IEud4GK*dJjG5", + "!w75F!)Z70oEde2RAd66w7mrKOj9bmNy)cHOQY&AVbW4IMeoQ0C)DjhBBIOsTD!sYl", + "0FO9PCI4ATIR6KmVIwGVHWg-kfnX9L@!#B9Oq$=^OE50Z14H@v", + "Wrwx7zmbL$N(-Uc8(O%EiKvtPRpEPDw%xW9#1YSlF2y(NkNG00e)168b2a82aq87$#87OFYnKMsB2Y90TNK))gdjbdRZYr", + "mJ$W)T$S(J)X8(xiYE@DFHVgylMZeVCZ5szU8KnIaIH82iTxFRCus!gQ", + "A3Y$kbCBBTV(FDKE7xbsfH8q76AwEgQiQd4Eleu&POm1^zRf6XSxuscpCyB*)", + "GKkLYu=0IkxUKHPRBR1&C7vMu^zD3e#=TE$Fe*z(kBJmhf^vCX4Es7$O0SUt)%r6O#j#RZFJHB3OB#350#TeWzP", + "Xo#93xmhy1KBiFybX6$23vVRH56TVSR(@tq2yLaY#hq^$O6(r8-HdFE^=I#)i4GU9=GCHxRZivHjWcB", + "XqXBJAVC)MlINg9e6BGz81VWgELNmG#N!J3ORGAxaGG!D$yaE&HS5xZjDe@S^PTH(!%*eG", + "s&s$#QmmhQ*^q=lCPxK0adxB0&9elhk8C9SN1r3WrLA-0v^aN4YHEc)bhHeXvsEtJzLVuN(HU$Wo0aRjWiyJU!", + "WuhC=BKdAnsAxfgZ2cjhF1X649^q6mVVhipY$9rwC^UebYQT2)IT5qoIO#Uf!k6VgLlAxF", + "yQwF8aP^7DVKCnGRPNbuoJO7g8pb#a#4Rv10HUV9fqZBsrFW)fLTAWPD*6pFeyz2uStsAlxLV0GL#o$@", + "Z6EL1GUYcPmR!e#xI%04g#Ayo3@4G1SQPq6vQBY49r$Tvik^7O3@Pl6=zOCV3Cp2FwXoYO(aqWb5", + "*s1v(f#%S9Q%9@1rYPptcfa@T@Nw^m#H)*MvyMcxt44sMjTn0xq%JfHM==gGdm3GsUkETO@", + "1PbyEnV7-FHfxBzBmj)Doq&iO&b!Lwg@GIBlm=@Szaw^gu%6chWXl!x!-KdpYzzhG@Dm6Ty=KmZ3@h7tJaL7yXSAR@", + "!%%^j4A1tfpOrc1!RrBHlQ5TdHK&kow*C!G-Miio0-0l57h6zp2J6HkDm-GChH9", + "Q49bdQ57=m6cx-3!8SeH*IoiH)M6EGuG&)dV%OrzS-jng$ZjsbZw2048ga4w4yoU9NcP#QIxrCM6sp7qJIOx975zG)MOyG3$-3I", + "qiLD6nYHNG78x=!ru&@-!sNFl#E@*pE(8mt!CmuHmSfNQVYxksRBQ(3dxZt4DTh=q7DjBD1^V49c8dRyoXl9RoHk!m!YOa7", + "!EhUzK6Ioet@iQyJnwSx-BlzX)qtR2eKbBo9D#oE7xa7JlJOk$FGjY04(TL!Ov3FYPJJ!Bl$lX6u", + "ato3Xb4Md0&sncctvSmYP5cQe)rcdAU%jjp82DfT2g&$hhzVtm&k72-V", + "p&zntM8zr5O=y(gN=7o4w*vHK4inX!d)4XX!JsQB3!=ej(N3*U)jn!vm-V4eXSUHkEIWrC-V)R#AIosN48KmM^Wy9jB6&r^mL", + "GwA5=lapOtRLQrTTHrfT$8bdWt4Pjxfee-hh&dvelokBuYe8gTUU=Lzc%bF&cvRslLhD44D=qV4", + "htPHBQHO7Ntg9ghI7qF2fgqQ7H^S&WRo2Slds25L8kaUMqyo29*PybCC=gFEs&Wo*9PPQrw0@YJJqSmHjE!)lFoa4*^uQnbu", + "E%P2$cIkXz3bMC5nKlD83PtQuPC(-R5XClKz0-9%K5Av3ON!PxYx=Gij*^$E6Gv5oRI7u=1XBl", + "7LXu0A3saV@2C!pW$))qolunT0$afQ1rDnk2nfsZ!zWQh=MeRj", + "QcoepN6uWtS=rt-v0ePd#tlH&8zjAmN88@kG#zUB8UcrpBA=RTvgVT@ltmaJtBXsB2nt", + "8U#2abgs9U(xUa=9O83mT7PPKY^HUlDOfLn*a5d$QYjb=D^1%-c*KFp-zXA0*&ebIak&g2m!KcCRa", + "ygUdjW4gpoqdkqaexr&Rnp&&OE=YxXCA2Qnd6Idk0XLZEC@!*j7)BSE-GEyj6h#D)Dd^4Q", + "%!I%9UmKOgnPI4%cXnj!b&NnLAKmXgxlOdEmQJPjS((lOXdi*7m%RmbUeskBN2^hp", + "pJdZ6rS^^KN-4)6-o#3%idCHjF7$46E(Q*yuUWxFWklKzhdTghFMpgPT", + "aZazfcLhjstl8-YOiz8j-1PmsvEK95CBG8aNcDLH1Wxi238MLc5dZWtz", + "KaYml9M6nBY2ThtAZAO@E7G@qZvu!gVnf!-2b=fKov8G(GzmJE6U1K=O9H0dW", + "ipPCVz3HEI-Yk6$M#d@$oLT(JCYGAsP^mfnFcowe5PYRORUVjFBA066&SYf@WyZK!7TU^wsOVTVhigM3UaO=WTnUGM(i&Z4z)gk", + "7sZ57bpQgC&M6-BDX67LV6*P1R2aFzMUG3Nijm!iHR-YM#M&d1f^=Pi4O#k1N)Px8S$2smJV&p", + "hsFH#nBj%Yp5gM$@oFj#H*c%CcCHSe&o3RSGRJ$OtK7j0Qd7WwPsaKhjzmKf9hp7Otjxtlvs", + "=q-hoqyFY#NwNLkm1gHs)hFG!Q&3t4RN7PwXD!zaOxwkrumHqRLawGL1PASGCq(rcs89$QUgjfvD1zIEcqQv^cOxm", + "(8A6dsg5eTZaBIdkJlnmlI9EDDc9Ny0f$ZoqiZJMDT4XynnmNDa*$pd!$oEAEP6", + "#E2Qd^t$C)Gk)oMJ7y@FVKz6urE9uGjoXXjb(UkI1I$hzEuPig@M#yVbBlmqeaQj3KB$o9k9FVNf=ww$5rkAIAgcj#Ti*X3-tJN%", + "$2=YF6n%kMFbQA=Q$z-5v82#w)pQNjOarb!BfTUz=mbN2fH#xM7D()G^UYLj0T0c$aAN(Hs8!fD", + "sDA6SF*0%jkO!QDwaqvzW@-lfYNa51aEf*TXND#Xg%Vhqpq3mrg-oPCwA(R4$^cm7UO$u", + "0tQ2mE1R%==sYRE!eo%NQSQ^T@vR!*gtlURqW6dv8oVDuCU=J$F$ejcwhfnWP465SJmaT&&LZ0yl=&rid5YOP7", + "DQHWG0Mt8p)y%qNZ$@rYz8-1YrU*@T0YWxrk#o#pyBG(ckQXN=7e$^sMg5qv56M@$", + "X&UR()s!BuZ9LZFR%TPrag7Tz*9EugP(j9#8ap-iC0*HjNLlZ3MT&Y^Ug5*kQeEkJr78mq@shMcHXPHY", + "mQvLC5YAwdJIM41(#jDCiH9t7ZJSzUPN*&w5S7(9!wfO9CE0W@CVW7j)Ne4yb", + "&qkP@34kUF47&Kc*rlEaxZeUmp=jDVR!z=8Bm&Ve=9lJx1T2DqxASpnWmSO#iIN03l$Gh*KL!8$bvpzjT9$EWTkFFn$UTc", + "CFcW8)*E)zyA=Iq%cJ!F9FM&y3BnIO9%FreL2Uqg00U)JFclDqN", + "q8XU0o4j6tb9VZF%Uw4Bu&6Vm-fz*=SSUt*d9VsLhcXYMeAG4M-qcxy@2k7mprnG$3l&hQcGrTfIUB%", + "uDRIz)3OQgqKsjjLG7CjGh4UpxwRqHgmotMmFLz1cFqTcTsWDb^^", + "B3(zNcgeo09W7R0DPFEQM4blGoAKK@CtOzomBA=-raZ=bWl@qjE2T5sYB=j58Z2yvwzvF&j^%2Hhihm&4eYJV2oJYjaRbe$K%", + "p0I*Ty*9$HfbVOrobNr@M^e=M$ChqVNHG0=Fs@HH0oOPtwOq5juFuQvf^sVn-s6Jgp4SXpuYhEVk&^hu(OZ*baCO5", + "!htCbkOAaIrQgbH%V*QvYMhCVAAsnmHnraiB5^DNZ7&8c62AIPqpBW1mTpeogsS)(l$T((!duy9Gf6", + "oE4L8u7ToqVg*E-ZrQ*kSDD)8CScq26kD2wr)fl(XxH7s@a^-EgbCRg@VS%0-T9VK0HYnkHvFngFP$GgzCqF", + "#-BC@tFLnYraF&Gkj*4-@Xovep)VR*b4eD%tr#-w=JKP02LhFgF(ccwU)Rqd%l$Gok6NA#yWOFs^8", + "WOju4o901N9Q@UtrIvAC@Qadgr$2g$*(pU^r9D-7p3uiJEGq2fF4Y5CRPr&Y!7aB6C@-e&22XQrEGKZ=j", + "-^wPyJbC%^x*x*bh-$5ANaIN^^&f-A#x!*njB4!!VACUbDW&%gTApdIbq(bO((aqhuco*ONO", + "L%is0y)!LEjw0x1S*A(20ytkguoEh!HNuZT7zmDfj$toCfZxlfc!3hdYJwL!wLxmvF2ndHFvB!JTnO1m9rVP9!YD1y8tQ^E", + "t$3pwlTSQ^tKniwbmbVGPb940@SXw3KpbPtr-PQcRv*9eWS-c4krEXv(&jEl)Bix)", + "-%g9f%jEU3WO9zsCcr)nV-1Z=pbbnu!uIpLv-Brh$*G#Di$5*3Ccy1", + "9AU!YC1Kcg%mmH47NA#wX2y#%Jmacr*(djL0Sx7)Kqq8o%!x*vbf9=RD3l$GDPPZJUPpLTj^*I", + "bT-hZO@kTMBd&we)SxTXs1V%$wZ#$&rmuD4Aik=Lc2)O$KL7U*eW*8", + "H1$zoOKh1Fyo#oSad)JSK@(VN@lNmnog!BZjJv595aQC5-FePprNNEah", + "k#bhR6l)61)N6g9#CV1RD5%^=d6Iib4^ky*p=BbdkcY0x-E4%qx0i=&1^pL@xdZeynNgKSuVk1v(GH8v", + "8wgK3)inM2Q8xz&*Bk#Qa2WcYCt-&7IMf#i-T=)5JYrwEUQi#f3RbSEI(ZTp8Qybcg&L&QwlWB=8D9lS$&zfAKS)bVfVuD0U#", + "GC$oK@4g^xEzvJVrEiRzIAkX0TMF3slreWxRnQiZQp4KPP623Cq#Hx0sDd4zlJAW(Lhop^Wo", + "TWqpzp)bdnrcDkUQuZVVZuIf0ptFWRcHFzNzId(dogAdJ2kVT(S06=#9oGYOl", + "l^vcyr#l&XQexfqbzOUuxiFHaRG%3Rv233IIA62&7u-Sgsv%p#j0^L", + "6Nk34RZ7=1lyOBDJCnvX)!IOC2zNwko-CY-jxIDYhFkQd29oLBl5iw5#", + "K9ljJ^YKQoV7u&VIC)k)Pf(dH1UI$Nsvt7c6HLyEdL!e77v1DrHIuJS0Fjjn-57Nwd", + "SiG^okR1U4Bn(hdsU9uFeQ*yf!)nA)AzuYS*j=$uJTzpPSL^HG8yZ9K&O!#uMU", + "ffK7nm=g7z#1SZY00-gL3JS2Ehf1J!TkOq012WO4w*KA!Ml0vCy2eZ^WspyzlVLn", + "NG01C7cLQ@hbT6ur)v!=%bwjQoKwG!Dc3cmqsLi!)-*Dxw^kP!QI-vp", + "8d6z4p9&B9)Mtz)zOGzC@%rrw5Wwikgrb0XCywCeDN3%bBm=hFOJoWdQvCJ&uhbC#viWmNdU$F$!G$d%2)0UWg@NorbyXNx!", + "zh5!ki1h4bKRNadgtyIJmNw$6bQz*vCGe8&%lgJTX$PzH$!7ME^H!f#W(Wkng4ub74lVVE2", + "7Drb^DFm*-o16VHXPEsmHRnZi&OKw^&z#&)$OQO976Nie@fwQs*^Mnz%jeg*uJcAjjB26BG6vAa-)v4t5baDfVfNZa^@", + "F)dV%Vg)8jaz@DjrRG5SBMUGG(L7pG4XdRRS)TBd6=gc24t3=sPv)3OIeM", + "xIh^FR2Rz)^0@FfZE@58cJINPe5Yd!7qBVQiOa&x#Eb9q!Fkm*BauCf#U", + "dB1A3s7oR8PB2-Alwz3*$1*0tcyDfjU2Otl%iazSa=9U3(eU!17jvPAlxD(*1co-tMi58UgNw%W7OPzb3@2*g*artJ", + "mFYUPt^A&8GdzM9rfPZ8C3WJt%3(R8VIqy*wav!wqqf(QEYSn*O(cF$H-U3^yR6basR2=(mGdo&Ra)6RY", + "9iMrAj)&XKWVSSE@BvHA0XFknKRw@7svihKWiR*vYJEllDaUWi43*^(", + "7MoYXLABZzY!6Sa!FiFlzw=CdvWA3ZgEjt02@I)DK&(Kcx29PVO5ROj(1M0r=NPK5wtVez7uJR@(TQ7VETpF%8WO5ly-T#Ce&$*#", + "By%-UAFhM#fX(=RtaWI=ZkWz0%OmmtRH@pp@DDEER-#lmUjM1zlJDQ&T", + "($UUwyGOu#-EAS$TO6zF^V0=6nX%esW!h=%q-##Ox6@!YPdo=D4SX!TAKZrwdrrf@", + "7x3#kU2@P67&zqhnu$w(a%eZMirjx(6ea!Q26MG!78R&h)=h5s4z!rpy%cZ3&E8@Yah*y", + "GNnYVDSR5%za)i-g1RDuOirJwF6z0zgGzEUP%i#g=4eS44^x@aqIx(zpuGnk9&QqiL", + "@=%fBLxXzSq7^gAa-Zf&YL93Kmh30o5a^Jvl-2bH*-AVAD-&h9Lv6=nXJqw*A@S8w8OmdrZahs@", + "LqLwqz7ZcFLW!-&r=9EsM*kKvW)(K6xLKT)1^s(7FBq)j9yZJBZ-dJa1!fDu6o$ATAXN&MRZmOTJ", + "hVrnx9BQk4GEtRj33JfROqMD&Pt-s^g^lQxA11DglxWsFt@YVSEecmyoOHBkSUFhcpXPJ^651xdsP^Oj2vSQsusm*fzYKUJz", + "#N5JymwQKd@yustOd&UtT)#KEJqo(8(G6u8RkP3YCa*bhxKfzf$4X9", + "(a=t3L$dry36nBAbmz@!Y*mR%4bBPKN3Rj5n%vu&giIQ!!0qlpKDgmtE8H#(3MG-D$NtUkO8TQr", + "51IAx%!AFC*=FcUUx#Iekk67%ppx#Z#KvgCD0x7Lj%Sb#)a%^o2)-fl#", + "R4ry!2Kg-O-08rm6cYXG8m2llC=@RxaoON*j$E%j=b93acQkm3%&T5ERTm1)pKmh8oNuEh", + "bAdNn4yf#AKYn(FMm#V)lzd&TSAp$JiTSxonu(S(Djx*dPY4*aN(4eDC", + "X#HCptt!Wg!RoqJ7fR#hWMFds)h^euOvyccMX=9V10t@wd4sd33H=-Y#kOo(-n%lunU=feKJCFb1KY0Q9Efh%2h", + "W!49Gv$4jA(yaW7aSiX^b4-J)UV(6K4VfPuDZSPU5EezPdw#pc0S-=C-J(Anky2%$Od1Z^80zb9nc0czrVP7iix2k903p", + "C2bMT4fUG%(B=o0OeF!dfvQQKInNGMXumJr7O65EG5zRl0SZMOMN1-LL@sF%$i$=Pf1oK2sxWga#!7Xz#WwFEtSMj4XIF^PtmE", + "bp-9I1SIz*3wRbXPPN^OQAe3&rK(UI!g%M2JX#yud@ODn9E%VMVWyJ%!fAe", + "5hgcRY&BL^z3V1=f2$r2$t0ZqWCanpj2ggrp!HcyclgEPtE8e0tPYN4bA@CASZT3X7(", + "7TajqMppuuUJhQZS@bZCjP7LjiEQf0dIClw(Tae$)#X4pmoB=4EzD0uCfIj*kcGAUbNa4Xar1i2LBC1BR11fMp#", + "i(3-SQ32Mgq(w8xqud)Ojg67)-U-jb(!znM#c*XBT*928OCe4%heuH@--OP$Vwj*W-KKuQSPUe()c4f", + "0*YIek%ag9bJibWVj^t7ljt4PrEmuBQ2qVFyDDqh-(ESWKtENbNQIm)53b6=UCx-q", + "5VZULHBG%p&!CjoOgi(CmOw-)B-HVYzvLkVrP*(6alM4(8ybGv$iJUAxxD!7K&-@8EFK@Gl8g", + "hmklBKpJ0QC#OnG@7XKz3aK$loR3TcY^tkR!uugye=O8tNq9^MUMX@ZlAh=WXtCM(E34gE", + "u*gA#$O&-#Ug%%n!#*P6lKFiMRs-6UPbv^CR3*c0IV=pWh!5pQjgL*z3ATkEktXlfbsG^HYK", + "t1MiI6GKM%y@AMNaM02ZQ=Qymt(-62$6*FgkWPKi*0AySDdLVXtQkyL1ur(uV5wEL", + "kTrK&LuSUu*74ja%YLxFYwW$2p0E=Td&v*Q7$38sNR6yuYb53lwU8^&LgVqizcZ9", + "B!apj12P#Z6xwcrmlD&0KqpYWVcXil7qm8tPGAo=wkXIm(rSk-#w8u-xpa^v)DqYtw^!&QQ1GV86^6P5dKsXV6Vok", + "2(W6RWNduK6$IYF#&k9aUGq@^62%jCY1qZqpXV(pj2NzSbjBrkXhJVuWJiev", + "dKl-BOl0woCNNirGMmzhDU70CFleWGFUxNL=pqLhFukIp6AbfW%*lEcQR", + "qyhpkwlFGUvaCu85WECWF!O6dC%h5s8XEsX)lsmqf@gS(r&kG0IaXy#0yrfaN^=^Q=Z8J&XL50K=LQS-qlgKW(fIkBVi3^LoJ8S", + "FdT@!oVuvmRmVmXOvCYmyTWh6zoSx6wj7ubiyG9@FLyzCE5kuN9CJ6V!cugT", + "xPEa90qn=Y^o0Be=M=GrqMI7@-KaDQ@R(Iq)jjuFt@b@z*wRDa($0hag9cv(lrOVq", + "ZAy-fw0I7bu62Q!9$^OCPxSQ)sF4KCpKYDSkT$XpAUX7=GG*xQCDR65)2BAoU$ZtGyM$Y", + "@5P0V%b2mE!YrCPL)g5cHTef-8DjDn9@fQzt73-Bw%NM)Uoj9RK2#PUfCRy", + "&RAEFT@)PMwV9Q$AXOqOSYwHkST=ef2zeOpTxG%=AtX9CmwYu3kqtCJ#FAmAvxoqF5@", + "AWpfQtMy9)eT-mzQ2nXP89JybP0VI0UVrXn=S&sQvmOhIJt$8wj)xg5FF=AVa%", + "aX-xjg)$H%*m3-#W#w2Dl4sh9=5-RFJtmasOks4$IF26v4wsU1y-O4yMhozsBukR%*6kLP62-qp%wX81=O&)*t2XRdEv-Z8a3rUn", + "DczhM!PCOkuz^Y@dvzZ%j)@*Xf^9Hj^zxIfnctBveZjxk5a7xX%CwrhDa74ej41q9=@Zyg9JYK!q83*61I8w*u$IBl", + "h9NMHgaJ748D%$f7rKnxpmlQp2=ir2T9FTzMul*URKDUBfZyRh6MdeAZHGbGdewt02@eVmp&P@pS9(n-@p*6=gfqB", + "qn$bAsWZ9lNudJd8Cs!Gq8s8SyiC6vemO(udGoyEQdFF4YPg9F^j#g-z@8g4VLHYiTkMwB2TLIb149A8!v0u", + "jzr3-N!*-*VHtjmKYn2(c@65bmc=gaAgFBu*9(tm*a17lZ!MCsZ7$B$$", + "Jf-hR-WoMq)vjz9DRi^PX)NHZ8n&wmrg8H7HFY8zMeZmD%MW*2OS=dhVSu1V5Af3&UnYo4g*BtCMDl0zhN7@fsUMsPFp", + "9kA2YQStL#2i!5UP43y2-UFR8OoTupSrBe*YtUTfKMV1b(V7lWg834uV@sclH^", + "&2DGmd$%#2s3aNvB5ZbDHPJs$@&#)7(@**g#pWX(hE9MSB4LxXIW(32h-sFxYh0sl1=QdoTf^8fFXq=x", + "6@u6eoZ*MU%&p^0#Fa#f3476KuxzNCvjvzCoNBur^pzO-^yotp0yJ0$aCX9bogqk4VDPN*eWcKOYSC9", + "ozirqniOMw5tiI#R2Bi=N&H3y%6MAj)zad*m^bz=Ck)fjOLf@hacLNWLA=xYC#o@", + "8QnBaGQFw$=ujlGwyJc*nx5b2vqni%hZEzZAZitig9lG@*he($jDdXYX)!hY&pAmX-wHEsQg3$qAG", + "*cmX(KL@853#u&Qoa&2TECHce1oX3O-l6pgt1cgY!ZSfcwnnTspBRY3bXOyk(@aiyMuigwV3po%", + "8kCU1IIrq8sJe&ILXCz8IqA*BkZnadMgU4MwBtr0kHJLb!WYCwMF=XOU&iPhHS", + "@K-O9wVw&TJc8&@-RotIU!vM#5IanzgVX8YqacOcJMfs#iT-vD&Z", + "Uy7G-KSp%G867Jt)wI42rYYlcC1TTWjoEp^6uDAXe9bAY@aL*LPTSB1bwB^e&Gk1lSW*RZ^k)DUeIilw10S!5meogT$@4m9", + "7*etp!za29wFyecvhmyYG@909V5lpjxh3xhJ#!kJLZUHf$X9fZSbRtUKg5CE=)nLRAot5L^oJfrcx%yjv5f9Heq3Eiy9OeG", + "vDELh4pSPoGR&pEQz1TXcUZsJY$cHVq9agNOX5&jO5qcfxb!&y5m", + "N9-CG8T2Vcg1XCCp3N4$mt3NMO4%ApUYSeKCeK4W4k2JPInp2yPNhc1M@ZzDL5iZjCXU=zo", + "Lv)xXUFzLY@6Q*v%@lIo%uIS6(V%MGo--i@Y=M5d0byjbIl)a2p3#$Tcv51VNKEo8RWv", + "qaqANK(ftG(f#TOZy3mh=#Kh1fIcn(38a!2yBbj53)bONm*JSNUORRYBiHwNcs#@kJkeqvaj-@6^%Zc3n24%)$J#dgu$", + "sYhJ9=bA1xvq(zHGkY2ode$oh@rE!TRN1m2Q!KI8&6w^CDJER*ALAc(5tWM!!$%Yxa3ZgIL5JV", + "kg^7Bp=)=k8BCFlo50LwFAv0guM!Yxm)LLYn)tb9ys#xr%QKIgDBA", + "$qJIvM$v5vT-ZOJNg*FHVGB6MVEsgAE^&Z0UNXpk8gou7Le2ctWFhWFqT0Z(GrK!mT-Mm!fUpcOn@z34HJlchOCnU&Mj&u", + "@T4OUzAN5)=qELHU!eXfjJ=UVMQ$&YGh=6%#B=*Tz62H0CNQ2xkhvuUhihpB%M*S9K8Djh=Txz", + "IA-bvj-DArr#IKViO-=!bWnRi2K#c)BV(fSiqxPw^KsS&Zw&jw", + "EAJ01KRP6*I7=pf3By3s^g@XpDR7kcT!na8kJFVoS0SR-aP9vXGLicdqS4Wrz5FW9ubablD8zuCuFb$(LR*g!8", + "hh(8CxO6ixqIn3Agg1X1duxzyv%m)CX%9v)9BAsRa2JJlkseKKz0H*tu0X!oR%cFKY1!$7)yjB6CfwPi#2pB#Li$ID8JA*KeU", + "VK3q^o-zBcKj$SF8%k!Ey@ET#pwy6L-X9K@4uPiopcFB$St4%x&7FAlZU7J)O@0J", + "lNKQ!t4Cev5YLQG%suGXzJc%Oo$#)H!)YzT8!xHHp#$6-VV%1md-5A6wqNYoGYZ7!&wedU5PAu#*Xb2-Ow&MuS=srfUQ=", + "^&7WrpAn!ktFXeqT)K$OTA1bX=OZFT6!8e07GiqR4CZ0QilW2HH%clgs8FVVnzV@BCEf9hZ41bc", + "UW7C0u@a9-b@i8CIAN2eb8CxqJdz7Z7G%p3U2y7KllYf2wnU^JF%(4$G$rI6Jcdd=$ud@5t1ShQW72)Iu6o1y0JX", + "eDXx@9lqS$!LSYIp^XvoMKh6lp#=d2UnSoB=s5SA3#KRaj7*0n4q(=AEuE#Jr7bM=R9eLpQ8h-GWpn7I", + "NM1CZhSdqp3RXUQWp5@iW&*6HNGEhJYiydo0S&oi=@JEMs#3ew1Lpq&4zHjm$)rl", + "zS$1qK)^CxI^(rN%9U#*hGlcvd0^fg^(SH)(vLOazsgtKnvIVu$eOX973H", + "FAN)K0Nluiya*UlKEioB!6WSKCDMu4^Z9%j3j3dEAVK@3gYmJ^X", + "Feq^2lQ**g#!vc1UZPDExmYuSnuJE*^!TDm(UJ#dZLbyvw41S!$12eX@*&XlXXkmtr=9IvWEW*XUw", + "OXVb6ZAsTR4wUyhvPFT^udkff3NlqArAK2PV4A%H!PHckh@IXj3hz$je91BcCR6jCSEVfY-I!mi", + "8%y$s&3A!R5Px41!VvBcw7qm&aXO!hM6PFn1xC3peZJQ3(5%%!bpC$7cEu5uC(jjW6HGiAgt%2FhbJeS20E(O6VJTmLgZja=*V", + "=UK$-^VdeQ!rdU&w%fP2lB5)06*G$Pcb&E8&Fx6Et(Zr8dW$G&zX", + "G)!yN&5PihxEg!9d2Mk$v3mhWTfyAy2k2!x(yyFonRi&UPSfkf)@(HzUkjeF9XR*pG", + "3sXWPe@a)fTprS0=@1uDxg6xxu7$gfG)MveFLE)3H*zdT&VSPM$kCMIy8^tGp", + "4dQYiF@Hg&kp8%3Tjc)rn1A#xmw=m%61IFD7VeyAK!^38)0GXBNi$#*H9(Kz#DTpqXJ4gzO*P7=WlNv#W", + "1tk=E)zurapCi@ZP@JQ5Gahh4loN=4l(tp!wf$7idfszU8NaUXkZ37Ucc9vyLz4hop$N@", + "b*W135S4J=WqlgatE$UO=)08XPYR8aBZUAF*2#oFJIn1ei2#y6riMzl=THDMS#Jb=k@iD8j-9OirZBPF=JvTi", + "L^aHgRtA)1Q7w!#CyzFAg72t5mcqMUm(#wr^wBvMi-f-K=YX(-#3DcOP3ibI@zA@Vz", + "zh5hlP%Usq$IkzewPsCjK5j=-el8*lLwEpdLV9vL-vF9cy2zy&nK8lDa#kTQ2#0n!6dfuLgKS$Iw)p&SkTNQK*n6B", + ")W^SD1!knA7wCFm6MOYSukoN8UeUzGiVR%Q2grPr4o5dNzyI=#PyjgS$)otkTilAGJzcr=18ra9VPXyKhPnP0rYW-(#3izB5", + "DrQs6lNr8nDNJTiRAR7k^wURQVy54bR75LCm(k8lEBp@Dvp4t-*iaTWjSlYLu6(XT=9eB6%8xpwwe6LU@R(#KZ@rvCCs", + "$t#aRuu92fN5Z4U-XL9Rxfq9q2yW%o3dcrywlcEiEN!24SoS@4HVuA*9xN-s1bFy%XplYRXrCQEyfXyP$", + ")xdSs^A$ccOGD$yLvqHGuq^bWqxXep9k*cHUZIWFEQc#ngIGaIMegy#5QVxQr(-kmSeE9VdZ9LKlW2aGrQPKK751ijM!^qJ-", + "L-WZpU=Y2hGEQhUNGYJN!W&Ls8=b&Kd1FRx4St)wy8*O-xQD%xJb007do$@(%j9vu6R!f64#@kqbIJmge$M2FuTf", + "mW46uT=8Jo5TgdDTkFTlqJz0G2cwaUqZn7Tv3rx*QQW3^C0Q-8qXyV!vRXM*wO-aaHGPdZLFHBqluK", + "l4=2S3NUYHXg&!P^*Ak))NqnB0(O5hIjOeVmeNt1Y3wwNHGaS$SfKZUCQB1BZouRt)2diQcNYSSdf", + "LCD*GzwuoEQX&*%5KqI1ZcCs$9q7%9MpooIFRIftI@DoPpL&%yMQYGQ^epWiMMYrku53O3C#mGIIVzbgJ(zw7hk2Skxf", + "7hYbRSWjSwHSIXnHFxjsl0a=9trP3$wnLLFn8#IXNM#m-HdaRA0VV*E0REPrC)y=3$&YN*Lw", + "Lc0SMWOXyjvefQ0gM!i@5MhB)uG@d=H1jVuba@4lSzG68&JZ#HyFHxz!wb-bUbHw=KUhJ400^*IGMKkzpT2ULOJ7WVu0%3-C", + "*Lq5-nZSyJBZQnDu!p5DJr)h44ys-mzjMM75%CH7)$wi!i*O3@Dixni%A)*uF11prAP9!lJQ)9T34C(!vIY=%$5RABknKT", + "WQkO3HjK0yS!ra)TO8NkjKTRbNqWNLzUuU5&&Coqu%A*@Chg1uC4@!9kHqQ)WrEMW%c", + "uk=4b=(F8nn^7TGEhdva4(prtCt%#GE1Xy$3A&8tM4uSm6mUm2DJ7NT4T", + "$&-qPy6O#r)!@W#y6S$CmDzlqg7gC4wXUMvxqvEoYeZ4PEShsJ90QtMu=bMM^TdfddC", + "jdb&K)83rF6D!8nJyZuJjUAYCIF9ifkie2dO3)k$0^eGh(1>ZkMUJ5^I", + "lw4gDq16UWFoPDKvFc(zOKMGnm*yCjE#qcUISnN3)j^RXM)EnZt7@", + "5D99pl50oqXL)GG5qrinEElSakmcFpRVTpNq622Ldeik5T!GvgSPpgP=Zt(iQ^0@WUsrh7AqGuh9u%WFI2bJA@ko*L", + "Q*)VmUfKqn7)(dz!s7bMc86QZLNv7sotJ=trbxGa8DO3^IiKqTWNJ7o#qbIwuCDGkn2to(%EQn9JuczfhrU", + "#R-4A0hXS$ElICWp#(qZ&zd6kdoVYTzfSn*xVRN3zZbz!HHBF5eMNETEzALp@wEKbXX-w(XL7tOgpM)v5ZUxt", + "EOkSqSwSC!WUFDa!R*a3MdRlB1qd)wwFVHDPUS=9nfV3toTM-@XasM$8&L*NYsuOrolbLF)*WUQ=f73vB7Y4(o0UdsukWnR^TU", + "DXe6cL*0ps6oMmRdq-ndh7Kvj*$A47Ykc(s)wf$qxXByteum#Tf899kkmE)JF7y)suw5I=ruKAkCYysieV", + "M^0RJxP9U&La2z!r-0VCL&*qj3@wC)n0bUNP(JtzlP6n9rAjnOY@oF", + "u2BYoI1vROaT)byQR)48yaGE$oMDppwqq&-0I(0KO1E3)euiBlLGYyydU0izKSb%D6WH56UT)naSI", + "UR-ynWBw*K1bS@a#^%D%7oT6fCgaVKv!G0Z6g4d533AnzUyREd%pLmCvy4QeuqpA734KI#$C=e#rFCzyIQ", + "h5FVOlaedYU9SSvoiSoC7ot1XkdBdP0d3tXfthp#&cyoQXnLrZy2YOWXPWGWF0U=xfD^Lf2&pFdLijgb)5I^S", + "K5^qRi1M89CHRABDAw&7=SU@fZRLwsrR%hQdLlxo0HjcOUW*&ZCH2tRw0GHB7", + "-25IpO-Ot-JrJzOS0UjeQa#i-4v2Fun72to7C57z=DQ%Eu@a=CAVC%(%=$(R^", + "C3z%pgrd0Ldt)mH#sAeG!qTK)3M0U(BoCbx&eQ4enZQwLF@Z8u^SL@7M", + "kKXmeMd@@Ij^wH*bpLv368afaW^bNg(kE^DPxdT^I@ru!)5WOPtGPUqSvGUu4V^U)", + "o)U2s*6ekP0a!=$A*5q0RumJo1rxhUVLux6)WdY=@f5oYcNs*G7(yK(3&Z9TrVYgPG!PY", + "HJf-G@1nm17%*ldhkpzl@Vyby#xk5*K7CNE$2(71t-$!!hXoVA&A%Af-Hbfae5jD*omF)2&(JpnQUn%&#", + "2zUB4ce1@A8QksVpsAMEHErBcNalcpi3bAIhRqCgGIOEeETTfLADfv", + "Xqx*eXgkNtVgOPHAm@-j5SMP0cMj*3qaJT&!PI^5b2MWlN6x*Z$GSs3$an1$$^s@$yc5mDMUmG6TiDy", + "t1Ty%tFG$XN=D=2yLZclFWamrYX&$QNR4sBnDrZFLYq1txjh9CWEVvWL#%n0jlJt50j^Z!%SX2GNc6-zj*DReJgCS0n%5!f(", + "4FpMEqmzwJ3wTieRGsRYqbD)s-r)V0ac$3ol42OTpgnB9Hf3nW^Hq*rB50Hzh)vfzKOUDw)c&hfRuftnbz2", + "3*DDyZzXIl5LxZmFzzCq0QE6$(yQ@FIp5qxij2$IP^BkrAMHGA", + "$S&UbSYSlMWe!uQB)x8*LTDdP4*!QimYKvZapP@eLRwaNvkQXBDw@nXZ0zeUd97*^C43-bbS^f89(O(Twf5b", + "Yvfg@@7vG&At#rhpU8lvy=szL!2aXC(#av(-oBSeCz*9Lxyy!Z9$xPM15G"}; vector LongKV = { "4pQmqYlKbVQRrtYCNC18FXtcjwchYqILrnGJUCUVw1Ao5Op9G4jXEGM7QDDsh4NFOIKfOl8L0LS3TDtg0Bpxyq3PVppSYsFIO1U813xZ5Cz9TnTEX68R89rrUce7ibV5H99jJWSwDb8XOp4uXpyNrbKc0AcWlL5molNY1ctpHOVSv3RllfkCwmvyMvu17h9jODcg5B4PDCtFI7qQnu9AZkTZVC0jlO67mcnFvEQKaqmpsftrokc6P2uEqo2r2Y1DotTUxPKXasHakeIA0v1ksmt60YOBzy51s53X6yFgwu9OgCjy7CKgIgQPao1cklMDEHz0q0p64j23U5VV8PlqTisC8nOEZ6Sl1McygbvGJVjiqnABOUew4va8bQY9rpcXYZzm2g4P7vxLvagANJibiBhllhC7tr0C4h43mBeLcyX6yEFe5bOk5YJYMUebNl6i3I5ZDwgcIqbkqN8kzVVkCcDwS2fpZ9L9r7J9VXl6gu6sHgmWp7Ju"}; -vector SimpleNewLinesAndBackSlashes = {"\nE7Vf\n", - "6cV\\VE", - "82goI6*Dv8@", - "\\\n&5GN"}; +vector SimpleNewLinesAndBackSlashes = {"\nE7Vf\n", "6cV\\VE", "82goI6*Dv8@", "\\\n&5GN"}; -vector - NewLinesAndBackSlashes = {"PpY$kH*HFYo02m8ehZNy2F#=@V#m^Zc4tg9HMwr$$qMahTiVnqKBvxM\nZWNz0jb-4RPsln1HLuX2i&fS7FnfxPGFajWMtmMOCJahHdIv#gr3n&-FPu(PK(caFnV#kae-MkJLHEfU03QWEEKRRno", "!qICxUpzr5JkpCr(5\\\n!Pu)V8n-t00UEf-cnx(ZGywK)!hE@QcHH7%u15Y0wvd&qt5^HVEg\n&h^56dlVp^xbw4DJd@ihuB#%GyJ0j", "\n!J0OdZPFi5uk6gr6FTCcAGpB6YNtBGba&AeW@uzFU^=48x-8z!k3maOssCa=6H%9jz7uk!HN5=9Tz64GJX9Dq@8k=58UvkUYNtpa=cpG\n\\", "\n\\ZWej!utreDkTG#A@79SiP\n\\Z26=z\n06406z!tHg%(X9W**EwT4MYqKsj\\", "\\88rdXoqEKfjHFqT*zn3uMh&&K0l3O#QTrm^vvQ5^&!DR)@S7=r)@KdR$SbVLY4jEU\\%qJuOSB&b-LcyR=GcPrf$fs-EfVfR@M9maobVs#(e", "@!vBm*&z*A8kzpHPvc9jUd--TPs76wUJdy5wvD#Fs^7Kn%*vBcWW=oX84kl8VbSe5mL7U1n*N6@KvHV&wGt9-ET*7fi-$BQeFRi!LjU49xSZw6D(p0XKT412m)c5nPq62$1(JCzrtVf4xNW=v*ZznHgC@%5zFeFdBvW@xLhR", "u2DnuILvL#eQW\n\\\\\\kT(E7mXRNGP(=q-DEnzFf\\sH#(atFo9W2rR0O^tytzpv)whKF0eTE4%vihr9I^6F\n", "&8%5Hr=ZFmg)qkY3XR7Ja3GNRlMLmC%7@Aa1-5qGMn%JIpV\nah0j0%xJM(BKPfYvDyF3X\nbHeT*ANGjT2Fa#T8irKiFe&\\", "nhpyLlo$Qj0bxGOCYOHIzTh1n#PJe%yG2Tr!6bltT9nl%)gFi*BJKv7vAs2pcd@-A^7P5gxMjc)c9fCW8hpmGYq&wZtRRVVPhQRA\\\\6$6hOJCeht\n", "Q3WRbu06E5Kes&Fyg=\\3)qhD9wBCfb8T4$tSqgW66WPsZ3b00kWIPm(tHuV5osm-0\n$bZD30mY1oOXwPC6*y5IZb\\*k6Ni92nvHhrjYp)^A", "NO35Nnedvp!FEAu*Mi8x1GjOkb*t-n49hRZ!FCksRqp$#uGGWZ%GfPFzpw!8vEPtsH4%UlfmmD^9x1&wC5^F!m$K%ki!AvYFLOeQFxtT5$VAJvl=qtIC-uOg9HEe8Z", "JzTnX=pt6Y9EA$thNZT=D1\n\n\nQu2l5g%BBk4)&grYETzMLx2RVMfb0zR64Wpj0L@QxOLGN3SR*XZ\n\n", "hy7#VOclQC08KaONhMDai4biVfEb4e@Q2i(==9e041@iQLIW2DT\\\\\n&K&U!gktm!GUXH$#\\*%4sDY7hW90T8A", "\n\n2!SEqBe9)-#c\n\nm7Rn5DDkeoSQay1SziAT\n\n)OQH7#V@-3n^$633Ry0Sa)C", "m#v6oeG8kdttZKR\\\n\n&Il@Ut*#t\nh=A$xS2#lwFuR2hOje742OX5A^ZB)p\\", "\\\n\n7x(tZeHfI9)nMt0IGM4FaGpagFv63*95$\nwej5m*X52=dT*^brVVjoA&r3*2XVwTih8EO9*Qrn&SL*q\\H#O7EEP63", "wdlnHZFv9U8nFe0BXXQSpLMGfdeb7k*%)Ij^j$4Dtx\\cdM0lTUG%A^kkPe*p*BVOVIxPI-wdsIE)#tH@@ifKXX&Q!kKgYWCww)0@\nhCr*s)wB7buomwOTR%653RFz&", "J6S*!bsENY!oNi5(I8kT(w9j9H\\\n*UdH\nvp(W&aa4)9AXLsG13k\nu!nw-k)F6UQMnvgZ0Hd60JXq", "9r*SK6ug0dN=hSmoGv!uR99N68Ain4Wk@)eANj4ipEn0KPs1bHko@(Y5axU(uf9($8fCtFSe&6g4H$\\qIiHg-\n\\", "\\KOCQ&hBxFT97CrLtby=f5PBfgL^gD1ee(BjyX=rozhVA9kuk!Z^eNV*BQS!pw2)A-Xc4f^YniDIg\n\\nV3s#K2VZ1kq!x#v&%6$@pDfg", "Of9dT)$vKtdK=PKS5wq3^zzyNIq@sJ7u2vw=\nJDcQAL(mbHcP%UiK5V$-ogfQASEPqAr5ufV8@vO^JpTP2&s2&KRvXh05Afb%MG(knr!woNWw", "n67H2=hCBDWu@G7OtXto#uwCbuA=AVnjY$MbK*JOdNTDPuQ^@&C@ZdFTh0hl7WV@(moQJkiMctLMJ6-m^rGA%nUK%9hbex5hse!IcNPVRrG=r7L\\xTqlg=Q8WKlB*H#Z", "\n&5fArrsx$MAopdX-p5xD5vuO#3L!vFUr=8@nqUPZ^u$rjXCs(Jwd^4)B8*fUNGFn&Z92FWM*6)#u68KJeRaw)XZwPRiDD&%TtDbM*wtupnWb88\nof!gw8XKHOweKuOC*KgFfQS", "-j4=en#7zjGeTnp=Hy#AsH2qJne0P7hr\\\\)F4hI(L=@JP$2(e835SQm3uh=Hw7nldp7DP8$M0L%l-&oNQ\\s9(^rZBvokTm4&Bv!Aowr\n", "\\i0SP(SLHKW=XM\n$c1RPs(M!LbHfo$8$$i)Ag$\nHW#P*qiWaFEL*TaeAb8fLP1y3#wJR)Oimlv@\n", "$&N!4VidTQB\n\nv#F)aWtG$9!Nxi&e&jmv5q9lGSkd-*D%A*&&Sf=KvJkgEwxfpxm!DRjY5GHKhrVC5(Coyrp=5M80%62X", "ZfYiEr-09Kyp1a#gL$Y-Xw\\g#pvWm\nTi$5=6dwjPjIeMVbcy$&=V1xm8\\\n", "k4pqhV^GXPp(U3\\gm3cYyUWdq!Xj2)rTvCkPbOK&7mUOp09XMab\n\nx5NNa9zpM#guH^)O0\\", "\nBo6Is8TVFUq=(glwyXTwrwuxp^WEuwqKEVm3R5$VeoJoAYY(Sv$76-L=jkxxWM#TZ0(lZnRsKo*(Yfeuu$te\n8%=sI0o#*xWNcP683J&V2\n", "\naKwBs=#Js^S\\AnlH&nX9*Iw4j2oQKDTaHwk8BCZWx)7gv&X6317hVGAKU18dM1CiMW&Xy\\=8Rbs4M8=HhQtTao(r2jYHCC9*23kADuf6Lp9Cynp", "&G(HGQ*@o7rY7p&Iu@pB0@M1yI1VNx9uW2fNhaFiSk5OI*SmTAJ93bAds\n\\\n\\k(#l^sIXTNFw(3o%cvoqaVMEk6ds*^va&#vJ5\\", "dTQgvGuvl*ce6TOsQ7IXUWbV)Xuty3A1xH7MBosj%UYZJI6ck=8WbUUUkJf2p5nOTl\n5RQnY\n7Fm%N7S(Z)5O\n", "@UFmv6$eDzMH405&q99=0&WOXMipE24g#NixhgZuNY^iYLVz%L(*a4p6CbYL544kbnME1TYP!bZ6uza(qhI\n\n\\\\", "ysICcR3HQa-$tmiqk*x%&txY-YJZO4&DYEkvt@hbiAn$@M*DaI0*kOh$o)YTUIep^Z3R*xApt6D6uoF$rl)9^Nz7ORYsKO1SCbTP7oIYJB&oza(bBP0NbNi5-Z#Us", "P5CbJQnDyMz=Ib0X\nZ)51O&Y)6OBe%2&W2a\\45YcbRTXyYfXhI4ox03^g@BzVSMb)7(3eTGwvv%t(XnG^ujB7yf*z7!UZ!s=B", "A!s$b(U1$\n\nTOpU@#4xW)ag#N-lfSNcQ(8@K2EUso%olsZWE^K%Bd**KiIfTRYIq-Ah&8kPG!a$#)Ks8a2JzIj\n)R$6mzh3qlRsWNF", "MroSujRJd!pVMRDe#dqgfZYH-OSDILnsKTMv2aSHJSC)yPYOD=#-%8-O1akk&#=JE\\%u8utC4(s8%29@QF^N#bnbIYTvYjK)4R8AUV)lMjST#YYLSDx2=e!2olagX4=stcckaeCv!3xQ@-H", "y-PiYLnAxsQ2ciH*vW$jY8sMsVOygI*bccuPs9IIP8m#(SN(Y!uQi5\nuiGrx%Pdf$56QkW1\\trcID=N0n(!$8nQR1ANAY=g^MRV6", "@U@q8mBv9h*4(kdj5%J-0%uAK)kN\nmcajPf6)o!aoD3vnntBVa8YosnrTI&5BK@tBh*(Uk8Hddz-mcRdj&mWFP04Hj4)MjVdV2PrpHY0#4O*PF(p\nBLUL@EFS3x\n", "g&)%)&vMfb$er#N1Yhfr4-B4ScMgVH0BY-p^M)sbr7=^cEIZihyxQ2fmm#%cO5Wg2Pp=S639G4uH6gJE@*ySL5GU0B5p5MC&HRWZh!jETg^IQjsoRC\\\n", "DTxl#BNt@i%1F4v%*%P=#)d\n\n*9-#OsMDGyx%)o)%-bREMNzwpnDrig&Hta18Au4oPLXrvX37J0KOD8%9zXwqKXo\n^8!XRQqarFR=jzcA%)*o", "9Xadb@F6nK*FQv5X7kXR-VXug&&iiG(iI\n2Sx3a8&1QJaD@GWq#9u7a!oH=IIV\n\\1x3*id$HN=CWC7#Cx4RJ&", "\n\\4CfoqWH7V&xa#6KN!w!cWrxjpICzTzc)aG7n9ZTHWQLHBCr=kd9-ZmAB8ObLJY5cCzQtyUngbyDg1(mPF6zTUVZY!sADQ0IM#Rc$ChGMAVJZBD$vNa1fS8mQg%&CH1tzt", "\nUwA^1k1VZH\\\\\n\nxFNGBt0r9Aw%doN5Bs&o61NfGGU8OMx\nh$BO&)leuu$6B2rpUH)6(wO", "SCqOT-dmnO3Tz!4eJ2b(c\n\n\\Gv$DC065CwBZk1s%#vrHC#7kM4cP-#@tP1VnRUMTk)NX&F^\n\n\n", "VFpp$o-Kx6Ysg4Fc7)f*)2wHulNy\n\n!Jg5jVY2K\\l)$oEYJdi*ZZ\nXS$SW7XZ2j^(ux=gO4@hYaV2UbTW", "mtsJ0N4%DVgVzpivV8O7@KMoms7^oW1K!GFfEwgS@p7Qlb7istUOGA!v#ce^AitWRmb#Td\nM6YnUKuf4zlXpHzpjmsnq\\\\WUdUtOhKODBZ&eQ", "\n\n\nGeWv8F$OkTHvHnmX-\npinCojG*U@T\\6w%fh7LZF2vENw=X7evFh=Nl", "ff#&olEBfxTtzl@gOFb\\Z7F$QL-Q!gDPzkN\n\no-)tDadBvp76DVV^TLv1hQrElLn\\T$%sSrM)7sbqQv$p-uJ@ZkVouIc$qyXMt#u3QESz-^", "\n\nO#&bh7PCts%Hupp($nw7AK%\nyaMkwZ4TG$@qbuX47TqQOEz1Z\nUGJR@Xyd$q&9I)VSqYbxaVITp%dlqwrCtAqOSC8njLf@Na", "V5Cu!PRMdpXFlI#CHCk5x)=hE$*UsvZiMwL00*yWy8&tLMnqQ-pQT3\n\n04zqWmzh^#bl*ZW!i3!NXTdfrPci%mZ-Nlzt*KBfD(epfm&mqUOswFk8Fy4p93Wjh", "SP^Z06BTemfj!Z4ckA31vY(S!tGYisx%@Cl(w6$ERCin5gnO9I=%d7g=ZyoRxH8X4lIM6lR*8C0dnMG5Ly97TCCKzx8dIM$9ANuI!A1SSN\\ymPcs(^IA\nsx#5Y6a9zqWEv*6^S6@238R", "&JNun3TdI@)k59X\\n6hBvZX#)@YPxgcCgWhWoI%!ss6tOnUNHVj-hgJQ\nWteHcpXhhiNNQ7E!1SVpdJ$x=uhEywa!b(wPRU&\\$xaL@jHI=%jvQbE^^gnO", "Jz&x7T*LYGmEP8)owCTqf*%W-8#w*Tl#-I\nD@DyUtmDe62(c#4bWHS@^f\n\nLJcXrh2*n4k@=(cdDKAPAOvL9b", "gWf4EhS26\nR@JnHtyrb&AApU8-aF0E9wO-jGSab5h58Zt%O^$2h=0vo1Q-7ib8r0XbyX)3Uv^(yW^BM!(Zp$gOLkQo@OuOj)KB\\", "69)m7t#oyf-e1TrC1Qvrj90w@8H-TMxUI)\n9jkC&Fn5BrMpKT\n\\TgnDMTfkeN7Ys3vmicf", "#(-PKFB)*4dT*xmw0uKjmo-8\njXwbhr$1\n\\0SYn5sZEH(u(U4pboEaez#)#Rwr$M8l-0oN!Ctl77bwNQS&2!BN\n", "8H=xqQwdP8-#%\nFKDC#K59TMmOMCEPTgK^-yXVhtq6lY$mLnDuSg-wy%rp\ngfUO$!kDVNHa\n5PzZdSedE7(DON$rACd7e4s!^fh$8#2J&IUvkgB!^jm5wd", "4!vDL(T8ziYJ1(NDPV)U121HKVHo\n&2L%xuNluYqnoRP&Nj2-0\\TomYSUaHfJbZi-Ejr5JwL8k4g)4XtIB!vxp!B^87C2at", "tS2=Y\\\nCLZF8dDvtdjV$1tq)$iAZt-UWc$ylc@\n\n@2*d!r5%x-Su0V&Z=owV8Zk7*n4$^DnLu", "\\zbYFJKFlLwsLCn=pJ)J\n*PBuYhRF!A0a-pASQMU!Hjuoj=J$HKZkPlOra1GrnHaGxD-7c$V@xBrTCgjEsL9#Ge(&C$v\nFlHPqWHnrO9!HhULTsIZ$hCxwep2U(&JkWUVVov8uy", "#cs!33lnGXBdzyYPU@snN^XfDIlhfh2k7LGkphPbHyoIvDD5wv6Mc4\\a9fpXIyOAAb!\\k8Np75pYbMpJ(b!\\E-@v0VY0-d", "R!n&d#(MufShF!s4!%Cm1&4)m2IrgD)87A2%wF&tn^DllcwY$J$wjB*og7Cs7v%!aRlSKcfjAUi\nQ4%dDo(DGqjlh1\n\n\\", "F#qug=wTmzd!E)RJVMrV\\pvv)28QtmqZ\nGw(tR^%^m1ngcoL=PH^mAFcqBPos8Gvx5\n", "m()cZb)hL4@&TR99zZmjkutu93zvs-x&KII!^vF6ZR7big&)5k)d!zQtqZ@bnw9m0F6O0X&\n%Loym3HtBstB)1)2YH#SNEwB\\)Zk8Htx-VPdtDcHyYyKhVosq*E6bxB9*2s\n", "\nUbC2MK&OPZx2-=(k\\8*O*4WEd^Eqe^9F-0IoEL^6Tm^&a*3IQnrm@vjVgFb1!\\(H#cSQ&&2!MJ!4TtmL%*z4HwodI2\\", "sF&ezCf4rU7%sqjNtx)dlKoq0^CqiTu&LD%!9T)DSR\n)L*qez--Jq$1\n()IIA(1%\\vZg((eFtuER(K6d6UbTzXu8(!&(6x\n", "kLye!ykmm1Bl%2Qw6A&ruX%lB8(m%=MldWrK%0IH8\n\\H#3rU7g047Pzk9yElp2W-eu", "3M=BsCT82zAdjk0(gVrry\n\njOT8g08ClmRDFCbwD7fUN$SN%$S60eSeHXUXv229J@#O!FA*WaEh#q1z-Nc)c\nvXRewwolIsTiUK%qLG", "=t#R-\n\n#2DTkxi2c4Qo1#SNd8uenv%L\neBNSpFLZO3q$1icgs-KDBO0(eRZw8E&T*dC31\\cEAX=B$UgyIX0dxT4ppuBbk0", "lixl#\\9*#HVhV4M=-\nz6AZQ54L3=VJ$5LOoMf=yb64YJEY\na@%@czCYOH-ce$Q", "\n\\\\3Eu5GU4Qna1MIEX2MVkHH\n)FTe#LDIp)6@1(XsjJAd\n&mjzYJOH4jOrLPUL^SP&a0p", "t@r-kswTeW4r!0bXiX8NXhvs#ukKl-\n\nhSv*gkBN0o6MF\n\n\nDfd69AJrKPMc$T-5WxTq!2fpz@puGL=7xu", "\\\n#b=PDcAPj\\\\z(J#0FMMe\n\\@d1aqTe^5dPBZdUPdwH#Lq", "f^rEApBE8Eo6kmYPz8Mh\n9&7ILlyki)3#3&6!i(R9ntBAs&wh&IYSw95kl0!b6XEZTDvlE\nkI74T3M$-eoXYiFNF6d\n\\", "qQ6hb8Fi3gZ0)1SY0\\unBP==BB)VTKA=uOgGio@m\\LH9kPf0MDK2=\no3k7CuvOoc!T5Yo1Z=uDEU9Zr\n\\", "ssSFg05znGv%gsE1fKEbP)qw!9PguFGq)Ka\\*r2@N)Nyb0fWYp5gfJsLQF==^A7e(wNEq8BRLlAL&rO1hL9%pIrI2hRkSg%@j=DP%M\\", "\nVFdTjhze3fs=BFx-Q!%zdp5hpqP16euHm\n-4-no!aDGkZo4tM@#GE=9D3Nww@x%ywdQHe)U@68\n\\M0U#N5s", "\n4dAy6Awi8o*D1Jxo)NpVZByQ*LFF6bi12gh=cmtgV&usf*Nry3QLvH!*Xqn2p1R*BwVjq^sHR*I@ITB4Jfn^$N2pdP3T%F(80Yezz%oDPk9(@th", "otAVLXk\n#^Jf@lGVOSi(eN=kuWlI9zTv4%iNwwm7II73sDZ\\SpvGr!IDjWmrMtBZs-C-gmp\n5-WYUcL4b&$dMpN&&*O0B*Uei2", "\n\niy=qnxRPfLM9H2DKrpCZnruz&kZh28wIcJWRr=0ZD0(COQ2oYSLoEsbUKa9T@loJTEh=I@RRHQK\\FIDv=*(^tXXXsvTl**^7w\n6ZzdS", "yDdyXo6Y)^H)gpfcuZ*@7C&NprSdYhD5LmN6Jp6oCms4k)eQThMAwDAB(TyDakmIlKt#fQPPPA!RN)PknxTRL4zg0mKH8No^une7t2eIoy-IOjbifGl\nOr%^p=tqCglbYu-d$hv@)", "\n\n\\\n\nPQ7xG=0MT=2335!EtL0yMnZ\nAE6aY1-oFVkKFTh6KmTQ\n", "cu4%jq0QgF8pM^fX3p=YU\nO5LJQySj2AVJ7w7*^*ld9eBP(j^rekfqnVW#8U)P\n\n(G2-o38!iU8UBRihe8ndKU", "^HDWyMiy*#D\n\\zYM0sFgAGmM\nqqFY\n\n89JLMb$)zsw1NW2oGBaWF7XEjTmNe%B8QoVfBx!E7Jj2v", "\\\nI!!eNXQEAnrYyp5ci\nz3GRyFZu1YJE&PbG9r%D8*$bs8CfB3UX2F64BCG4AuWeIy@bfRwvrdihJmj^#hRA8mQu)", "OjJA9l(kqdHH5)K3&DD=3=n(5(3%DbfzF6yAkgADLnX*Cyy=Pa6oMqqtx=(Xnr%@^aCYVYr-BdOepk-\n)062Ebmn8((F2)qTeX%%TX\n\\7S*xxrL3mS!ncZ)n4YJd*hF2u", "xHm7#a^nvRI^SMpgf6Qv-^=T4Jyp%E=0Q#5okFL9VV\\\n\n\nwGolZ8o^&nY5dF6AC384G%sgt9@36SL", "Q@PQW4L=icUcETlqD1H==2=IsSm)H#NfWf(Ste5GVEtT4oC8Um)c5J\nX)K=d^552tO4&30LMN#X0ZQFi4gEvodfunUUvFfo^^FJ7o(Q#-Z8=gBe)wK)^0YFoa)Wc^niTz", "2-Fqpl@lv&CZ$3LK*Ta6hUFv^X0jzgm7um*wkYh41!Ae5Gq\\mc3i76fyEh=#^^X6BDul9mHw58!TC!A\\%Vfcce7=dXlJA4i=mNG4hiGh(n!*gLop", "\n\n*V9LzsITbdC21zD6PjJ5dLp!I3$%SXxz5gWdskCAprxO*KOn7q!V=%J@9tfrEN2Fr*OooT9v\\oH!KE%kO0", "z7Q11uiAPxuhuMKU=GF36E\n\\\n8I=)$J$EyLqURu)%J$m7HBJ3*GIj=Jg)5E7AnUY8T\\fH6ka9$F9B3=IWLZ9v-qX2", "lKjJWXaSU)0\nov0WbU1o*rchDtIyJC=Zx6m8)D8ZL-pwi5hu6*O9w%arYIQGG#-14Nu9(NZgi*ElUzpD%2s-r4zL9WTnNLqXe\\", "Q3ujwNM$aprz3=-s1ah$^yd5#rdw7a!7rSGW-HmOLceE#=%&hQ3xJnquubg=KQZ5(69PWoT8OK@9SYgb7\\\nOuHDbKZGqC\n", "nYMRbp5w#z#At@Fq%1NwFLKd0xRcYvyrbIV=*MVJ$gl9vh45U(z2f&(pswW1wkbSJ\nkM*q2VY7Ql%lDkBMJAvTnQ$Srd$Rw27qb*kKB^h#TRSUU96FpNGy\\", "a$m=dG#\n\\(k2bh)zNT78!=QVLx*vY\nF!5Cxn01TR(@QrFMj0Oj)(vV)SADURISabuReCn(YoNNYvTJu#sNPq&@^0m=3CqjS*G@ui6FPZb9m1BMmZTK3WDA$kln", "EOXXs3O^DZS#)U)Fb$K54Akew^!8jY25uq!Eeq)F8J9u-YtVmQ$ECYPy6y9rUCVRb(Ttj$x0KKFtB@VbjSb-N@vjU^DrIh!-FQQ^T3SKnTxS)YC*z^NrrVv^rLIPOqh@IP85z!aajZ2YxxZbqi#@s-ya3LFTQC9!tecYIWg2eQjZ3PbOkw", "A2@k6X6Fg^!ZT)I^(qQ\n\n\\\n\\pH7@sifME0quUC2$g7MznvCr^052OelE@0l15Tq8Sn&DiNSJap=h-P-8zKS-=PDu", "rwEadhbR6pflGw)EUhgvPGAZlDcDJU*eh6fgsseo\nfNi^AGjMX3Dp6LuBo2jvAh3m!fcvV#g8$2gFL#v(z(dXZgIaxw$7(fo2lZcbhIC-Ov#DxP=LkAY0n0jH#d*", "5gzVPEg&ALAKN0eSYZv4ZHFENypIt=XITY7nT58RumS8pkV!Bk*A&Es*gjuj74\\\n\nK=6@8!UIqc*e\n", "\\=o0CUNvU1pt7a*H%&zTl7hIwKRss@%iPOv$4Cibaw1-A\nw%D-jAYAObc@7dYb@irHX5bf8\\\n&%Dz2XqiE4m", "0#eCtypKs4uaP\n^bAHueJY@5\nDfbQQs6)bRdM!gZ(KaJsa6(*YV@z0AJcmMjPEnL8Ed&\\MBg4vzqr2j\nl%Ur(ldx2hx!0FB)5K1jnx!P", "\nYLUBZ529SVj%tT54(@NEo\\RK-ni\n\\\n\\oU-qHgNHhvQDix&q4VrRVR=2M6MJ@6X*-%IA#xUGr", "\nSny*TXVgl4eiC*6IVKITI4m\n\\2sLYgush37KNF(XOkZl2^8\\ZhQJx*=^Qs5ev", "\\\nw@EfA0l)UPqN(HFpWwCo@P4u$V$nfUn2\noxHi6HrBN-FpU3tPIFmoIk4t5lE4MOu1ARduykk\\Ia)*lVDZR-0asK*BpwYJtRA", "J2jTNF91ko2K#a95jxvrrQaA1bD6(QFaIy(d*ob=$aY6L7QaHtJ!(^e*4hkbVwyGvqWI1\\K!Sr$(wj%%t!M(!D2$ZcPCIVqwgT(oICy^VREkoM(eglAYQ\nzkuv(uwVF3hVSLMCB6p0-\n", "PLGxtj8pkM9$!Mk-#XmQd(^Lo$MI9S)Qr!4L\n\nSggA$LPRUI^wbPEH5j9!LzG3QGCGVW(jNiLT\\\n", "Q%$nCFZKwHwgY8dqy\\HVaugFvX1l7P8nrucelQEzZqpIjfl@HR^3RiMCXZh=pdCLl)5Y6Aw4e06fE)(oL3oqpu^lno$@v^aEVXV@$Z)G-F!qbg6KiQ2VLNB-RUla=UHJqPG4", "nqidfpdT#c#KfkBOIqOs3Ytk*cKqMSgkp!fIcVGwZDMA!ZgzFUO8&2)iO7Rk\n\\\n\n$ntW6vfO!-oI89idwywTdH4xa&FJ-hlDZ#BhA&K@-0", "6N7=wvIW024xoBEze=Xy*XTIComkQ\n\nC#)THkJmMcJ4j6Q$7@0At\\\n\\xBGrrwM0dTA", "&SDfJzRM!*Bf7t!Ap(-#VA6FAZhVzHzoU)MQ#eoX6tX^60H-VTUKipcK1M2IZVesbT2C!Es1*DS46D4Jjs$=uH24RGI(3k7Xrlpz-xk-2Lp6xNqTyA*gSJ\ncVq8jW5JHcpozq)CL=sCZy$X9^r)K0$H)=N", "\nCrvT=stUtMSHnbB9vPIIoUhA^xjVClb!S(6MMp*u3goSr*$()#je%6-&#SX-54bLs%FjkKmWtZg(ZbdWo#=qAPcs2I7UI6!X3jM%hyj@xiG&7SUsCt4VX6X#BR@", "\n#zb(#Pev\\4&u!ytNGz@Q@WWdOjDtqWLg%L9sqCoeNob#UEsV)h3WRxWjsWrVa\\\nJ8O6z02$odEz", "REu4lDNrqzqg)eXpfUFPFGjVct=DBRlbgIqqBO5Floabtylt9F\\g)GU&NlE^(7r^KzhWEUz&3BKfroKqkgS^mGUQUgKry0^xz#YR@W\\9^VKeq#1d(#\n", "yJC8m*ylCi7J#6fQ^s&#W6ajk=lpkmOY%9fj#X5-aRK%HYtC@C5hxulT0V)23ZQo62t%Vs^-2&g8\nx8Kf0=\\qmIN$d6MCt-IrN8%5s@", "Ud$Q)ju)TNIO3hpaf0DHS$PdicuW4mWvn\nLXIkV-7hnwT6Znn^iG\nehSIbZCdEbmjFvV6YJ8gVYB-0iaAWrA$D-a7oUVfGz=O3MzjS(%PgF8%EyO\n", "V*amrrZ)!ZC=2o@)Fjou&HH*ZH8rqj)6g6QJJL\\!py-9HA*7RxczCER!gat-NCdQjtm75a2Fsq0!ElOGdaHq)p5q5@Aat7GD^Keb4=djFab$7RPXHF&DB&", "-B^oI7lva9%-Y\\\\\n)4f2t8XH8JAKLEeVW)cZ1Lkw&**721y9)AG=8JQGgn4ezL@FSr5@T3u97^", "-FalVW3=#6qKvPF*o(DBp5VgB0SDd@U%7S*!\\NWKQzCxkBQt^d9CPapiUz^0Tc5188BQo9RJD\nuXw0FH4a&zu%k(Dq*UjlHRHLGBI1beE-Um0h(SlHe*4U0ic", "\n\no4Fxfeq#7b&!5w2ea68Tbq92BvFHrO2%vD9&aFjHoYCdVbE\\iG5W*t0bT4zOyFwKfKYMU!1A#h-UNAlgwLqS)HyG%))qpj!u$K", "\n\\KEW2P2DVq$z2doUSDrpe\\\nuq%CioK-Xllq4@GOVs#ydq-5fi1DxRC#xR65QDl6e9QNU=ya9e#AJh09R)yN%^tRfidUqHLi=pelgoOBby0Ij&luj0W", "MDPs#X-rlmU0auV0-IP*ijsdrm7h\nqlDy$Mjy$QQ-5y*9R4uNg@4WR6X%#R0b\\\\Wc7i=hCb5@IUU20UH5m", "NJ2tZH=Fgn=v-=aCw-rZEEl&Xem*8*aNXkeA9g=Hs*#-yk-eq\n8Jwl-lLhq1Gc20llsxBHAByE5YCzVpO3$D4!hNYTp*mDq(=OVxCt(7r&3z0@BxzNkRirwdZ7H(3oq*1dBfeJxL*3hX\n", ")!xD4eFzEi(sUTRtkVJr47C@6n)I9MBwmgWH%vovbvRXBr3EwM2w9C#izzdRUFmpIF&panLoWoY\\H147dl@Ks^iA^GG5y-%Fx)r)R^l-jbZuwM^OJ!D", "(fanNEIX=5bBax5r0s$wn6H\ne45sNf*HHF\n\\ypqWS^hH(tYQOL6ImD)wqE11jf(hop!E8JzmZRW51KgN*d=dyCVFGR%xyu-Ma#y8tu9t9$IK", "\njEQzwyS==O8c$vn=LHhsVAP-$t%#5FL4AiUlG2n)7SaTKo(J3l1l0gzhDsBfF=k61ctkOcElLb5)Ru7Zi(LD2y02z$RxIuQcneJ)marDjtSukb!g", "lY#mObh&UkZ#p5Ob59d3ma2oBfH=RSvOn^R\\D)8VxAP#yIcqWnwU@Myvat9F)1N&W&A(Iegu6vpJ561(F$cTuNAYE5esX\\\noH0p7VOYiWZ)n&wbo9zE2$0GdE=", "\nepvXwr--p&BPuRiLPOTuj\\mEwx-zO0l\ns*dyVDGBHMpY\nZXhygqqvpAvye^R)!2(rHT", "\ne)(-bc%zUB)&#bw1kswj2d1\n\\\\Lf0X6I0AUa6m52\\\\8@qgC85", "xCbH4$3YvdS!eCO\n\\\nkbAuxLDOuHUMJiy#nONFG$mii54FNAX^m5H3SF)&eH$z*\nK1OmEi21xKetGwoJ8eW1hCjMB#OQ5^yqkxz*Y@P%WB=0", "ha)AiccTid8=g)SQK71VhX08d%=Dedw@BvjB7a\\\n\nmh32eO0b04*C9mGXL4W9skvPsw6bE=4nS9\\(p*WHs0B(Is1BC^oUM8G2\n", "j8K=h9FM&(WWhbWX05zfqNvOxfBtatvw(N*!c#4EOs\n9NA&Ohb%$UY6t=cP2H3Q4J8O=zO0lv2\nIDO^Bovn0QfqcboD4y\n", "PLWH*GkZg6Yz14QJPzy7b3Qc\nhAEvs^a\\WFmDOf4QbuASdL8J\nUir$x-TpTnSVuKxo$-bJML", "X4Znj)S^(9LrrpMhVi#o&-NOskrJ$eiyI47B7#zeiOx@q2YDVD9d\n\\\nT^fun^\\Y&(bEOJ*M5yYqu0Z8Ik23)HV\n", "HqfgJ%8Sq\nbeyy4n@MDQQAC2(%T!#USsvU\\1r0dmxlz=@FJgENIFu)X\n\nKBUHa62HuNw6N&Qe0oqlH1FgK(J#3MPG^Oqz-w", "@GB)ogZA-Zvmkt4x=G9hLousDgEyU27*@t5bU-ZpTdmwo5mQQ$nesLi3zJ6XFQcc0FeQh6AN4Q&WKl^)Gj&ZI(TljTsE0VQTmziAIH86c)78dnNHTB!nN@KpY9Mgou2k\\&K1OoC!RZ3EtG*nGg^tu)0@I#1xEA4lb&Li", "\nDk)&QY&(u!OLR^cYQm-QoOnj=xeSX2lQkZ8MAahy484w56Bc3iqr0YAa%TZ(1V-0t-puBWcTPV0g04Yw^RtM$KN4&#-0z$B5yS4GlE6XPY22D3NMhV%6nMoGk$$^eYxJLtiKB", "oZbSo(E$#Jbgjflwc6BO7aP)9QCa9pbLHdv@Wsugnq9eczeVP^ZfT#0qR(IhFN7$2%Y8Qn$tBaqJ0KlT8P%\n8X=f9ye1zOk\nlSVvpKMq^EIB6NoQ\\\n", "\\oUFnd@H*G23t^hg^nEqgp#96i@uZpEgk=O\nBp&5(#UBU3lJEP0)ViF=)\\\\1UhlT)aHO3R1\nU7@boq", "%07VxYDtHu7r*MYlLor^Wmfp!\n@s&k4T5QSaCIIdq*dc\\\n!GzH%E89)b\nZ10Hu%*raEb@uyd(\n", "&8@8DJ3JHI#IVFwqOveT#64Th*ikI*aLhvP1RvPy-gE%1g\n\n\\\n5hMVNJ(dNrFOU^QD9vIPAbG=BmBKKdvr*dp=dRii=tClY!nEzXRVayWO", "9bAK)4JDL4b8x1x3Hm!NIO@eueIQQ-)i1b$WAEh-=g1jwvo-ZZ7u(OQZxOENj4XQ4-**EP9YbS\\\n8uIH0cn\\\n", "AOlX1mJw@CGgFuWLs)P72n#W2gIQOcO$=n%Pem%NCrKsRK#7%6YJ-bW)ymQ$\n\\2cHv&2Dz@iNLz%5q6C&ONj$ARhc%It\n\\", "4lvs(0SreCudgZVZg*Eem8Ybst8h$zLujw#)sAaFwZP$TSyhDzy(*G&U5LGa$-i*hnT1XJZgjdHAbDJ*y9cAYpNr5mzckU(u26LA&#%okQc-mNxCE1f\nFIo(C", "!GCR1zarh1-V5P=hHT*vlbhYDIgTjJeW!qJje^YEOuj92QtVJcBeU@lnfmUnQfU^WXbf&C-RSSh6nKtM4=sO63TbxCzK8qwKJ#&9()QYFXgt!De=qSHdGlGMQuUAwp7YFk(BxvpNI)GQsM-@9Qc", "G5(%@pAGlvC%*BkTWm7SlvP(=1hST\nJV$Ai0V%0BUMoPG!d1R=lW*jSvK2*xrxSmPHBTiQb5Sa@Hl36\\04pIXWw$KnPc526w4Pw", "\\\nJ(ebEM#2(Ru*PZqnrgJL1d6pHMRDDbXPm(RC\nskMzMEAW5N(Mi(kYy\n\n\\", "\n-nb@kv8xOX4Nsj9Q$&TOVExS%cvO9A)&&oIcr*nvP-S)E3YtosE!^gfRjB)W0E^yEg**Z5CJ^uyADhBrqSjHns86lKdKG-7JK-*&9=T9f2B3oTrY#-Ex-f%K$GLyjMiW2EwBz^^6mE4LqQa#F6@8eBu\\", "\nTQ^09cCvBRABxWm*11\n%5n6jKE)Est\ntCDBiS*UMUC8WFVtWh\ndV*EKnzgF\\", "X59CeKPXm=iFX\ndUem(=qu!^XYdvZE6T9SlDrULd#PZ^3CNe4k!wjJGg7V&HYUE00mvRBrvT(2vEnw@Ep^GD%Sz*VYpo\\GFJ$uzWpHTNMSL)o9%h-(B10uMN$ftzIfw", "&I!8xLwqr8yDSm-9T\\\nAaOH4!dnx*EzV22g!3=pCUC5mXxK1S2pz%8W3itFo^KY0g\\\n\\\\\n", "\nryf6-lZRDL!Ag=5Upv-Emw7@!7r*ZKl22Oq2a\\$sqf)3l8pn*Vi93!oC(iQt^^VI5I39at\\", "QU&tHUtubJ1qWxl4deYcRPs\nc4p&pyz)9g=dGOk=tRgV&1-2TIcGt8aDz9bvB\\yySyk%U\njImez@IP^xZR4kF^=I^", "7#NEjvLP%UkM17y1@b8\nlzMV$^yrmKS=9E2elGU\\Ylp*PXgDfk2^1T-dYKp@zF7)i4))snhYSMJwGhTacL&dNuduOKRjMO$D\nz)D)5v3iy%#qV", "tVc2)yWqLA7Z!Dd5la1zG)\nCqsgK8yt3GshLL%69^DmTk\\=Zx8mO!U%-*W4Bc-TpqY2h(@K4\n-6CNg^5%8R$4BPgL0FsikC(H", "2mdvZxO5xxIHLb!nC)bElJE-c&Z=H#5i9D4V*&(MSU$t#JzEmGDn6egWKpF-@-hI5CxnNu0(JZDwoPXc=UCscjuj=aBx-TCh**MabgHO2U@VD(mGa@!Nq0x4#!5g6FH!IVLWMMmR8q", "e%pXh&f9PC#tN*xfURnjsBj6^QG%*G&!%3MS1ZU=B*LEkT3gMS\n\\nKctdXR)1=3i=F\nvMTuffxL7D\n", "lF4qDS5x&sF0yjc\\0wIcJNgYQ\nKyJdFtQVA95&Q4cVT&V!(NKEM-nCl*F\n\\!1NVUwEfQIp^BGMRXmc", "8$kSIwht@ys15P!2jkI4^ehF9eoZ\nERbKXcD1nBtS47jL5IDvqRfENBVb^Fo#r=ztMfzLu$1Mt99h5jFu#N)vZ8=U&hV!*JCQcZrszEPjLEQVJXYvfj^L16#1#L4QaWG", "Y&O9)Mze4$ZP@^NWrdM7L6iNTz#X4b-DdzQDlOozsK%CR!#QZa7dy49GZ-fRTkhO@J1&*OMdROyb#25WaWJw$J&rxS6AllJ=oUX!RNc7^iEl0#smr^02V)j!fk\n", "\nV4d6yDUXDY!ebo%8)GuWX7YY9pSgdqu4TQzW6Deb8(Mr1ICxs#DOP%UD%!UeuEMF6fJ$cMl%e%oduN$#Q^r)Nk%NY2iSseBMX8De#^$T\nmv=NxhbwiUjH%V-(F%3zu", "\\YhEhC&07u8$A4s-WV\\\nQU4g=S5CTs10%K&tJkw@-$S37YwE8z8aCCa3u\\aO-#&bv3XwMJ4x-yBL%2d-sRJ1jv@d&g)%jH(z", "\nS7)LsaDJOs=60cC$1YkN@gKLc%WXXq*$sVh4JC6ENIPniTPv#FdTvX&u6kdmyM)Zr5!-eMYXZ&\n\n", "\n!oD3ROq9V=d50*g$2n&F0*72m^\\hHxd&hmhvWJs%a=i(Wf^0%LXbPwGtU@Pekys8v&PxA5w)D2jCf", "\nkrjuGZ33O&vs40W8AeI8tpCJt$5s\n^twCyhY*hLGB\n\no05-td2NEy(ECgS**%uYF2TcBsoeMM$XeqkiES", "UfuUGQXaPHBc\n9LG90m5hG*jJG7^f789CSXJSS1v37vWUPuQy#!MYks&3od8-hi%81(GhAtm0y3-\n\\I6JCk61aw\n", "uUmzO3h\nuP8!pvn9j-=HQ6Ca\\7a@a=#8JHaA$V0jgg=qzyiTe*0VPA4#wxWAsTC!jXxfm-Rr9R%9sw^P6z8l3)Lm(zq", "\nq3X&dp-RlFwV$T)qh^yF@G7*Mr$%B\\\\gy2o$NIcD-UxoWqz$6VX7!B20g5QQBtk&((D^3h2(S6U\\kg(qJj4LLxCO(9&BYG", "\\Wr1k6T9d3r7YL@rb1fXBtvnV-6DgF!sTbaVs@p8TMcqiLxkGYjcxAPI1&z&0CgkUpNvtP7\n\\ky3hgAk9xFJdWXqqRYmp!&-q", "1o(G\n-AN^Me=L2^xk97RT)kleuvjccdfPA1b-Ed6V29s=Z0z!eM&*IF$WucSS8T\n1k)TK=0lSlR1=((\\", "sHHb-xum^qp94mBS(7cRu#5B$EUjk(dqeCXVq!2gMOL-fNmJuB8XOP)$B77\nS=Jicmu*xqr#cMZh09^j-vWj!#vIWmct%52Ezjxq6)TeH#NLikndGRy9FeF%&YS531gS", "\n\n\nE6(h3Yp()\\peHLsY0MU8%ULvu=EIoI7B%rjzoVal\nmGe6*oiG", "pQvVHO!O)Jlbf0*t1q6h0h)4#5XYmUheacnBw3yV5\\#1#Wpl2I^!nnwbwB\\F8SFj2li1x6f-0fD(o0x=K-t6D6S!\n7^&hLsq%s4wb7Vp-I!beU", "XCFO&BuLQINAlS5ix1SIeMbc%ztOHlB7wEXrdBDV)X$DY1lYSbp8OXKRa\n\n\n2@NzbliWEvAXIPg5EujCDYYU^$3\nLQX8%myV7Mw%LQlR#", "p%x$Ah8w&NFN&FRKJO*soz%n\n\\2m$bcoAQdTsV4xQua1*rMVPf()@V@Y@S#EAxeuZrnLsNjlXk8eDYSDUFFuZhGBmJw#tHoOI)RuwPN0LElyG70mje7Z#Ya$q90g-dZ*7", "gIbH7j#mqD!p%wwGuo=EdfevQlahAZE^-e3-MSb7e5OFTV$sa$E3)$)uoTu-R#lS!SFd7dV845qrW@DEe5\\\nJB2OgR\\76YK@ScuU3", "#5G$vN$F26rr3Qvp8$h!Z0OM6bGTmxYu1OqKf-UnlD1F(M**BmYoaJR*ac^8W3)&(Bqq^%*C*#UTl@Yn3jvD-VR9\nkp4z%kD9\n\\", "aNcE%6RsiZ$f#zKX\nD9kFDj3yAdD-EM=y$)sQ0ZTkr#l6Tbeu5U5@92rnd\nZ!(%Xqi(^JpTI9xsP(8FqbMB#WgK1oIYUI@s2aWvz^-p%o3NNq2B=", "aAP=#)GonvB2!aJ2b7s\n2g9PGgir-Ji6CwkDXuf$EuJ$ovjX5)0K^X(TE2&z0gProBahR\\\\X0Gx=e7wzoDR=fs@1BH", "Qb1d7u)wseEV#W#\\aQPt-O5@QRm6oYclm4-X1#tOFTbEo8oX%TDtAsG@\n2SimF)jSIhN=FYeySDU8SMB!4008K)T!uP#!hMzk&pois)i&3u4y", "0YE0t*kgs\ni#zHOF2&kouwa(wF^LX=m2d\nDJvsz=vsP\nqe!(iMqEuKHq)n)3UnVc8E@xyoAoiZ9I\\S1T#5djKgDW", "4RiqYWCPZy*sD9yE#Phif$!AGbY=ajN2)IRuiymEMw0Qz0Xudw#f6SYGlas7&GzMC=gnTqq\nBXn5l9S\\PYgL^=rVAskmO4002", "vT*e%!HM^\\UK5nWyAfD\nTV7%!cDQO%3G=hPOj&^5&iS=ZqJy@HUs&P9E1w\nAOly#39=", "^pz(DonCeP5Do5HGNqmpj9(R$K&SI7pZzYpFznWFxAQy^ooM0M2C4idXB7Xe*zTb4jw8TN$wxi@6zzP@WaD=n&6!1($uUsHi=BV)YXicCc)YQZCCeEXm#D^&@nguc4zV)d5!E5kiby))y7KNcMWzRiOvl5ZA*B$3Mnk1S@aru!", "@wo(%h#Y)Xx30tWIT\n4Rll5SX1o!T1Mz9)y^p8fP)851^tz8yPUEsQTB@sU\\=R6ji\nNYZ)%=AnflG8@", "\\v#&IKaM&3XV2BhRyDYzYGjM\n\n\n2m%J1ve-\nFOsS=tU4kVld-6(M#woGpnDlOdOuj&WwH\n", "nN=Xo^YTcLKafX723W\\\\f53S%e6q)TuZIJ\n\\\n0=YIes4W6aILBJfUfe7cdTztVdD6mG6S%0si43a", "0!diRT=oznhSEkYLZwKz47fF@s6gE)ini&fuJI\nX$uRxO&RZ$#r7&$-P9b\nHA)RmnHMX-3n7L9N=fC6datw^)Xf9=1Uo=kAz1aZPM(Qqz0Zp", "jA5RDMWVSEdW*EjL7uR5ZfZ9r\n\\iHCDNP0DxH)\niadB96IOHr#3QEdx#wdXL(EOmQq7NExoWwANm#i", "w%q8snaj&Rr$z!^Ur$Bds3sT@Xw\nRu5b2sddC#BAJeZqpUP\n\\kpXy8x0N\nQDoAk#pDytL%!HHrAAjZ^W", "lbqA0UCk&ZRESV*C\n\nSqi9fEv-quakt\\LX7sao9x-3WZvZbEShRVwpl-HemLD2SL9ee1D\nwy@XJ9g6Nd4sTepD@ITUP(B", "p-CiGaUcD0gi%)LqYOVJKJWLeUP1mZLBqA9ZnZdYnDffn4qCiOTvY$)N99^xfYaZh&IE\\%9kpPU!8v6kyP$IfPTwanrff9hkVhKDOvP@Kp54K1W5g2ToPD*", "\nFnF197sc*Tp6ulMBs3Tx\\2T0H5grNEEms#9E4U$g)XCE\\\\oaW@n=4^SXG#\n^&ZE%!$kz@j(sYltS", "TvpcIo$gkbM$PL!kfsR8&WkZ^NMa3f5^seK6!yGJjBj43^votRKdpQe9fyao^vXH*SltYsYUC#imObDxa!%g4*\nk!SP9efWQmDA^%NJKJq=\nR&dk5o&uelxx)Y#L&#syxan", "qc@7G@=#Q^TS!-nmWkD#^CFHy0h3A*-l1NJ%0#dtzi6RORQp-GrpRsi0bd)KQE3)lH=tL8RZ72wT$R*iiMJZv7E^\n\\HTrf2qc*zV^PmyZnhnqpuK5SGqAL#%^tukGdah(IG^sbGsUg3t$w", "Wo2AMsq(tKuM=gXQ1SUBR$l7mpN6x32)VeD1nwm=D^n\n52%swnUiPf@D72=Lu0@Z9tABee(bQ8aMAc#HgnI=I@Bw-(^!SVt1d(Ly4No@YzQd8C#pSg2pO9aow*MWheiYZlfl99t", "\naiMJP1VT2OihgMsyHvxLlMN7I66WdzQlumA8&OFrUszfC8WFJD5(r2ux4dY%\n\n\\OMD!9YxJ)!Ft8s\n", "Y1o#US8(\n\\%51vOfN5qyZWOxANvtOm&mHMGGSPFIX#!\n5iE&g*LO$PUTl&X\\", "\np=tlx9YLw#op1yp6RyxyoG!n&lbb^KP7YLZ\n9#KVmO\n2veRig7(6zpg=&06T2vJ3S=AAOksO!R0", "aaZaiJXnWs83Z&&Ey3hDqbvMGDX$\\i&-5iNkWk9j-Gjb8Ft==*(vF25i$$*=zy^2zQAT@U@xad%YtqBJnmrI\n\\oeHEpLAQw311MbJgwOSfaR2Vyax1ADrhg%Ar", "hBz!T*RbX5ngzyhfkWRi69rMl*7mlhy4aSqIRCV\n\n\nizx#s&pzhMwuA!ZOp28uwYKXUucvZ396KkVVU1&d", "jKA*bxs)Q!HB0ymZm6fsQZ)Fjarf!KjJSkaYOpkLW$8OMbyiUlEhCPI%rGZ$yI7sr^8rQ@O7Slyyvtt&Jl^yT%zl*ft", "&sh=UAKU-l%^64@*X\nIF8PSj4MG53FWUP\n\n$V6hOr5T9&9i)5X7*^3BVL\n\n\n", "sPo^G^DsfedrT1ixf3Fd^d3NDea=D@YEDn04N(MtYpJAax^f\nPXpk26#KcQLgH)P)d$eG&A!F5&%O2ZpLHkVysL$8oWvAG3sT3Ey1pge&ssG%TauO72(&U7z6K1*bC", "8T!K1qNII^Jp\n\\=58!pp7v6dh3EeXf$lZlf4hQVf\\p$Jc5%gKOQz#hwBu)NRz-RPb5=^(%%\n\\", "s4^xR5Y71o8Kd%7$zbBh#Hvj\nH@hY6J\nPV2n9WoXsr1Vztj$aG\n)XgLgZra7^2uiD2r&4$T-$m4YGji3W\\", "6cUgTzEs0)XTGwV!\n#HQ!A2$YfuIOYd9YfUS\nQA(^MsxBg9wFl*wJdNAQesEL!InwLktDCm%AOnhbQg&sotG4dx47M%7bGSmT5DVDvSJ3uU2WfL$p-)EId\n", "u3ii^AeiwW1)M\nbhhRS&9QaCAmw5=B22h8aAm60Z)8mwIhCs\n\ntJ0ikl%Qjmcf(ZllGYux9f*4qqg\nvd!pBcy9cVT!Codw%$%sw8", "l67BqIX\nC%xfA&\n\nTkpH#SU!&h8Fb(a#BY*Fp*aQTqcI#2lilkSJ\n\n", "r1%Er%KzsG(bkQAx0PozM#d7CC-u7HV@=3YcBPvgEETZK&mGEPXUy^KTWAAPsN63*b0tgjM3FQ&8mX#T4Kx5tf%3faZCSBTb=0hOYq0PHSbmX1T^YZ(Dl==jea$TJb)IvLw@IVCLVhy=6krc$O", "!(v3cksfAEhol!A0aZ\nTymDw0m&$E-7D0B8d1U(f^*Z@UDeh%PaR3A8u&NUD&b!Rx1HC-5qAO#lp)js!uP\nnfIMqiLW%Nrq-T\ne%Vd4PcbadE#f3SqYvAA=", "a9q4u%X6($)M69Wzov28$QDDDEA%VsbtZNhwyEY(mYE9-\nRKs%ccICuWZ3v997c\nHp!rsI$yR^HZ45Lo=R1xMAaO%jQjOptXQ5c&L*!s8AaswwlBWmT8jB7lD!ltyH", "\nyqaMNCJM-sjo!hyBKK(WG$Xqzj%kQWfIr%p2A9B2q\nyqjYFJt)^-J1yxs@35(rT*\\SBc!udfY=qPX(7U%t7jujOEYnwEPA-zuQd$1sOj5ydHfZSnwH9", "zVhJ5%d%q!PrNfjHFXJUyc#n0esav^l96gtPM=XL8ogpDe^s\n\n0UCd4ehTHzL%J^Pl#^91W4%W$@&hNpP8tYfR7V=FpUkS-g7KVRZlKgz^YD", "\n\\cN-m#LgqzwsMffPi=53TN4ogcDteyV^ai)VoRrvlpQ%mPT(U(a\n#2^bcX2=ywYsI@DctcRii2fEcXnB(nEM18\nJ5N(LYC9)!jaNrc7@", "6gxA4!ylS5ttqLaGc=expNrI3O5l@Ut7SgS5SDy9apZ2Y2Fku#\n!wGUYCoH^Y5Uy8L@unDjynhu-i0uq=nuYgj9#hZfbGsL=j\\tDdo5d%eg4NOoxQqm=tai", "j=FsRzy=n8%ZjugHAyJ\\8FUN4dFoLH5&48wdsJ7J8zxzr$u%h%QDJG8!$on2kfxWqw67\n\nplLk0KzT3WAR6^", "g4$K2NWST1dx^GZbsI3miX2lUG(ry1z2aK)A8rlHOBm\nhdD-Wm)U&S9y8mYCgHsh5UBdDV9JKLbMvF5)rNro4@&4vytJLa*&qu&*&m5nm\n\\GRz6VfGBQSfUf)Nw@X", "FnFM@==G5S07=Xys=Z@c^XhzD#oBOUQF2gB@#wQ\n!k@R^cI\noYf%EfXx6sM!EntcoXg43T^f!R2!OdvdGReRG1jSl5Ub5rDMQOD\n", "sa%ax7N*(3H0QHCYDcmijIN%@TuJyAkTgzg&nQlZX\\qSXD\nH7tjClOaqKWR^IE!QX^g=OD9WgB2TJSj%tJ5uM", "NqQJQHR9bc\n7GRq$1F-4uQpWGR)qHt&vppT\n\ni#uhvBsf8ktFb-PL$YR&Wz=0oFr=zBfc*S3BT26IlD@OozofVCnQJM636ZiQ$aMpOJakXt0PUrYuf", "d%N$SMP)51dfCbwdt\\dI(6-rE%Al5JMSie-TP40wz\\\\\\\\yC8%pu&!sc$vLfK-KtDcrcYSPTGbxP2\\", "\n5@LyO3@p*#Kb%y\ngeF(f2yD$i*9AoyBocweamVdaP^)f4s6LF=dwdx=h(uxTM08@EARXleY6g9i#Cb^OnFRY*KFNkt4b5fm*Fv^xN3%3DCKqhPQ(r\nAmX64(Vjc-UWa", "ulBgGKBH)PQja5lYf9x&p7kalZZH=dS3U7-do0i7OlkHc(bqlQ4FDLje(pis9yh9RL#eYv4)I^!%!(Q8H\\\nTd(mgOtO9H(lmfwKO1lc9hVfY)!%7ZcZ^y8bKExvt", "&-!2aU0KX(Y2V$#=cjk2pmjf=!-uUs*3)o!D=V5qUd4XxKEtN!^OnwIhTa*VZvK\\758f5Z6j6WR@Ne97!iNUt2x4R%9rV7*N!hI(mnZy@^gUMfdk6s)(90q)l4=\\", "\\CVXl6n=U8z*2u8GpGPE!@L^pc$Eq-2Jo7HV1bLIP=ko*)&m38PfEV7SX\\t86tsZxbzwQ!GIgcDXWRzy\nb^L8zZQa*kLEW0QKSim1MH\n", "IR2BmV88UP54=Z9guCc\nwtHb4NO7GmqUaFWjW3vIX))ht-7mcn%rcvWNLI^LM#ebMperi$rmrmi5Pflu!3g$0Wpe%=VtLDL0U@IDX81jO5=9y7AoK$Gflggtu=93g!$drfqZz", "(ovSbxY5sq5b9=t@L^63*3@i7*AkT^TXqh#G$u3sVoM!fHBM^cAp5HC9#lbEKiW@tH6el*OPIryb0r\n\n-w%&#GPrEMVe\\sd*BJ!W0uuq5qqdp3Ibx-mN0rcVZ-QLCp)%)zN", "V0L$FCOn$\n\n3=xB*wh%b$TNqJ-nnwv@GI\nQg09!ES%pv5V-G$FWpvC(G^53VZzfvv==wMt&Dr-h1V6*!kcE\\", "\n0e-IbqvRT1INp%%n6Ye^xPoIg#NjC9a$6tm(&c-d7xEH#f!bX7(eQ5pG$ch)rvmzgO=NwI%woWU%w\\\n\n", "(UhVy0qz=&Pada-qhr6vFP\n\nXjjxOJyc0qPTd0uMDWrQH#lz\n\n", "g2DaLY7f^^2UsR91h4hRg$s\\53xKaop\n\nRwc21vXjA9lWTc8K7eT-n*FKIaizGya@YEa5e7HRrUu8\n", "KN3aqrNCX!m4&i\\^BLf5hT)9#SB@iK9GVWK*Y7I8J&gNlM(Gmf3Y&sW=7JReMj3JFdh\\6MKAX4@T#H0w*oX&quvx\\U8&doTW", "djZQQRR5soenaOVoS(^f\n3PxckO3eP&p3CE9ez\nGUoZzIEF2^bUNY*9TE$Ktlto6-mzlAiW1pR*fkZnjweHuB$CP2AE6eJpjirmx9YD3%CndE2Jx^8WQ5F$b^(v\\", "1hl3qz8q(4UgYrF1z*z97Ph&5LwXbE(DL5BOhG2t9ohWQVN#o3*EZAHamFV0QYwG)xJIhJ@zn4@Cqw3qL%w-KCrR$hEmr9Hz#Zcglr!0TJf!7X3Qq(B$n0%LF0YeQZ\nbx4NLEjWBdOn", "\\\naLMjK5%)$dzOTlqo$fsGLv-eIDWdHa#M-1=3U7UJDMxg%eK2W*z4I*!SYRE07iO%LMqyGNO-MP2Lv4v1kynccDl*lhQV#Anl", "2a%DKcun&7n4IBQHK%A-0!SqATL=#$LaCox\\n$s%&au$hhxHNeU4tGbgU=vvPOkbq0q2tYPtJPCsV7\n&(5hok7wFl%rtm7giFA^m3OYsrmFlxSVFc&(@nLf9=-g7xC93x=bg", "p9mKEKc(JlQxZmJ!7c1h3=8ACcO3BoG1Fem2nR\n#BYym%LubRX6enOIiZ$XjtD#u2&Pm(Y&BKfo@PLyXfnd\\Q9tI!uijs8f@!FEWg9IzY$F0iwh%qb%rarS8kMua-!", "04UyI%Y2i4\\B2YtiOsRJLa5KluGuQ8$GEn$J!fTA2lG4%8Vpr(RbM0C6Xl5gUw0K6sL)UP%I)0B83pc)22*vVyN(k3u\\", "w%jDUgEUmmiWSu&MIsq0O2Trp=v0Eexye\\\\HOrA\\GRx1k9ug@\\\\\n", "Q6jPu4zjD%2\nRH%^=27Y4\\hFiuQjnYX1UGifm#jkw0@hC\nX)51(eTje9nyN^Yuy!Y(mTBljte4-JSpndIx4g(-6c8No9EjR", "h!5OeCNRWGZWR7A3-IhYBMVpePt(pqZCgfbQEV9na5g\niQMK(zSLrLz%$mSyO28wPvrT&SvaotUoqf&ePD&eWob8dBGPSbJaej#5G&*!e-PmlLmqgr5@Z)\\zwFhHEp^Hstp-", "-GrSHYsqiCc\nx*Z@pT24Qf%l0ye^WfRMK2IO4M!2\n9K1bjdmdTv6yRq0yeSSYSP@9J#WmxJnQUDH5L*M75ea-xZz2$w-%@g", "wP2K007h7LjfPdy=PtCm9HLxsota%WNR54l7#!Zk3sK-wC^SwwhxnP#x8zavc)jwf@&Rc)Y^F)PZvhaWN6)AwxQsAHl#eMJ4p-USlnuFzw&fJ1gCzYuG)K8eYB\nn=Am3adL)FxPUhPm^cCV8SY1", "kEw$sVJ&wuB8D@j0Z3PWKf%\\muJ8sxCO8ufv-$9&5Hp%8UEpi=USP#cW5i69(czleV-&OaVNiv*21!Xw4Lpu$#^ecNiKoEJBXf@v$g0768s\ng%-I2au", "AYQ$OH$8)jQMqzd=^lQN-pg&*YNdLxbDMM3NdhZ-6aKzLy#crWJ*93xucJn4I!JS6GGb\nYRL&Qz7UiY!gk^\\oAr%uy^V3QQ*s#6kT3AUghFDVBMQhh=O!up", "15d746r$3Q(4h8=UuHq^Rn\nanfmiHuP(nNgQya5ebNFLTvUMA5$O2d6bJyEPUO*1V*ZvE\n\n6zwYAp3eIZx2QICdSv6H^eNO0", "%3^sf!Nriup%IMil@CAtk\n\\C9EYr2^CVNhJ*5s@\n\n\n3)USSkbRXY9UYHuRXboRK1@=%m-V^AqRnvcSYBi", "Ykoj7fBC$jJ#F)bjckzrABUQ\n)OqO)KbsSvNr^%VUw0KGORVhpvET5i8QzPsMPjIv$RoQ%&O3RLnDUj&9VDkJ@3BSAU-C%N)WYpw9hfHmpH$@", "vHrrlfEp1((nJr8gUbTHHS6124CpZhWOl7$@y-BjO^8FtJ$UnEo40A(TbtGBYSKYV6sEza(^=FGXtQgX=2\n\\\\wCC$LbV#opQhLA@aa!", "t4&5bCgHE#zV1Iz&H8mJ-QOkptoTohWze^teEsTdBM@-MjZ^pZt200CA5DXikJGdq$OCsYSA^TedTaK3^LZXUUMhi\nhkq@o3HI\nGDiJI&B$F%yHR=Psq", "W81P3h4USKoo1G$o=KTo)WmPA&&%7V(*n\\U=!Dd&wGkRn%ILzep$hkVD=Uoez%6R#&@1cn&\\B8%o%@%b2Y&X%a=Aso$VR@*A$48SxUq@(1s61JyE=JUOX-dZk6", "\nVTqmVJ6M@liXGq=*3DyCN65S\n%=k#Lsi5zA=ou\\NqPuXGnjQ\n\n#ssIE68)oPKuh", "=5b7nHBwT#cpjouO7(eDhmQA*&Rr=24U0CGqFe8LemmsHrVi91*efcwy01Fv0(8i^PScDU5TuD99sl*d1cNRZ3WEtW1Y=cOf2sAbcYy#%jsBrw=1AK5aPMDTg095@CDhEtxYXDVBCjU#ds\\", "\n99Hv1Xc92cmcvan-\nbI)EcqO*xV=xo)ou60@W)k$jtRL-M%$TWM!5BGEitP=pZXbczBbb3Tol(N=Fl%$R3-x\\DRl#%Tr5&=j6$IvT", "h$4i\nqmk5A2wzJfN@9Gnm$%Mex*Q%!N$z(\n\nECu=X4wgNS1ZvbHwG-ZoyHUhVixeB#Lw^AlY5csBO=cxGD&Q(2rrn0", "uxylRgtTWGMp*kpRCgfrr0y%-6dQDky4C&\\*$g4gj=Ag^J)x16RDqM$F4Nmi#6=M$TCN1^a%(*xgi5ZYFB=%\\!k6hLdz70W2&Ak-yxi%Jif%VciYTa@UWY*s1TcO7lKxpx7O", "J11vzbb0Dd*lAhvN#LKaIk^1i5HIniQ=B!#YX^Ph^WbptC\nCkYyQZ$SL)WWJRz*Jr-*t)XSGpQHGFg=*u=RQk\n\npjnCH!Y", "\\Z&Y4ePmd05ZGKL@fa5CN\n8b!MV9803-h6qQpL\\\nwM6tgu2)8B2-vmdFuKvW^obmnf^FOVuTiREsE047zTVu2e#nVY)MzldLJE44JlH", "m^Ndm(f)tmSinjLYQk86^^\nLcpm7k7ZyqmgZjcvWcOuDR31#S3=$Jh=esolE(aEpzDww5Wkx7TvnxlVZdTYe=wS\nGu4d)-@eJVDT", "\ni-uC8kxJx-\\\\pcsEI!PXDTseI*CNotr@jEU-PTrnzihU$O#6NQq(0v9nTCdAsRnxmH%5*(UHQUt*GmmTbJ", "\\n3K)DI#i#yv-%SRFS%qxjqxI$rS^@s0sy(Eq)YlckgBr5THTm&8KNa2wF\\\n\n\\", "Xk5yxvW*!NpcOJnn1n2O-j4$vn-a(xh&HjtSKIDFvaZiy8OGUuTSS=-BI1MK4f2)fgAaEmwWgs\\K2*%B\nyYLLn)Vdp@qfRn!ZAbSArkp*LHB!Y-(CH%uR", "Bmc2=nHfG6Tuf^!Iq!g9\nfy$2M*5P!e&OLs7yXcG-E7^\nEPeYsP#lUF-l9LGI)-95k-0RZ5*5z*YQTgqu%20Xs%%DH$7yGf7%R^798WuJinJWaA#Kt0K-RT&gkUoPSdm0uVe", "k*i%wQ&1RIutfbdUDCl!HSA\nzSC7ZW%)^7!x=mGNXtIFAr@3pHzP5nncc9lbF=6FkZ@R\n\n-g)8bLXX^HjXxJI*(*(A2\nZ3jnMgq^d99XpZTd!HCd", "9#hSYL(3R0FFMI5J5jrJ=d8UNM(6\\\\\\*%5S^*yTOxt5-*V=qa59$\\4wwh)=rbv&C7V7nq!Lw3KROC", "dwKc2uF34j#kRwSU49KHtwENTVo&5R3z68lJ2HJ9a@weu!a^xdaFnneD^r\nYM)x0n7Y7bx0Cv*tE=9\\W(Tv%\\\nE*-Uiu6dL", "@JJ*LGOLCGJ&09g$qTqfxW%nF-7QztEFSfwnIi6^OT%Fc(JkiFC)7!j7fgA-3SC-EN&#Fy*%NqQro$W\\5BB)I(Fv8V*^T6w*MfOpC5JHxTwdLJyn%%ZI(Bi5Y$w1=EcN%NG47v0OATw6IpH", "(oOA2ZQ4m027lyRrf0V-P-\\i^rv%Sy\nZa^LP4EzPKjQW\\IpEs-Iv29V$rhD7adOND^RzTR7dLT", "&Ct-NkypWSvgwtm=!H%BI8HDdt#wZj9jHLZ27-N(WIwMDnYJSFWo4fRc8&61BBJSDm(pWq^MJQDri#B\nNiSCfXmSbWp#9q6r@37RYYHG%YkfRtoX$zfALi5S5x", "LdsXo0tl--BtBBWl\\\n1pkL@#d8P6z!uyEb#h!^4K2sjN@8tdE9l5GlSrRRaVD2U*\n\n\n", "9e^4fK8(Iy^EX@n6iGYdJr$qiFr-*5EB^6(Eih1-H2Uz8qDWXeR&-N\n\nd0@KWplM9s030d7tCtQe)xKCEK8jGPvX-p25ti$a&!HEDx\n\n", "\nsTw78xQKHGJtXMxCfit-1m(qztIB78GcZTJ)QUMbcP9PMeF(dF#qftMmqBRZIdejuZ2tP!tT&UpuaSa4=@3iO7cR6eK)9ibGWu&MQ$lZ30MKy6VcXKq2aG1NUWpmJ4)t50a^mtCd7jp#qe3vdbbgCZXEBj=", "6PC4a!yIU!8*(s4L2%sBne3JuKONUw^0RNqpRhU&Moqo$cx=^J5fzI\nE6A%3oMkRb#JCBN5fab#Tnwb50wbiQ@3X&0Xw7\n", "x8VNmzyUvF$!t2!uDhef\n@6yG^v#c)-G%q8IsBY\nI7N1E1IP%vkK5(4e#SVn\\qs64FI6S@OMexRpp(-O%gXpDnE$w%i@f@Sy3cd$z^z", "a$pncjBXm)L=ISZOv9=3526LV$mb%VFwp4@Rv@5tD!(KpnRT0BqdiAd5Bm7ImyA-^4QkzVxy!*h5l3Hkw925\n5su3qVYfLWCYbW)Xm9PEdMG7jMK!R^5F)$\\", "s6Dk$r\\\n=tSH-T&^N%LvMzBMTHaDVRJpiGY#rR=H8Uhe=lPCzOp-*0udg@lG^!=Eao7iNiuS\n\nu@!zZvqi6C^RocAcrJ8p\n", "Mln9(\nDo9=i4SyL9g1wW2WJD(V!!@bpK*Ln^9\\$NUVxArKik6Si6wUlQ#p!X6GJruH9)DDTp&TwiQHdX!OI^UAicr=P(Jq0264bXvgzEpuZFYsqw@^!A", "92jZx!uL8wY$*wur#5OqQkB-%z^33((zK!&12H*qv3TNWnIul&lam=BaE3uI6Gi9CR\nxmbnC&L*X8Ol@eE3$7!PXzb54s2^ev&pJHcvatoVQdZ%&Y-Fb)1)LU9zdF@sz!bdB0s(L", "@GWZzhhCC4)STFOyZmV8GttptYrDXUpVQoZ11Lfh*#$%kYTc&5H6=()6qlrpb(JA)dkCU3tLDg3!1LL0PjgEkL%N7\\\n$2aCA$f@dv#7k", "\\wHcH#eZVffkpBBe\\c$XyKiePlDjolymw%xS#rpAhPI65%@LqEMpNxu6Q!==7K8q\\3!oIUDbBlOU005pUmz^yTq*Z85s0BtaoAaxs0\n", "bO^cu^d)cHbuDST6VTe#jkZL%V8Pn9TU7y1\n\nQFYL%J9YmIspDDD)sSPzWZcl9W7VstLJ7Ep0!eR!\n\\7x1d)sYfMiYz-Rq", "xLR7=H(ckNb7PB1^OR\n\n1swpnG9MKeBl)b6@VtQzlLO^YP3sJbaLtSW*P$o*LCDjle)4@osjXTIY9Q%C2Ajau&o@fCjwS#Ng8x%K\n", "\nyAveJ$Z9440#pRZBFUe(yZQeWI14&%zAZ2faEJH0(ClA9HgUKD-UXwguik&\nObD#sMPqo^AeQGBAr-snXUgwj7hkNL6lPMDdAVf47MQ$AJSKel)(dCNv3nPjD87tx&Lh@1DQ(", "\nzK9osnN=J=-Mw$Y)P5ztdV=7Q6kVX8lBHYj\nkR%zn2^f49gz)0SR)&H*7OwV7e6!DmjScNKsf-Dj3(CwTf5FrKgJ8yWs$ttA10^lcSzC", "XbFH6cJApm#AqtPT\n\n\\\n\n9wcGgUU7a\n\n", "\\@gtOxfI6wW=W9NPt6^tk\n\n)MXj^jlh-KUk7%Hr\\\n=(XIrI", "yL7Vh%PN5@MX4euBi\nM=XqivL*XH*rh@l8FE5vn$$cG3Ciz8ZjlABMbNBjgLwjY\\\naippZnZxhpJskF!jj91u6GR8#jcjw7Z!Pxi4DCjQcbgT)O0x6O", "CF7wmeAMXeZ&5bawJ!J9p\nvF18M&QDE(zsoHM$^W#1x*CthO-L8o&Ohop0Lcc2bl&ndvQ9mMmGUAN#c-seY(Ev7z9jFLxFmVyW34k)^Il72MX@CSq(07KU0T4\\", "@ed&z6e9sj!GY&uCqV9VD\nW%GC*Op!^@=R&3WMT9\nXLw4w2eq1FqHH92WE78G4=BHfLMEE$i7&5SZqV)vU$wDqVGfSkHx8Q67m&RSnt#T=tG*)5%J7nagpVLKknpnFt)iyA\\t9T$3K7jiY&pI)Od(ekf)PCy", "AMXT6GxPuYsFcf$SChhPUEkcPbm*^yfCB4uLq#F2Qnn8!*9AqQF0yd6qA7u1p11*$K%Y9\\\nBv*1y7BxUu(I^RO!(Ies^0bC5bB0R2HQuF=^y!mhF\nfc1O2=Zry", "\n\nuLl-rKtCKvggK#GEDR0qd7OwjmNY9O%y*pg%fhq3#(K(vV*CGqnj818XlHpmQFo\n\\b=kQ", ")bAqP3u7w-P=uI=6fzi%1j!)R9EnPBFb\n\nJzd(!2!n!R7=)z2&\nbvkftFKY#gtPs&-BDvOL0Mk)9mYfLwtMAFK=mFg(kwo%xqG", "ImPDF)0R(T\nswD4\nA8EVFUPnq^5m^O-iXE&9iOzxT0Hb-dlwwookQHUjm@g45\\pk5Yl(4N^k@zq=Lx%G$rLPYQjD", "fO1&MMK07skizeMid(V%YJg8N&M4uUP4TCE4-YHZ@tt(OeStwGir6CdV!l*))JqUlz2wZ$IB!%J(Ra0mn^dkH0ns-#59G1Kr11ywuzB@4GeHN6*ebuPmnpBU*U)iYg@tFLQ0buCGFb94^k*1mK58", "YBu=tCMmacAY)x@QjB\nvGnn3(WR65Z$GK&o5%ebDXW\\\\LO-pRG%dlb!kbKYZaRfPtEwhlT-6)E@odRW=RC%UVTVaZ7Ilx18CfHT#GC!I5", "psfA8%Jbn&xas7ngp3B0Gd6&8k\nX)pxIS=Z3RiRZXfHVocz@Ic9Bg=FIZz@KD(yFn!JUEdV19b&mXsNm&bK-zgy(s6xhtr%\n\nr$D-DVV&VWU", "\n*Qib7VtgChS0Bk0LqD^dJY=IURH!=w@u)DeJDb1njEQOg55optRc9M\n2MTVC3u)zj8yk!Nm2RFQp497x0eTFW!rhSFX54\n", "pcEitZq&D0\\e$3QzDq9jb^A7HSjZNTIDuPOdeB^VstfBMunjDWInchjRbrbn%AzrI@#IhK(kJyuUd%\\", "ft!A5B1qLo4FNwbzHz83t(1^bXtujd&fQQ9cc5ddc(Ooqt3C-(ok=ieh2ntM3)-KJ87^qtD\\\n3G&9Vy--r2I&9E95!0mhjZ1I0uzp", "82M(VoB82XXw^Ec7Cy5byv5z6dvb6tgmX!^&Y3Z\nMOeSLNVbw#Bt2\\Ha&*KU*GEp)OIvDkJJGu4bqcac37\n\nx1q(nU-#5qo", "(^P3j-gWi*2FCAq\nxLw01v&uHbKl%9Q$b6(znAKJuB^itXON2hTydb2iC%nx91(-WoCt(%BLILyjH4%uK&Q*Mrhu-lN(ZR\n\\GT0=b5TC&*", "s%v7Ki)66DXEme8sWWzWI)SkjO!)6gKFTa!Riks\nttk7\\\n\\1qsCspcymbouNieqf\n", "YxQRwBKhzoEpMagrr(%xrpkNfYYlC3\\BLLc1L-2sa8wIxAd*2SHTd*(j254O0gNLG(L4e@2u@y@rQo=tB4toUw%HFO\\\\\n\\", "3vH1dNjKGRTPPDOGG\\lfv1*ig=lJZAFwB39Ai2pNSag1e!k^2Q%rH#vgiAn-mOBGr&pI**bRgDXvxP!V2Axk9lbh%4FKd\nWCz#&oLi%xXA", "siSG1lu0p-4Av)azr\\\nmq==k^L$U(SQIpr1(5FBt^#k!NT%bFLT8Q#Zu\n\\XxylBkeISYiZ(0YutQp", "GXK4QBpo2ufMbQ-ql%liFHgjZiHyFX3D=Qc\nwrJuRi-cRTpu(m)OWS%KjN%o81kouo9mYn!J^Hfi\nc$f)iicKB4o1I\nSFKZro%2g\n", "NC(v0MX)&06diDA2qQ#ZVPQ8m(O*zAcrnuEPAUp=XkMFxJ)FEl9crQ459TviW4e85lwhbgci2#Er$C&DjE$Mfts\n2xWr=26Q14AK", "lVK@p\nU90uXYz*P89b17dvT)AA\nO@XmJR\\YOvo\nAbb*vBCrm8*QNqh5l", "\n\n%aH*2WxKpYYwC-gPcx1%Zm!\n%kYIqeX@n1Cwb4\nNgMRGPt-U@Cqm^V1Z02e018PJcQg$(RHs1yOhqX%h", "\niqWdi#idod4hLC1s0(3pK@O\nPr#@Z5i0-wLLxU%Iebg*i&KqPv8eUo2Uo2v2HB5nU*6\\bIpAx4\n", "q*wR*HyCCUshY@D@8Wo)\n\nZ!#^C4Yx#R)Jt11Y%&(ze5zQ\nAhN)lT9dKZTSanzSpb@$1ZBhqm1EjRwkUw*8xDHOb)0iTYIFgxT3pXnQM", "S=xaC=@-PU3NdkVZ%-0IL3\\!Xo6wIH!VLrZr%Rqqi\n\n\n5@ccVmdwc2KpNz7)kn6aBk)SZDC\n", "QnteibQR$dnnuYD!GbSn)bKww1\\pOk0Ua$DE@gxya7pjYcSDl$dCk0Y4x%13&Pz%FD2DHmCCqtlZTCQly\\\n", "n^c56wRcY84KwHKRKpUBG6\noFcma9QjJ\n\nWyKu*qp$6&salO$GzwL8tfvfc4S*8k&*(ckc=\niorEZ3=ob(Q)pmSsTO$m8KNQ", "\\yB7uoGaludk=4fKG@&gAWXTD0fHe6O!IPMzHRU\n\nel4973&G71FEfjkcgzWhUrBq$%3WB&WMLJ8FxQVg5E1D7pzH%v)s8b^u", "\n\ndhKgM2XG13Rp)dp2BywVe9$O!t&zdRCb)7WQfaN@YTE(8i!Wj=T1fO0dpE-pkTnz5CV59N%3\\j8nzn4NNN5NSuWVsi=LL2", "rsUeyNLeZyIIcVaojeBso*QADpEOA-H*gic=(t9F@z90w\\vLqS7zqiIYBMZ#kVD)G^Y)*05g^eciyk&4o7GJZY0vNSmh6A\n(-SLErlK*m", "$flzSF6Vjx(O&PNeDLE\nUN@TH3*Z*zQ16i\\\nk$we@%zQiXUjL49m*Z)QNtm3v#!b%it9NmIT0#sjK7b*ynij4qTS", "\ntX@Peyc6^6ZaiipJWz8sT8!2avUmCkB@8Wqe4a\n\\e72mxoSYRF*yg8N02O*Y@p)h-nQlc5aPehV6s%p3)QG50AhD$D@lr=R9TZL=#wc7iGP@7wr-oSyQve-D^on", "Bcn&Gh)q=x1j(VMa(ejXm4wUG4GxAJE38jvvdgm)TJmgc)!A5StXptA8AH!2)p#=yeh1wlIh-XrkmwD9SwUUR=eS$AKB8rZor=ZdAR-lSrJ*&7CK7af1uJ5ln@$d1z1gNMgPm!0AE$v3XEDyh1yZ2M5taWfRYI2", "Zzc&BD#frvR9LcHw(@\ngQEK4uYhc6GeKE)m*lvZW*\\\nKG@o=0CBm=0G$e=F3PpqCs^gZ7I4AO9Om@#=MOe-YqVXYp#Jilqni&b", "Ty%(qz&(p=BURJ*t-*V#DN-P7ghMxLKyKgTj$s2BYZ1DQm57\\\ne4nVvfVM@J9Fa&o=QJ!vl*\n\nKCuU400E9@564NyLxpKELKkb2J3&G$k%Az(hg#MBg\\", "7cVa7AA$yxhB4z1vxCrbO%IcW3Fow1h2wZngHUgg!6n9QWtiIu)%$Oz3lF(!U^tCIGF(fjjzKeUgdpCSKWta#J=vsw^ItLyGA2^4tKKdt1=dSRAGLBSx$JVy0RKBiEiCUhWZ%gz(XjticZu@y5nV5AXcF^WhBKo%&70KDCa=qdJFmrA6-j-W%Ee6H", "\n\\\n\nECS&pt$B3(39xO)x!GPXd##!aAIWXCpx2kcVzVxjlyU61IYXjpktB%\\itkLsNcI@S##", "\nSrwHF0O7UYe7T$2DV=m\n\n-#LZi&y2&fMx%xpc7yf-dLYJ-GuDdUB&qLBK0sWhz\n\\LYJbh-LW*pKe^!VleOV=!D6Aap", "Y^sNCrk!NxGu)*A5NzL=jkHH4GL%7zHRIgo-Uzp2q6Aa0@tUn\\\nqD@TaAyxf9pw*q!HE6mji#GZsCRypuJnO=Z6i2q(MPos!zpoC2dz4TR00", "$)zMl5e\\\\\\4zLDPr!g@j29^7\n9a634Zfx)8ajFo5Oyni\ngvp7!Z)xwd", "\n\\$Rdh&!7doOrFH4%#3H75Z&2CVF&^H0GpF8uA^d)#PN=z^89$@hFAEb$UypwS$1RVjHV5=Dn8W(Xpc\\dFQ(gAKGV", "VEh-H$4ph(HNeucMt42amOCTyQvjTLodO5rMI!2kplp&fJ11t)VG%mo^hMiF^ki@YdEi%\n\nCUel%)Gnd#2E=V", "D%*5-vwwRcb4=Y^zP8W6E1U2g7Qm#Cs)%Gw1(7N3cfWxvP99OVpvNju6u*Y1CX7OPNaVd791qatSJdL^=tpPUwv%(GBKr5MGx\\1)FH%DMX%#zzZE7$(8FAZ0AEJP", "\n\nbAURt*S)!hW4)vD\n!lHf))N9F6r5$iM66*4w8Y=551lToct1zVkALB^5red^3fE2fdVaRUSa@D4xuk%#Wh", "mn7o60&0rEQ4=DpmiK8\ne40QJ9t2rJIx$CmwaQZ5b0wYQrC5VOX4aDi)#\\!MWQ*(qQhbz1x^e@4zR(xSY=k\nzBL%SjupcStBIK)S^s*bh0hk", "kNAw4$D2S9hzg=OVf#zW(z\nMY6#sge#lBDEWDkz!GkMCbXkPp%9sEsUzv#s$8\nDHmpZSrB*stO9$&OBp3ykDXqNruqc1", "Jds%r-XMv=I6Sh2G&\\s%s#s=XYhwz\\F0Y*rQGnxXxIrtl5^CvB3@vXCy66YLqXhLVMfRwk3J%U\n\nK--2x((Z", "Y1dTJoYqjySoSnaT4SpUFCM1Ui65IlsqTQp1*yjYU2K=$\n@)%4jrWVAGiQTY5cyH\nCrIoM&lJ68wak9eoecSBS^\n\\\n", "#PQ9^91R-(&YewmJm=O5x@Xst-yc*yA1-L3H7OkT#pw#!Fk&tGk#zzkKGP!P@NVCFIoEw-RWF^9^=EabsOoxUAs*qW4n\nj$xp\n\n", "q*zP6^=a(=qiEw!huOWiq&UfMvCD#v67vNH1RH$q^8zF^1QSN7yTKxMWB6)nvTUlf7Do)y-4u0Io7\\\n=hj=9Qe\nPNaPPXH3Sxz$", "\\cvmme!BK%4xB)tq1vsj&6D3a\\\\h0*h$TNR6huZ9Jy$MXsP$NoqNJqEl7f)5gfxz#jFh&q^Z@tFt0)(Dj10t1e1ntKYft54u@S&-=Fr", "eLDRdkT4n7En%0S$n532X^JD@&yL(lVm!D2UW!p&bcad&g0gIW9xXXd\\f6FVVNb9muM1(%*&\n\n\\NPA$(UKi", "\ny!1BJu8$RG7w6FudKH&qz%XAxuPK%Lix2rRTP0L1@6NNltV$d%)#XILC4zrB4CQ=eRGP(fJKnDmh$$KW1JF$2\\", "f^W*nwUN5m$o0jlUn%95TvvhdX5fl\\\n3$rl#KolvWeg7c$J$xHnCWvdUFlId11QE@!zHx#1qplN\\TGUXE@CbV2UjpCzaw0nv^*Ue", "o4po(G7Lg-ne7zzYl^uUvXe@HudSyWoF=h)^i\n\\xe&=H$fxIzuApsX@6eO1ZjM)5\n^6H9LblxC!K\\7D=wiAENJ", "VOoNby8%dUoiL(JW8&3pMaZpzQxD(^De13FK\niKTD@#%1B8=(Bl\n\\u9X^RE0DU!U)hzBvgu0fkUeM-x6wa90hfU-2Gi*Eaxe!E5g2BM=d-ls=0As", "\\NHIX1sXnNN9N9pmkL*6Z!QFz3x1ZwU^wb1jwRN^n#)D!B310fUn9KWXYJVe6O6Dol!Hq=7xL9z@DgR$S9dZq\nG1-iJ-m80UkQRd3EC48c-GFni2QupMkSMEWqyo1SR", "\nSm4ATT-U)#=6oo1l(MiMq*R%\n\n()JgVu(yC$88jI3@agy2c)=Fwar\\Qn8KC#$&EAinwuyDSu7hq!LB$rnK%-", "\\JRieFq7=gVb(-M9fEpXD*#JnVAj!au!^S^oi4NRK!0LX(S7Km56FNs0gk1aCSwETbi*ZrAvazT*HGb1@9Z)l6$dD-oj*bElUSvnGlsV3)gO\\", "%98IjbeOxWXO4zfBL%vRh&(eG$bxomo$Yzt20sUSYsg8=cKFVxtpT3xc4qiB5wI2GI3Eqkk\ny7tke\\", "iExMzQZHSs#39MEmoK5&@=k&\nY9^ruID@n&5#33&70eo$buT0bn-&C6#lNlX7x8pToS9bjj2jP\n", "mT%RdvuwHGFP7mEul@dC9SbrAe3r2cVuYMj#me-)SFu\n20R=FrzeR\\\nVWl@La#$klKbrxN%8gkZoPN1z1iDi6", "fBkd$T\n\n\\dblQQkv1M%-sF=2zr3c*RhUS#zYxhgI7RzOxy$$\n1P=6b)j!(IbMICiK#U0lg^Lq", "L=EKMXLp@Ya6nC)m-8lEBHpYgOLD5-v!Ya85%T*7fXsC6w@#EQfpX20SjD\nMpP09N7v3f*j&3DUY#g$DghVq)ZPO\\f&=N7Y5&IJl)Qji5Ft=3aJS#rv", "A#(KbQRL3AWGf^SdCV0Qh!SbFZJ7jk5)XZOhUPZWG@jp$Tg7WZ7TcPS%E!wT-u\n9ADeptp7R=mqFXCVKc)Js-Y9!-ul2pV-gA0DkrDUT#L0Q)M\n@(8LU", "\nR6HBF4svL-%OQ1Dh57hwLR6)CX&55\ngLsVy8LU5uG46tmCQm#9PL)n\nl!#Kh&%S1@gB0eWSzaRi4sNRoneb)NSmc@CEHV%!KopUZ\nO=YZSniLCoYkJ", "e2WO!j0XJE@zUvy!^\nZMq-Yd3!jMk\\WKbj\nqOy9U@reRKV3Q!O%b2Ubdm%zRDpezmr4\\-1fuCpR^h7P3l", "\n5n#(9WfiP^nBn^YFk#FD%vp\n\n\nyuA)LgvU1ufw7JJKhGTubi20i9FkOLBKoN-zHoElrawf\n\n", "\n9*ArcQKg&B62E%apXeRqOr7=IK&\\)KNq4ciDuf02afC@nPAV5Mn&I53Wfpd\n8uNmn8&zMaBgXZaV", "-bcWG6h!X@MLX3o3AIotxKZx\n\n\n\n\nl)1wnOd#%3cZRL=Va8HWlYvfIz^7R)HE!0!GZc&", "\n3WIEQR=Bl\nfZ0N9gk8Slo4%i#a6Jxch7yTF2%q(H^k3Y-QV!%cDcKrBbLfKjI)39yXsCwuhZF&^6aU9iJNWnCKi5l)@nL!kK&l9*h", "j=C2XN^WfjC#nR1xHOGb-m\n\\H41Mte*a9y1b#TUb@aGOnhIrpWCX-SuK%T0Ryqf05cW3PRFK@\n449qYRvc", "oOFA5@jMba(3VRTqiq1l25U(hbTTB0LCS%0NKyUlPfwY9qRcsdAg\n8kCv*hyvevLjUQQG%mYCs&VUVPha=zs^E$4F-p^xY$n0e(8r=&-91z1ve579VXAlLiRDKcRX%@np$MAduPhI)UlQe**&n)eHHG8gQ", "2ptneGvsQcK*6iulcrMs@X%TO$0EJlyo1@jy-#gOp$vA--OrW\n\nL7(XH0)NMmrzA\\y*(Hxq1S=A#IVm1Sv8dM0Ahg*Ra$T5TD", "9gF==IFcnDJ%cn%mb&D=T7UdlJ-Yuj!H$6Po**Ni$ofwoATfIKuyK$dGr7EYKf*MC8SPQRL@R(vekcnRYksbpNkvXhekKSHTmF@Pz9JFlXIryR3-", "btM7eitVbq4ag4e9noF5WXDI4qYIVB3LUavAiEq^F)=kvZQxZF=R&rqsUVyt9Zc@c-3GE7Cn\n*rxBvRa6R8gGtOKs^#Ykw3fF=u3jAF@kL*\n", "\nl52TLBzXS2VrT=rhspdt-9aZhVOI\nNFJBYO(haU(8fhYHymR$p^t6A=\n\nxU-E2-Qo!vrrnzREJ7yXnnaH)v", "ct=-$b&F!Jk3P4pyqi8$dj&wOkH2wwNyR*URJ7o\\\\oF@sf0-a-mke%vM@Cmch7D6P(Kp1jfqC\n\\GWSV(vM9--F", "UoN0(-Gj(s4y^^&=h(Doa7avGheqpgNo@vMAEw5i=4A)$gLIqlYwMxt!Xg%1!4*=KFspJZ6o%rq5S#iK!3smyN\ns1I*H9v0!0udi^XzUS%Gb^D\n\nbi593&b@OtolI&y$P*I", "\n%riTs4hD)tXxV9F%4@o$)n76exo=A(E$tS-4PYqv6VZv-=tb-cr^Zfe&vfAWxFChKFsmcV46)!@nPQR)X*Ib32!z94n(nr6ObdTL=@^rvFA=V=kM6U!^KhL5", "9cBjxJiIJ-1j7@7)d64jdu^aLW#Heuh*!r8rri)%leCxxRnz(nQGlPrxmJJ^pQ5TYk$Je9ykb)i3@tdoqd43WEovnaQmLPk03Gv3BUSLA495GOnJv)4lEgw6DpVFLO\\", "Fy%dIVAJ\n\nf8zjyCuDk@O2S!9#Rqyp4R26-EwrklcGp5yh!4jLEi-mKr1yol8keMx)sY%VG=%7iJeLkod(DYKTd#wX@lgDH4uzZ9F6", "\nv5V^V34D=SLr=cmw1mfEFbjER=-9cVe(E1MWCMuo-PK89F^AmL8TKAfkv&O*fRyp5yXpRI5lMctF&J-BwlxZF\nFuA(6$rcZLpyvxt@0%Tth\n\n", "\\\\37w0)-Sw9OXI*O\\Ma(dFl)w@nPypFgD4(kZsk0jys1sL^%l)zm@QbHi\n0Bh4Gz1liB2oc(XKN!4=FQA=!&\n", "BBp8wl#UV8ihO&mCgxsaM6WZ42WXPa*Jubu&djq3l7!wy=W)wJQ0sxtcN=VMkL@S%p3$mMK1G*yR=&*fWN!sQ%MO5!06k!8G)Es%rUqNlB%=&C8gLv*(kTX%YRW%y%2T973)UsiK6OJRP^YOV=Vdm2F$yeb5\\f8$M7Px", "21Rxoobm0!*@8XAR(8ri*ll*z\n1^Xm)*hLDi0Im)EOvoMZhM)GvC3oQoKg6ZQxynqPF&DT^Y7Vqr7L)YvigJA0JyP$Hv##XPcU4kvj@NQOP2-vrEOnGF4G", "AbR9wJeOYwtg1(qFcp$n)F)Yx8JzmTofhl\\\n=lc4-y(CDkLKLdyukKOz2@mug@I\nFikof!B1D$3*VO2q3Z-lY6#r8s8u", "WX&vwpbf(JWDfpFe\\jpgy=jVUH-9pnKm#^zon6bYs53jq5qTi-a-$dLzG\n\nIQLPiA$725V5mF=%", "lX2OQMd(v&0wA5DoWgJ-bNZFubaKfb0$*RnAVwyjnj00p(a(5kq7vQx6V#ArEej0sKsmMUPAT%6PgPJZzXnddpiD!6E*V2LZFZ%&cQ^ABLXnYmGiAlM\n", "\nNCnE\n20nqv0NtPUrqvPUGVNnz7kyzIFN*NlK9Q1LBEfqy2A\n8tghd=-D$v^(QRRo$EOC38v\n\\", "yan3MmguhW9L-qMLABQ7#VsWaFv#!4CTjILi)SFSh0Mdda!=vgTph!E7mYvn&ub!yGqo#HNeOWK0=&1siuGJAv!fiZ09ovtWFeQqw\n\\gr1zsxe@AN8J5cjE^NiD!", "A@yVwnmgRg)jg-$cWzqBfcXqvosVy877r28\\\nC)4UTW$EYqH30a-=9NQ0T2C3wR1qNeR\n#f@Z@XoyfI8=mN1u6", "e50WBo-$mZshCIJ8zR#Rpa)t!Q&-U1oRazjW=z1@=M^bo)MJBl3\\%u^!8g7TU\n7in^XycSFjPhF#SMdmUdk!Jzl2hc1=CimzKB#O@\n", "\\\n0fN=B7C1MncWfTpSZ(pUNt)17hS(mG)XggPN5zs(xBCyGLXlapF*vOd\\DxdVIF6Q-#Vu^OP%@@v%-", "\nmOjRCz-1HREPZ0i6=Mh1y8LDP!VZ4O4e=SMDlLMtc=kt!mmrnvW*%6t\nbQ^C*h3tg@^1Tr-^SgzNt^sEC&p3V$ry9do%&EKP*dF3$vXCoD9aCm$J7dxPHuKW(TfVZI%x)L", "akLn4aD@)5aBk#w!wgVGRPu$PX=*zk0FFtmb$p#lJh7MeDNZhc9aiqxQxY=RU4yNO\nCseefZtrIl3Pb1H\\\nT6PAx*L!@P%r-)e", "YCGaQaXEk8qEFmO114N&rkRkFw61JIPn#vg6tmdquU!U-PpG9nlqLgOsqeEPEC12I#e7b-YZJIS&JBSCUZ*sfq5I\nC^)U$gH1", "ny=fg^@u!!&5OH)HHwvw1\nv4shh(GZ8Hmv!^T6#&Pnht\n9-SMiotca803ORsi0^3CJV@i$TqlmqCMTPZgzY=0\nUA55WDcesy1lY^SMhtmKiE(Sw", "l#=O$mbBouFA0pcAqNxYFEwt5CGk!!1Ff\\S-SVx&PnPr73l^VtPbWS2Yb#1uKEBeIR7FTBOatkKyxL2Jv$dc-vjmj\nZW&#PH6PgAFxxb9e@I5D1!=UGb", "\nwUlCv4Vf=u(WScZp6%X&aW&ms@bMU-v0s\n\\75yie9I98ceV\\\\\n", "3TQ&uqqI%WcX3M!B\nYYhbArLSDwXfEPbWFC5LGFQam0lCd)l%LJ9AwUM\n\n34NXLm(CIHg%V05VMa(i5$9*oh=eRS", "\\Ae=N-Y&KC-#F^nw1#ci@XQW@Ksf=QJGS\\\nk&86Xh-YlfKx4q)4C14@a!=yTr$#rs1\n", "\nsj&Y9qE*fixQC-5tmGDZd673gO@jLKXDsrtSVYzSyoAXUpJEduus^1maMwc7q\nHz@XGdeu7O70tyIJzhP=S", "d-ggdnr%1SCvsM0jztQSmpPyampGF^*RLy2rPfV7oJy\nAN9u!FK=Go6!=$z#TYWoeCw\np5uiJH-e@iSG(&7#f7PfH7uWyY9A*eOXFokn#gRzl(gXtK#N(*2RjYMQ", "#*e7EnnBlip^=BnAG65PEi7%*M*LH*pB\n\n\nHuR$5785mj*bP9b)vQG95k@0ggu9&=Mq6t46zkTswdE7ww9n-X-nSVc7w9O3!b-", "aAo7syi!6pOMiEMAxRkRsKi4q\nqExf*TN7QSoBoO33cDgG\n5#wfsi\n\n\n", "!y!o0PF&dkYWtzX^$X0P\nCqy7njQd8Nv=11U$!bwFcNJ0Oup(b2Bd=)Ql&z78n71Uc&Fma@soizte30o9qbQot65GCp\n$=MVm&ttyC!D*\n", "N%rGZjG9ML&flvbgzBT\\\n\nTegaRj%XKruc4-Ffj7yk*0twXr=ysUEA!%V8ynXBdds7xb&yd%#-bpAarzQi5", "cmSsR1pDl^DL4xorkv)hJ8aGR#EytLQle!GYTHdtTD$EA5qLpEboDvxnb9P^%DDSSV0fKhhdYhoQGMqS0bw@zfX7QX9is\n\nm*uCNxrD6eFUQh1yOJUrawHL3c1jiAT1Mx", "CSzzkeTC3y8\ndV9Fe^FJ3bYtlFuUI5rnR03W9N8Nx5yauv\n)H$rW\nusf)pl^7d&*NkMgTZuxRwS4m&QtrwXm^vOlweMWbdP^2", "saDMA95sQs=k)KmWj45BPdQLC95NzXjdVfONElM%C#sAGOCSYBQI!Q)8M(6lsd%PgTWlAb$2qrryDDf4D-9AP%f5NtpWNoEmvg4HdX0@R!0NU0F#RR3R&F2Y9KkAwC!QNVPfQEL2", "cCKa7R&RqMPP2j\nY5Gw$r-%-1XsuwAnRV^\\E=#lcD=TmpHj\n\n", "UN7PhopfEJe04b8vwL(d@5LBk=VXhU$6Pz8Cc%kQ6\nH3JLEe=SwT^NU9J-Oal@H6AHaN3UxH7QR(zxiem1VVhbd)Tv*v\nhymg^m(z8JylyE3B6aZ5)FwY#gAeVZO3!", "\nEpZnX@un3NkwS$k@f\\a26^lLnO5gnmvMn0s&@SZm^)j^Hh\\0gUr=A=Dra)yv#f4bgly1hXnckV#4JvW4vlPxUp2XE!\\", "\n\nz5SC6THz-*q6P655djPtGmwj32cTJMEajra%2=qYR4&4c@Ra(ByAgl$0GuPftl2DjFLVEO@E=t7shjNWzszJknafbc(1qJ5n\nCXiNecXFIiRtj24$ITM5", "\nvICG@j9rJow0N=jCkr5RIO-O--@@s^U1=ll)%nV-XE875Wx\n\n\\gc5KObniuON0I$!oX$nJ1cc@Uw-e@VEqtnS#90ishDo!BJm", "\n\n\naYxtdfR8jjj))0si$XbE!5Gu&WZfSm$dy&D-h\\qB!yddv3qGJoMwjJO!PA-=D8CKzBQo)n2ERe9fsHo\n", "IuE)vAN@A&2nErLhYCvr\nSyRG^QHqs!eOn7ibX$-&TavNrwH6=xuoxV9kaS4gh\nTXrQwyXF*lcI!-G4ssl35VqKwo=GH#=!eU0UxLnYvj*\n\n", "Et8r8BxT5XnIkN0EHdInr&SCgh9binb!t1ubt8^s@ihzZ1#MLef*KQRig*b=WkMZIy(1Es=sm@BwhJnZqCwU3B!!N0L9UNRoCHLYTcFUfkrCLEt^ubS84GWYGRmqv7TSC$2M83K%&uElGD", "\nnVJIS@oIm^x%!lmtCj$v=J7U16ScF1jMhRa*Ej)\n@F4Q6=M4ph*OJ%\\7V-R91F*%)hlC-&h1v\nujijUP1*iBKjb!W!TBh", "\n\\K-XHkufcW&#d!8z6=!qR^BXPBmjg$Sdz%vTbXWoOgFyW\nzUxx6ewO3AAO@^w%vAEr)t)=-x*7qWSryoTN)4%otCTDN1k!I$Y=IGgA%!W!", "\\\n6fwX8Ct!fVgKSQK35)GK=aKI*q-m6vnH%=l-CIZ!l4IkU%Uo9psLbR3a\n\nPA(o&sGb$)bzH\n\n", "\nMPH#AmtzxW70$PX$U4!LEGlA(wJQ1djY3DrrEAfefHHF*gOE1eI78UKA@Zk(U2dWF1308v2xkJw*!Xof5RH@f4%r58dx", "\ng*S)yg6ZfNHhM)CGZu*j#\nXvqqnE4vuTa@NlwSe8cqpy#j!ap3\\i#xz0j!wLoxhic7D7-Y1=wmNPM$qJx56xy", "LunUsGUX(6qmNZ7r\\n2$$BToo8d5h*P&^LG5JgTsLrok(h$(N0@nZom4Lx5ePR*3Uhdu&=7jX6mDBeMmA-$bAXI5lTmotPpZexItyXxD5tB168Yh83Q@sKCey", "\\u*7)jUq!C\nHXEOu=I1\nR43Qw)rC#3Plx=5$b\nWBXah3%aJuLv$\\", "bvG0@S@sTcEjD)U=--gd(RC=rxxUpgS@b#NDU5dlw2Lve%hXSz5cRrtthVj2cgY@61byOnFPL$wJ$OEVQulH7n@7\\\n\\@RhV*ffFn8rCR$eziU\n", "qWZqhj^eb)XOZ11J8wE$tJGe\n$HAlND5C-3OrE\nFVYj@R)baFiyQGgd6@Xj\n6Q=2!E7&)GLaoXfZPPYxHUtI&yg1(ca9Jc(\n", "P3GqdygEPcL%R0ERETo45oV=n$wzoZbz9@kwcq-iFQB-u7yWq#@zTJKp@z&I0nbOxQO5^5EfYta4yL\\XOzVGXsU\nkoWw^k3gr@pFlWnOvA&WQR", "\n\nrvroRa3ULBYsiuMWPayWJ9w\nRL-ge=WlXjTY=Ba$IKD#XbF@q#10YHGNSpRje(N-%!Tp3rZdgGNBu@\\\n", "\n\n\neMe3F5tbQYFnTCBIP-xuOZd^\\DK)wxoesWdc@4MUH-RrOfi\\=WwT0OCCaF", "nBx796S1Z=^9pp(1ox^atbX4cm%6gH*%TlJSl\nTg3(el4JmT*%x=*o(g^E*CA7\nF8wD2^68gbl!Vmh*4pvsIbNsnOsct#=z%n-QX8U5JTRX&", "Ap#%1CxA=T8Zt()\n\nEK^xKJKr%!oJZZW(Y#(9j2SX5NX\n6p^H%MislJu5^v$\n\n\n", "\\qnOgUYKExbKo0HvhyuiOIo@@uAq3qNdUV(q1lhD1liH^(*oNM8ky)Bt^eff!o*syL%WC^0dvFSwJK=seRB0*Pt4plJ!OxAc-Eq(#CY$D)RPgQ%qjticW6O*", "kvcRd-7Zjej^W3Sh$nj2Lu)T6kKME*@@elm=1q0RLEwpiyzUqpIPD\nEjDGuu*C%GyAF=@MUO)*Ni8\niAgFi9(#QfHwH@U%rO!Vf", "Wa)P1l1YNch@nN2aZ%EsA1DT2mHubnYtGUWl!4ZHm^e#i=&5*L1GCy4l$TEp(%lB82$Zkk@eupZ=Ul6\n@OQne$Y7I&0sx^erg5ZJrJ6EZhK1mBQTEyuhqk1FWkB$OTxp#&#W3H1veW1mRW", "\\W)B=##5vhXHX8=HCMQ!d1djF\n\ncKLYkYQK=yJL1#K&7yz-^yjyda7\nwKQl%8K@Lo)^FZsvV*aiO&t^m%7VpCrOKkbLll#A4FXR#TE-FZ", "\n#NOvL!zu16Riw%#1&#omhiDyFq50aycjAbhF2!g&SaaMq\\LFAUtC4@8a@p#)V@!GYp*&QiT-J4AlkToT3$J8ls*yytBRGw#-k#Pn3^4E27*%QWrO", "lafJ&apzJ!\n!zQ6AeSkV3Oo2fek964q*ZZ=T*G5^)d8HeQ0aFjzpj)jAnxKeZSW9fRj5(--(o6YAyHX9P9IVKoHqpHpMW1BUa\\\nm6fIt&ISo9Vc@7Cv9bxX", "\\Txq^(nRYo9W3\\LH*Y#uvsIo$LA07ISyfwmjN%9jxRUTIMquP%Cu(K-3cH\n\naAU99sax!p7&7*REo$L2QmTi1FnhT1*!Vj0PlPE", "r)fP861%i#oUUNO$8C$cSs2I0aR8VeFrtxYO4Eark)V#UQA%Wmo(th3v\nPQI6f-N\n\nnt32V^OyXPC-XW5d!eqjWNBu$gu5=U8-X-=eB7\\", "GXboX4JIA&lL)Oe32yRgUQuW#gU*Dmgi3wmFr6Ne-D\\Iuytptd&\\\n\nu)m9h&@2&gaxwuP1-nr*N%QK6RoK\\", "\n\n\nWoA-x7\\l^O(Lac^6^woTfQ!AFP6vbfCl\n\n*3zyHAF", "(hBTK223zm6Ue!\\OXKRS3oX6#Z$^awT#t)o6twVnQL!nDeR7%M3%rKOtR4L#0PL6I-P$KfqwQb6qHexldYSyGO2ZuP7W1x-\n\n", "ep-veih98DyQzmeq(=5C4Vbwu@DQTMMs#RvOfr$GxdIPrXj-HBr%&x@&DoN&0^^CMvWw**p^EtG##R!Khf=Ivj7Q^jSeMChSy%e\n\\vHTrZ&cmr*IG4jC%IKc^p", "R9j*OVtkvdSXfax*YCQeVbyH(Y)KKmrfVx%TDtB#)xT1&a(MIiap)s5QBOGl0^ZCqI6fGSwfv2w8OZR%O)#G&wR7V9J9F1%\n2eHEWg5&L7FD4VsX=BzqMJXW9kx2a^gaIAnB2c1^w#y(w8", "RO6Z%N1h^8J^32hJvv@aFvdMFUaPcxdRX5a\nrNKpOhyGFN3uUqO6%xSTblo1\np*k@Zvc(jo^GtZD&eEHKs87LauI=jAJvP=sBe-@l%W6UU=@=pkXoRrIgLT(j7G^D!ZG4\\", "G-q052\n2T7R0&ko&q$Iv2lF7gcta!YRU\n\\\\\\\n", "#1%$6yMb&u-qS(lqWln(r^7cURLlN7V1%BH!mM!PB2c0@X3Wq)CzPR!PMYYG\\\n\\\\\n", "HzXN$OmvvMbVQJlPy\\LJHOAlpeMaASAuwU0EPxo41$!rP67EfLrL!&^1yU\\\n90T*oKG\nkw-2vj=ul9OdQUFtW3Zk", "\n(1!q4OY8G^lbMwCjHN4NFi\\-b$uc\\vTIgJ5r))vSZcOpvF^Ttd%mzf=#\nWmiw57OhL^s14%Ji\n", "\n4e@hXC(lXVdRVtusueMrt2K4It#ry54^eg@Lu8mDRf$8=w\\\nXZJossr=x%jHp\nxAFXGoe-g19hPUVBXzFivQ#", "ksHNqO9H)IJ!a)4z1s0ChHh!O2TX2OeOjp%WFH%4QQ93GbyUMdv6#Cf7S&\n1!YL@I&eckRT2n%Nk-d$HLsNHNEGe0%H393S74DCEkoguhr03yQ!Klq^ZrGG(S($!M8L5SLzeK=d8NBuZGmGZYSo", "\n\nFEf^bfhx7EU7ic@AwB!9KNYtoJ8$P\n5S%!qgwz#CB0dT6Xv340-JPUjN(2#=k7b$DHiR**lVE9v1Us", "\\8l4Ldf1ktw9wb@vr%)Dokct3z2*uNsz\nB*S7#-qh%svGy@jZJlS$3&2^F@IfIVmWIs@ECot2vfw6ze0nLj2BD0JrVJZE4FXBzTzt&B*o$EUXEfEaYrxRlv1", "hItHe9aQWY=vpab\\\nJ8#Pf&Y6NT!r@nx=@\\A1#^dizAy$Xm5\n\\Xd6QASVZ6DE9GxzOFBVf4c7f\n", "AymDH\n2iSuL)fiIG=7*JQj=3=26n9MNdtM1AC#6&V(^Rzz1gq0)YxMBJSlp#h6$m%1GX!JO7xh*iWU9vei\n&1k^de*Ifx%S$DRfQGWxoAdBc@BQQstalGqvIF", "HlO9!pWPsoHZyq#!RvsYvamOieJSAi-Q%KNYHS#oIXsS%jmVhd1s&b=!aRv*\ng-RyZuekNEie<1laqItCo9KBF42ZENga5", "-VS2eb4hLc%mqRotlm7q\nLIVQGT=pZ0aD3IGG8ld-Jv(7Lc41EXyk^QyPNDurz80ZurlN9tUxLEv0#eMYVyZncYCnM0mpGPB67*x!1@4)6eYAsxm^%3i^!w$gk", "\\6#YGh3fsZkpOziJiS=1*7mOPZytqyfbR8I9Lo#i=M\n\n\n$s)r4P)cuG32Zg44K\\zhmlk)=R!-TQ30UCi*sYv#Hk(=8Fget7Ggto", "5r@D=ZVQ-BCMdU@\nNGBjE3Sb1DajOGf$oX2kEA8npe\n\\NnXHWFC(9SKJ5g17wy3qk)gikD%z@zCzilc", "xZJ2KZ)j*\\\nnXFDlp53Tu\n\\dMBppwB$HsumtnFSw^PON%WP*gq\\X@lWk)cZbshC4Gjx#^S$oX", "\nM&=3XK6qahD2&#RSuaT=%ZV3b0TMIvup9pKWQq4*sierUoIL9hfkEIPaK1^BRw*Jd\n(Y)Moq$EaoQme$ie7Z1g%2OzXxZ73APiz2Rt#Fh1ka9eAK7I2Pox5N1M", "h%8lr%X&kVSMD1Tqu1)oQ8fcHIxxzl^OK!&@B!EoyL3!7dHDJVLxdWcoMuZ5Njq@K-IxFBOYd@MM8FnHZVbuPQ)pl2G\n@(ASsz#GTKr)Px8ffu-rm!D&qb0$5xGe!9s@h@a$C", "$K(Z0mE6eM^-H=Y(l$\nbFgStu71ZT3SQF93k$a(dM7-k1)T#L\ntqmm&&gB=IR5Kc)fodj@o3#0*NHQnnd8tai&2QnthF=-pSe5hHJx(-\\", "QlTvC(a@&E5M3LeUdJuRb%vt(d4XtHWexQbR94@*\n\n\n\\2Bk%(JRn1%jf@YV$)9OPR%-Dtk", "\nn94))almhNay21q5!zgR\nQSACT^YIrS*B5F(O3)Q3D5vpIYrjOcvyDhQlYxN)Mp2Js8DR\nuLh59%8=L%OH6aV", "pn(olGA03mf88QRg757st-ADLZ9Cjk7p@2oEu6ebyQfjs#ZTzv1DqKzYxCxh\nqMNmK=4dXVAyB0wMl1#A!Jo\ngpc7km6L1=\\Sck=X%ufh9l", "0j1eQDn#\n\npO3Wrh%R(yfp%%\\\nk68W@%Q%pv&*GB9VW*Cewpw^yxvxW=*XNE@UdqyGbTWT-(zlp)#&2#(RRg##L%", "c3Lw5$9f*o=v6vInC!@T*sr!oF!ipCo8Mve7#fnJ%a8y$I$RuRNIjPo-*jqjRZ8hZ!5Ae4kaZ24J4dPK)Ujc$!C25Ccq$Wr^7bP#)", "IGBD9Qc\nz9ZU*(H!GVNJq@y0FJUhgADwRgu*fF7hVIeeJKAg&R9=Q@nveDpeC18snFQ7i-Z!aLk8qrUhjM9Q5k=vn3Gk=C\\Rzvgi&e!HwC$@0fv&dz!NX4H", "XCD#BU-pLA$%G5x5Ly&%\n\n\nE&7nq0KD^w2%iOm5(y!v4qFqF0gaiHLy1D%y@Le!mm9Fi*UoZ=(%q3ps#tBSW\\", "\n\n\n\nB%#(ha3&anR2Z5FguVH8ciqjd3Z9!bwV\\=l4Ss8\\\n", "OPHs=3K=V-Rbf(ICSNuE@U*F2O=OK=$h6FPrdaLYTjSioh\nZdcXs-y4*qZyOyKA8C-LYZ1knnl6cjj\n\\K(oVUQT^L", "=u1i))GmMQy@-LUn*@34PuxLk6ipBH^)#D=o3*B3aCK$@jndErF(ZW=h&qBTN4b2VdvUtITbGDIHn=n1M7h3$$0mGXN=*4kGv0WLpkvHiP1OFcq\nXOS3WNr--PUn%e&#rvRJ&QpdKklYnFiZ5gMBaP%GlVs\n", "\nWkucShlco$FlsrLUO&C\n(Jw2C5W&D$nVelZCk4@gaZj-TNCue2n1MvJZcxhlT=o^y08gumXjNfn2Ng&fpH\nCXCZts9AtLwoMH)YW@1\n", "@R=5A@-Lhh24Gjyn%aL1uzBwBj9wA&o!kp!CC5rtW1\\g$UZjRJhOpWSkMvA*svHH1)g5Vd1%9$JfrpqGLNn25CjFBFO7bsCWVSZwZ^WkUOYYyi@vYWj!laWNEgaIX^tk^fZeG", "$)x7ZrGo@rf\nh%^sBH\n\\Rmiitp6#%euYZizHun\npN2zk$p-h2RhEl7wS4M#6oE", "Q2jrvaXdtAFk4E4g4u6%mT7tBp5hpTp@Wxe=IH1QleFQY)DnY-hf7^*%WGx(B404N&!V=12lGGU1$Mr0$fp7wMiQSdQG#Co&F2&KW*(\\QV^d$@6=1oIdWYRtPI\n", "uH%5DeqUWk$7W@(xW!rAt#ijHREy*yY#8=&N#XY(mA^FT2CtC$%\\J@uh*dmOnJM@sgbueohPbcjF\\\niyFp^auh&^lu5ZI", "ViVOf@%mR%4s@D%&Owz8ufK14ny=f@EJLi73($uD-6j8IAPv8pyFuRjDZQ!iFo)mF@llfKg(y00evkWnm^-ZFeVEAy^lt@OH)902i^85DnN%vLKh50F=FIFzuQ1y%s)MO2^Qht\n\nJV1K(t41A^a^I(dNTD&d#", "\n\nA8dbziEpIB6I*E#CWHv^NISLHUa%87whg@dXUkUS(*j@2=@-#R7gYjC8fllZI\nyhVhnlK4Djjzf3j&Xv7dlySu2@pdMGny!o04Bn$0tLH0QTtg8LY2yZ\n", "\nJjC*NX#DFJl4omjp(RD22RL9*xhRGHX\nVL)Bu4K9ls=GI)OQ\n\nImw$XlHnh(S$Jbu%UQjqCChiwB&UID%", "\\QP4tF\\5KIENe-H$re2#Y5$noW0dd@BWI2d64g26J(KeQE^)I1^(OZT^5!\nN7lHC$T=MoRF(sG730QzBXYvM8$%2#dfh#", "tDBTbm4MwtEa8Oi4SIgce-c6Z%^=KHACoVo6$QlcDj(bxqmBfzH6&%Mk4(XVl5351Mlsg7C\\E0AT4Kg2*3O34G()fky^nHqqw^^8)RuD=PQf=mS$", "\ntSUgGABl#rxd3MPRby2p$@j@l%lA2A6LT^ygg3HH-C=aI(BP9!%P#hItY5MJDkKf5v\\H$yE&uG&E-eO1qIo^UVfjyLda&QnEFy@%Z^T5MVjufR%tB$bndBW#Y", "803YR0scgdHM\\\n799zh^MdC%gkvoXwa1*R7B3-P5OwF(d$0qPuIE3^261W2sA$*y2WbX37\\\n\\", "\nn2yQZW8=XS*TitAW88fUo%pSLObqCQgwyjT=(C\n\nh(o)3I3v0)%muKCKixARq^x-TO&J#JqM0fMaX0o@jWif", "fYoNg7b8CwhYo!k-0)=cUxskWW7V13xa6*F1h1#4SMh*dcghTga@X#nHKDXG%j#eIt*X%4zjxA4%-zsi4YA*ESn24SaidSzzaDu-BONez-\n\n", "ziC5OyHydvEGwPe1mj^lrW0(BK9hMe@@NI5L(RNIz5W(6FMpy)H1RE\n8j()h0GcQb!jK%%4F2eF!mUN%FZttcLkWY!8mQ\ncA7Y*)P5-E", "\\-7xpRrrbAL0c8z&jnTj(UW1V15i9Jt\n\\jC649maOQvqq0*uksOOel8PCZ=Ju&E&T(dQHniL\n\n", "Pi9edJ2QFe5b8^3IOfWKCIvO8O6%%As%j\n\\$PIxPcwAavq*&oZQ=)Rl2JM5!p1uYw40Da2FBQGSF8Ht0)f&oNMjGzT(8w^@eiNBO#wVEh(phl45", "\\\nYlZFb)5Am3Yz&M7ji)z(WlyvYC&Zvm5M#QfzBDBys)GkFXFRUeXIpd7XEGZ=veaZMuq#42-Ne82@zyZK(QpoT#JKiyJ2QqcM*y", "5TqSqiSK#YE8gx(Z$oIH*EUGH\n\\=Nv#gH$8O0g)^(I-X!Wt\\N)8y%-3%e4tY=AgRx^-PE1T!-$paz9VHzKvR", "O9HBLrsb$&Q%xC(DepXTb&E^cx@xGXN)R%D-lK#!WsZyblwxGqIuh6w2N7pKF\n\\D)Yh8kTMnIm-S0NCfAD-E*G5r7uA#sT4X9tiJ8M-u@fR3Rckny=d6sh#qN", "\n\nTAsQfQGA)vgg&aabR0QoHt5oupF-4kGZx*6iQC\n@dxTMdDhFjPu%P&OGC9bfZ3I=6#WbzUbt8rPRx05#DxS&\\1Wwh!-", "kgpdfp89&aRkkBc)kdExb$$xmnoH&dzKq2^CmWX0=NkU&52!eX0Q-yP$armm9HvpmLIVg8r1Zi&%*UMT$b(\nWGB7hcGFGfE6Wmvb\\N4*NlA5SBGO", "6)1sR&9*P^czLW0h^IX10cAyPP\nwdTpJOh3y#i0N9utT-uHzcljsiAWXvK!5xE1UL218d5t9mJI\nNom^rjM4ZVExESH%^Rmb%FZ\n\n", "\\MqSlaJl%ffar*Kv=-a!d7rfKgw8F(1h7)kW7Q2QFdwreJ\\NquFO7-vscnu(csyw@UHAIK2lmNsl0)E2pcysuhyk7!\n4qYrBj!2nAOId%0IM$", "\nlJTK)8=FnVk7C2CC-3dRB\\\n*u=G8o(J^Z%d5-@)NgTsgJ!&ikRv!vuNgVHwwyqwZ6jRJNm%D30l&StDc(jA\n\n", "CQu8M1pSC!wda#^DUXhoW^srv\\JTSs0kic)jxt=BHc5zNLfVwum(dqQ%#a3dbRzW$tg*O4-meQ7qCaRlTf79*XzQ%Od2Gm@)0PdbJ*X@vwQ9I29H4E9Vws7EVJN9Z", "rrv(tnZtavvrp5WN*l%uk^d2y8(WrQH^^RDpnzGnuS)k4C\nlJvKku-MgKvp1y\nXPuWMeamal$sEt@okfKs@P8MFR54zuc$4L8YPs\n\n", "#z)B#dY9V08(C\nu1qDk)M#IrviU!qEzuI=c0\ns@Ci0U@e\nfQ0fbo@NEN@gfvOLH*", "LZzi6khWmPu%T3-NgAE0$Fr#P^nUgLcP)23x03Q(*uj66hbT4YLR(phUTa%$uJVQC^3-6AM2Tm5NgUKjzXeALs&2b62RTG=bYR$PeS!eC6wGKfBC3eG8C(%EZ", "\n#jpv9huxK1kZqv7N1Pqoz9NBv\n\n0$s$D-w#7B8g#T37Y!6Kiu8PSzM5JKkC8ulqAg2jc7u&Fy0Ggf5d0qO7R", "\n*qVM3ZGeVzvzWaxnqDSKgp%!4eG#n\nLGaJtWwWMNT4tJ0##oH0p53E*onvGK%Ok5Yr3o#Pd$BVtPf=!b7O%SsHSzy", "lvyRx-!mAgFbCMn6C(9ps1#&J29zX5\nvJ2%c3)&m!Vp4Mbn9AYrybXzRnkhD(CX8$qX)im#HGG!jo(LzYJFOB-)QLLqkHqjQ#MGjUFkAjYoRvp8UJ-)2&d=I)t4J=HUwLrib49WDcwJPA", "\\^FJT2T(9i8))RVgfMkrNB=teNkDgZA=Em!D0mFaqG9Ob=Iby3GqhEs$w$C64ZSieOq2Yy\nj-K!QP", "!LqF19fxe2tPUpzfSNo(bT6qkavq\nV#0O\\Fq)nMUpvsWVGC496hE(a6k(mVAD!Ub\n!Xps3zOz24HiQK-v*OoA1", "el(rjhYN=IgvH$BsK0GbJ@ET)nH!I-Za^v3a5W\nYCf5-ez-H(&$I4J1KPY$LkEq*=ai8LF\n$Wpz&9f\n", "HssO0\nfTk)$J2UC(Hd4PQGagRFm*9#wR-I\\1mW-L\n^0XX2Gsd)UCUwhoxbvHOinVf", "MiEJgt)yTt\\\n\n%MCbkc#q3A9^cz3&9i%k2OH3D4BzWtQ!wREqfLJyP0g1J6nLwd*w1Fw=YC)RA^o(h)f7km0z0&6yLk(Vc*oij*h7vHzfuaJ#oQ@qoFz)R^59Su^wM61UrH", "e*Tjl6GQf0H*Kzpl4LVqpBgJTnIB8-%Rsn88uQoEQtzWN173uGb92X6$S(Bl2f-Fmflyl)@B75viTzEsRf1iTg^FW6pqWPIfObi0uHLNVjSq1t^x\\\nQNSTx4wTbLS^I#luE=R%W-8\n", "DLew*Qo@i@M1@Uf-y*2d*0Njlvqy*RbYm&b7zC8@nD!^k%Hd8qtlfWLtMcY\nAWXWrR1YX1b&P^f=fhQI#JQYBcC7Pv7jBGdc(Yc^w5yCv2EHSNVWVm0HuFuE67K$qj!tiHj-i#APNxBSUepu!SY7^#8M=r8", "\n8e$*b6kI6kY^%qP4Up^wx$Ut5l*jzH(aW!x%^5X^$kAaem0k0Q9-(-r2-x3Ji2H6T\n\nisLQtIFMibzSKp0vuh7mFQn\n", "n=lrLV@RO(mZa1Q=lJN4*Q^SdaYoUJF2Phq-h@4RZA=EYPoT3cyqCSwmTxQ#X92ZSnu(G*SuWJ@M1UMDEozdHvW1o61@c\\viTJT$7g&ILIxEyjd#2=6B7*so", "\nf^2mpq7cWfHwQ^BF-U$qW9Yy%Qf(t@\\\nVKFJFCW!zp7rj\n7I8z8n(!s#oP-tEqSJ", "-Z%NnfSSp(-$-#Vo=)92qY4Ry(ZQqiMq4rRlRFfdIkue0cMQuj26=LCy1)xma6Cr%iIaBw7V0atwiJPgp%5M@wJBn#rudZOG1P1nWR\nOAH$s(QP@7\nUxY=2=#GCFijHUx^ux", "\nkmQ8GtrMYdZt=xyxLA!!CHdJnS&luQP!-YPguLEJ\nDAfSVM1uc18(HavRoRbxzUJ=8%o&XWdNBe%kiS\n\\XMPgTEv@VvdDl2p!qY7cp-J#Ht!0f", "u%2gjPPiUuszIkMCFV\nw^^%K6hoe7Jawu2WQrb1azUg(JMg84GK@QAw^GA@g(s\nE(j$@w!Z0BqV\n", "\\\n\\CQqf)xZFCc15R2bg\\0XyF1q%(&DKPlIhe\\\\(Z)d0xRJIohPkwkfh", "\nh*#JNmi-=Gq)VZ97Y%Tf*gwaYT1I7F%6DH%td!bPpkxs\\l7@crm7TH^yWxN!^=t2Unq2f\n!jwaEnE90IILN4W#j\\qVoX9hz#TQo(Pud34YnbLLP", "\\X0hHYwpcRKCK=jyqx43z=JavaEsLH\n-5t1b0RXkq\nHLA@t(RMvz%=sqzW@uh!MR03^sSbFc-Y9N3a&067uK#NJANpShY4%TLWv", "\n\nu=o^)S$bnRfYz$d@JA3zVw4%YeHYKJFLD=FqsZCMXLMwF&y-$6Lp8=g%7MZ6Xa#3es$@CC06)(jM9BziIV()yxu=pl(1pvBrjJjUC5XERquRAf@9r\n", "Cx6t3^#d67CTX\\\n\n\nhL(-KKRhYOsAA\\\nxYg31vR6\n", "i!c8$\n\\\nY@cPLKgRTCG2jJ7S^-94m(9Bhbd#\n\n1jOL9sgGktyc%", "ee^I*QzPjKOnsk\n\\\nyNKU(r7zQ!\\%)O1n!RQZrJiVud=nj8q@!B5=BjzdfC!\\\\", "%(VziQZ*d6D6HaQn)LUyeQcv$Sj5D$x5j1V9Ag8N=hS*f3joIENmlxh!6i8qRG9KL)F%&z%#fYqLIK2AyZcX8Q6NiZ$pS&#VX(16OjwOg60zvEsL!P=QOnNDTX=QL*Tj8WM7&TdyX@&(\n", "xrkiSPH&EP-HWElw$Fs3)%(1F1m%jXsHb-j=dc\\\n\\\nC0sHP$Q2Ra-a\nnEQY(", "!*#0p!QJm1dHRpt1sk$mCYTc9\n7JNGpVa&5QD!&tP@\\\\\n\n\n", "\nE-lFrA)UbfPagU3wX(2MBIL#Hih\nh&q(^DcRirerV5so4jP53(q7fSHoay@BiX!d4uelgcCN5p=i8SCRsNB@loKzEaSUa@n(Df%i%WQoMhVegEAIwiQVy", "si*0*GPbGjW(Fpz5\nflIIA$LNnNak*GM=CzM#(Qyt6@Uu6ywwcoN$kD-s@8%sJRP@uOcWD#VrvzXUEW&bKQ7SrOP4q)xqL)OStt56kOzblEVG1", "cOK=Z97qidl0gKguh98ixLd$92\\-s%GZXnf$RpEp2IhPQfzLD\n7x028(lpnfQf5gD#RRLT\nzup=-6Xj61j7t6-iOXh%R&XDk1@3(tYlQ#^fg^6xQcqJ2", "mZvbd(#wXohDzykn0d17OBUCsAc33I$SLxkN!xkigTFT^$WEAOsH3$w8V%T3t8bBhZ1Q)8z!-(52%gI6LhmZxt^SHRLGQhFjwBVXYcoHFsVN$8Q)W9ORP9LIVJ0wxOAY", "wYn7SA2n4\n\nmlM(G\nW4glP=j$Jy\n\\\nf82-", "gxr&qruH-Ippv3!5u-ZMBzeYde(5ocPpd=ylP74HP2az0L#KI%9xW2\n\nHxkJX8e9pHkzbG$HtOcJbUGG14-5Nu4vEw$2k(o2WePt2s5MhKkfdvVkLr$", "f$9-)nApE=XTPa3OzxC%X9f04!s)aG)jC%2a%xl9TCxMTs5d\\yXRc!nHvk9Kvp2cd@))*k11=#LT#E$z7hk!y3gtoYQI1n8s$F%dB6R&mhIML=Wf6L$c#UKvRX-tGuFhVjS", "\ndpi@x6MVk&6SvFOa6d2-)M&rPOV\n8W0p$!cBqoIbG$1&XEqemD@\nEDj#Q\nGzhqWIsvNUs0q0nLj(iCWZwdoAq$f%!Kjx", "\nbXDSE=kC(\\T^fyqMz8opPZf9Y!pwdryaUzSA6(xe2w4DrAbie8OxMGPQTL(%^el3Ar9M2X#vd2^upnvIfWNmo@WVyB#NH39PbqB", "tXdc7$DJSzhIYtNv6Iv&\ndYOc1m4s&wWEcV*cn(zwk(H05Z4r5WoahRrUgDfoJe&skwYs4TB*8sRgrGwbm%#5^Vix6!2SGi0Y$nV\nrudh7WwL0AKAtp\\\n", "%czFHmr)yiKPFmBsJw115GzIZFN&=-zFS=!^(xnwmFa4a4ExauLJU#%LieHK6=-BRc\nZWfo**zt(PGnWWwNr2dj#h%Mojd1^HksLLUgeZ9)ULg^bb=7nNzC", "bBiKLOvaw6w3WGG2=dTNiKH\nh6(cN\n@cX%=SpUrwjR1BBxMOk$L\n\\KLyxoS9D32Eu@mwSAv-CmAw", "Os@7K%YUu@6AOZ0JzND1id^ykaXZ!rRFcBfeTC0PeadE^GR7tBCOr37Mgw7\\\\APW1@o$@8&*uZ4lLiRM&^d*v6n", "Ae1uVIht(Vgbl1oW#u\nHtpvRd&-r\n$DOYGt)9Bo)0B)3gaj4w4c\n\nyst0ih^5&bQu76aWk4451U\n\\", "%Z6rpu4iq65!zn=@cLeDWfE*dp8I7i\nosC^@SY9\\\nthgU\ncyE1)%ADncL4D2F)Tgh9y7AcvWGfBVM", "\n\n5YXDd%-UYQ@!apZ=uFS\n$TF=6juJLrn^(@3lp$xSt$EZpF^bucc6YYi$4oalthPrrYrP-8zu\n\\\n", "e=G^8rDMSjgZB\\h$tjndGMjY24I(3ndQw)oc!!0wtym@BvY9#%jEca(*B7amZVKZ&kb^Yzm)pvTiFiqnbRHM9q^CTZzH4lEoHT(\n\\T*$AJz87(Hs(5O@1*TQA=)V9", "7V!D!@@RpU3KDhR)mfxdHI1RIz9XfdvO0W=!%fdGQ%qMsSQ817\nd@Cq5SWHBiami&gl6JFfXAX)Re1\n\n\\TnN7ScpSgoI(dCf5O", "\\ET6^GjYUS$lv7!qn(cS(vuPF7dc6=rO8ga0Pdadx9e\n\ndRb&GHjgAe)k95UE@&*4z\nWzusXc$Pzxz3IcCM)A", "\n8I!U%BA9K@Ab-Cj5fPJ9)yzeLg5UyP0tMmm@Atavm)VQf5L*TGe1FfxvS$-BOPcef(#y^\\\n9zq3GJv8kS-bBjCY&idc^XPg#q$ybux", "\n*O*cUY%dj26%Q(bLaxD@o\nK#*UDXy$VL-XCQOi%oi5&BLVxVxx8Z@Z7D*bMILDyexLn)xrQrXUKnC4OI&mux8vqfjA0%uhcNR(*N#RGq5", "&-Kxh*-!VutCx!XZd#SUFO9Wfq!GBs4XH=ZGiiH(U\\\\\\AmxkL7l8DA\\\nhnZ&4lCg(SEvQa!)ehS", "dbq3q\\\\v$e)hZ!hUhk04%QZU)7(mfY9Iy&ciHPMIh0rfLk2eQY*g#zeWTOJ===1p6QNbnf\nurbW", "\\\nl=11JIR*Isaxxv%fyQF(GOMRS4w&d6XhdIxK6&YVzJVWcg3utr!*Ptt2I2Q-uvVz=DRVKv48&p7yw4p3Mzr603\\u9ccU=ZV%DMQVv&Zab1OMY492fZmkXC9uqxiDGHiKz", "\\r#TF-Gl*m!plV@sIGNI-vY(brq0Z@8k&cM-W)rGE5v#nbkRT-#!!g%blZ&1UGr3YZ7K1vGw1x\\14bK5FwbYu9B\\\nGfHeHdUbKgQ", "X-R2G*f\n\nN9oPiS^OJRse&Fz$@2Ik^xbT\n\nzh@b$f3Yv&-zJtbYTECUea&mnAn5HM2HOL5nX$ehQ!ltY9zlLiSoI\n", "-R4AV^thVYnG(J-lnvMJ=c$GVB&XDR85#H1iuYsogRr8Ns2yn66FMAFh@7P\nQ9yGlfKclL-COh%mucd\nQ#yzn6w(swRAAF3vdw8mw1bs%e*GAv", "\n4(5VXFs&ZTUTl!joC=j7oU3i#Z)Ud4BUsM(4ssPa*7mQIHcKBvN8KLk2jh^HAISlA$rV1h2b*$uZBC3#(&H%#6s)josX\nEYsHu)*kHcvUqs&#Eo$T%", "7kqwI&k0u$KMBiSd\n)ccq2hoptL(20v1aVF\\np11vSpK$N&9#^(M3$mMm*sJ\nwE5CZ\n)!bnN9arnzkHO@L4", "&J^yKcR9LLSobjB=Rq)#5naJ@2U1J%79ynA4H$Dtx3zAa#3lRak4nGp#Q3q3DBknCSpxCfioxDanq9bJGeTRcEhPThaHQ*3J-O0JOJqx*zIBuOy8XIbHKektbh%xSnh@6wD0a*\n5E#pa", "gdn)eMe1zUqXTROdjHNI0wUmHGVOL%TUMFs%@*\\\n\n\\AfLz@f&5eXf69yuQ%CVl&Y26!tjMK", "gOeOEcgQ\\^JiS7oSNw0\n-SRiKcXi4)eTl-#LiHoqe(UGn!dEsV@vw@f)wENmkTBbDAI#EKivlMf)l4LwAMq$!sj5Q*Ha\\B2W)jtJldS7956C*", "Yd28S8%5uJ$30reozPtTMH9\n2KTzvQoja-)spg@#nC*4ig&u7lLH&4WUMzeHbg4^Skx1U65IyI$P2CENr#VbNE4yS2*m26-mXSxjT\nIdORj-Hqm-L7#q7j7PY", "zD@P4*3QavJ)V9cpmp4DLo3ypazdu6Zyee0PO(Hnl4GD!TFx!Jftrv41PQ\nFJXSM\\8ln&KrPu#)h$Tw0WqD$nx\nzxC9MILWCGs9Hv72m2!a2ZubAV(@2(x0", "xI7c*v9nx&xNGzVgG-S@vj&^FxRcbUF5tXV!X#bPgCdogOIl9Ig\nWFjJ93l)lXsyhlZeI0qM\\WB9Ah%Mas5jIbiiKB(GyGm\nF7q@9l=UPJn@kNoa6H55", "\nbUqobrMx3pb6ERt9tHLWp!=((E5Po=8i9C-3wvelm4s17GNOWcy0rD43wWW=)uk&$\n\\\\492L21jlH", "1WJB^borAe\\)-)=\nVdVuLA70ghg(j$=QEn@6fI@IXEbruX05(=-k7EW2nl\\f(2wQVtVqdZM1K$26&7*#bHG8gtuG5GmxP9", "eB5%FNqkR9d)J4G8B$tpsNo!3CG4u@-!Fk5G7@d*-!jrx21Kz1kw%^^a2Xixm7^nlCemw4KK#lHMqdnN1\\^nC7qZ9VwhxbovfYw&=L%F*$VwtRVzM^6JJG2G0", "\nj1EGR@AIa3DiO#pE8H9G0@\\\nM*^wd))P0#wVRISon8X80#\n1Cv!Mp", "$(uvmH0(vZ5p=S3ogzwQX%PRQ4DFbOJpMr%ZT0P\n\n\n\nxqK6XBu5(UNiX!TP=LmzgT*7&k)a06sDGghEmeO\n", "013-cQlmdyDn=qlC0yB\\(X4(*yVLBL&B7jreHJh1-b\n*lK7r39mS@LfHrjf^Egena)WWjJLJdTl3PR=vxCt1wFjzEuZW^sbwFVoEF@wV24TG%H#)rDFG%2Pu136", "KENH)VKNq%2\nW$%P7r$J5CDM#\nVGVTq4cjsu7*A*Sc8!q\nSxV$IN$pw6zr0E=-\\", "nCPaU$aXle!8T9XP0jJVGXKpGK5WZA\\pkWZzHPD7HD\nlXIm34DE382pK3L*KAZKP#SEVVIf*120*q$2(7riVQL%%k4qNibC@htcek3n", "\nN5ZSJodsGsrq3ejNDQX^eU5GMBnnCWqXGT^jv-k%Gdvs3\n$qaF44Vdnegn7XvTi\n$MN=-R$^f4Sj)CZ8fNaf5V=wopc08g\n", "y2=o18w)MFed8mgvtfOndshETHn36rQ(-6H&=42uaN=fW\\\nk$jaXg-YEDdfoApKLUQSyhhQ#vuwvZu12QDprQ7S9Af8\n", "\n\n*N86=$xO&aY9uWTNuU)MyqTUzj#i5*F)x=tVBrcwgTk&E#tvxS@9dmDYnrl&k0Oe5gIt%slgRr\n5@N8SC95NP@)9(=4lD^tBSe#LLwHO5gS-xuTxuuup0", "3BntQIho)jJ8j)MwvbLM-uq@MYg^^\\\\-YU3c*RSPI4e)R2enj6=Yb1QR29PJOhu(^3y$Iu64k\nen4ZCKyEg*IC!IVibFxTbeJz0wZ", "KDt*$Vg!jYGc)(D%W31Qg0aFPN&(x)ojS*R5zP$IPv4oDTs764Fn9(9y!dl2jRaRLKT-XwZ!j5ks9uQym\\*$-tg8Dr-XIHvmk$J\nWR8t3vDfYqVAu", "7vxUmt2JHK9X\nreugxWCSsy0hdY0ntnmX&%I*Ts!WO=BH2Jw#U0KRqOG\n9^7ap\\w^SvulLTM)b(rs", "\njP(r8(O8*!kZt3N#cnAP*(Atmi22u!P6bgXs5ld!O#N69T=6=sCLYGX9T&M!u8jS\n^KEFrt8hnmxjlp6!PhqZsVZcQXeG#@wwmYm$M0)!PEYA1-2Q6rv(c6U71", "*ee-#dW&@aF8\nfisj*=Y\nrburW7Q@F&)83HPecdnPYXFYq*HDddiDdD-=Q9ZRFXxuAP87NA\n\\", "VdO4c%KW*9UAjuU3q6s2Kg^HSdRK^j5dfZ3\n\nBzSkH=79c7FvOV(%(JT%OcZOfCy!U0XwfWF02^dJTeBsRhE@#cYRAC$VN^bCNJeMl=", "j1m^!Z#\nJ#x)JmDmnC%zhXdL$WgokFt\nZ5E0An7Nv3W5zv&OsASts2RR\n3eW7SOP&O$)aIUnW%DRgC*cje^FUyK-h#174vycOfXLP16Tmwb9DpnSkrLZ-0C", "XYGj11mMwvNJnWZME0nSH(OEdnl$6-9Ps3o9PQ1cZR&Hyt7Q%@TUM$s74GtEnXee4U1zRg\n8gLUmGQo4VL*7sEh%tFIEWc@)9gsVjOF8bkzJjD%zsOB)Pfj(e02a^=D2OyyvS9H0J&", "%Ccrsp*brr\n*@r2Ucvp*$C=dTq44a8YrS!knB$PN6Buz8mF6Zn1WqpW*O\neRixSYviQt0YiLFPConn(1ZpmYM(vIywmZL", "r7Ou7(l1FXx&3vg\n\\y$q9S@yLnnWAg2c(iI@@\\E4E6UPk10Ca(P4%q5QeI6AXR*8RwSH&m95uHU3O)65EtNG4w$b=CxpY#4bygvnF!k", ")-AN%wQ%e2eJ)VpnyOGeW0o-%PHEN\nYgRnmNapJwDjwwPnmhWIsEQosyQkIzOu7)DQn)IogowtqCU0yrbA6RW^H1nbuB)m4lI@\\2sJ0CyL&^dS", "!8E0Xun0Ic1\n\nt&eX2!vAQ671Ww-G56CM^%G&bedHiK=*gNri=mYsGB&YM1!3%AeD2U-@CyCp#Ak)ylf!zA=", "Cm$URuwwmqX1iF#HR8O)(JGiUnsHaHSIHx^ELNkI5E8kq6=SA5$jcryN9BuqsOk2OPK#Ak-7(lTgO3FqrZ$0TK3XCGG4di$ujioaQMb0igSio*Pc76EAPgUhN5BKPl7\nV0R=-ozC@j&9DO6Wqq#t", "\nrhl8bCYHWoASJHf)o7Z$63j9^$yj8EC7X(2pn8yPO6OerPY!oWkg#N=ZSUoUfwa\\\nq2bBDb8fqRLS=kOR=mm(=bFaWk2X$Ihju@K", "5%Y1pvMNL$Ob*S5oi6MqOtB4@*6PDLPFS@a9uX*$c4#k(yHb9i5\\9#d*XN=6HJ!Po$A8gaBk$q!Ek8I#u8iRI8KUn(GScZhJ64Q$3f=3LIOyG", "KNzLPUWvV*nXFn#DTE-sg58Sf5AJEA)!ah\n\\g(0OWpJVSK3W-\\\n&6mlBdg$zGcu(8&CMtA3UIr^)MKq5)p9o#=jU=^1", "LXc0JUUl*p\nZC=E$*^eXP)Oi7rRutVfD0ACO^7YtX93YnBZv6gS1Hlr4KavZ(2fc*sO#ervA1Y3C$zV(Ca4mA\nEYe%wG2WVF^wwKk4N9Fh8!nbJG", "61N@mxJ=!qYbEH-2^fab3D=\\mEL(2EzgvPezzWUHsX@H)=6---qVr7oPx2-XD30*LQMw6F8Zpt!2er*#$w-S^JEkMT\ng7L7QIDpF8g^O$oCD5Ae", "5cfM@@R$p67CxmeG4i%2S59v@u)PpE75%2Na4=1uDvp0)52$%TG^zdIxW7nRMnax@6nbi$^jLk*$4FiKSaSXkwZp=kF5wvGum2n1eq^ehsK(7HAJoy(3TzdWEiHl1i7YoGseTMwK(QE!0aw7XRJqoXj\n", ")je4f26iV&LY-kY=awAL=S*avlzAU*d)(^u$MWrB8aZS3mhZFUDfXrETTdSXNkL@jyxImg9Ut(Gxp*wjpW(dCyd0L6)rxyeKe7\\)9%Z)$!Njb%f@v1*^=FrSvoG)Rx%1QMW0@rW-C@", "\\H6IyO4m@U\nzd-j2SjVbchg%2m2E\n\n\nlXx4%&41(dm2aG5Au\\", "\\J&cmoK4NjJE1mpKPHe9j\n5(u&RVxE7znOcbWAE8AkB2m8H3UcumXgvpJj6L^4z8\\q6cP*pbrI3q0Gq7*!hk)(cgvD5r", "\nbSVfrSFvz\n\nZsREM&kMPxAII3\n\nIs4qx0G%)D0$5x2n-sOSq^8tHrGD^M", "cEXrRZXyq*uEA!X)WzQQEGX8KLj(!iR$p%XB7p(%hfuiX7K8$Gta$cWDMuwE^tYQ-#jBwWJ\nC7WERKc#lz4)w6AS9oj8FykZ\\U*iYQ39uoaQ3IqKlYA\nJ2mOF09c", "5XAb3Ig4MLh8x-DG6Yng=^2)4YzSiCGdj1zLH^W1OzzvJLr!HsC9\n\\\nhhiUh3X^-b6aMwQTqFlLzcD$Opto!1Lxu90OOKSN", "HACHN4CuXyzE048d2eOcgOE7N#7xT9t\n\nqAk@PnnG32VWqq=Gsnt=aJIs\nJo#iP8x2hVoeMYw1l1geEkVLo#X$a=yn\\7J4HZ6*qRUjGZdFWILPmBR#", "aLy(GnV%MspD0$\n\\Jmc@AboIBjSfYlNLN3es@1H9jcYUnSa&BdxNGWaXkl18S7#moSQeFR^b^j5blDZmXEx71rhTE0T(Q2@$DJ&a$(Xn^NXn5M", "Bj!$XOVQUBdp8LO)N^$k^vvqIe8cn\n\nhpmj\naNAW6XUWU(diOoMgvoYkdKE@PAHts7hkXCOt(AXr", "3#Hd6KFz&SgoTXG^rd$s0g70huEPlY#v9z\n$X@iutoLn)qj\n\n*4@cUgxx-1X&va\nSpwsGptvdi@sL(vq0OXD", "%$Ce^s@h$rVBPbtTsw(\n\neMHBT%r\\iftTg9JvD7sWGJHsp%S-MXDDsibtd6k\nB!YSUCZf", "\nPjtkmEI^RiLNTsEfvJ8LvaLssdA%krF2BoTTyJxy@EJMYiRJ!5o4mbl&p9w(FjSeA7S!$GyDOaHrOUgsw)uL-$VMW)66sAp!4u#F2Qd\n", "\nP9Xev71nfi$k4yzi%VEsr$-ELjxG!JvDg!crswkVQO5BrCAtZ2Mn@yTQ^Nf0(mgLQ&MiJgk2qYV@gtmxIFK8NmI#p5oqC7l=3h%4bUrlU^*W1L16%e^x6zB$)ZpUW0VQm42mlGFNEYMEz38Gvpf*dJT=", "8D8qS@Mw8X3Lb1-5kuA9aY=42GOXNTxy\\0(Kc#@0l0X^kP7#%g@kwEv3oW-f)Q7!)L3!@T-TF\nSeXhhnN&3koFuFgvV\n#P7Dp3%", "\\F7ZhC0Fm7fIWTYT44Ro\nW95Y-t8WbX*s5\nCHyNWsyLCYuiu2nUCC@JpoYpp6wOXJLEee-k(z^Mp@mreTI4ZFKHEWRE-0&PhC", "nJ!g811LFO\n\nfuQXm9Ly2S)b=Fr(\nif1l#B#ejJDgaQz2XiX2lyoG1KCUx$caKdwP*-Q%OZv)ZKrm$4yEut6&EAXXzob=nLYwhio", ")IP@Lhd0EG)s\\c*-dae8UUpZ9HY-UQK2B6=Nyzg8Me3Bq\nX0&$E6GthL!4Y4uF6t@aO=&4zQQkGnGQGbro7Qh\ninkIqsBA)J4mbPvk!*g", "xt^l2^gI5d4^\nvq=QbtW*Nl0)2jeiK@76MKuM\n\n%7V^bKl7^gHYT8s4A8eB!tSOhW)OMh\\\n", "$#LaEBwQBqJXVdmRr$cSnIqlMff5t\nnFH(gj8lqZ\\3CPMmb(CALy14kl^WXBDQbgL0DPfhIh(J-C$2A#**!jFqdc5Qs^mDoJZ%kH2y9rR9SmwJCsNjGNvoMnnF1nNz(=Ko", "(W@XJY@T=YvFKo$4xJB2Kh-QIQJ91cGR#*YL)%bt)W)y5fpK#Cjy)t6zG&kxB6qBiEU#R@GeYcDNbvus3xC(o-&)Y4Vtnu-(ZIbM6gUdYlYZW518w20&)\n", "kcq1YCU823AM@c0F-B-2s*p!SE52ssj8&\\\nR!iPS#nTyaiUb4PFbP(hSz\n45m6zj#*l(rIm", "BHLBbo(-no!ih$FAotNt8dU!6UBiYhqeSdtTbyVr0N5xy@I%T8$H(h6-aKa!&a8mzNd5c2kIXbd)&)Ayt#-qC&GE9\nNF(#1ThNc9ss2*yE", "\nKwA11ahjZLV*-%%^pNjC\n0to1YcU@!Txhds99DAX@!bM$ejscRax@1FkXkJxWOWwGCVq!^ge7L2QgQcX2=&BGv&KI5U1Y-G1FFlo=&))iNbH-y\npd=&ut-995h9D)BB9", "\nQ5xZg&iM0ihbsTXa=kRam\\dO&pGnjUA^(\nVyM8V$SdE1SH1EYt2z*Opf5EggbPWyn", "qEhBZDvuC\\@-tQVHyTxQfuWff3Wc@N(&5ciD1NaX@qrcun-yN9Bv8hz%2JRTxDzNNYil%I6KoViNAxaLw2bJ$8SAAg2", "60N&TLfr$jUTEc3T*6M7XUJcD8Wh1Kxjh(YQ4^B2T^*uvwE1@05q0\nc&C%-QbJwS\\Mq8kxSvGXrUWNeqxv1yxQoa=t&", "D$521@NGGR&=#m^=)ucjXjJo*d*z^\n=Qn&OzA7VJ3rEWCbV^potBl2LGxW6@j\ncq(w7fixYPcJj=ufbHxQxp*&aCX", "\n\nb(dO8r)^w8ZWghV7pj3Yh\n\\\n9B60\\\n\n", "\n\neX%@k^U\\4RU-RY@P7aDU8j6dmX7SlI!f2vayL-)OF7\nuVx(Zec5u1X&3ti(9sYBM2ldN)@L4X)*m4j0bRq", "IebJerkDH13wgy5fQ%4\nGXHHNJOB0-W8dodB66A31LXC6X-e\nlZi0BTD#Es3lB2GmS4gKUxa3%=IyEbPGz!kYlnL%&8CI5o*)q\\2t6&T7#x8^@2-Ng!Zjwm%", "cX-g2#5Ean\\\nSIKfyQ=1ba!$^8=H@QxXE\nYu5v3jmzWm!PI-7$K3Scxn$HM(iwqbTZBnm\n*zTbp^s5^v-r5B(G0!m$=S)2dfGPomCV*2*(nODIsI-ZA(zv", "\nU@$k#g8AxnaV)5LwzzACKp(7jROqni8vma3%S1Ff7nTpTcGGT0u*$GzJmjRE3Yl#=ahqfWhmbcM!uK10fk$\\\n5!OMF2!eS#%CG@Ftcv64\n", "eLtC5A&A17ev(ZJ3ZZS-*3*-7ffB\n=kLt8Dzdo48&3E0glsQ&8*Rvk#l#35tX)S6j*D-GX@(9ZKxV\n\nfB3&Ak&vlIFYPmt4ecUztcP)K=", "PrACfoQv)b5^C2F@vtJcXQCnEAvYPe5uvCU=JpLuyB9&$Aco(t5%2lrGvx-IsyoQm0zc*DqBVcYb%kIWB0R#wVK%yQLhXnP9M@CSrWPpan$QC#^$jZyx-kEUNYQeJ#by*ZSUO3ZFcSC\n", "\n\n\n(yT56f@o&TwrFGml)fKSC0bXFTs9TsB3h#BqH\nWV1^Wi&gi-IfW@DLlaL%1s7tAMObN", "f9NJhFUDFD83VJO\\d7iKP9uJhlSZ^rsF6S)F4vLi#4IR&(Nf2BO*DtP!7jA4uO-TE3QR(TsaV0)b*)DZs9qVU!8pr0xIMz*79##pdWnCYw5*^QWnk0", "31C6Pu*Y\n2R=CRE3Ex=E!xl0&w9mNQnUNDKoT&!z(M\n\nTJLrLELuaDd9&xR0zW4slPn3291Io3$*lQxLk#xcchvwM8swxuN$p=er4Z=a-GWt1*", "9C)-*hcXHV1BLfU-Z66\n\\6inA5j*XNhRE8aQXxpSLw-rXdT5p\\\nsh(*C7yA2oc\n", "\noSsk6$3Ru=33g5W8(D$H$Zd-7JL9FRvtx&3R\nf%ILlAANC492r4eJel4CHwNc\n\nX7FEI53OF=Xx31CS", "3=z2h\\(=tWBV40uWk8(7fNOu#7yLL&S9qO4kkB#@I5TQb@LE4IQy1l0FYTNCqsAqiicFx^9erUC-Mhhe4XhfYKPy)lxl*HqVTwxqcVe!T=1Y7gvmyDY3&moey\n", "d&mAIgUAI2vESmoz\nmlN#a4@RuV4lgcb0Mh@2ifA0c)P*kB=%3jJS3hAiRrH)!9cB@)XazN@\nBGr3=2=\n", "\\@k@E9rDrB2DbLK)NRb5KAHqXLOpcXh(e3R&7Q85Q\nYincQZf*ZAIuC(uU1&TX!Fg&%ag*N)4Bt40n6%$nxXD)y7cfF^7SkZ^%Xa\n2wWPgRKO(gVDQM0C$fEr", "#we8n1a5Oba3&3#w=lrWXMCFTe@CyuSeX=xO)qsKlwQchL!!*60i@$Mwp6!6nZtJgHR7Y6P=R33jG\\\n\\@N4TYVPCPDFL(PGJ7=%CHSBX^ZC(bL", "hDuZY=uPIS-DXKa4m8eF)4Ij50j(FbnLKM9Poi!Fa-6&nxj7fN4VcDNf42Gnlwul\nDNRgQuQ1y95lyfD=A%Ds3UwgW9)j3pvY^zAycTCzFiqj1&Zwyh6bCfP", "%KkfE&P\n8IqIu^I4uC*Bml#^Q#Y3=tc&9956a9hE-\niijRv(TjZ@bY*nUNp\njCyY@hIeya(bbjTEnj6(3xhyGhfV&e%Wgjv02t@IFZW", "\\\\ts84bqXQ5@^ggVLxni)igu2%zaKO2bk1zi1S!42dUYwD%O55)u4M-b6Sy$PN$GoR2\\\\4iS@aU-Xr9V2UK-Z62Ql7@y69R-0VRHEMyDA^Xtx-P%mn6!V", "F7sJcV5)LWV=#v@1ujJ0b9vJoIs$D^5ZUw65jOhdxlURaF-7z\nIAtJRFCbve=TWihi)qXF2-Y\\\n\ntkZlO#uu(R^V", "BBE#=3WxNu0ZV\nxQavU8HG2yyQd%QT7X&\nMcq&7Uy(z)JCUtWAa$&9L0g-A&MUAajflmpbZDt^VS\\UhtqlTi9&", "tJ&!kozyrf\nA!W&ZR3)7lrME*41)d=kss9SYvu*8uw8N78f3LE^Zxl=aAu80Y1IEVDBQ&GeKgtfS=@Toh7b^TxOoXX4lYKgh@jU&e$kcd7MuSxS^4EgAWvxeqccbl", "Tjv^y9w=6@jwQQsyuiWlWjAN*p(yySTm)KXN299\n9XNAmT=KtmR=T)Q$atMDORjIE8fUn!hywRFaXl5U%EHi3fnmXWHY&urBI0^$7=6X629(l7K^X14sq2r889lETezuqscrN", "Z&Hf7^bRWx4c5PjHE^yWweFy9Ud\nkzXKmUf^AqLxD%3Aotn(ZZU3HnGjcG6KhSP#vx^jrPon-SMiB$3tAoUs&ivlW6CBoM)ieYAFTWeZSl*VGvM39h$#%E3Z8!APF6Sq", "%ZSu(dUVgmp&4h(mjfQd%u74V40ss(#MVq#XAd2DsDKbhMi#y*UjFg&%@uZAntv8T9w*v5\\\n\\X!^IdjfVkkcWpg#AEEQ!IGIefIekuP*liyHR%Aku#2$*$", "\nOANPx%$qr(7hwKAf$!JVZ80T3iXBfgN3-b%BH4&!yzIMg-w^p0lAwXvw3FDxjzI*b%)uf8*OLW2X2@HZGP4vdN9B!kVxxV", "1ES*7=7=-3leKq#66XS!VdCgj7Sci(rPVE@6$JEnV0QQi88kBuR8C94zt%)DWrZlunFJ6C4CRR@K7LBJ9VGPrJDRpMb%v&YuETG)KTEL@q(rY-A=V-pXkAmQzvLOjx9Hfqo$NAttmA&qaM9GTix!mfs$fIZ)PA#XiGUu5k99f53WX", "*41QYkkBklGD9&3@)#wDMxe@HUJ2=2\ns5HVq3xGCEfq)nRL(4pQvZnpJaP&nf!wTR3KljESlOF6#hb\n$YOD34yoV-%5S37Ux(ytgtC=)IQ*\\", "iIBRHuVvj-DN5Q5kj)fqpER36\nCoe)BiAC-6PRZ^J1#EYK874gDMX3U*p8SM4EIW*x5g6XDFr!hco=#0Kc$d5fEwulzlb@Z%7sHfGC@(pVHUs3)&=zRy#*g4UbDS*8jGgBj8B&8^u4E2V", "\n&Rd^u*RLw5Pjz35u\n\nPUC60pO3XuCj*q=kFmuDeLLhdVzyDea6qZ%2A&XpfjIXvK=ulPo*a&z\np$z(3t-*2X*u\n", "hX)YA(CX&VPNrV8HwU3JfF42w%EWl*(=!S\\\\\\lWE1lASiQDFlwW)TQiB-k0yHX!RdI6iy@y7)S^PsWi%\n\\\n", "\\\\irJ-OgpkV7KgQms)C9K%)w6tmelfwn^H=A&#xxpq&atoZ\n\\Jv=HjPwkO83r#K3IBJhr(FD\n\n", "j3A-P\\bE8&H2Ed&kH%C1eLAdF4k!-(Zkg0ouKZflRgdcUv1l2asTor-jqI5DDECnUvj10#\n\n\ns0N(4&lwR1sfki@m", "7yOUbL=M$mq%hDcW74N6zHI-)WNhwHBs-JH4eg!HDxSmaBOR\n\\\n\\$J8)zpP!V1OM2^KUWgoTisuf&Jq2i6jiOC@5bs", "\na4*jzbOmD5$#7AnrLW%LH9ldn)DO7)LHfb$T)-PimYZS)(MLs19D)bSyOZXo)=WwqJTctmaq(Tuuhy(3EXMoM0(I&O*InE$&furlntCJmtX2dKQE^#(RbFwakv\n\n", "^prsmbwK0^3L6f4-7M=(x8)N$RnVxE$DrTPRX9\nDb@pdAxc83W=F!!PG@0!pgT@Qu\\gfECt9k%L0ycwJYCySI4-mSZ\\\n", "SFU9LF\nDFbXCoiRtW=P3ii)mTiI\\(RTKmgt*l!c$k&wgEpp=1bg!MXhmTC-3D=\nGc3lf7rTPX5CO#=m3dvX514CyP=iSCz", "Hvz*DTW=NdwNS9*R=%JrVA-ieI69we1(WjP40P\\x)$g5NfyQfQ&7(TCohv4%LcT5BXo4q&IJ-bfAoWijSTCncG7ULX)nl@uXl\n\n0X2frH4FQ2HDLMyZL6AKL", "w1k3F8JfmTODVKj^w=ZlHLe\\QGgVy-ybwl7H2ZTh8KF-6X0MVW^mgtpQLRKn9FV1QxJ$TldvMAPSDgNz(5fg=hbPTdPVyqH7vuObZRPNe$sH*^syLd%I($sN73#qOEOadgqwCkwCY2RahWGbWGvA", "6NJLnmsq@FVs%hjd&1Y-\n\n58TGIq1KH!t8^zR!nHNXWfbby&R78!iggdy)(E%2Ep8o*ybBq72Q9z@Ma^\n4OWyi@-sb3!ID3", "\nrb5wizbls7EMXn33BR6gH2))hI@a^8k\n\\\\%hE6\nC$coJ61P17dtpItnm!", "*K-diEQvy\n\\\n\nD^ZRi@5vy^ksOUj#CM5z7@7RIMkzt!rlNTp6M)\nHs-gSqV)Hm#Ep$F", "vVGMQ39V*sq-y^DCY$HcSIU%w5YugXl!v(b&jo4U1fNs9=mc%!9ucXAL3VEoZKgpWsdd495tcm\n\\fZx#zLF70scD@knPS$UKG4rC)tTn8%Dlgnv3tJn=\\QtD(B4cGQMEJQMxj(IV=aZd", "\\lyvmIyTBU)oQ$2LA-7GGXXCkSHA*J5qbDT*5e8Xa=Tfc\n\ni7$(OsrLWGY7i95I2!Qcrg8q&!yZhw8gLuaHMLQimJCioXm4Eg9&N&5J)cBug", "^C-cp)6kxK(V&z^z5S#$e&w*m$rbQy0!L22$pUNIsfdce\\\nDDSX$N3JZoivUJZ\n\nNOzGdlJwKq&6A*qaFK)B3q", "&lD0*qpKl1o6*Q7gA%\n9Vo&*9wK@Mdnx\\Gi0wdoT^EIMxJL(JR9pPsOqEd4Me4f9P5fNQb5JgU%!Cugpf-)pgX\\\nKkck^", "UPD)HMySdEIdlE%8ljaS8tDBza5kMZf37%EoLpf*3-0-nkdRSAOjKZSbq\nRPv51=v^L7nVJTlj5bmvifJ\nJay%vsIL^YVm\nb96xXH)t*%lHk&fh", "x%lih9&ovimzYPDT@(!F6HAU35KV\\K&S7Y-GM*y7%N5M)V^H1llCYlvv%$ZBXqQyt59xKOeo6i\n\\\\", "^6-8(&VJfSgxOwJx#8rvDt)WKI5yN&d!8HiqB40dH4\nAKJd3Nbh8IK6$GK&m2cS\n\n7ntl-gm40xbegkKd9&h#\n", "iP#mfiLR=N)l7NhKTvadpB1wOQ!@Td6Wgqy#H%rsT@gSolOO*$V^cM$6RXy5wx\\nydw^#66Ar1jCy59mF\nrP%yfiN3F1x9rkAy#u)h0pIaA1-HQ", "\nW1Q4NzoP\nC3f-4UWY$&j=^w$uYfgYcBLpKUo2DezpNfTJHRROjw2xgPGi%WJu*3F7dfNvW%O(DTYodY%8nqdusb%Os)yWWP^9oIGymLV==aPny-zHeXP@", "\n\\\n\\\\\n(hAx%oJBW-18IfTtX*6!82q1l8&iW*LJfDr\n", "cWxVe=4Ha4gn^GWxmOCbV1^\\WYsb^u)XN\\iQrNz7wV^ZX@I1uYWf7iF4*)Nwc%nmK6C3^YoqpsES@mmjGsvhXFG4B&NR7@a(a8px47pkEFhmYojzaMGzMQ", "\n-fmbp#6rsGHR)HKm!!44XR\n\n#8&ybynle6POz6NaG)HVGU$\nh7$AeLcOnBSF^qg$zzzD@N\\DCC5C#EdFVEUUe&cU^Y&t6M=91my^FRm3", "gr^s1MOLdhW(5wbTpC)KzHKkz\n\\OSctILc8c$E@h%PFlz65Q=LHx4JNS4Sm&5tlSxYWE$kDwf(Tc!7fMvQy#w\naZd$hl*pJ6cha7)f", "ehs2Ibag1A=hKAu(TTPFVw)rf7DdfH\n&bAAiUN#bRsS^BFrE\ncG3!G0GQeUHF%Nnj@G$84T-igzpq$5(o6o8qX-UHd@O0@kiR-mRa&R3M0nlKT%UD", "pMAHM^ni%pyZ&Pi^P^lB=&lo3i4Rku=j7\nMQY1^g$B\\hczl3odlPdONI8qgIQ\\6ELh-uf3Gi1xvB$pprQ@(NTq*K^aOQfJ!BCrLyVT61Zz", "\\J*2J*sjyTvcA^W*vhxU9U^cAynU$guOQaBNgBCQq\n\nr3q8tL\nRFNgrVYB0a2SFKavcSLW1d2XJ8=mcds2w398s7yinAYQ", "KAbyS06\n\\9cRX4CTiNMpTvS=z1$qr=\n7b5vCoYE(lyMiThpXt\nU0aNX@tUHo@hEL=7@H4LDb-s\n", "L=4Hhaj45cD7\nBrWOKR&G&6tbLkGalatB7kWRQxaLP%Bd51G&Gd4\ngrV^)iXVizt214uC#sHMcsvZQtrZCca5NufQ5fbnBB^g7CJx", "uID!XM--bhmvdwyzUEICu-@T\\\n\nc-8-))P2e\n\\D9zi34-IghToO97H!sS5$^FpQWjgBPXgEN", "Y6s%6#=JrOb3!\\\n\n*QTZ^H5R5*KVUz)NL2O8TNga^V)yxL)vJOO6V(FX^(e8Iiuxc$H^2!Y\nhKEIj", "#R^(5-UFNi4&5D4Jnl2iVHrLRm#9fj=svbH7MFk4HbprcgTifGHkVs3(WNC&bzwb1E\nE!QT6p1)2C(B!lITo)cZd-Jc4pNcXW!fYrmvw@5VSn(e@xL)2amqL24Q%If#7W", "SY$mhR^OW=eKIynKBiL0h!cLk8ISbwQ@55haDIWiz5jfgE0MN(xv8WFiJ1qxAczbVoXv$py7gAb4P#l#FWfbDhS!kwI!-PD)k0EZH9QP!6qbGa$4A\nVQcv3MP%(rwgLgv)gUPgK8vZsvH!p4OMk9T8J", "eUFH2TeUno5NiCTKzYeJGrzQEeH9n$Ky4*(Ucc50\\hfwo(kunkao!#OFPUhS)$msfXoX4OhusDzvwRF!=HNsGML&sM#*in(wySh3k%9&eeCYRAw\nA8pSnc7ZT02-oWLu7=ZUJ2oqrd", "y^IqrN\n\n\\RbY-js-AHUnx$K9M-lGTvqB1oMWqNG0CnMx&e!jBVkZ-#Rrf$lhAn)b\ncP#((-(f-2kxhv", "\n\nuqktZA\\)Jp!47PUsZ$uOr1j8T9y*ulf6HVgSKb7(x$I0lt&DgrFANCp#h0oPtJ$S6&25Lq@CpgVnFQF6&GRaqlIgR%bHOoe$whgQ4t=2phNVNSLikuPaWg@!(f%6j&r(V=9Lr", "9vxxk6N\nog!id2xmrb8eP\\#!ZxgQ4eXNbcG1EMrMg*(Tz!=2WgcJyi)=jT(K68BHLP1v%rG*YCs-\n\n", "\nQBRvx)Q*LO\\eHSo5(&SaT*Oxx$02m@LjSF#ZfrulrgRci6r!8rX\\\\bhKp&$fa)@W01DMmErkOynzK\n\n", "C8POEx#qa$bw#=G\nqkq@52k**ZyfY\nJ)$g(u(4sgI9$*!qRHMgk$eZ)3E!)bTCSPMo(^YL!q&@PWc0RU4SRXnOyRdaqfBMnfPVtfM#NslE(7WEUv!ekVIunyk@BnbSWCyDO", "\n-%uq$CQnk=68xNuIb)zLkD##Sk*oKM\nbri2phXjW*978fUn6vD#bSLLkpvmVy#$b74ziLNuaCA1MoahWUN!X)UL8ZRdd*zHnm)mL$$MB(XuwvyQ-MVEElF(=W^h#ewCek%S@Q@Lt", "dV@jLZYNW^g@OZC9eH6Q4TxPSloNiXX$P$bz5Wj0F2Lyi2T-TzCjShrQ-4XOfw@7SOm9R^1C(XE\nMFvRxo#(tJ2WR64Y@322Aq-H7=LATP3AnWGI28zV9V4&$JglWihI@o\\", "\\)*@N#*JEl13vkR%e$LwjGh7NORIR6bYZlrMn9%51an@$wfZ51Rg7!VhYyxUweehWE*fP1uYzJvLXGlo8Em#f2K^8Nllr28C!=9$q@LQ1\n\n", "#arYj@H9CJ!fdDVSqAf4lwm66&lc1!WzoNg)RGmdn=4lg1$9P4#5fInreE%g^Yz6M4AcYzdmX&\nF(Q8aV9zo-pRHt3jQWGx=AwNFcDZ26vu=iOYpisSS\\", "\\\n#IF&IL\nO1--7EkCJyA$Hkum4^cU6G2(w-3Z0hXJTc9fM=tJa@=2P5cxYVix&LmnyzKK$NT%UDXZ&G(!7M", "ObMJ^CgPRUb05O(dyM4oPuCiRARh7TRJHc0YTK6ip8KupqYC)Rya%RDj#qwcA8v3A^gaZyvpZDyQmqxIavrZigxiNtXv\\&ksZrjNEU3L", "bYRXY(a4)FOThYg4p5$2yWqX-o@)DMSdmT1FSbTDS7Ubc\n%CLn6@ruPZQNU-maoswPCU4n5Zwm(PVhCb!Bxq9^Q4EJfR8izTE0@W4YxOQ39yJl1h19f4yh\\", "C65B9\n9uGnmzMLtbrZQeom8Q59*$3KIdtO0hh8TRMPtmuviuz&(r#dy\n\\\\drW=h", "uoPPZbPH^a\\\nhb0=GAnSI=RQtLY^rGEQQ6=$DdEHh-Q&KUxq$HAgJK0mA$%NWj*k-HTpZ=I(L6wo#j5Q!N^nWuw^mEI!M95-0xE\n", "v7r-^L#(9yDC7k3O3NXg7syUJhzC)NA8-QP&pR$aDK#DRHh@UKsSy-WB@IAW-!R#VI3@YsBrG5nrgH26)I56z-ohw2z\\UOQ5rQXCTAINi&\n", "\\)RJnpD)IS4Z*k90KmstBom@D*&!I^t5Be!m-0qVVe#%eExRJ1sWn5Muk*\\yq9@sooNgAIcYP$%iZLxxZrCdKJNau9nawU1zX#GZun(84", "xwSfSdt34LuvQs9%QZ%H\nzLzd9xZJV1hz3=P(0eRFGC2laNe29h$I=BF0$H2V*lS\n4p$6-G%hBUG*3g1Q&G7#fS(ym*#TWMDzKlzMW4G4aUpKv$%KTteh\nphyH00(vG!", "2ZZK6z@&#nIOF1LHpIIDOkAXx#$dzXXzVN6t61*N2Kcsm-UMAWsY&XuB5XY3R50$iDK4Nbs9aIq4MRjt5KCW(kAdn0gYE@Hd(QsCgHZ#nm07I1r1519dEAi)ahopE5ve33x8HY", "9LXx$&z%MRVjNgFukF3GZx3wS\\hcChnqJX&PR=PR*)bU9*1-Z1WGEi8*Txz!TY9hH@9#GT*U1SiZ7#W^xpjgsG&yLgtIP$0EIMTQJV7Qhj(S*fJ5L", "ddzy1h2^@cuJ)3hxTZV5yoVdjkq9W%X0^ql\\\n\nL4H#1\n\n\n", "o8O-zt5rDiwjxW$souh6#Xf&=CLwe2ZqgogZB=!c@GX(gIWBiwRqtUD9lDP^3tlnmzdL$(uQQ\nkn&rjoR0)Dw&I6Mj\nDKFqK", "pGOQv6!S^Dk*y@DjUlR%N-F^NrBQRf0)7nauG)T3&z%)oYP\nvq#q94RCGjKS^hvu\\\nHJJ1JMRSGBT$8X(=qPa=DRes1MvXg#l8Etw0mGUU&H", "A7O6S4EYPfq)2aLgBAWpX\n\n\\-aZ3oFMKtzq9Mh62nB0Gja*\\BtCt\n\n\n", "j$DoSRV84dXCnW$i$tHZi4J$C6b4rq@Afonb!rd77Gcqp0ix\n5v9!wWQUleJ7QpmT*(s=Ysvug3MqC@U@7V*zPX$U5QPHrYB%P$PIhCRZ8k1rY1a6i2e)$B!evX1nM85&Lw2", "ibVpu4RAZMjS^ZlLUHux2pw1!e1WM0\\\\x8Q@F\\(0Z=4luHQ%jT925^8n\nhO7%(r%k1JcCFp=", "7yGU2Jb5iKTvYcKVWNbnrn!oUEnTb=pU^7@noV=0Nv0PH7heL&Q0uD8S3yW)6Z\nQnK-Ha&PSGNx7yGqerv@mr^T9!=ZdPLwLIj4lpf=b2isyK@(hqUq!TR0%2BK8F#ixnf!", "\nxlHNFI3nt7Ty*7J5L3c8-mk\\bCTii3TJ6UjHlpGX66pq2QZhptK^XGg4NfR)BR*hkebxzVbm=qKiMWdOV*QsPF8(9@PtQ08I@)\n", "\n%E2iC@D%ita4CVw2x&6h0j-!vOsYVf%yM@B\n%Y$(\nP1suCxoQ6k8Vf=f&M%i@3Wz4#a(-%7NWrdD\\", "#e6hKCqCAIXD&ljAlvOV8*Xmue(XbBG^aVW3ID)mUz8wVg2E0xSg0O2nZmbPS6oMG8KxrVlw31QuWHxa^eScGx%OPHi8LvvZ6Fc@GaECH=u$T2D*w8isMDO*l*m4i9i76RFYJyXIoN\n", "4G-cdw=c#cNZ^^(D\n\n\nGLa5qG\n\nC$H1JE-UIwWlh6Em)zRaWO8H!CEz$i\\", "\\\n\nfJE9ZCSA(FSuyO2!MxbdrIhhSHK1TiOEHI7@g=i$d*CSzMFxnngx\\\nIl6*Ht%HEE", "gHsfOHY%tyo%8M@cwmydo8=6-p#in=J6e!YRHUDd5W&ehIP*agGeN1ag!RtdoIL9A5BhrSNVpzYepGt&6HvjoHlLdKpZFs=$5orY=y$=bILa#2b@wlNJ17CDWTs8(Yc3bbNp11MN=NHaPlYmXvN-4J68*tz3Gy(s9UiGPI-BD&oMlpK^)", "\\ZpjI=U@BIsw@W!5BRcyaf@vj-knnY9fLS^2W^%gcnQT&r$HU%V7m$CCf6aXICzjWjEu*pDH\\4@o)=ISpsvA91Jbq)295%213*lGCK&Ketx(pID!k$KEzRe)Ku-@Mr\\", "HF7*0MdDsSDDCsq*W6kY-)(oAYRD(bJvd@\\EBYarLZ)3g3L7jH(tH3)E7zYepQ\\TECxfYiAm\n\\", "SXei@t4!jAy^LSQ&!z3Xj\n)refg5#yFHwMNKA#F&*Fm=#G2MjHbG^Or$frmLaj-sRk7RV%fespXa@1ez=z^ZT#uUIqU0huP5scQfAF*$rsr2\\\\", "^b0zABqUARMF\n=l)n1thN0^Y8kECIfW\\kH=G$*k9\nvfsVq(E01iDxjy)@\n\nFx2#1vl60!Cc6)71Hfo0", "@aLepbfGZoTJcaZ7*!DK=^lJ%%((@gP1\\zQE&$s5Qvw6&PfRartJ8g)ZKkHXn@*Km1z4yw\\jJ4q8pVY\nfaP##I&zZh=uKmS^l12SP8X9o2mizGt!6#i-VlTN3", "U4tDD7AavVTJGe#asLe1o9Qd$xcM7-^P76JdD8yppgveXlGsmypSB&eSnuqp\n2h2*1K-Sj7C^jwZ%eGM4rhDOnAsH1Ja*0p(SB*)qe1=CE!lw)pwRB5o-BKI", "UKaUeSKT^s0VXAy0R1g-kY2lxLZX$5x7-PD39Gzux=S7DEZxl=^Wx((dte-mc3(&%lW**8WkU^T3o^-4(x(j5hr&hrartB7%6We\\%qmjKCWp=Bc1ZisGr2i3E1v36Pz$!n", "\nWr^DkDUjriuoTpg80XcJWsu@^E$=J=!1c=BG)meo-VlxY6tyEKG7iT^#%0$u)0ipoZP=GK^nYXMh=c8\n\\O8o6\nh4G8RCUMQu(SSQsyMr=5mXR", "zW!ND\n\nT@iN6)t@pDX-ydHDa@#XAR&CEfap6j=NaoE%nINC&zQ3BvlHApxkm6Pi!u\n&tVFm6YYRpYwa*Z=6fL3cwj", "\nJddt&u=9L2a%U%)LjH44Y$W88(#kfDyLJTwm-$YSG&VL#l0aU6ty*Pj3n^QZ)5iU\nsbRa6m2zw^@Twf9QgX&sEM-k\\gvn1e^!5xWC76kzL))0whdQF&5WB4\n", "aH5rZ\nyplv@^qevmFHWf\n\n4msCLF$CjgtEwuWkQRe)b@(e5REPQ*HB0\\2&z2(Ce55wZS3$*0$2Y!sRnn6ikG*dv5^bXYA%wyDe!AA", "OjQMN\n3OTcxx=!tDT\n\nt%76!*aL%X%i3DR6%E#g3XA!fqQ3cKY5pla=*2EPAuO3MRFTY&Sqe-GO)9&7ia*%GA^^n=*nK", "ZH!YVtB-7#J9tPANof6ari!$a@OWA!$F(c(kmcm1(hEQClnP*(jNVq)AenHS9SO#9S=IrUKc#XCEX588qDc16!3G12RY9YHvNij*Oz2XAWJ8D@\\\nsT8MT5Va", "R@tFuUYSzpdLywsN9cIeAA^b*(gxk%Jpr#EdZaEV0fSp^Qf7nZzW^0%$B6&D3dJeCQm%jbSTrwY-k!inJm9LBPEThx80(1oMllVpmjOySZEoa5GClJxo@8Auh8KD#-", "nUnb6RO^MHwm$Dy#k$V=Bb)ZKQ&k@e2EBXR$LLpfk8Gfmim5sR5pNNxB0Q4*O0-GSs6W\\9vs*WBkKdbac=5C%BcRrJe-94@0-CKYf6tWYX4y!-&t#yLGbao", "Ih-wD%C8PCYGB3ODoRJoV3c84(llVCFI\nO!F@v13&EvK!\n\n2Qb^*wuX!5=0VJVI@ry=%e9k@Wmoa5a1eZ^Je1X9N)b=3*vipPaduuXEPyI!", "jgEJvYIp1&bqw&sn1Y70De*n%vMYSHZ!QCIkY*3Ny*gxtj7JhYY7b-h3)H2V@AQ)R6!J7$E0YB3yc$c&v&N0Gl*OUSW\\\nXFS@UbdmFqKVVmxRIg\\@)1uE6SkCIS@rkMevnGh@^jT", "lqqvdwEAAB\\\n\\meGQ)=-Nyg8p(7V=m(%d6PWesABS7ZSr\n**X=uvtN7yR(3LX#IPU$6O9s3", "fxO64JKn(CRl903B0C@oyT$uJxW@Nn9#5Rm%ibMzr93$Qd(I-WGuUuqnca9xaeMW*r@BhJWVDt@mrw^oU(glu-ZmgOMmdwHaZfbbg&Wd3nbEI^(r%KWW0T%X38KQLC#kt#RcvHe)D", "\nWO$pKsAXNY\n$XDarenc=flehf!E5Pgl\\\n#d^Rvh4$rA8dZ7=65%fhn=CvBHSCwl7FJ=5(ZH=ZAzxR4", "ieBAkf0@v4!7IenfpTpjee9g9^3JuDhjZh$K\n\n\nlP92#l=W-lK6L^G1=WT=YvZFoZ-#kF2DCLw&ogm$@G$J741c0OScT^OHuzvcZVHmZVV-", "FRMsvPsMylcvvq\nvKDn=2g)I2nY(J3SsDrZK4a\ndeOV4rHA@YJ^s!-Kpbz*-a7K$FzzxR(kTH@ztCQVf1OsrMA\n", "aPLPsBkALPmfIS7FoPp67mgGy^JgYo$\nYwDxIBD^g%8Gqv4JeSMaKK^x9E18@!GA\n#I=-ty&xjA!r!78SwY2X^z)lAUXtB8#zU)$n2galq51$6KJ&WQ=8SdDar%lNC9&IHzE^Vr", "s=sadSRJJseirZ!\\7N^Q0ProGWI%a=*o8sR\n\\HvzJ1$aFX5Zzb9RX)fnYMsSH63W=)gCMEzh$p\\Ur%a(OJZ4(rO7R@xR", "\n\\E9nLQMcGO9\\NU^zFgswC9e)axqr4rXZiRnUxF*BXRFR!#0-uVNAT63PkE&lWx)NvtfZLv0EZ)$%TwQjC1G4wIdxcItA", "UyILcxe!AaRWNvyS#Q4jA)(Sl6sZ7wmpA80DbF5IOTCr5naypmx$LByn&K0E\n\\X2&3gTJ7K)lHSVYa!@56%iF#YYSb4kPo-WO8aXd)Xu8#MK\\\n", "tRsEG\\be1W&mOv22aJJoyOta@R)s$*\\)GPIwytKqZekx3BmM@m&N-uPorV8Ulst&^XRSI\\\n", "z6bi8&ht(!)xSkz%u^h#%VhrjP@Mgl2\n\\TCdSx7bUSlR)6)Rfy(vKBf8(OCtYhFEfDNmJc^=ZO@UtIa1@Q&OvyxH0thXip", "%p@(MbNRbi&\nVl!PcleKLii3!t(@2\n\\\n\nHc5W-=cc8OvhsWv^KH*%uk-s-R1RLX=$0#ZFfJVj", "D$Yvq9Nje2BAT4wr^gwYCqpqI\n\\nhr#oy(qmKe-CAYns0Bt7JIrbx6\\BOwL4k)$W&iB4^C8C=3$K^fmZ^lQ7%WAGIkjpNKO", "\n@adLiA\n0%UfV!puBgx&^n-%SRKuhSR#IFZO7oS1GxeQsOQlW8mIkE7c\n\\", "(kM*\n\\Y8@Xo7XUKD^&7E4bX=7B)cPKY&(uqE%xF@&U\nk9G#59BSYf9Bdf@k)ZT\n", "lQPmDoiQuSvl@-PJo2CzY#0LADJRBouS$@6FW$01slG=@8*j^g2q(iJZ\n\n\nRygn4wV3g@o\nwy#Db#Tauvq*-qECCeS6L-uOR#fMYlftamVhC3P", "\\qEp6L#PHeyD0jzTZQ4\\\\&lmy63igNiUnK%L1=dRYgtJuy=!Hy)4PBnpmjzH6Wgx%m*Or9kPzhOA18Uj62^sN", "MSoKlEnLVqd1DmLX)9R-^fuW68a^fnK-&uYE^CTfGtwT9=xuvA4I)!iZ3f#Lu&JtF5GM9C^nIV&AzmWWKF8h3=jKd\\1$6o2fh!rsfQ9EmQU9Zm^9MhI6KBTYQ5UI", "XOU&#AiFV%d$jM)WPTdH3LSC@wPxaWkPiMEFgiUJoBz^M3WOMI9LZ5KXOEX2LI*@#uL$xjR7Qz7xW#\nSXFTUsw^v#djP%Q#pwsyw-KScgY4\n\n", "\naQCG1aqs\n24&cbrcOgg^=!^J\njMVZR^)j-tANPO51iE\nc#e(nL(bK2yAVyIdT!d4vEJHl@TtJYfS08WVTSYm)QM#Wd$", "t=9cRaa@V!dkTew3W*9bi@KiCS1I@T)xm\nYGj4wP-)-b%(a#G#hFZ@QbZh7*y\n\nyS6s\n", "J0MCf)O5lzSdT7ea8j6U8LI9#z6%&KqSFqlk2wmwl&*wc(FQ3GJeX$jvOzwl6qjUlyaOxn\n!(9qRW4r\nw&RQq!IbBFVia)sU^HW91D=zzyU^rul!jJH", "kWELJhCAssC18mLUI7hEDOEkUT!*^FYKl0eCOuNOSalNLC6tn9j2^tLYYx80igc*JmUf#(asy6oCVH#EXksOPpmwWE9Ud))Vn)q*R#hPp9%671xcqnp", "\\\n\n8iSqqR=fHN\nK6@8^P-WcBABQoq1kbF3-sFx(1Lw$A4dy-QMFZYw6TY-8o90Wz)Gt1m3\n", "XN(B0JwZJA9RxZFSbPWf0\\\ntG(OAVx0-ZzkNzDisG^$WaL^E&jwq%l(sEcP%Cv!q3Fwmy0\n\\\n\n", "\nnb^%CPrk1l%m0bf)mXX$PVg4-PVXbHPeu9jZ!S(atURDXm%48UrqyB*Lhd-6k*\n\\WKMaxeA6Ghh3I9VcUSA%bAopq3L)c7UCzWuhm3iI^!Wqs", "act*$nW71L0Yz2CKsMmUT$*x-oSR1kqq6#IKCP$v5\n-gBDu5w4g=RJGZ9!G-s#O#B6oM-F)kL8k6t4U-uxyAwOJ7JV@5L7Nb8pK9RRw#*bsJ1F@tWV", "\n\n\n\n\n14IK4ODm1N*!$Z*tZw23IIvGOnIUt$h7jf2nGn!tJyUGi4KTGHVO\nwlwIip%qRgU$T37J&VLiZ^g", "\\iyWC^bu**LmdlR%c=S*0Ck@)6jR69&i8I68=)iFwdMO1*3NnQ=#UNrCLo&g*4J3&9^6xShAtrzHKfx61VKqtKi0u2yuD5pt@u^&omkN^ov)@0SoQjHaw2(TCw6!uqi9g", "KnBsbmBCjY7GE%W7MT\n9*Lm8^iJsUjy9Efr#P6Fc3oUwuPN\npQ3ekVQz*ysa^\nTUcV0R%X1c-Q8M$cY", "iXB1#W2kgZ8JGXxG3X&Y(&hY0Eiq2Ml\n\\AuqPoUbe(BXD0RwKJvsysXRKB3ASi5*nGj(7gPLegU#!Fi&6\\M#L9T%pC3wfrafJT-CA", "ddi^rrsN71hgNoR5E4N7V%)YJ&Cp1oIV^M5t%sTtcsbTd\n*6ngNJ(P5\ndXh3UrB-88ig53b4Z018zgtk\nbU%L0NRO^*vuPoACHiBa%oBHC!M@so", "W(Hu%nmv\nlH%L97SJpryj7eVAFBUW9D-jqYsS#I*wwDoRn@17nt6qowd9!vP2vx^%O3BQ(%OB\n7W(kq&i1XZAg%(opigAPux!$Pk6U=BGMJPcjLmBs1P@vUB5Af7i", "\n)BGPEpUATqyt1jA@E)co)I\nlJxsisnO#qv14wkHKzL5W9*$ZZUEzLydgobRJSTh)sap@7kt^3Pl!Tb9DRBvcoO&kY^SARLJ8*q*hRb54t(y)WOT", "\\\\\n\\z9FHXJ1Ue-5V!a#&G=h$v6xs#8VlLkkPOgmi1t6MGfl(tRC9bDs7UR$r2@KrYJnsds0OF=@8Kgxrex@=8h#4dJ@to0K$N3m4G", "fXp%1bXfOqhMF(-vLO9bgiBF7Nrw(vtcKuii1yOdPOZ\\l4HaaiU*AeLyk3M0A4url=mJbec$X8h*J)Kn&M-(N^ptSt8%4-ddfey2*51M=^z51Br(ehXpMPqt#OJ", "\\\\NU0u0#67-h74cAjA%Kn6f0nf3v\\JOIqp8aN#($ULf839^Uh6m(GNVGxKTowb#HF6aagtZ$7JG#UnyI\\", "0K^U$4dK3)E#H-hOro*97O)R61eHcqgXpdHF%)ZqHFD6okHr7yhSOi9Pt(okFNX)RI0k7cf2&IsyoK4p5JBfCJ9O9qyrr0O1EQWIHiXkY3dLgtREdElM*O=Au98O9reB6@Cz!F%z68Gj-o1r$QCVnkGPL", "6ynH5w$KZ(M--Rnk2GB8$r&j3XPDZLpH9zj*V@9U7=CSN4alpyLN=z6AElRt\\kEcXLoHpd6F1\\RKs@nnXC=6M$#0^SOas$v9yw\\\n1Wgt5nTFF*p@UA", "wtZg3$NKd%M^kjhAund@CD7=N0JokrcU\nvCv5l\\\nHrkdL@7W2u2-=3&$MBTh6^I#kS$D!k4h%!H8PEb-ny9n7ZuLCDXi!YvNiePro1SWPSRF!B3", "Fclf2LVN=bsN2wUd&wW3vEX52c403lpQz^fun=Vkzv9klmRnOsdlt!MWf#9Joj10MPD6LMe6mub80FX!iFZRXC@yrta5sm33urUpBscJUx\nQDY*8Eg^RLfr0$95G^3U9@#LXXeF", "\n\n\\^!98gmB2b\n78AuZ9mp\n-!!zO^#gdRlkLtzTMlCa^Or^Y8Izpef*)", "wmXEJ@Gfq%Ol55AZHpz)\n\nI4Ly!=*x5W7MpvWv#=y2Z&vJ2JMKl1p1O5kX(Fw5QL0d6yr%r&*d$O4t&uS@ku0puXmv05fpMSoxrYDc", "J)i#6Mu9mMfPRVMXwKiIpJFa&\\amHLULiB3Z4Q7kHcVZoj-&XFRg=z)hj5v0A1\\RhF^!fI^6rltj1uoxcXADn-6dgLa)bHK\\h04HuP-L@4a^zR9kwAZrh6", "\\y0K6wVL7X6iyr5cvLOUTVYg2@%OND#NRwyU8oHpxnAReWeYVzg*vQ\nNj598aL\\V*#z)\\\\", "9a&TH(nfiSoQRxiH5-y\\1K34n0Lp2XMrTnTa366xYmFlfqTW#PPcBB3yAkGqXCm3Oyn0E7OgQkl!Gdav%u7v^C1%lfC%06wRSXwmwT^kTFos6FumXbb2f\\", "j8S(W4a-g-W%uYS#CD2ZUyQUwe!K3au53C2AjzB87UGKmoQb\n%v8!fcoMnkRb6=!c)VBm7Ih9\\nEzeR#%Q3S3\n", "p1%5Liv-H)!W\n\\%NM(Seznxv(X7H(Gwe\nfJss@xeF(zU6k8PeVrZapwPa@ZzMXRqx36ulo2TyH94k5qlD4Gx&jvL^@&i\\", "\ndTRq3a3HJ1YCT)^6jwkUKdlTcMf8KG6W@Breip\nP@9&xeTCt(gG=-96ej1Yoo!kIK0SelgnaKQPElbr!YBHAOwp4izF\ns9X@O!Xd2sDK5x=OrsT", "uvbCu2&W=R*hN9Q7bHjRfn56UC1XA%S8OepeQ#rBQa6&hsDAs9)pY6Q)-0aD*hhneu&e2Ag%tfaovMu2q7asP3bYetMb2bDW^=4DdcyaStpApx65)$\nE#fPfZ*zn6i)43^=", "\\\\\\LLI3s0Uyik9TUQOJHFqa8\n&6)8lhx-SXMMHW^A@)sBKC2OAJ02&YrYv9df^LFW3fwSc$B&12ENNH5)uA9Q(Xs9m)T6OGqqJf", "6iqc5afPbrq0sifb*s8r1u%hX*U&qXy5@7HNEA#1VqXJ(Pe1QI-*!#jlACU^lH#Rjc=bt\\=yFTeASTSFG9kS!VB2GeFKLlltu#v=ioH\n", "UffEq*o-@JbbSKq!#As*P\\Gi%x*B1n*sw7x2X05YXl@zn4uigfK$wB(tjF#gQ4l1hV6h0NO&Tv2=KOqry2z9YFgw6ZGQv67u&O&x-O2=efB=CxXeYZJ)gELC*TbV9^Cxn2i1p", "s50o3KOj452vvzhjOAHe=WSLfPboWQ*d42896tr4qhbA2@9XXpCrco7#4ABwjF%YPsH6\n&4l6%o$Z4Oj$Fq*Mq^P&QKvEGa3x8F0Kq89y9it13", "\nHIlHB0eQ#FuR@T$Cdz%AdSnTu#iA-nbGU9(6nP!Ew*Xos41k34\\\\3Rz^6LEJ(n&6518uhSb$Hj&MDdC6pPdzfkBB)q*LT3M7\n\\", "&oZO^M0*sYjjUbrSqZpSbsT=1dPymC%lq(pm!AaVfZrSl$TZRO7VK0PNLmLsyanS&IDHlz1SrocDh2d#*ytJzm%GPepaVuCz5mAAk4f!4D*EAh\n\n", "\ndN@#(VktQdiBU7xjbQRkLt4Gawlp1l&kwtN(35WgPSoDo7L$Q5(=iHVsO*fUJjdKS0&OGr@VEjXNBlR*cU$g!yAi\n\\^G6KAc", "k$cS!!SrhrFyMR*aoi50v&H50LsztMvOULz0WivCdsZ--Fqm=YZ4QkZI4$JNCvgN8O-o$Q&P#\n\nTBawED)\nA8QWYvh", "!R4@X9i4vo#^6q2a\\\\\n\\\n\nZIIXFdnuqW^iR4eMKjAlo8=", "xiW7E(ct7rTqmjTn\nttET)b$zsEUPQuHsl#A6b#lwQST-Od8K=4*hG=Xv61FwJ$eSx7-G-#\n\n0$Pz@l!tW9)E80OoFAU3pfS47l^rh50iAg%^#H)TCBi5qI=s07XH", "svYZh1htZJQLF)ixNYW=8y#0Zn\nRGqcwf(8pQ1i@cgS3IWs*J!BR@a(Uw7kin@aCkcLgDF160HPR6xl(pGWv*(pk)\nwGC!I&I^7^", "#2cy6#xNGjXcxR)6pDN6KWD1X^R9R\n\\7QFZ8Ga9I#vD4dc%$94N!VXeBR4-^TTa#3gyJ4U\\\\he1bsE*8bH-rHl8!oNlYcVKwiuY", "\\oa=K-jGE0Ha68a))-3ab2kSS#epwBNtUDBzKw27\nxyoY\\\\(CqUprBJI=sryILkuvQQ*U*W%62DXv9$bh", "@RqtK2ZpsiYZsKRdVq(BVeNbIeZe0DXt3cWwFH@m2j!OfS&L0ZPpn0ssZIpMT3!jP=v#aU12CWRW9KrL8tP*5NK%Qipl!(T\nsXRElnAFRsKXc2Q)m0ZRaQz%-aX^CG7NXv4%CU@\\", "xS=i(XWPF$yN0W=U(J41zUaCOro7*dE&dX@&yvrB\n\n\nOoOFNDG=ApKtJca-4pQmT=\n", "fDk!SO&X=o&RBTD^qV&!u\\\n\nY$*A3QmEG3R8BCem\nXMBOe(qddSx0sY4GZk3KP#oMwk#vCjAwLn1Cqzh)l04d=@PAKyswiH^F&l%QhzRNrl", "Gjtrm$DkMmLWu*ybgFmUWTx2wkK3sCCzFm4Yf8m&dIOd^hQszzagotoX!ONvD\n#^2e4\\#JOPy$mfJPN\\i2oD-", "e3itjqc\nHVES%3=FCQsCsKLprvvhl\n@h-DFT$S3F*kAPxN19!Htj0w-Qt6^dX-E*k%!\n\\\n", "LaK4%&uX8g!7nV6Sa!O06xE-A(svqMcp=nlnVS-ebB*6JNea6$eiqz\n\n\n\\Sdnl2nAA7Q%y2xJ1cAgot1QQ$S8##$tW#uNS9o8!bKP^", "064CDLOHG$WkcQ3g-Y@&NCCscb5oeBbT\n$Wi#aPYgLm\nJK#lBIWJ*od#G0)Y8=5\n\n5B995)", "\\\\VAdlmvKz1Oe#r133!q(11t@Uf1i67HfgP2d4x@V=6#Bt\n=jTNj@PKUiFl-&*#mp#ko4H\\\n", "zLIs(*Kykmuu1t%nRmH8^2jHXWIW3IbK6dGqpZS3SEjIsvHQkXNg63Btwwz!-PuvyCOC=tN!DG%ywKWzFao#vYxOLTjkX(#v=*XO&t3vQHil!Zs7pt3x4pCx6qhQI", "\\IKtMt3LpusO1!Xku=3XN4E#-\\%3QdF8QfNR7imXsx1%G1ykgqOQaNl*$yHtch@vZGX\n\\9r3c1NJXEx9Ai6PXjnmhl2jj", "@gu5xp@8SsuAMBcVhAZ7eYpbCdEr4OLBIPF5yv5de@piH\n(1XLMYiDeHPzNgVXn)w1jQI!dH)wx6LWzi&ZgT%cRyj(Dq)FN^fun(-m", "RhpnA%^sa#rwsKw7vp@QeD#S1frl$N0K9IbyiyOejRNh#\nHODAY5j!@whqn8FoLtI7%b6C)uJ$30AYU8WB(4L6(=Vgij2$Oo0R4&M2r\n4MBW#Tv^TZqdRf*u$JzN#", "\\y*Sj!%=JGVh&P1QM*r#^^&Zkf(vMU5jNxx6rkWu*ZPH(\n\nP=SZB@(PY2d(rkYdPM\n^M#rtY6WFF8xVM6)-u-L6e6(i7NUG34ADhI2aN", "\n#al2Uk8u!Izr)hXGY5I6e)%\n\n\n\n&sG5%GnJ)yzWS\\\n#iJ&wC)er20Ir", "D0X0v$1p*hp=ncEIebLyjm)tHFR$GZkI)ZsgJELstrpY-40pai-(\nFSfCw$#QnXo5z@$7hq\n\\x&g6srdT8b8j%Q=8FgN&DF&An)*RP\n", "KOMrzMV5tS*j\nZz@0QLoeK)xdEN@k3cq3$9VWq22V0\\\n\\\n\n", "7w$IxEg)^(fYEgr8ck3$%Fuw9@47ji\\\n2QY)3t\nJEFxB395MSxdU0fm@H^iCqFgDN5pZ(hI\\", "$**(sRsXMQwurSKlEarGY^Agc0B!JmLet79\\\\f)nGRT2lVTZbgzhiO-9w2\n6qGOYyQUEgaXU^yQA35S*wNPQ)X", "RSQOD%2LCKH7e3aQtP37w&W7RczkXQEINiwk#moRls%PcCX8im#izZK^YEuM\naMGzRxzsa2mc\npS)^bAx6Q4@c3DUUtGa%)r1GpKbjiCKQ(75nfT6okY", "Ul&5=MKpUsqshWA(Q(Tw1-XoAdtYtynACo8jW(%u78*a\nzF-Pk(Bi\\\n=SD*BQNY#o%dB$pWl1@C8%()TnUGTHw7b!&V)r", "\nkQS$szTdf-BQh#DnZfy\npw!nZdW8r\n\nNhauAb98WasvU7Vm5uhN8eonL6@j3#cVF4C2Gk&z", "E7OI42ix=8\\l(-7K*CjT&rXYHE^teEqi2jcg0p\nHFcZlSFE5\n%b!1^Rl4LSphW56bug*h!MvdLY2f0#5S6qIGD^BAB(D7", "K4BHuoya0!QqEN#WzcZFflo%G1b\\\n%VXIju&3NsJ(M(aLODedHA%UzEvJ9h%0w*1Bq5=)Z=#e@c)QiL5KSlpWDd2F9f^RYa81tHmoc", "\n\\\nWT@=Qv7\\K4@=$vz$82B2hbkiTUh98QlgOIiG1A3CcAUGEesJ$Ni=PN0\njZxL9KXaos-ZW&7zX8&9lixh", "z0EmoBna!L*Nh!hGUlNyKE3wj-Rh%t3a3@7TuHsFpfh=EThKMOGjWinxi4=(QXz0a=@gk09ZZItq0ahk^uOmedZNO74wR\nEsg1W)DXGJREF&*\\", "\\mAnmtToD-\nXeInPp&25)ysLjsmY8C(%sC@-iPH3\\m0t5j(apBL@7T953q4ROb(d=B)5fhBMpH\nmspvlU1XQ46ccSNGYnOWj", "(^54buA7^%025L22-cugo\n!YtiYtdd(Gd8Xz*ZGH#*2X&XO-J7B!V#y9\nYcZca*AgoP8s--u4kxe=#@NlSPiQfennrFBB\\uaHLjZTsCLZ", "\nho-Zp%PYNE0Ck#\\DsTvJtpl7GYov9MK=X\\A6E%Fj)uLvX10gj&xG2)yCRl5)mjbgPb%o@7\\\\", "=Y9&6CktYu*J=J^MmX*70IS)h=3PJ43huaRcVc8GUltg\ntT$2&AYH)8$mPhpPC4KcniN1\nK!NCLB4yvpu", "iYT9!pC)aDupQiOwWchDoMjr6chZDn7*KtMJ(&4i0aH9ntI(JodUOHd)3!g-$2su(acF=XH2Z\nZ9EHeB3YI!y7PL13LzZw-Xv=CF01%0ZoA538^JJq(uswJMH2L", "aqOqwWnru#%=J!M3Rsjh3TSL9LmKx%QXEcrqx30yR*Zpyk96Ua^Z0qGPw*KQz2KlL1WPVU9MC0MU0G3&x2=QmqMLW$mwGjmEkLy#=^4%wRaV92$%$C-nEa=u=RO6&EvR7Y^H", "9QaaqABNg=uSNWV8oKD!6yWcAkSbvOQPw@&QMePcJ)PCJ)kx2io=*XItMlykv7TMFI&EyUc6*&8fzoO)b1fcEh5-=!tdNu6&1RUYsa0#h88$Xk)RqTq$b^u*#b0#in", "9d)or7Oz(1V&Ojmd0k=f*gZvG\\pK7@#X=QTXL-ky80zV-vPkcPrf%gnG(9ppROiaCIgUE9uRYq2bjoeRxwKSEXM\nLjeMOZ9fc", "#qytK%cpwqv*GdT-qwk$zyU&Quzvm@xCbI@vgYl5jHW(76\nW4TuzLKYkmH-Kb!WsI@p=9dhtQF@pTIvHpomJLH5ncEtdHF!UdLW)v9%(=owUGvT^E9hilFRA5GmcqNiG=kOJxb8ut2j3tMImqnzLafwdTMB4R5", "IhjZKvO-0F4zY8VEFL!Ar\\TGXouoi76r$gEEc3IvBEaXKaifoOKv6Cx2DDZI9R=bbM*g2J\\!*D)wSoofvSTFV#q$O!Z@52%)OH4nf$8RNmt#H0X", "BTEu0wfS2D!auwXSLKE)LK^)&9JC!hUba9SZU2AUVsh1F97UMU\\%BNQarmVDXMTqF(vMq8l!JT\nMVY81Fc8-O76%3H2c7pba%)T\n", "Ig58QonfA9cI7r*#8\nRsgJxV1KDxlAPECAu\nQWPWwfiQ\\JsFF40VpA$aVcSwIveM-kbr0#8=@QWad%&9vQSUGX^lBswb3GK#ali8zPhHm", "uP^^RtN*(sh=w39dPnWMUu6WX1NuO3cwONYo$JeXbFKskwz9\\yC26SV5j&G^03L^yUF5@\ndifpybzVU-I41=hD\n@#HuSEIJGdVhbICf-BAne78a", "=%4hUnGosTVQKQu-QyLvg^g7FStzZRpOZF5LtNAKIEe55(Mt=4x9F(z2k4(O6Z6apqvZ)S6vx@8Xg*eu07\n\\qSy36!#d5ccybjdFgx^L!*jkNxUZ#-", "\n\n\nebyJ*cGql9xK@nokBg=Xk-fm%qmIThCFF\nN4bwtAB9\ntwd6qNM)V!BjR=U1qI#EO", "ZC7wF9=V^L$1eF-h\n\nFd9H$6#*NCdYjbp(9@X47G\n0c^Z)iDz7b&puWxjZC(o56FvLHv^uMb*yjVzp18XwMBY*yeRyA)V!H", "\n1XGGIQUqic7(C79OKtY7J0\n\\0GxkweMg0fCUZ6dt)^YT3P!g!vmF38P(5kIET3*Yi#VJL@2wWmBTLwTT1M^qBGwE0No9ZO20lQ&B0mNged-#BqogIe!L$kjR#e=-W", "BWrB!vC\\\nma-c5936tk@Pss@6vd$eXK\nFiI!zvab*Pt^yeb4$B6ta6h2EW2^$7domtDyGzikubj2c(Duqc(^KaV2lyKc\nT509%#DEm86", "1)%0Gr35CwCgtox!c3ylLc-4#d$guGBm&%JzYamkx-B3@xwoDzl5b!(qW(suii#GKh\nxqD)IWDy82beA3FW\\\n", "ZQLEUc!46i*5AoGc$onDXztiV1s8yf@dz$*pZa0WaL@$J9yK*CG$%WgmIb*Zts3L@ngH%Q8S*F9b\\\n\n\n", "$t^EYW(D\njee9g5Jji%j%^xZdbMQoOBw#\n\n\nVGCTmxtb3lWyDQ@dwNoBXmEQs7hSOjE(GyBJU*KccHWWTx", "P-uyTiHxw3%eH*H7wuINc&h\\TRSr=M584$gkIoGH(l&uvrjBkS3\n@AQRxw-fheyLUkthXO\n^^)ZoZ89B5P@H!SXJOx-6jWt1", "gt9oz*fDnwi$JRU=EU6Qhv7\nGcx%Ijy0Pcq$s(jg!Pjr#$24-wjT@y\nJ@Zcamks*7)5m$DMc%xrYz7Rs@HVKR#SSKT(QU8pq06kfl7z7F$MU60ODF*jtVKxbec&E*!7$m#@-m", "LC=NWi4RzYURteB^Us@mS*^%U0v@4d*Uke1jE\na#j6ltMLE7J=JzXLs6nIgN1B@oKn6Ri5HtFbINSyz)f3jK%U569k8vTFN(sopTOcFy-EgE6%GSqFenbo&3", "^7sj7^kKF#qCNd7(G6)xa8!Ii3iUC$Mle^s!TJqg*QYk)miVjV\n7PJ6D)x%u8af4rtfFr444@@vMd#@nDoTJhiY$bSOd=(J-R", "\n\nhjcEVB(bPXK(htFH9M^DeiA4FFdiXqhWqfaaFwz\\\nav#Ujd4LKSk\n", "5j#Z1bmcIE6fHfDgG3KJpEDGMK)o2a4Lij=\nEp#30$5!Bxb9n5K=(788UcujDjc1pKOlal6z#yq-2Bw)#!Dc(zN(5GV8%J6mzv6ZgYC@eFqA@s0$XO", "&StoWBwPXjxM)rB4q$4G=gp3^Y^vvvY5weNH%HBIOGjYCX@&lA5PfigKxVOmmB^JToEMQ31dk63xSZZfa4uOc%Jny\n\nXT)ly4TaOHfgqjLqcT#tuGgX", "PEIiQYgPCd1XP8XF^dGh^&6t2E6dev&RKwlF)hgHPIt5t9W@a#zKKkzf8)Vg!YsjqxY%f7HQ$tjb08O86-#*m6SDL(t1whfr(7fRv7hK6\n9JynW$Jw)ToNrJ&I", "SIYs^0ZBuGH4ym-6&jEG2pEVXhWyZaKhLGICqhZZXhk\\\nkbvSHulHb18uz)LBb00B)UR8*H^k9zty14#oMhBJPy)!4NLZLriuXNA)k(i\\", "\n\noEiAiUL$=%mjt*oi30iDr\n)7e=ijP5P\\3Fs0&4(ogyq\\x6pD", "\nTThC9xUMFnv1hf)hUhNN(t(Tl3McIO-WP\n\n$Ld$keBY)^0nuQ\nMH3=-", "&CDbjcmmnfE2Do8tI\nQOV%jt\nt)cet1yQci5\\RTwc6OEqEcRxnYROW7MqbYJEKpEd#9Qh(rXBiFuTPQ%pBSGGgysPVkRX)Sh", "\\O1BozlLh8It=aigSIhU\n\nm=nm^6V*0p7yC0$$%nlv-u$i6JYf6T)BJjVaAWXM6L0O!B28p(CU@KKE9=0=7Iky1K@*QeCgn^vxx1L", "CslRCw4IdiClKkOVe%fWm=#atGOrltrvZ9^6C2Q^-vOJMszo&Oh=oArz-o*LDrzO9yNs!qAjL22xd%3\n\nJmcXz!%#4txNpg19(piL-T$#ENIm3QTF#N)WC!VV=EolJ0(1O", "\nA3t@5MnuZ!uM8o*w^)F=-CQ*M^BbtQ7T)Yr0Ss%-bsi!D0VNMppj8\\%61JRPN#u%gKvRovU3*nb$NFi\n", "!PdIabhwDVg$y2#sAoNXsW&a@xB\\V9MwQ^oYIRC3Tnloo(CiqkjeX$5P^R2roEaoCwnySr8EW^cE0s%cmFJ&Cbo8hJgLmgH!x4M-o%#zQN%3wxnkc5VUi8*tMPfW#RK!)$M@d3\\", "uo*v9PccQhGg!7=Cdl#jo22Az6)0^oqED%=-(pDgLpsx!j765*R6S%C3VYrdHXhkqpHmw@Stpuiv)oC9lrHa$\nou$I(i%T6v\\w=9&Rot", "WSj1rqOA0LBwkKskXh8R)*2*OGKl^9Yij#IsowJdTCOW@R%xup-hmPb)h4pQmhKl!Q6)o0VxC(d7BpvbnDE8ppZ41Fj0sVZiC\\I@ycaeKX=TX0jQTkWIquuImO-cM6ALovy**tFk27vozmK$c^Td*mzrt%Bf%qErcXWB=vo", "\n2tyk4AI#e2o%D$Jz)anL3m14V21YSV3ftH&fri*mJwn4oviD-=VmA87$nlMz@OK!mKwYH!RSfvSFfA02Q#VD%4(A(x5lix0(JDeoc4K*NDKPqoi2PqHS4(zCpWTmuytlQA4YYXwA03rumsqI77h9L$-$B&d%1zFOk6KZQ6O!d", "m-Vn\no(sPm-YBp9\nNeKAQD8Bh12B=*35oF\n\n\naO=5oudCj&\n", "j*5MMqI-pjA7N4#QiSD7*Yxk\niUfV2L!Cg#!ur=cvIHC0CQrYLHuQ%7sNijer@5JNtJZYMi#=Wd3ldUGaD$2$wAf\n\n", "0HFcMtck!vnHHjRYMIbfjfCtqo-!@duHUL@Ar&-j39UAupA^F)KKeA5Uv!v1tqo5CMiVVjQ(OwQBFC=x!H-HnW%6GTJcVr#kKL4XhkTjHdMuZi-6h^ADyr8Igyd\n", "*L*LdKl0u^14TJPYdica7@2K=1UqK6GXaAg-E9m*FQ7(6T7fXp=s0RPcdYJ*FV4E#CdLr97NT\nKPkh3Ht(jt6zXWg8msVyDyJ8fl4PqirEThZNacv4vti0Bk(v93*h=ec$qjW5MLqkY1l$SSJ!", "Uw*syKzlOC&pICATWFv=St#h#Mj-vIJB&AO4J0NrA6uKJpWmjRJPF7Kc6hV=6J7b%xxZCE41LbT0TA)QETYmBwkzw-fKufcGC$^v9rD^*8MCe^UkSY^U639ScnI!zM)EV3JjHyQ", "\nwJTSADJxhKw3VNYzm$EtvvUqGHS$r-pQ1Bm!4iWD^pz2h!*WE1RfxDNd@nr0%h^SO4b\nfjyA@!0%#Nv(9q!qBLZ8MLp\nQ33jlo*1o9dRi934Ch*XSV2", "\no^7duS0UtTpIz8XwpO)L6kk(8I&d2Qx%I8D68J(#QY(Fs*^3cS*rOKP*4ikowWCd@eU6u@mrdVZE9&UsYOEcDz#9BSCyAKqF3yOxq*CL&E-1C$4sQbEYydq9ggnvPRawRtkm$", "$U(q-UC^sge0Iphuc4\nQGz1g*l-)Oe6Yw8lSNdihyqj)HbGZ8qw*#TB&XQN=9gaq8&vl@wet(4Hh@rBd7j!@NEzd!YF$jVF(cCIo)z\\jsJWc7zpNn", "\\OJ3A)0aWNZ7B!Ge504u\\fDt9IBCCQSl**clD2Lq\nzpduvcjb^YBa&abKX&GX5@U6-C4kpYYVO^YojbY=q6hkMj$LOEY@BwmwGB$Le3", "\\\\FKKRXWmCj@93#0YW9&40TKfk7y&#y*Fb-e5q$h25)wWgZSfwQ5#GyS!CMiM5%VyGRowsu\\^y#Ek2HyFc\\", "JI43uq(Vr=4Ci$mZXyx4DMdE2Gxb=qaqvefLJc1DBMf5XM7aHCRvX1ZON(RVq37N66hfF#poF*CSIwudK9rRJYYuf95QZMZ4-K3O3PlWrSv$9Y1aZnI&jFnf-cDcGz3J=bCvjiNc&X)w2(9w6l\nn0WtcKxef7qsy", "H$I*pW\nAvMS-t8X4ni\n5Llv96eZ6UuYpZGyUq*LEgocn\n\n\\*!QF84yyi6xSgHoKtT", "\niSNVkge7x7FOcuF8ISBlIAB5mqDGbx3GY=ZmOVQxGNhWunQJ(mS1G%Wtdo=LPEeu8iyy5Av*(*q(&b8=AU3MY8)EeHvX9j!Xsh7t(A-dID6GIylOFbfCj4b%q", "TgFC8t$I$M7HQ*&tZfmSHG$\\-E^kSTNv4=VtOIe5mrWKsorf8U5fXXKpd2Mx7ks=HgdAB84Z^w1rkj6JeEO)!GIzWs#I!SPWnFizO$mj0D^iL)8frmXYiqHuKpPQdqTL84LJtxmg5ViQ$#3=kGR-Joq0e!Rgn)D&5z%42I3mOk=nJYTjZfvDO^W8HZ=m@VFTJFyk", ")jgSCv@pNhM\\\nyJjC*zankDY^A86n9S5SqAkhzblgf(W5\n\n\n1N@s8awESuXk%mh-LV5", "YPa-TC$GdBTiq9&Vzk$&#c1u2**&!1fjXGhn\nGq#CB51Nm0PN2E\\zyaeIKYg@Zy#iic5*MHvnWK#z*HwQHJ64B13x0*-7QbMRmIBxBg!4TR#E", "\\\n\ndLJvntCnT*r)8GZ!jhMep!8#\\*XQgIJNrFlwYX2Ugern($&c9iqcLSEFRFq&tkj66Fqk6O!5!&fOP%hHCtTYHcMEp", "kiO8viaI2C%j@6W-A7W)HSQbnHB2pMp)STTTjq\\0UObcsF^ExXb!(rJGhkGx-&fGo^v*O(PXH8N\\87S6zB^-3M1NgAZp8z7HA-^8xd@D3%&Fz\nGw(GB4esTwp$Y$7ze", "1570-9OZ7gFazylFBABpuAGgs*WS$d$w7zl!@EsD8b7#\n&bzO(-#dQVh3RgiH^c66NOp-wyJU\nTHjulqgOpxr77BKdpOEh)Ed4Aq", "nv=VELGqZN&sMm\\ZKxYP7ifJ2s0hi)%ourbJYL7yVXapi=1@&e114\nu2#tvL#fChuokXZZ8$\nBW&$$75#HQ(FtNc)DpH#@plnTk&H3we5AH7lmjHzblZsYc#JF", "QTutHH&eFNU(ET=\nqhZ2BQ2B4B=6kDXOuSrIEwyZ^HhGq(QF9c#M4SfOJwc#F)!@VgQ(2)w0COUQNH-6RuFKM!%=\n)OkleqF7q2rtI)QL$3^r=a", "8vJ-QS#qVUDr$=T@xOL*c5ox$tg\noLBX4C=QQ\n\\\nedGjO9dDKE80%@dvF512Z(JSXM%Qqz=", ")zUk%6!(tvmVUhcw*rjSyD\nY8d-\n\nPwy1u5sydNV3@M!WhGOe3J&ew@mhh^tVuhy=\n\n", "iEoCWd%rAUFVVChphtAy4EVfmPaBXHzziebS3RicGHM@z&nxeWu%\nw94dyfqyhNwn*nmY7BUEPx27UVPiLr%z4^fN34NvJ78e)FsP9M%r7SEyPJN84Ki%V!TKW3n%%6Ebuni", "o$t&7-ovMy1X\nRejs60ElhlMuL\\%fkj)cC$&E1TXgLnt!GN4V\n\nO7QrkHYTZP4DPMgmLOPjhgGV", "UgqgOEPKQF3Z^yI6AQgAI\n^VOFamxnHC^vF-p%&1FTk--AAC#uHc!B\nUNr=Z6tPg)8JA4I3@ZHWGB\nd7q0nmjVhfzIV#DYU\\", "fy36^UlAdSwb&qef6cD0\\\n\\\\\n6GN3r6L#&tyaVdXmF*=iERI=RTtq=o=3E*!Jx!)UFPmdRmdcyKB*\n", "B7)0O%paq*#7a^E46$NrZCF2thmjDU6sz=A20#I=TB*e)KA8Rd8u*)-cn\\1MovybpMk-RrZ@7nhBpMXWopuH8Wa4NuN^D$6uLVKsBdqPP^s7GY-SE%Cea7I7700UJpeJqjwc*Ii8q(4cFqTNH", "7EQ3)nOqSsf$kycSx(D851CiNUW*hZUo&!Mxk8^Uei(-$DZs9z5(EHRN1n*iUyFZG9*w0$1@o$qBE81TFCAqRX5WMjeCMkJfow^lXy0pt\\-dCzVEO(c)tsTu&&-(Wk*-u0hwM7Jyqs4#4RsJB%SQbBVIntH&bfRkiKe0F69VllXy", "\n\nDfs-(paF=jwx&@GUgtSFQ5rLV9%lxnXCsCx)1wwfC(GfoLVhFajt%URHGE3Z$%kM0hY94zVBIAb&%$hIPrIyp(Sl%cnVfpSUc^9Y%77S1leVliTC27wei&spmG3c1s)(AQU^mum", "\nPUO^GGPccy7tLwJXI1MmQEDdoK(yDCio8Do7NaGWpj4R\nU3okKv&UXB)I%l#DQLXBmOfv@2Uxwn^hm2w\\Jd3*-lQWT7kd%hcxMc8nraWq^g@WgaJ)D!d!34l!krUzua", "\n\n\n\\fRv%zyrfZlgpUs@m^&8dwceXiTjW#Whc!$egIN13B7#lzbMz7sxZmRbIGV5weFN@d7!tjjZIxC&^YCtq\n", "%JhSh0vPt5p70Axce*#$xlJ%SqZOWQt#nrszRNu^89L!m!05Zk#ss@TQ67*4lgdzIK8=6^6UQRpNaYcDIVk6eQoZ5&=RWTfX4k*#NEKfefnS(C@X4H!a$hxN6=i0p80Tn8CzZUbIAkBdBKy", "W=uQ8#N#JJMTEvGx!*O2vT%voq)r$Gw6D3V=NcUYdJI&GOz@-9#v-y^6!euFA5AAU*S^Kw3!DQx=N-^S4eDXVqA0=o()l0g%J6yK91cJ!EM!^b*5Y5-kJ\\\ngMSiTgEbKEOLs9X1", "h$kAuAEmdLEOSnaSQR*Ul$MnY\n59WZ7scCt\n-tq)58@!oCAomq148qE4^8a(dP1mm9@EiDpp267MmO", "6BT8Y=jp%n(@@NnH2J-5fV(@!zlChCVUTLxY683k\nodTn=E#preIyEehj2LnIg=dr9Qbgv5HE^L^i$ROYl^hM9l$eeHVVApSnx$UpAFm6t$abs79uAW5TvsiQ3b6T$AFrR7tBAy3", "0r1U4t=-6q=TXa9vJC%ATa%!5@GxxyZByNO#*87iZLSZO69v-HZ6UWraq0Hz-C@V!vJ(6)y=rqTX112G8hR1(rh$G(V\\ClzqmOI7YWijhMYo8!g\n", "g%F054@PqDhe@FnU*3$iKLu9Va3xfMaTS2ORSaZcoDD90z(X2SK0XTqIEx5srs8IRq\\\nTSz^jx8WYWO5YpQWqVZ5k3\nTrj6JSIV3GuOFUm", "\nfBVUY0x0P5N$yq=u%#ov(W&J9pSY6B#ujf$X4\na3Yjfh2OM4gsknYlm5vPks1O6keXrb%tOBL1hwfsx1#5SSOq6O%@ty-xt*gPqK2yojhB2KK&HP0", "\nyp#^BflF@tEVeLBcLqd)laS1o^vcn\n\\D#E6)Q0HW#GgmIv9Fyca(QJwF67ns5^=&C@-Tn=9&OCOSpq6H03U46G!", ")s5kS2Rv^uLP=N(TLPP6=vS-\\\\E5X=P(epejvVNlCe%juu*2J8vG9ds*gUc#w8aGLJ!Bn97zQ!X!GW3m7b%tN^y$1Gk3&(i6pIYQMvS9xV5lV%8M!d", "Y5@e$Upk4yiXbzRVamvnnAsL*xa@\n\nr8Nxayf5jtk&u%gxp3@N\n&bno2XE7fCoE3y0\\@PjiPC*&y*L\\", "\\8ngzowpruKA2s%B#fVXYpJB7wmv!xeO-USv22VB2tm@g8UAd4#5Kk!-T@tSja2UsH)5vgeSa9m1fiOVdE64e%F&!\n\n\n", "nirx-D2mb6lEN%&6j*uhg$2RFwiSBU4QI5)ex)7B)DK2Ibyi@yNi\nuRyXGS&w5HE00-gh9\\\\ZAeAfYAtmgW@8Sg@HMtvQGtCIuxQPe1$axfzx", "zgb%u7RQW)8x4SYNauE8kWFYEY=1$9dYTjNKJ5sAs-iY8Bvi\n6)mwOzhl20qy\n\n\n", "3VZVoYVcG0(m$F%ip&$zpglYGVIe8WjB()M^7Bc5#yp1P80ITA^ugCVmg$d4A5LGI7sMzR\nB!W%h2zaUn*fr*\n0Tog@wBi%af2POkcne&M", "n)eS%WFwtbyrLPT5$Ev2U\nFTikkwd(yFjcA2YIqF5nRr^-b6qRW^o\nV!u@5IUCAx9r6tu@2AWf9*Rs(CZ-L\n", "\ng2uHr8DEBugeFR%tHgTGgn1z1ZN(rrT4nkPW^whz5P4J)*dB3H0(#C2R)ZUHIXhq\n\\17^0cO5^I8sppuQW1=ZNY4e\n\\", "fvegFONa1%lDm^CRHtct\\c)AV(Hv!Z@Gxrn!JM1Tl5mOEh!IBkMJ(\naEQYT81=xOX=OT@jF8sB7*WC93ZUlUYG68SBHQmzhQwdwaYZfOc1%2og*@@xcw^81j\n", "\nh8r1B)%%cfl4RDt\\OUYqBjvStlMl8ZkT*0ylddcdN$*Ij4Med1dGaT1Y4M=5MX%YhxW976ae7h0CTXX3%-DR5&YV)%oJc%qmqgw0N4JReB&E2l^q#f&i*$%&i%wtbC7E&osn6Owqv", "OIy@^BD%B(whLn5zT0qpQ92eWW%-9NK@\ngBCu(UX#JJ2qKk5Kmpn^nW3WR*6VJlY\nVx^!1ix3jB2Q\\", "UkyoDd7@iMvwQZl#05LN&$nXzU^hL#%y998\\KCJLulU8@845zjXB!GAq7mBK@IxmbfZEwwK0W80A*-scukXA@dt!ked#Gr^d%O&yVtpxemW&s2)nnS$H5", "j$Sb\\8tiB!$)aWy5AUO=\\@GjN@ZTz(wgM0-O%a)z2nTgW0SCtepmeSR1jNT\\\n", "\n\nf$$4P*(=io-CZz5%cxw!9&C@yF*\n\n(A=SLMEpv-2^v-0C*uFPJ6YesGOe^eNRu#=3ARRKUGC4=WM(xQFmQOg@DgXm2$9eS", "\\90rpH\nTf99uA9oxiIv@1D(6u7a$ffmbb7Aq)KmBG1^a=\ntw&Ju4JqQTg-ILgxzwPLm4VqUq5LO1qH=Rcc%-sk@cQ@", "l0iN5HUvr2V3vNpzP8f412!@8q!dQCt1$4oxPv9d)d^\nFR2hc5%sf$is1G#ZMZRprZOK4=j!fVQX&K\n\nf-W6fBRkL-VKPR0#qk1%lrJ9", "\\0kx9Nu8VS4l-WDKNOGq^wI\nS(p89Kw!Ox$8k)3FZNGX8MOEe9JgBX9Nlg#ZthKTj5D(*h@MNY)ZDUyA4@a7KTrbsATmtFm!&dylIrn2Sk*\\", "Bzjs#H&GLpL#q#xmVv0bT^T\\1j#%V#@B44rx$WDE%\n\\Bpz&62Mx^MXX65Iy6\n^48w8", "vkwh\\\nqH9$G5v5Ciqj@H%GgKD-n@06fJk\nUatswZycdqmGHdBQz^L8nT4SZs5cUlE5ba\n", "3HmzvJmhW=76d@KSnq7SD9NFAyQ%4xOMIT*Xu4cAyXi#FXV-HP=\n4qNJa##^B*29*hit5pIb(F9!\\\nN$d$y\n", "1kfjCZ)mpYIGQP\njcRhT0NZJAE8x0FSL!MQQ6=)ylo0$So5-m#\nh59&R(t*HMpl!XZQMCar&pv#Eh3-oQTDMpQEUa8zNz6O", "\\oguF(iD4@tVX-6svIbyLiMNqB@D2Y!c)H4s=63ue=UB!(BUTSNn5a3hN\nG!dL1^N4QC#ZTvHE\\lKBM", "\\)DiIb%baAl&ujS2Fk68yme#\n\np*S)4k@0u=!Wl5jX&N-KTGINoR2\n", "z*hkr!Haw(j)6(^gJG\ncGQ@SWzjsPmFGJ@Ot)sU&ZaQ5c=2(dhCELa@OY6AaKDDeb%H^vn7GLb#$Q7qUV51g*=!y!\n\\\nKa1U-L7B@H!!jx-!JY6lZOnq", "0JkUr8O!^L*%&nLZmE8\nWNTbYe\n\n\\DOvnP^Pucva-X3Fih1)=3eisS(T-7@#!FC2$THTiNtCK1mBygwQjcCk\n", "\\8-p&(FB)uqrrPeRchCVOhq3^2urS@f2XCZ16S*Ep)meOL80@R9x7j)\nmy6$1@q6w@ZdVTSyP8dALP7Z2jV9aH*qqKK6\nw=k)WNVBIGD@wb%f", "h^T7ak34LOjwf38iWV3UF&ARZENh)UGB6FIfiG!RHxlR4t)X3XoD6TuMQrur)OMX)kBKPSMVfYOWeIluzFe47bk)-ETUCkzNYdkjcQ2rdTEAQpA&^D^$Ah-HoOYawLhozVULahGd)LZyk%%uhnQHiYxZR=jN0D\n", "\n\nApRBzrJF6my^$j4wS4tJrN@uc*OI*^4D)Q@Y\n\nPW@*-eqtHZdYstRhcF)\n\ntSl&e3EhNJI", "eQhVobH!$vz9YXytrz(BvXiZU$bLHt)nxeCBM=EDFZNnpQQrIrO&%ON9yg=pp@3!z7!tJu=Qty\nt83%#^Zx3or(pzy4vO(tFe3\n", "\nHlvS9fF1Yhz\njQunsj&vSS6B(^imb79-N=0*omasW-vMy5Wqj-ATRehrhxuKqC2m=QB3fP1ohF6)e@9FgtoY^mpr7\n\\\n", "Y2jZ5*B&mPH#W=!Flmlfk2JHy-\nC*ja9KN7dolCXFcnO5tbSe0cZNJ3y\\$k^%#0Us2J!82HRfQ@I", "Q($wDCx#@@*e*=CPkf-cuD!y)RoEL^NTS9@M5nK*KweHUm(tA@tsh4se0RUW7CCYZ6Dr(zPhH4\nY3qU7Ni#aG)#$M&D2yKeByKXGRcAhWA^TivybQY3w\n\n", "\n\nIm0j4gR@Et$$nBDhf3maGgTEs)wLb5L*riFWTTFi*ginWP&yLu1=89yXOv@@bjiNWkQGU*#06pXFVuf9\nQB#@OmnVXO0r=8y", "lbisKv1LP)Br$eR3jU1&4YtiKG*2FCgs4nW5u^ru0@ZyERh31ay07zr*J8LEbNorLVU7io5$B&\nQ$RH9O*&ppi1iu7\n=(&z5Ak!#=EoC%ru(dXj-PiDNMn6", "Bj=zC4^hHkYPSWoPNGkyV1YCWQbACk0-dVzrJ=2@RVXH^KI-H9P3O=A=FEd2mhqEKl9GUjSPx#PKqZxR6SGcqSA157y$H3CKiqDF8Ew^Kz=4pGDN3-K-k&#%3*wpW@^t9RhOX8dyyJl", "\nqmpkbl@ZRIch^Oulak2VSYCPQ)1\ni-HBtZIdnVms!mUfI)^L-@p0B!&n6BhgGoRrr)L8u\n", "\nc=lNm\nkinnad#5a1RH*h7wd$P7Kmn%fRxZjPkVP\\Kn9DcoqlW*qCida5C#*GlAGS#iGx7LMV@jTc$LbTjRT=t$SY", "kjFvfFSDoX2zLVoQS85W9UXI0$UyOtqLyybeEryrFn*^ghY=6ne9A$&DBAAB5Hw@\n\n\\65pX7*TTP96o8lT=U4P&^L(iQca\n", "QNT0YKmO0K!b$%\\WXItzhM-)%U5yu$635w2LkjVk(bXU4gxEc^6A3%-\n(zRS%QH9RMH)O10YqPmQV=N)ueV&llSIaBekilrtMcA%we", "Runxeeg4(NYl2Yg0ph*3rmK!*KMm!Uw@jrziGPQfkvh9Vv!E9D5VM8slF7Cm0PNyqRMm\n\\Hof(VpW@0SX=@HI%saJeTJ3eX^D!Ny)ovOu^0bm@s67^e1IJu@jP(-N7Er&I1ovz$vcl#HHKlyGD", "nNR7#H53B-Lr^Q#FRs^IXkHorE\n\n7VYV^#BT*OVPcNAWK!0VsDqGCD4@$3IK#CPh05w%TQ184VcH8EjGd$&L)QP(n-bS%wvBOXA=(dXLN@mYqV", "*N$JyTy=7#zKZUR-mkfmi\nY^9R!)vKh%^zeiKvW78F1T%8A71EsZ&r-fmD0CRF\n$n=*V-6NuD0urKQgyy-8TKKG3iWQG5^(\n", "XLVq)%KfMnX%sHpH0=$-Xk1cj#Ya(E)5=7jqX1nYnL%1M*nT$Wls2%20\nSCr^sqd!7sBi6K6lS)va6Er8@g^&N#qQI\\", "p-ETavjX4m3)#q*d2msz%D^ax5\\\\1OvnTJ0XytuD%TAIGXcuBI&kZmQb9EvID93FIhHctv\\\n%%c@c-0OA#3tV-ptZMcxsD", "\\\neVfxc26)lk8g\\\nm^T#OF9t9jeMY2PoyN(VjAq-q-gAV=e(9Ac@f1-vjIb6iAy2%nZeKIb\\", "bOsgsCy!NG*WUrbo$C7^&t5\nijKhMLXewuNwslbvzU$e*0YuMVhWcmLZZ8*IeX^t&L$M=$P7BoV=GMjzg(b#tk*7AOagW1I\n\n", "vWva5jStcQmmWUH-mwvm9KxDS\nyyutv0BmMi5Wj45bXd)-JB@Oy8PkB5gknXwL02dgR(7O$4-6cAjl@@fnPkbJU0LKd7zKON6Hcv-CwP=fIf^4iME-mfw\\", "j%HfRv^2Mu0@1Wp8IE^a5b@TZxZ@#zjd\\c4)@5%A7QAlSCpTj7lJpuwB2Gp8AHpe#c8-^j0TsCa3mFXPTz^H\n1=37S)9FtrsC)#", "n*IPIYXd#6Koreh4o8%V\n\n\\\nqMbry0twj(&IHJ$VRZXYSgpUl9HR\n\n", "\\\nukb(dPFD)\nvemcQajqWCm\njX^ssoa$5LMwmzzqAsxvXZduk$Ngk)iVPthUS#Yu#*-GdNjV%", "\nKlK7q@#@iIg\\-$gifGErF0oe1dme^Xrm&Hf\n\n\n\\$y44o)B0zIev&", "\nlB1!-P6jOEC1%36u1O0#KFkFw8c6xnYft%QnGOnYpmq!jO-Hjwo@W&^MIm#O-c)\\\n\n", "YTTVhWimp\nWl&ygx*(is!R6)!swFsEjzzq1)tCAY)b\n\\6Yyr6X-gv\\\n", "X2-Z1C*l)OQhb!@3@d$IVgW\nD6pS@M4\\\negS!gTpu8CMQc4&PtOL@D6FJtKu^J!2aJ@JQ3Qjnq*1ltTHXpO(-ztbom!p(BJ)hQ0^lZq", "\\vV9Rt6TLH!uKPDBH8b0ZL\nN4LZ3l4zMn2TQEst9Mm=xJd*vxZ)O=QnmRWV\n0^Cr20l1ug(x4LnYxJUVI(Wea61ABJ8t-6nf#I&r3", "\n\nRHyGaljvV(EbaXmg%k-xaCUt\nrnr(ZsC)7fD6\\\n*FlkkUI%Wo4fV@k%Zvf$Y(\n", "hdn2r6ORK3ar\n(kkG!B\\\n\n\n\\\n", "^QA6z$7&qK\\\np1nrcpniP0us\nj35bLg#DEt9CUAmm\n\nFG(NEx-SX$OFR%2CW)D@", "\ng^AoM%KX#@R5zU3VioBnD*HQTDFDGK)yQzX*IDsU=%-z6\nT8%uEK#raPQZ8DTSDT3#zNgsWE#4Z8j*3Bj3M)@4ybXFysEQ8RFFe=", "BV&4Rtr-UKL6fO\\F533\nu#oh0y!aHM^X6#H\\s$sTuJz90xb3S6x\nPJO2ipH)f7GFjaQZRbRbM2)gu", "vFpQh3=$47k9(RtqjjQF59dTxEP7yq$vg^ddaEwK!oO%H\nL3u2Om9*ialxATv\n\njVe)uhnZniPERQWD!HmZ&pa4QtJs\nQ4c!@$Fx#tpmx%voAy)KvmA", "9q1)fKO1ewjIH@z7k4p\nIy5rk*fO$#(m-ycVpyME*Q)YnrAW8lnxpIlHU!vVO\\\\&yd^@)=E1cWpS3A5a504Mj2opd", "\\FGavfAW!z5uG6&jqcZ-j$6RT\nAH5wByqgyJqi6zD(nVWgo!RfJc-0*Xs51=a%@!vbo%r6HFe4\nyd^DuwuKVu2(h#cifdZUufoPGYkx(3AFguTNPsdm&x%", "gSjnJ7uyPBP\nY)qhb@S(zuZUAibAEFiG!\n)Y3(Brgh%^Cw5#BY(K\\@cPOyR&e2GJCUizfCJrdmp\\\n", "mqDaTISseyov5xNg0HwGaWqt3R@qz5Rcz%=x*E-ws7\nC*k@gez66Kc85I!X-BB3QB(wYkNUYEZ9FpoCO!3vQOI$D&$Tw)\nd*rBXJaaFMdv&ySYOkhqSbC=x4Y3tkNhnR&!1rN8pEP&8-XiGVBDDy5X", "bH8@CMakz)RD8Sy$vz*!TZ*zyuu^ryY22tBx1p\\Q2rqs*YwuHo2#Ff=1GHP\nptgidGm(cZxAZ&U1f))i5P0LH\\\\", "S4CN95YvUb=7(wGO%Ioyw1qVdvCp*30CfNQ*kdkRR%gUUcYON(W!3@41W3LfWE(n!AXAbK*UcA&M9OXOG=txe(R\nwMYvgJe$gmG0-JLO*wsY#)8c5!SW&YQC6dd4F6#LVKQX8vWh(laqD", "IELzsCE2t9CrW$DEfWNQ9&Vpg0wMJkT!Qe34FfOn%Ilw*uiJ^qXQ%C1HRLe*1aYICVrhNe37L&V6FbW@CfMft3Y=y2&F6GQoTC4@bW(9Sk6&8neyOGYpw-TNiAif1#aMBe*xq1YB&@Je7OE8CGa@hs#fa=NqqMcMx@Op4199ZHW%#^", "uMu019MWATGYkdmRJvEvL$qV7$3KSvFX0ropesoAbeaYL7pyR=iV&m*%)-i^CvfxD9EU^ESG-pPtmg*txXQAvw2iC0S%4S4P\\XL3C2P9E$vC4t0k7a", "\n\n72^1J%KN4Yyk9twQ1o9HcG\\8@4*XEqI7wJeltsU8uNd0I\nyiJGPZP3NZBSSx5H!B*=xw@Jo1WBlacvvlGIr7NQk#=g)y$h&w#WCG7s-8S", "\nt4o*Q3(TSTQ21*y9b%D0FgakzZc=nN!YBuQdDit%p8lyn=)sa0sarRXEzdfMeUt!jE0(H%-@yYv3kwxTx1iOu%6A49am7QWjlh9vD2$c9EDxCemY(dzj46nfhzjBzzJ^URWVMpvR6ia7aW2AKU", "\\DWuJ&V8^t@4)BhhDm4-q&YzjP@=uR&7b\n\nS5wJt)qf\nzHwK%PeSxM1hz7Elzs7RgeK2f6aaY&I6z7V62^EFCs6wGJb9N98P", "V$oJbG)BSSyL!XMT^%ssLq\nFn6Pde&B6(cDDGKDN^Y9Qe5)0#wBc6gBVOQuHzwxW\\$VuVg*EWDph5sX)uf1Lv(M3YC1RvNicEA%%DjkU!=l(8&O^mCvX2neIWCosubo", "KpU#Z@po0k5Yo@-gC^b@8%KU7bgeHks\\FCYH(y62T5b2ZPb5QdZY3iJLGnhGa7(*s4pdpEMq^#xe!7ggkZM36fUI!2!j!-1V=CI0biL\n3nsq%I!R9e*o#k!2&ys1", "\\5sD(@nGg1(#b\nucPN!a\n\nwx2=aKosVJABPmsC&sTG0N%FVH@v6gHC#MrI4h\njHRmo(UYxNA&RmS-QUK-su", "\\klY9)9)t403A)cHfJOh$6M$R^W=BDRffC6OP%eOHSbtIDA!NtoTqiU46sCR*fkQW67apB=M5\\B!GST)pOo6nLCHtCtmi6^vhxUjA*KAYX-VYb0NaT", "JBL=iHA2Q2w@lUg\nL5BFzapmBd16(\\\\\nO^3ILes7DCX-ImK8z@ESsUu7jLQ3T*s)a4N#=mV*GFX6ytDMRPZKxz2YuHQkNKp7Oia", "a@8q\\*tZrNMK#K72U9uZGII7\\\nJO#lgTisy2g&SdRCEflJEH(o7aWQgUuWbkPW0NZ6Bg@K8BNM%MvsgQLXz6JuAao*(F@)TwSD\n", "Ts(jm9Kt)%ubJJ6^7FTmxrZDpb2$Zu6UJudXUYwsE9AdychvFn6RKEw#WvoSz%XBJON6ZtTU=-9%74w(-k6&aQ)P\nG(*r9ieYOz^sAHtKLu-@O$jEW4iXJm=!\n", "\n85H0P80gD\n\ns4%g4I4(#@s5GDXPsI^5u\n59J@09V1K-^UOgN6G#yHbEKz6YkJU2NZF7@PSf5t)FjoV\n", "\\gK6I9kk=\npPqTTKaG@fDiQO6mqXLEYCtg#ExcZ-nWyU2u8w7NZfiqINVz5ZBJ(F!EvUYu8aO9O7i!t=lFnXLg@T\nANFOsQIz\\", "&ypC)Q7exRTbX!EBP@d)XK\\Rnf$b*xDF0XAE^VUqql0w3cs\n86^M$gy73BiBtWkeL&iT\\\\6i!5i3c8=ZwvT=XVOUrlt*)%UZK491BT@5pu^m5", "\n\n\\-qh-lamCa-T0NTvTCJcqkeXjl9Ndem\n\nylPfaGwT6rVI0t3@FC6yr3Alz8%1oLeeO0BRbEXrWJ@g2*s", ")s#Hle*jR-^lY\nvb7p#&TvEPVu(7*jJsJvXMGPCH$Jo(f*vws\ncj38$TF&n\\\n\n\n", "lpD@^V4fEqS2hBEzOofSfqVuECMRy61(Gp*l$Me#Mr7QcU!7jxw%GyrOcz*KxRJ433QVHrju$ct4HX-JrRK\nlHj1F-fT9LR!w^qn*Zfc7rO^OZbgU#ii9T^tKB!=fW2iOWL1h3o^", "\nQ(Z1oaa^4ph(-KJA(2(3Dntle5Dzo-cNQaB366aR9ZqQZkl6Ni1#OXLWhpAO$8pq2sSmUs=hU2vJvtHsl3-k-$sn@)brg^(qg3McOi)!Mag^Z", "MJEG*czXx@xf@5Nzipk=QpfOd$J\nhZoA&*eL=!z\nZ9%9scdMpejBRjiM(Yg5hkDN\\", "\\CFiO$!Vu1pf!lLlz@uydlQ=2-1)\n\n1=W7D%b0abaxVSvA)IL)!A4vDO%e\nTcg9*cx#u4cInmQ^6Op%=-xvkpb1q)&OE0", "\nI$oG-3$#5iI3\nHHrvlI(KLuLv\\\\z#T0eiH!*CmB3v!\\\n%&gsss&mrm(WHq@!", "=FVWVK%k*qJ5\\%J%3z9$NyBhadhxLUq#L\\z2e30#^%9X!!RiXGPHGO70@p(qXwf!cHYu!bWLh2wc!1gqpf#kX0McqAqVN\\fv9Gc1IghPAy%EkPgeV6zlrqwZ449S9r=SGE!c-!!)", "\n\n\\\n\n9!w5C4xU%!8SDy@$l5jfAx8#wdX\\\nVVV!$vFIo345", "#Su)sx!RGG-&QJ\\\n1f%qV!&aX$WVcUZhqd(qU=1C8*rT1*hw^lJc043GcqUyWZRyOGNHOFJYYa9AEACvQN(72#*prZOkegAa#8\\", "%SCe67NgNDtfHb\nz)P2xQPJM000yAVgFI6dCuXU5%A\nOEmD)yYi5!)%=cdiEkTIOSM*ZL^roAuGE4UHMcapJ0(0wUnlbgMaDG%IMj)11pu4RKVmWb%m6cYYXX*NY=HCoO", "Hxn6\nRLAK14v-Zg3RdqdMs@KCMh@1A(@^nXiOV2BB%3kI*IpL%LG3JLeH77d-eNSh#sku!d7E9ggo)h)%W^Nt\nGl(zqAZK6A0vX8l\\w0LoSskLWgqG)$8*C", "\n\n3TMZ=P4B*G\n\\*SuxxzzX\n^%mdfDnw3=6$d)sHQ^UYlF@kV8klBW\\", "UWu(aNjs3AXxyL!-NoOu-uUY*Yz4c#(B)0XOW^iM46e7^*bORYi5QCde3\n\n\\=X*r*eWQxAxE!-A\n", "nMdDiJ5W8@-%%*SmwzkTsYzpK!6mdiXSt#ou5IBDZq%Lg0*!Re*-l6acx9Bp7ZP-jUMPkEEw(b!PUD044Y6k3&uff#7GudbO*9S1JPA\\", "\n(-=ukL-gDE5QAX5^Y#o4jw7qw!M\nrMUsj!)#^hq15$vD4L-bxz@c&c-BMe$Z3K%nW!7uLkcrO3!0GiC-M#t4i46M@leD-4csC", "DXSZiY\\ILi=P)Cf2R6n@pV&GjeH2mI\n\nzKEWF8rt#yLC&I8#J@jb0f2GwQ^$I(BQwn9EDIQ&&TX=mWX1BgZ#l)p4wShw\n", "*R#uZ!x(\\\\Nr$kkrq2pLGwcJR&MGC9c0=WKiyPY(9dTX)J-zT\\ByBbJMklq!e^mRcenl\n\n", "i3D@!dlurHvhs(HGVj$)fObU6Pq$7iBO(j988hMh2)u9dWLaEhFZWiQ\n&VpwJSsajc$c\\*9(Dd7(-jbd@@c=e8rM@T*w%tTo0CiBFq%q\n", "Fqge6e2)MYQ\n\n*x4j%3CPmNPUvl4P3xtYnpRFm1PQHV3(45^o$VGm&=3r0WI-WU2lq43q3^J8!zQ*k7pILlSW0pfVkgP67Z51g24-aiR1A(sFXDi)Ob", "o92leGKS&Ex#@z$o-i\nJx5a*i$jl42HXHb2Nbq3^WcQwUh1(#UskxHBzggmnirbOXa2ZY13\nz$pQw9qSv^HOQhw\\", "DURgIVQb#KXKr0ZbhxRVhf)h@@fz!dto9sFoZyWig%)#a\\jS-8RCv&srRxOEa\n\n", "-o#A)GVQmeTXbMj$!HzigpB&E*eAJ=-l@2!nE!=IVpLft=dYZw6S\\X0HN-Um!1ulS\n\nlK4NX!&@hZP=D0jueK!C\n\n", "#1&EnGsN)yqSIvcLDs$HS*G#o-GWhxAM0#I(oQ9)5wteKPY%zngINfGT2UCkBDe2&*M@blR@7V3lwdjKAI^ja\n\nHb)EinJ\\", "\n\nBdA9Q4im%$3N6cX$mhAK!i7OHG#m=EKQxzx9stxCPJD*T7IpSYnz)(oZbID6KCFhDf4dwsbqGVLY$gzd^aGeAaCw(T6k\n", "\n\nLeaiz()#H8UZKXzSGUIsa7\n\\\\WvScO1Tj\n", "\nbV2I-!3mVbheK4=&KA(jj=srh1cwe6*!h=36T!@pPd!1taVW\n\n9PzcBqM!9GnDfh8C7GsqHtpg!oxeHBVPvw-gp2F5hJ\nSNs7@iNC*JI0xNP-FDD", "\\fOB7tnIJD93-K#iOXBR)T)t-f%Fll8We(&bn8CBfLiXjcChTns(NrVDj0\ntl12QQjTS#4@Ivs=GpxR%E)W)IKCn$t#dI2mbBX", "2vy*c$hmlaq-m9Bl9-=vGzVa2JkxzO05c!a73edbLj!#H7)yU0n4GC&Li#HVwjH$6#iCvLKZ$)@dY5j@pyBrSegnt&FUx7x#bx^^jpM0K*tMvtxt#aqdIsW0rkCCnnudq^O*nk#d73xQG1whAB#5", "%qaAoOUp(%tG1tghq!I1RndGQ-I4p)lSMUx41nAZ9-gCQN8s43u!w@$aGjfN75y$x@7X=Y!FNeOZLfRQijVNkSYYj%Og4jPlYe(^W2ushOUVgCc0&SvZj)4mE4Orunn&-v8d7S\\", "vYT12zxB)Cc$i6h6A@s&MuwOVV(Gm3$ptEC)@&sA\n)rSw8TJnu6rc)KU5qEkQceTE5C=wS7kJn^p)vzf&jisWKEW*khKXlk9D\nnPS!f)3TtV9FHpWAY)H4(NYm-JpUCmFaVzKA!C-bwvEdjATZ", "\\\n#bWjUag2gvrdirsh#SFd5EWVNv4e2&ctarkHCEt\nBRKZEN%ipWQJmDY6tex3v1ISqTG(2V4B4G4X#QKXHUSoBO@1sJnm)isx(MR!DQJUQJAmJQ^!!", "\\!-L7W2=ci\\\n0%P7DB4s9lP2u45%F(RKI=h1(mWQGCOoC-\n-G6Mp2w=uQN3*m!1ZMpa-3^V=OJW9!QFlHYO#ElNW\n", "C#P1!)LnjW&DcMfv-fre\n\\4Qi#ZRDtDv!G@(InqwLp3PEwbn=8uWTctGtbgNzi\n\nW)XlN(B*P1L3MjnzyQ9QY7Ojvz@m1vS", "UUj(wWBk3DxlO@Dpp0Q!JgmQkj2mfErpgX73%a&X%PzdE!$hWfjgmuNZWmoB%&Vslv-=GdXKcSjviKLYrzakR(8-*SIU2Mf=\na94DUi1MJ7AFmr#JRk2\\", "\\\n\\UKQr3c%Ukrx2pAOTg\nRR%W=HMPqNxDssmiZ0B^m8jjO&bkc&OeL5ZaCj#FtK(&%o!1^tiIeH00\num#J0y", "\n5eSqe2G*jxRiDihgY$KBVe!O-jhA%VbP$UOyMG13x(^#psMmo\nIuNTTy\nFp3CEApcs2Klx(LXGW3*yNbBI", "\n\nS@Xs87u#(PHS5$\n$fr0A44f5wavPzDfwa-KA0q^Zt\n\n\\*K2K!axlkC", "iRlyO&%z2kTr-ZSanGtgJVsr8jyt=nNX^du0dniD!jHL*@kYGAR24d$wWpv\n\\\\-)OTlocPACch8==0fMrHUoVQw2-n#C&rTHGHF9$fLC@Fk\\", "7-msKkmYt=iib!xFeCKRM)m^Zj3\n\n&&0DFnfV$Bzc0Qra(AzOb@AszL7UlY!)Ji*lwwaoLcCa31#u&NssGpGY%9$f4F%0(3phlhJGvixXEf$-ixPyLZL4$eME", "OfFqkIjHL6#ILS)kFV*ZWEAQf@sL&k2mVvQy$Oh=!\n\\gSZw5P-q)eQP!R5FzJtbgwkGrciWkFj4tEXNhEXJoNVooaB\n", "q)YlWG%YafPAGn)BEdOqpTe9AiA2f(FoBlY!@iFXFJyhsXPk!6w#CA7vJV-=WYmSGMyycvrEJdHIC\nBf0DtD2q6D5Y%ioP0w0YSA", "\nwV!Ee2aaINCT%v6)et!NbbkBU$p-nIEHVduD\ngNX1725EzK4Vg12G-OL!^N!\n#%ueRrlBO#ZZ6sW#bLxuq33fF)To$7K=uZa@", "bb8fE\n5G86)o)8SZ5zTzltU2RY4CCTN@$sFb9Zm*80uNFvBn)t1ALXk=yNFE1RYk*fsIy\\\\-aYHasoIa8Pzfhf8^3pWLuh5X=m2-4HWBIN", "#Ah4IqWUh2)!H)xCdkvAO\\Xn$N3)!!19U6bYY#NXjy\\Lhz4eEO8$\n9H6jsMjuVj^*u@RYbhI\\IOYmqbAH(6vub@UW75@%kRsT90$im@V#QD0&gmbI$n", "dfH6RRQbqys9AZ\n\\kR$m4pb3DD6-\nP0g%aAwg^run4@tSB^dq5^=vfO!cv95VTEcr5UE%GV$H^1@(L&QRQHM5n(F4ffgm)IovMBVOg8K8oV&4aa-mZ", "g-#$KvWKyY-xH8K^yd%YiJV1*pmg%$BWcdvl#Q6W#(db88=3M%a8ZUgZqJYB=cPV@lEJ(JaQK)u@d9#m7^db\\zh9i)T^T0nCwZdCk(kOev=#B#DhS&u", "&SyHMbFWj!viGU0Zg96aGHJYvop!NFCpqBlVX5\n=jMUtB4aToY-JMPF6qEDb3JZ#7(AZnEYc&A80wiwjjE4#(IIML#Z6uys&6PVwVr8MnaAV=-)I1^eI", "\nU@iO%!KY0Ca*qS7apM\nebZ9ZIa4JJ0\n\nJquubaleWT$b$1Q9pCs%!2V97LPOi=iy8c*yPSk", "\\YCUlD65EZAB\\PddykQo8w)UZAf$e&sjf2lBxcm)2f5aA!kM!&a#!\no0Z5S6ZcMt(c7lpA$2R&gSAwccluPQZcJ6eQGEnMx$#K1C"}; +vector NewLinesAndBackSlashes = { + "PpY$kH*HFYo02m8ehZNy2F#=@V#m^Zc4tg9HMwr$$qMahTiVnqKBvxM\nZWNz0jb-4RPsln1HLuX2i&fS7FnfxPGFajWMtmMOCJahHdIv#gr3n&-FPu(PK(caFnV#kae-MkJLHEfU03QWEEKRRno", + "!qICxUpzr5JkpCr(5\\\n!Pu)V8n-t00UEf-cnx(ZGywK)!hE@QcHH7%u15Y0wvd&qt5^HVEg\n&h^56dlVp^xbw4DJd@ihuB#%GyJ0j", + "\n!J0OdZPFi5uk6gr6FTCcAGpB6YNtBGba&AeW@uzFU^=48x-8z!k3maOssCa=6H%9jz7uk!HN5=9Tz64GJX9Dq@8k=58UvkUYNtpa=cpG\n\\", + "\n\\ZWej!utreDkTG#A@79SiP\n\\Z26=z\n06406z!tHg%(X9W**EwT4MYqKsj\\", + "\\88rdXoqEKfjHFqT*zn3uMh&&K0l3O#QTrm^vvQ5^&!DR)@S7=r)@KdR$SbVLY4jEU\\%qJuOSB&b-LcyR=GcPrf$fs-EfVfR@M9maobVs#(e", + "@!vBm*&z*A8kzpHPvc9jUd--TPs76wUJdy5wvD#Fs^7Kn%*vBcWW=oX84kl8VbSe5mL7U1n*N6@KvHV&wGt9-ET*7fi-$BQeFRi!LjU49xSZw6D(p0XKT412m)c5nPq62$1(JCzrtVf4xNW=v*ZznHgC@%5zFeFdBvW@xLhR", + "u2DnuILvL#eQW\n\\\\\\kT(E7mXRNGP(=q-DEnzFf\\sH#(atFo9W2rR0O^tytzpv)whKF0eTE4%vihr9I^6F\n", + "&8%5Hr=ZFmg)qkY3XR7Ja3GNRlMLmC%7@Aa1-5qGMn%JIpV\nah0j0%xJM(BKPfYvDyF3X\nbHeT*ANGjT2Fa#T8irKiFe&\\", + "nhpyLlo$Qj0bxGOCYOHIzTh1n#PJe%yG2Tr!6bltT9nl%)gFi*BJKv7vAs2pcd@-A^7P5gxMjc)c9fCW8hpmGYq&wZtRRVVPhQRA\\\\6$6hOJCeht\n", + "Q3WRbu06E5Kes&Fyg=\\3)qhD9wBCfb8T4$tSqgW66WPsZ3b00kWIPm(tHuV5osm-0\n$bZD30mY1oOXwPC6*y5IZb\\*k6Ni92nvHhrjYp)^A", + "NO35Nnedvp!FEAu*Mi8x1GjOkb*t-n49hRZ!FCksRqp$#uGGWZ%GfPFzpw!8vEPtsH4%UlfmmD^9x1&wC5^F!m$K%ki!AvYFLOeQFxtT5$VAJvl=qtIC-uOg9HEe8Z", + "JzTnX=pt6Y9EA$thNZT=D1\n\n\nQu2l5g%BBk4)&grYETzMLx2RVMfb0zR64Wpj0L@QxOLGN3SR*XZ\n\n", + "hy7#VOclQC08KaONhMDai4biVfEb4e@Q2i(==9e041@iQLIW2DT\\\\\n&K&U!gktm!GUXH$#\\*%4sDY7hW90T8A", + "\n\n2!SEqBe9)-#c\n\nm7Rn5DDkeoSQay1SziAT\n\n)OQH7#V@-3n^$633Ry0Sa)C", + "m#v6oeG8kdttZKR\\\n\n&Il@Ut*#t\nh=A$xS2#lwFuR2hOje742OX5A^ZB)p\\", + "\\\n\n7x(tZeHfI9)nMt0IGM4FaGpagFv63*95$\nwej5m*X52=dT*^brVVjoA&r3*2XVwTih8EO9*Qrn&SL*q\\H#O7EEP63", + "wdlnHZFv9U8nFe0BXXQSpLMGfdeb7k*%)Ij^j$4Dtx\\cdM0lTUG%A^kkPe*p*BVOVIxPI-wdsIE)#tH@@ifKXX&Q!kKgYWCww)0@\nhCr*s)wB7buomwOTR%653RFz&", + "J6S*!bsENY!oNi5(I8kT(w9j9H\\\n*UdH\nvp(W&aa4)9AXLsG13k\nu!nw-k)F6UQMnvgZ0Hd60JXq", + "9r*SK6ug0dN=hSmoGv!uR99N68Ain4Wk@)eANj4ipEn0KPs1bHko@(Y5axU(uf9($8fCtFSe&6g4H$\\qIiHg-\n\\", + "\\KOCQ&hBxFT97CrLtby=f5PBfgL^gD1ee(BjyX=rozhVA9kuk!Z^eNV*BQS!pw2)A-Xc4f^YniDIg\n\\nV3s#K2VZ1kq!x#v&%6$@pDfg", + "Of9dT)$vKtdK=PKS5wq3^zzyNIq@sJ7u2vw=\nJDcQAL(mbHcP%UiK5V$-ogfQASEPqAr5ufV8@vO^JpTP2&s2&KRvXh05Afb%MG(knr!woNWw", + "n67H2=hCBDWu@G7OtXto#uwCbuA=AVnjY$MbK*JOdNTDPuQ^@&C@ZdFTh0hl7WV@(moQJkiMctLMJ6-m^rGA%nUK%9hbex5hse!IcNPVRrG=r7L\\xTqlg=Q8WKlB*H#Z", + "\n&5fArrsx$MAopdX-p5xD5vuO#3L!vFUr=8@nqUPZ^u$rjXCs(Jwd^4)B8*fUNGFn&Z92FWM*6)#u68KJeRaw)XZwPRiDD&%TtDbM*wtupnWb88\nof!gw8XKHOweKuOC*KgFfQS", + "-j4=en#7zjGeTnp=Hy#AsH2qJne0P7hr\\\\)F4hI(L=@JP$2(e835SQm3uh=Hw7nldp7DP8$M0L%l-&oNQ\\s9(^rZBvokTm4&Bv!Aowr\n", + "\\i0SP(SLHKW=XM\n$c1RPs(M!LbHfo$8$$i)Ag$\nHW#P*qiWaFEL*TaeAb8fLP1y3#wJR)Oimlv@\n", + "$&N!4VidTQB\n\nv#F)aWtG$9!Nxi&e&jmv5q9lGSkd-*D%A*&&Sf=KvJkgEwxfpxm!DRjY5GHKhrVC5(Coyrp=5M80%62X", + "ZfYiEr-09Kyp1a#gL$Y-Xw\\g#pvWm\nTi$5=6dwjPjIeMVbcy$&=V1xm8\\\n", + "k4pqhV^GXPp(U3\\gm3cYyUWdq!Xj2)rTvCkPbOK&7mUOp09XMab\n\nx5NNa9zpM#guH^)O0\\", + "\nBo6Is8TVFUq=(glwyXTwrwuxp^WEuwqKEVm3R5$VeoJoAYY(Sv$76-L=jkxxWM#TZ0(lZnRsKo*(Yfeuu$te\n8%=sI0o#*xWNcP683J&V2\n", + "\naKwBs=#Js^S\\AnlH&nX9*Iw4j2oQKDTaHwk8BCZWx)7gv&X6317hVGAKU18dM1CiMW&Xy\\=8Rbs4M8=HhQtTao(r2jYHCC9*23kADuf6Lp9Cynp", + "&G(HGQ*@o7rY7p&Iu@pB0@M1yI1VNx9uW2fNhaFiSk5OI*SmTAJ93bAds\n\\\n\\k(#l^sIXTNFw(3o%cvoqaVMEk6ds*^va&#vJ5\\", + "dTQgvGuvl*ce6TOsQ7IXUWbV)Xuty3A1xH7MBosj%UYZJI6ck=8WbUUUkJf2p5nOTl\n5RQnY\n7Fm%N7S(Z)5O\n", + "@UFmv6$eDzMH405&q99=0&WOXMipE24g#NixhgZuNY^iYLVz%L(*a4p6CbYL544kbnME1TYP!bZ6uza(qhI\n\n\\\\", + "ysICcR3HQa-$tmiqk*x%&txY-YJZO4&DYEkvt@hbiAn$@M*DaI0*kOh$o)YTUIep^Z3R*xApt6D6uoF$rl)9^Nz7ORYsKO1SCbTP7oIYJB&oza(bBP0NbNi5-Z#Us", + "P5CbJQnDyMz=Ib0X\nZ)51O&Y)6OBe%2&W2a\\45YcbRTXyYfXhI4ox03^g@BzVSMb)7(3eTGwvv%t(XnG^ujB7yf*z7!UZ!s=B", + "A!s$b(U1$\n\nTOpU@#4xW)ag#N-lfSNcQ(8@K2EUso%olsZWE^K%Bd**KiIfTRYIq-Ah&8kPG!a$#)Ks8a2JzIj\n)R$6mzh3qlRsWNF", + "MroSujRJd!pVMRDe#dqgfZYH-OSDILnsKTMv2aSHJSC)yPYOD=#-%8-O1akk&#=JE\\%u8utC4(s8%29@QF^N#bnbIYTvYjK)4R8AUV)lMjST#YYLSDx2=e!2olagX4=stcckaeCv!3xQ@-H", + "y-PiYLnAxsQ2ciH*vW$jY8sMsVOygI*bccuPs9IIP8m#(SN(Y!uQi5\nuiGrx%Pdf$56QkW1\\trcID=N0n(!$8nQR1ANAY=g^MRV6", + "@U@q8mBv9h*4(kdj5%J-0%uAK)kN\nmcajPf6)o!aoD3vnntBVa8YosnrTI&5BK@tBh*(Uk8Hddz-mcRdj&mWFP04Hj4)MjVdV2PrpHY0#4O*PF(p\nBLUL@EFS3x\n", + "g&)%)&vMfb$er#N1Yhfr4-B4ScMgVH0BY-p^M)sbr7=^cEIZihyxQ2fmm#%cO5Wg2Pp=S639G4uH6gJE@*ySL5GU0B5p5MC&HRWZh!jETg^IQjsoRC\\\n", + "DTxl#BNt@i%1F4v%*%P=#)d\n\n*9-#OsMDGyx%)o)%-bREMNzwpnDrig&Hta18Au4oPLXrvX37J0KOD8%9zXwqKXo\n^8!XRQqarFR=jzcA%)*o", + "9Xadb@F6nK*FQv5X7kXR-VXug&&iiG(iI\n2Sx3a8&1QJaD@GWq#9u7a!oH=IIV\n\\1x3*id$HN=CWC7#Cx4RJ&", + "\n\\4CfoqWH7V&xa#6KN!w!cWrxjpICzTzc)aG7n9ZTHWQLHBCr=kd9-ZmAB8ObLJY5cCzQtyUngbyDg1(mPF6zTUVZY!sADQ0IM#Rc$ChGMAVJZBD$vNa1fS8mQg%&CH1tzt", + "\nUwA^1k1VZH\\\\\n\nxFNGBt0r9Aw%doN5Bs&o61NfGGU8OMx\nh$BO&)leuu$6B2rpUH)6(wO", + "SCqOT-dmnO3Tz!4eJ2b(c\n\n\\Gv$DC065CwBZk1s%#vrHC#7kM4cP-#@tP1VnRUMTk)NX&F^\n\n\n", + "VFpp$o-Kx6Ysg4Fc7)f*)2wHulNy\n\n!Jg5jVY2K\\l)$oEYJdi*ZZ\nXS$SW7XZ2j^(ux=gO4@hYaV2UbTW", + "mtsJ0N4%DVgVzpivV8O7@KMoms7^oW1K!GFfEwgS@p7Qlb7istUOGA!v#ce^AitWRmb#Td\nM6YnUKuf4zlXpHzpjmsnq\\\\WUdUtOhKODBZ&eQ", + "\n\n\nGeWv8F$OkTHvHnmX-\npinCojG*U@T\\6w%fh7LZF2vENw=X7evFh=Nl", + "ff#&olEBfxTtzl@gOFb\\Z7F$QL-Q!gDPzkN\n\no-)tDadBvp76DVV^TLv1hQrElLn\\T$%sSrM)7sbqQv$p-uJ@ZkVouIc$qyXMt#u3QESz-^", + "\n\nO#&bh7PCts%Hupp($nw7AK%\nyaMkwZ4TG$@qbuX47TqQOEz1Z\nUGJR@Xyd$q&9I)VSqYbxaVITp%dlqwrCtAqOSC8njLf@Na", + "V5Cu!PRMdpXFlI#CHCk5x)=hE$*UsvZiMwL00*yWy8&tLMnqQ-pQT3\n\n04zqWmzh^#bl*ZW!i3!NXTdfrPci%mZ-Nlzt*KBfD(epfm&mqUOswFk8Fy4p93Wjh", + "SP^Z06BTemfj!Z4ckA31vY(S!tGYisx%@Cl(w6$ERCin5gnO9I=%d7g=ZyoRxH8X4lIM6lR*8C0dnMG5Ly97TCCKzx8dIM$9ANuI!A1SSN\\ymPcs(^IA\nsx#5Y6a9zqWEv*6^S6@238R", + "&JNun3TdI@)k59X\\n6hBvZX#)@YPxgcCgWhWoI%!ss6tOnUNHVj-hgJQ\nWteHcpXhhiNNQ7E!1SVpdJ$x=uhEywa!b(wPRU&\\$xaL@jHI=%jvQbE^^gnO", + "Jz&x7T*LYGmEP8)owCTqf*%W-8#w*Tl#-I\nD@DyUtmDe62(c#4bWHS@^f\n\nLJcXrh2*n4k@=(cdDKAPAOvL9b", + "gWf4EhS26\nR@JnHtyrb&AApU8-aF0E9wO-jGSab5h58Zt%O^$2h=0vo1Q-7ib8r0XbyX)3Uv^(yW^BM!(Zp$gOLkQo@OuOj)KB\\", + "69)m7t#oyf-e1TrC1Qvrj90w@8H-TMxUI)\n9jkC&Fn5BrMpKT\n\\TgnDMTfkeN7Ys3vmicf", + "#(-PKFB)*4dT*xmw0uKjmo-8\njXwbhr$1\n\\0SYn5sZEH(u(U4pboEaez#)#Rwr$M8l-0oN!Ctl77bwNQS&2!BN\n", + "8H=xqQwdP8-#%\nFKDC#K59TMmOMCEPTgK^-yXVhtq6lY$mLnDuSg-wy%rp\ngfUO$!kDVNHa\n5PzZdSedE7(DON$rACd7e4s!^fh$8#2J&IUvkgB!^jm5wd", + "4!vDL(T8ziYJ1(NDPV)U121HKVHo\n&2L%xuNluYqnoRP&Nj2-0\\TomYSUaHfJbZi-Ejr5JwL8k4g)4XtIB!vxp!B^87C2at", + "tS2=Y\\\nCLZF8dDvtdjV$1tq)$iAZt-UWc$ylc@\n\n@2*d!r5%x-Su0V&Z=owV8Zk7*n4$^DnLu", + "\\zbYFJKFlLwsLCn=pJ)J\n*PBuYhRF!A0a-pASQMU!Hjuoj=J$HKZkPlOra1GrnHaGxD-7c$V@xBrTCgjEsL9#Ge(&C$v\nFlHPqWHnrO9!HhULTsIZ$hCxwep2U(&JkWUVVov8uy", + "#cs!33lnGXBdzyYPU@snN^XfDIlhfh2k7LGkphPbHyoIvDD5wv6Mc4\\a9fpXIyOAAb!\\k8Np75pYbMpJ(b!\\E-@v0VY0-d", + "R!n&d#(MufShF!s4!%Cm1&4)m2IrgD)87A2%wF&tn^DllcwY$J$wjB*og7Cs7v%!aRlSKcfjAUi\nQ4%dDo(DGqjlh1\n\n\\", + "F#qug=wTmzd!E)RJVMrV\\pvv)28QtmqZ\nGw(tR^%^m1ngcoL=PH^mAFcqBPos8Gvx5\n", + "m()cZb)hL4@&TR99zZmjkutu93zvs-x&KII!^vF6ZR7big&)5k)d!zQtqZ@bnw9m0F6O0X&\n%Loym3HtBstB)1)2YH#SNEwB\\)Zk8Htx-VPdtDcHyYyKhVosq*E6bxB9*2s\n", + "\nUbC2MK&OPZx2-=(k\\8*O*4WEd^Eqe^9F-0IoEL^6Tm^&a*3IQnrm@vjVgFb1!\\(H#cSQ&&2!MJ!4TtmL%*z4HwodI2\\", + "sF&ezCf4rU7%sqjNtx)dlKoq0^CqiTu&LD%!9T)DSR\n)L*qez--Jq$1\n()IIA(1%\\vZg((eFtuER(K6d6UbTzXu8(!&(6x\n", + "kLye!ykmm1Bl%2Qw6A&ruX%lB8(m%=MldWrK%0IH8\n\\H#3rU7g047Pzk9yElp2W-eu", + "3M=BsCT82zAdjk0(gVrry\n\njOT8g08ClmRDFCbwD7fUN$SN%$S60eSeHXUXv229J@#O!FA*WaEh#q1z-Nc)c\nvXRewwolIsTiUK%qLG", + "=t#R-\n\n#2DTkxi2c4Qo1#SNd8uenv%L\neBNSpFLZO3q$1icgs-KDBO0(eRZw8E&T*dC31\\cEAX=B$UgyIX0dxT4ppuBbk0", + "lixl#\\9*#HVhV4M=-\nz6AZQ54L3=VJ$5LOoMf=yb64YJEY\na@%@czCYOH-ce$Q", + "\n\\\\3Eu5GU4Qna1MIEX2MVkHH\n)FTe#LDIp)6@1(XsjJAd\n&mjzYJOH4jOrLPUL^SP&a0p", + "t@r-kswTeW4r!0bXiX8NXhvs#ukKl-\n\nhSv*gkBN0o6MF\n\n\nDfd69AJrKPMc$T-5WxTq!2fpz@puGL=7xu", + "\\\n#b=PDcAPj\\\\z(J#0FMMe\n\\@d1aqTe^5dPBZdUPdwH#Lq", + "f^rEApBE8Eo6kmYPz8Mh\n9&7ILlyki)3#3&6!i(R9ntBAs&wh&IYSw95kl0!b6XEZTDvlE\nkI74T3M$-eoXYiFNF6d\n\\", + "qQ6hb8Fi3gZ0)1SY0\\unBP==BB)VTKA=uOgGio@m\\LH9kPf0MDK2=\no3k7CuvOoc!T5Yo1Z=uDEU9Zr\n\\", + "ssSFg05znGv%gsE1fKEbP)qw!9PguFGq)Ka\\*r2@N)Nyb0fWYp5gfJsLQF==^A7e(wNEq8BRLlAL&rO1hL9%pIrI2hRkSg%@j=DP%M\\", + "\nVFdTjhze3fs=BFx-Q!%zdp5hpqP16euHm\n-4-no!aDGkZo4tM@#GE=9D3Nww@x%ywdQHe)U@68\n\\M0U#N5s", + "\n4dAy6Awi8o*D1Jxo)NpVZByQ*LFF6bi12gh=cmtgV&usf*Nry3QLvH!*Xqn2p1R*BwVjq^sHR*I@ITB4Jfn^$N2pdP3T%F(80Yezz%oDPk9(@th", + "otAVLXk\n#^Jf@lGVOSi(eN=kuWlI9zTv4%iNwwm7II73sDZ\\SpvGr!IDjWmrMtBZs-C-gmp\n5-WYUcL4b&$dMpN&&*O0B*Uei2", + "\n\niy=qnxRPfLM9H2DKrpCZnruz&kZh28wIcJWRr=0ZD0(COQ2oYSLoEsbUKa9T@loJTEh=I@RRHQK\\FIDv=*(^tXXXsvTl**^7w\n6ZzdS", + "yDdyXo6Y)^H)gpfcuZ*@7C&NprSdYhD5LmN6Jp6oCms4k)eQThMAwDAB(TyDakmIlKt#fQPPPA!RN)PknxTRL4zg0mKH8No^une7t2eIoy-IOjbifGl\nOr%^p=tqCglbYu-d$hv@)", + "\n\n\\\n\nPQ7xG=0MT=2335!EtL0yMnZ\nAE6aY1-oFVkKFTh6KmTQ\n", + "cu4%jq0QgF8pM^fX3p=YU\nO5LJQySj2AVJ7w7*^*ld9eBP(j^rekfqnVW#8U)P\n\n(G2-o38!iU8UBRihe8ndKU", + "^HDWyMiy*#D\n\\zYM0sFgAGmM\nqqFY\n\n89JLMb$)zsw1NW2oGBaWF7XEjTmNe%B8QoVfBx!E7Jj2v", + "\\\nI!!eNXQEAnrYyp5ci\nz3GRyFZu1YJE&PbG9r%D8*$bs8CfB3UX2F64BCG4AuWeIy@bfRwvrdihJmj^#hRA8mQu)", + "OjJA9l(kqdHH5)K3&DD=3=n(5(3%DbfzF6yAkgADLnX*Cyy=Pa6oMqqtx=(Xnr%@^aCYVYr-BdOepk-\n)062Ebmn8((F2)qTeX%%TX\n\\7S*xxrL3mS!ncZ)n4YJd*hF2u", + "xHm7#a^nvRI^SMpgf6Qv-^=T4Jyp%E=0Q#5okFL9VV\\\n\n\nwGolZ8o^&nY5dF6AC384G%sgt9@36SL", + "Q@PQW4L=icUcETlqD1H==2=IsSm)H#NfWf(Ste5GVEtT4oC8Um)c5J\nX)K=d^552tO4&30LMN#X0ZQFi4gEvodfunUUvFfo^^FJ7o(Q#-Z8=gBe)wK)^0YFoa)Wc^niTz", + "2-Fqpl@lv&CZ$3LK*Ta6hUFv^X0jzgm7um*wkYh41!Ae5Gq\\mc3i76fyEh=#^^X6BDul9mHw58!TC!A\\%Vfcce7=dXlJA4i=mNG4hiGh(n!*gLop", + "\n\n*V9LzsITbdC21zD6PjJ5dLp!I3$%SXxz5gWdskCAprxO*KOn7q!V=%J@9tfrEN2Fr*OooT9v\\oH!KE%kO0", + "z7Q11uiAPxuhuMKU=GF36E\n\\\n8I=)$J$EyLqURu)%J$m7HBJ3*GIj=Jg)5E7AnUY8T\\fH6ka9$F9B3=IWLZ9v-qX2", + "lKjJWXaSU)0\nov0WbU1o*rchDtIyJC=Zx6m8)D8ZL-pwi5hu6*O9w%arYIQGG#-14Nu9(NZgi*ElUzpD%2s-r4zL9WTnNLqXe\\", + "Q3ujwNM$aprz3=-s1ah$^yd5#rdw7a!7rSGW-HmOLceE#=%&hQ3xJnquubg=KQZ5(69PWoT8OK@9SYgb7\\\nOuHDbKZGqC\n", + "nYMRbp5w#z#At@Fq%1NwFLKd0xRcYvyrbIV=*MVJ$gl9vh45U(z2f&(pswW1wkbSJ\nkM*q2VY7Ql%lDkBMJAvTnQ$Srd$Rw27qb*kKB^h#TRSUU96FpNGy\\", + "a$m=dG#\n\\(k2bh)zNT78!=QVLx*vY\nF!5Cxn01TR(@QrFMj0Oj)(vV)SADURISabuReCn(YoNNYvTJu#sNPq&@^0m=3CqjS*G@ui6FPZb9m1BMmZTK3WDA$kln", + "EOXXs3O^DZS#)U)Fb$K54Akew^!8jY25uq!Eeq)F8J9u-YtVmQ$ECYPy6y9rUCVRb(Ttj$x0KKFtB@VbjSb-N@vjU^DrIh!-FQQ^T3SKnTxS)YC*z^NrrVv^rLIPOqh@IP85z!aajZ2YxxZbqi#@s-ya3LFTQC9!tecYIWg2eQjZ3PbOkw", + "A2@k6X6Fg^!ZT)I^(qQ\n\n\\\n\\pH7@sifME0quUC2$g7MznvCr^052OelE@0l15Tq8Sn&DiNSJap=h-P-8zKS-=PDu", + "rwEadhbR6pflGw)EUhgvPGAZlDcDJU*eh6fgsseo\nfNi^AGjMX3Dp6LuBo2jvAh3m!fcvV#g8$2gFL#v(z(dXZgIaxw$7(fo2lZcbhIC-Ov#DxP=LkAY0n0jH#d*", + "5gzVPEg&ALAKN0eSYZv4ZHFENypIt=XITY7nT58RumS8pkV!Bk*A&Es*gjuj74\\\n\nK=6@8!UIqc*e\n", + "\\=o0CUNvU1pt7a*H%&zTl7hIwKRss@%iPOv$4Cibaw1-A\nw%D-jAYAObc@7dYb@irHX5bf8\\\n&%Dz2XqiE4m", + "0#eCtypKs4uaP\n^bAHueJY@5\nDfbQQs6)bRdM!gZ(KaJsa6(*YV@z0AJcmMjPEnL8Ed&\\MBg4vzqr2j\nl%Ur(ldx2hx!0FB)5K1jnx!P", + "\nYLUBZ529SVj%tT54(@NEo\\RK-ni\n\\\n\\oU-qHgNHhvQDix&q4VrRVR=2M6MJ@6X*-%IA#xUGr", + "\nSny*TXVgl4eiC*6IVKITI4m\n\\2sLYgush37KNF(XOkZl2^8\\ZhQJx*=^Qs5ev", + "\\\nw@EfA0l)UPqN(HFpWwCo@P4u$V$nfUn2\noxHi6HrBN-FpU3tPIFmoIk4t5lE4MOu1ARduykk\\Ia)*lVDZR-0asK*BpwYJtRA", + "J2jTNF91ko2K#a95jxvrrQaA1bD6(QFaIy(d*ob=$aY6L7QaHtJ!(^e*4hkbVwyGvqWI1\\K!Sr$(wj%%t!M(!D2$ZcPCIVqwgT(oICy^VREkoM(eglAYQ\nzkuv(uwVF3hVSLMCB6p0-\n", + "PLGxtj8pkM9$!Mk-#XmQd(^Lo$MI9S)Qr!4L\n\nSggA$LPRUI^wbPEH5j9!LzG3QGCGVW(jNiLT\\\n", + "Q%$nCFZKwHwgY8dqy\\HVaugFvX1l7P8nrucelQEzZqpIjfl@HR^3RiMCXZh=pdCLl)5Y6Aw4e06fE)(oL3oqpu^lno$@v^aEVXV@$Z)G-F!qbg6KiQ2VLNB-RUla=UHJqPG4", + "nqidfpdT#c#KfkBOIqOs3Ytk*cKqMSgkp!fIcVGwZDMA!ZgzFUO8&2)iO7Rk\n\\\n\n$ntW6vfO!-oI89idwywTdH4xa&FJ-hlDZ#BhA&K@-0", + "6N7=wvIW024xoBEze=Xy*XTIComkQ\n\nC#)THkJmMcJ4j6Q$7@0At\\\n\\xBGrrwM0dTA", + "&SDfJzRM!*Bf7t!Ap(-#VA6FAZhVzHzoU)MQ#eoX6tX^60H-VTUKipcK1M2IZVesbT2C!Es1*DS46D4Jjs$=uH24RGI(3k7Xrlpz-xk-2Lp6xNqTyA*gSJ\ncVq8jW5JHcpozq)CL=sCZy$X9^r)K0$H)=N", + "\nCrvT=stUtMSHnbB9vPIIoUhA^xjVClb!S(6MMp*u3goSr*$()#je%6-&#SX-54bLs%FjkKmWtZg(ZbdWo#=qAPcs2I7UI6!X3jM%hyj@xiG&7SUsCt4VX6X#BR@", + "\n#zb(#Pev\\4&u!ytNGz@Q@WWdOjDtqWLg%L9sqCoeNob#UEsV)h3WRxWjsWrVa\\\nJ8O6z02$odEz", + "REu4lDNrqzqg)eXpfUFPFGjVct=DBRlbgIqqBO5Floabtylt9F\\g)GU&NlE^(7r^KzhWEUz&3BKfroKqkgS^mGUQUgKry0^xz#YR@W\\9^VKeq#1d(#\n", + "yJC8m*ylCi7J#6fQ^s&#W6ajk=lpkmOY%9fj#X5-aRK%HYtC@C5hxulT0V)23ZQo62t%Vs^-2&g8\nx8Kf0=\\qmIN$d6MCt-IrN8%5s@", + "Ud$Q)ju)TNIO3hpaf0DHS$PdicuW4mWvn\nLXIkV-7hnwT6Znn^iG\nehSIbZCdEbmjFvV6YJ8gVYB-0iaAWrA$D-a7oUVfGz=O3MzjS(%PgF8%EyO\n", + "V*amrrZ)!ZC=2o@)Fjou&HH*ZH8rqj)6g6QJJL\\!py-9HA*7RxczCER!gat-NCdQjtm75a2Fsq0!ElOGdaHq)p5q5@Aat7GD^Keb4=djFab$7RPXHF&DB&", + "-B^oI7lva9%-Y\\\\\n)4f2t8XH8JAKLEeVW)cZ1Lkw&**721y9)AG=8JQGgn4ezL@FSr5@T3u97^", + "-FalVW3=#6qKvPF*o(DBp5VgB0SDd@U%7S*!\\NWKQzCxkBQt^d9CPapiUz^0Tc5188BQo9RJD\nuXw0FH4a&zu%k(Dq*UjlHRHLGBI1beE-Um0h(SlHe*4U0ic", + "\n\no4Fxfeq#7b&!5w2ea68Tbq92BvFHrO2%vD9&aFjHoYCdVbE\\iG5W*t0bT4zOyFwKfKYMU!1A#h-UNAlgwLqS)HyG%))qpj!u$K", + "\n\\KEW2P2DVq$z2doUSDrpe\\\nuq%CioK-Xllq4@GOVs#ydq-5fi1DxRC#xR65QDl6e9QNU=ya9e#AJh09R)yN%^tRfidUqHLi=pelgoOBby0Ij&luj0W", + "MDPs#X-rlmU0auV0-IP*ijsdrm7h\nqlDy$Mjy$QQ-5y*9R4uNg@4WR6X%#R0b\\\\Wc7i=hCb5@IUU20UH5m", + "NJ2tZH=Fgn=v-=aCw-rZEEl&Xem*8*aNXkeA9g=Hs*#-yk-eq\n8Jwl-lLhq1Gc20llsxBHAByE5YCzVpO3$D4!hNYTp*mDq(=OVxCt(7r&3z0@BxzNkRirwdZ7H(3oq*1dBfeJxL*3hX\n", + ")!xD4eFzEi(sUTRtkVJr47C@6n)I9MBwmgWH%vovbvRXBr3EwM2w9C#izzdRUFmpIF&panLoWoY\\H147dl@Ks^iA^GG5y-%Fx)r)R^l-jbZuwM^OJ!D", + "(fanNEIX=5bBax5r0s$wn6H\ne45sNf*HHF\n\\ypqWS^hH(tYQOL6ImD)wqE11jf(hop!E8JzmZRW51KgN*d=dyCVFGR%xyu-Ma#y8tu9t9$IK", + "\njEQzwyS==O8c$vn=LHhsVAP-$t%#5FL4AiUlG2n)7SaTKo(J3l1l0gzhDsBfF=k61ctkOcElLb5)Ru7Zi(LD2y02z$RxIuQcneJ)marDjtSukb!g", + "lY#mObh&UkZ#p5Ob59d3ma2oBfH=RSvOn^R\\D)8VxAP#yIcqWnwU@Myvat9F)1N&W&A(Iegu6vpJ561(F$cTuNAYE5esX\\\noH0p7VOYiWZ)n&wbo9zE2$0GdE=", + "\nepvXwr--p&BPuRiLPOTuj\\mEwx-zO0l\ns*dyVDGBHMpY\nZXhygqqvpAvye^R)!2(rHT", + "\ne)(-bc%zUB)&#bw1kswj2d1\n\\\\Lf0X6I0AUa6m52\\\\8@qgC85", + "xCbH4$3YvdS!eCO\n\\\nkbAuxLDOuHUMJiy#nONFG$mii54FNAX^m5H3SF)&eH$z*\nK1OmEi21xKetGwoJ8eW1hCjMB#OQ5^yqkxz*Y@P%WB=0", + "ha)AiccTid8=g)SQK71VhX08d%=Dedw@BvjB7a\\\n\nmh32eO0b04*C9mGXL4W9skvPsw6bE=4nS9\\(p*WHs0B(Is1BC^oUM8G2\n", + "j8K=h9FM&(WWhbWX05zfqNvOxfBtatvw(N*!c#4EOs\n9NA&Ohb%$UY6t=cP2H3Q4J8O=zO0lv2\nIDO^Bovn0QfqcboD4y\n", + "PLWH*GkZg6Yz14QJPzy7b3Qc\nhAEvs^a\\WFmDOf4QbuASdL8J\nUir$x-TpTnSVuKxo$-bJML", + "X4Znj)S^(9LrrpMhVi#o&-NOskrJ$eiyI47B7#zeiOx@q2YDVD9d\n\\\nT^fun^\\Y&(bEOJ*M5yYqu0Z8Ik23)HV\n", + "HqfgJ%8Sq\nbeyy4n@MDQQAC2(%T!#USsvU\\1r0dmxlz=@FJgENIFu)X\n\nKBUHa62HuNw6N&Qe0oqlH1FgK(J#3MPG^Oqz-w", + "@GB)ogZA-Zvmkt4x=G9hLousDgEyU27*@t5bU-ZpTdmwo5mQQ$nesLi3zJ6XFQcc0FeQh6AN4Q&WKl^)Gj&ZI(TljTsE0VQTmziAIH86c)78dnNHTB!nN@KpY9Mgou2k\\&K1OoC!RZ3EtG*nGg^tu)0@I#1xEA4lb&Li", + "\nDk)&QY&(u!OLR^cYQm-QoOnj=xeSX2lQkZ8MAahy484w56Bc3iqr0YAa%TZ(1V-0t-puBWcTPV0g04Yw^RtM$KN4&#-0z$B5yS4GlE6XPY22D3NMhV%6nMoGk$$^eYxJLtiKB", + "oZbSo(E$#Jbgjflwc6BO7aP)9QCa9pbLHdv@Wsugnq9eczeVP^ZfT#0qR(IhFN7$2%Y8Qn$tBaqJ0KlT8P%\n8X=f9ye1zOk\nlSVvpKMq^EIB6NoQ\\\n", + "\\oUFnd@H*G23t^hg^nEqgp#96i@uZpEgk=O\nBp&5(#UBU3lJEP0)ViF=)\\\\1UhlT)aHO3R1\nU7@boq", + "%07VxYDtHu7r*MYlLor^Wmfp!\n@s&k4T5QSaCIIdq*dc\\\n!GzH%E89)b\nZ10Hu%*raEb@uyd(\n", + "&8@8DJ3JHI#IVFwqOveT#64Th*ikI*aLhvP1RvPy-gE%1g\n\n\\\n5hMVNJ(dNrFOU^QD9vIPAbG=BmBKKdvr*dp=dRii=tClY!nEzXRVayWO", + "9bAK)4JDL4b8x1x3Hm!NIO@eueIQQ-)i1b$WAEh-=g1jwvo-ZZ7u(OQZxOENj4XQ4-**EP9YbS\\\n8uIH0cn\\\n", + "AOlX1mJw@CGgFuWLs)P72n#W2gIQOcO$=n%Pem%NCrKsRK#7%6YJ-bW)ymQ$\n\\2cHv&2Dz@iNLz%5q6C&ONj$ARhc%It\n\\", + "4lvs(0SreCudgZVZg*Eem8Ybst8h$zLujw#)sAaFwZP$TSyhDzy(*G&U5LGa$-i*hnT1XJZgjdHAbDJ*y9cAYpNr5mzckU(u26LA&#%okQc-mNxCE1f\nFIo(C", + "!GCR1zarh1-V5P=hHT*vlbhYDIgTjJeW!qJje^YEOuj92QtVJcBeU@lnfmUnQfU^WXbf&C-RSSh6nKtM4=sO63TbxCzK8qwKJ#&9()QYFXgt!De=qSHdGlGMQuUAwp7YFk(BxvpNI)GQsM-@9Qc", + "G5(%@pAGlvC%*BkTWm7SlvP(=1hST\nJV$Ai0V%0BUMoPG!d1R=lW*jSvK2*xrxSmPHBTiQb5Sa@Hl36\\04pIXWw$KnPc526w4Pw", + "\\\nJ(ebEM#2(Ru*PZqnrgJL1d6pHMRDDbXPm(RC\nskMzMEAW5N(Mi(kYy\n\n\\", + "\n-nb@kv8xOX4Nsj9Q$&TOVExS%cvO9A)&&oIcr*nvP-S)E3YtosE!^gfRjB)W0E^yEg**Z5CJ^uyADhBrqSjHns86lKdKG-7JK-*&9=T9f2B3oTrY#-Ex-f%K$GLyjMiW2EwBz^^6mE4LqQa#F6@8eBu\\", + "\nTQ^09cCvBRABxWm*11\n%5n6jKE)Est\ntCDBiS*UMUC8WFVtWh\ndV*EKnzgF\\", + "X59CeKPXm=iFX\ndUem(=qu!^XYdvZE6T9SlDrULd#PZ^3CNe4k!wjJGg7V&HYUE00mvRBrvT(2vEnw@Ep^GD%Sz*VYpo\\GFJ$uzWpHTNMSL)o9%h-(B10uMN$ftzIfw", + "&I!8xLwqr8yDSm-9T\\\nAaOH4!dnx*EzV22g!3=pCUC5mXxK1S2pz%8W3itFo^KY0g\\\n\\\\\n", + "\nryf6-lZRDL!Ag=5Upv-Emw7@!7r*ZKl22Oq2a\\$sqf)3l8pn*Vi93!oC(iQt^^VI5I39at\\", + "QU&tHUtubJ1qWxl4deYcRPs\nc4p&pyz)9g=dGOk=tRgV&1-2TIcGt8aDz9bvB\\yySyk%U\njImez@IP^xZR4kF^=I^", + "7#NEjvLP%UkM17y1@b8\nlzMV$^yrmKS=9E2elGU\\Ylp*PXgDfk2^1T-dYKp@zF7)i4))snhYSMJwGhTacL&dNuduOKRjMO$D\nz)D)5v3iy%#qV", + "tVc2)yWqLA7Z!Dd5la1zG)\nCqsgK8yt3GshLL%69^DmTk\\=Zx8mO!U%-*W4Bc-TpqY2h(@K4\n-6CNg^5%8R$4BPgL0FsikC(H", + "2mdvZxO5xxIHLb!nC)bElJE-c&Z=H#5i9D4V*&(MSU$t#JzEmGDn6egWKpF-@-hI5CxnNu0(JZDwoPXc=UCscjuj=aBx-TCh**MabgHO2U@VD(mGa@!Nq0x4#!5g6FH!IVLWMMmR8q", + "e%pXh&f9PC#tN*xfURnjsBj6^QG%*G&!%3MS1ZU=B*LEkT3gMS\n\\nKctdXR)1=3i=F\nvMTuffxL7D\n", + "lF4qDS5x&sF0yjc\\0wIcJNgYQ\nKyJdFtQVA95&Q4cVT&V!(NKEM-nCl*F\n\\!1NVUwEfQIp^BGMRXmc", + "8$kSIwht@ys15P!2jkI4^ehF9eoZ\nERbKXcD1nBtS47jL5IDvqRfENBVb^Fo#r=ztMfzLu$1Mt99h5jFu#N)vZ8=U&hV!*JCQcZrszEPjLEQVJXYvfj^L16#1#L4QaWG", + "Y&O9)Mze4$ZP@^NWrdM7L6iNTz#X4b-DdzQDlOozsK%CR!#QZa7dy49GZ-fRTkhO@J1&*OMdROyb#25WaWJw$J&rxS6AllJ=oUX!RNc7^iEl0#smr^02V)j!fk\n", + "\nV4d6yDUXDY!ebo%8)GuWX7YY9pSgdqu4TQzW6Deb8(Mr1ICxs#DOP%UD%!UeuEMF6fJ$cMl%e%oduN$#Q^r)Nk%NY2iSseBMX8De#^$T\nmv=NxhbwiUjH%V-(F%3zu", + "\\YhEhC&07u8$A4s-WV\\\nQU4g=S5CTs10%K&tJkw@-$S37YwE8z8aCCa3u\\aO-#&bv3XwMJ4x-yBL%2d-sRJ1jv@d&g)%jH(z", + "\nS7)LsaDJOs=60cC$1YkN@gKLc%WXXq*$sVh4JC6ENIPniTPv#FdTvX&u6kdmyM)Zr5!-eMYXZ&\n\n", + "\n!oD3ROq9V=d50*g$2n&F0*72m^\\hHxd&hmhvWJs%a=i(Wf^0%LXbPwGtU@Pekys8v&PxA5w)D2jCf", + "\nkrjuGZ33O&vs40W8AeI8tpCJt$5s\n^twCyhY*hLGB\n\no05-td2NEy(ECgS**%uYF2TcBsoeMM$XeqkiES", + "UfuUGQXaPHBc\n9LG90m5hG*jJG7^f789CSXJSS1v37vWUPuQy#!MYks&3od8-hi%81(GhAtm0y3-\n\\I6JCk61aw\n", + "uUmzO3h\nuP8!pvn9j-=HQ6Ca\\7a@a=#8JHaA$V0jgg=qzyiTe*0VPA4#wxWAsTC!jXxfm-Rr9R%9sw^P6z8l3)Lm(zq", + "\nq3X&dp-RlFwV$T)qh^yF@G7*Mr$%B\\\\gy2o$NIcD-UxoWqz$6VX7!B20g5QQBtk&((D^3h2(S6U\\kg(qJj4LLxCO(9&BYG", + "\\Wr1k6T9d3r7YL@rb1fXBtvnV-6DgF!sTbaVs@p8TMcqiLxkGYjcxAPI1&z&0CgkUpNvtP7\n\\ky3hgAk9xFJdWXqqRYmp!&-q", + "1o(G\n-AN^Me=L2^xk97RT)kleuvjccdfPA1b-Ed6V29s=Z0z!eM&*IF$WucSS8T\n1k)TK=0lSlR1=((\\", + "sHHb-xum^qp94mBS(7cRu#5B$EUjk(dqeCXVq!2gMOL-fNmJuB8XOP)$B77\nS=Jicmu*xqr#cMZh09^j-vWj!#vIWmct%52Ezjxq6)TeH#NLikndGRy9FeF%&YS531gS", + "\n\n\nE6(h3Yp()\\peHLsY0MU8%ULvu=EIoI7B%rjzoVal\nmGe6*oiG", + "pQvVHO!O)Jlbf0*t1q6h0h)4#5XYmUheacnBw3yV5\\#1#Wpl2I^!nnwbwB\\F8SFj2li1x6f-0fD(o0x=K-t6D6S!\n7^&hLsq%s4wb7Vp-I!beU", + "XCFO&BuLQINAlS5ix1SIeMbc%ztOHlB7wEXrdBDV)X$DY1lYSbp8OXKRa\n\n\n2@NzbliWEvAXIPg5EujCDYYU^$3\nLQX8%myV7Mw%LQlR#", + "p%x$Ah8w&NFN&FRKJO*soz%n\n\\2m$bcoAQdTsV4xQua1*rMVPf()@V@Y@S#EAxeuZrnLsNjlXk8eDYSDUFFuZhGBmJw#tHoOI)RuwPN0LElyG70mje7Z#Ya$q90g-dZ*7", + "gIbH7j#mqD!p%wwGuo=EdfevQlahAZE^-e3-MSb7e5OFTV$sa$E3)$)uoTu-R#lS!SFd7dV845qrW@DEe5\\\nJB2OgR\\76YK@ScuU3", + "#5G$vN$F26rr3Qvp8$h!Z0OM6bGTmxYu1OqKf-UnlD1F(M**BmYoaJR*ac^8W3)&(Bqq^%*C*#UTl@Yn3jvD-VR9\nkp4z%kD9\n\\", + "aNcE%6RsiZ$f#zKX\nD9kFDj3yAdD-EM=y$)sQ0ZTkr#l6Tbeu5U5@92rnd\nZ!(%Xqi(^JpTI9xsP(8FqbMB#WgK1oIYUI@s2aWvz^-p%o3NNq2B=", + "aAP=#)GonvB2!aJ2b7s\n2g9PGgir-Ji6CwkDXuf$EuJ$ovjX5)0K^X(TE2&z0gProBahR\\\\X0Gx=e7wzoDR=fs@1BH", + "Qb1d7u)wseEV#W#\\aQPt-O5@QRm6oYclm4-X1#tOFTbEo8oX%TDtAsG@\n2SimF)jSIhN=FYeySDU8SMB!4008K)T!uP#!hMzk&pois)i&3u4y", + "0YE0t*kgs\ni#zHOF2&kouwa(wF^LX=m2d\nDJvsz=vsP\nqe!(iMqEuKHq)n)3UnVc8E@xyoAoiZ9I\\S1T#5djKgDW", + "4RiqYWCPZy*sD9yE#Phif$!AGbY=ajN2)IRuiymEMw0Qz0Xudw#f6SYGlas7&GzMC=gnTqq\nBXn5l9S\\PYgL^=rVAskmO4002", + "vT*e%!HM^\\UK5nWyAfD\nTV7%!cDQO%3G=hPOj&^5&iS=ZqJy@HUs&P9E1w\nAOly#39=", + "^pz(DonCeP5Do5HGNqmpj9(R$K&SI7pZzYpFznWFxAQy^ooM0M2C4idXB7Xe*zTb4jw8TN$wxi@6zzP@WaD=n&6!1($uUsHi=BV)YXicCc)YQZCCeEXm#D^&@nguc4zV)d5!E5kiby))y7KNcMWzRiOvl5ZA*B$3Mnk1S@aru!", + "@wo(%h#Y)Xx30tWIT\n4Rll5SX1o!T1Mz9)y^p8fP)851^tz8yPUEsQTB@sU\\=R6ji\nNYZ)%=AnflG8@", + "\\v#&IKaM&3XV2BhRyDYzYGjM\n\n\n2m%J1ve-\nFOsS=tU4kVld-6(M#woGpnDlOdOuj&WwH\n", + "nN=Xo^YTcLKafX723W\\\\f53S%e6q)TuZIJ\n\\\n0=YIes4W6aILBJfUfe7cdTztVdD6mG6S%0si43a", + "0!diRT=oznhSEkYLZwKz47fF@s6gE)ini&fuJI\nX$uRxO&RZ$#r7&$-P9b\nHA)RmnHMX-3n7L9N=fC6datw^)Xf9=1Uo=kAz1aZPM(Qqz0Zp", + "jA5RDMWVSEdW*EjL7uR5ZfZ9r\n\\iHCDNP0DxH)\niadB96IOHr#3QEdx#wdXL(EOmQq7NExoWwANm#i", + "w%q8snaj&Rr$z!^Ur$Bds3sT@Xw\nRu5b2sddC#BAJeZqpUP\n\\kpXy8x0N\nQDoAk#pDytL%!HHrAAjZ^W", + "lbqA0UCk&ZRESV*C\n\nSqi9fEv-quakt\\LX7sao9x-3WZvZbEShRVwpl-HemLD2SL9ee1D\nwy@XJ9g6Nd4sTepD@ITUP(B", + "p-CiGaUcD0gi%)LqYOVJKJWLeUP1mZLBqA9ZnZdYnDffn4qCiOTvY$)N99^xfYaZh&IE\\%9kpPU!8v6kyP$IfPTwanrff9hkVhKDOvP@Kp54K1W5g2ToPD*", + "\nFnF197sc*Tp6ulMBs3Tx\\2T0H5grNEEms#9E4U$g)XCE\\\\oaW@n=4^SXG#\n^&ZE%!$kz@j(sYltS", + "TvpcIo$gkbM$PL!kfsR8&WkZ^NMa3f5^seK6!yGJjBj43^votRKdpQe9fyao^vXH*SltYsYUC#imObDxa!%g4*\nk!SP9efWQmDA^%NJKJq=\nR&dk5o&uelxx)Y#L&#syxan", + "qc@7G@=#Q^TS!-nmWkD#^CFHy0h3A*-l1NJ%0#dtzi6RORQp-GrpRsi0bd)KQE3)lH=tL8RZ72wT$R*iiMJZv7E^\n\\HTrf2qc*zV^PmyZnhnqpuK5SGqAL#%^tukGdah(IG^sbGsUg3t$w", + "Wo2AMsq(tKuM=gXQ1SUBR$l7mpN6x32)VeD1nwm=D^n\n52%swnUiPf@D72=Lu0@Z9tABee(bQ8aMAc#HgnI=I@Bw-(^!SVt1d(Ly4No@YzQd8C#pSg2pO9aow*MWheiYZlfl99t", + "\naiMJP1VT2OihgMsyHvxLlMN7I66WdzQlumA8&OFrUszfC8WFJD5(r2ux4dY%\n\n\\OMD!9YxJ)!Ft8s\n", + "Y1o#US8(\n\\%51vOfN5qyZWOxANvtOm&mHMGGSPFIX#!\n5iE&g*LO$PUTl&X\\", + "\np=tlx9YLw#op1yp6RyxyoG!n&lbb^KP7YLZ\n9#KVmO\n2veRig7(6zpg=&06T2vJ3S=AAOksO!R0", + "aaZaiJXnWs83Z&&Ey3hDqbvMGDX$\\i&-5iNkWk9j-Gjb8Ft==*(vF25i$$*=zy^2zQAT@U@xad%YtqBJnmrI\n\\oeHEpLAQw311MbJgwOSfaR2Vyax1ADrhg%Ar", + "hBz!T*RbX5ngzyhfkWRi69rMl*7mlhy4aSqIRCV\n\n\nizx#s&pzhMwuA!ZOp28uwYKXUucvZ396KkVVU1&d", + "jKA*bxs)Q!HB0ymZm6fsQZ)Fjarf!KjJSkaYOpkLW$8OMbyiUlEhCPI%rGZ$yI7sr^8rQ@O7Slyyvtt&Jl^yT%zl*ft", + "&sh=UAKU-l%^64@*X\nIF8PSj4MG53FWUP\n\n$V6hOr5T9&9i)5X7*^3BVL\n\n\n", + "sPo^G^DsfedrT1ixf3Fd^d3NDea=D@YEDn04N(MtYpJAax^f\nPXpk26#KcQLgH)P)d$eG&A!F5&%O2ZpLHkVysL$8oWvAG3sT3Ey1pge&ssG%TauO72(&U7z6K1*bC", + "8T!K1qNII^Jp\n\\=58!pp7v6dh3EeXf$lZlf4hQVf\\p$Jc5%gKOQz#hwBu)NRz-RPb5=^(%%\n\\", + "s4^xR5Y71o8Kd%7$zbBh#Hvj\nH@hY6J\nPV2n9WoXsr1Vztj$aG\n)XgLgZra7^2uiD2r&4$T-$m4YGji3W\\", + "6cUgTzEs0)XTGwV!\n#HQ!A2$YfuIOYd9YfUS\nQA(^MsxBg9wFl*wJdNAQesEL!InwLktDCm%AOnhbQg&sotG4dx47M%7bGSmT5DVDvSJ3uU2WfL$p-)EId\n", + "u3ii^AeiwW1)M\nbhhRS&9QaCAmw5=B22h8aAm60Z)8mwIhCs\n\ntJ0ikl%Qjmcf(ZllGYux9f*4qqg\nvd!pBcy9cVT!Codw%$%sw8", + "l67BqIX\nC%xfA&\n\nTkpH#SU!&h8Fb(a#BY*Fp*aQTqcI#2lilkSJ\n\n", + "r1%Er%KzsG(bkQAx0PozM#d7CC-u7HV@=3YcBPvgEETZK&mGEPXUy^KTWAAPsN63*b0tgjM3FQ&8mX#T4Kx5tf%3faZCSBTb=0hOYq0PHSbmX1T^YZ(Dl==jea$TJb)IvLw@IVCLVhy=6krc$O", + "!(v3cksfAEhol!A0aZ\nTymDw0m&$E-7D0B8d1U(f^*Z@UDeh%PaR3A8u&NUD&b!Rx1HC-5qAO#lp)js!uP\nnfIMqiLW%Nrq-T\ne%Vd4PcbadE#f3SqYvAA=", + "a9q4u%X6($)M69Wzov28$QDDDEA%VsbtZNhwyEY(mYE9-\nRKs%ccICuWZ3v997c\nHp!rsI$yR^HZ45Lo=R1xMAaO%jQjOptXQ5c&L*!s8AaswwlBWmT8jB7lD!ltyH", + "\nyqaMNCJM-sjo!hyBKK(WG$Xqzj%kQWfIr%p2A9B2q\nyqjYFJt)^-J1yxs@35(rT*\\SBc!udfY=qPX(7U%t7jujOEYnwEPA-zuQd$1sOj5ydHfZSnwH9", + "zVhJ5%d%q!PrNfjHFXJUyc#n0esav^l96gtPM=XL8ogpDe^s\n\n0UCd4ehTHzL%J^Pl#^91W4%W$@&hNpP8tYfR7V=FpUkS-g7KVRZlKgz^YD", + "\n\\cN-m#LgqzwsMffPi=53TN4ogcDteyV^ai)VoRrvlpQ%mPT(U(a\n#2^bcX2=ywYsI@DctcRii2fEcXnB(nEM18\nJ5N(LYC9)!jaNrc7@", + "6gxA4!ylS5ttqLaGc=expNrI3O5l@Ut7SgS5SDy9apZ2Y2Fku#\n!wGUYCoH^Y5Uy8L@unDjynhu-i0uq=nuYgj9#hZfbGsL=j\\tDdo5d%eg4NOoxQqm=tai", + "j=FsRzy=n8%ZjugHAyJ\\8FUN4dFoLH5&48wdsJ7J8zxzr$u%h%QDJG8!$on2kfxWqw67\n\nplLk0KzT3WAR6^", + "g4$K2NWST1dx^GZbsI3miX2lUG(ry1z2aK)A8rlHOBm\nhdD-Wm)U&S9y8mYCgHsh5UBdDV9JKLbMvF5)rNro4@&4vytJLa*&qu&*&m5nm\n\\GRz6VfGBQSfUf)Nw@X", + "FnFM@==G5S07=Xys=Z@c^XhzD#oBOUQF2gB@#wQ\n!k@R^cI\noYf%EfXx6sM!EntcoXg43T^f!R2!OdvdGReRG1jSl5Ub5rDMQOD\n", + "sa%ax7N*(3H0QHCYDcmijIN%@TuJyAkTgzg&nQlZX\\qSXD\nH7tjClOaqKWR^IE!QX^g=OD9WgB2TJSj%tJ5uM", + "NqQJQHR9bc\n7GRq$1F-4uQpWGR)qHt&vppT\n\ni#uhvBsf8ktFb-PL$YR&Wz=0oFr=zBfc*S3BT26IlD@OozofVCnQJM636ZiQ$aMpOJakXt0PUrYuf", + "d%N$SMP)51dfCbwdt\\dI(6-rE%Al5JMSie-TP40wz\\\\\\\\yC8%pu&!sc$vLfK-KtDcrcYSPTGbxP2\\", + "\n5@LyO3@p*#Kb%y\ngeF(f2yD$i*9AoyBocweamVdaP^)f4s6LF=dwdx=h(uxTM08@EARXleY6g9i#Cb^OnFRY*KFNkt4b5fm*Fv^xN3%3DCKqhPQ(r\nAmX64(Vjc-UWa", + "ulBgGKBH)PQja5lYf9x&p7kalZZH=dS3U7-do0i7OlkHc(bqlQ4FDLje(pis9yh9RL#eYv4)I^!%!(Q8H\\\nTd(mgOtO9H(lmfwKO1lc9hVfY)!%7ZcZ^y8bKExvt", + "&-!2aU0KX(Y2V$#=cjk2pmjf=!-uUs*3)o!D=V5qUd4XxKEtN!^OnwIhTa*VZvK\\758f5Z6j6WR@Ne97!iNUt2x4R%9rV7*N!hI(mnZy@^gUMfdk6s)(90q)l4=\\", + "\\CVXl6n=U8z*2u8GpGPE!@L^pc$Eq-2Jo7HV1bLIP=ko*)&m38PfEV7SX\\t86tsZxbzwQ!GIgcDXWRzy\nb^L8zZQa*kLEW0QKSim1MH\n", + "IR2BmV88UP54=Z9guCc\nwtHb4NO7GmqUaFWjW3vIX))ht-7mcn%rcvWNLI^LM#ebMperi$rmrmi5Pflu!3g$0Wpe%=VtLDL0U@IDX81jO5=9y7AoK$Gflggtu=93g!$drfqZz", + "(ovSbxY5sq5b9=t@L^63*3@i7*AkT^TXqh#G$u3sVoM!fHBM^cAp5HC9#lbEKiW@tH6el*OPIryb0r\n\n-w%&#GPrEMVe\\sd*BJ!W0uuq5qqdp3Ibx-mN0rcVZ-QLCp)%)zN", + "V0L$FCOn$\n\n3=xB*wh%b$TNqJ-nnwv@GI\nQg09!ES%pv5V-G$FWpvC(G^53VZzfvv==wMt&Dr-h1V6*!kcE\\", + "\n0e-IbqvRT1INp%%n6Ye^xPoIg#NjC9a$6tm(&c-d7xEH#f!bX7(eQ5pG$ch)rvmzgO=NwI%woWU%w\\\n\n", + "(UhVy0qz=&Pada-qhr6vFP\n\nXjjxOJyc0qPTd0uMDWrQH#lz\n\n", + "g2DaLY7f^^2UsR91h4hRg$s\\53xKaop\n\nRwc21vXjA9lWTc8K7eT-n*FKIaizGya@YEa5e7HRrUu8\n", + "KN3aqrNCX!m4&i\\^BLf5hT)9#SB@iK9GVWK*Y7I8J&gNlM(Gmf3Y&sW=7JReMj3JFdh\\6MKAX4@T#H0w*oX&quvx\\U8&doTW", + "djZQQRR5soenaOVoS(^f\n3PxckO3eP&p3CE9ez\nGUoZzIEF2^bUNY*9TE$Ktlto6-mzlAiW1pR*fkZnjweHuB$CP2AE6eJpjirmx9YD3%CndE2Jx^8WQ5F$b^(v\\", + "1hl3qz8q(4UgYrF1z*z97Ph&5LwXbE(DL5BOhG2t9ohWQVN#o3*EZAHamFV0QYwG)xJIhJ@zn4@Cqw3qL%w-KCrR$hEmr9Hz#Zcglr!0TJf!7X3Qq(B$n0%LF0YeQZ\nbx4NLEjWBdOn", + "\\\naLMjK5%)$dzOTlqo$fsGLv-eIDWdHa#M-1=3U7UJDMxg%eK2W*z4I*!SYRE07iO%LMqyGNO-MP2Lv4v1kynccDl*lhQV#Anl", + "2a%DKcun&7n4IBQHK%A-0!SqATL=#$LaCox\\n$s%&au$hhxHNeU4tGbgU=vvPOkbq0q2tYPtJPCsV7\n&(5hok7wFl%rtm7giFA^m3OYsrmFlxSVFc&(@nLf9=-g7xC93x=bg", + "p9mKEKc(JlQxZmJ!7c1h3=8ACcO3BoG1Fem2nR\n#BYym%LubRX6enOIiZ$XjtD#u2&Pm(Y&BKfo@PLyXfnd\\Q9tI!uijs8f@!FEWg9IzY$F0iwh%qb%rarS8kMua-!", + "04UyI%Y2i4\\B2YtiOsRJLa5KluGuQ8$GEn$J!fTA2lG4%8Vpr(RbM0C6Xl5gUw0K6sL)UP%I)0B83pc)22*vVyN(k3u\\", + "w%jDUgEUmmiWSu&MIsq0O2Trp=v0Eexye\\\\HOrA\\GRx1k9ug@\\\\\n", + "Q6jPu4zjD%2\nRH%^=27Y4\\hFiuQjnYX1UGifm#jkw0@hC\nX)51(eTje9nyN^Yuy!Y(mTBljte4-JSpndIx4g(-6c8No9EjR", + "h!5OeCNRWGZWR7A3-IhYBMVpePt(pqZCgfbQEV9na5g\niQMK(zSLrLz%$mSyO28wPvrT&SvaotUoqf&ePD&eWob8dBGPSbJaej#5G&*!e-PmlLmqgr5@Z)\\zwFhHEp^Hstp-", + "-GrSHYsqiCc\nx*Z@pT24Qf%l0ye^WfRMK2IO4M!2\n9K1bjdmdTv6yRq0yeSSYSP@9J#WmxJnQUDH5L*M75ea-xZz2$w-%@g", + "wP2K007h7LjfPdy=PtCm9HLxsota%WNR54l7#!Zk3sK-wC^SwwhxnP#x8zavc)jwf@&Rc)Y^F)PZvhaWN6)AwxQsAHl#eMJ4p-USlnuFzw&fJ1gCzYuG)K8eYB\nn=Am3adL)FxPUhPm^cCV8SY1", + "kEw$sVJ&wuB8D@j0Z3PWKf%\\muJ8sxCO8ufv-$9&5Hp%8UEpi=USP#cW5i69(czleV-&OaVNiv*21!Xw4Lpu$#^ecNiKoEJBXf@v$g0768s\ng%-I2au", + "AYQ$OH$8)jQMqzd=^lQN-pg&*YNdLxbDMM3NdhZ-6aKzLy#crWJ*93xucJn4I!JS6GGb\nYRL&Qz7UiY!gk^\\oAr%uy^V3QQ*s#6kT3AUghFDVBMQhh=O!up", + "15d746r$3Q(4h8=UuHq^Rn\nanfmiHuP(nNgQya5ebNFLTvUMA5$O2d6bJyEPUO*1V*ZvE\n\n6zwYAp3eIZx2QICdSv6H^eNO0", + "%3^sf!Nriup%IMil@CAtk\n\\C9EYr2^CVNhJ*5s@\n\n\n3)USSkbRXY9UYHuRXboRK1@=%m-V^AqRnvcSYBi", + "Ykoj7fBC$jJ#F)bjckzrABUQ\n)OqO)KbsSvNr^%VUw0KGORVhpvET5i8QzPsMPjIv$RoQ%&O3RLnDUj&9VDkJ@3BSAU-C%N)WYpw9hfHmpH$@", + "vHrrlfEp1((nJr8gUbTHHS6124CpZhWOl7$@y-BjO^8FtJ$UnEo40A(TbtGBYSKYV6sEza(^=FGXtQgX=2\n\\\\wCC$LbV#opQhLA@aa!", + "t4&5bCgHE#zV1Iz&H8mJ-QOkptoTohWze^teEsTdBM@-MjZ^pZt200CA5DXikJGdq$OCsYSA^TedTaK3^LZXUUMhi\nhkq@o3HI\nGDiJI&B$F%yHR=Psq", + "W81P3h4USKoo1G$o=KTo)WmPA&&%7V(*n\\U=!Dd&wGkRn%ILzep$hkVD=Uoez%6R#&@1cn&\\B8%o%@%b2Y&X%a=Aso$VR@*A$48SxUq@(1s61JyE=JUOX-dZk6", + "\nVTqmVJ6M@liXGq=*3DyCN65S\n%=k#Lsi5zA=ou\\NqPuXGnjQ\n\n#ssIE68)oPKuh", + "=5b7nHBwT#cpjouO7(eDhmQA*&Rr=24U0CGqFe8LemmsHrVi91*efcwy01Fv0(8i^PScDU5TuD99sl*d1cNRZ3WEtW1Y=cOf2sAbcYy#%jsBrw=1AK5aPMDTg095@CDhEtxYXDVBCjU#ds\\", + "\n99Hv1Xc92cmcvan-\nbI)EcqO*xV=xo)ou60@W)k$jtRL-M%$TWM!5BGEitP=pZXbczBbb3Tol(N=Fl%$R3-x\\DRl#%Tr5&=j6$IvT", + "h$4i\nqmk5A2wzJfN@9Gnm$%Mex*Q%!N$z(\n\nECu=X4wgNS1ZvbHwG-ZoyHUhVixeB#Lw^AlY5csBO=cxGD&Q(2rrn0", + "uxylRgtTWGMp*kpRCgfrr0y%-6dQDky4C&\\*$g4gj=Ag^J)x16RDqM$F4Nmi#6=M$TCN1^a%(*xgi5ZYFB=%\\!k6hLdz70W2&Ak-yxi%Jif%VciYTa@UWY*s1TcO7lKxpx7O", + "J11vzbb0Dd*lAhvN#LKaIk^1i5HIniQ=B!#YX^Ph^WbptC\nCkYyQZ$SL)WWJRz*Jr-*t)XSGpQHGFg=*u=RQk\n\npjnCH!Y", + "\\Z&Y4ePmd05ZGKL@fa5CN\n8b!MV9803-h6qQpL\\\nwM6tgu2)8B2-vmdFuKvW^obmnf^FOVuTiREsE047zTVu2e#nVY)MzldLJE44JlH", + "m^Ndm(f)tmSinjLYQk86^^\nLcpm7k7ZyqmgZjcvWcOuDR31#S3=$Jh=esolE(aEpzDww5Wkx7TvnxlVZdTYe=wS\nGu4d)-@eJVDT", + "\ni-uC8kxJx-\\\\pcsEI!PXDTseI*CNotr@jEU-PTrnzihU$O#6NQq(0v9nTCdAsRnxmH%5*(UHQUt*GmmTbJ", + "\\n3K)DI#i#yv-%SRFS%qxjqxI$rS^@s0sy(Eq)YlckgBr5THTm&8KNa2wF\\\n\n\\", + "Xk5yxvW*!NpcOJnn1n2O-j4$vn-a(xh&HjtSKIDFvaZiy8OGUuTSS=-BI1MK4f2)fgAaEmwWgs\\K2*%B\nyYLLn)Vdp@qfRn!ZAbSArkp*LHB!Y-(CH%uR", + "Bmc2=nHfG6Tuf^!Iq!g9\nfy$2M*5P!e&OLs7yXcG-E7^\nEPeYsP#lUF-l9LGI)-95k-0RZ5*5z*YQTgqu%20Xs%%DH$7yGf7%R^798WuJinJWaA#Kt0K-RT&gkUoPSdm0uVe", + "k*i%wQ&1RIutfbdUDCl!HSA\nzSC7ZW%)^7!x=mGNXtIFAr@3pHzP5nncc9lbF=6FkZ@R\n\n-g)8bLXX^HjXxJI*(*(A2\nZ3jnMgq^d99XpZTd!HCd", + "9#hSYL(3R0FFMI5J5jrJ=d8UNM(6\\\\\\*%5S^*yTOxt5-*V=qa59$\\4wwh)=rbv&C7V7nq!Lw3KROC", + "dwKc2uF34j#kRwSU49KHtwENTVo&5R3z68lJ2HJ9a@weu!a^xdaFnneD^r\nYM)x0n7Y7bx0Cv*tE=9\\W(Tv%\\\nE*-Uiu6dL", + "@JJ*LGOLCGJ&09g$qTqfxW%nF-7QztEFSfwnIi6^OT%Fc(JkiFC)7!j7fgA-3SC-EN&#Fy*%NqQro$W\\5BB)I(Fv8V*^T6w*MfOpC5JHxTwdLJyn%%ZI(Bi5Y$w1=EcN%NG47v0OATw6IpH", + "(oOA2ZQ4m027lyRrf0V-P-\\i^rv%Sy\nZa^LP4EzPKjQW\\IpEs-Iv29V$rhD7adOND^RzTR7dLT", + "&Ct-NkypWSvgwtm=!H%BI8HDdt#wZj9jHLZ27-N(WIwMDnYJSFWo4fRc8&61BBJSDm(pWq^MJQDri#B\nNiSCfXmSbWp#9q6r@37RYYHG%YkfRtoX$zfALi5S5x", + "LdsXo0tl--BtBBWl\\\n1pkL@#d8P6z!uyEb#h!^4K2sjN@8tdE9l5GlSrRRaVD2U*\n\n\n", + "9e^4fK8(Iy^EX@n6iGYdJr$qiFr-*5EB^6(Eih1-H2Uz8qDWXeR&-N\n\nd0@KWplM9s030d7tCtQe)xKCEK8jGPvX-p25ti$a&!HEDx\n\n", + "\nsTw78xQKHGJtXMxCfit-1m(qztIB78GcZTJ)QUMbcP9PMeF(dF#qftMmqBRZIdejuZ2tP!tT&UpuaSa4=@3iO7cR6eK)9ibGWu&MQ$lZ30MKy6VcXKq2aG1NUWpmJ4)t50a^mtCd7jp#qe3vdbbgCZXEBj=", + "6PC4a!yIU!8*(s4L2%sBne3JuKONUw^0RNqpRhU&Moqo$cx=^J5fzI\nE6A%3oMkRb#JCBN5fab#Tnwb50wbiQ@3X&0Xw7\n", + "x8VNmzyUvF$!t2!uDhef\n@6yG^v#c)-G%q8IsBY\nI7N1E1IP%vkK5(4e#SVn\\qs64FI6S@OMexRpp(-O%gXpDnE$w%i@f@Sy3cd$z^z", + "a$pncjBXm)L=ISZOv9=3526LV$mb%VFwp4@Rv@5tD!(KpnRT0BqdiAd5Bm7ImyA-^4QkzVxy!*h5l3Hkw925\n5su3qVYfLWCYbW)Xm9PEdMG7jMK!R^5F)$\\", + "s6Dk$r\\\n=tSH-T&^N%LvMzBMTHaDVRJpiGY#rR=H8Uhe=lPCzOp-*0udg@lG^!=Eao7iNiuS\n\nu@!zZvqi6C^RocAcrJ8p\n", + "Mln9(\nDo9=i4SyL9g1wW2WJD(V!!@bpK*Ln^9\\$NUVxArKik6Si6wUlQ#p!X6GJruH9)DDTp&TwiQHdX!OI^UAicr=P(Jq0264bXvgzEpuZFYsqw@^!A", + "92jZx!uL8wY$*wur#5OqQkB-%z^33((zK!&12H*qv3TNWnIul&lam=BaE3uI6Gi9CR\nxmbnC&L*X8Ol@eE3$7!PXzb54s2^ev&pJHcvatoVQdZ%&Y-Fb)1)LU9zdF@sz!bdB0s(L", + "@GWZzhhCC4)STFOyZmV8GttptYrDXUpVQoZ11Lfh*#$%kYTc&5H6=()6qlrpb(JA)dkCU3tLDg3!1LL0PjgEkL%N7\\\n$2aCA$f@dv#7k", + "\\wHcH#eZVffkpBBe\\c$XyKiePlDjolymw%xS#rpAhPI65%@LqEMpNxu6Q!==7K8q\\3!oIUDbBlOU005pUmz^yTq*Z85s0BtaoAaxs0\n", + "bO^cu^d)cHbuDST6VTe#jkZL%V8Pn9TU7y1\n\nQFYL%J9YmIspDDD)sSPzWZcl9W7VstLJ7Ep0!eR!\n\\7x1d)sYfMiYz-Rq", + "xLR7=H(ckNb7PB1^OR\n\n1swpnG9MKeBl)b6@VtQzlLO^YP3sJbaLtSW*P$o*LCDjle)4@osjXTIY9Q%C2Ajau&o@fCjwS#Ng8x%K\n", + "\nyAveJ$Z9440#pRZBFUe(yZQeWI14&%zAZ2faEJH0(ClA9HgUKD-UXwguik&\nObD#sMPqo^AeQGBAr-snXUgwj7hkNL6lPMDdAVf47MQ$AJSKel)(dCNv3nPjD87tx&Lh@1DQ(", + "\nzK9osnN=J=-Mw$Y)P5ztdV=7Q6kVX8lBHYj\nkR%zn2^f49gz)0SR)&H*7OwV7e6!DmjScNKsf-Dj3(CwTf5FrKgJ8yWs$ttA10^lcSzC", + "XbFH6cJApm#AqtPT\n\n\\\n\n9wcGgUU7a\n\n", + "\\@gtOxfI6wW=W9NPt6^tk\n\n)MXj^jlh-KUk7%Hr\\\n=(XIrI", + "yL7Vh%PN5@MX4euBi\nM=XqivL*XH*rh@l8FE5vn$$cG3Ciz8ZjlABMbNBjgLwjY\\\naippZnZxhpJskF!jj91u6GR8#jcjw7Z!Pxi4DCjQcbgT)O0x6O", + "CF7wmeAMXeZ&5bawJ!J9p\nvF18M&QDE(zsoHM$^W#1x*CthO-L8o&Ohop0Lcc2bl&ndvQ9mMmGUAN#c-seY(Ev7z9jFLxFmVyW34k)^Il72MX@CSq(07KU0T4\\", + "@ed&z6e9sj!GY&uCqV9VD\nW%GC*Op!^@=R&3WMT9\nXLw4w2eq1FqHH92WE78G4=BHfLMEE$i7&5SZqV)vU$wDqVGfSkHx8Q67m&RSnt#T=tG*)5%J7nagpVLKknpnFt)iyA\\t9T$3K7jiY&pI)Od(ekf)PCy", + "AMXT6GxPuYsFcf$SChhPUEkcPbm*^yfCB4uLq#F2Qnn8!*9AqQF0yd6qA7u1p11*$K%Y9\\\nBv*1y7BxUu(I^RO!(Ies^0bC5bB0R2HQuF=^y!mhF\nfc1O2=Zry", + "\n\nuLl-rKtCKvggK#GEDR0qd7OwjmNY9O%y*pg%fhq3#(K(vV*CGqnj818XlHpmQFo\n\\b=kQ", + ")bAqP3u7w-P=uI=6fzi%1j!)R9EnPBFb\n\nJzd(!2!n!R7=)z2&\nbvkftFKY#gtPs&-BDvOL0Mk)9mYfLwtMAFK=mFg(kwo%xqG", + "ImPDF)0R(T\nswD4\nA8EVFUPnq^5m^O-iXE&9iOzxT0Hb-dlwwookQHUjm@g45\\pk5Yl(4N^k@zq=Lx%G$rLPYQjD", + "fO1&MMK07skizeMid(V%YJg8N&M4uUP4TCE4-YHZ@tt(OeStwGir6CdV!l*))JqUlz2wZ$IB!%J(Ra0mn^dkH0ns-#59G1Kr11ywuzB@4GeHN6*ebuPmnpBU*U)iYg@tFLQ0buCGFb94^k*1mK58", + "YBu=tCMmacAY)x@QjB\nvGnn3(WR65Z$GK&o5%ebDXW\\\\LO-pRG%dlb!kbKYZaRfPtEwhlT-6)E@odRW=RC%UVTVaZ7Ilx18CfHT#GC!I5", + "psfA8%Jbn&xas7ngp3B0Gd6&8k\nX)pxIS=Z3RiRZXfHVocz@Ic9Bg=FIZz@KD(yFn!JUEdV19b&mXsNm&bK-zgy(s6xhtr%\n\nr$D-DVV&VWU", + "\n*Qib7VtgChS0Bk0LqD^dJY=IURH!=w@u)DeJDb1njEQOg55optRc9M\n2MTVC3u)zj8yk!Nm2RFQp497x0eTFW!rhSFX54\n", + "pcEitZq&D0\\e$3QzDq9jb^A7HSjZNTIDuPOdeB^VstfBMunjDWInchjRbrbn%AzrI@#IhK(kJyuUd%\\", + "ft!A5B1qLo4FNwbzHz83t(1^bXtujd&fQQ9cc5ddc(Ooqt3C-(ok=ieh2ntM3)-KJ87^qtD\\\n3G&9Vy--r2I&9E95!0mhjZ1I0uzp", + "82M(VoB82XXw^Ec7Cy5byv5z6dvb6tgmX!^&Y3Z\nMOeSLNVbw#Bt2\\Ha&*KU*GEp)OIvDkJJGu4bqcac37\n\nx1q(nU-#5qo", + "(^P3j-gWi*2FCAq\nxLw01v&uHbKl%9Q$b6(znAKJuB^itXON2hTydb2iC%nx91(-WoCt(%BLILyjH4%uK&Q*Mrhu-lN(ZR\n\\GT0=b5TC&*", + "s%v7Ki)66DXEme8sWWzWI)SkjO!)6gKFTa!Riks\nttk7\\\n\\1qsCspcymbouNieqf\n", + "YxQRwBKhzoEpMagrr(%xrpkNfYYlC3\\BLLc1L-2sa8wIxAd*2SHTd*(j254O0gNLG(L4e@2u@y@rQo=tB4toUw%HFO\\\\\n\\", + "3vH1dNjKGRTPPDOGG\\lfv1*ig=lJZAFwB39Ai2pNSag1e!k^2Q%rH#vgiAn-mOBGr&pI**bRgDXvxP!V2Axk9lbh%4FKd\nWCz#&oLi%xXA", + "siSG1lu0p-4Av)azr\\\nmq==k^L$U(SQIpr1(5FBt^#k!NT%bFLT8Q#Zu\n\\XxylBkeISYiZ(0YutQp", + "GXK4QBpo2ufMbQ-ql%liFHgjZiHyFX3D=Qc\nwrJuRi-cRTpu(m)OWS%KjN%o81kouo9mYn!J^Hfi\nc$f)iicKB4o1I\nSFKZro%2g\n", + "NC(v0MX)&06diDA2qQ#ZVPQ8m(O*zAcrnuEPAUp=XkMFxJ)FEl9crQ459TviW4e85lwhbgci2#Er$C&DjE$Mfts\n2xWr=26Q14AK", + "lVK@p\nU90uXYz*P89b17dvT)AA\nO@XmJR\\YOvo\nAbb*vBCrm8*QNqh5l", + "\n\n%aH*2WxKpYYwC-gPcx1%Zm!\n%kYIqeX@n1Cwb4\nNgMRGPt-U@Cqm^V1Z02e018PJcQg$(RHs1yOhqX%h", + "\niqWdi#idod4hLC1s0(3pK@O\nPr#@Z5i0-wLLxU%Iebg*i&KqPv8eUo2Uo2v2HB5nU*6\\bIpAx4\n", + "q*wR*HyCCUshY@D@8Wo)\n\nZ!#^C4Yx#R)Jt11Y%&(ze5zQ\nAhN)lT9dKZTSanzSpb@$1ZBhqm1EjRwkUw*8xDHOb)0iTYIFgxT3pXnQM", + "S=xaC=@-PU3NdkVZ%-0IL3\\!Xo6wIH!VLrZr%Rqqi\n\n\n5@ccVmdwc2KpNz7)kn6aBk)SZDC\n", + "QnteibQR$dnnuYD!GbSn)bKww1\\pOk0Ua$DE@gxya7pjYcSDl$dCk0Y4x%13&Pz%FD2DHmCCqtlZTCQly\\\n", + "n^c56wRcY84KwHKRKpUBG6\noFcma9QjJ\n\nWyKu*qp$6&salO$GzwL8tfvfc4S*8k&*(ckc=\niorEZ3=ob(Q)pmSsTO$m8KNQ", + "\\yB7uoGaludk=4fKG@&gAWXTD0fHe6O!IPMzHRU\n\nel4973&G71FEfjkcgzWhUrBq$%3WB&WMLJ8FxQVg5E1D7pzH%v)s8b^u", + "\n\ndhKgM2XG13Rp)dp2BywVe9$O!t&zdRCb)7WQfaN@YTE(8i!Wj=T1fO0dpE-pkTnz5CV59N%3\\j8nzn4NNN5NSuWVsi=LL2", + "rsUeyNLeZyIIcVaojeBso*QADpEOA-H*gic=(t9F@z90w\\vLqS7zqiIYBMZ#kVD)G^Y)*05g^eciyk&4o7GJZY0vNSmh6A\n(-SLErlK*m", + "$flzSF6Vjx(O&PNeDLE\nUN@TH3*Z*zQ16i\\\nk$we@%zQiXUjL49m*Z)QNtm3v#!b%it9NmIT0#sjK7b*ynij4qTS", + "\ntX@Peyc6^6ZaiipJWz8sT8!2avUmCkB@8Wqe4a\n\\e72mxoSYRF*yg8N02O*Y@p)h-nQlc5aPehV6s%p3)QG50AhD$D@lr=R9TZL=#wc7iGP@7wr-oSyQve-D^on", + "Bcn&Gh)q=x1j(VMa(ejXm4wUG4GxAJE38jvvdgm)TJmgc)!A5StXptA8AH!2)p#=yeh1wlIh-XrkmwD9SwUUR=eS$AKB8rZor=ZdAR-lSrJ*&7CK7af1uJ5ln@$d1z1gNMgPm!0AE$v3XEDyh1yZ2M5taWfRYI2", + "Zzc&BD#frvR9LcHw(@\ngQEK4uYhc6GeKE)m*lvZW*\\\nKG@o=0CBm=0G$e=F3PpqCs^gZ7I4AO9Om@#=MOe-YqVXYp#Jilqni&b", + "Ty%(qz&(p=BURJ*t-*V#DN-P7ghMxLKyKgTj$s2BYZ1DQm57\\\ne4nVvfVM@J9Fa&o=QJ!vl*\n\nKCuU400E9@564NyLxpKELKkb2J3&G$k%Az(hg#MBg\\", + "7cVa7AA$yxhB4z1vxCrbO%IcW3Fow1h2wZngHUgg!6n9QWtiIu)%$Oz3lF(!U^tCIGF(fjjzKeUgdpCSKWta#J=vsw^ItLyGA2^4tKKdt1=dSRAGLBSx$JVy0RKBiEiCUhWZ%gz(XjticZu@y5nV5AXcF^WhBKo%&70KDCa=qdJFmrA6-j-W%Ee6H", + "\n\\\n\nECS&pt$B3(39xO)x!GPXd##!aAIWXCpx2kcVzVxjlyU61IYXjpktB%\\itkLsNcI@S##", + "\nSrwHF0O7UYe7T$2DV=m\n\n-#LZi&y2&fMx%xpc7yf-dLYJ-GuDdUB&qLBK0sWhz\n\\LYJbh-LW*pKe^!VleOV=!D6Aap", + "Y^sNCrk!NxGu)*A5NzL=jkHH4GL%7zHRIgo-Uzp2q6Aa0@tUn\\\nqD@TaAyxf9pw*q!HE6mji#GZsCRypuJnO=Z6i2q(MPos!zpoC2dz4TR00", + "$)zMl5e\\\\\\4zLDPr!g@j29^7\n9a634Zfx)8ajFo5Oyni\ngvp7!Z)xwd", + "\n\\$Rdh&!7doOrFH4%#3H75Z&2CVF&^H0GpF8uA^d)#PN=z^89$@hFAEb$UypwS$1RVjHV5=Dn8W(Xpc\\dFQ(gAKGV", + "VEh-H$4ph(HNeucMt42amOCTyQvjTLodO5rMI!2kplp&fJ11t)VG%mo^hMiF^ki@YdEi%\n\nCUel%)Gnd#2E=V", + "D%*5-vwwRcb4=Y^zP8W6E1U2g7Qm#Cs)%Gw1(7N3cfWxvP99OVpvNju6u*Y1CX7OPNaVd791qatSJdL^=tpPUwv%(GBKr5MGx\\1)FH%DMX%#zzZE7$(8FAZ0AEJP", + "\n\nbAURt*S)!hW4)vD\n!lHf))N9F6r5$iM66*4w8Y=551lToct1zVkALB^5red^3fE2fdVaRUSa@D4xuk%#Wh", + "mn7o60&0rEQ4=DpmiK8\ne40QJ9t2rJIx$CmwaQZ5b0wYQrC5VOX4aDi)#\\!MWQ*(qQhbz1x^e@4zR(xSY=k\nzBL%SjupcStBIK)S^s*bh0hk", + "kNAw4$D2S9hzg=OVf#zW(z\nMY6#sge#lBDEWDkz!GkMCbXkPp%9sEsUzv#s$8\nDHmpZSrB*stO9$&OBp3ykDXqNruqc1", + "Jds%r-XMv=I6Sh2G&\\s%s#s=XYhwz\\F0Y*rQGnxXxIrtl5^CvB3@vXCy66YLqXhLVMfRwk3J%U\n\nK--2x((Z", + "Y1dTJoYqjySoSnaT4SpUFCM1Ui65IlsqTQp1*yjYU2K=$\n@)%4jrWVAGiQTY5cyH\nCrIoM&lJ68wak9eoecSBS^\n\\\n", + "#PQ9^91R-(&YewmJm=O5x@Xst-yc*yA1-L3H7OkT#pw#!Fk&tGk#zzkKGP!P@NVCFIoEw-RWF^9^=EabsOoxUAs*qW4n\nj$xp\n\n", + "q*zP6^=a(=qiEw!huOWiq&UfMvCD#v67vNH1RH$q^8zF^1QSN7yTKxMWB6)nvTUlf7Do)y-4u0Io7\\\n=hj=9Qe\nPNaPPXH3Sxz$", + "\\cvmme!BK%4xB)tq1vsj&6D3a\\\\h0*h$TNR6huZ9Jy$MXsP$NoqNJqEl7f)5gfxz#jFh&q^Z@tFt0)(Dj10t1e1ntKYft54u@S&-=Fr", + "eLDRdkT4n7En%0S$n532X^JD@&yL(lVm!D2UW!p&bcad&g0gIW9xXXd\\f6FVVNb9muM1(%*&\n\n\\NPA$(UKi", + "\ny!1BJu8$RG7w6FudKH&qz%XAxuPK%Lix2rRTP0L1@6NNltV$d%)#XILC4zrB4CQ=eRGP(fJKnDmh$$KW1JF$2\\", + "f^W*nwUN5m$o0jlUn%95TvvhdX5fl\\\n3$rl#KolvWeg7c$J$xHnCWvdUFlId11QE@!zHx#1qplN\\TGUXE@CbV2UjpCzaw0nv^*Ue", + "o4po(G7Lg-ne7zzYl^uUvXe@HudSyWoF=h)^i\n\\xe&=H$fxIzuApsX@6eO1ZjM)5\n^6H9LblxC!K\\7D=wiAENJ", + "VOoNby8%dUoiL(JW8&3pMaZpzQxD(^De13FK\niKTD@#%1B8=(Bl\n\\u9X^RE0DU!U)hzBvgu0fkUeM-x6wa90hfU-2Gi*Eaxe!E5g2BM=d-ls=0As", + "\\NHIX1sXnNN9N9pmkL*6Z!QFz3x1ZwU^wb1jwRN^n#)D!B310fUn9KWXYJVe6O6Dol!Hq=7xL9z@DgR$S9dZq\nG1-iJ-m80UkQRd3EC48c-GFni2QupMkSMEWqyo1SR", + "\nSm4ATT-U)#=6oo1l(MiMq*R%\n\n()JgVu(yC$88jI3@agy2c)=Fwar\\Qn8KC#$&EAinwuyDSu7hq!LB$rnK%-", + "\\JRieFq7=gVb(-M9fEpXD*#JnVAj!au!^S^oi4NRK!0LX(S7Km56FNs0gk1aCSwETbi*ZrAvazT*HGb1@9Z)l6$dD-oj*bElUSvnGlsV3)gO\\", + "%98IjbeOxWXO4zfBL%vRh&(eG$bxomo$Yzt20sUSYsg8=cKFVxtpT3xc4qiB5wI2GI3Eqkk\ny7tke\\", + "iExMzQZHSs#39MEmoK5&@=k&\nY9^ruID@n&5#33&70eo$buT0bn-&C6#lNlX7x8pToS9bjj2jP\n", + "mT%RdvuwHGFP7mEul@dC9SbrAe3r2cVuYMj#me-)SFu\n20R=FrzeR\\\nVWl@La#$klKbrxN%8gkZoPN1z1iDi6", + "fBkd$T\n\n\\dblQQkv1M%-sF=2zr3c*RhUS#zYxhgI7RzOxy$$\n1P=6b)j!(IbMICiK#U0lg^Lq", + "L=EKMXLp@Ya6nC)m-8lEBHpYgOLD5-v!Ya85%T*7fXsC6w@#EQfpX20SjD\nMpP09N7v3f*j&3DUY#g$DghVq)ZPO\\f&=N7Y5&IJl)Qji5Ft=3aJS#rv", + "A#(KbQRL3AWGf^SdCV0Qh!SbFZJ7jk5)XZOhUPZWG@jp$Tg7WZ7TcPS%E!wT-u\n9ADeptp7R=mqFXCVKc)Js-Y9!-ul2pV-gA0DkrDUT#L0Q)M\n@(8LU", + "\nR6HBF4svL-%OQ1Dh57hwLR6)CX&55\ngLsVy8LU5uG46tmCQm#9PL)n\nl!#Kh&%S1@gB0eWSzaRi4sNRoneb)NSmc@CEHV%!KopUZ\nO=YZSniLCoYkJ", + "e2WO!j0XJE@zUvy!^\nZMq-Yd3!jMk\\WKbj\nqOy9U@reRKV3Q!O%b2Ubdm%zRDpezmr4\\-1fuCpR^h7P3l", + "\n5n#(9WfiP^nBn^YFk#FD%vp\n\n\nyuA)LgvU1ufw7JJKhGTubi20i9FkOLBKoN-zHoElrawf\n\n", + "\n9*ArcQKg&B62E%apXeRqOr7=IK&\\)KNq4ciDuf02afC@nPAV5Mn&I53Wfpd\n8uNmn8&zMaBgXZaV", + "-bcWG6h!X@MLX3o3AIotxKZx\n\n\n\n\nl)1wnOd#%3cZRL=Va8HWlYvfIz^7R)HE!0!GZc&", + "\n3WIEQR=Bl\nfZ0N9gk8Slo4%i#a6Jxch7yTF2%q(H^k3Y-QV!%cDcKrBbLfKjI)39yXsCwuhZF&^6aU9iJNWnCKi5l)@nL!kK&l9*h", + "j=C2XN^WfjC#nR1xHOGb-m\n\\H41Mte*a9y1b#TUb@aGOnhIrpWCX-SuK%T0Ryqf05cW3PRFK@\n449qYRvc", + "oOFA5@jMba(3VRTqiq1l25U(hbTTB0LCS%0NKyUlPfwY9qRcsdAg\n8kCv*hyvevLjUQQG%mYCs&VUVPha=zs^E$4F-p^xY$n0e(8r=&-91z1ve579VXAlLiRDKcRX%@np$MAduPhI)UlQe**&n)eHHG8gQ", + "2ptneGvsQcK*6iulcrMs@X%TO$0EJlyo1@jy-#gOp$vA--OrW\n\nL7(XH0)NMmrzA\\y*(Hxq1S=A#IVm1Sv8dM0Ahg*Ra$T5TD", + "9gF==IFcnDJ%cn%mb&D=T7UdlJ-Yuj!H$6Po**Ni$ofwoATfIKuyK$dGr7EYKf*MC8SPQRL@R(vekcnRYksbpNkvXhekKSHTmF@Pz9JFlXIryR3-", + "btM7eitVbq4ag4e9noF5WXDI4qYIVB3LUavAiEq^F)=kvZQxZF=R&rqsUVyt9Zc@c-3GE7Cn\n*rxBvRa6R8gGtOKs^#Ykw3fF=u3jAF@kL*\n", + "\nl52TLBzXS2VrT=rhspdt-9aZhVOI\nNFJBYO(haU(8fhYHymR$p^t6A=\n\nxU-E2-Qo!vrrnzREJ7yXnnaH)v", + "ct=-$b&F!Jk3P4pyqi8$dj&wOkH2wwNyR*URJ7o\\\\oF@sf0-a-mke%vM@Cmch7D6P(Kp1jfqC\n\\GWSV(vM9--F", + "UoN0(-Gj(s4y^^&=h(Doa7avGheqpgNo@vMAEw5i=4A)$gLIqlYwMxt!Xg%1!4*=KFspJZ6o%rq5S#iK!3smyN\ns1I*H9v0!0udi^XzUS%Gb^D\n\nbi593&b@OtolI&y$P*I", + "\n%riTs4hD)tXxV9F%4@o$)n76exo=A(E$tS-4PYqv6VZv-=tb-cr^Zfe&vfAWxFChKFsmcV46)!@nPQR)X*Ib32!z94n(nr6ObdTL=@^rvFA=V=kM6U!^KhL5", + "9cBjxJiIJ-1j7@7)d64jdu^aLW#Heuh*!r8rri)%leCxxRnz(nQGlPrxmJJ^pQ5TYk$Je9ykb)i3@tdoqd43WEovnaQmLPk03Gv3BUSLA495GOnJv)4lEgw6DpVFLO\\", + "Fy%dIVAJ\n\nf8zjyCuDk@O2S!9#Rqyp4R26-EwrklcGp5yh!4jLEi-mKr1yol8keMx)sY%VG=%7iJeLkod(DYKTd#wX@lgDH4uzZ9F6", + "\nv5V^V34D=SLr=cmw1mfEFbjER=-9cVe(E1MWCMuo-PK89F^AmL8TKAfkv&O*fRyp5yXpRI5lMctF&J-BwlxZF\nFuA(6$rcZLpyvxt@0%Tth\n\n", + "\\\\37w0)-Sw9OXI*O\\Ma(dFl)w@nPypFgD4(kZsk0jys1sL^%l)zm@QbHi\n0Bh4Gz1liB2oc(XKN!4=FQA=!&\n", + "BBp8wl#UV8ihO&mCgxsaM6WZ42WXPa*Jubu&djq3l7!wy=W)wJQ0sxtcN=VMkL@S%p3$mMK1G*yR=&*fWN!sQ%MO5!06k!8G)Es%rUqNlB%=&C8gLv*(kTX%YRW%y%2T973)UsiK6OJRP^YOV=Vdm2F$yeb5\\f8$M7Px", + "21Rxoobm0!*@8XAR(8ri*ll*z\n1^Xm)*hLDi0Im)EOvoMZhM)GvC3oQoKg6ZQxynqPF&DT^Y7Vqr7L)YvigJA0JyP$Hv##XPcU4kvj@NQOP2-vrEOnGF4G", + "AbR9wJeOYwtg1(qFcp$n)F)Yx8JzmTofhl\\\n=lc4-y(CDkLKLdyukKOz2@mug@I\nFikof!B1D$3*VO2q3Z-lY6#r8s8u", + "WX&vwpbf(JWDfpFe\\jpgy=jVUH-9pnKm#^zon6bYs53jq5qTi-a-$dLzG\n\nIQLPiA$725V5mF=%", + "lX2OQMd(v&0wA5DoWgJ-bNZFubaKfb0$*RnAVwyjnj00p(a(5kq7vQx6V#ArEej0sKsmMUPAT%6PgPJZzXnddpiD!6E*V2LZFZ%&cQ^ABLXnYmGiAlM\n", + "\nNCnE\n20nqv0NtPUrqvPUGVNnz7kyzIFN*NlK9Q1LBEfqy2A\n8tghd=-D$v^(QRRo$EOC38v\n\\", + "yan3MmguhW9L-qMLABQ7#VsWaFv#!4CTjILi)SFSh0Mdda!=vgTph!E7mYvn&ub!yGqo#HNeOWK0=&1siuGJAv!fiZ09ovtWFeQqw\n\\gr1zsxe@AN8J5cjE^NiD!", + "A@yVwnmgRg)jg-$cWzqBfcXqvosVy877r28\\\nC)4UTW$EYqH30a-=9NQ0T2C3wR1qNeR\n#f@Z@XoyfI8=mN1u6", + "e50WBo-$mZshCIJ8zR#Rpa)t!Q&-U1oRazjW=z1@=M^bo)MJBl3\\%u^!8g7TU\n7in^XycSFjPhF#SMdmUdk!Jzl2hc1=CimzKB#O@\n", + "\\\n0fN=B7C1MncWfTpSZ(pUNt)17hS(mG)XggPN5zs(xBCyGLXlapF*vOd\\DxdVIF6Q-#Vu^OP%@@v%-", + "\nmOjRCz-1HREPZ0i6=Mh1y8LDP!VZ4O4e=SMDlLMtc=kt!mmrnvW*%6t\nbQ^C*h3tg@^1Tr-^SgzNt^sEC&p3V$ry9do%&EKP*dF3$vXCoD9aCm$J7dxPHuKW(TfVZI%x)L", + "akLn4aD@)5aBk#w!wgVGRPu$PX=*zk0FFtmb$p#lJh7MeDNZhc9aiqxQxY=RU4yNO\nCseefZtrIl3Pb1H\\\nT6PAx*L!@P%r-)e", + "YCGaQaXEk8qEFmO114N&rkRkFw61JIPn#vg6tmdquU!U-PpG9nlqLgOsqeEPEC12I#e7b-YZJIS&JBSCUZ*sfq5I\nC^)U$gH1", + "ny=fg^@u!!&5OH)HHwvw1\nv4shh(GZ8Hmv!^T6#&Pnht\n9-SMiotca803ORsi0^3CJV@i$TqlmqCMTPZgzY=0\nUA55WDcesy1lY^SMhtmKiE(Sw", + "l#=O$mbBouFA0pcAqNxYFEwt5CGk!!1Ff\\S-SVx&PnPr73l^VtPbWS2Yb#1uKEBeIR7FTBOatkKyxL2Jv$dc-vjmj\nZW&#PH6PgAFxxb9e@I5D1!=UGb", + "\nwUlCv4Vf=u(WScZp6%X&aW&ms@bMU-v0s\n\\75yie9I98ceV\\\\\n", + "3TQ&uqqI%WcX3M!B\nYYhbArLSDwXfEPbWFC5LGFQam0lCd)l%LJ9AwUM\n\n34NXLm(CIHg%V05VMa(i5$9*oh=eRS", + "\\Ae=N-Y&KC-#F^nw1#ci@XQW@Ksf=QJGS\\\nk&86Xh-YlfKx4q)4C14@a!=yTr$#rs1\n", + "\nsj&Y9qE*fixQC-5tmGDZd673gO@jLKXDsrtSVYzSyoAXUpJEduus^1maMwc7q\nHz@XGdeu7O70tyIJzhP=S", + "d-ggdnr%1SCvsM0jztQSmpPyampGF^*RLy2rPfV7oJy\nAN9u!FK=Go6!=$z#TYWoeCw\np5uiJH-e@iSG(&7#f7PfH7uWyY9A*eOXFokn#gRzl(gXtK#N(*2RjYMQ", + "#*e7EnnBlip^=BnAG65PEi7%*M*LH*pB\n\n\nHuR$5785mj*bP9b)vQG95k@0ggu9&=Mq6t46zkTswdE7ww9n-X-nSVc7w9O3!b-", + "aAo7syi!6pOMiEMAxRkRsKi4q\nqExf*TN7QSoBoO33cDgG\n5#wfsi\n\n\n", + "!y!o0PF&dkYWtzX^$X0P\nCqy7njQd8Nv=11U$!bwFcNJ0Oup(b2Bd=)Ql&z78n71Uc&Fma@soizte30o9qbQot65GCp\n$=MVm&ttyC!D*\n", + "N%rGZjG9ML&flvbgzBT\\\n\nTegaRj%XKruc4-Ffj7yk*0twXr=ysUEA!%V8ynXBdds7xb&yd%#-bpAarzQi5", + "cmSsR1pDl^DL4xorkv)hJ8aGR#EytLQle!GYTHdtTD$EA5qLpEboDvxnb9P^%DDSSV0fKhhdYhoQGMqS0bw@zfX7QX9is\n\nm*uCNxrD6eFUQh1yOJUrawHL3c1jiAT1Mx", + "CSzzkeTC3y8\ndV9Fe^FJ3bYtlFuUI5rnR03W9N8Nx5yauv\n)H$rW\nusf)pl^7d&*NkMgTZuxRwS4m&QtrwXm^vOlweMWbdP^2", + "saDMA95sQs=k)KmWj45BPdQLC95NzXjdVfONElM%C#sAGOCSYBQI!Q)8M(6lsd%PgTWlAb$2qrryDDf4D-9AP%f5NtpWNoEmvg4HdX0@R!0NU0F#RR3R&F2Y9KkAwC!QNVPfQEL2", + "cCKa7R&RqMPP2j\nY5Gw$r-%-1XsuwAnRV^\\E=#lcD=TmpHj\n\n", + "UN7PhopfEJe04b8vwL(d@5LBk=VXhU$6Pz8Cc%kQ6\nH3JLEe=SwT^NU9J-Oal@H6AHaN3UxH7QR(zxiem1VVhbd)Tv*v\nhymg^m(z8JylyE3B6aZ5)FwY#gAeVZO3!", + "\nEpZnX@un3NkwS$k@f\\a26^lLnO5gnmvMn0s&@SZm^)j^Hh\\0gUr=A=Dra)yv#f4bgly1hXnckV#4JvW4vlPxUp2XE!\\", + "\n\nz5SC6THz-*q6P655djPtGmwj32cTJMEajra%2=qYR4&4c@Ra(ByAgl$0GuPftl2DjFLVEO@E=t7shjNWzszJknafbc(1qJ5n\nCXiNecXFIiRtj24$ITM5", + "\nvICG@j9rJow0N=jCkr5RIO-O--@@s^U1=ll)%nV-XE875Wx\n\n\\gc5KObniuON0I$!oX$nJ1cc@Uw-e@VEqtnS#90ishDo!BJm", + "\n\n\naYxtdfR8jjj))0si$XbE!5Gu&WZfSm$dy&D-h\\qB!yddv3qGJoMwjJO!PA-=D8CKzBQo)n2ERe9fsHo\n", + "IuE)vAN@A&2nErLhYCvr\nSyRG^QHqs!eOn7ibX$-&TavNrwH6=xuoxV9kaS4gh\nTXrQwyXF*lcI!-G4ssl35VqKwo=GH#=!eU0UxLnYvj*\n\n", + "Et8r8BxT5XnIkN0EHdInr&SCgh9binb!t1ubt8^s@ihzZ1#MLef*KQRig*b=WkMZIy(1Es=sm@BwhJnZqCwU3B!!N0L9UNRoCHLYTcFUfkrCLEt^ubS84GWYGRmqv7TSC$2M83K%&uElGD", + "\nnVJIS@oIm^x%!lmtCj$v=J7U16ScF1jMhRa*Ej)\n@F4Q6=M4ph*OJ%\\7V-R91F*%)hlC-&h1v\nujijUP1*iBKjb!W!TBh", + "\n\\K-XHkufcW&#d!8z6=!qR^BXPBmjg$Sdz%vTbXWoOgFyW\nzUxx6ewO3AAO@^w%vAEr)t)=-x*7qWSryoTN)4%otCTDN1k!I$Y=IGgA%!W!", + "\\\n6fwX8Ct!fVgKSQK35)GK=aKI*q-m6vnH%=l-CIZ!l4IkU%Uo9psLbR3a\n\nPA(o&sGb$)bzH\n\n", + "\nMPH#AmtzxW70$PX$U4!LEGlA(wJQ1djY3DrrEAfefHHF*gOE1eI78UKA@Zk(U2dWF1308v2xkJw*!Xof5RH@f4%r58dx", + "\ng*S)yg6ZfNHhM)CGZu*j#\nXvqqnE4vuTa@NlwSe8cqpy#j!ap3\\i#xz0j!wLoxhic7D7-Y1=wmNPM$qJx56xy", + "LunUsGUX(6qmNZ7r\\n2$$BToo8d5h*P&^LG5JgTsLrok(h$(N0@nZom4Lx5ePR*3Uhdu&=7jX6mDBeMmA-$bAXI5lTmotPpZexItyXxD5tB168Yh83Q@sKCey", + "\\u*7)jUq!C\nHXEOu=I1\nR43Qw)rC#3Plx=5$b\nWBXah3%aJuLv$\\", + "bvG0@S@sTcEjD)U=--gd(RC=rxxUpgS@b#NDU5dlw2Lve%hXSz5cRrtthVj2cgY@61byOnFPL$wJ$OEVQulH7n@7\\\n\\@RhV*ffFn8rCR$eziU\n", + "qWZqhj^eb)XOZ11J8wE$tJGe\n$HAlND5C-3OrE\nFVYj@R)baFiyQGgd6@Xj\n6Q=2!E7&)GLaoXfZPPYxHUtI&yg1(ca9Jc(\n", + "P3GqdygEPcL%R0ERETo45oV=n$wzoZbz9@kwcq-iFQB-u7yWq#@zTJKp@z&I0nbOxQO5^5EfYta4yL\\XOzVGXsU\nkoWw^k3gr@pFlWnOvA&WQR", + "\n\nrvroRa3ULBYsiuMWPayWJ9w\nRL-ge=WlXjTY=Ba$IKD#XbF@q#10YHGNSpRje(N-%!Tp3rZdgGNBu@\\\n", + "\n\n\neMe3F5tbQYFnTCBIP-xuOZd^\\DK)wxoesWdc@4MUH-RrOfi\\=WwT0OCCaF", + "nBx796S1Z=^9pp(1ox^atbX4cm%6gH*%TlJSl\nTg3(el4JmT*%x=*o(g^E*CA7\nF8wD2^68gbl!Vmh*4pvsIbNsnOsct#=z%n-QX8U5JTRX&", + "Ap#%1CxA=T8Zt()\n\nEK^xKJKr%!oJZZW(Y#(9j2SX5NX\n6p^H%MislJu5^v$\n\n\n", + "\\qnOgUYKExbKo0HvhyuiOIo@@uAq3qNdUV(q1lhD1liH^(*oNM8ky)Bt^eff!o*syL%WC^0dvFSwJK=seRB0*Pt4plJ!OxAc-Eq(#CY$D)RPgQ%qjticW6O*", + "kvcRd-7Zjej^W3Sh$nj2Lu)T6kKME*@@elm=1q0RLEwpiyzUqpIPD\nEjDGuu*C%GyAF=@MUO)*Ni8\niAgFi9(#QfHwH@U%rO!Vf", + "Wa)P1l1YNch@nN2aZ%EsA1DT2mHubnYtGUWl!4ZHm^e#i=&5*L1GCy4l$TEp(%lB82$Zkk@eupZ=Ul6\n@OQne$Y7I&0sx^erg5ZJrJ6EZhK1mBQTEyuhqk1FWkB$OTxp#&#W3H1veW1mRW", + "\\W)B=##5vhXHX8=HCMQ!d1djF\n\ncKLYkYQK=yJL1#K&7yz-^yjyda7\nwKQl%8K@Lo)^FZsvV*aiO&t^m%7VpCrOKkbLll#A4FXR#TE-FZ", + "\n#NOvL!zu16Riw%#1&#omhiDyFq50aycjAbhF2!g&SaaMq\\LFAUtC4@8a@p#)V@!GYp*&QiT-J4AlkToT3$J8ls*yytBRGw#-k#Pn3^4E27*%QWrO", + "lafJ&apzJ!\n!zQ6AeSkV3Oo2fek964q*ZZ=T*G5^)d8HeQ0aFjzpj)jAnxKeZSW9fRj5(--(o6YAyHX9P9IVKoHqpHpMW1BUa\\\nm6fIt&ISo9Vc@7Cv9bxX", + "\\Txq^(nRYo9W3\\LH*Y#uvsIo$LA07ISyfwmjN%9jxRUTIMquP%Cu(K-3cH\n\naAU99sax!p7&7*REo$L2QmTi1FnhT1*!Vj0PlPE", + "r)fP861%i#oUUNO$8C$cSs2I0aR8VeFrtxYO4Eark)V#UQA%Wmo(th3v\nPQI6f-N\n\nnt32V^OyXPC-XW5d!eqjWNBu$gu5=U8-X-=eB7\\", + "GXboX4JIA&lL)Oe32yRgUQuW#gU*Dmgi3wmFr6Ne-D\\Iuytptd&\\\n\nu)m9h&@2&gaxwuP1-nr*N%QK6RoK\\", + "\n\n\nWoA-x7\\l^O(Lac^6^woTfQ!AFP6vbfCl\n\n*3zyHAF", + "(hBTK223zm6Ue!\\OXKRS3oX6#Z$^awT#t)o6twVnQL!nDeR7%M3%rKOtR4L#0PL6I-P$KfqwQb6qHexldYSyGO2ZuP7W1x-\n\n", + "ep-veih98DyQzmeq(=5C4Vbwu@DQTMMs#RvOfr$GxdIPrXj-HBr%&x@&DoN&0^^CMvWw**p^EtG##R!Khf=Ivj7Q^jSeMChSy%e\n\\vHTrZ&cmr*IG4jC%IKc^p", + "R9j*OVtkvdSXfax*YCQeVbyH(Y)KKmrfVx%TDtB#)xT1&a(MIiap)s5QBOGl0^ZCqI6fGSwfv2w8OZR%O)#G&wR7V9J9F1%\n2eHEWg5&L7FD4VsX=BzqMJXW9kx2a^gaIAnB2c1^w#y(w8", + "RO6Z%N1h^8J^32hJvv@aFvdMFUaPcxdRX5a\nrNKpOhyGFN3uUqO6%xSTblo1\np*k@Zvc(jo^GtZD&eEHKs87LauI=jAJvP=sBe-@l%W6UU=@=pkXoRrIgLT(j7G^D!ZG4\\", + "G-q052\n2T7R0&ko&q$Iv2lF7gcta!YRU\n\\\\\\\n", + "#1%$6yMb&u-qS(lqWln(r^7cURLlN7V1%BH!mM!PB2c0@X3Wq)CzPR!PMYYG\\\n\\\\\n", + "HzXN$OmvvMbVQJlPy\\LJHOAlpeMaASAuwU0EPxo41$!rP67EfLrL!&^1yU\\\n90T*oKG\nkw-2vj=ul9OdQUFtW3Zk", + "\n(1!q4OY8G^lbMwCjHN4NFi\\-b$uc\\vTIgJ5r))vSZcOpvF^Ttd%mzf=#\nWmiw57OhL^s14%Ji\n", + "\n4e@hXC(lXVdRVtusueMrt2K4It#ry54^eg@Lu8mDRf$8=w\\\nXZJossr=x%jHp\nxAFXGoe-g19hPUVBXzFivQ#", + "ksHNqO9H)IJ!a)4z1s0ChHh!O2TX2OeOjp%WFH%4QQ93GbyUMdv6#Cf7S&\n1!YL@I&eckRT2n%Nk-d$HLsNHNEGe0%H393S74DCEkoguhr03yQ!Klq^ZrGG(S($!M8L5SLzeK=d8NBuZGmGZYSo", + "\n\nFEf^bfhx7EU7ic@AwB!9KNYtoJ8$P\n5S%!qgwz#CB0dT6Xv340-JPUjN(2#=k7b$DHiR**lVE9v1Us", + "\\8l4Ldf1ktw9wb@vr%)Dokct3z2*uNsz\nB*S7#-qh%svGy@jZJlS$3&2^F@IfIVmWIs@ECot2vfw6ze0nLj2BD0JrVJZE4FXBzTzt&B*o$EUXEfEaYrxRlv1", + "hItHe9aQWY=vpab\\\nJ8#Pf&Y6NT!r@nx=@\\A1#^dizAy$Xm5\n\\Xd6QASVZ6DE9GxzOFBVf4c7f\n", + "AymDH\n2iSuL)fiIG=7*JQj=3=26n9MNdtM1AC#6&V(^Rzz1gq0)YxMBJSlp#h6$m%1GX!JO7xh*iWU9vei\n&1k^de*Ifx%S$DRfQGWxoAdBc@BQQstalGqvIF", + "HlO9!pWPsoHZyq#!RvsYvamOieJSAi-Q%KNYHS#oIXsS%jmVhd1s&b=!aRv*\ng-RyZuekNEie<1laqItCo9KBF42ZENga5", + "-VS2eb4hLc%mqRotlm7q\nLIVQGT=pZ0aD3IGG8ld-Jv(7Lc41EXyk^QyPNDurz80ZurlN9tUxLEv0#eMYVyZncYCnM0mpGPB67*x!1@4)6eYAsxm^%3i^!w$gk", + "\\6#YGh3fsZkpOziJiS=1*7mOPZytqyfbR8I9Lo#i=M\n\n\n$s)r4P)cuG32Zg44K\\zhmlk)=R!-TQ30UCi*sYv#Hk(=8Fget7Ggto", + "5r@D=ZVQ-BCMdU@\nNGBjE3Sb1DajOGf$oX2kEA8npe\n\\NnXHWFC(9SKJ5g17wy3qk)gikD%z@zCzilc", + "xZJ2KZ)j*\\\nnXFDlp53Tu\n\\dMBppwB$HsumtnFSw^PON%WP*gq\\X@lWk)cZbshC4Gjx#^S$oX", + "\nM&=3XK6qahD2&#RSuaT=%ZV3b0TMIvup9pKWQq4*sierUoIL9hfkEIPaK1^BRw*Jd\n(Y)Moq$EaoQme$ie7Z1g%2OzXxZ73APiz2Rt#Fh1ka9eAK7I2Pox5N1M", + "h%8lr%X&kVSMD1Tqu1)oQ8fcHIxxzl^OK!&@B!EoyL3!7dHDJVLxdWcoMuZ5Njq@K-IxFBOYd@MM8FnHZVbuPQ)pl2G\n@(ASsz#GTKr)Px8ffu-rm!D&qb0$5xGe!9s@h@a$C", + "$K(Z0mE6eM^-H=Y(l$\nbFgStu71ZT3SQF93k$a(dM7-k1)T#L\ntqmm&&gB=IR5Kc)fodj@o3#0*NHQnnd8tai&2QnthF=-pSe5hHJx(-\\", + "QlTvC(a@&E5M3LeUdJuRb%vt(d4XtHWexQbR94@*\n\n\n\\2Bk%(JRn1%jf@YV$)9OPR%-Dtk", + "\nn94))almhNay21q5!zgR\nQSACT^YIrS*B5F(O3)Q3D5vpIYrjOcvyDhQlYxN)Mp2Js8DR\nuLh59%8=L%OH6aV", + "pn(olGA03mf88QRg757st-ADLZ9Cjk7p@2oEu6ebyQfjs#ZTzv1DqKzYxCxh\nqMNmK=4dXVAyB0wMl1#A!Jo\ngpc7km6L1=\\Sck=X%ufh9l", + "0j1eQDn#\n\npO3Wrh%R(yfp%%\\\nk68W@%Q%pv&*GB9VW*Cewpw^yxvxW=*XNE@UdqyGbTWT-(zlp)#&2#(RRg##L%", + "c3Lw5$9f*o=v6vInC!@T*sr!oF!ipCo8Mve7#fnJ%a8y$I$RuRNIjPo-*jqjRZ8hZ!5Ae4kaZ24J4dPK)Ujc$!C25Ccq$Wr^7bP#)", + "IGBD9Qc\nz9ZU*(H!GVNJq@y0FJUhgADwRgu*fF7hVIeeJKAg&R9=Q@nveDpeC18snFQ7i-Z!aLk8qrUhjM9Q5k=vn3Gk=C\\Rzvgi&e!HwC$@0fv&dz!NX4H", + "XCD#BU-pLA$%G5x5Ly&%\n\n\nE&7nq0KD^w2%iOm5(y!v4qFqF0gaiHLy1D%y@Le!mm9Fi*UoZ=(%q3ps#tBSW\\", + "\n\n\n\nB%#(ha3&anR2Z5FguVH8ciqjd3Z9!bwV\\=l4Ss8\\\n", + "OPHs=3K=V-Rbf(ICSNuE@U*F2O=OK=$h6FPrdaLYTjSioh\nZdcXs-y4*qZyOyKA8C-LYZ1knnl6cjj\n\\K(oVUQT^L", + "=u1i))GmMQy@-LUn*@34PuxLk6ipBH^)#D=o3*B3aCK$@jndErF(ZW=h&qBTN4b2VdvUtITbGDIHn=n1M7h3$$0mGXN=*4kGv0WLpkvHiP1OFcq\nXOS3WNr--PUn%e&#rvRJ&QpdKklYnFiZ5gMBaP%GlVs\n", + "\nWkucShlco$FlsrLUO&C\n(Jw2C5W&D$nVelZCk4@gaZj-TNCue2n1MvJZcxhlT=o^y08gumXjNfn2Ng&fpH\nCXCZts9AtLwoMH)YW@1\n", + "@R=5A@-Lhh24Gjyn%aL1uzBwBj9wA&o!kp!CC5rtW1\\g$UZjRJhOpWSkMvA*svHH1)g5Vd1%9$JfrpqGLNn25CjFBFO7bsCWVSZwZ^WkUOYYyi@vYWj!laWNEgaIX^tk^fZeG", + "$)x7ZrGo@rf\nh%^sBH\n\\Rmiitp6#%euYZizHun\npN2zk$p-h2RhEl7wS4M#6oE", + "Q2jrvaXdtAFk4E4g4u6%mT7tBp5hpTp@Wxe=IH1QleFQY)DnY-hf7^*%WGx(B404N&!V=12lGGU1$Mr0$fp7wMiQSdQG#Co&F2&KW*(\\QV^d$@6=1oIdWYRtPI\n", + "uH%5DeqUWk$7W@(xW!rAt#ijHREy*yY#8=&N#XY(mA^FT2CtC$%\\J@uh*dmOnJM@sgbueohPbcjF\\\niyFp^auh&^lu5ZI", + "ViVOf@%mR%4s@D%&Owz8ufK14ny=f@EJLi73($uD-6j8IAPv8pyFuRjDZQ!iFo)mF@llfKg(y00evkWnm^-ZFeVEAy^lt@OH)902i^85DnN%vLKh50F=FIFzuQ1y%s)MO2^Qht\n\nJV1K(t41A^a^I(dNTD&d#", + "\n\nA8dbziEpIB6I*E#CWHv^NISLHUa%87whg@dXUkUS(*j@2=@-#R7gYjC8fllZI\nyhVhnlK4Djjzf3j&Xv7dlySu2@pdMGny!o04Bn$0tLH0QTtg8LY2yZ\n", + "\nJjC*NX#DFJl4omjp(RD22RL9*xhRGHX\nVL)Bu4K9ls=GI)OQ\n\nImw$XlHnh(S$Jbu%UQjqCChiwB&UID%", + "\\QP4tF\\5KIENe-H$re2#Y5$noW0dd@BWI2d64g26J(KeQE^)I1^(OZT^5!\nN7lHC$T=MoRF(sG730QzBXYvM8$%2#dfh#", + "tDBTbm4MwtEa8Oi4SIgce-c6Z%^=KHACoVo6$QlcDj(bxqmBfzH6&%Mk4(XVl5351Mlsg7C\\E0AT4Kg2*3O34G()fky^nHqqw^^8)RuD=PQf=mS$", + "\ntSUgGABl#rxd3MPRby2p$@j@l%lA2A6LT^ygg3HH-C=aI(BP9!%P#hItY5MJDkKf5v\\H$yE&uG&E-eO1qIo^UVfjyLda&QnEFy@%Z^T5MVjufR%tB$bndBW#Y", + "803YR0scgdHM\\\n799zh^MdC%gkvoXwa1*R7B3-P5OwF(d$0qPuIE3^261W2sA$*y2WbX37\\\n\\", + "\nn2yQZW8=XS*TitAW88fUo%pSLObqCQgwyjT=(C\n\nh(o)3I3v0)%muKCKixARq^x-TO&J#JqM0fMaX0o@jWif", + "fYoNg7b8CwhYo!k-0)=cUxskWW7V13xa6*F1h1#4SMh*dcghTga@X#nHKDXG%j#eIt*X%4zjxA4%-zsi4YA*ESn24SaidSzzaDu-BONez-\n\n", + "ziC5OyHydvEGwPe1mj^lrW0(BK9hMe@@NI5L(RNIz5W(6FMpy)H1RE\n8j()h0GcQb!jK%%4F2eF!mUN%FZttcLkWY!8mQ\ncA7Y*)P5-E", + "\\-7xpRrrbAL0c8z&jnTj(UW1V15i9Jt\n\\jC649maOQvqq0*uksOOel8PCZ=Ju&E&T(dQHniL\n\n", + "Pi9edJ2QFe5b8^3IOfWKCIvO8O6%%As%j\n\\$PIxPcwAavq*&oZQ=)Rl2JM5!p1uYw40Da2FBQGSF8Ht0)f&oNMjGzT(8w^@eiNBO#wVEh(phl45", + "\\\nYlZFb)5Am3Yz&M7ji)z(WlyvYC&Zvm5M#QfzBDBys)GkFXFRUeXIpd7XEGZ=veaZMuq#42-Ne82@zyZK(QpoT#JKiyJ2QqcM*y", + "5TqSqiSK#YE8gx(Z$oIH*EUGH\n\\=Nv#gH$8O0g)^(I-X!Wt\\N)8y%-3%e4tY=AgRx^-PE1T!-$paz9VHzKvR", + "O9HBLrsb$&Q%xC(DepXTb&E^cx@xGXN)R%D-lK#!WsZyblwxGqIuh6w2N7pKF\n\\D)Yh8kTMnIm-S0NCfAD-E*G5r7uA#sT4X9tiJ8M-u@fR3Rckny=d6sh#qN", + "\n\nTAsQfQGA)vgg&aabR0QoHt5oupF-4kGZx*6iQC\n@dxTMdDhFjPu%P&OGC9bfZ3I=6#WbzUbt8rPRx05#DxS&\\1Wwh!-", + "kgpdfp89&aRkkBc)kdExb$$xmnoH&dzKq2^CmWX0=NkU&52!eX0Q-yP$armm9HvpmLIVg8r1Zi&%*UMT$b(\nWGB7hcGFGfE6Wmvb\\N4*NlA5SBGO", + "6)1sR&9*P^czLW0h^IX10cAyPP\nwdTpJOh3y#i0N9utT-uHzcljsiAWXvK!5xE1UL218d5t9mJI\nNom^rjM4ZVExESH%^Rmb%FZ\n\n", + "\\MqSlaJl%ffar*Kv=-a!d7rfKgw8F(1h7)kW7Q2QFdwreJ\\NquFO7-vscnu(csyw@UHAIK2lmNsl0)E2pcysuhyk7!\n4qYrBj!2nAOId%0IM$", + "\nlJTK)8=FnVk7C2CC-3dRB\\\n*u=G8o(J^Z%d5-@)NgTsgJ!&ikRv!vuNgVHwwyqwZ6jRJNm%D30l&StDc(jA\n\n", + "CQu8M1pSC!wda#^DUXhoW^srv\\JTSs0kic)jxt=BHc5zNLfVwum(dqQ%#a3dbRzW$tg*O4-meQ7qCaRlTf79*XzQ%Od2Gm@)0PdbJ*X@vwQ9I29H4E9Vws7EVJN9Z", + "rrv(tnZtavvrp5WN*l%uk^d2y8(WrQH^^RDpnzGnuS)k4C\nlJvKku-MgKvp1y\nXPuWMeamal$sEt@okfKs@P8MFR54zuc$4L8YPs\n\n", + "#z)B#dY9V08(C\nu1qDk)M#IrviU!qEzuI=c0\ns@Ci0U@e\nfQ0fbo@NEN@gfvOLH*", + "LZzi6khWmPu%T3-NgAE0$Fr#P^nUgLcP)23x03Q(*uj66hbT4YLR(phUTa%$uJVQC^3-6AM2Tm5NgUKjzXeALs&2b62RTG=bYR$PeS!eC6wGKfBC3eG8C(%EZ", + "\n#jpv9huxK1kZqv7N1Pqoz9NBv\n\n0$s$D-w#7B8g#T37Y!6Kiu8PSzM5JKkC8ulqAg2jc7u&Fy0Ggf5d0qO7R", + "\n*qVM3ZGeVzvzWaxnqDSKgp%!4eG#n\nLGaJtWwWMNT4tJ0##oH0p53E*onvGK%Ok5Yr3o#Pd$BVtPf=!b7O%SsHSzy", + "lvyRx-!mAgFbCMn6C(9ps1#&J29zX5\nvJ2%c3)&m!Vp4Mbn9AYrybXzRnkhD(CX8$qX)im#HGG!jo(LzYJFOB-)QLLqkHqjQ#MGjUFkAjYoRvp8UJ-)2&d=I)t4J=HUwLrib49WDcwJPA", + "\\^FJT2T(9i8))RVgfMkrNB=teNkDgZA=Em!D0mFaqG9Ob=Iby3GqhEs$w$C64ZSieOq2Yy\nj-K!QP", + "!LqF19fxe2tPUpzfSNo(bT6qkavq\nV#0O\\Fq)nMUpvsWVGC496hE(a6k(mVAD!Ub\n!Xps3zOz24HiQK-v*OoA1", + "el(rjhYN=IgvH$BsK0GbJ@ET)nH!I-Za^v3a5W\nYCf5-ez-H(&$I4J1KPY$LkEq*=ai8LF\n$Wpz&9f\n", + "HssO0\nfTk)$J2UC(Hd4PQGagRFm*9#wR-I\\1mW-L\n^0XX2Gsd)UCUwhoxbvHOinVf", + "MiEJgt)yTt\\\n\n%MCbkc#q3A9^cz3&9i%k2OH3D4BzWtQ!wREqfLJyP0g1J6nLwd*w1Fw=YC)RA^o(h)f7km0z0&6yLk(Vc*oij*h7vHzfuaJ#oQ@qoFz)R^59Su^wM61UrH", + "e*Tjl6GQf0H*Kzpl4LVqpBgJTnIB8-%Rsn88uQoEQtzWN173uGb92X6$S(Bl2f-Fmflyl)@B75viTzEsRf1iTg^FW6pqWPIfObi0uHLNVjSq1t^x\\\nQNSTx4wTbLS^I#luE=R%W-8\n", + "DLew*Qo@i@M1@Uf-y*2d*0Njlvqy*RbYm&b7zC8@nD!^k%Hd8qtlfWLtMcY\nAWXWrR1YX1b&P^f=fhQI#JQYBcC7Pv7jBGdc(Yc^w5yCv2EHSNVWVm0HuFuE67K$qj!tiHj-i#APNxBSUepu!SY7^#8M=r8", + "\n8e$*b6kI6kY^%qP4Up^wx$Ut5l*jzH(aW!x%^5X^$kAaem0k0Q9-(-r2-x3Ji2H6T\n\nisLQtIFMibzSKp0vuh7mFQn\n", + "n=lrLV@RO(mZa1Q=lJN4*Q^SdaYoUJF2Phq-h@4RZA=EYPoT3cyqCSwmTxQ#X92ZSnu(G*SuWJ@M1UMDEozdHvW1o61@c\\viTJT$7g&ILIxEyjd#2=6B7*so", + "\nf^2mpq7cWfHwQ^BF-U$qW9Yy%Qf(t@\\\nVKFJFCW!zp7rj\n7I8z8n(!s#oP-tEqSJ", + "-Z%NnfSSp(-$-#Vo=)92qY4Ry(ZQqiMq4rRlRFfdIkue0cMQuj26=LCy1)xma6Cr%iIaBw7V0atwiJPgp%5M@wJBn#rudZOG1P1nWR\nOAH$s(QP@7\nUxY=2=#GCFijHUx^ux", + "\nkmQ8GtrMYdZt=xyxLA!!CHdJnS&luQP!-YPguLEJ\nDAfSVM1uc18(HavRoRbxzUJ=8%o&XWdNBe%kiS\n\\XMPgTEv@VvdDl2p!qY7cp-J#Ht!0f", + "u%2gjPPiUuszIkMCFV\nw^^%K6hoe7Jawu2WQrb1azUg(JMg84GK@QAw^GA@g(s\nE(j$@w!Z0BqV\n", + "\\\n\\CQqf)xZFCc15R2bg\\0XyF1q%(&DKPlIhe\\\\(Z)d0xRJIohPkwkfh", + "\nh*#JNmi-=Gq)VZ97Y%Tf*gwaYT1I7F%6DH%td!bPpkxs\\l7@crm7TH^yWxN!^=t2Unq2f\n!jwaEnE90IILN4W#j\\qVoX9hz#TQo(Pud34YnbLLP", + "\\X0hHYwpcRKCK=jyqx43z=JavaEsLH\n-5t1b0RXkq\nHLA@t(RMvz%=sqzW@uh!MR03^sSbFc-Y9N3a&067uK#NJANpShY4%TLWv", + "\n\nu=o^)S$bnRfYz$d@JA3zVw4%YeHYKJFLD=FqsZCMXLMwF&y-$6Lp8=g%7MZ6Xa#3es$@CC06)(jM9BziIV()yxu=pl(1pvBrjJjUC5XERquRAf@9r\n", + "Cx6t3^#d67CTX\\\n\n\nhL(-KKRhYOsAA\\\nxYg31vR6\n", + "i!c8$\n\\\nY@cPLKgRTCG2jJ7S^-94m(9Bhbd#\n\n1jOL9sgGktyc%", + "ee^I*QzPjKOnsk\n\\\nyNKU(r7zQ!\\%)O1n!RQZrJiVud=nj8q@!B5=BjzdfC!\\\\", + "%(VziQZ*d6D6HaQn)LUyeQcv$Sj5D$x5j1V9Ag8N=hS*f3joIENmlxh!6i8qRG9KL)F%&z%#fYqLIK2AyZcX8Q6NiZ$pS&#VX(16OjwOg60zvEsL!P=QOnNDTX=QL*Tj8WM7&TdyX@&(\n", + "xrkiSPH&EP-HWElw$Fs3)%(1F1m%jXsHb-j=dc\\\n\\\nC0sHP$Q2Ra-a\nnEQY(", + "!*#0p!QJm1dHRpt1sk$mCYTc9\n7JNGpVa&5QD!&tP@\\\\\n\n\n", + "\nE-lFrA)UbfPagU3wX(2MBIL#Hih\nh&q(^DcRirerV5so4jP53(q7fSHoay@BiX!d4uelgcCN5p=i8SCRsNB@loKzEaSUa@n(Df%i%WQoMhVegEAIwiQVy", + "si*0*GPbGjW(Fpz5\nflIIA$LNnNak*GM=CzM#(Qyt6@Uu6ywwcoN$kD-s@8%sJRP@uOcWD#VrvzXUEW&bKQ7SrOP4q)xqL)OStt56kOzblEVG1", + "cOK=Z97qidl0gKguh98ixLd$92\\-s%GZXnf$RpEp2IhPQfzLD\n7x028(lpnfQf5gD#RRLT\nzup=-6Xj61j7t6-iOXh%R&XDk1@3(tYlQ#^fg^6xQcqJ2", + "mZvbd(#wXohDzykn0d17OBUCsAc33I$SLxkN!xkigTFT^$WEAOsH3$w8V%T3t8bBhZ1Q)8z!-(52%gI6LhmZxt^SHRLGQhFjwBVXYcoHFsVN$8Q)W9ORP9LIVJ0wxOAY", + "wYn7SA2n4\n\nmlM(G\nW4glP=j$Jy\n\\\nf82-", + "gxr&qruH-Ippv3!5u-ZMBzeYde(5ocPpd=ylP74HP2az0L#KI%9xW2\n\nHxkJX8e9pHkzbG$HtOcJbUGG14-5Nu4vEw$2k(o2WePt2s5MhKkfdvVkLr$", + "f$9-)nApE=XTPa3OzxC%X9f04!s)aG)jC%2a%xl9TCxMTs5d\\yXRc!nHvk9Kvp2cd@))*k11=#LT#E$z7hk!y3gtoYQI1n8s$F%dB6R&mhIML=Wf6L$c#UKvRX-tGuFhVjS", + "\ndpi@x6MVk&6SvFOa6d2-)M&rPOV\n8W0p$!cBqoIbG$1&XEqemD@\nEDj#Q\nGzhqWIsvNUs0q0nLj(iCWZwdoAq$f%!Kjx", + "\nbXDSE=kC(\\T^fyqMz8opPZf9Y!pwdryaUzSA6(xe2w4DrAbie8OxMGPQTL(%^el3Ar9M2X#vd2^upnvIfWNmo@WVyB#NH39PbqB", + "tXdc7$DJSzhIYtNv6Iv&\ndYOc1m4s&wWEcV*cn(zwk(H05Z4r5WoahRrUgDfoJe&skwYs4TB*8sRgrGwbm%#5^Vix6!2SGi0Y$nV\nrudh7WwL0AKAtp\\\n", + "%czFHmr)yiKPFmBsJw115GzIZFN&=-zFS=!^(xnwmFa4a4ExauLJU#%LieHK6=-BRc\nZWfo**zt(PGnWWwNr2dj#h%Mojd1^HksLLUgeZ9)ULg^bb=7nNzC", + "bBiKLOvaw6w3WGG2=dTNiKH\nh6(cN\n@cX%=SpUrwjR1BBxMOk$L\n\\KLyxoS9D32Eu@mwSAv-CmAw", + "Os@7K%YUu@6AOZ0JzND1id^ykaXZ!rRFcBfeTC0PeadE^GR7tBCOr37Mgw7\\\\APW1@o$@8&*uZ4lLiRM&^d*v6n", + "Ae1uVIht(Vgbl1oW#u\nHtpvRd&-r\n$DOYGt)9Bo)0B)3gaj4w4c\n\nyst0ih^5&bQu76aWk4451U\n\\", + "%Z6rpu4iq65!zn=@cLeDWfE*dp8I7i\nosC^@SY9\\\nthgU\ncyE1)%ADncL4D2F)Tgh9y7AcvWGfBVM", + "\n\n5YXDd%-UYQ@!apZ=uFS\n$TF=6juJLrn^(@3lp$xSt$EZpF^bucc6YYi$4oalthPrrYrP-8zu\n\\\n", + "e=G^8rDMSjgZB\\h$tjndGMjY24I(3ndQw)oc!!0wtym@BvY9#%jEca(*B7amZVKZ&kb^Yzm)pvTiFiqnbRHM9q^CTZzH4lEoHT(\n\\T*$AJz87(Hs(5O@1*TQA=)V9", + "7V!D!@@RpU3KDhR)mfxdHI1RIz9XfdvO0W=!%fdGQ%qMsSQ817\nd@Cq5SWHBiami&gl6JFfXAX)Re1\n\n\\TnN7ScpSgoI(dCf5O", + "\\ET6^GjYUS$lv7!qn(cS(vuPF7dc6=rO8ga0Pdadx9e\n\ndRb&GHjgAe)k95UE@&*4z\nWzusXc$Pzxz3IcCM)A", + "\n8I!U%BA9K@Ab-Cj5fPJ9)yzeLg5UyP0tMmm@Atavm)VQf5L*TGe1FfxvS$-BOPcef(#y^\\\n9zq3GJv8kS-bBjCY&idc^XPg#q$ybux", + "\n*O*cUY%dj26%Q(bLaxD@o\nK#*UDXy$VL-XCQOi%oi5&BLVxVxx8Z@Z7D*bMILDyexLn)xrQrXUKnC4OI&mux8vqfjA0%uhcNR(*N#RGq5", + "&-Kxh*-!VutCx!XZd#SUFO9Wfq!GBs4XH=ZGiiH(U\\\\\\AmxkL7l8DA\\\nhnZ&4lCg(SEvQa!)ehS", + "dbq3q\\\\v$e)hZ!hUhk04%QZU)7(mfY9Iy&ciHPMIh0rfLk2eQY*g#zeWTOJ===1p6QNbnf\nurbW", + "\\\nl=11JIR*Isaxxv%fyQF(GOMRS4w&d6XhdIxK6&YVzJVWcg3utr!*Ptt2I2Q-uvVz=DRVKv48&p7yw4p3Mzr603\\u9ccU=ZV%DMQVv&Zab1OMY492fZmkXC9uqxiDGHiKz", + "\\r#TF-Gl*m!plV@sIGNI-vY(brq0Z@8k&cM-W)rGE5v#nbkRT-#!!g%blZ&1UGr3YZ7K1vGw1x\\14bK5FwbYu9B\\\nGfHeHdUbKgQ", + "X-R2G*f\n\nN9oPiS^OJRse&Fz$@2Ik^xbT\n\nzh@b$f3Yv&-zJtbYTECUea&mnAn5HM2HOL5nX$ehQ!ltY9zlLiSoI\n", + "-R4AV^thVYnG(J-lnvMJ=c$GVB&XDR85#H1iuYsogRr8Ns2yn66FMAFh@7P\nQ9yGlfKclL-COh%mucd\nQ#yzn6w(swRAAF3vdw8mw1bs%e*GAv", + "\n4(5VXFs&ZTUTl!joC=j7oU3i#Z)Ud4BUsM(4ssPa*7mQIHcKBvN8KLk2jh^HAISlA$rV1h2b*$uZBC3#(&H%#6s)josX\nEYsHu)*kHcvUqs&#Eo$T%", + "7kqwI&k0u$KMBiSd\n)ccq2hoptL(20v1aVF\\np11vSpK$N&9#^(M3$mMm*sJ\nwE5CZ\n)!bnN9arnzkHO@L4", + "&J^yKcR9LLSobjB=Rq)#5naJ@2U1J%79ynA4H$Dtx3zAa#3lRak4nGp#Q3q3DBknCSpxCfioxDanq9bJGeTRcEhPThaHQ*3J-O0JOJqx*zIBuOy8XIbHKektbh%xSnh@6wD0a*\n5E#pa", + "gdn)eMe1zUqXTROdjHNI0wUmHGVOL%TUMFs%@*\\\n\n\\AfLz@f&5eXf69yuQ%CVl&Y26!tjMK", + "gOeOEcgQ\\^JiS7oSNw0\n-SRiKcXi4)eTl-#LiHoqe(UGn!dEsV@vw@f)wENmkTBbDAI#EKivlMf)l4LwAMq$!sj5Q*Ha\\B2W)jtJldS7956C*", + "Yd28S8%5uJ$30reozPtTMH9\n2KTzvQoja-)spg@#nC*4ig&u7lLH&4WUMzeHbg4^Skx1U65IyI$P2CENr#VbNE4yS2*m26-mXSxjT\nIdORj-Hqm-L7#q7j7PY", + "zD@P4*3QavJ)V9cpmp4DLo3ypazdu6Zyee0PO(Hnl4GD!TFx!Jftrv41PQ\nFJXSM\\8ln&KrPu#)h$Tw0WqD$nx\nzxC9MILWCGs9Hv72m2!a2ZubAV(@2(x0", + "xI7c*v9nx&xNGzVgG-S@vj&^FxRcbUF5tXV!X#bPgCdogOIl9Ig\nWFjJ93l)lXsyhlZeI0qM\\WB9Ah%Mas5jIbiiKB(GyGm\nF7q@9l=UPJn@kNoa6H55", + "\nbUqobrMx3pb6ERt9tHLWp!=((E5Po=8i9C-3wvelm4s17GNOWcy0rD43wWW=)uk&$\n\\\\492L21jlH", + "1WJB^borAe\\)-)=\nVdVuLA70ghg(j$=QEn@6fI@IXEbruX05(=-k7EW2nl\\f(2wQVtVqdZM1K$26&7*#bHG8gtuG5GmxP9", + "eB5%FNqkR9d)J4G8B$tpsNo!3CG4u@-!Fk5G7@d*-!jrx21Kz1kw%^^a2Xixm7^nlCemw4KK#lHMqdnN1\\^nC7qZ9VwhxbovfYw&=L%F*$VwtRVzM^6JJG2G0", + "\nj1EGR@AIa3DiO#pE8H9G0@\\\nM*^wd))P0#wVRISon8X80#\n1Cv!Mp", + "$(uvmH0(vZ5p=S3ogzwQX%PRQ4DFbOJpMr%ZT0P\n\n\n\nxqK6XBu5(UNiX!TP=LmzgT*7&k)a06sDGghEmeO\n", + "013-cQlmdyDn=qlC0yB\\(X4(*yVLBL&B7jreHJh1-b\n*lK7r39mS@LfHrjf^Egena)WWjJLJdTl3PR=vxCt1wFjzEuZW^sbwFVoEF@wV24TG%H#)rDFG%2Pu136", + "KENH)VKNq%2\nW$%P7r$J5CDM#\nVGVTq4cjsu7*A*Sc8!q\nSxV$IN$pw6zr0E=-\\", + "nCPaU$aXle!8T9XP0jJVGXKpGK5WZA\\pkWZzHPD7HD\nlXIm34DE382pK3L*KAZKP#SEVVIf*120*q$2(7riVQL%%k4qNibC@htcek3n", + "\nN5ZSJodsGsrq3ejNDQX^eU5GMBnnCWqXGT^jv-k%Gdvs3\n$qaF44Vdnegn7XvTi\n$MN=-R$^f4Sj)CZ8fNaf5V=wopc08g\n", + "y2=o18w)MFed8mgvtfOndshETHn36rQ(-6H&=42uaN=fW\\\nk$jaXg-YEDdfoApKLUQSyhhQ#vuwvZu12QDprQ7S9Af8\n", + "\n\n*N86=$xO&aY9uWTNuU)MyqTUzj#i5*F)x=tVBrcwgTk&E#tvxS@9dmDYnrl&k0Oe5gIt%slgRr\n5@N8SC95NP@)9(=4lD^tBSe#LLwHO5gS-xuTxuuup0", + "3BntQIho)jJ8j)MwvbLM-uq@MYg^^\\\\-YU3c*RSPI4e)R2enj6=Yb1QR29PJOhu(^3y$Iu64k\nen4ZCKyEg*IC!IVibFxTbeJz0wZ", + "KDt*$Vg!jYGc)(D%W31Qg0aFPN&(x)ojS*R5zP$IPv4oDTs764Fn9(9y!dl2jRaRLKT-XwZ!j5ks9uQym\\*$-tg8Dr-XIHvmk$J\nWR8t3vDfYqVAu", + "7vxUmt2JHK9X\nreugxWCSsy0hdY0ntnmX&%I*Ts!WO=BH2Jw#U0KRqOG\n9^7ap\\w^SvulLTM)b(rs", + "\njP(r8(O8*!kZt3N#cnAP*(Atmi22u!P6bgXs5ld!O#N69T=6=sCLYGX9T&M!u8jS\n^KEFrt8hnmxjlp6!PhqZsVZcQXeG#@wwmYm$M0)!PEYA1-2Q6rv(c6U71", + "*ee-#dW&@aF8\nfisj*=Y\nrburW7Q@F&)83HPecdnPYXFYq*HDddiDdD-=Q9ZRFXxuAP87NA\n\\", + "VdO4c%KW*9UAjuU3q6s2Kg^HSdRK^j5dfZ3\n\nBzSkH=79c7FvOV(%(JT%OcZOfCy!U0XwfWF02^dJTeBsRhE@#cYRAC$VN^bCNJeMl=", + "j1m^!Z#\nJ#x)JmDmnC%zhXdL$WgokFt\nZ5E0An7Nv3W5zv&OsASts2RR\n3eW7SOP&O$)aIUnW%DRgC*cje^FUyK-h#174vycOfXLP16Tmwb9DpnSkrLZ-0C", + "XYGj11mMwvNJnWZME0nSH(OEdnl$6-9Ps3o9PQ1cZR&Hyt7Q%@TUM$s74GtEnXee4U1zRg\n8gLUmGQo4VL*7sEh%tFIEWc@)9gsVjOF8bkzJjD%zsOB)Pfj(e02a^=D2OyyvS9H0J&", + "%Ccrsp*brr\n*@r2Ucvp*$C=dTq44a8YrS!knB$PN6Buz8mF6Zn1WqpW*O\neRixSYviQt0YiLFPConn(1ZpmYM(vIywmZL", + "r7Ou7(l1FXx&3vg\n\\y$q9S@yLnnWAg2c(iI@@\\E4E6UPk10Ca(P4%q5QeI6AXR*8RwSH&m95uHU3O)65EtNG4w$b=CxpY#4bygvnF!k", + ")-AN%wQ%e2eJ)VpnyOGeW0o-%PHEN\nYgRnmNapJwDjwwPnmhWIsEQosyQkIzOu7)DQn)IogowtqCU0yrbA6RW^H1nbuB)m4lI@\\2sJ0CyL&^dS", + "!8E0Xun0Ic1\n\nt&eX2!vAQ671Ww-G56CM^%G&bedHiK=*gNri=mYsGB&YM1!3%AeD2U-@CyCp#Ak)ylf!zA=", + "Cm$URuwwmqX1iF#HR8O)(JGiUnsHaHSIHx^ELNkI5E8kq6=SA5$jcryN9BuqsOk2OPK#Ak-7(lTgO3FqrZ$0TK3XCGG4di$ujioaQMb0igSio*Pc76EAPgUhN5BKPl7\nV0R=-ozC@j&9DO6Wqq#t", + "\nrhl8bCYHWoASJHf)o7Z$63j9^$yj8EC7X(2pn8yPO6OerPY!oWkg#N=ZSUoUfwa\\\nq2bBDb8fqRLS=kOR=mm(=bFaWk2X$Ihju@K", + "5%Y1pvMNL$Ob*S5oi6MqOtB4@*6PDLPFS@a9uX*$c4#k(yHb9i5\\9#d*XN=6HJ!Po$A8gaBk$q!Ek8I#u8iRI8KUn(GScZhJ64Q$3f=3LIOyG", + "KNzLPUWvV*nXFn#DTE-sg58Sf5AJEA)!ah\n\\g(0OWpJVSK3W-\\\n&6mlBdg$zGcu(8&CMtA3UIr^)MKq5)p9o#=jU=^1", + "LXc0JUUl*p\nZC=E$*^eXP)Oi7rRutVfD0ACO^7YtX93YnBZv6gS1Hlr4KavZ(2fc*sO#ervA1Y3C$zV(Ca4mA\nEYe%wG2WVF^wwKk4N9Fh8!nbJG", + "61N@mxJ=!qYbEH-2^fab3D=\\mEL(2EzgvPezzWUHsX@H)=6---qVr7oPx2-XD30*LQMw6F8Zpt!2er*#$w-S^JEkMT\ng7L7QIDpF8g^O$oCD5Ae", + "5cfM@@R$p67CxmeG4i%2S59v@u)PpE75%2Na4=1uDvp0)52$%TG^zdIxW7nRMnax@6nbi$^jLk*$4FiKSaSXkwZp=kF5wvGum2n1eq^ehsK(7HAJoy(3TzdWEiHl1i7YoGseTMwK(QE!0aw7XRJqoXj\n", + ")je4f26iV&LY-kY=awAL=S*avlzAU*d)(^u$MWrB8aZS3mhZFUDfXrETTdSXNkL@jyxImg9Ut(Gxp*wjpW(dCyd0L6)rxyeKe7\\)9%Z)$!Njb%f@v1*^=FrSvoG)Rx%1QMW0@rW-C@", + "\\H6IyO4m@U\nzd-j2SjVbchg%2m2E\n\n\nlXx4%&41(dm2aG5Au\\", + "\\J&cmoK4NjJE1mpKPHe9j\n5(u&RVxE7znOcbWAE8AkB2m8H3UcumXgvpJj6L^4z8\\q6cP*pbrI3q0Gq7*!hk)(cgvD5r", + "\nbSVfrSFvz\n\nZsREM&kMPxAII3\n\nIs4qx0G%)D0$5x2n-sOSq^8tHrGD^M", + "cEXrRZXyq*uEA!X)WzQQEGX8KLj(!iR$p%XB7p(%hfuiX7K8$Gta$cWDMuwE^tYQ-#jBwWJ\nC7WERKc#lz4)w6AS9oj8FykZ\\U*iYQ39uoaQ3IqKlYA\nJ2mOF09c", + "5XAb3Ig4MLh8x-DG6Yng=^2)4YzSiCGdj1zLH^W1OzzvJLr!HsC9\n\\\nhhiUh3X^-b6aMwQTqFlLzcD$Opto!1Lxu90OOKSN", + "HACHN4CuXyzE048d2eOcgOE7N#7xT9t\n\nqAk@PnnG32VWqq=Gsnt=aJIs\nJo#iP8x2hVoeMYw1l1geEkVLo#X$a=yn\\7J4HZ6*qRUjGZdFWILPmBR#", + "aLy(GnV%MspD0$\n\\Jmc@AboIBjSfYlNLN3es@1H9jcYUnSa&BdxNGWaXkl18S7#moSQeFR^b^j5blDZmXEx71rhTE0T(Q2@$DJ&a$(Xn^NXn5M", + "Bj!$XOVQUBdp8LO)N^$k^vvqIe8cn\n\nhpmj\naNAW6XUWU(diOoMgvoYkdKE@PAHts7hkXCOt(AXr", + "3#Hd6KFz&SgoTXG^rd$s0g70huEPlY#v9z\n$X@iutoLn)qj\n\n*4@cUgxx-1X&va\nSpwsGptvdi@sL(vq0OXD", + "%$Ce^s@h$rVBPbtTsw(\n\neMHBT%r\\iftTg9JvD7sWGJHsp%S-MXDDsibtd6k\nB!YSUCZf", + "\nPjtkmEI^RiLNTsEfvJ8LvaLssdA%krF2BoTTyJxy@EJMYiRJ!5o4mbl&p9w(FjSeA7S!$GyDOaHrOUgsw)uL-$VMW)66sAp!4u#F2Qd\n", + "\nP9Xev71nfi$k4yzi%VEsr$-ELjxG!JvDg!crswkVQO5BrCAtZ2Mn@yTQ^Nf0(mgLQ&MiJgk2qYV@gtmxIFK8NmI#p5oqC7l=3h%4bUrlU^*W1L16%e^x6zB$)ZpUW0VQm42mlGFNEYMEz38Gvpf*dJT=", + "8D8qS@Mw8X3Lb1-5kuA9aY=42GOXNTxy\\0(Kc#@0l0X^kP7#%g@kwEv3oW-f)Q7!)L3!@T-TF\nSeXhhnN&3koFuFgvV\n#P7Dp3%", + "\\F7ZhC0Fm7fIWTYT44Ro\nW95Y-t8WbX*s5\nCHyNWsyLCYuiu2nUCC@JpoYpp6wOXJLEee-k(z^Mp@mreTI4ZFKHEWRE-0&PhC", + "nJ!g811LFO\n\nfuQXm9Ly2S)b=Fr(\nif1l#B#ejJDgaQz2XiX2lyoG1KCUx$caKdwP*-Q%OZv)ZKrm$4yEut6&EAXXzob=nLYwhio", + ")IP@Lhd0EG)s\\c*-dae8UUpZ9HY-UQK2B6=Nyzg8Me3Bq\nX0&$E6GthL!4Y4uF6t@aO=&4zQQkGnGQGbro7Qh\ninkIqsBA)J4mbPvk!*g", + "xt^l2^gI5d4^\nvq=QbtW*Nl0)2jeiK@76MKuM\n\n%7V^bKl7^gHYT8s4A8eB!tSOhW)OMh\\\n", + "$#LaEBwQBqJXVdmRr$cSnIqlMff5t\nnFH(gj8lqZ\\3CPMmb(CALy14kl^WXBDQbgL0DPfhIh(J-C$2A#**!jFqdc5Qs^mDoJZ%kH2y9rR9SmwJCsNjGNvoMnnF1nNz(=Ko", + "(W@XJY@T=YvFKo$4xJB2Kh-QIQJ91cGR#*YL)%bt)W)y5fpK#Cjy)t6zG&kxB6qBiEU#R@GeYcDNbvus3xC(o-&)Y4Vtnu-(ZIbM6gUdYlYZW518w20&)\n", + "kcq1YCU823AM@c0F-B-2s*p!SE52ssj8&\\\nR!iPS#nTyaiUb4PFbP(hSz\n45m6zj#*l(rIm", + "BHLBbo(-no!ih$FAotNt8dU!6UBiYhqeSdtTbyVr0N5xy@I%T8$H(h6-aKa!&a8mzNd5c2kIXbd)&)Ayt#-qC&GE9\nNF(#1ThNc9ss2*yE", + "\nKwA11ahjZLV*-%%^pNjC\n0to1YcU@!Txhds99DAX@!bM$ejscRax@1FkXkJxWOWwGCVq!^ge7L2QgQcX2=&BGv&KI5U1Y-G1FFlo=&))iNbH-y\npd=&ut-995h9D)BB9", + "\nQ5xZg&iM0ihbsTXa=kRam\\dO&pGnjUA^(\nVyM8V$SdE1SH1EYt2z*Opf5EggbPWyn", + "qEhBZDvuC\\@-tQVHyTxQfuWff3Wc@N(&5ciD1NaX@qrcun-yN9Bv8hz%2JRTxDzNNYil%I6KoViNAxaLw2bJ$8SAAg2", + "60N&TLfr$jUTEc3T*6M7XUJcD8Wh1Kxjh(YQ4^B2T^*uvwE1@05q0\nc&C%-QbJwS\\Mq8kxSvGXrUWNeqxv1yxQoa=t&", + "D$521@NGGR&=#m^=)ucjXjJo*d*z^\n=Qn&OzA7VJ3rEWCbV^potBl2LGxW6@j\ncq(w7fixYPcJj=ufbHxQxp*&aCX", + "\n\nb(dO8r)^w8ZWghV7pj3Yh\n\\\n9B60\\\n\n", + "\n\neX%@k^U\\4RU-RY@P7aDU8j6dmX7SlI!f2vayL-)OF7\nuVx(Zec5u1X&3ti(9sYBM2ldN)@L4X)*m4j0bRq", + "IebJerkDH13wgy5fQ%4\nGXHHNJOB0-W8dodB66A31LXC6X-e\nlZi0BTD#Es3lB2GmS4gKUxa3%=IyEbPGz!kYlnL%&8CI5o*)q\\2t6&T7#x8^@2-Ng!Zjwm%", + "cX-g2#5Ean\\\nSIKfyQ=1ba!$^8=H@QxXE\nYu5v3jmzWm!PI-7$K3Scxn$HM(iwqbTZBnm\n*zTbp^s5^v-r5B(G0!m$=S)2dfGPomCV*2*(nODIsI-ZA(zv", + "\nU@$k#g8AxnaV)5LwzzACKp(7jROqni8vma3%S1Ff7nTpTcGGT0u*$GzJmjRE3Yl#=ahqfWhmbcM!uK10fk$\\\n5!OMF2!eS#%CG@Ftcv64\n", + "eLtC5A&A17ev(ZJ3ZZS-*3*-7ffB\n=kLt8Dzdo48&3E0glsQ&8*Rvk#l#35tX)S6j*D-GX@(9ZKxV\n\nfB3&Ak&vlIFYPmt4ecUztcP)K=", + "PrACfoQv)b5^C2F@vtJcXQCnEAvYPe5uvCU=JpLuyB9&$Aco(t5%2lrGvx-IsyoQm0zc*DqBVcYb%kIWB0R#wVK%yQLhXnP9M@CSrWPpan$QC#^$jZyx-kEUNYQeJ#by*ZSUO3ZFcSC\n", + "\n\n\n(yT56f@o&TwrFGml)fKSC0bXFTs9TsB3h#BqH\nWV1^Wi&gi-IfW@DLlaL%1s7tAMObN", + "f9NJhFUDFD83VJO\\d7iKP9uJhlSZ^rsF6S)F4vLi#4IR&(Nf2BO*DtP!7jA4uO-TE3QR(TsaV0)b*)DZs9qVU!8pr0xIMz*79##pdWnCYw5*^QWnk0", + "31C6Pu*Y\n2R=CRE3Ex=E!xl0&w9mNQnUNDKoT&!z(M\n\nTJLrLELuaDd9&xR0zW4slPn3291Io3$*lQxLk#xcchvwM8swxuN$p=er4Z=a-GWt1*", + "9C)-*hcXHV1BLfU-Z66\n\\6inA5j*XNhRE8aQXxpSLw-rXdT5p\\\nsh(*C7yA2oc\n", + "\noSsk6$3Ru=33g5W8(D$H$Zd-7JL9FRvtx&3R\nf%ILlAANC492r4eJel4CHwNc\n\nX7FEI53OF=Xx31CS", + "3=z2h\\(=tWBV40uWk8(7fNOu#7yLL&S9qO4kkB#@I5TQb@LE4IQy1l0FYTNCqsAqiicFx^9erUC-Mhhe4XhfYKPy)lxl*HqVTwxqcVe!T=1Y7gvmyDY3&moey\n", + "d&mAIgUAI2vESmoz\nmlN#a4@RuV4lgcb0Mh@2ifA0c)P*kB=%3jJS3hAiRrH)!9cB@)XazN@\nBGr3=2=\n", + "\\@k@E9rDrB2DbLK)NRb5KAHqXLOpcXh(e3R&7Q85Q\nYincQZf*ZAIuC(uU1&TX!Fg&%ag*N)4Bt40n6%$nxXD)y7cfF^7SkZ^%Xa\n2wWPgRKO(gVDQM0C$fEr", + "#we8n1a5Oba3&3#w=lrWXMCFTe@CyuSeX=xO)qsKlwQchL!!*60i@$Mwp6!6nZtJgHR7Y6P=R33jG\\\n\\@N4TYVPCPDFL(PGJ7=%CHSBX^ZC(bL", + "hDuZY=uPIS-DXKa4m8eF)4Ij50j(FbnLKM9Poi!Fa-6&nxj7fN4VcDNf42Gnlwul\nDNRgQuQ1y95lyfD=A%Ds3UwgW9)j3pvY^zAycTCzFiqj1&Zwyh6bCfP", + "%KkfE&P\n8IqIu^I4uC*Bml#^Q#Y3=tc&9956a9hE-\niijRv(TjZ@bY*nUNp\njCyY@hIeya(bbjTEnj6(3xhyGhfV&e%Wgjv02t@IFZW", + "\\\\ts84bqXQ5@^ggVLxni)igu2%zaKO2bk1zi1S!42dUYwD%O55)u4M-b6Sy$PN$GoR2\\\\4iS@aU-Xr9V2UK-Z62Ql7@y69R-0VRHEMyDA^Xtx-P%mn6!V", + "F7sJcV5)LWV=#v@1ujJ0b9vJoIs$D^5ZUw65jOhdxlURaF-7z\nIAtJRFCbve=TWihi)qXF2-Y\\\n\ntkZlO#uu(R^V", + "BBE#=3WxNu0ZV\nxQavU8HG2yyQd%QT7X&\nMcq&7Uy(z)JCUtWAa$&9L0g-A&MUAajflmpbZDt^VS\\UhtqlTi9&", + "tJ&!kozyrf\nA!W&ZR3)7lrME*41)d=kss9SYvu*8uw8N78f3LE^Zxl=aAu80Y1IEVDBQ&GeKgtfS=@Toh7b^TxOoXX4lYKgh@jU&e$kcd7MuSxS^4EgAWvxeqccbl", + "Tjv^y9w=6@jwQQsyuiWlWjAN*p(yySTm)KXN299\n9XNAmT=KtmR=T)Q$atMDORjIE8fUn!hywRFaXl5U%EHi3fnmXWHY&urBI0^$7=6X629(l7K^X14sq2r889lETezuqscrN", + "Z&Hf7^bRWx4c5PjHE^yWweFy9Ud\nkzXKmUf^AqLxD%3Aotn(ZZU3HnGjcG6KhSP#vx^jrPon-SMiB$3tAoUs&ivlW6CBoM)ieYAFTWeZSl*VGvM39h$#%E3Z8!APF6Sq", + "%ZSu(dUVgmp&4h(mjfQd%u74V40ss(#MVq#XAd2DsDKbhMi#y*UjFg&%@uZAntv8T9w*v5\\\n\\X!^IdjfVkkcWpg#AEEQ!IGIefIekuP*liyHR%Aku#2$*$", + "\nOANPx%$qr(7hwKAf$!JVZ80T3iXBfgN3-b%BH4&!yzIMg-w^p0lAwXvw3FDxjzI*b%)uf8*OLW2X2@HZGP4vdN9B!kVxxV", + "1ES*7=7=-3leKq#66XS!VdCgj7Sci(rPVE@6$JEnV0QQi88kBuR8C94zt%)DWrZlunFJ6C4CRR@K7LBJ9VGPrJDRpMb%v&YuETG)KTEL@q(rY-A=V-pXkAmQzvLOjx9Hfqo$NAttmA&qaM9GTix!mfs$fIZ)PA#XiGUu5k99f53WX", + "*41QYkkBklGD9&3@)#wDMxe@HUJ2=2\ns5HVq3xGCEfq)nRL(4pQvZnpJaP&nf!wTR3KljESlOF6#hb\n$YOD34yoV-%5S37Ux(ytgtC=)IQ*\\", + "iIBRHuVvj-DN5Q5kj)fqpER36\nCoe)BiAC-6PRZ^J1#EYK874gDMX3U*p8SM4EIW*x5g6XDFr!hco=#0Kc$d5fEwulzlb@Z%7sHfGC@(pVHUs3)&=zRy#*g4UbDS*8jGgBj8B&8^u4E2V", + "\n&Rd^u*RLw5Pjz35u\n\nPUC60pO3XuCj*q=kFmuDeLLhdVzyDea6qZ%2A&XpfjIXvK=ulPo*a&z\np$z(3t-*2X*u\n", + "hX)YA(CX&VPNrV8HwU3JfF42w%EWl*(=!S\\\\\\lWE1lASiQDFlwW)TQiB-k0yHX!RdI6iy@y7)S^PsWi%\n\\\n", + "\\\\irJ-OgpkV7KgQms)C9K%)w6tmelfwn^H=A&#xxpq&atoZ\n\\Jv=HjPwkO83r#K3IBJhr(FD\n\n", + "j3A-P\\bE8&H2Ed&kH%C1eLAdF4k!-(Zkg0ouKZflRgdcUv1l2asTor-jqI5DDECnUvj10#\n\n\ns0N(4&lwR1sfki@m", + "7yOUbL=M$mq%hDcW74N6zHI-)WNhwHBs-JH4eg!HDxSmaBOR\n\\\n\\$J8)zpP!V1OM2^KUWgoTisuf&Jq2i6jiOC@5bs", + "\na4*jzbOmD5$#7AnrLW%LH9ldn)DO7)LHfb$T)-PimYZS)(MLs19D)bSyOZXo)=WwqJTctmaq(Tuuhy(3EXMoM0(I&O*InE$&furlntCJmtX2dKQE^#(RbFwakv\n\n", + "^prsmbwK0^3L6f4-7M=(x8)N$RnVxE$DrTPRX9\nDb@pdAxc83W=F!!PG@0!pgT@Qu\\gfECt9k%L0ycwJYCySI4-mSZ\\\n", + "SFU9LF\nDFbXCoiRtW=P3ii)mTiI\\(RTKmgt*l!c$k&wgEpp=1bg!MXhmTC-3D=\nGc3lf7rTPX5CO#=m3dvX514CyP=iSCz", + "Hvz*DTW=NdwNS9*R=%JrVA-ieI69we1(WjP40P\\x)$g5NfyQfQ&7(TCohv4%LcT5BXo4q&IJ-bfAoWijSTCncG7ULX)nl@uXl\n\n0X2frH4FQ2HDLMyZL6AKL", + "w1k3F8JfmTODVKj^w=ZlHLe\\QGgVy-ybwl7H2ZTh8KF-6X0MVW^mgtpQLRKn9FV1QxJ$TldvMAPSDgNz(5fg=hbPTdPVyqH7vuObZRPNe$sH*^syLd%I($sN73#qOEOadgqwCkwCY2RahWGbWGvA", + "6NJLnmsq@FVs%hjd&1Y-\n\n58TGIq1KH!t8^zR!nHNXWfbby&R78!iggdy)(E%2Ep8o*ybBq72Q9z@Ma^\n4OWyi@-sb3!ID3", + "\nrb5wizbls7EMXn33BR6gH2))hI@a^8k\n\\\\%hE6\nC$coJ61P17dtpItnm!", + "*K-diEQvy\n\\\n\nD^ZRi@5vy^ksOUj#CM5z7@7RIMkzt!rlNTp6M)\nHs-gSqV)Hm#Ep$F", + "vVGMQ39V*sq-y^DCY$HcSIU%w5YugXl!v(b&jo4U1fNs9=mc%!9ucXAL3VEoZKgpWsdd495tcm\n\\fZx#zLF70scD@knPS$UKG4rC)tTn8%Dlgnv3tJn=\\QtD(B4cGQMEJQMxj(IV=aZd", + "\\lyvmIyTBU)oQ$2LA-7GGXXCkSHA*J5qbDT*5e8Xa=Tfc\n\ni7$(OsrLWGY7i95I2!Qcrg8q&!yZhw8gLuaHMLQimJCioXm4Eg9&N&5J)cBug", + "^C-cp)6kxK(V&z^z5S#$e&w*m$rbQy0!L22$pUNIsfdce\\\nDDSX$N3JZoivUJZ\n\nNOzGdlJwKq&6A*qaFK)B3q", + "&lD0*qpKl1o6*Q7gA%\n9Vo&*9wK@Mdnx\\Gi0wdoT^EIMxJL(JR9pPsOqEd4Me4f9P5fNQb5JgU%!Cugpf-)pgX\\\nKkck^", + "UPD)HMySdEIdlE%8ljaS8tDBza5kMZf37%EoLpf*3-0-nkdRSAOjKZSbq\nRPv51=v^L7nVJTlj5bmvifJ\nJay%vsIL^YVm\nb96xXH)t*%lHk&fh", + "x%lih9&ovimzYPDT@(!F6HAU35KV\\K&S7Y-GM*y7%N5M)V^H1llCYlvv%$ZBXqQyt59xKOeo6i\n\\\\", + "^6-8(&VJfSgxOwJx#8rvDt)WKI5yN&d!8HiqB40dH4\nAKJd3Nbh8IK6$GK&m2cS\n\n7ntl-gm40xbegkKd9&h#\n", + "iP#mfiLR=N)l7NhKTvadpB1wOQ!@Td6Wgqy#H%rsT@gSolOO*$V^cM$6RXy5wx\\nydw^#66Ar1jCy59mF\nrP%yfiN3F1x9rkAy#u)h0pIaA1-HQ", + "\nW1Q4NzoP\nC3f-4UWY$&j=^w$uYfgYcBLpKUo2DezpNfTJHRROjw2xgPGi%WJu*3F7dfNvW%O(DTYodY%8nqdusb%Os)yWWP^9oIGymLV==aPny-zHeXP@", + "\n\\\n\\\\\n(hAx%oJBW-18IfTtX*6!82q1l8&iW*LJfDr\n", + "cWxVe=4Ha4gn^GWxmOCbV1^\\WYsb^u)XN\\iQrNz7wV^ZX@I1uYWf7iF4*)Nwc%nmK6C3^YoqpsES@mmjGsvhXFG4B&NR7@a(a8px47pkEFhmYojzaMGzMQ", + "\n-fmbp#6rsGHR)HKm!!44XR\n\n#8&ybynle6POz6NaG)HVGU$\nh7$AeLcOnBSF^qg$zzzD@N\\DCC5C#EdFVEUUe&cU^Y&t6M=91my^FRm3", + "gr^s1MOLdhW(5wbTpC)KzHKkz\n\\OSctILc8c$E@h%PFlz65Q=LHx4JNS4Sm&5tlSxYWE$kDwf(Tc!7fMvQy#w\naZd$hl*pJ6cha7)f", + "ehs2Ibag1A=hKAu(TTPFVw)rf7DdfH\n&bAAiUN#bRsS^BFrE\ncG3!G0GQeUHF%Nnj@G$84T-igzpq$5(o6o8qX-UHd@O0@kiR-mRa&R3M0nlKT%UD", + "pMAHM^ni%pyZ&Pi^P^lB=&lo3i4Rku=j7\nMQY1^g$B\\hczl3odlPdONI8qgIQ\\6ELh-uf3Gi1xvB$pprQ@(NTq*K^aOQfJ!BCrLyVT61Zz", + "\\J*2J*sjyTvcA^W*vhxU9U^cAynU$guOQaBNgBCQq\n\nr3q8tL\nRFNgrVYB0a2SFKavcSLW1d2XJ8=mcds2w398s7yinAYQ", + "KAbyS06\n\\9cRX4CTiNMpTvS=z1$qr=\n7b5vCoYE(lyMiThpXt\nU0aNX@tUHo@hEL=7@H4LDb-s\n", + "L=4Hhaj45cD7\nBrWOKR&G&6tbLkGalatB7kWRQxaLP%Bd51G&Gd4\ngrV^)iXVizt214uC#sHMcsvZQtrZCca5NufQ5fbnBB^g7CJx", + "uID!XM--bhmvdwyzUEICu-@T\\\n\nc-8-))P2e\n\\D9zi34-IghToO97H!sS5$^FpQWjgBPXgEN", + "Y6s%6#=JrOb3!\\\n\n*QTZ^H5R5*KVUz)NL2O8TNga^V)yxL)vJOO6V(FX^(e8Iiuxc$H^2!Y\nhKEIj", + "#R^(5-UFNi4&5D4Jnl2iVHrLRm#9fj=svbH7MFk4HbprcgTifGHkVs3(WNC&bzwb1E\nE!QT6p1)2C(B!lITo)cZd-Jc4pNcXW!fYrmvw@5VSn(e@xL)2amqL24Q%If#7W", + "SY$mhR^OW=eKIynKBiL0h!cLk8ISbwQ@55haDIWiz5jfgE0MN(xv8WFiJ1qxAczbVoXv$py7gAb4P#l#FWfbDhS!kwI!-PD)k0EZH9QP!6qbGa$4A\nVQcv3MP%(rwgLgv)gUPgK8vZsvH!p4OMk9T8J", + "eUFH2TeUno5NiCTKzYeJGrzQEeH9n$Ky4*(Ucc50\\hfwo(kunkao!#OFPUhS)$msfXoX4OhusDzvwRF!=HNsGML&sM#*in(wySh3k%9&eeCYRAw\nA8pSnc7ZT02-oWLu7=ZUJ2oqrd", + "y^IqrN\n\n\\RbY-js-AHUnx$K9M-lGTvqB1oMWqNG0CnMx&e!jBVkZ-#Rrf$lhAn)b\ncP#((-(f-2kxhv", + "\n\nuqktZA\\)Jp!47PUsZ$uOr1j8T9y*ulf6HVgSKb7(x$I0lt&DgrFANCp#h0oPtJ$S6&25Lq@CpgVnFQF6&GRaqlIgR%bHOoe$whgQ4t=2phNVNSLikuPaWg@!(f%6j&r(V=9Lr", + "9vxxk6N\nog!id2xmrb8eP\\#!ZxgQ4eXNbcG1EMrMg*(Tz!=2WgcJyi)=jT(K68BHLP1v%rG*YCs-\n\n", + "\nQBRvx)Q*LO\\eHSo5(&SaT*Oxx$02m@LjSF#ZfrulrgRci6r!8rX\\\\bhKp&$fa)@W01DMmErkOynzK\n\n", + "C8POEx#qa$bw#=G\nqkq@52k**ZyfY\nJ)$g(u(4sgI9$*!qRHMgk$eZ)3E!)bTCSPMo(^YL!q&@PWc0RU4SRXnOyRdaqfBMnfPVtfM#NslE(7WEUv!ekVIunyk@BnbSWCyDO", + "\n-%uq$CQnk=68xNuIb)zLkD##Sk*oKM\nbri2phXjW*978fUn6vD#bSLLkpvmVy#$b74ziLNuaCA1MoahWUN!X)UL8ZRdd*zHnm)mL$$MB(XuwvyQ-MVEElF(=W^h#ewCek%S@Q@Lt", + "dV@jLZYNW^g@OZC9eH6Q4TxPSloNiXX$P$bz5Wj0F2Lyi2T-TzCjShrQ-4XOfw@7SOm9R^1C(XE\nMFvRxo#(tJ2WR64Y@322Aq-H7=LATP3AnWGI28zV9V4&$JglWihI@o\\", + "\\)*@N#*JEl13vkR%e$LwjGh7NORIR6bYZlrMn9%51an@$wfZ51Rg7!VhYyxUweehWE*fP1uYzJvLXGlo8Em#f2K^8Nllr28C!=9$q@LQ1\n\n", + "#arYj@H9CJ!fdDVSqAf4lwm66&lc1!WzoNg)RGmdn=4lg1$9P4#5fInreE%g^Yz6M4AcYzdmX&\nF(Q8aV9zo-pRHt3jQWGx=AwNFcDZ26vu=iOYpisSS\\", + "\\\n#IF&IL\nO1--7EkCJyA$Hkum4^cU6G2(w-3Z0hXJTc9fM=tJa@=2P5cxYVix&LmnyzKK$NT%UDXZ&G(!7M", + "ObMJ^CgPRUb05O(dyM4oPuCiRARh7TRJHc0YTK6ip8KupqYC)Rya%RDj#qwcA8v3A^gaZyvpZDyQmqxIavrZigxiNtXv\\&ksZrjNEU3L", + "bYRXY(a4)FOThYg4p5$2yWqX-o@)DMSdmT1FSbTDS7Ubc\n%CLn6@ruPZQNU-maoswPCU4n5Zwm(PVhCb!Bxq9^Q4EJfR8izTE0@W4YxOQ39yJl1h19f4yh\\", + "C65B9\n9uGnmzMLtbrZQeom8Q59*$3KIdtO0hh8TRMPtmuviuz&(r#dy\n\\\\drW=h", + "uoPPZbPH^a\\\nhb0=GAnSI=RQtLY^rGEQQ6=$DdEHh-Q&KUxq$HAgJK0mA$%NWj*k-HTpZ=I(L6wo#j5Q!N^nWuw^mEI!M95-0xE\n", + "v7r-^L#(9yDC7k3O3NXg7syUJhzC)NA8-QP&pR$aDK#DRHh@UKsSy-WB@IAW-!R#VI3@YsBrG5nrgH26)I56z-ohw2z\\UOQ5rQXCTAINi&\n", + "\\)RJnpD)IS4Z*k90KmstBom@D*&!I^t5Be!m-0qVVe#%eExRJ1sWn5Muk*\\yq9@sooNgAIcYP$%iZLxxZrCdKJNau9nawU1zX#GZun(84", + "xwSfSdt34LuvQs9%QZ%H\nzLzd9xZJV1hz3=P(0eRFGC2laNe29h$I=BF0$H2V*lS\n4p$6-G%hBUG*3g1Q&G7#fS(ym*#TWMDzKlzMW4G4aUpKv$%KTteh\nphyH00(vG!", + "2ZZK6z@&#nIOF1LHpIIDOkAXx#$dzXXzVN6t61*N2Kcsm-UMAWsY&XuB5XY3R50$iDK4Nbs9aIq4MRjt5KCW(kAdn0gYE@Hd(QsCgHZ#nm07I1r1519dEAi)ahopE5ve33x8HY", + "9LXx$&z%MRVjNgFukF3GZx3wS\\hcChnqJX&PR=PR*)bU9*1-Z1WGEi8*Txz!TY9hH@9#GT*U1SiZ7#W^xpjgsG&yLgtIP$0EIMTQJV7Qhj(S*fJ5L", + "ddzy1h2^@cuJ)3hxTZV5yoVdjkq9W%X0^ql\\\n\nL4H#1\n\n\n", + "o8O-zt5rDiwjxW$souh6#Xf&=CLwe2ZqgogZB=!c@GX(gIWBiwRqtUD9lDP^3tlnmzdL$(uQQ\nkn&rjoR0)Dw&I6Mj\nDKFqK", + "pGOQv6!S^Dk*y@DjUlR%N-F^NrBQRf0)7nauG)T3&z%)oYP\nvq#q94RCGjKS^hvu\\\nHJJ1JMRSGBT$8X(=qPa=DRes1MvXg#l8Etw0mGUU&H", + "A7O6S4EYPfq)2aLgBAWpX\n\n\\-aZ3oFMKtzq9Mh62nB0Gja*\\BtCt\n\n\n", + "j$DoSRV84dXCnW$i$tHZi4J$C6b4rq@Afonb!rd77Gcqp0ix\n5v9!wWQUleJ7QpmT*(s=Ysvug3MqC@U@7V*zPX$U5QPHrYB%P$PIhCRZ8k1rY1a6i2e)$B!evX1nM85&Lw2", + "ibVpu4RAZMjS^ZlLUHux2pw1!e1WM0\\\\x8Q@F\\(0Z=4luHQ%jT925^8n\nhO7%(r%k1JcCFp=", + "7yGU2Jb5iKTvYcKVWNbnrn!oUEnTb=pU^7@noV=0Nv0PH7heL&Q0uD8S3yW)6Z\nQnK-Ha&PSGNx7yGqerv@mr^T9!=ZdPLwLIj4lpf=b2isyK@(hqUq!TR0%2BK8F#ixnf!", + "\nxlHNFI3nt7Ty*7J5L3c8-mk\\bCTii3TJ6UjHlpGX66pq2QZhptK^XGg4NfR)BR*hkebxzVbm=qKiMWdOV*QsPF8(9@PtQ08I@)\n", + "\n%E2iC@D%ita4CVw2x&6h0j-!vOsYVf%yM@B\n%Y$(\nP1suCxoQ6k8Vf=f&M%i@3Wz4#a(-%7NWrdD\\", + "#e6hKCqCAIXD&ljAlvOV8*Xmue(XbBG^aVW3ID)mUz8wVg2E0xSg0O2nZmbPS6oMG8KxrVlw31QuWHxa^eScGx%OPHi8LvvZ6Fc@GaECH=u$T2D*w8isMDO*l*m4i9i76RFYJyXIoN\n", + "4G-cdw=c#cNZ^^(D\n\n\nGLa5qG\n\nC$H1JE-UIwWlh6Em)zRaWO8H!CEz$i\\", + "\\\n\nfJE9ZCSA(FSuyO2!MxbdrIhhSHK1TiOEHI7@g=i$d*CSzMFxnngx\\\nIl6*Ht%HEE", + "gHsfOHY%tyo%8M@cwmydo8=6-p#in=J6e!YRHUDd5W&ehIP*agGeN1ag!RtdoIL9A5BhrSNVpzYepGt&6HvjoHlLdKpZFs=$5orY=y$=bILa#2b@wlNJ17CDWTs8(Yc3bbNp11MN=NHaPlYmXvN-4J68*tz3Gy(s9UiGPI-BD&oMlpK^)", + "\\ZpjI=U@BIsw@W!5BRcyaf@vj-knnY9fLS^2W^%gcnQT&r$HU%V7m$CCf6aXICzjWjEu*pDH\\4@o)=ISpsvA91Jbq)295%213*lGCK&Ketx(pID!k$KEzRe)Ku-@Mr\\", + "HF7*0MdDsSDDCsq*W6kY-)(oAYRD(bJvd@\\EBYarLZ)3g3L7jH(tH3)E7zYepQ\\TECxfYiAm\n\\", + "SXei@t4!jAy^LSQ&!z3Xj\n)refg5#yFHwMNKA#F&*Fm=#G2MjHbG^Or$frmLaj-sRk7RV%fespXa@1ez=z^ZT#uUIqU0huP5scQfAF*$rsr2\\\\", + "^b0zABqUARMF\n=l)n1thN0^Y8kECIfW\\kH=G$*k9\nvfsVq(E01iDxjy)@\n\nFx2#1vl60!Cc6)71Hfo0", + "@aLepbfGZoTJcaZ7*!DK=^lJ%%((@gP1\\zQE&$s5Qvw6&PfRartJ8g)ZKkHXn@*Km1z4yw\\jJ4q8pVY\nfaP##I&zZh=uKmS^l12SP8X9o2mizGt!6#i-VlTN3", + "U4tDD7AavVTJGe#asLe1o9Qd$xcM7-^P76JdD8yppgveXlGsmypSB&eSnuqp\n2h2*1K-Sj7C^jwZ%eGM4rhDOnAsH1Ja*0p(SB*)qe1=CE!lw)pwRB5o-BKI", + "UKaUeSKT^s0VXAy0R1g-kY2lxLZX$5x7-PD39Gzux=S7DEZxl=^Wx((dte-mc3(&%lW**8WkU^T3o^-4(x(j5hr&hrartB7%6We\\%qmjKCWp=Bc1ZisGr2i3E1v36Pz$!n", + "\nWr^DkDUjriuoTpg80XcJWsu@^E$=J=!1c=BG)meo-VlxY6tyEKG7iT^#%0$u)0ipoZP=GK^nYXMh=c8\n\\O8o6\nh4G8RCUMQu(SSQsyMr=5mXR", + "zW!ND\n\nT@iN6)t@pDX-ydHDa@#XAR&CEfap6j=NaoE%nINC&zQ3BvlHApxkm6Pi!u\n&tVFm6YYRpYwa*Z=6fL3cwj", + "\nJddt&u=9L2a%U%)LjH44Y$W88(#kfDyLJTwm-$YSG&VL#l0aU6ty*Pj3n^QZ)5iU\nsbRa6m2zw^@Twf9QgX&sEM-k\\gvn1e^!5xWC76kzL))0whdQF&5WB4\n", + "aH5rZ\nyplv@^qevmFHWf\n\n4msCLF$CjgtEwuWkQRe)b@(e5REPQ*HB0\\2&z2(Ce55wZS3$*0$2Y!sRnn6ikG*dv5^bXYA%wyDe!AA", + "OjQMN\n3OTcxx=!tDT\n\nt%76!*aL%X%i3DR6%E#g3XA!fqQ3cKY5pla=*2EPAuO3MRFTY&Sqe-GO)9&7ia*%GA^^n=*nK", + "ZH!YVtB-7#J9tPANof6ari!$a@OWA!$F(c(kmcm1(hEQClnP*(jNVq)AenHS9SO#9S=IrUKc#XCEX588qDc16!3G12RY9YHvNij*Oz2XAWJ8D@\\\nsT8MT5Va", + "R@tFuUYSzpdLywsN9cIeAA^b*(gxk%Jpr#EdZaEV0fSp^Qf7nZzW^0%$B6&D3dJeCQm%jbSTrwY-k!inJm9LBPEThx80(1oMllVpmjOySZEoa5GClJxo@8Auh8KD#-", + "nUnb6RO^MHwm$Dy#k$V=Bb)ZKQ&k@e2EBXR$LLpfk8Gfmim5sR5pNNxB0Q4*O0-GSs6W\\9vs*WBkKdbac=5C%BcRrJe-94@0-CKYf6tWYX4y!-&t#yLGbao", + "Ih-wD%C8PCYGB3ODoRJoV3c84(llVCFI\nO!F@v13&EvK!\n\n2Qb^*wuX!5=0VJVI@ry=%e9k@Wmoa5a1eZ^Je1X9N)b=3*vipPaduuXEPyI!", + "jgEJvYIp1&bqw&sn1Y70De*n%vMYSHZ!QCIkY*3Ny*gxtj7JhYY7b-h3)H2V@AQ)R6!J7$E0YB3yc$c&v&N0Gl*OUSW\\\nXFS@UbdmFqKVVmxRIg\\@)1uE6SkCIS@rkMevnGh@^jT", + "lqqvdwEAAB\\\n\\meGQ)=-Nyg8p(7V=m(%d6PWesABS7ZSr\n**X=uvtN7yR(3LX#IPU$6O9s3", + "fxO64JKn(CRl903B0C@oyT$uJxW@Nn9#5Rm%ibMzr93$Qd(I-WGuUuqnca9xaeMW*r@BhJWVDt@mrw^oU(glu-ZmgOMmdwHaZfbbg&Wd3nbEI^(r%KWW0T%X38KQLC#kt#RcvHe)D", + "\nWO$pKsAXNY\n$XDarenc=flehf!E5Pgl\\\n#d^Rvh4$rA8dZ7=65%fhn=CvBHSCwl7FJ=5(ZH=ZAzxR4", + "ieBAkf0@v4!7IenfpTpjee9g9^3JuDhjZh$K\n\n\nlP92#l=W-lK6L^G1=WT=YvZFoZ-#kF2DCLw&ogm$@G$J741c0OScT^OHuzvcZVHmZVV-", + "FRMsvPsMylcvvq\nvKDn=2g)I2nY(J3SsDrZK4a\ndeOV4rHA@YJ^s!-Kpbz*-a7K$FzzxR(kTH@ztCQVf1OsrMA\n", + "aPLPsBkALPmfIS7FoPp67mgGy^JgYo$\nYwDxIBD^g%8Gqv4JeSMaKK^x9E18@!GA\n#I=-ty&xjA!r!78SwY2X^z)lAUXtB8#zU)$n2galq51$6KJ&WQ=8SdDar%lNC9&IHzE^Vr", + "s=sadSRJJseirZ!\\7N^Q0ProGWI%a=*o8sR\n\\HvzJ1$aFX5Zzb9RX)fnYMsSH63W=)gCMEzh$p\\Ur%a(OJZ4(rO7R@xR", + "\n\\E9nLQMcGO9\\NU^zFgswC9e)axqr4rXZiRnUxF*BXRFR!#0-uVNAT63PkE&lWx)NvtfZLv0EZ)$%TwQjC1G4wIdxcItA", + "UyILcxe!AaRWNvyS#Q4jA)(Sl6sZ7wmpA80DbF5IOTCr5naypmx$LByn&K0E\n\\X2&3gTJ7K)lHSVYa!@56%iF#YYSb4kPo-WO8aXd)Xu8#MK\\\n", + "tRsEG\\be1W&mOv22aJJoyOta@R)s$*\\)GPIwytKqZekx3BmM@m&N-uPorV8Ulst&^XRSI\\\n", + "z6bi8&ht(!)xSkz%u^h#%VhrjP@Mgl2\n\\TCdSx7bUSlR)6)Rfy(vKBf8(OCtYhFEfDNmJc^=ZO@UtIa1@Q&OvyxH0thXip", + "%p@(MbNRbi&\nVl!PcleKLii3!t(@2\n\\\n\nHc5W-=cc8OvhsWv^KH*%uk-s-R1RLX=$0#ZFfJVj", + "D$Yvq9Nje2BAT4wr^gwYCqpqI\n\\nhr#oy(qmKe-CAYns0Bt7JIrbx6\\BOwL4k)$W&iB4^C8C=3$K^fmZ^lQ7%WAGIkjpNKO", + "\n@adLiA\n0%UfV!puBgx&^n-%SRKuhSR#IFZO7oS1GxeQsOQlW8mIkE7c\n\\", + "(kM*\n\\Y8@Xo7XUKD^&7E4bX=7B)cPKY&(uqE%xF@&U\nk9G#59BSYf9Bdf@k)ZT\n", + "lQPmDoiQuSvl@-PJo2CzY#0LADJRBouS$@6FW$01slG=@8*j^g2q(iJZ\n\n\nRygn4wV3g@o\nwy#Db#Tauvq*-qECCeS6L-uOR#fMYlftamVhC3P", + "\\qEp6L#PHeyD0jzTZQ4\\\\&lmy63igNiUnK%L1=dRYgtJuy=!Hy)4PBnpmjzH6Wgx%m*Or9kPzhOA18Uj62^sN", + "MSoKlEnLVqd1DmLX)9R-^fuW68a^fnK-&uYE^CTfGtwT9=xuvA4I)!iZ3f#Lu&JtF5GM9C^nIV&AzmWWKF8h3=jKd\\1$6o2fh!rsfQ9EmQU9Zm^9MhI6KBTYQ5UI", + "XOU&#AiFV%d$jM)WPTdH3LSC@wPxaWkPiMEFgiUJoBz^M3WOMI9LZ5KXOEX2LI*@#uL$xjR7Qz7xW#\nSXFTUsw^v#djP%Q#pwsyw-KScgY4\n\n", + "\naQCG1aqs\n24&cbrcOgg^=!^J\njMVZR^)j-tANPO51iE\nc#e(nL(bK2yAVyIdT!d4vEJHl@TtJYfS08WVTSYm)QM#Wd$", + "t=9cRaa@V!dkTew3W*9bi@KiCS1I@T)xm\nYGj4wP-)-b%(a#G#hFZ@QbZh7*y\n\nyS6s\n", + "J0MCf)O5lzSdT7ea8j6U8LI9#z6%&KqSFqlk2wmwl&*wc(FQ3GJeX$jvOzwl6qjUlyaOxn\n!(9qRW4r\nw&RQq!IbBFVia)sU^HW91D=zzyU^rul!jJH", + "kWELJhCAssC18mLUI7hEDOEkUT!*^FYKl0eCOuNOSalNLC6tn9j2^tLYYx80igc*JmUf#(asy6oCVH#EXksOPpmwWE9Ud))Vn)q*R#hPp9%671xcqnp", + "\\\n\n8iSqqR=fHN\nK6@8^P-WcBABQoq1kbF3-sFx(1Lw$A4dy-QMFZYw6TY-8o90Wz)Gt1m3\n", + "XN(B0JwZJA9RxZFSbPWf0\\\ntG(OAVx0-ZzkNzDisG^$WaL^E&jwq%l(sEcP%Cv!q3Fwmy0\n\\\n\n", + "\nnb^%CPrk1l%m0bf)mXX$PVg4-PVXbHPeu9jZ!S(atURDXm%48UrqyB*Lhd-6k*\n\\WKMaxeA6Ghh3I9VcUSA%bAopq3L)c7UCzWuhm3iI^!Wqs", + "act*$nW71L0Yz2CKsMmUT$*x-oSR1kqq6#IKCP$v5\n-gBDu5w4g=RJGZ9!G-s#O#B6oM-F)kL8k6t4U-uxyAwOJ7JV@5L7Nb8pK9RRw#*bsJ1F@tWV", + "\n\n\n\n\n14IK4ODm1N*!$Z*tZw23IIvGOnIUt$h7jf2nGn!tJyUGi4KTGHVO\nwlwIip%qRgU$T37J&VLiZ^g", + "\\iyWC^bu**LmdlR%c=S*0Ck@)6jR69&i8I68=)iFwdMO1*3NnQ=#UNrCLo&g*4J3&9^6xShAtrzHKfx61VKqtKi0u2yuD5pt@u^&omkN^ov)@0SoQjHaw2(TCw6!uqi9g", + "KnBsbmBCjY7GE%W7MT\n9*Lm8^iJsUjy9Efr#P6Fc3oUwuPN\npQ3ekVQz*ysa^\nTUcV0R%X1c-Q8M$cY", + "iXB1#W2kgZ8JGXxG3X&Y(&hY0Eiq2Ml\n\\AuqPoUbe(BXD0RwKJvsysXRKB3ASi5*nGj(7gPLegU#!Fi&6\\M#L9T%pC3wfrafJT-CA", + "ddi^rrsN71hgNoR5E4N7V%)YJ&Cp1oIV^M5t%sTtcsbTd\n*6ngNJ(P5\ndXh3UrB-88ig53b4Z018zgtk\nbU%L0NRO^*vuPoACHiBa%oBHC!M@so", + "W(Hu%nmv\nlH%L97SJpryj7eVAFBUW9D-jqYsS#I*wwDoRn@17nt6qowd9!vP2vx^%O3BQ(%OB\n7W(kq&i1XZAg%(opigAPux!$Pk6U=BGMJPcjLmBs1P@vUB5Af7i", + "\n)BGPEpUATqyt1jA@E)co)I\nlJxsisnO#qv14wkHKzL5W9*$ZZUEzLydgobRJSTh)sap@7kt^3Pl!Tb9DRBvcoO&kY^SARLJ8*q*hRb54t(y)WOT", + "\\\\\n\\z9FHXJ1Ue-5V!a#&G=h$v6xs#8VlLkkPOgmi1t6MGfl(tRC9bDs7UR$r2@KrYJnsds0OF=@8Kgxrex@=8h#4dJ@to0K$N3m4G", + "fXp%1bXfOqhMF(-vLO9bgiBF7Nrw(vtcKuii1yOdPOZ\\l4HaaiU*AeLyk3M0A4url=mJbec$X8h*J)Kn&M-(N^ptSt8%4-ddfey2*51M=^z51Br(ehXpMPqt#OJ", + "\\\\NU0u0#67-h74cAjA%Kn6f0nf3v\\JOIqp8aN#($ULf839^Uh6m(GNVGxKTowb#HF6aagtZ$7JG#UnyI\\", + "0K^U$4dK3)E#H-hOro*97O)R61eHcqgXpdHF%)ZqHFD6okHr7yhSOi9Pt(okFNX)RI0k7cf2&IsyoK4p5JBfCJ9O9qyrr0O1EQWIHiXkY3dLgtREdElM*O=Au98O9reB6@Cz!F%z68Gj-o1r$QCVnkGPL", + "6ynH5w$KZ(M--Rnk2GB8$r&j3XPDZLpH9zj*V@9U7=CSN4alpyLN=z6AElRt\\kEcXLoHpd6F1\\RKs@nnXC=6M$#0^SOas$v9yw\\\n1Wgt5nTFF*p@UA", + "wtZg3$NKd%M^kjhAund@CD7=N0JokrcU\nvCv5l\\\nHrkdL@7W2u2-=3&$MBTh6^I#kS$D!k4h%!H8PEb-ny9n7ZuLCDXi!YvNiePro1SWPSRF!B3", + "Fclf2LVN=bsN2wUd&wW3vEX52c403lpQz^fun=Vkzv9klmRnOsdlt!MWf#9Joj10MPD6LMe6mub80FX!iFZRXC@yrta5sm33urUpBscJUx\nQDY*8Eg^RLfr0$95G^3U9@#LXXeF", + "\n\n\\^!98gmB2b\n78AuZ9mp\n-!!zO^#gdRlkLtzTMlCa^Or^Y8Izpef*)", + "wmXEJ@Gfq%Ol55AZHpz)\n\nI4Ly!=*x5W7MpvWv#=y2Z&vJ2JMKl1p1O5kX(Fw5QL0d6yr%r&*d$O4t&uS@ku0puXmv05fpMSoxrYDc", + "J)i#6Mu9mMfPRVMXwKiIpJFa&\\amHLULiB3Z4Q7kHcVZoj-&XFRg=z)hj5v0A1\\RhF^!fI^6rltj1uoxcXADn-6dgLa)bHK\\h04HuP-L@4a^zR9kwAZrh6", + "\\y0K6wVL7X6iyr5cvLOUTVYg2@%OND#NRwyU8oHpxnAReWeYVzg*vQ\nNj598aL\\V*#z)\\\\", + "9a&TH(nfiSoQRxiH5-y\\1K34n0Lp2XMrTnTa366xYmFlfqTW#PPcBB3yAkGqXCm3Oyn0E7OgQkl!Gdav%u7v^C1%lfC%06wRSXwmwT^kTFos6FumXbb2f\\", + "j8S(W4a-g-W%uYS#CD2ZUyQUwe!K3au53C2AjzB87UGKmoQb\n%v8!fcoMnkRb6=!c)VBm7Ih9\\nEzeR#%Q3S3\n", + "p1%5Liv-H)!W\n\\%NM(Seznxv(X7H(Gwe\nfJss@xeF(zU6k8PeVrZapwPa@ZzMXRqx36ulo2TyH94k5qlD4Gx&jvL^@&i\\", + "\ndTRq3a3HJ1YCT)^6jwkUKdlTcMf8KG6W@Breip\nP@9&xeTCt(gG=-96ej1Yoo!kIK0SelgnaKQPElbr!YBHAOwp4izF\ns9X@O!Xd2sDK5x=OrsT", + "uvbCu2&W=R*hN9Q7bHjRfn56UC1XA%S8OepeQ#rBQa6&hsDAs9)pY6Q)-0aD*hhneu&e2Ag%tfaovMu2q7asP3bYetMb2bDW^=4DdcyaStpApx65)$\nE#fPfZ*zn6i)43^=", + "\\\\\\LLI3s0Uyik9TUQOJHFqa8\n&6)8lhx-SXMMHW^A@)sBKC2OAJ02&YrYv9df^LFW3fwSc$B&12ENNH5)uA9Q(Xs9m)T6OGqqJf", + "6iqc5afPbrq0sifb*s8r1u%hX*U&qXy5@7HNEA#1VqXJ(Pe1QI-*!#jlACU^lH#Rjc=bt\\=yFTeASTSFG9kS!VB2GeFKLlltu#v=ioH\n", + "UffEq*o-@JbbSKq!#As*P\\Gi%x*B1n*sw7x2X05YXl@zn4uigfK$wB(tjF#gQ4l1hV6h0NO&Tv2=KOqry2z9YFgw6ZGQv67u&O&x-O2=efB=CxXeYZJ)gELC*TbV9^Cxn2i1p", + "s50o3KOj452vvzhjOAHe=WSLfPboWQ*d42896tr4qhbA2@9XXpCrco7#4ABwjF%YPsH6\n&4l6%o$Z4Oj$Fq*Mq^P&QKvEGa3x8F0Kq89y9it13", + "\nHIlHB0eQ#FuR@T$Cdz%AdSnTu#iA-nbGU9(6nP!Ew*Xos41k34\\\\3Rz^6LEJ(n&6518uhSb$Hj&MDdC6pPdzfkBB)q*LT3M7\n\\", + "&oZO^M0*sYjjUbrSqZpSbsT=1dPymC%lq(pm!AaVfZrSl$TZRO7VK0PNLmLsyanS&IDHlz1SrocDh2d#*ytJzm%GPepaVuCz5mAAk4f!4D*EAh\n\n", + "\ndN@#(VktQdiBU7xjbQRkLt4Gawlp1l&kwtN(35WgPSoDo7L$Q5(=iHVsO*fUJjdKS0&OGr@VEjXNBlR*cU$g!yAi\n\\^G6KAc", + "k$cS!!SrhrFyMR*aoi50v&H50LsztMvOULz0WivCdsZ--Fqm=YZ4QkZI4$JNCvgN8O-o$Q&P#\n\nTBawED)\nA8QWYvh", + "!R4@X9i4vo#^6q2a\\\\\n\\\n\nZIIXFdnuqW^iR4eMKjAlo8=", + "xiW7E(ct7rTqmjTn\nttET)b$zsEUPQuHsl#A6b#lwQST-Od8K=4*hG=Xv61FwJ$eSx7-G-#\n\n0$Pz@l!tW9)E80OoFAU3pfS47l^rh50iAg%^#H)TCBi5qI=s07XH", + "svYZh1htZJQLF)ixNYW=8y#0Zn\nRGqcwf(8pQ1i@cgS3IWs*J!BR@a(Uw7kin@aCkcLgDF160HPR6xl(pGWv*(pk)\nwGC!I&I^7^", + "#2cy6#xNGjXcxR)6pDN6KWD1X^R9R\n\\7QFZ8Ga9I#vD4dc%$94N!VXeBR4-^TTa#3gyJ4U\\\\he1bsE*8bH-rHl8!oNlYcVKwiuY", + "\\oa=K-jGE0Ha68a))-3ab2kSS#epwBNtUDBzKw27\nxyoY\\\\(CqUprBJI=sryILkuvQQ*U*W%62DXv9$bh", + "@RqtK2ZpsiYZsKRdVq(BVeNbIeZe0DXt3cWwFH@m2j!OfS&L0ZPpn0ssZIpMT3!jP=v#aU12CWRW9KrL8tP*5NK%Qipl!(T\nsXRElnAFRsKXc2Q)m0ZRaQz%-aX^CG7NXv4%CU@\\", + "xS=i(XWPF$yN0W=U(J41zUaCOro7*dE&dX@&yvrB\n\n\nOoOFNDG=ApKtJca-4pQmT=\n", + "fDk!SO&X=o&RBTD^qV&!u\\\n\nY$*A3QmEG3R8BCem\nXMBOe(qddSx0sY4GZk3KP#oMwk#vCjAwLn1Cqzh)l04d=@PAKyswiH^F&l%QhzRNrl", + "Gjtrm$DkMmLWu*ybgFmUWTx2wkK3sCCzFm4Yf8m&dIOd^hQszzagotoX!ONvD\n#^2e4\\#JOPy$mfJPN\\i2oD-", + "e3itjqc\nHVES%3=FCQsCsKLprvvhl\n@h-DFT$S3F*kAPxN19!Htj0w-Qt6^dX-E*k%!\n\\\n", + "LaK4%&uX8g!7nV6Sa!O06xE-A(svqMcp=nlnVS-ebB*6JNea6$eiqz\n\n\n\\Sdnl2nAA7Q%y2xJ1cAgot1QQ$S8##$tW#uNS9o8!bKP^", + "064CDLOHG$WkcQ3g-Y@&NCCscb5oeBbT\n$Wi#aPYgLm\nJK#lBIWJ*od#G0)Y8=5\n\n5B995)", + "\\\\VAdlmvKz1Oe#r133!q(11t@Uf1i67HfgP2d4x@V=6#Bt\n=jTNj@PKUiFl-&*#mp#ko4H\\\n", + "zLIs(*Kykmuu1t%nRmH8^2jHXWIW3IbK6dGqpZS3SEjIsvHQkXNg63Btwwz!-PuvyCOC=tN!DG%ywKWzFao#vYxOLTjkX(#v=*XO&t3vQHil!Zs7pt3x4pCx6qhQI", + "\\IKtMt3LpusO1!Xku=3XN4E#-\\%3QdF8QfNR7imXsx1%G1ykgqOQaNl*$yHtch@vZGX\n\\9r3c1NJXEx9Ai6PXjnmhl2jj", + "@gu5xp@8SsuAMBcVhAZ7eYpbCdEr4OLBIPF5yv5de@piH\n(1XLMYiDeHPzNgVXn)w1jQI!dH)wx6LWzi&ZgT%cRyj(Dq)FN^fun(-m", + "RhpnA%^sa#rwsKw7vp@QeD#S1frl$N0K9IbyiyOejRNh#\nHODAY5j!@whqn8FoLtI7%b6C)uJ$30AYU8WB(4L6(=Vgij2$Oo0R4&M2r\n4MBW#Tv^TZqdRf*u$JzN#", + "\\y*Sj!%=JGVh&P1QM*r#^^&Zkf(vMU5jNxx6rkWu*ZPH(\n\nP=SZB@(PY2d(rkYdPM\n^M#rtY6WFF8xVM6)-u-L6e6(i7NUG34ADhI2aN", + "\n#al2Uk8u!Izr)hXGY5I6e)%\n\n\n\n&sG5%GnJ)yzWS\\\n#iJ&wC)er20Ir", + "D0X0v$1p*hp=ncEIebLyjm)tHFR$GZkI)ZsgJELstrpY-40pai-(\nFSfCw$#QnXo5z@$7hq\n\\x&g6srdT8b8j%Q=8FgN&DF&An)*RP\n", + "KOMrzMV5tS*j\nZz@0QLoeK)xdEN@k3cq3$9VWq22V0\\\n\\\n\n", + "7w$IxEg)^(fYEgr8ck3$%Fuw9@47ji\\\n2QY)3t\nJEFxB395MSxdU0fm@H^iCqFgDN5pZ(hI\\", + "$**(sRsXMQwurSKlEarGY^Agc0B!JmLet79\\\\f)nGRT2lVTZbgzhiO-9w2\n6qGOYyQUEgaXU^yQA35S*wNPQ)X", + "RSQOD%2LCKH7e3aQtP37w&W7RczkXQEINiwk#moRls%PcCX8im#izZK^YEuM\naMGzRxzsa2mc\npS)^bAx6Q4@c3DUUtGa%)r1GpKbjiCKQ(75nfT6okY", + "Ul&5=MKpUsqshWA(Q(Tw1-XoAdtYtynACo8jW(%u78*a\nzF-Pk(Bi\\\n=SD*BQNY#o%dB$pWl1@C8%()TnUGTHw7b!&V)r", + "\nkQS$szTdf-BQh#DnZfy\npw!nZdW8r\n\nNhauAb98WasvU7Vm5uhN8eonL6@j3#cVF4C2Gk&z", + "E7OI42ix=8\\l(-7K*CjT&rXYHE^teEqi2jcg0p\nHFcZlSFE5\n%b!1^Rl4LSphW56bug*h!MvdLY2f0#5S6qIGD^BAB(D7", + "K4BHuoya0!QqEN#WzcZFflo%G1b\\\n%VXIju&3NsJ(M(aLODedHA%UzEvJ9h%0w*1Bq5=)Z=#e@c)QiL5KSlpWDd2F9f^RYa81tHmoc", + "\n\\\nWT@=Qv7\\K4@=$vz$82B2hbkiTUh98QlgOIiG1A3CcAUGEesJ$Ni=PN0\njZxL9KXaos-ZW&7zX8&9lixh", + "z0EmoBna!L*Nh!hGUlNyKE3wj-Rh%t3a3@7TuHsFpfh=EThKMOGjWinxi4=(QXz0a=@gk09ZZItq0ahk^uOmedZNO74wR\nEsg1W)DXGJREF&*\\", + "\\mAnmtToD-\nXeInPp&25)ysLjsmY8C(%sC@-iPH3\\m0t5j(apBL@7T953q4ROb(d=B)5fhBMpH\nmspvlU1XQ46ccSNGYnOWj", + "(^54buA7^%025L22-cugo\n!YtiYtdd(Gd8Xz*ZGH#*2X&XO-J7B!V#y9\nYcZca*AgoP8s--u4kxe=#@NlSPiQfennrFBB\\uaHLjZTsCLZ", + "\nho-Zp%PYNE0Ck#\\DsTvJtpl7GYov9MK=X\\A6E%Fj)uLvX10gj&xG2)yCRl5)mjbgPb%o@7\\\\", + "=Y9&6CktYu*J=J^MmX*70IS)h=3PJ43huaRcVc8GUltg\ntT$2&AYH)8$mPhpPC4KcniN1\nK!NCLB4yvpu", + "iYT9!pC)aDupQiOwWchDoMjr6chZDn7*KtMJ(&4i0aH9ntI(JodUOHd)3!g-$2su(acF=XH2Z\nZ9EHeB3YI!y7PL13LzZw-Xv=CF01%0ZoA538^JJq(uswJMH2L", + "aqOqwWnru#%=J!M3Rsjh3TSL9LmKx%QXEcrqx30yR*Zpyk96Ua^Z0qGPw*KQz2KlL1WPVU9MC0MU0G3&x2=QmqMLW$mwGjmEkLy#=^4%wRaV92$%$C-nEa=u=RO6&EvR7Y^H", + "9QaaqABNg=uSNWV8oKD!6yWcAkSbvOQPw@&QMePcJ)PCJ)kx2io=*XItMlykv7TMFI&EyUc6*&8fzoO)b1fcEh5-=!tdNu6&1RUYsa0#h88$Xk)RqTq$b^u*#b0#in", + "9d)or7Oz(1V&Ojmd0k=f*gZvG\\pK7@#X=QTXL-ky80zV-vPkcPrf%gnG(9ppROiaCIgUE9uRYq2bjoeRxwKSEXM\nLjeMOZ9fc", + "#qytK%cpwqv*GdT-qwk$zyU&Quzvm@xCbI@vgYl5jHW(76\nW4TuzLKYkmH-Kb!WsI@p=9dhtQF@pTIvHpomJLH5ncEtdHF!UdLW)v9%(=owUGvT^E9hilFRA5GmcqNiG=kOJxb8ut2j3tMImqnzLafwdTMB4R5", + "IhjZKvO-0F4zY8VEFL!Ar\\TGXouoi76r$gEEc3IvBEaXKaifoOKv6Cx2DDZI9R=bbM*g2J\\!*D)wSoofvSTFV#q$O!Z@52%)OH4nf$8RNmt#H0X", + "BTEu0wfS2D!auwXSLKE)LK^)&9JC!hUba9SZU2AUVsh1F97UMU\\%BNQarmVDXMTqF(vMq8l!JT\nMVY81Fc8-O76%3H2c7pba%)T\n", + "Ig58QonfA9cI7r*#8\nRsgJxV1KDxlAPECAu\nQWPWwfiQ\\JsFF40VpA$aVcSwIveM-kbr0#8=@QWad%&9vQSUGX^lBswb3GK#ali8zPhHm", + "uP^^RtN*(sh=w39dPnWMUu6WX1NuO3cwONYo$JeXbFKskwz9\\yC26SV5j&G^03L^yUF5@\ndifpybzVU-I41=hD\n@#HuSEIJGdVhbICf-BAne78a", + "=%4hUnGosTVQKQu-QyLvg^g7FStzZRpOZF5LtNAKIEe55(Mt=4x9F(z2k4(O6Z6apqvZ)S6vx@8Xg*eu07\n\\qSy36!#d5ccybjdFgx^L!*jkNxUZ#-", + "\n\n\nebyJ*cGql9xK@nokBg=Xk-fm%qmIThCFF\nN4bwtAB9\ntwd6qNM)V!BjR=U1qI#EO", + "ZC7wF9=V^L$1eF-h\n\nFd9H$6#*NCdYjbp(9@X47G\n0c^Z)iDz7b&puWxjZC(o56FvLHv^uMb*yjVzp18XwMBY*yeRyA)V!H", + "\n1XGGIQUqic7(C79OKtY7J0\n\\0GxkweMg0fCUZ6dt)^YT3P!g!vmF38P(5kIET3*Yi#VJL@2wWmBTLwTT1M^qBGwE0No9ZO20lQ&B0mNged-#BqogIe!L$kjR#e=-W", + "BWrB!vC\\\nma-c5936tk@Pss@6vd$eXK\nFiI!zvab*Pt^yeb4$B6ta6h2EW2^$7domtDyGzikubj2c(Duqc(^KaV2lyKc\nT509%#DEm86", + "1)%0Gr35CwCgtox!c3ylLc-4#d$guGBm&%JzYamkx-B3@xwoDzl5b!(qW(suii#GKh\nxqD)IWDy82beA3FW\\\n", + "ZQLEUc!46i*5AoGc$onDXztiV1s8yf@dz$*pZa0WaL@$J9yK*CG$%WgmIb*Zts3L@ngH%Q8S*F9b\\\n\n\n", + "$t^EYW(D\njee9g5Jji%j%^xZdbMQoOBw#\n\n\nVGCTmxtb3lWyDQ@dwNoBXmEQs7hSOjE(GyBJU*KccHWWTx", + "P-uyTiHxw3%eH*H7wuINc&h\\TRSr=M584$gkIoGH(l&uvrjBkS3\n@AQRxw-fheyLUkthXO\n^^)ZoZ89B5P@H!SXJOx-6jWt1", + "gt9oz*fDnwi$JRU=EU6Qhv7\nGcx%Ijy0Pcq$s(jg!Pjr#$24-wjT@y\nJ@Zcamks*7)5m$DMc%xrYz7Rs@HVKR#SSKT(QU8pq06kfl7z7F$MU60ODF*jtVKxbec&E*!7$m#@-m", + "LC=NWi4RzYURteB^Us@mS*^%U0v@4d*Uke1jE\na#j6ltMLE7J=JzXLs6nIgN1B@oKn6Ri5HtFbINSyz)f3jK%U569k8vTFN(sopTOcFy-EgE6%GSqFenbo&3", + "^7sj7^kKF#qCNd7(G6)xa8!Ii3iUC$Mle^s!TJqg*QYk)miVjV\n7PJ6D)x%u8af4rtfFr444@@vMd#@nDoTJhiY$bSOd=(J-R", + "\n\nhjcEVB(bPXK(htFH9M^DeiA4FFdiXqhWqfaaFwz\\\nav#Ujd4LKSk\n", + "5j#Z1bmcIE6fHfDgG3KJpEDGMK)o2a4Lij=\nEp#30$5!Bxb9n5K=(788UcujDjc1pKOlal6z#yq-2Bw)#!Dc(zN(5GV8%J6mzv6ZgYC@eFqA@s0$XO", + "&StoWBwPXjxM)rB4q$4G=gp3^Y^vvvY5weNH%HBIOGjYCX@&lA5PfigKxVOmmB^JToEMQ31dk63xSZZfa4uOc%Jny\n\nXT)ly4TaOHfgqjLqcT#tuGgX", + "PEIiQYgPCd1XP8XF^dGh^&6t2E6dev&RKwlF)hgHPIt5t9W@a#zKKkzf8)Vg!YsjqxY%f7HQ$tjb08O86-#*m6SDL(t1whfr(7fRv7hK6\n9JynW$Jw)ToNrJ&I", + "SIYs^0ZBuGH4ym-6&jEG2pEVXhWyZaKhLGICqhZZXhk\\\nkbvSHulHb18uz)LBb00B)UR8*H^k9zty14#oMhBJPy)!4NLZLriuXNA)k(i\\", + "\n\noEiAiUL$=%mjt*oi30iDr\n)7e=ijP5P\\3Fs0&4(ogyq\\x6pD", + "\nTThC9xUMFnv1hf)hUhNN(t(Tl3McIO-WP\n\n$Ld$keBY)^0nuQ\nMH3=-", + "&CDbjcmmnfE2Do8tI\nQOV%jt\nt)cet1yQci5\\RTwc6OEqEcRxnYROW7MqbYJEKpEd#9Qh(rXBiFuTPQ%pBSGGgysPVkRX)Sh", + "\\O1BozlLh8It=aigSIhU\n\nm=nm^6V*0p7yC0$$%nlv-u$i6JYf6T)BJjVaAWXM6L0O!B28p(CU@KKE9=0=7Iky1K@*QeCgn^vxx1L", + "CslRCw4IdiClKkOVe%fWm=#atGOrltrvZ9^6C2Q^-vOJMszo&Oh=oArz-o*LDrzO9yNs!qAjL22xd%3\n\nJmcXz!%#4txNpg19(piL-T$#ENIm3QTF#N)WC!VV=EolJ0(1O", + "\nA3t@5MnuZ!uM8o*w^)F=-CQ*M^BbtQ7T)Yr0Ss%-bsi!D0VNMppj8\\%61JRPN#u%gKvRovU3*nb$NFi\n", + "!PdIabhwDVg$y2#sAoNXsW&a@xB\\V9MwQ^oYIRC3Tnloo(CiqkjeX$5P^R2roEaoCwnySr8EW^cE0s%cmFJ&Cbo8hJgLmgH!x4M-o%#zQN%3wxnkc5VUi8*tMPfW#RK!)$M@d3\\", + "uo*v9PccQhGg!7=Cdl#jo22Az6)0^oqED%=-(pDgLpsx!j765*R6S%C3VYrdHXhkqpHmw@Stpuiv)oC9lrHa$\nou$I(i%T6v\\w=9&Rot", + "WSj1rqOA0LBwkKskXh8R)*2*OGKl^9Yij#IsowJdTCOW@R%xup-hmPb)h4pQmhKl!Q6)o0VxC(d7BpvbnDE8ppZ41Fj0sVZiC\\I@ycaeKX=TX0jQTkWIquuImO-cM6ALovy**tFk27vozmK$c^Td*mzrt%Bf%qErcXWB=vo", + "\n2tyk4AI#e2o%D$Jz)anL3m14V21YSV3ftH&fri*mJwn4oviD-=VmA87$nlMz@OK!mKwYH!RSfvSFfA02Q#VD%4(A(x5lix0(JDeoc4K*NDKPqoi2PqHS4(zCpWTmuytlQA4YYXwA03rumsqI77h9L$-$B&d%1zFOk6KZQ6O!d", + "m-Vn\no(sPm-YBp9\nNeKAQD8Bh12B=*35oF\n\n\naO=5oudCj&\n", + "j*5MMqI-pjA7N4#QiSD7*Yxk\niUfV2L!Cg#!ur=cvIHC0CQrYLHuQ%7sNijer@5JNtJZYMi#=Wd3ldUGaD$2$wAf\n\n", + "0HFcMtck!vnHHjRYMIbfjfCtqo-!@duHUL@Ar&-j39UAupA^F)KKeA5Uv!v1tqo5CMiVVjQ(OwQBFC=x!H-HnW%6GTJcVr#kKL4XhkTjHdMuZi-6h^ADyr8Igyd\n", + "*L*LdKl0u^14TJPYdica7@2K=1UqK6GXaAg-E9m*FQ7(6T7fXp=s0RPcdYJ*FV4E#CdLr97NT\nKPkh3Ht(jt6zXWg8msVyDyJ8fl4PqirEThZNacv4vti0Bk(v93*h=ec$qjW5MLqkY1l$SSJ!", + "Uw*syKzlOC&pICATWFv=St#h#Mj-vIJB&AO4J0NrA6uKJpWmjRJPF7Kc6hV=6J7b%xxZCE41LbT0TA)QETYmBwkzw-fKufcGC$^v9rD^*8MCe^UkSY^U639ScnI!zM)EV3JjHyQ", + "\nwJTSADJxhKw3VNYzm$EtvvUqGHS$r-pQ1Bm!4iWD^pz2h!*WE1RfxDNd@nr0%h^SO4b\nfjyA@!0%#Nv(9q!qBLZ8MLp\nQ33jlo*1o9dRi934Ch*XSV2", + "\no^7duS0UtTpIz8XwpO)L6kk(8I&d2Qx%I8D68J(#QY(Fs*^3cS*rOKP*4ikowWCd@eU6u@mrdVZE9&UsYOEcDz#9BSCyAKqF3yOxq*CL&E-1C$4sQbEYydq9ggnvPRawRtkm$", + "$U(q-UC^sge0Iphuc4\nQGz1g*l-)Oe6Yw8lSNdihyqj)HbGZ8qw*#TB&XQN=9gaq8&vl@wet(4Hh@rBd7j!@NEzd!YF$jVF(cCIo)z\\jsJWc7zpNn", + "\\OJ3A)0aWNZ7B!Ge504u\\fDt9IBCCQSl**clD2Lq\nzpduvcjb^YBa&abKX&GX5@U6-C4kpYYVO^YojbY=q6hkMj$LOEY@BwmwGB$Le3", + "\\\\FKKRXWmCj@93#0YW9&40TKfk7y&#y*Fb-e5q$h25)wWgZSfwQ5#GyS!CMiM5%VyGRowsu\\^y#Ek2HyFc\\", + "JI43uq(Vr=4Ci$mZXyx4DMdE2Gxb=qaqvefLJc1DBMf5XM7aHCRvX1ZON(RVq37N66hfF#poF*CSIwudK9rRJYYuf95QZMZ4-K3O3PlWrSv$9Y1aZnI&jFnf-cDcGz3J=bCvjiNc&X)w2(9w6l\nn0WtcKxef7qsy", + "H$I*pW\nAvMS-t8X4ni\n5Llv96eZ6UuYpZGyUq*LEgocn\n\n\\*!QF84yyi6xSgHoKtT", + "\niSNVkge7x7FOcuF8ISBlIAB5mqDGbx3GY=ZmOVQxGNhWunQJ(mS1G%Wtdo=LPEeu8iyy5Av*(*q(&b8=AU3MY8)EeHvX9j!Xsh7t(A-dID6GIylOFbfCj4b%q", + "TgFC8t$I$M7HQ*&tZfmSHG$\\-E^kSTNv4=VtOIe5mrWKsorf8U5fXXKpd2Mx7ks=HgdAB84Z^w1rkj6JeEO)!GIzWs#I!SPWnFizO$mj0D^iL)8frmXYiqHuKpPQdqTL84LJtxmg5ViQ$#3=kGR-Joq0e!Rgn)D&5z%42I3mOk=nJYTjZfvDO^W8HZ=m@VFTJFyk", + ")jgSCv@pNhM\\\nyJjC*zankDY^A86n9S5SqAkhzblgf(W5\n\n\n1N@s8awESuXk%mh-LV5", + "YPa-TC$GdBTiq9&Vzk$&#c1u2**&!1fjXGhn\nGq#CB51Nm0PN2E\\zyaeIKYg@Zy#iic5*MHvnWK#z*HwQHJ64B13x0*-7QbMRmIBxBg!4TR#E", + "\\\n\ndLJvntCnT*r)8GZ!jhMep!8#\\*XQgIJNrFlwYX2Ugern($&c9iqcLSEFRFq&tkj66Fqk6O!5!&fOP%hHCtTYHcMEp", + "kiO8viaI2C%j@6W-A7W)HSQbnHB2pMp)STTTjq\\0UObcsF^ExXb!(rJGhkGx-&fGo^v*O(PXH8N\\87S6zB^-3M1NgAZp8z7HA-^8xd@D3%&Fz\nGw(GB4esTwp$Y$7ze", + "1570-9OZ7gFazylFBABpuAGgs*WS$d$w7zl!@EsD8b7#\n&bzO(-#dQVh3RgiH^c66NOp-wyJU\nTHjulqgOpxr77BKdpOEh)Ed4Aq", + "nv=VELGqZN&sMm\\ZKxYP7ifJ2s0hi)%ourbJYL7yVXapi=1@&e114\nu2#tvL#fChuokXZZ8$\nBW&$$75#HQ(FtNc)DpH#@plnTk&H3we5AH7lmjHzblZsYc#JF", + "QTutHH&eFNU(ET=\nqhZ2BQ2B4B=6kDXOuSrIEwyZ^HhGq(QF9c#M4SfOJwc#F)!@VgQ(2)w0COUQNH-6RuFKM!%=\n)OkleqF7q2rtI)QL$3^r=a", + "8vJ-QS#qVUDr$=T@xOL*c5ox$tg\noLBX4C=QQ\n\\\nedGjO9dDKE80%@dvF512Z(JSXM%Qqz=", + ")zUk%6!(tvmVUhcw*rjSyD\nY8d-\n\nPwy1u5sydNV3@M!WhGOe3J&ew@mhh^tVuhy=\n\n", + "iEoCWd%rAUFVVChphtAy4EVfmPaBXHzziebS3RicGHM@z&nxeWu%\nw94dyfqyhNwn*nmY7BUEPx27UVPiLr%z4^fN34NvJ78e)FsP9M%r7SEyPJN84Ki%V!TKW3n%%6Ebuni", + "o$t&7-ovMy1X\nRejs60ElhlMuL\\%fkj)cC$&E1TXgLnt!GN4V\n\nO7QrkHYTZP4DPMgmLOPjhgGV", + "UgqgOEPKQF3Z^yI6AQgAI\n^VOFamxnHC^vF-p%&1FTk--AAC#uHc!B\nUNr=Z6tPg)8JA4I3@ZHWGB\nd7q0nmjVhfzIV#DYU\\", + "fy36^UlAdSwb&qef6cD0\\\n\\\\\n6GN3r6L#&tyaVdXmF*=iERI=RTtq=o=3E*!Jx!)UFPmdRmdcyKB*\n", + "B7)0O%paq*#7a^E46$NrZCF2thmjDU6sz=A20#I=TB*e)KA8Rd8u*)-cn\\1MovybpMk-RrZ@7nhBpMXWopuH8Wa4NuN^D$6uLVKsBdqPP^s7GY-SE%Cea7I7700UJpeJqjwc*Ii8q(4cFqTNH", + "7EQ3)nOqSsf$kycSx(D851CiNUW*hZUo&!Mxk8^Uei(-$DZs9z5(EHRN1n*iUyFZG9*w0$1@o$qBE81TFCAqRX5WMjeCMkJfow^lXy0pt\\-dCzVEO(c)tsTu&&-(Wk*-u0hwM7Jyqs4#4RsJB%SQbBVIntH&bfRkiKe0F69VllXy", + "\n\nDfs-(paF=jwx&@GUgtSFQ5rLV9%lxnXCsCx)1wwfC(GfoLVhFajt%URHGE3Z$%kM0hY94zVBIAb&%$hIPrIyp(Sl%cnVfpSUc^9Y%77S1leVliTC27wei&spmG3c1s)(AQU^mum", + "\nPUO^GGPccy7tLwJXI1MmQEDdoK(yDCio8Do7NaGWpj4R\nU3okKv&UXB)I%l#DQLXBmOfv@2Uxwn^hm2w\\Jd3*-lQWT7kd%hcxMc8nraWq^g@WgaJ)D!d!34l!krUzua", + "\n\n\n\\fRv%zyrfZlgpUs@m^&8dwceXiTjW#Whc!$egIN13B7#lzbMz7sxZmRbIGV5weFN@d7!tjjZIxC&^YCtq\n", + "%JhSh0vPt5p70Axce*#$xlJ%SqZOWQt#nrszRNu^89L!m!05Zk#ss@TQ67*4lgdzIK8=6^6UQRpNaYcDIVk6eQoZ5&=RWTfX4k*#NEKfefnS(C@X4H!a$hxN6=i0p80Tn8CzZUbIAkBdBKy", + "W=uQ8#N#JJMTEvGx!*O2vT%voq)r$Gw6D3V=NcUYdJI&GOz@-9#v-y^6!euFA5AAU*S^Kw3!DQx=N-^S4eDXVqA0=o()l0g%J6yK91cJ!EM!^b*5Y5-kJ\\\ngMSiTgEbKEOLs9X1", + "h$kAuAEmdLEOSnaSQR*Ul$MnY\n59WZ7scCt\n-tq)58@!oCAomq148qE4^8a(dP1mm9@EiDpp267MmO", + "6BT8Y=jp%n(@@NnH2J-5fV(@!zlChCVUTLxY683k\nodTn=E#preIyEehj2LnIg=dr9Qbgv5HE^L^i$ROYl^hM9l$eeHVVApSnx$UpAFm6t$abs79uAW5TvsiQ3b6T$AFrR7tBAy3", + "0r1U4t=-6q=TXa9vJC%ATa%!5@GxxyZByNO#*87iZLSZO69v-HZ6UWraq0Hz-C@V!vJ(6)y=rqTX112G8hR1(rh$G(V\\ClzqmOI7YWijhMYo8!g\n", + "g%F054@PqDhe@FnU*3$iKLu9Va3xfMaTS2ORSaZcoDD90z(X2SK0XTqIEx5srs8IRq\\\nTSz^jx8WYWO5YpQWqVZ5k3\nTrj6JSIV3GuOFUm", + "\nfBVUY0x0P5N$yq=u%#ov(W&J9pSY6B#ujf$X4\na3Yjfh2OM4gsknYlm5vPks1O6keXrb%tOBL1hwfsx1#5SSOq6O%@ty-xt*gPqK2yojhB2KK&HP0", + "\nyp#^BflF@tEVeLBcLqd)laS1o^vcn\n\\D#E6)Q0HW#GgmIv9Fyca(QJwF67ns5^=&C@-Tn=9&OCOSpq6H03U46G!", + ")s5kS2Rv^uLP=N(TLPP6=vS-\\\\E5X=P(epejvVNlCe%juu*2J8vG9ds*gUc#w8aGLJ!Bn97zQ!X!GW3m7b%tN^y$1Gk3&(i6pIYQMvS9xV5lV%8M!d", + "Y5@e$Upk4yiXbzRVamvnnAsL*xa@\n\nr8Nxayf5jtk&u%gxp3@N\n&bno2XE7fCoE3y0\\@PjiPC*&y*L\\", + "\\8ngzowpruKA2s%B#fVXYpJB7wmv!xeO-USv22VB2tm@g8UAd4#5Kk!-T@tSja2UsH)5vgeSa9m1fiOVdE64e%F&!\n\n\n", + "nirx-D2mb6lEN%&6j*uhg$2RFwiSBU4QI5)ex)7B)DK2Ibyi@yNi\nuRyXGS&w5HE00-gh9\\\\ZAeAfYAtmgW@8Sg@HMtvQGtCIuxQPe1$axfzx", + "zgb%u7RQW)8x4SYNauE8kWFYEY=1$9dYTjNKJ5sAs-iY8Bvi\n6)mwOzhl20qy\n\n\n", + "3VZVoYVcG0(m$F%ip&$zpglYGVIe8WjB()M^7Bc5#yp1P80ITA^ugCVmg$d4A5LGI7sMzR\nB!W%h2zaUn*fr*\n0Tog@wBi%af2POkcne&M", + "n)eS%WFwtbyrLPT5$Ev2U\nFTikkwd(yFjcA2YIqF5nRr^-b6qRW^o\nV!u@5IUCAx9r6tu@2AWf9*Rs(CZ-L\n", + "\ng2uHr8DEBugeFR%tHgTGgn1z1ZN(rrT4nkPW^whz5P4J)*dB3H0(#C2R)ZUHIXhq\n\\17^0cO5^I8sppuQW1=ZNY4e\n\\", + "fvegFONa1%lDm^CRHtct\\c)AV(Hv!Z@Gxrn!JM1Tl5mOEh!IBkMJ(\naEQYT81=xOX=OT@jF8sB7*WC93ZUlUYG68SBHQmzhQwdwaYZfOc1%2og*@@xcw^81j\n", + "\nh8r1B)%%cfl4RDt\\OUYqBjvStlMl8ZkT*0ylddcdN$*Ij4Med1dGaT1Y4M=5MX%YhxW976ae7h0CTXX3%-DR5&YV)%oJc%qmqgw0N4JReB&E2l^q#f&i*$%&i%wtbC7E&osn6Owqv", + "OIy@^BD%B(whLn5zT0qpQ92eWW%-9NK@\ngBCu(UX#JJ2qKk5Kmpn^nW3WR*6VJlY\nVx^!1ix3jB2Q\\", + "UkyoDd7@iMvwQZl#05LN&$nXzU^hL#%y998\\KCJLulU8@845zjXB!GAq7mBK@IxmbfZEwwK0W80A*-scukXA@dt!ked#Gr^d%O&yVtpxemW&s2)nnS$H5", + "j$Sb\\8tiB!$)aWy5AUO=\\@GjN@ZTz(wgM0-O%a)z2nTgW0SCtepmeSR1jNT\\\n", + "\n\nf$$4P*(=io-CZz5%cxw!9&C@yF*\n\n(A=SLMEpv-2^v-0C*uFPJ6YesGOe^eNRu#=3ARRKUGC4=WM(xQFmQOg@DgXm2$9eS", + "\\90rpH\nTf99uA9oxiIv@1D(6u7a$ffmbb7Aq)KmBG1^a=\ntw&Ju4JqQTg-ILgxzwPLm4VqUq5LO1qH=Rcc%-sk@cQ@", + "l0iN5HUvr2V3vNpzP8f412!@8q!dQCt1$4oxPv9d)d^\nFR2hc5%sf$is1G#ZMZRprZOK4=j!fVQX&K\n\nf-W6fBRkL-VKPR0#qk1%lrJ9", + "\\0kx9Nu8VS4l-WDKNOGq^wI\nS(p89Kw!Ox$8k)3FZNGX8MOEe9JgBX9Nlg#ZthKTj5D(*h@MNY)ZDUyA4@a7KTrbsATmtFm!&dylIrn2Sk*\\", + "Bzjs#H&GLpL#q#xmVv0bT^T\\1j#%V#@B44rx$WDE%\n\\Bpz&62Mx^MXX65Iy6\n^48w8", + "vkwh\\\nqH9$G5v5Ciqj@H%GgKD-n@06fJk\nUatswZycdqmGHdBQz^L8nT4SZs5cUlE5ba\n", + "3HmzvJmhW=76d@KSnq7SD9NFAyQ%4xOMIT*Xu4cAyXi#FXV-HP=\n4qNJa##^B*29*hit5pIb(F9!\\\nN$d$y\n", + "1kfjCZ)mpYIGQP\njcRhT0NZJAE8x0FSL!MQQ6=)ylo0$So5-m#\nh59&R(t*HMpl!XZQMCar&pv#Eh3-oQTDMpQEUa8zNz6O", + "\\oguF(iD4@tVX-6svIbyLiMNqB@D2Y!c)H4s=63ue=UB!(BUTSNn5a3hN\nG!dL1^N4QC#ZTvHE\\lKBM", + "\\)DiIb%baAl&ujS2Fk68yme#\n\np*S)4k@0u=!Wl5jX&N-KTGINoR2\n", + "z*hkr!Haw(j)6(^gJG\ncGQ@SWzjsPmFGJ@Ot)sU&ZaQ5c=2(dhCELa@OY6AaKDDeb%H^vn7GLb#$Q7qUV51g*=!y!\n\\\nKa1U-L7B@H!!jx-!JY6lZOnq", + "0JkUr8O!^L*%&nLZmE8\nWNTbYe\n\n\\DOvnP^Pucva-X3Fih1)=3eisS(T-7@#!FC2$THTiNtCK1mBygwQjcCk\n", + "\\8-p&(FB)uqrrPeRchCVOhq3^2urS@f2XCZ16S*Ep)meOL80@R9x7j)\nmy6$1@q6w@ZdVTSyP8dALP7Z2jV9aH*qqKK6\nw=k)WNVBIGD@wb%f", + "h^T7ak34LOjwf38iWV3UF&ARZENh)UGB6FIfiG!RHxlR4t)X3XoD6TuMQrur)OMX)kBKPSMVfYOWeIluzFe47bk)-ETUCkzNYdkjcQ2rdTEAQpA&^D^$Ah-HoOYawLhozVULahGd)LZyk%%uhnQHiYxZR=jN0D\n", + "\n\nApRBzrJF6my^$j4wS4tJrN@uc*OI*^4D)Q@Y\n\nPW@*-eqtHZdYstRhcF)\n\ntSl&e3EhNJI", + "eQhVobH!$vz9YXytrz(BvXiZU$bLHt)nxeCBM=EDFZNnpQQrIrO&%ON9yg=pp@3!z7!tJu=Qty\nt83%#^Zx3or(pzy4vO(tFe3\n", + "\nHlvS9fF1Yhz\njQunsj&vSS6B(^imb79-N=0*omasW-vMy5Wqj-ATRehrhxuKqC2m=QB3fP1ohF6)e@9FgtoY^mpr7\n\\\n", + "Y2jZ5*B&mPH#W=!Flmlfk2JHy-\nC*ja9KN7dolCXFcnO5tbSe0cZNJ3y\\$k^%#0Us2J!82HRfQ@I", + "Q($wDCx#@@*e*=CPkf-cuD!y)RoEL^NTS9@M5nK*KweHUm(tA@tsh4se0RUW7CCYZ6Dr(zPhH4\nY3qU7Ni#aG)#$M&D2yKeByKXGRcAhWA^TivybQY3w\n\n", + "\n\nIm0j4gR@Et$$nBDhf3maGgTEs)wLb5L*riFWTTFi*ginWP&yLu1=89yXOv@@bjiNWkQGU*#06pXFVuf9\nQB#@OmnVXO0r=8y", + "lbisKv1LP)Br$eR3jU1&4YtiKG*2FCgs4nW5u^ru0@ZyERh31ay07zr*J8LEbNorLVU7io5$B&\nQ$RH9O*&ppi1iu7\n=(&z5Ak!#=EoC%ru(dXj-PiDNMn6", + "Bj=zC4^hHkYPSWoPNGkyV1YCWQbACk0-dVzrJ=2@RVXH^KI-H9P3O=A=FEd2mhqEKl9GUjSPx#PKqZxR6SGcqSA157y$H3CKiqDF8Ew^Kz=4pGDN3-K-k&#%3*wpW@^t9RhOX8dyyJl", + "\nqmpkbl@ZRIch^Oulak2VSYCPQ)1\ni-HBtZIdnVms!mUfI)^L-@p0B!&n6BhgGoRrr)L8u\n", + "\nc=lNm\nkinnad#5a1RH*h7wd$P7Kmn%fRxZjPkVP\\Kn9DcoqlW*qCida5C#*GlAGS#iGx7LMV@jTc$LbTjRT=t$SY", + "kjFvfFSDoX2zLVoQS85W9UXI0$UyOtqLyybeEryrFn*^ghY=6ne9A$&DBAAB5Hw@\n\n\\65pX7*TTP96o8lT=U4P&^L(iQca\n", + "QNT0YKmO0K!b$%\\WXItzhM-)%U5yu$635w2LkjVk(bXU4gxEc^6A3%-\n(zRS%QH9RMH)O10YqPmQV=N)ueV&llSIaBekilrtMcA%we", + "Runxeeg4(NYl2Yg0ph*3rmK!*KMm!Uw@jrziGPQfkvh9Vv!E9D5VM8slF7Cm0PNyqRMm\n\\Hof(VpW@0SX=@HI%saJeTJ3eX^D!Ny)ovOu^0bm@s67^e1IJu@jP(-N7Er&I1ovz$vcl#HHKlyGD", + "nNR7#H53B-Lr^Q#FRs^IXkHorE\n\n7VYV^#BT*OVPcNAWK!0VsDqGCD4@$3IK#CPh05w%TQ184VcH8EjGd$&L)QP(n-bS%wvBOXA=(dXLN@mYqV", + "*N$JyTy=7#zKZUR-mkfmi\nY^9R!)vKh%^zeiKvW78F1T%8A71EsZ&r-fmD0CRF\n$n=*V-6NuD0urKQgyy-8TKKG3iWQG5^(\n", + "XLVq)%KfMnX%sHpH0=$-Xk1cj#Ya(E)5=7jqX1nYnL%1M*nT$Wls2%20\nSCr^sqd!7sBi6K6lS)va6Er8@g^&N#qQI\\", + "p-ETavjX4m3)#q*d2msz%D^ax5\\\\1OvnTJ0XytuD%TAIGXcuBI&kZmQb9EvID93FIhHctv\\\n%%c@c-0OA#3tV-ptZMcxsD", + "\\\neVfxc26)lk8g\\\nm^T#OF9t9jeMY2PoyN(VjAq-q-gAV=e(9Ac@f1-vjIb6iAy2%nZeKIb\\", + "bOsgsCy!NG*WUrbo$C7^&t5\nijKhMLXewuNwslbvzU$e*0YuMVhWcmLZZ8*IeX^t&L$M=$P7BoV=GMjzg(b#tk*7AOagW1I\n\n", + "vWva5jStcQmmWUH-mwvm9KxDS\nyyutv0BmMi5Wj45bXd)-JB@Oy8PkB5gknXwL02dgR(7O$4-6cAjl@@fnPkbJU0LKd7zKON6Hcv-CwP=fIf^4iME-mfw\\", + "j%HfRv^2Mu0@1Wp8IE^a5b@TZxZ@#zjd\\c4)@5%A7QAlSCpTj7lJpuwB2Gp8AHpe#c8-^j0TsCa3mFXPTz^H\n1=37S)9FtrsC)#", + "n*IPIYXd#6Koreh4o8%V\n\n\\\nqMbry0twj(&IHJ$VRZXYSgpUl9HR\n\n", + "\\\nukb(dPFD)\nvemcQajqWCm\njX^ssoa$5LMwmzzqAsxvXZduk$Ngk)iVPthUS#Yu#*-GdNjV%", + "\nKlK7q@#@iIg\\-$gifGErF0oe1dme^Xrm&Hf\n\n\n\\$y44o)B0zIev&", + "\nlB1!-P6jOEC1%36u1O0#KFkFw8c6xnYft%QnGOnYpmq!jO-Hjwo@W&^MIm#O-c)\\\n\n", + "YTTVhWimp\nWl&ygx*(is!R6)!swFsEjzzq1)tCAY)b\n\\6Yyr6X-gv\\\n", + "X2-Z1C*l)OQhb!@3@d$IVgW\nD6pS@M4\\\negS!gTpu8CMQc4&PtOL@D6FJtKu^J!2aJ@JQ3Qjnq*1ltTHXpO(-ztbom!p(BJ)hQ0^lZq", + "\\vV9Rt6TLH!uKPDBH8b0ZL\nN4LZ3l4zMn2TQEst9Mm=xJd*vxZ)O=QnmRWV\n0^Cr20l1ug(x4LnYxJUVI(Wea61ABJ8t-6nf#I&r3", + "\n\nRHyGaljvV(EbaXmg%k-xaCUt\nrnr(ZsC)7fD6\\\n*FlkkUI%Wo4fV@k%Zvf$Y(\n", + "hdn2r6ORK3ar\n(kkG!B\\\n\n\n\\\n", + "^QA6z$7&qK\\\np1nrcpniP0us\nj35bLg#DEt9CUAmm\n\nFG(NEx-SX$OFR%2CW)D@", + "\ng^AoM%KX#@R5zU3VioBnD*HQTDFDGK)yQzX*IDsU=%-z6\nT8%uEK#raPQZ8DTSDT3#zNgsWE#4Z8j*3Bj3M)@4ybXFysEQ8RFFe=", + "BV&4Rtr-UKL6fO\\F533\nu#oh0y!aHM^X6#H\\s$sTuJz90xb3S6x\nPJO2ipH)f7GFjaQZRbRbM2)gu", + "vFpQh3=$47k9(RtqjjQF59dTxEP7yq$vg^ddaEwK!oO%H\nL3u2Om9*ialxATv\n\njVe)uhnZniPERQWD!HmZ&pa4QtJs\nQ4c!@$Fx#tpmx%voAy)KvmA", + "9q1)fKO1ewjIH@z7k4p\nIy5rk*fO$#(m-ycVpyME*Q)YnrAW8lnxpIlHU!vVO\\\\&yd^@)=E1cWpS3A5a504Mj2opd", + "\\FGavfAW!z5uG6&jqcZ-j$6RT\nAH5wByqgyJqi6zD(nVWgo!RfJc-0*Xs51=a%@!vbo%r6HFe4\nyd^DuwuKVu2(h#cifdZUufoPGYkx(3AFguTNPsdm&x%", + "gSjnJ7uyPBP\nY)qhb@S(zuZUAibAEFiG!\n)Y3(Brgh%^Cw5#BY(K\\@cPOyR&e2GJCUizfCJrdmp\\\n", + "mqDaTISseyov5xNg0HwGaWqt3R@qz5Rcz%=x*E-ws7\nC*k@gez66Kc85I!X-BB3QB(wYkNUYEZ9FpoCO!3vQOI$D&$Tw)\nd*rBXJaaFMdv&ySYOkhqSbC=x4Y3tkNhnR&!1rN8pEP&8-XiGVBDDy5X", + "bH8@CMakz)RD8Sy$vz*!TZ*zyuu^ryY22tBx1p\\Q2rqs*YwuHo2#Ff=1GHP\nptgidGm(cZxAZ&U1f))i5P0LH\\\\", + "S4CN95YvUb=7(wGO%Ioyw1qVdvCp*30CfNQ*kdkRR%gUUcYON(W!3@41W3LfWE(n!AXAbK*UcA&M9OXOG=txe(R\nwMYvgJe$gmG0-JLO*wsY#)8c5!SW&YQC6dd4F6#LVKQX8vWh(laqD", + "IELzsCE2t9CrW$DEfWNQ9&Vpg0wMJkT!Qe34FfOn%Ilw*uiJ^qXQ%C1HRLe*1aYICVrhNe37L&V6FbW@CfMft3Y=y2&F6GQoTC4@bW(9Sk6&8neyOGYpw-TNiAif1#aMBe*xq1YB&@Je7OE8CGa@hs#fa=NqqMcMx@Op4199ZHW%#^", + "uMu019MWATGYkdmRJvEvL$qV7$3KSvFX0ropesoAbeaYL7pyR=iV&m*%)-i^CvfxD9EU^ESG-pPtmg*txXQAvw2iC0S%4S4P\\XL3C2P9E$vC4t0k7a", + "\n\n72^1J%KN4Yyk9twQ1o9HcG\\8@4*XEqI7wJeltsU8uNd0I\nyiJGPZP3NZBSSx5H!B*=xw@Jo1WBlacvvlGIr7NQk#=g)y$h&w#WCG7s-8S", + "\nt4o*Q3(TSTQ21*y9b%D0FgakzZc=nN!YBuQdDit%p8lyn=)sa0sarRXEzdfMeUt!jE0(H%-@yYv3kwxTx1iOu%6A49am7QWjlh9vD2$c9EDxCemY(dzj46nfhzjBzzJ^URWVMpvR6ia7aW2AKU", + "\\DWuJ&V8^t@4)BhhDm4-q&YzjP@=uR&7b\n\nS5wJt)qf\nzHwK%PeSxM1hz7Elzs7RgeK2f6aaY&I6z7V62^EFCs6wGJb9N98P", + "V$oJbG)BSSyL!XMT^%ssLq\nFn6Pde&B6(cDDGKDN^Y9Qe5)0#wBc6gBVOQuHzwxW\\$VuVg*EWDph5sX)uf1Lv(M3YC1RvNicEA%%DjkU!=l(8&O^mCvX2neIWCosubo", + "KpU#Z@po0k5Yo@-gC^b@8%KU7bgeHks\\FCYH(y62T5b2ZPb5QdZY3iJLGnhGa7(*s4pdpEMq^#xe!7ggkZM36fUI!2!j!-1V=CI0biL\n3nsq%I!R9e*o#k!2&ys1", + "\\5sD(@nGg1(#b\nucPN!a\n\nwx2=aKosVJABPmsC&sTG0N%FVH@v6gHC#MrI4h\njHRmo(UYxNA&RmS-QUK-su", + "\\klY9)9)t403A)cHfJOh$6M$R^W=BDRffC6OP%eOHSbtIDA!NtoTqiU46sCR*fkQW67apB=M5\\B!GST)pOo6nLCHtCtmi6^vhxUjA*KAYX-VYb0NaT", + "JBL=iHA2Q2w@lUg\nL5BFzapmBd16(\\\\\nO^3ILes7DCX-ImK8z@ESsUu7jLQ3T*s)a4N#=mV*GFX6ytDMRPZKxz2YuHQkNKp7Oia", + "a@8q\\*tZrNMK#K72U9uZGII7\\\nJO#lgTisy2g&SdRCEflJEH(o7aWQgUuWbkPW0NZ6Bg@K8BNM%MvsgQLXz6JuAao*(F@)TwSD\n", + "Ts(jm9Kt)%ubJJ6^7FTmxrZDpb2$Zu6UJudXUYwsE9AdychvFn6RKEw#WvoSz%XBJON6ZtTU=-9%74w(-k6&aQ)P\nG(*r9ieYOz^sAHtKLu-@O$jEW4iXJm=!\n", + "\n85H0P80gD\n\ns4%g4I4(#@s5GDXPsI^5u\n59J@09V1K-^UOgN6G#yHbEKz6YkJU2NZF7@PSf5t)FjoV\n", + "\\gK6I9kk=\npPqTTKaG@fDiQO6mqXLEYCtg#ExcZ-nWyU2u8w7NZfiqINVz5ZBJ(F!EvUYu8aO9O7i!t=lFnXLg@T\nANFOsQIz\\", + "&ypC)Q7exRTbX!EBP@d)XK\\Rnf$b*xDF0XAE^VUqql0w3cs\n86^M$gy73BiBtWkeL&iT\\\\6i!5i3c8=ZwvT=XVOUrlt*)%UZK491BT@5pu^m5", + "\n\n\\-qh-lamCa-T0NTvTCJcqkeXjl9Ndem\n\nylPfaGwT6rVI0t3@FC6yr3Alz8%1oLeeO0BRbEXrWJ@g2*s", + ")s#Hle*jR-^lY\nvb7p#&TvEPVu(7*jJsJvXMGPCH$Jo(f*vws\ncj38$TF&n\\\n\n\n", + "lpD@^V4fEqS2hBEzOofSfqVuECMRy61(Gp*l$Me#Mr7QcU!7jxw%GyrOcz*KxRJ433QVHrju$ct4HX-JrRK\nlHj1F-fT9LR!w^qn*Zfc7rO^OZbgU#ii9T^tKB!=fW2iOWL1h3o^", + "\nQ(Z1oaa^4ph(-KJA(2(3Dntle5Dzo-cNQaB366aR9ZqQZkl6Ni1#OXLWhpAO$8pq2sSmUs=hU2vJvtHsl3-k-$sn@)brg^(qg3McOi)!Mag^Z", + "MJEG*czXx@xf@5Nzipk=QpfOd$J\nhZoA&*eL=!z\nZ9%9scdMpejBRjiM(Yg5hkDN\\", + "\\CFiO$!Vu1pf!lLlz@uydlQ=2-1)\n\n1=W7D%b0abaxVSvA)IL)!A4vDO%e\nTcg9*cx#u4cInmQ^6Op%=-xvkpb1q)&OE0", + "\nI$oG-3$#5iI3\nHHrvlI(KLuLv\\\\z#T0eiH!*CmB3v!\\\n%&gsss&mrm(WHq@!", + "=FVWVK%k*qJ5\\%J%3z9$NyBhadhxLUq#L\\z2e30#^%9X!!RiXGPHGO70@p(qXwf!cHYu!bWLh2wc!1gqpf#kX0McqAqVN\\fv9Gc1IghPAy%EkPgeV6zlrqwZ449S9r=SGE!c-!!)", + "\n\n\\\n\n9!w5C4xU%!8SDy@$l5jfAx8#wdX\\\nVVV!$vFIo345", + "#Su)sx!RGG-&QJ\\\n1f%qV!&aX$WVcUZhqd(qU=1C8*rT1*hw^lJc043GcqUyWZRyOGNHOFJYYa9AEACvQN(72#*prZOkegAa#8\\", + "%SCe67NgNDtfHb\nz)P2xQPJM000yAVgFI6dCuXU5%A\nOEmD)yYi5!)%=cdiEkTIOSM*ZL^roAuGE4UHMcapJ0(0wUnlbgMaDG%IMj)11pu4RKVmWb%m6cYYXX*NY=HCoO", + "Hxn6\nRLAK14v-Zg3RdqdMs@KCMh@1A(@^nXiOV2BB%3kI*IpL%LG3JLeH77d-eNSh#sku!d7E9ggo)h)%W^Nt\nGl(zqAZK6A0vX8l\\w0LoSskLWgqG)$8*C", + "\n\n3TMZ=P4B*G\n\\*SuxxzzX\n^%mdfDnw3=6$d)sHQ^UYlF@kV8klBW\\", + "UWu(aNjs3AXxyL!-NoOu-uUY*Yz4c#(B)0XOW^iM46e7^*bORYi5QCde3\n\n\\=X*r*eWQxAxE!-A\n", + "nMdDiJ5W8@-%%*SmwzkTsYzpK!6mdiXSt#ou5IBDZq%Lg0*!Re*-l6acx9Bp7ZP-jUMPkEEw(b!PUD044Y6k3&uff#7GudbO*9S1JPA\\", + "\n(-=ukL-gDE5QAX5^Y#o4jw7qw!M\nrMUsj!)#^hq15$vD4L-bxz@c&c-BMe$Z3K%nW!7uLkcrO3!0GiC-M#t4i46M@leD-4csC", + "DXSZiY\\ILi=P)Cf2R6n@pV&GjeH2mI\n\nzKEWF8rt#yLC&I8#J@jb0f2GwQ^$I(BQwn9EDIQ&&TX=mWX1BgZ#l)p4wShw\n", + "*R#uZ!x(\\\\Nr$kkrq2pLGwcJR&MGC9c0=WKiyPY(9dTX)J-zT\\ByBbJMklq!e^mRcenl\n\n", + "i3D@!dlurHvhs(HGVj$)fObU6Pq$7iBO(j988hMh2)u9dWLaEhFZWiQ\n&VpwJSsajc$c\\*9(Dd7(-jbd@@c=e8rM@T*w%tTo0CiBFq%q\n", + "Fqge6e2)MYQ\n\n*x4j%3CPmNPUvl4P3xtYnpRFm1PQHV3(45^o$VGm&=3r0WI-WU2lq43q3^J8!zQ*k7pILlSW0pfVkgP67Z51g24-aiR1A(sFXDi)Ob", + "o92leGKS&Ex#@z$o-i\nJx5a*i$jl42HXHb2Nbq3^WcQwUh1(#UskxHBzggmnirbOXa2ZY13\nz$pQw9qSv^HOQhw\\", + "DURgIVQb#KXKr0ZbhxRVhf)h@@fz!dto9sFoZyWig%)#a\\jS-8RCv&srRxOEa\n\n", + "-o#A)GVQmeTXbMj$!HzigpB&E*eAJ=-l@2!nE!=IVpLft=dYZw6S\\X0HN-Um!1ulS\n\nlK4NX!&@hZP=D0jueK!C\n\n", + "#1&EnGsN)yqSIvcLDs$HS*G#o-GWhxAM0#I(oQ9)5wteKPY%zngINfGT2UCkBDe2&*M@blR@7V3lwdjKAI^ja\n\nHb)EinJ\\", + "\n\nBdA9Q4im%$3N6cX$mhAK!i7OHG#m=EKQxzx9stxCPJD*T7IpSYnz)(oZbID6KCFhDf4dwsbqGVLY$gzd^aGeAaCw(T6k\n", + "\n\nLeaiz()#H8UZKXzSGUIsa7\n\\\\WvScO1Tj\n", + "\nbV2I-!3mVbheK4=&KA(jj=srh1cwe6*!h=36T!@pPd!1taVW\n\n9PzcBqM!9GnDfh8C7GsqHtpg!oxeHBVPvw-gp2F5hJ\nSNs7@iNC*JI0xNP-FDD", + "\\fOB7tnIJD93-K#iOXBR)T)t-f%Fll8We(&bn8CBfLiXjcChTns(NrVDj0\ntl12QQjTS#4@Ivs=GpxR%E)W)IKCn$t#dI2mbBX", + "2vy*c$hmlaq-m9Bl9-=vGzVa2JkxzO05c!a73edbLj!#H7)yU0n4GC&Li#HVwjH$6#iCvLKZ$)@dY5j@pyBrSegnt&FUx7x#bx^^jpM0K*tMvtxt#aqdIsW0rkCCnnudq^O*nk#d73xQG1whAB#5", + "%qaAoOUp(%tG1tghq!I1RndGQ-I4p)lSMUx41nAZ9-gCQN8s43u!w@$aGjfN75y$x@7X=Y!FNeOZLfRQijVNkSYYj%Og4jPlYe(^W2ushOUVgCc0&SvZj)4mE4Orunn&-v8d7S\\", + "vYT12zxB)Cc$i6h6A@s&MuwOVV(Gm3$ptEC)@&sA\n)rSw8TJnu6rc)KU5qEkQceTE5C=wS7kJn^p)vzf&jisWKEW*khKXlk9D\nnPS!f)3TtV9FHpWAY)H4(NYm-JpUCmFaVzKA!C-bwvEdjATZ", + "\\\n#bWjUag2gvrdirsh#SFd5EWVNv4e2&ctarkHCEt\nBRKZEN%ipWQJmDY6tex3v1ISqTG(2V4B4G4X#QKXHUSoBO@1sJnm)isx(MR!DQJUQJAmJQ^!!", + "\\!-L7W2=ci\\\n0%P7DB4s9lP2u45%F(RKI=h1(mWQGCOoC-\n-G6Mp2w=uQN3*m!1ZMpa-3^V=OJW9!QFlHYO#ElNW\n", + "C#P1!)LnjW&DcMfv-fre\n\\4Qi#ZRDtDv!G@(InqwLp3PEwbn=8uWTctGtbgNzi\n\nW)XlN(B*P1L3MjnzyQ9QY7Ojvz@m1vS", + "UUj(wWBk3DxlO@Dpp0Q!JgmQkj2mfErpgX73%a&X%PzdE!$hWfjgmuNZWmoB%&Vslv-=GdXKcSjviKLYrzakR(8-*SIU2Mf=\na94DUi1MJ7AFmr#JRk2\\", + "\\\n\\UKQr3c%Ukrx2pAOTg\nRR%W=HMPqNxDssmiZ0B^m8jjO&bkc&OeL5ZaCj#FtK(&%o!1^tiIeH00\num#J0y", + "\n5eSqe2G*jxRiDihgY$KBVe!O-jhA%VbP$UOyMG13x(^#psMmo\nIuNTTy\nFp3CEApcs2Klx(LXGW3*yNbBI", + "\n\nS@Xs87u#(PHS5$\n$fr0A44f5wavPzDfwa-KA0q^Zt\n\n\\*K2K!axlkC", + "iRlyO&%z2kTr-ZSanGtgJVsr8jyt=nNX^du0dniD!jHL*@kYGAR24d$wWpv\n\\\\-)OTlocPACch8==0fMrHUoVQw2-n#C&rTHGHF9$fLC@Fk\\", + "7-msKkmYt=iib!xFeCKRM)m^Zj3\n\n&&0DFnfV$Bzc0Qra(AzOb@AszL7UlY!)Ji*lwwaoLcCa31#u&NssGpGY%9$f4F%0(3phlhJGvixXEf$-ixPyLZL4$eME", + "OfFqkIjHL6#ILS)kFV*ZWEAQf@sL&k2mVvQy$Oh=!\n\\gSZw5P-q)eQP!R5FzJtbgwkGrciWkFj4tEXNhEXJoNVooaB\n", + "q)YlWG%YafPAGn)BEdOqpTe9AiA2f(FoBlY!@iFXFJyhsXPk!6w#CA7vJV-=WYmSGMyycvrEJdHIC\nBf0DtD2q6D5Y%ioP0w0YSA", + "\nwV!Ee2aaINCT%v6)et!NbbkBU$p-nIEHVduD\ngNX1725EzK4Vg12G-OL!^N!\n#%ueRrlBO#ZZ6sW#bLxuq33fF)To$7K=uZa@", + "bb8fE\n5G86)o)8SZ5zTzltU2RY4CCTN@$sFb9Zm*80uNFvBn)t1ALXk=yNFE1RYk*fsIy\\\\-aYHasoIa8Pzfhf8^3pWLuh5X=m2-4HWBIN", + "#Ah4IqWUh2)!H)xCdkvAO\\Xn$N3)!!19U6bYY#NXjy\\Lhz4eEO8$\n9H6jsMjuVj^*u@RYbhI\\IOYmqbAH(6vub@UW75@%kRsT90$im@V#QD0&gmbI$n", + "dfH6RRQbqys9AZ\n\\kR$m4pb3DD6-\nP0g%aAwg^run4@tSB^dq5^=vfO!cv95VTEcr5UE%GV$H^1@(L&QRQHM5n(F4ffgm)IovMBVOg8K8oV&4aa-mZ", + "g-#$KvWKyY-xH8K^yd%YiJV1*pmg%$BWcdvl#Q6W#(db88=3M%a8ZUgZqJYB=cPV@lEJ(JaQK)u@d9#m7^db\\zh9i)T^T0nCwZdCk(kOev=#B#DhS&u", + "&SyHMbFWj!viGU0Zg96aGHJYvop!NFCpqBlVX5\n=jMUtB4aToY-JMPF6qEDb3JZ#7(AZnEYc&A80wiwjjE4#(IIML#Z6uys&6PVwVr8MnaAV=-)I1^eI", + "\nU@iO%!KY0Ca*qS7apM\nebZ9ZIa4JJ0\n\nJquubaleWT$b$1Q9pCs%!2V97LPOi=iy8c*yPSk", + "\\YCUlD65EZAB\\PddykQo8w)UZAf$e&sjf2lBxcm)2f5aA!kM!&a#!\no0Z5S6ZcMt(c7lpA$2R&gSAwccluPQZcJ6eQGEnMx$#K1C"}; } // namespace TestKeys namespace TestData { @@ -1187,3315 +2198,3290 @@ KVPair RandomRW100 = { make_tuple( "L(8!v(1Zyv*S)CY@PcGSFVc4GusW^gv9jhVsdO(CU2JUjy!0MtGn", "HTT5VP)GoKhrvbo4xFvVKjAF%twR9@YtDv!9w7w9wAuh65AjaiwrOVxA"), + make_tuple("%*B*lg(wjp^dhu7hZ16KmdWF&Ht$Ez7ii$bCqU$1MR", "Rboa3VZffyHvxd7OSIcl*9^Om5a7ptOEVf(d0I9nzw$$0&5bOKy20qB"), make_tuple( - "%*B*lg(wjp^dhu7hZ16KmdWF&Ht$Ez7ii$bCqU$1MR", - "Rboa3VZffyHvxd7OSIcl*9^Om5a7ptOEVf(d0I9nzw$$0&5bOKy20qB"), + "PTvydSOvVY!%*GqNySdpj2!Eiuo1K)M6mB79cY!Mg6&ZQ*", + "qswB2$Dtvtm8$vGb9zek0WhdvmCc&uzfP2jm%i$@7oF4l#(W^Bs847j^HokAQV7j*HVhmblyr9!PEIEbZ0oha0$b$vj7nk1T"), + make_tuple("Nlhk&*(2h2@F%DK3t!P6ElkXaSn", "FF32VNP(w^q%IeK^ceinfOze6p8enGI^!YiRK8VL1ZNE9*ZFhdaU119miK%%iKyeNM"), + make_tuple( + "HdfJmZKAi0RwtXljKZMFROQ#llFNNLqZ&eQkP&nyk1!FnYqxnQQC^#r!(W4U^Ntko", + "55KNtaNGTmZVa7#A^Wvl0aEpBApWm1QgdQYdS0gewLb@At!Uq4JXKoTor)"), + make_tuple( + "7j(D5)4u)&51Hc&cylJGcakjZRpq9DENXR%Y0y^pvTg^F0hH6!6", + "jZ1F^oP5ibo$7%DmiRTYs6)0GAS4MS)wWr&XynWw0$%OOZ!Cs8rXrdSbJQd3K45b4PiozzwNVisToGXcy%qB41W3GODwPQH"), + make_tuple( + "L^lFSX!lliiCAm1)FmH$ecGMXGDITbIsK%L1MOO$OfQyOpGQ5K&TwyzutgYhVT8Vv*)jBzT5l0AgrpoZlBg2#$Oml2wK3E(*&DmX", + "A(ZwlV1BW4Lcz$rxo&OV9sa)JFOi5mgYFy3&N2pA)LZtcOdF#MHw3UFpQipMfvSl"), + make_tuple("tAUR8Rc#iyiC1!I1JwLvg6iFBrEjv6#X", "!LhUW^1G8D5J3!J7QoTEE"), + make_tuple("Lkeukqe&MQEKMf", "Fun6$MlCkPtLcqLR1FUn$q2V(ZeVX7F042FJ%lCp@YH#$)^JW*iTZkh@CD#wA*oHj7KfR*"), + make_tuple("ly$KTfqXq0OlR1Mf", "!0V(6f*AqsigMztDTV@b7hG@#PmB*5s@Y@&Pb4P*nq6L0bFjGYY5gV(*jNkJ"), + make_tuple( + "gWsR60CMV1Xc)E)rFTXm0d#vO@XzvOj6h#D@UIC%%8g5d7D!A6OUERExllFaa2SZBykTGf0s9u&ekm@iMjxWUN", + "inSeFU2Tml9SXC9w!MZK3Pzd)zfB$)%*cm5C3sNNYJkNLpqz#etCz6IIhb$&xabmsE4PtS5I4nWq$%QRTmltN1%hmSO^CRBnSoU2"), + make_tuple( + "^em8%1i^bG^VpQWCgp8gyt8s#k#6Bctv0EuOhWi1B9w@Lq6ni)^Bo#MT52o%&M1goFvu!5Q$jk&HaI!o4B*sKMquz3My@SLQ", + "QHBBH&O*vq7sKs(LH$28^*@Ns1RG!sLHh61xta)isipcg3ji!xP9WTEcD4HT)AYFz@qt72nxW&ZxHIlseuPetBj7P4FHP2zjnigN"), + make_tuple( + "24%vdCQVU9MeVvcJA6aepv^EPwNQpqQK*nOIH$74pOCuaXRpeyORnUxYvl(C^UKJlC7%o90F!7DW", + "aGzK^MxyPl7A4CcPJDCD0YvZqg&)7bGfJMYiHEmD!XSxRWuI$Wpe&p78r4N#4n@Bmccy)jc5Frsf@^N4hNG"), + make_tuple("vLvkUyYkwGZIN", "#"), + make_tuple( + "8HcusXeHAONLodXv$MP9DXa*837z*GNwuaW1)sWc^5JXBwpfDUHAE(Ts)tWI28PXDM3^$AQTH6IrjaAaNsSxV!", + "rDtimlRvXmhg8stHI9mACPST^0t@VopWigHniYgUOpkq%iCUUojbvWMBuvz4cO7zhUxbmyynJ9fA^gzXyE7s^0MDwVd9Y2&o8SWh"), + make_tuple("BThtg%tw2o*ZAyLtgCdKU4#Cacu6UYYtMwtjpq24Fpxyn^wZUKYAE3w", "Jo@PjS9zN*UY!c*WhV^5^IO6!"), + make_tuple("60W", "Xh(9TeR2DxeE56cDl4%N18gf6Nf0Z"), + make_tuple("v1%5k037I)Mq%mq&YU$aXSCa3QrghZyBWDMjD2", "j*IY&fmE*&XXBsgxfBx8Az!ZtCrnz#zufr2DBQETX12e!6j4tdLB2"), + make_tuple("iqklJkQ6D%2NC", "m$Y%VR88Su@qbPva#!6jza$VbL!r(k(w#Q0Qz4Mb^"), + make_tuple( + "(ty5Ce)IhxAwY!)hUoSXUWoWr6QiA", + "@$mh6C84@vLsZhUdJT!y3(aFsGIdz^GIoz#8$8gDKO9B4nFG5fnTWJZ@!OG8!bQEUbbws1XsFQog"), + make_tuple( + "cqx7YLmH#Ta(Fyt", + "jrJX@36RrPnamIKIDFoqNve@DK1^0UJ085Ym^6nqOt*qsI$z9^omHn(or^XqiO89HY(!w(X6oj1&jx&EVW&6l!q3$KQG8YhGhd"), + make_tuple("hZ&*ME", "AGdClWhuaHFtWrg8yn)1%ZUx4ZB2d*eD7s"), + make_tuple( + "du6Ij)w9uf7NNZIVZVgRVMQs#ur7bk5^R5du2TYf3s*%79D#^CIfZfH*qZvbdP0cT)G*tf1Hf1AnaLq", + "NU#iQ1e#h9Eq7Zjipldp6O$tjn@S7nK"), + make_tuple( + "JO7Ws()11y46B&briG4l#T7G2djL$&MsG5!A(h2Hio5#9eOK^KLUR2@p8IHdl@7zPjGT%2Be0J*gPythgJhzc9r1sWhuseaw%E", + "ae81JV0PG7CY@mndJTx2yVN%C0MKp*IzRT@2G^gb^u5Npjn"), + make_tuple("R%z4M", "7uK*mKGfMJstoHIpRR^u#2cpA(5flqj"), + make_tuple("ZS^kK&SpAkppO3NavQPsJku4M2tiiiG(an^iiqr((smDjsON)AdI5d$WZdB", "6XS*RJ#M#3rwMIG&O#)2hNEd#F12qowDnc"), + make_tuple("fNc1Ge#2t#a0^3@Z1hVXM%qKT&y", "l5Bk99*crsi6mQwHY2vn&fN*EQni%eWx(dHWtuFBseU$g)&Y8uDIHE!0WtWdiJnLu8y3J"), + make_tuple( + "cm%1ipOhHL!WhiG*$gOWUn@*L#AZxai2CDgeS9kO%saDnCSQTD^1AddV@SdvxPpN!Y*2mV^yIEfH710Q@&*", + "6c#YSX@2^b&PWcmO"), + make_tuple( + "ZXISd%j&lIJp*dw1KXThZ91OxAEun1F0w^x@StbuK)k3Z5NjoPz)", + "NgEAEUHs%3^3k%SnB#tnRCxgkL!Fg4kNVeFckVFA@hpDr@cOf)z(@$UIo3vzc*E9jj0FHj3sht!1cqlr)(IjNA"), + make_tuple( + "CD8P6&GjgMevAHD4YrS&74j7j7Zu9^&15#t$", + "c^LT)L9vxHaQl)eOmb*e9fpI6v(9cZ9!xVEnYts7esePT$8isCcs20hi!7Z4YQZdM(1G)mrOlBfDo"), + make_tuple("))c8PF1uGp9AoQ2paw2hsC2*JERyj*TYI$y)NR&cWO@CE92YGeslJjg#V6PLV4tlSDSYTbK)fF^", "GPxizp"), + make_tuple("86elbiljCSAk^7E93VBkY", "jB1$%tMZai"), + make_tuple( + "$tFNdMZduhD&)U3TwOf*sStY^5vI$ZS9x$Yiu^6UYfYuE&OV#HKBvhtO@Ucf#Fm#o5Z4Di%eY@go79aTlo7", + "qhRqqZO)lmxBjJEPkfQcm53b#NwZw)KH!lwC76tqZ(qZP!7UR!xSmkdF#45!d3heg6lwKIsdotmEzd6&Xa3FAPgcH9SyG05Un"), + make_tuple("Vog", "^cvN$$IrDN1EEh^zv)Nd#iM&K*b&!FZY(g#$45#!R(xKHTvtk!)A!m&A9ZTmW4j!bDpsl9V4AMvAP3KP1b#By*eUF"), + make_tuple("WiEV6&UlHN6*Ww0(ux", "*uh5k1Mxxs4Cxc$f!8HrhqCk%8OaKH%E@H3GW61$%XVHR#C4pd"), + make_tuple( + "lhZ3k5RUGOcbNYT0RpzA66leU&8IS0re&Lx5TVRLO97El&f!psDn@OLkBRUFIe^^#W)zSNnjlG*7!2eG5", + "%M&JpjlkG#95P@7CdmB&3eNvHEIfPj2MSpQvDmvQF*qyK&bSuwCFv^WkjC11Iix!aOv1QSfesk&"), + make_tuple("V!wQ7!pof%", "BAhk7kICZwguyFkungl%NBirNZtmBfIxn*mpE%JKG8fViqFZ4v&y58^*m$VrEit2H#Ki^SN"), + make_tuple( + "D^0yZxB(W#&7D6cV!Iazt%U7gh^gsLBXeBZ(J!NHr6QOCmtLYco#FQZkqk9RrTq)(%n5bcBsOF*)vj!Emgq&vKW7Q7k#s2", + "%hopyN$jACKTP8)0nLSRLnxlWxFy!$%ihjp^)yqr1TU0&1tSsbBWy9X2GQ9S^wL*(kWv^O7N%GylAA&8RiE*7yq#V"), + make_tuple( + "#ITEkkrZUmr&OCKUYkzITz384oH@balc7NTUJSBTIMCbIZ(pI11nS^#n3iA7v6", + "tMgVaalYbMlVobDEV5Q0yib!16G)36EISp%eCkUKwPrsRO$PZ)BkqEWj"), + make_tuple( + "hhVgn2TVw%ajK8aoiD4%tw1WzpkJ(3qhQ^FC8WjNmM&McMFN0hFWg@cSZEftOtqpH!^zAl^hvej!", + "%C*piyt2b6u4BsG3pW1qLG1AUg10&B^O$^wzO4%D7STc!Fn(4f80J&2dX#uzdT3$)*cumCY8G)E7#mED"), + make_tuple("h8uiSR!QTPbCnC#7PNJTfn4siEliFcN4P1m1FrXANd7at", "X"), + make_tuple( + "iWihz^^F!!yNg9JW97K$NB(5yNcz6&7NXUg&muc5bq%Dj95gsvrLF7NibhiAIh$rLcUq6lmSAKOw2#vwRHEE#fPvXF0!NQbuR5eh", + "s4(WzpNh)Q7DJSXLsylz$ONGHrB*0eN%aDdZGIMY0I(q(!^pC"), + make_tuple( + "6gc^^YWDg&wr5MYC*9TS2GnWT$dTtyzgAFzs7vF8eH%QZmoV&UDwej6yycB@1XTd%j8ehtt0aCNczu&11Ew5pyK1km!ElzI8^5y4", + "sY4s"), + make_tuple( + "d&F35^DtNz!Z$D$BbfP48r05!7a&g1U)WTpHnPz^3e6*xQrBjzjaM9OE(P)RzF6kC4fS8QB@@&FS$Prrh!XljRr*KuXWfyK", + "yd1ZyucnY4TCxJcaku4uE1(NQH4)(vLqC&kJUO1LAAeTQV&W4EKj@#@JPY"), + make_tuple(")VqYcX%", "0k5zvLY3T46m$hNI"), + make_tuple("uI#ipgevS$ZlTenfhXV7*IRG^ZZc^kE09B66Qn#3#", "rrqJG6e2@dk&Ow!%1MrK3bs86TId31AlomXTwk"), + make_tuple( + "J%l5tWcg116*CQcx9oB&aau67D5qW*s)SPKoR(dI72KG191", + "!0iDKfx1Fea#eNiciq#wRnwA!UDHLrHuMd@KN3tQhDdXzxpBKglH3Ay"), + make_tuple( + "0T72(p5%Be6Okf$f@!AemUBEINMj9fxr(SNJ(h!@5kHO1vgMU*(p%PH9a6BCqVL$HV69v$nw%*jveMs43axiF", + "98Rd&*zZg&Q^K%Y!0Ycto(OIPE9o9c!)svntdZUnZ!GSwa5Jcyv1^w^nfO^N*)CO0XMeDo*UHK(S3(P5WW)OzOi3xehIwb(1Op$"), + make_tuple( + "&yhGMR9mBO&)88^^zNvs!Fj1cqNOWE#7gOuvY#pN8KcBL54#EDoPuI01eeu^I", + "HlI$2On(hzDr1ebIVh!2GH@FSmu5CO1iTtwU4Jh@&omQAsSoiRp@M*T*6VTYC77q$UQ*6mypt#PiUtANI$"), + make_tuple("u%uu)Sa6SHOpu9nJOdUK$tEo0j7", "uEls*vlBVUOHenX!KQo*7ayNf$"), + make_tuple("z05OiC$$Yvn*QByRR!hZPWe8GKinbEMcsoCgQI8Qi6tBMjKG!LQym#W9VyHJSqle", "hM&K7E&DG*VrTrtTlPkA9A&rT"), + make_tuple( + "DUd@PulqhQlalD4IKeFhE*)!PVUuFnUEYW74vVrgxrGN9CJ)JgHWOOj(PpeNMSiOpz43B2KaRI3qH@JiDn1p06Oyni*#DAf(", + "4@VJzimjYM^MMMNkeuVbX"), + make_tuple( + "1WD1ccbOi1uB(Iz*$Nx#acv@x1saoL@qa60OOkI9*hzJN#!aBrXWvJXXy", + "r6)G9JNW&AUz*CRbm8fi^a(yO(eikmnOPU^ggPEz^tpHiGGFeOF@%o#v2o2XENGAz&(9Q!6e(SK@Ecn$5Z$!PZ9u5qR"), + make_tuple( + "PGWoqpfu1i@KS4UpHy3ZR6A$xGL8lj85yUyqQ&llW1N5E3VvjYYgy*MGk2UXR%O2tsCfJh85Yz", + "QiMoMO28!I4(*FoSL2!RXFUJhh7J2k)zo6@4w)g8F^als0c4qFbBDNw9$zMb(U839w^pD9(@9F*SS)j%k*ai24"), + make_tuple("%OLo$g)v", "^b&sKTeE#vl#0Vfdsvo2NrzDDD%l3P%zlxkalz@shm0Rz)CSiFjLbS&tJB0VCH"), + make_tuple( + "YbdoetSQ($Es7($*qn@JN5%I4dXnfiIE1pV7sSHec6njfoRSTXYDn9*iJv9wBrQnh2vep", + "x&l!5gF$KRJB6^4M7!dbViUtWo!BBDK5wyRk8Y%BgTe**TlTyORUQ6y^kZSvPSZQHYNH)jR5$BF3Dl$S%foFJx"), + make_tuple("2uw^elUDvIz60My6v)g9q9Dcj", "P(Y5gGGakwxQIDs%R"), + make_tuple("znA^ovx*lNZBsTKW!lRDx4P#uV@*LaV^VM%2Cm0(9VMNA%ZP*yrDX", "68BhVetdCDk!c(uf1DYzRkiYZdtb7SSH97yv91a1F"), + make_tuple("gW0CcrVg*%Wyb)a2BU85S#kqLk)Uk1xWZNMIpr4&8Mka9zuV%QeM&#GXtk#(Vc5Yy!!Y#X", "Tc9TK$EnCP2dlGhz$4o*jQy3lC("), + make_tuple( + "CsU*2)5e2Zq8yq!B)dg*XZcACXx7%Tok*pbgKwE", + "VdlSoF^8zqhbuA$z(P2bb^HbpN%Bl(y@^5QY$5(LdSg0F2^QNWAHLey*y5bCxkAdJCgZeJgaIxR$EbH"), + make_tuple( + "1B&p#uC7vwd!i6659nAE2j0L84TF#jH06", + "GxrnhiPwHThH^95Tx1qIHBiIF#oIbCc^uvP^rArVAY@bo4AUtMFDjZ1oyDm*SWeqPR3O"), + make_tuple( + "Yuo(nScb(w2bu2FIlJG^4j7Y$Jye5@Z4", + ")(Z5tV#9guhRuoKu9AwKRk!pfMDPea(3T%xAl7FxTxWOpylx#0GuPVYVpd2TxG2P6RlW4tUj$mFGZHMq@QE&oMW%mvyKD"), + make_tuple( + "uAP8#kIMr2Ly0fLLL9)4c1DKR4(QX018^34Iubt*KVV*PgQW^xFf7C9@NmVoa", + "opXy8bvN1#yCerI*03nrTEKvnZ77h1C&u^Nl(zFAzT*7Dt5ykXI(IRo%sOXPaP*oI*3J47G4Dd@KCfT&Y1EYq02EECq"), + make_tuple( + "BTYD1uR*VH4fIB!1", + ")NC$C0f(Bo^bfn1l6tqvIWU^k*%8uK6h@@9OgF(D0l3TqaBHrmQYIim)tWxX%qNn^$^1pGD1iOWZec))S7wK0vIL"), + make_tuple( + "0uIO&ErqN7lcFr0bCED*WCNeuyajGLd!Q1rL%!7jnrIa^hLa3", + "84&cl)A#lbmB4b2nqOQK))TPDh(o1v#xF@rT@Uf1BbmWYo#WgdRH9uOb(#mQqlGEKi@s&(f6ABdE1ps!&2EwerIH"), + make_tuple("G9KnS@nd9^l!R7x", "!JjH!nsQ11k5HazcTtj6sh8IqokB!FQe(XDXVm@MgpPXJ66qyaR0I"), + make_tuple( + "c5ZDtGqRKtjLlu#4KDP4IXnEWt", + "g#V^2soTo8var2o&e(FOWVG3Zm1VQUXCPPTPp)$SI%l#FG3iX6*MG5KQyAkB7%SLxA*wgxp^H&%Uab9JBEs@t1Y"), + make_tuple("jV9WlM2Gt0oe", "L^Rp#r6hafSP1A0jAwy5m*PCgzum3IpKQ7#&r)k%(KV^fqR$cXBE!wIHn$zyyFX"), + make_tuple("8)(^g*XTnSfDvbVw", "qn#Moo*1h5#nq4Lv%$W%2"), + make_tuple("kI#4yj!qC!YpzyYFblS8hakhxQ8hMtGB&WO^pC!)T2qJCVhQj", ")#kMpLURPYB&XEb4IVFDW@E@Xq%eOHzD"), + make_tuple( + "!LQcJyEFF**jhA&E%5xTqZr8Tw01$6gpKD6tk*C15nP8BPIcavxNqXqnNAAJz(aNEGRkP^l%K5lq7Ba83g%c9t", + "!Ix8#G(JwK9@hDyQRlGGK016"), + make_tuple( + "c%&IrEDv5)3WB%y^8ZN)aNgoXau#OT17ByjJNNWhx&AaR10W*v#In68cTH", + "eoJVQsOifGaEoHRaef3YsaGD%Un!8Au&Qo%H%l1S&lB3%LEjoIJRi8jT7kqHC4sXe&%kSRU*#"), + make_tuple( + "yo1ilA2i1^ekdd1oLf#4ATHGPLzzHM9yK&gFYwa59rIGXxyoxsanZvL7U(E", + "uGDNtSE1NAbTJgcmy6JmnWHog5M(Ky^RFj(!JSeje7OxT2dzENJGUHqc77tGgr3nz6zocgoUuJcu*gPpD"), + make_tuple( + "VdPX!2@)tICxG3xwIDmJnecadFsgIUbi)p02!vjkCDwMBOKD2DzUm0lX^3n4EY^", + "h#M@KhS9eX#FOVG!*4IY8WrwSbMbZXyHEUL3lfWBAt#Ldt@m5OM^AKJfp)#pnhJ"), + make_tuple( + "3!kO(7QF&t3Xi$j!OYG4sW)rwzWH)w6IZ74OkOAp(QXEcbrNozg&$e)1cx43RW7x5U5N4f#2vniwM%%oPrZBKGae", + "s0J7ir(2^n*eAptz1W5cZN88g84#cRUye$lmpdZ8)gSvMWc"), + make_tuple( + "j&mt3u6I(y0d^YMMPMkEXwbsgeDRTxvp6kFH*dSe", + "4G6dod!Mt#zpfMb6Pslsu!6*IIA*X^7)Q5vu1ZS501g1URh9)8Au*s7zdYVdufyv@!HeGZVEQ"), + make_tuple("nv5ARDIlGea&0ZPEo5C*lKW%kQjtFX2hLWl!e774O", "a@601Im^Wh7rXv$52o0gzmvw"), + make_tuple( + "T4lUoOjQcAg!r6np#bdcvRh*bHnY4F2ksDxIfipJNb6Z$8M&g0SLQzj4SDgdA38szJ#Fww5k", + "&S0&De6qF6vhC)Tv^P5AMJub5FBz7@eiFyagboX!n)tUpggLKn%WVHT@W#Ea64tkgHqn$iJ1"), + make_tuple( + "QXef#YAiM4yNFiRLGvR)8pgG1s8sPABXGUfnK)WVzpKaMuep@eaUA$XTlt0VFCGsC8v", + "V3tK4whO)ldvDJ#SVc#jtM#$!8O4JHuwET%AgFI(0VBM#Sdx%S46lT*@wUsRbfLRJ"), + make_tuple("h3G5o7N$92zEgiOppD", "4jmP&cFROn"), + make_tuple( + "!$JF8d$nhtAo94I(GnT)A&g2Ngi9$hrWN%Q6F*edPMHx$15Z2QgrTd*R)iAOg#JZuniFES9pBx$%", + "iqNmN#t^^E7#H*V8re0t3176$4j"), + make_tuple( + "N^L@t)RVWI0LrwhZoesCwt5szpLs)b@(vEBQvS$3$#b1(qqkR5q7VHr#y%jkiuOJ!d)jopQBtk#e^GVDi2q6*ra5iikb2", + "R517Oz9"), + make_tuple("fJ^otwjJ9FW*GRSEgPKGCypX&*mN8dQPW", "grf*P0qrHp8@STopRtZlLuGrBS@Y4n8GiLgtkQ08@4ryLrvBi*I!#&dS&@JJXT"), + make_tuple( + "lrUKwNvB0uMtLYBA)8IsvgU*fQyCR4B16dH#cPtIvghIQydV0XlziqFUSlIypiBF!d%HpC@EvaS#&zSEDXbjeiGAraq)benDi", + "!B"), + make_tuple("&qlfL4%", "$qOS7@h8eTNeUP"), + make_tuple("Jiw^R5ozI*(WAm2vsJC%1gpayx0iL*VqzXY@@n140xOI*Rn5mH#ND5iUMYE9L*4*EUlDld7Duy(r", "I42EW3TvTNkTR4NB"), + make_tuple("ow#NkSy%xDN(bXSx)3B1h%kejZ2wZ(UQe5kloj)rsyI28%S", "eBdrO7IZ1%%zpDIlXbphHD3jYdvH(J)4(GEOYE^*4M)Pns"), + make_tuple( + "0@xPnHKht*(I2IzIq)7xSTnn0q^Oq43I3ZuaHsv43ncRccCwhdx^%tB7NQ1QqfpD13%W$Go1t03RYk0dgaZIK^c2xiZ&hzv", + "9j6YBu7c62DFN6hHZ9uklYw@A4z2hKrAb*MQaq!*O7bLMdId@cXB%ktxm"), + make_tuple("8ItW6ewZH3$*N*uTGLzHlE)RSJ", "FWTkGKL$AEp*7S4oRLIVivkvVqFauuQW9ma6JUkF^D0f@q2#rlzMr#ml"), + make_tuple( + "C3teRiIUWteo&)XIDT1%SINlcrOT18US$7xyZ!nrKBgT^@DH&r&0iPPEV^Givv5QRo7AJimDFbjWF4SYZR#Jn4Ab!", + "CXAUbwA95Bghj$*pOs86fxM##VK4RTQb9Ixhe3*mFatk2wbKBSpjGK61@KJPs2NJQV1s$1b@dEJh5Ds"), + make_tuple( + "(waBkfZ@JKIby)NZ2Kn*y#)Qb7(CWkynw(4Vt0azBupnsJcs0vjXWHpP)qJuTz7$3KyTT^SpdbOl1!WKIh", + "h)MREPRo0fpA61ppe2BuFVaiqifShCoz"), + make_tuple( + "148x#Go%VMVQqHpyK8riWEIG0s3&LXF6OhRocM", + "4sHHMnnB(Cl(QFOIvoL1szKjJgc9#SBJ*kXwjgp62Oc1C)5^BkZ5etQR7#NLVk1R6%Inpy%%x2"), + make_tuple("!mH2L%nJ&HyTz(#GsWCeS94eJpUjKQiA", "Gl(HdV("), + make_tuple( + "uw*8XOwiLuKEkbQ99np5$Fs388#pFo62EX@fUelZILFnCkT@TuxKqpq$V8tUK9uSX3xAT", + "5pinV187iCuX2O8mC74g!qHNU4Adz"), + make_tuple("ly*&cUH)noDH&zIy3^NbeV0rm%D$J@)U&!Ab", "rrZ@"), + make_tuple( + "Rs&xOPSkKl$QHX&1Dt0Loqk$Z$62GFUsf*%X4RN#f&s9JF@!v0PvZWTJlRO9z", + "1YSLmV6h713%FuOBAb7cnw@&Smj!o2SQDjJ#r$ZVH%$leqm4O4SsT5%7TJhn@a8SAnMcyEll79DEfL%2"), + make_tuple("2vxer47N0#0LY9&(@YcTk&o6", "Q)^0RllB@Cfih%3dhweRfqALR!8Gwnd(yrG$4B9#"), + make_tuple( + "ha2TpdGIBq#rK*mozjGWy3$89q53LPR1BH#$mwC#sl5b&gi0dAgQwo^zdh", + "fd*GovrC1G%lZ#j3z@YXepkHjRHP6B1i$mVkRwNLJUgP8bS!D$Y%V&86y%H&#EiD9!@xtdA1F)4JH(rfnr%"), + make_tuple( + "!o1g6s&LAh(9PjEG9bN3o2J$AH#0gecQE2bawE16wPlgtTnYAk8YG&AVWMT!l@uXAGOfNrGuu%cP8qa#Nrmm@o5QS75", + "%6nKTwf(BG*LkS)WrqDHLF")}; + +KVPair RandomRW1024 = { + make_tuple( + ")&xZPKcKiYy6OBYQSO3g1hF@P!I5L9)lQ=YAupoRM29tbLOk(FH=9lkZHLI^EhX", + "qS6zzE0PWXe0U$E*pm0wUYn5Z(2RmR5hfEvkOUu*RkDM@V*Vd!K3=T$#DP2z*iCMxY75R1AW0JUw(7ANsMeY"), + make_tuple( + "NNzhT4lE-4HMZdeon!s8A@SEYG#LXmGf&A6j(W5L$E3E6umH8fubmiGk6x)CPiD(vIC%Eeq3i5JW*3p%jEo8V5", + "V1iHh)BX(7xZ1O=!d^PV8R0%eX(yvV&Tr)vrbT2Wo(alHzNlKUsGYdt-y$3@ZLBJEcr!S(YNx)FPlW@IVLPu^=mYu"), + make_tuple( + "IvOZIpsmJ@KOCM6NaF%N#^Hmlg#xChUs8*J!AmydnwnohF))4UXMn*2NDVvDww=ck", + "f4JL2aiH&KM6@74Mj9OGugcp)OfM2nA%GB^&(1E))RElqUP&*D4n!9YUhM43bt412ejBJtkVX7g1nM%"), + make_tuple( + "(**CkKh&8eww(L!Jzwgv&Qb&8vFKD8XeYz#pRcQaV1OU#HX-W!584tjQohcO%kl8hC&a582ao2LyHHp#0Xy4T3Y@2rtPGM", + "bV%Hioc=PO4NlGVZ3zEp@T8mwJO^Z$=!QDFYQmV%gO%roSDuQyp2%uHZt9FucmsF9LHEIQXhOs)GAI2yC9WkY^c"), + make_tuple( + "#5B-c&#C($ME2WcAbGN!z=&@Qx%m*FWHnpKqKxc=GMVMj#ezpJaA&FCck6sxoy!qEBT*%$pcOgOiGV8Fj(bcFA&e72%&JM#!GNA", + "%^pKgHRHK6Nu(q@Vn@1IYZ4=8d&hiSmxi8tvoFT!0^94#2&*KuXT=COjp^=cg!53p@@o1Mck48bfm8^dF0(AT^qyqZtN=4d"), + make_tuple( + "*5EIR=o2H6WetBO5l^VMJM4wca5yWB@RHeTfal61vjKOIuP6Yt9@pA", + "UWs*Be!@CFKw8xsRkV6g%TK0iimgf1swx&7Rm@3buC(K9jZ6)X^yu87Xu#5JdUU3C*xiDHWovVJA5zmtVrGXj^rPs(CUs%#Z"), + make_tuple( + "LHMASYWT)sO&LRyi^4W$l4C#4Ylsl46HooUo4p%Hu2GiIDF@#S6oeuzIbXNXxs4Z^&&C7=)OsqBq1qmv3xNB", + "TqUU(P-ldXZ&&o5qldUCCDew1qBq)u^ZSJE&eMH0br=mCmnRgN3ijAosinuN7oHtb5hN*VkyQ"), + make_tuple( + "aEQdCQHKdgaUGXY%EmjE&iLPu2nGME%9tUf9Sl&RoaIYw8cw4pArh*!vjFH", + "cQhbtQkD2#jb*Z2)NWFRi6U^mC0KokW6W@24ss6Sys2OcNSv#8MlZSzSxTy6-DJ6DTFUKo8fbyuNBcUR7-7LB*8HNgTtRViui!J"), + make_tuple( + "7$4CmL1G*nzXf2xCJ%(1CUyo-^CJPDwL1mQ^Cv2RmsIKW&uSS(ZMY)ELMSy", + "RanK6^!q!ZArCcrJKKS&d42N1AgS58bLlMa1Kn(dcQOqh1Q)gIRGs7Dv#W0&GVWou*NRcx2^"), + make_tuple( + "#y*RCMvGx#OYwUXXjlk!aFYynZaQywQ(GDoVLa%=ggDU3flJD30RX=L)rD0%SWEq=SDsOITPbYaEShdLQ2=Q-WFe2", + "tSy!cAy)mi$gLJcOrTrMB@@bSQqC5-5@mDNCDDAv^ddy6@g(Gl4M7L0rzPmk4#^6Igxroba9"), + make_tuple( + "xWE5unL=Yo7Wj%Z8ECh0L26)O0TMv#3tAhwv!a-PI!MiPMq!^mtxzxkc", + "M%aQhsYCghtWk(FaW=Gv6mjCD=bbN$E5A!qPO#A4^6QI!ooCkNJ!$)SLbt%Irj#c7eJx2b%I!n"), + make_tuple( + "h9=Z$5s%5)HT14Z%^RLxRV#hOHKqh380kPXYVAEybLy970jGMrg)x)DMx$CCoEP5LtrLxEZ8qKL6P$fzNbL=A", + "fPz@YxBJ8dee&N60)kV1NsxHA#9IHCXQ%4!Dw(%SYB@dRrxoEhFd&1J35A&E-(PNSitBRMQSl=H!9#M)2^ADl#wef0sM#jyJF%E"), + make_tuple( + "oHIc0-ksYCYyLHZAzpW%nn1kkfm-^UT#uxV)6lWOjtj*%IbaCk8Y", + "ClS(W@A$B020#Sf0hE%RJ&y0NrBiVmshswLkORsdixlMUTuwUFO!Y-"), + make_tuple( + "0d$o2qfzpxVboT#0=L2EG&Oh)va!v-yxh^x^t13cAA3Bdq$A#T)3@gqju=y75t-XEwB)drEe8SWH7!yeu#zt7", + "GDb&47UfcnUt%x*tqaF2!=U72j6UK@eRWmyejHBFLYD3!ZvF%!@xp@vGeob6Jel$w1Nsu)K#j@6@IH5m1mu!ScePDqum0PbH"), + make_tuple( + "7OxTCQ!HMW6GOcc6b@Q*mk23spJyrrnec!n4r0l9NMlA@OS4OWCNYyu%!i^irLs&FEwjwyI5D@e8QSTgx(*Om6Oe", + "PK$2n)elFhb9P)QwAZ!y(1KV7vy7VI$DjYKeXhSblG#VZU4lS$dYkFmzdQb1t"), + make_tuple( + "JK7tMEV)Mk^GEdb-xmD-(WwWE1Le4oS6FR97JD5z*edLAMOwsY86*zL8J-yAEfU2faaU6iR5I", + ")w&@t7NlC5rGZ#rb6CHPgWpJrXTtED%b)kRkHhpy%$k!8n*QMxUYbKdtoCK%lGvWr@lPIEipwTG4PhR^c"), + make_tuple( + "%001u8tiB3V&S(*&x68M@EOfNoHo2q3EmCOU)ebqQ)^8*BPn%lv62m=aOg=x(DosD@oqlI", + "dO#76w7FKd2%otegCOhisk@JFcVsrchrC*Ty-Nq$w3W)UIY^oWmFu6r2kAtVgUtleDWty881^zWGsamGLtB"), + make_tuple( + "C@8S5gZCdS-!*L*iB0#EWmov6$um(DaPB=wa4wa^*SsefkMg)zF%R(2pE)zeALHMycABb3v^Cg)zta", + "nysBK7TKeLbPLm-X6u$6njl25NyAofK=xQyE6^u&KxI51Mfh(CFfI#qHi$=m^$P001dGGbb6QeZ3p6Xtha06%JkSYW1iMvZEFTl"), + make_tuple( + "Y6tbC6JT^Zj&9Drmccb=p4tnzj#oCCv@HbluBOKzbX5cbU&=RJ@A4O@8R&s", + "HHTv1rpj67LRBIBAd^EH5Q4uO$QfTpI3)raTVyOT!WuxZ3CBDNH#D!CjFMlJ-q6EaM7V36D=7r"), + make_tuple( + "7pKf234y@vKu*8Sa#8k=bvW=l(01a8)GwJBW38*I3DL!b18J1Ap", + "xk51a1Hg%ym8vpMaEP2dEGb&Pg8dN)7k&7uB=uJN1Ka1=*CxTTxKn^#Rj3%@x9Jd$"), + make_tuple( + "-khxz1Esr$c&PKyn27fX@aqWAcbgVHm)JbGesNJdNFjH*HaH^@)=QPg43FI6v)sRtgfDrcp8%7Nn", + "axpUVRkv3$Dro*xtzrl^I2JgNC5#9KQR!qWXYBLfxVCAabIA*PMs1sp4Shx7Lr"), + make_tuple( + "S1@CdIxwXBBdp8fy^^BoifJP7#RtYe#581b-D3GRm4WIYQQ0f9MekbiK$$Ahsv(F3mBe1s*mTU-eOVLe7cZMG&*zpp@iY5o", + "*Ee8skV=x9C9s#9gZY0IUn7MN7cgwpcNbMwVGDACJGhJ(#&g5as%4)x2Xp#sMoafFuTSo-q#l=*FaMPk8tUS-zcsq-lOuYkS"), + make_tuple( + "T4MccecexAvl3sP3)4A&y@=Yc5sJT#=3@RHW0MKAdud*DZcfdwP(FYjmQQ^OBauCV381Bt43Q=", + "DACP*DGF3Q1)P(sd3(Lpk!N!%XoRCKJ2SaCpYOWb=4wIZzdaibE(f1nf8x&@k@pv94jAxWDFUFNWOdIO=C%"), + make_tuple( + "eM4=6va2V0aK*q=oa*ZG$Yo*ELYL84)ddrOXDou(fN)XZ@8JAw0EYw-6UqyUp5@4SpbWSJ5pfJb)", + "RwZxxE(7Wv1E-dh^&uiI#uQvDd9Y9^5igR)Q)Unz^JbVTI3oMyg%WDpZaQWvl#vFtKF"), + make_tuple( + "0QZv9Zw92B*G4gHEKqgJcyoNv5o4A^iwk#bpk$X^x$4Ub(IrPP(rHo$IgY!%$eKU", + "axFxCHC#($@ematssv9bSE69nP)dLPMs0dIFJwS4!Bj%-2k3V4IVlknB"), + make_tuple( + "!l(!ds2Z(y$ESnHtrjcGj60BTKndo0TYPfPU-DT1V#xNp2mIkxvrpi4)=RDCR2^7R50jR0lPz", + "yJzOQNWerMdEAo1u#mf9H&9v(xl-JI*(Fv(T2)Nti$*WFDrH0Fun#%1g%FJj1Dynzz#k%$b6Vc80E8"), + make_tuple( + "Xjo#h8Tid5Td3VQ!)ej-dT-ko-U90c!)@q@)c^XCHP8B7MMa9FWyEPoiR", + "p^x95S(DvD6xs0#9XfYnQcWS8VjS-KZH2GK8U7jXf8A=%KwR7&JCljSV)BYmbO&Ia1*Vs-(d@SLdmjQnV--hyf&xL"), + make_tuple( + "9G@#BT-9)gC8&U2fpkXMy%i3J=K%#tTx#wgOikH$^Qxg7TPM!XtrGk", + "M24k6q7pFwySc7CofZ6ceX@P9S7eVUmn7QFN-TZMhrfVYmW7OR@%53v#ip$JXkzw21F@&$aN=3#KfeCUzEbEJR2g"), + make_tuple( + "WUjabf@Dk6r-yNkSl6G$EB#VB72ld0tM4J4qXI=Ji0%TnzoLRZzx@6qqdFDI(Q^rNIiNZ2JcYQg!(C24", + "kWY*t*@A=DmbKg)2xg5X^*sephljv1zK6MqQ691D46VsLa1em-)F&Zapd(J7xmvWB2qxjCxb)FCrndzmN*Y%phyu=mrbymCdiY"), + make_tuple( + "W&6Yf3r75SQAOfspOuPc1N!&03KNqZKe4UdKPm(Kn6tmokDSY11-k0EvharT*fQuWoU5h=taoEK=Xz8", + "beo@^#X*#K0&Ynp5JM%Ue^WfS&PTcE9tY$Z$^F#0y4r9Z@r4)D@gv"), + make_tuple( + "5LFZCiuwnA(6Utebvz@b*G&1JE##m!eK0B15zuIr@Lk(Qxz1eeiXFlhz*rkZ$nw#U9UPeH9#nHSB6chv&vQcd--OcBp", + "RLeDVYFne)*IMHfv00t6pNaWuYsIUjjOwjNBWX$IMiSvTIGFMTSwGoT1FbkYbfS-oVMvHu=@gQFr$ft%p6gl)7yMOL"), + make_tuple( + "kV@s34^i&hg6dpV)7nr0yTHtjOt!Rx-@MpwINb#)J9cK5Dl6ITiCeyvVr00*dMFmhLAtB$3BYCSZSc", + "k83c(MxvakVgayO(UO8s5BYbiG*iByF=S$)@TQVdDJYL5tC1jgZ8"), + make_tuple( + "Pl%CX!tR(oXSh#p@UW11BWIX-t(q22lJ=YweKHlreKgfWqRa%SYWmVtwH%^Qh3&", + "726#^nt0kJ=ARLdBwcVoZX24PiROk@7)CkUL&a8b3M-cv0llyz&qta&!xz5xsL4GOh&)NzHj-Uq*z^V0&paSHw67CptKEQ74HH)"), + make_tuple( + "aR&HTl6#sB8H8@aNcJU^Vk6$YQgQw22Jw*vzt$xWYy@kUZPRUa$g", + "=S-GWt1nr&@-^0%gncK-cyeYadJUNwc!zjWy)J70enBriLVzA$YRBFl0ZOSvoG$hfTu"), + make_tuple( + "09W02mo9xvzTtrYErPkkeA2!q-ex%sO%WU2VOd2%QOIMW^VLisnmFAcx3(mwsJEOHOUmc5o$155h0E2dRh0X3(DnowiH$", + "o35J)k@(yx-IHZuG72sB-EKK9!7T2Q*#cl4*!-K*K4(snuXPhm^lblz*w"), + make_tuple( + "T5TsnxdziJJC-cGssvPwgGXX0jahXyeJw9sldFWWogjC-EQ67WWsK7iuAGXUp8gyqQ", + "w!G0HXagz=%g4NgyjJvG%hDU^XwYtZ8ArdVv&iB5!RZ=(uP8GnKoCLT=nnRKYsEL)nNj&!cpP$jx=heaAq%X"), + make_tuple( + "SU@MAjN6Zq4#YpJ&xvO1S#F6JD7dc*TLi(MT0mGQG!6zZb12!pR6R-LRRJO%1AdhQqM$7)@3C^", + "fmBj4qROsT%n7bVloTueBqN9X8-PRJsrg%gZ(1k*f2b%dds-Mkfv)xPUf22J$4W^hTEBDWYQ6hv=Zc@&3D*fpjJy&"), + make_tuple( + "x9EdnFDonPY4YavrLRvtVIElXSBIpYP^AkbR#nxJo*dUya=9X&6PAg=mm3m=O4zqn9xEr-jIYV", + "HL&$HF7fmf&=4d!8P&Y=J=%1h)tjY*RpmVy2zz5ReWMcD2$=c1yBSokGA)5pt3J-qCYRNHt1GM$Vqq9EP4qH"), + make_tuple( + "SgWmC)z3Uj%4WVZM1($0iSS3B^2h$b(^1iAy%zt&qNDYejKNyKYDr^DTHjt6rk=7kFpwSH(zM", + "D^CaybQ&M4F6t1F46pU5IZSEUrfv9hdp*cIIft7DpEIO%(bE2zZXUQBxF92bf@*ZZ-YMy#-CxcsL9LEW!B"), + make_tuple( + "6TbzjuIlPCvtxrLPupFweQiCS9HsRTx2@CyXvb-a67c07iGi%i$rpCZ%#t", + "p0mPy#Pr4eF6c4qzQHgYRrcmCHWTCQpQN$ZLfq!p#OgUVHZw^Lznkako02w^k1"), + make_tuple( + "HFK-JRbNW&FT(S2YrWNKoNVNf2Rs(9-4v#3%LEEEbSTll0%1Q--iG)IJ", + "fV%or-d30MtOzeXPO1X6^BfVCi!hrGeS87HAbyXJ(I1jHdg5R2qHGU%aJL!5Tf59zI*yY"), + make_tuple( + "lPnuu^Mn4Va9$iQ%noGEwR-lR&cnxVQwKC%E3Z^mUb^yYDZX048yrb@zOUK)tzAYSFYXGP1f0", + "j-qirr3MPWjS63^qu4H*#Hmu0f*4ql8U4I1f$PZ$=oVga3Fy)%jX"), + make_tuple( + "Q!evr*(yFv8VBYtWFzkjbTRjIO=k1d)hV)Q#=JKPEn2ei1MR0I3-6(o7whM^W)dFbsEfO^jV@SuzTTg(K14&Bzfuhi$", + "C&XqtDLVMZMT(4LU(o%TeOLypk7#ytNxsDA&GCHN%!y%l5SDnM!3)7btMa5*bkUZO6g0M(wrvrdX#ii9hf*Ntj8f#he"), + make_tuple( + "EHuvk2EjrXsZUwscTc%s%bNcoi314wvF5jMi&FbQ0TLjT2b8)u&-8hIv(^eJb%7tgm", + "P73ql(@t7*bEFsUgfbu(6iw1s^7MFEs99Fq@P^w3Xbed#*g)nF!I"), + make_tuple( + "!SPV7)La=&@(uuHfxOZhyn4^=utbmH5*V84aqQmCy8ASXXy4m#qMoqi7!jme9OilnD14D^#5B", + "N0PU=4i-NJb6mK%Ju)HGxS32a!oJD02cSYryqQGgelVfj394^gm$"), + make_tuple( + "TanEh!rH%W&2M0z@=tZzp9bMQ3hoiN7cs2&v-9E*=uo2@-R@B)c=%NAI2&G=lxdH#ujDtH6MJFAn", + "NfEys&PD24wGXK2Q-bTaE@O@Tz5yb794iO6nTWJ@o*6(fB%h*pg#zhEaL0*ewFYIY9dEU79QLfKMEpS7Zg82-d0V)#=u@pigrrF"), + make_tuple( + "e5v=7DUm5tdc9t&ObjgG1F6yTQq*6k!6Rh2cvLGwWWMNBua2i=&i%zLrZx#c$wfDvOfjy*=X&*#piuKVw0X$df*ok#gS^V0F!nH", + "K(Y%*9cOuoDBuuAwS7h0Nw8DtxBj%9#dvr0!eD@(1-0&KG5aLFE*==(qM&V5-kNBQ^yrvOcYKWVjXclx^w5C2mLwaSP"), + make_tuple( + "r5)Ht%QqX6$N%riJ-jZhx&1f!$@WrWoVovUF6%WqfaDRq4F#Sp5p9J5W0$WpdFY@", + "Q%Bnas2cg-MBDTKVHTd!y&uyDjtEqBZ=M)v&13FGR36yac1umYCD&Wxy)DqBPgPV8jrP*np1Ous6aMemEx6iQWV34)$lO!M-Q#U"), + make_tuple( + "Rf(*N#jvs6@66rtafL7rHT@Hp24=fkuht)-AKUKKhcE)Ln3Yx9Unx^eNF", + "1jZ4lQH$0Z%Yh3nV4yDP6=o(vVw^lqxcbft7z18C*5rDV)EKu#=7ftFahbHJ$Xkwd)Xp)"), + make_tuple( + "Sa6UEyE^elwfty^eGV79XGZwe0l)6SXr4roOU*LK!l-iel)dC^22F^$y71u0P07=12VFQYKpA!L=3", + "fN&)2h59i(=@*pT6bP9T8#Zp^E9$$@i=rNWlD^Lr4EYh4DqEvrgO1r8wr4wcY"), + make_tuple( + "QY4Zo-NDpLL8Aoqqm6g6yghv6wc#5$d3MAQ!3j^WnweTg1$@QykcOzHp)!()uWT9D#X2fHElmSq7iO=HJIsaynW@c$Ya=Po&wLT9", + "mi^Q!)uRgypRA7H$!$wbksgsK40h-WUEkb6Z0Jfof(quG^%hRB5AF%$zx^qhuXzW)4R6g"), + make_tuple( + "2^s#A@T3t%UeCeIU&d@&8Xr0k%!AOZ==$oJINssI)Dn=g&x4srymAchh&Bs6i5FI^ADYU0H", + "G^5Hv132)g3vWADAe=0-buvKnJVChgxrS@G9@n4wfMioF!W-DZ((^VXB%"), + make_tuple( + "q^Uu6ZUiYVCcf#7jOU9-cVHYA=6&q%UP$=3*t$=Z$Sb7kJAN$D7d4fMufMNr=8#YX-pk1YgP!vUAzbE=bUZCeg", + "!c6#w%LN7nLYtc8HYiFM(%T@lsM3=&TlzVnW*G)%Gwp%z%H&hHHU=9P5nkFTQ(%x42RyHvOw)C7QClWY*iEAF"), + make_tuple( + "4A(lQI!hUjyPk^B8-*gqV(GVJ9UG*W(Dr@tNDUK=YB!TLla^@26RsUI1ZHro2y@xEwhU4n1%O2RmwT&1MK!9", + "h*j-exrj%ePV2TUjQ%Iwav5q&QBYuLX*sgJEV-YBTFJODl-5#v4m7r"), + make_tuple( + "6oyPk)*AhI&Q7Vq99&yjyjKb8GzsIqcq2V0T)MNorKHzoE6Go&V%Y0OyD%fBw2xCEnO9W7", + "*R2Ffvhn0lm4odz4Ux@vu-nlDm8@OuM6S@dKQrn5!w#zRE#kv!Z^N*&h"), + make_tuple( + "2Xtl#u5ieB5FFcTqN#Q6I0-Wb(Jb$Pzp=0q6vduc3ril8r#z5F#1NQ)2lXhyjcb4mlA", + "wEg^xb=2wHJo0Eo6!zil2S3aW!MJZx$kg)J4U1m6nP2ow9J7Z=Pfr8ncoiRZCgzVEvcvQT"), + make_tuple( + "N3Ko49D9(@fYxq3yPCszu*PhKY@Yzd#$r4*LrQ%5FzSs0Ev6lSiv=U6sM8ph%o@Vrb6gS(5maXM(qSU3GjMKnm$OYO*", + "oNl$rqVM3B6Ep!#iIN1hTN=u-noRtLyV-zAWUxsWGKUDnZ^)OA50r6Xw*&orFHRlpEJ2QZ3f"), + make_tuple( + "y2j0io4^AYw5mf6Qj5q5vm5WXRZ-xcJQO!4o39MyvcBS@5)sP8Uy!Egl!lmkayroqdn1^&33F&10J75v", + "DkLAgFmVjaDcigQus=ILXYtkkD)lb0@AlzU@xQuotHZcNvF@eJVvGIgvod95u4Pc9CQ#JPCuIcP4Hb!kT6WaNc7cl"), + make_tuple( + "U#xxrme(DrqWIyK4Vuw5Lx4lcEV4Lz0dip0uCCA^P^3sww3jjMyoI@%$HKmmtWY!HI=Tl=5OVUXiEZIY9#!G8Lxnn47w", + "sr^VM)5Bq0j9KBXcLaUVditD5pyZ%r9vQoDrgzGrb5uuljF6d!dFeXqy-#IlqVPfI%nTp^FJv3DzommDJaraazU!$pXr%FhWo4hZ"), + make_tuple( + "-Ow1hfm^XG3DFy(%ru6E5k@**sg^N8-z5&jVqC!fsEQxmY%liF^D0(TpYkvxYi1PhIoxkIsW0T%sB%7FbsoHr&0eVy=%FWKk$", + "4RWH3AhY@!Bv!Q=!Sf^TeLt@I-O@5$jsDnG(1y&$03Z#WBdiRt%Vc-BOf)=8QRZ##v#j6e3*6q9MO1vj04Gm^b"), + make_tuple( + "mb4x)A$96N8)itXGKyzc)V7u6sr3BiNy-0B)Mc22R=D)KRCditNsRfbHSMk3auR4SZZvY@z", + "OAudg4nsjLR1g8(z-m3^N#Gc%)^aUKsb1LCjRh-HIKAM6^19EHZK-e3O$sK2J)Pz7"), + make_tuple( + "rF76BnyjHAbE&PpBg=bQ4PMJ)sRfk7qQA8HL&dF(e$R=&kB3WFUS0QEac*xv^GtJq2)*m(f$", + "f5Hh1ICU396pthNdhyNvfN*yY6IoicnA5gch$JRfrg%0Sp-9S1JAl75iq9&^B"), + make_tuple( + "vrFp@Bba*sZJTRVzmQUzLPNe7sY4uri6yT1!yZ)-%W3w5TTkqD&=tzSoB(nyC&MBM)3m79w", + "FTNy4x#h3TA=-*ZA7NvdBlY&2@36in^xVJ8BiYR*PV($BdAqeP8p*#P%EEpuN0a9ASibONip=WRWKngO0Icvy"), + make_tuple( + "AjbVau*NJ9BJz3KglfV0IFkYuSmuGO(0!%dQMMn$U%12!P8E5$q&5u1S4p", + "O(vcl(pQyYN$dQc&9FZcLLaQ#qnfQccnciIkIODIAeQNugzWm2Z*iYshas5FENs(cMTzVTmKo(wVbK-G2O9ynKv2=^"), + make_tuple( + "MdklZv25u^7Spck)IQrtOy*thlvh8S(=DNpi8$E%nVxMwDo%uBXusZEt@zev2z#XadXjcRsW0bdWXnT", + "H%Cya6Ih*=wTIBN8m@oMk=U@5Bnk7nnLveb3yRq4WVPni5tYXh0%Pmtcxv0eAAx77"), + make_tuple( + "attg(Cd$i$XLg%LF(RCH#=hX0tFFnFo)Q6TGgAtObMwBqpFjPn3lM1%CWx8XIPaTJeVmOkiKDt)ph", + "-xQ#&icjafJMl9*^(xhgPbbep#Lf-V&F51MLot!!1zJX)QE(X#!nwk@mqB9GGssxjvzCUMG(w@(6-$otcPJ"), + make_tuple( + "*dS-@wIf^*y2Soeeg$c-WEOGdG@snge0DX!-qJ)ICnB3ic-u=BnTZJDoXutQD83xC7iWlz$g0Oq5upQNT7Sm(WjLkzxET@2$ZkXS", + "ny#EEAPE3atF6YQBLUu#QL%fS^DDx!apBnF=P!Z1DAApl@3cG3NR487R*1ST)QDIxLmo1"), + make_tuple( + "oR&u*u2LTwNkFC#7%ztjZ@dkvY6Ks&&zi-GYkbRpZ73x#nzbUmHUE", + "TP6S%cxDf^Na3dXeSu8KlFY-jFLQjRD#SbcbfibQd(=696LyWvlVwMIyf*Zqg^vM%o(PAG3VmEA&!PR!)"), + make_tuple( + "V!e^kugPczeY(Zvs!T=xtjYt=K#)xG68OJ0xRWW@Mxg9HHyQn6", + "sMt28qG4@7o=9QkO04Zh#1NE&EL^rhG@vGXPk!ELHg8c%*xxA6hr78%9J!vcK-r&(^VX=Hope7W)bd^=&Uv*4LfH8nN-m"), + make_tuple( + "nexpZGuXGS(bexz*F@Tl^=79A66w*WoVHkl*^lU5MvS4=Kkc=3XpFfkNO%fEQiaXxrOmGE!1!y19YqqEVCd@GB*vaK&YE#qO$Nit", + "PpN4Z(GBmOToBU36!y67whIIa(#7PGko(m78bL!NhkP9isfZnR=zmcoOQz&(-X"), + make_tuple( + "Mf8)YG@!dQiuCp$FPr4EX0HirxH%eJmN^PRwqs%UqReGY9&f0&JTz!VO7WRa*7Vo4-L#pWr*%i)j9yQf2d(=zypJ", + "5@T9En&PcZWnmA$2faXMe!#@nI!ELBPgUZU4Y4zglaDL9QK%#&U%B2pX@ntM(rZh9-"), + make_tuple( + "-Pu7rL=Le8u3n8ssWI^8%2^hUIGyU8%rL&aPaxAM6FdcC4$XSWVBYnRs09iwKgFVq8^*Nf5UNxhvs7kGEsV^Z#pcxk=8H3DJli", + "CSkX6K3doP0URrLLSYAPytK0vS2O%K=%^p4@7Uw%wimdwtr!(03SVWnRltwXKXUnxY3!61Zl=nenKn8S1Qi274!p"), + make_tuple( + "nfW!w(8=fuGjt!#c#VVgHy^=6i4&E%wU16FQ*UAnT$LT**fFPc4AKv(pY*TzyOl1hDDixdb0nk", + "WJ5Kpzr-4Q(BaIl)P4E(@B3a6HE#NqizVQWj&a9Q6)nFu56)xyjeRRGTvHtEU(zcmzfvx$umvBKN598%MT4Yw!F@js2HM^"), + make_tuple( + "@utRYS1s*kj^we$CN*o=)ufHl#6JZ7Qd9(95lJaTGVkkOnPi%2wxV0r4Ov)96uCJUbGKdpubmRIlmM-BRG7sZl=Z", + "hS&6XYhODu$d7n73%hb4IGoGzVPWdEFr9*TMaGkEWN6ar6LWBdVwZpYI(hI1u=Fzy0IM&@bixCLd3fNn5g"), + make_tuple( + "NHYjX5CYExCUYuv4!KtV3PA67loYuImEsG=k@%P)s^CET8sc5L3R!b5Cas8h", + "t&3Pc#!ZxkMjR$p&qLMhvhSNggEM(2Duu#%#a^dF(G89Mge&4z-XeWooqX)"), + make_tuple( + "Heq*0j8Knd8*%w$ZF6ySctD4awqn)bk6@xq#5g0EW8wy6C0oC%#wSFv", + "GSY%xVk^&ORAruTuuYA6R9dCpDPzK*Q5F*6eKSeiEfVZh9)G4CYlDP6x)glDhy52)IU)mj=UTKFLhMg*l8D"), + make_tuple( + "Un3k9bYIU*0mFc$^MsQ!-N!@f05TjglEZX*u)EWblbLMr0RqrB$cExa=Ot#h5tF@F6G6)rbpSEbvM%", + "CNyoC2mF5oMd%#HHdwB80CQcFVg1PZpYAXKVRR9Q-3%pgc7W!KaadZHX896L)KI2R#mgjTaj3N&fT4ip#GZ(F)VmdvB3U"), + make_tuple( + "dsrs&c2Z1k33hegGQE*urZ4r-=@AjbiLd@BSTCN(WALro(8M7&i3IR5d7nY52!U", + "3gpsE(RsfQ#mC&QxjvhJLxQoTgK)r=dXSw1kBRmiDJ%9QEQlWEM5as6unLQ%XX=(9%Gz@i(n5j43"), + make_tuple( + "-49W!srvC%0TEIgqF=ptin@8sMN4i6(wPgmmNoZSnfe7^RFH2cd8iP6dlkDoj1x7IgYSqZxcIdz67V9z(FuxqCV", + "41)NN(*RMX#ig72x2VnSF^MP8gzLC(dysaeiM-vkVPr-(ENcXVp&p#u7GMEOATFg%%EiNL1U(oWVO@0*aiw%*MvyihJS*y0tHuC"), + make_tuple( + "JQevFzZn=F#44=(Fk-OcJcQpV1qmvii2MscL!52*-Z@41Au*@sS=@(cTs^5a0gErvoDK@n%L=&Hw-Iv2OhQc1%&=", + "jUN!NKWZV9NhkSXW-SzZnDVYAk%I4fGsbsa2D2jusST1O1Lp9dI01RNk!#cZ7F!BQtm#ORtI(W&N1A0PRH!p%JKE5="), + make_tuple( + "FstkA9g!2=Gf!-&l$2zO62(15zjKe1G@HdHggX%L7kPRn5BIO@D(gi4I#UZX0M$zGl^H4FVkXT%EvWb52NaZBy", + "3zDph-3316Kzmdb0(cIlCL^-Suqrut^x2tpF5fsviOXb=#0WOIqDJ&VC6SIxVbp=H953=p$Qktw24UMwm"), + make_tuple( + "&K^%r6f$X1oFOQ%hApalm3wNUG8&iqBQLpCpr8o8rkJHCDN2SUH8F=8iC%1PSxoR4d8^AWn@", + "1qp-913h2CD%obcdN0xpXh^WR!JJozhmTF!2uO#G3fsG(ZddUd(1SdV&X7(#48NQl@Fy"), + make_tuple( + "B8h(GxBl#Bir@CX0#d-6Nd*)qdOFW*tM4CoLznvnnx(p@bZXCvi9Bc", + "fPhpItXPdb8PGIxn!IocKQhiX8(r!UgOfS&)HMD7t!K-mndatBs0nkCMGUwke4zgB3L"), + make_tuple( + "N#INufmlJVNDuwV#zA0(^t*dczSLV=(#2uBu$9S@8c9evxYV3Y=@m(%H40-SJqC^", + "S$1(knbA5NVw^q(ROZQ%JHGj0QRU&BjjSx)Kw2Zz&b3H$Am)l&u3fF@fyiyF"), + make_tuple( + "7FT$szQy$dyaE*gF0m8Mxc5!K-9mbb!T^8q(WBKDHB77#jKcG@&QvYu-=#Cu", + "YDnim53D-ZR-b^#%o3%aJKtjt)E%r*gnHDcM=H@jfb8Em(lddi#EN"), + make_tuple( + "3!Q&1n746miv7PwU=%tEM(R9fWttMxOa*A%YyGaLl5J@GK$r-$exFtXLPMouyQ2D1y*CtB$d", + "*^W$cQi^30M^1d48AU39#p1AUo7Bv3ZC%vR(9s8^l(tx#nxx)&PWY-!pO9wH%dMIXO7c#HQ@JzA"), + make_tuple( + "&zr0H^DLIEMe#aIJ1=PhcMYSOEIC8*yfj(yXk2YlKLRaoST75tzo!AG!0&3C-=N", + "up3lSQ2eolppUezZAzJR&(yAt8dnEqA#QyBRh0hDI=qtw!rqNI1E)T1r*2Px65*AX0bocdhr"), + make_tuple( + "BWKl2HlKTZ=9EB7@KHA5p%K*dslmnWMI$t@S*BGv5^M3w7pg$nhF9IZksJUTiw!Q", + "S9=U@z@q1jj5x1&VYliosLWXZcYwU2$S#3LxDrR$2M1w*01$avGiC2sJ2SKmklr7ZgnMVIyd4tD!!5Mme@cxxZT9gVVPHuSLvT"), + make_tuple( + "(pxp48sflI)bri0v=L9zO$zAHXmvr$jdcfIh%R9xG8zhOXWlkehn7xjZ", + "gDY8NpQ9%x*p=h!3)NYoCX%P*HLez-crZN9G3sbyk-cxS47RVQP#K^4Bx1)QG2b56lUHu=-R!%qTj5#=&0$Qrzn)pAkuQBOax&"), + make_tuple( + "G6AzHeI9jq%b5e-w0X91zbxIy1I8Idm=Ewz4C*uE3RYxT6JzBMHp41gGvnKF=$b1BJ=RYU1zTqr06aI)k&uUxI5ffbZT", + "kshXdO@Kmr#xpc#GMSGm=dmCTeu@X(GP&a9-4Oz!kTSrR$)!V=9c"), + make_tuple( + "T8vvkDK*zOD7H*@bkO=eZHqApL1oANzzPsR3haKu9WoZq1Z!LiEz@zBUvoaTONp#IryriijSSf!Wj)U%(vxbwibMVJC8E", + "ILBDzk#kC0u^s^Y%31)GLWD49gs7io=kMk84FeG^1K4z7R^dfkOen$P07SzYDfMy#g7TlQ!@5C"), + make_tuple( + "rIB-wg!qJe2T-%Q8-!%7pUlW&dvt*dG4^grXaTy&o4p5gUD3Sr%ua2r#$pM(BGP-1b23AZ!P=ALht=Qud4rKUazA", + "V!x(w$HhI&Z@782Uam0O%UhUje)dInXUJTe7r$Y01cm8QcL8MRnyzcdC%-N!ApkgG^Ae^Wg8!PwlWi)Ubdl"), + make_tuple( + "MTkcMUsSdbFbH(!Lh2Nrv)pLHNK#$OG^tYRo2mxcOLS)0^)t3yU*E&51j", + "AdZy@uQEAgj-#CqC)8Njb*t)IM%9yo@c4goJ=uglm65y5QdKct&oQrwBG"), + make_tuple( + "3U&m=#L4xXxbfy*IQe!JPi2tQ6h7cifRW%lfO6xoDD9=6AtKn&", + "wRT!g)v1bXtWWGonLEf0behg-8I$AkhF8I2YG1!1Xct2tEhq0kCH=q2sz1I@x(ulxOAlre=VfqG2NB#1=H@dLgOEq-3B#lZoCr"), + make_tuple( + "lr8@pDej*LJ57)BmtYTh%TS59Qu5fGhM$NYpKMlH$drtTB7hqgJI6G0PGAW#9eoufcXNxv47rU=uNd", + "p%QEA0k&sC*u1F=Qc&*qiS!pE2fx&==zovDSGiy*lX5yE-tbJo1v-!yI&jVya3%NF)Br*Y514%QOx(O%$tBO2kEfXm-a(-t0VS"), + make_tuple( + "5%AU(S=oy3v%YSmZYYryv2Fm$0zJGl3eWALJZLp&2i6Gst0!&2LWuL!0tf$gpzK##xFL!gJ6W^HL3huVXl)R", + "peoh#fZBwm)G)IMb8-TZ#qDLGO#Z0m!&-kzX(yiXAoO7i2R38bkS3)OJFXnx3SHx^P%@UsA9A4hBjGRjg*3Zqy#fOD"), + make_tuple( + "uU)ccE)J-7#c3UGIXPIMcYpSvPJ-#h(NQxjv$lZCQo3zC#EE*Jf5XwS=iz3w(Ldsk4MZ#vz!lZAtz&5zv0Xs!f0sx3CxYyTC", + "nwOc&8p*XmQ1*2YW(=x3vJg5FOjDdH*D)YSNZhBm39tCZ4XR1du!FON)TX%gBCO2"), + make_tuple( + "BIV3qFsg-ssc^f=q#EfMAvaP54THm79rOwrnXfU^)JpCMyoKKiWIKgbf^yu^", + "Ev)WmzJcTlYUA)5GX@fMz1wWTfRdQbw(08*VRTI(VcNTsf)3(nM7gy5qaPdgRm)FAPiy6awtQA=VF1pUwrNC7^9YjDn"), + make_tuple( + "SkdQ!v&sE@H9Myehx2d=DfJdF46A&SivRERTaX6^-*B37%5b!ci!ldm^3zFRK@VRu8PiNhAUtYUFIG6Tcw$", + "fsApbiJsQ^mh-70X6gh9-2nOu#L3ur5UwL#BRWvNYO%LxXCcfDj#jL"), + make_tuple( + "AMtbYas3L&g4yF)OjeWpMQLNfx%ml8V8mg^uiVg50EkD&lom(tjP", + "BO^z8@)w62iUFSL0%YcXHE=&eRa--p%s8YjeO^a1hga27nU3$JqY"), + make_tuple( + "1dZTzdYFmu8C9e7XIMIiPks$5%wsNh3uIpB^TTWOjnVZNMP&AwJjI4l5U", + "yRal7Raye8)roKCLT^L7!7hIvx9FdW=3Ac=bHzuLX!@xYQrxJG05FL00@j)8D"), + make_tuple( + "e%*8gy$xSK3W--qBtPoT0w3!wl)ffsTn)eYBqt5!fONYp9!ejW96D6UMQF6FPAiN-ZDcvBwlUyIbHfLkaTwy8&l3N", + "a%KgdS=rLPZ)MT=$VnH9m1bwfuk7JJ4SueC^q6gSYgUVsJaa9RfPBNa-!IhNeYwJoI$au"), + make_tuple( + "jE3)yYefF=h3-NDPy(1*I!aC1*@TV5SU(Q68lGqXXO-ywQTY*Hu1m((Zm9vcMK7D55s^keHTTfN2a)V&Fzc%(wLT1qSrvx", + "MnWj8TiQMov=CH5$gBWIRqCa-wCL4SX9F(@fWexf-rCzj56z(c1-o!=N%LhVtN"), + make_tuple( + "*N)v2lLNvMmIL@x7vNaMu^LsWF%nJ3G-#FyI2l5ihFu4r@e!(U9n", + "ax5Efba!DRqkq6BhK=Jx7Bo0e(E$hBthY^HrYmcHe%x1BF5qsAt"), + make_tuple( + "8mzvLdEN7oB^F5Qew8wyKmQbIiOT$NKcr3SvSeFA5^cdJkfXf#O1mG%AwC#X44^g$Bh2*H(gX4ZZR0)8*bJqFE%X6", + "ur4Y#xu*XorymNr^hK5oOc)%E5tfy!OhqAnjKSp$9ULh@zhtIj"), + make_tuple( + "bbd4bO=gky6rGrDJmu7-xPkQlMy#NNyg%H)SF-g9Xikbci=xuAJVwRxqLqU7jSHM", + "UJV-X@y!jJS8yCqEDb$kqIfObs2s=#nhv3fVtFI3ld5yO2wvgTWFg"), + make_tuple( + "NclTs2^Gtmh1zc^sXA)F1@BAqSld-be-am2zg$820)3G@dqj*&AlCoUS-6M93)deb3H6LH", + "3@Pnd$UJDxI^K(d7Ana=1*S@&io4bWyYJ6xnKfwC8Q=%y(Fd$DfF8%RSL7L)^t"), + make_tuple( + "Lf5F0#$pvP$lUC8jNm$IcBXtEiG1OIk-XD02x@v3nwnaN7!iD9fBbCj2njH68K(EZ0LZfu*rErIm**PktPVWl123kX", + "h5xKmiY4)Om55J6apHDUkIFavcW@pi4KJmyXfj0b#1e*PDaQ%ZwbBfbIK=bk(-O"), + make_tuple( + "@Dbo^jv1K07FW@sd8KnUkOtdodV6inMRPxG@3jXsX!hqx=uv@F3^*j3Z0VyJekJCb)JU*p", + "ko%28WZA)sZD50&5B5Z-CN2P0NxpNElW$gJuScyVX$I5RhMeO1SP!z)x&xlp&ioM#vLs"), + make_tuple( + "^XSZR#6KklUQ$W5Q!Oj@M-KImY8(msxSMEx!DZKI4XlgaEE#CD%p%Be", + "pssi-sHm0HaFSH(AbUwj1(jxZ0LBl57NW@i^=LVksg#hGRyVbX"), + make_tuple( + "wZNPg@-0VjlV(fh1J$J^NEZm&9xA-RjSop5h5TYc9fxhq$0KW6ZAn(rK*k-&I42%b)", + "YkHDKixuFyHeFK)9KyR2D*Pa)77e@lQPFQTy$fG7vY8%a0pBI(tpPgIVCnFCkC$5FV*2O0FqZ49(viN9y-YLtvox"), + make_tuple( + "xCFH2nrG1SD8TAvvn3-LW@U9M6RF6(bZ!*quUb$$53Pn8scEh6iOe0puuGq3EZWboXOf8Meu0gU8J@g0hd-#Qd4)1PAp", + "TQhu(!2D8RkM!(Vl%Q2iw0MMCKLf)HA%pi*Cyo!O#sV4JjN2rHHTo=J5h45B"), + make_tuple( + "NSFzkT7uJl-0kEI7G(^X=q6hV^*Pvm0ji3yT39Kj9*^-=LA@Kj4gX*d55pikZq-)50LmJ!OzChtY1gUe4$u5F#2wW#%j4vK", + "Ttgz8VAUsnirNEn1aa#20*)X1GuC#c#1)QsWCYNk4Qyho$w9N1iaporEG*Kin6b*rvDhyoA3w98WTitABt&ZkkrnaJzX&t!g!p"), + make_tuple( + "B9Nq8W-QSRXbAQPJFKFv*SKf4%)vZa4I7@A0HFF&THWoQ)3Zs(A#3gV-N%ij!w%pP^N!m2(g", + "zLS1rIs3tV-4*hSL51yB7VEIqnpak9MCALtpZ@bTbVX4I&KdwE^lzpAQrzZ3EW"), + make_tuple( + "LRrtEQ1&i)6o7lfEQGeB4MzY^QF$58PH0%HvfaBt8nROlHEGf2)lSGF4KJxsOC2662VeEVrhrx)A", + "&qzJFzq&Kgt9TjafDK=OR&LviiSKNh@&PuAbl3wuOxQa*80&A5-fBFw#t)Yy^dVmdGzpbM8tQ3YdRQTB"), + make_tuple( + "%4wX@5L3#nH-BB1c^QkKEkwI^m&ykCx$K&IiI1q9oAqYR^L^peoaCbC-WnMurK35fG9CFNQa6Hxke*4^fVg&#z36", + "XVZOBAm(!7-gH5^4QYUI!7VyRPzw7aEEZ1RN#Lm5xedufK9F8Hv^77xundF"), + make_tuple( + "ymf4M4W1V9LG=pzyyGZt&jLnLJg7hxBE&3KSWS9mAt##*Ie-17lEl^p0I2*1sTt0)rMPvmhsNE#8GF$nyc@%411vB", + "AofeXfaIWng9$eLjly=8=e3oMs5rNBnOI&fXb*oP7--6-MH-(ctXop$a!^F#&g$nI@zAu1J!6=Gw#$PB6P"), + make_tuple( + ")ne!Fse(2Q*x6cP4U0M^EOq&vAvFrM%^OD7AuJbrsdglqQH*Xfiq$q1)", + "4PqRnxoPKZstceITvblj**yoCG&*YoY6WyNFv*sz2JU&DXHHF3$Jy"), + make_tuple( + "u9wKSFroJkMkScZIj3x8RO%ahB1lBk4W*WUxpKwB(rCcW2^e06d#35(NHB$IOquta2$xX0tFQcLagR=O", + "=1e2sn=#e%iaGC!ZBlO15GBq(KRd7d*1B9)fIW9%It=CO$S8jNO8Ma2Up4$V"), + make_tuple( + "78fTuViAmTri%f($)%0%jB!TOS1lxm80ThstlwEcLJGvGaNZ79dE=ljE2@S4Fcw8HZU%W!JD3r&hCb%In65qkdNKgPmmh6zx", + "UiL%=A5HOmYCl4Vf7QLb^AHmaN11R21zb2iI-($CkjInhw9OBgrv6*y4heYdRpYUbX6IFM(-I#ByonY(82eAJgIlj#1lg6"), + make_tuple( + "@lpSDGBG)qy-hj3*)6&U=o4m*T$aWmWWC3ETf59yk2Q&^gDQ-OQ5rZKh^7$2b$^u(UGEyUnrqn", + "USo9HBL-q%sOFMx0=z=E!Nb*D6dWP73qIC2E)eDKEwJQ#iNCq1%(j4=SVUX#cD^FKA*4%zho*zrX"), + make_tuple( + "UvRxdi8Ii1y@o!ns@QzlvnvBnsHtS8%P1%aQY-3WoQA^BWjh#C%px29qxVo^xO*efQ=EiB3jzWz$6d", + "Ay*F0)960)vQSSf^c4qMPU!AH(ggu8ImA1Eze%zWruUT^6X!E%jFoi%eX$(gVwXS@oQY4SlID)o4LM-*=n%u&vQP*N19MokV"), + make_tuple( + "(vlgYQLK1WY!q&IM^EDF^z-AuOfDN%Rpri=7CUM4vU&=7J#Xl7$#5GE=IuKaEx781qs#asA43#Z9YKO)Andqi@(VhtT^6", + "&sPpReC9YY-dXXvxZZ5@%W2UKy2F-2w1=KRKHYGEG4Ecu8Skhi"), + make_tuple( + "J)HYb25Ka#PHwVgJUp@N29s1y7cK!H)tdXKB$XMLYKNE9xir%$cm$pS70W9m8rp*Up(720Lt@oEA4%yC^QdFfiW7dCBMbSZ", + "-hD%Wj&8SYVICuJwi*NO#sbqB!8oi7W!yptujb!BxHlscjBtCvtHL*6&d"), + make_tuple( + "42oM@CuaF$*kZ!Bb!MIGU6(NHQOeG8uEr(Rq^fH!jfHWouEi)!ArJXd#*pVePhp2T^Kfe0tNvceR#lzNyeqMW!m", + "@0okf*QnkQl2F)!fpK!ug*JqmGG9n)NjH9@v&SgtgPTXqfb^AoZ#st"), + make_tuple( + "aX^fq=FOF0l^sJn2zyW6!4gS6&LgHJiJS8AKa%lpV%rnbcv)a0I=L1i*9ouhs#99SwzGlbm#bdnvLvCpHw#N9s", + "GRLo6m(Ow8e9AAK&4cyB$LE646e(GJ3BEjZ$8&hnpTb$Q3L0a1$"), + make_tuple( + "Nv7Rfc&I&DEkfr3qgqIdra!pXEk7aJ$bJPnq9)u0G2DRK6TEYzj7dW&Kj=WQX!kwIF6Dt$Lun5oRrYNCO7dwJYA72wTlb5k", + "&Ge7Xz^aiDDiCWkICz2o*cdXD^ZQ7dl*qOHtzgWLmLci@$A*uOf@)V4JGRl@s1MjO"), + make_tuple( + "&GYp73H0rz^6*qjut-K3q37=4taU68ivk(koQ3^(7-B2Gx@IHuCmE^Hyz06bGxVE$9TZP5c!IKerqIQ!9q", + "T$E4RXR&CO(Q!c(FfZmF&CD5D66#rbXSEd*j$qEPcQ-cK^fFTPGJ4FCXctfJ2"), + make_tuple( + "Dsnv@CTytrVJLIeuZ(WN=tJ&fyALc!B49PR#7zsD^f1JAYkTd3Cz&QE*1l1)l)4t)", + "v#8UX=*KxEnlR$$Vj$s@mL4CmN*2*zHe)7UNzKn*s1IQnM=cZtvhoFIe8%W3^NzelxzIqp=DjEW8C*vJ%UJ@uQ@2i@=-*D"), + make_tuple( + "w7HS1XlL%R0mLTT=xy18!$j4!Wwa#MIL)vfJWRdW%-yV@b1(Q-q)b!kK$-BOEi4WbLoknfuGPs85mnvRc3K7G!", + "Yku$RP6BtEmlWdXPXmDuSoSW2Ea-#!Ikmhg7(6)vpDjm%AwU40g@4#Q)WZbjgWpi66b&aJ@Y&3av%SHe^El62Bj%e#"), + make_tuple( + "blBtJ^dcgtn6#VeA%XsU1dxoDBloS0C!zV32ENtpboG7&0ooqgr$", + "6Erlu)IpgzoTqRiWXOPmyYuf)AvQON^&gL$NnmPF^Wc5!@z%gXx3"), + make_tuple( + "S1@1xx4^2E(fkclLs0w=OL5D)kYE2K%na-Kbz*dd7J67sR*^2sZ4ok3YT&sVmeQa6cH-r)&xM", + "l=&6RbeuU@5HJ*G$NOEttmxEor1gd!FbD^OH(TSZlquZ^9*-3e$mLz#"), + make_tuple( + "mF8iaue)AkWUkqovTmrvq)!kHOC$DGtbDX9!&R@tuO#a#d1PP%B=#K-n^=PIIqtvOKa^BPQ)sn&jd", + "xKuX$D$hZvK4navkKdppNGNBaF48BQqXe!60wv9u42ridb7yEqlIIRcHx2!2s0&R!YE5l)DRw(%"), + make_tuple( + "H##AIs!qag*%YMBXb1JR)8wocoCMOre5Ov8vP11!e!-qRj=%479KXoobb2*p(J3Obvo&7%u29-Q", + "BGM*n5hH2G(zA*BXy2ZH1oRwV9a#hbJFBzt)v#fkn37Eat4fG2!Wh%jxpPP%myClkKsGG4xbS2-PJ)h0XWJJL@uYsUQpKrxBwX6f"), + make_tuple( + "xp3HWe7p7d!oD1ll=Z1C&v9BO75-GNhAP-I8sS2E&MGzep#p!o3yOccqVYYj6l6E%ISlF", + "uvBhs(Y-BHk!(GSXnWhze5XDdgNTSo(EXUvK)ap&R-P!3Vp^c2(K7P3lDR)=hCVF"), + make_tuple( + "lSUM@=^aW#zkxL@W#^C4Wkrems6nHCC2V&Sb*!8^imXk7T@ndS9sM7-)*1L%eLAqLmGq7)J@%ZOfvvGyJe=4c*d8VS)OhCKHBqzQ", + "v8VM*ccvgg&ZH@sV(B#J@TnC(Vca7K)D^Q0xAWelsSd57aFwtFr*$zeg&Zdh9xHuu!%w&HDJSbLFzdq=enjkGNiCaM@ZyGbCRf"), + make_tuple( + "%f%a=%IszpIyBFo980kUCEP75oSy$URr$hv16xHxgtKFKGe$-5x#02OKU1rp$M(06wbV8UnYOs(A36er9*xQuYp$awv", + "YPFL=DdgGY*mEwOMdcL3!lW)UHyOs7YuW%GzDKaIe@K9P)KcZvSQe7#^5n"), + make_tuple( + "F%31YKVL^(a0Mb^z)$-9!SWxc60SC-u=cGjZipP$cgLDvpy^fVnx-Zq)GlUWaEkrLJZ=sh=NReepftMB)=V-7BokEFz#39VQcr", + "pmUN%eSG3C!fQb*A#0k5@hU*InN2L3d47z&kj^-$uX#NLgX8rBor3V"), + make_tuple( + "%Yq59nyioD5SZ!9Y4jDK@G31LmAhEYPwh53LKw5SRfrdutjEvwnqBoVy^DFzi4mw^vsgJ91vGDhxPCr1RHQO410l!@ukj", + "7$0dMXckQgi-D5s0UlTV=(YdZohW-7CS4#^qbjHZ-Lv1MtfJ)MzDO5Kr2dTdYnfZSMH^RpkT-)%ix"), + make_tuple( + "9%DR%aLLm%yzqlg1fT!*v=nK3(0BvLOjDAJPfkfFxiUFlh!j73xJ2DbovXO7QE@VI^p(r", + "oVS@b3fHWcsiNG6d9sy%mx!peDeGm1b!XC)NGTD*k6F&bDfksx&2)k$f!Ic1c$%Qt6S)La&wb(H6%&zW(onBoH9#FBj!7dc7*MU6"), + make_tuple( + "HdIlYX%tDDSGIOyTBRE0LJf94=HrcSHx8w^Xb57lcoTM0=W0E1#E98i6))fx*&6Xnv#auuH-u%Qd*z^KM)", + "LiL2QX(qb8)fUn&-Ig80ls$@ClWN8w28Vuoq0#P7A$nGB)vRoMVZ"), + make_tuple( + "Z@v4JVA#i%IhLvg%h5L28Rw#TuY*=so2F*CIqI(MHuDB%ogrnwztAUyO", + "h4EH6xi#qKo=RS!4EAQYA01mK=roeHwujQ8ck86^-HIXbb19bJyNh3&6(yU*bZ0PHxpWFaT#M&@X1hL"), + make_tuple( + "H)Y&NrzA3-DeRX2%uTYUXEfBC94yBLmh2%wInK7aVlV)$^pxH2Za$ZfjlO^J", + "ssAc2)X#PaovJb%yu48v6ko8EoEM%)9mk2byBm8$)lPI1(yKDx)oh&0!0(fiXW3Fp&Ghup#jYNvqbsbW!Pe75orZ)V"), + make_tuple( + "lU*MjFOyi9fvImYFp(S9eS8qmO5wr4A6)%ci*DA5=WFoM#M4o0#!gEmZBT*dYZYtN5yjbVxNL0Mb#w", + "t!*pOlIQKZkLCl4=@!KbY2xUj9xnhlA9Jx^yapJPD@KN((zPjx=Ip%w&zO51%yulZS"), + make_tuple( + "I0ZH37XAH0sJxTG4r9$Kk@YH%QT*h1wc!csbtod9PC=MbDu8s)", + "pY^Nduq(y%v1cT&W$h7ZUFB)#bjG1KHMN4Z@(l4$*Bf-iE-DXJdJ8BV@"), + make_tuple( + "1e8rEnQSU^a=no5Sm9zTiR*pG7In@(K@f=OR7E*Wo9@gKp6U7%*c39%s#k", + "CnstHapCo8N=jQ-4^xrVaer3%oh2p2W^GX@sIEUXip5G%ZEyVzTMGcCYRY4RMGnC8!lS*JW=f2RsdKiGDsm4BWrf1!i4SJG#z"), + make_tuple( + "^hOXu6mjm6KqJPqloFSn-3LDLcPZMhBLT4Z&Q)HaoOapk05*B#tiIy7$NzseBwB6Chkqse@(2QLHu", + "0B8xrrTb4sqzC%EOV3S*Pvm61)%LW(&$QJB-%IL50cEMIpuk%2^zOI1WbJ=6AH0isic1Duc3P)Bw4-!g@Ud5"), + make_tuple( + "8AOkf4xaO-T^=0EMsCf(8HYSKQn@D29fC5PkbPw3q1HIP(zDl!sGha9R%MY1zoxxAUByTXP5MBO*XvF", + "ueZeGX%(6c9gFsW56XbWtFytP0oGSd!AI%Nd7Vy*k3U4cKOxV=(xndFaO@ROdjlWb$xfP%v=X3s^j)5Vnbcfm0z%TCBR=!"), + make_tuple( + "1oPUObS=pCvgFj1kG4pcbOHv%9IiXG(3YC=-&q#ffjLqXfI9)AAI8#BBqP3)G$2T^u9#MkjZ@", + "xGE($9(%G&VAAUspXN%3@jxVuYUdQ9q27=Ahh0*rR&Qfd@JLl(kjxS6HhWUMXtZiX7v%(&6(V3y00vLEzyBT6idVvS"), + make_tuple( + "ciGSGlI-^Hn#lmG)uit)P*0OA8m!%Q-uazh)gVaF@Q)MQiid0qpGr4uRVDu1-3S8WRH1C$F", + "Surl$Re*f(vKQ@$GeienPULAsn@TZLXkrKH(8qWaXnM7!E^jju40q1Jk*wKPv^kfG4"), + make_tuple( + "5lRS9bG6%lS#@sIsAx5EdeMPVK=JwP!8WVEJLzN-ZYu6aTPfT@LnfTP8", + "upjpn9*VJVAbmVp6vFuFDfH6WxS!3yr6mVraxu*W0b@3#I^j0J-t=OyjOVYmb%)id09B0N@k3c9PSkb0"), + make_tuple( + "9&xymz9I48C7eslRz*G%f)T%I&!RGrybiIbctYwCC7=lgda*c8NR!($T&0o0p)J)ZPRugmZuJ-)", + "NryYfREZy52tM(S-JT9yu&=s4O&Rz3@6dN2tw6QrkLK4W6-U1#Ef6O8hIWhC$fcQ*$rG5XfIHoYb)3zrM7(&nnxGs"), + make_tuple( + "Zz7t%2)&C%N$q7MJh7ut*WNSk#d8l)85$9y&k6TXH(skB5%b^@6iF^U=nV2#lJ@SMI(GzCTZ#XasNjEMCfZo", + "4f=eWBaVIADh4!dgMMVqIqkA=$shh)Zn#EBeHL^&dWd=g2OFoSZ8jd%!^sUX8"), + make_tuple( + "GfPuBSVglbDD#8t1iQ1OK33k2MJODLw-1J5u69nhKdQzsAAk@Q", + "a7-FSM*2U*eJf=hR1cBYJ3cNsLgOmw%PqgUCB1cje8w$Vf%G19^#&itP^WDyrpJ4uoqztNO$R1sq@mh$oi"), + make_tuple( + "YU50zg%f1&D1fDUq&YHstSNbGGvyQeb1Qan-dCXU0Q0rt*!OzX-JZ&-Ih&YhWU0HBPR)qd4NbImqN0(!PfsMrpaYWj", + "eZ0W37)8gLFbmCGExC=BhX3KHeYXFr0=vb9ygn@gdqET^6XXTuFSJ"), + make_tuple( + "GNU&GVmGbDsaE#=$FrP%ENd(-YyLi2@UdMt(GuYFIFq)&T6yvh!)rhe(oN9g=HursNWK)-Hd%Uiw^%iTqi", + "My1HbErmFo)OG*gizX%09p8GwUKUkEJl-HSHrqJ$qLGULpAB#Nm%A73vca"), + make_tuple( + "IVv^vfb81P%H9VM!joXjnt-%TDhQ1gb&$iL@Vrl5dNYahpUiaiiO@qsfIX3LT1@yl", + "0WoGPX1uiMI&)cbVd9ig1kl2iP!rAQMw-HdE(t%zPQKM#p%DX=3QBaB2E7F1K3tfGqQ9(M8Z"), + make_tuple( + "rAFi5IMBhv8LLf)=%wW60^Q0@OsEMdWXmORHN7r(7LWP7VPW8qjlsdzqvaRx*G1QGRlpgy5Xt", + "8@M(0DcRKP-qek#KtNYAMgRyayfTnPdT&E)$dWUl7IH*gUvHm$67SNrkeH1nGK1T@uCK5kLQ5wtV9@URwdF!qGG4"), + make_tuple( + "RooE5oKnj1X*O-2ZF3wPAxddFAGc7otB&(3rj@zENX)F#7Cy%-NpKAgpA", + "b-g9aXLE&bp@nzi1sym6J-vi8BLvO$hGK6b&bS)2%2y%V8ao2I$ohlUNHYQIoE1dlT"), + make_tuple( + "rJnDrfel%#)8l)MwAwkX)keWP&2ym#nxnn58Jq)9HY26dKOAIhzQk@t4IIR", + "7no2uhhQq$6SVh!xluDh4CA(P*6#b)%OvqH31f93L1Nr@KPUcOGGFDGWeGLP@0n*WIFfwEsP@pROybyB5#F!7f"), + make_tuple( + "8p4fz8$Oj=DV3inmEw29^G4yMPbim@*%QaXAYDVjqJ=xiyAnDyaPPyu#Cy#W7LI!HArl6(u5DEO#=J0U#E)@aDZxh(G", + "z!$Jtm$EGHkpK7zp90a2)g@*tNgA0tLGLCVLIs4n5gGInMsUQ0i@Py"), + make_tuple( + "jWsCUsyRTO8vxWHh13iyDRSlfq*N2T&0Bhq&u9wjFfNRXKRkNCJwXvoUf(2hdZ5Ewk$@UO8CEZT*", + "0cT6h2Tx*RXgQvk$k-Z1GHgm6uD1!YBC-%4AhRTk4ND6f8*gWbTHn=@Q"), + make_tuple( + "AQo1GsAChbl4$J6@-dj69JTgkrlD6qkzb%jZz6)CDZVbO(edexaK$DH86rvct3RWdAkqKNb(h!MJat65GS@K2bEjsj$$cNu9#a", + "Urx^JE#G7a0h)j5agbbYbFA)1Ta4tG3*BFlHJD%3FWKkXMRW5zTlkYFdE&3"), + make_tuple( + "h66OyOScC42xGrledKMjOCFqnGrHtVnKWfLZxRbMB#$gOsKQd95q7^t!ky&$^*I7-N$H64CA#rG", + "@0wtNyrXFyQo(pAjWnz!ZZvfNNkDXdUC!53L1gvlCLG(v7)S5Q9ETuXgdO"), + make_tuple( + "FYVnn1tV#)duC4OIeh^Dzr3g%5!5jPssC#ZuI$)!AGEZHQ3sV*33g%Fj!YmU!", + "8=j%NH3HzQX&jz482ARY9#MLW^#%^S@hsmp=LY^p=tsLybIWNkG@ftib7gP9LlC2op3M@xS06Kh"), + make_tuple( + "02ldOBp^v(8eTK-Ep@6F6qTBg%9tY4AL#rS1%vPUDXF-H2PyrfG!DvDaD0QZ^mWH70HTnfL&#Ty0PSw", + "YOzfAGw9$V-N)!SDW$%rTPsjx^Om85ookL7c71b(Eg2C-IJP*j$T5-=Jn"), + make_tuple( + "usv6#qM1o*80H$8xGu=hrm-s%aVvnNS0Rv0iwb9gj-)OmuSRr**X#Kg=lcIu^1Dkjegk$6qht^SapcY", + "R9HFB@A4OYNk9Jb4l&&6wAhMZhiA)q&WY!mkG9YlgXzr8y3=!pB4KlIuZzN=oBb(1I$f1$8oI@UH=BDR*zG0xOB3kT"), + make_tuple( + "Vi==f=Qe>kh*beGB8M6&Yy$jNor(B*M3FoIG^t7jAta*w=fAXedeL*Ix9xHH-r", + "weH&jQh$E60-Un1se)e=cj58LX$3$YDEhFkPOeuo^*iOhI(6YQXYQwVptmhr=qh22s9Hoe2kFt-(TU"), + make_tuple( + "QLtlQbZFdVofv&FiHXtIX6p6&Z!CpYEXL%0GM^sHdC6btOnKUG$JFyeKxd66", + "38fun**&IOkxXPtwBojcy&N$Y6TCZrhq(1GEjqaPX$ggc4EaxgXLrDzjMqC(R1eZJG4sSj=y$Wtgw@$kr5dD@eqs&DN=4!%wKQZz"), + make_tuple( + "oKwV#0(Zw0jT2)01iMLiJ=aeUN^l!Ta1@6(MOdR&-mL*)!SXDDp$ro#(0hiij=R-EkLGhFzgOy&hfkl53^O#8%LfzCmf1", + "C=-SfXUu5oAX(k0^CSAG#I$nw$F9T$%NnD@pVIL1S(F%kYXnU9^ulFRw=xR&&XDTC%a8jS6755kAQ9RHXgmeCT!u"), + make_tuple( + "%x8gp0TOyboox!Fa-9Z%=!orTg!@CbrCZAfN#z14ibrF36E0O@f)eu%u!3FuGNI", + "ZLMVV36t@%RZIYeLt2MggftUt19(bb$e=HI53vTsIAcEcZTUG6PkepyVlOXEmAmza*H=)YB5Yu&Zz-!laR6z"), + make_tuple( + "$g#R6nmhUPrG8=lS9QD!q0384ZlKxm$==QPhEoruha*Y5k-55^Fyi0F@&&S4CMxV=%4=dx(9pg^O!wOX2M8bj9", + "**n@!kFOJen1@!OQ59ZRqE90yRuhYT798&ecC^=WCqNAnHEL0Ge&I4Wh@ylQk2uBGdLBxKxUBPI"), + make_tuple( + "1I&!5=8Sns)v(KMLF!E9*=GbXKIGpPD8mdFBFJMYAeN*5m=*tK#i5RfY81=fTgC(HGq&!(qjlGoAzO!v@^U3oEV!zltj$-", + "Y*XYiY$wBrFA*4yse*Tz=GqcduT6tLMvwkQo&uG4nIzKeoJXK*oaNfW^Y@Fun$PJfRAitxV*=En*8^rZZ^&!(XEQ#rkhhujU-F"), + make_tuple( + "8LK*8b(HVC@F9RV)3kG3HQks*lIMqiYIaK6gVzHLz%m3ahc*peP", + "L#tR$SuDqL2*$vC57#J%bA23S85h*t=YR1D5Hn*i47QcgrEoz3VE$VROwnPH#SQd)hGmRG$pq1WKPtQC%P#BSd71!G"), + make_tuple( + "O^BOAZegusYK2O$W-V=)wo@fkl$U4eg2jdQnD-Z51CiNj36-ByIzzo33Xvyv8vJeXMA", + ")fAU@8z)!BL4glaq@r6YKx*F709gcitqf0Gs8eu9HMpDTMRS3dsHGGU&&lkNSQ6LpJYv(rsoeKWvwHG77*!7VI#A#dXEGz"), + make_tuple( + "Yo9-HGVR8a3NTn2s&9GgL=O-0b$EO&eJTvG(3gAp7BYT%WJtRfc4&X(NX5-o!iXOyG3HyE6eq(KaxkiR-&(COa@pi3ZWDg&Fy", + "Slfz^9)=&uBK(CO7KoOk7!MCvFaj)cMoengMM7AS0yCSj%i@t-gr=v9fulv@ofBC0!VACUP@pj4rUVnond$o=XBgs!#SqOY0U8"), + make_tuple( + "lWHQ(Rf4D@9Pq5)eqi(Ym(JOj*Tv%DhS^XuVft5ZraRwvM98qOnI0!90MS9J*UnQXygMfGKOrA34*@DSd", + "#xJwP^(Hmwkn2pMGy5@(DmNEPdckd^pf7#9GBaSu6Zga(Ffpvk)lDW3oVlh5RX3chSxYqzG5c6WEWKCna2dsn"), + make_tuple( + "6Kqtc=lMvBqe&MKg04d@!=3wJaiS!LNzAQ)aWOu-i3-a=WPWtvq$f!BTh@gRJWOm", + "@u2^rHgAyXh9ZYPbpDdsEV0Gp%Q#)L)QNZ(uDWVyi$GDaz%2v^U9ARlk"), + make_tuple( + "ntudhljZh2koSJX4(E$8HBGtEa&SH#vMfN$(LYK6rsBc0y)S*BR!&CNu^$MAY*mQK*^Ajfsfo1DSP7Z", + "^5rtGS^t^ARGkPs0GKzqPNNKwrHREzh)&Y-QrY#!zU8Hur#QZUF^)u#sm!BHE%Gr4wCIETBC#YmKjZrT!uIOFY88CM!o"), + make_tuple( + "7jDU5&RhTx^&6zmAykdk=E5JpQLo(Us)7(Pu@@&*3=rq0LB8OgkmJDU5-0Xr=", + "D6Wv&TwVJY&cOU0TwIC5TwD73#B*eqZLNL%GYrm#tl(gGayBf)x&EssCJ4=UocojwtG"), + make_tuple( + "b4C!!@dFVQ8Yc*Sa^UFxSU)we$OtCgIZ^p)aTabfVkpSJ(IkxsLwAtr-7u8m^p4%lFkxQ", + "UF$anF5Ri8&ctmF2nD97ximlpXj=i5(0MS&x*81j7Bo*G8U1(jy@o&nz6)2&L("), + make_tuple( + "B=9dPd)MAduJb*Da5^1vr@@cE1uliVxS&BS%UKQ0Q@HLC%ONN#G4(MTEbtx@N0FBJg(kcw4H7TSkQ)X$3", + "DyKPyB69J(@ejwtH%hMptze0jSpDU9XzAk0@KY&u$de7fEaPCl5^JQMR%5Z9HDR#VH#(^rRKDBKsstYn"), + make_tuple( + "7pRzFVy-&Bho#djgdDjuOoUG-t@788SDY5!f8cUvHeG^4=*Se*Ya(Lyprz6$J&GjLR07k4tgYd2ioR2lF", + "So5)Z$Kg1ifGI3w@iW^dhk919IO!w4dQ*3iDaH31)pX90i0(yCkBal%(#cW(VxlOvGyQCbm-3uHG!m$lJp*)sXa"), + make_tuple( + "y2S*bZ^EgrRwA5K-EIAsxcD^HNZua3@zJ5SRPeWq9iB=YKm!ll@6PM5L-huR5&G2qJqyx-PoelYypenMM(I9G0IB=V@2vTKV", + "&M2HK&dT7*f^S=AQgd%S#gi-(JkUx4!(T!mAXwEy6c)EP6HpuSLooy*E!3H2)SCeLJx"), + make_tuple( + "MStOheLDzQ9-)*wwJj^5&F1zNk14&^q%f&Iif5*npYAJr4&*Ks1aWs06E*FV=glIOrA0%jRDc1MW$@5u*", + "uwfg!bf#MPDkYh7&jsbyY6ht5UX!p%-kjCA0UqpMyIpOlCsfScE1UpEllwUeIWSpJgIuI0m8!gqBt%amVN@ue7pk"), + make_tuple( + ")cJKk76FrhWFAdmW9X&3brE3XbJ=dqk@2r2Ske$!9yc!jw#gz#rg(0in)HLz5aH$bwJjqYm@", + "n@kSQCOhmoTE4ZQtB&Wi96NpVw2yWpbASA!BPXF-c$LKAs33b)q)a2Z)QDKwbI9Mu!aWEZv5Tzw&v2VxaHgV0iQ-9XzMl09gmoZ3"), + make_tuple( + "GqYEREjQ2(87ufjYc#i#W^pj#kjvsOs(z=Oximqz(yaJn@wKRy(dQrd893HSvT3TMe(N", + "fEGag6rLW$jzAReK0kRyzVauKcovz!&ur=iFqCo5)3n7uNPWKjQ2Pi#gi4lwvfFJmN4WT92R@qaP(Q3hen"), + make_tuple( + "89t^qxA3F=Zxcr$-q9#C2=g7sjsLX(*6uE!Ih4U#kOY43F1dvC5bCZd3w919P!W2tK&rd7f%d)U!EXGg7*6T4EGE-EIQs", + "(L2j7NaA4osjAP6Lb3yWWK(EdZIy4daC8*rnsbdU9EfJJ4fYAPDvqUm"), + make_tuple( + "!YNOLnBma(L1)0xTwud*FhPm2sX#Tv7pW2r&i=T18xmEN5Id7dXR", + "n*$imf3$Pc$-5wzUH5#HU0c)E1lw4R@J3WbL6=l$!qhvKRynVE#m9w7C@grd#5N^90sjEc0Tg$ct%uWppXf5d"), + make_tuple( + ")z%0!O%sdj*y5=6LUxg(nkyvVI8ECpTzB4V)6SKt&5=-Znu*IU(buUyMQN(ZmBCq7ZFRL95ST@(*EuQnKcdoX#", + "Hul(ByhZNA=vC6LEZfm2n$)$0lNY-!NvI*)u=vkCv0486R2IiYi@ZdaOXbaz17M9mb*9Si*oLTy$vmSifn"), + make_tuple( + "eXJLcq6SeJpch$-ouvo98#Wm1*TIE86&A2ddzitLgtmbuT2jDPApPde^U=BFS0cpqK=RAO(6E1j%%bT", + "r-H8#15!d^mE9C3bUyVY3kTW24WSOrPv2sG2gfagksM%t)wL0YESgr7JlMhjcO3vSe5ckDK2$nQ3hgR9(6!ev^(5Sg-oMeWfr"), + make_tuple( + "X(idiUPVJEnt#U9DgvbncU)QcpOxEKb^eWp*hYT1M7NATKiNEidn^mnB1I%qY1Px8x)J27auqXAL3y", + "G21SGI7#B$!Q&gN(cXNO$mGYH3Lr)W(j=GKH=-Eb*4EZ=miCHwRx1dR3wgfW(*x0"), + make_tuple( + "LO1!Kyw^ESfiB#l5$5JbM%P$!SyhDK=88xX@3PjZX7wH1Ieyqu=FFHcsDZmC&uWN9lrbfrsklcr4VJS#b(MHGhYy2fa*B", + "hdWtKOWeN-7so0%3zs9$J7fMK30c*R1!gS3eU#4dpM-3HS-dQJCLDO(bapyk7U!)Ay7csH9k1Aj2Y#j%$3W8Uru%)ell2Qn"), + make_tuple( + "SEfnGmAHe2CFUWIpQZ6f4aDRL8ft5XcDUjn=i9(RTYwmtZ*ox-cTGZwB48A(DXMe1lIHGNj@m3K9@", + "@8y=u2=UX=9VJWU3X(4qURyem8@b*eSj*-8AWMErQ4MIIUWvc4cy%Vty-fVQQirBn$u"), + make_tuple( + "ugIIhJmKGuj0S(-7I!)8uJTlmA1W^m(O9DJVd326lv^FY#)q@k7p=qd8qnAYfDgr)YJkVUuyzQ-z$Pmb$QpmqQwC9A9Y#1x", + "JfF#VY0@5L2^osik$WDsw89Fb=&mc0ZH042LNMJws6i0wldlJNliP=xlENqlMlcl-qX^FWwo0Vl@5C#dY@"), + make_tuple( + "KM(xiTf=scf3xP@mLmk#c^wH))s!SO=LdL=-t7@9n#QJAM9gpX-DcGDNkpwli$eMKRg15x0=C5^#a37B", + "EE)T7pPEBiPD4)&O5yo!FWIo(NHYJ=SR(shV#S^YF*Wt8Ms-1ZLJ-NBQ%Cn^fkBAnx%ijJD3Ndh6F"), + make_tuple( + "g!ZoXS3!YXoC&lW^kJxOPC#GkI2(b4VNM%aSbNRJNOukgK8rNl", + "At3%zNFRC$lp^TqRkM5zJOxm)Cs-tD-CTlJ0Qixc5s&s7sYwRjCBXxgl1#F0hR=-M(l-d"), + make_tuple( + "&^XOOcHg5-l6@T@k%p1MJv*sFebSMpJ1it8wc1fW1n8BpB2u9W6=AZKitpU4H@APV3gZTsle897Gnz*hn==y!&r", + "9*VL&vwgnU67!N*gGdbNoKq3#fF@FrFVXASF8m&pfdO9eHi0eVss=xChH1ffrB=Ns7)6"), + make_tuple( + "hh*GN(@wrBMSQWzN%EKRqBEw5AOYh4O4mk5=iWb!7yq%O0Gh*Qd^ANF*5tr72x7u2^v@1gh(THbX4m5icQsC", + "jqT1Sh4186^5Z%&N2fLLMqcJBTuZ!UrM&kC=ZA76mett%uFgyluuk3lgsGovSzFMhqwjjR@&rFP(p7$(3xegi4eEbCU@)iJVx*V"), + make_tuple( + "U4#ao=C5@SSryBt&Uf^vgNGTdp=2KwO$JldhEMM$IBBF1e1LS^lj!", + "$4E8px$T*cCTI)MQbs44Kz=)Q6Xng9zMFJu)5#g8v@mSz7c&xuvIT5N0(ClOH1k-Uh&YFQloJ^tw@6nZ*xI!E*VGLJmY7kUj"), + make_tuple( + "3-4LRDnrYp2GYUFhop^wAN8SLJvw%pMQcIitzhq6kV1od3YofMa2gya494&rrlPo(kErLNAc(^dCqqjntWe", + "QP&OuNGbm3eVUZXaB64-ngBOjo3L9BrSWfEfljvzUyXPmi0N$Wd&hD@*lkwWCanPxdA8p9I$^=fg6Ks9I=Vp3"), + make_tuple( + "5kM@Pm^Qxy7x&QysJR3aJXgnj6s#4qP-iHT8N2&ySS2I$5r0r!iL(#)%n3$SEKf9ao@nfBPxxwaF", + "Grg2xtgJHs2hRkYi-pZUS)Fr3!gx)&XqZUmSSp$nve3v*Z$w0-bkD!ryRSzujvyHY"), + make_tuple( + "yGK7D4YiKJ4PqR3^cTA=aCu(S9Oh#%q3Ys8pXjL7MJKc#k0sAUVy^WmG@7VaKMAWOMc$AXAv$YVm0!eUAKvg", + "9$KG)E#5F(OF@cCuRL=@$KF2E3D*(FJQ6ry)7ez(R7eY=6xfyLi8ZBJfeVPptq2#q^!Fr1B3N3DBjkH("), + make_tuple( + "#yu4gjHue@Sw#Xk!te)O)VpHGeRFrBXXA6*KK$evhEs-CUmAsKp!gGavnCxXA!LQAeHsM*E2RR8@gGZnWkSDY!BYIy", + "#D3$9SUhh4mGlLybSJNbx^4H%&*79jyPgMGC)kV7u27ExCIY38"), + make_tuple( + "9rN%H1(p-4uhUlzKjT&*wX^78sbRohBlaC=8l%30s6GpzwXdV$jUWLCg5#ZK8WS8WhP1FSge3YXnX-", + "LWfoYYTfQ$mH-w)d8bAR%9LPV7WrpF@AS-a&7N!MWo-nAm^bk*y&6qp70*gbyc@k"), + make_tuple( + "&oILjZ^hgZ)ABcO1L3P8IY!H!vVd@XJiew@YmxY(4z!zMBR&q7", + "ZIwJ17vivcFX(^b4v(%0b9s)nh8tJ16JuQoNyFHwMcN01^J^*%f5m$U)6D*n*kD=yqS4-a(yWsJGKgxX)Y6&DfefHgp"), + make_tuple( + "tHjs^Y0unnmERN1cCPrw5d(JVCdIr0@M2P))XnjuvvbXHhrokb)QPDGoLW", + "tsLAfPlco*OjSHjAy^FhYi9x4yj2PXV!=QjfI!Rs99s%SiY#THkV5LIVp4PRjG5@2WkkU9"), + make_tuple( + "h^CLUcY9N$sY&%R(H#G46!HSXx8CAXSaU3R9W2ERymauZnczRK(j$3!emPoXUGmxXg%aF*^zEevPQFx4#dG*i7slxhn", + "alPdE-GE$*ToI@PL@StYi7V)TEfq1G2p&J&SpExXZ54b@Fmop)b$teL(B#ouQj2NWoY0ONubE2gO-BHMI0zUh^9ZEf"), + make_tuple( + "aGY@XPy3f84iH!*%WJS55cuVQgEZokLyT)w&Rm0nwboHgj$e4iX9@kO0Om@I5jx9nDkSQluLX2vH*nUfasSvWWbc", + "Ii^tn*KGfuC(bgJdqSAH3%bGRsJD1&c5SD2AUeJ=@lI6L8O-WmVF1SCAY"), + make_tuple( + "&U53WLWpnqRZJ*zJnyBXfto95I1HpdEl$WHK=$l#Mm37NPHIqnE5LgEAku380af6FtDdJ6e-8gWzAzJ(g#6%&^^tK%ZtzSXXXNj", + "BZ#RgRclcUK1EWrjEk4Yu!M1LInKOFrrH^q*^t0xOJU60IiTloQTbK=GRWF0C&8XQDs(oPJLDqpw)^MaHmg5DOBfN"), + make_tuple( + "DoIdbDQV2P6&j9-n$KlrUlbWtJ#wcW*tcFFp)F(GW8A1K-!Am%Cz%", + "71#An844(W=mZn1icYKy0Jdq^3HOlC1ot8rtd4tJ6WJ2xq#5frC34ALkZUb-Tzmc6gEh-@5Rn2CrakPA8NJ4D"), + make_tuple( + "BF@8tbDkWLOJ1UjpWq)Zmlr!n2l@4q%WZYFK*GIrjg&Nu5r%-&UB", + "!NNwOiXjxdjB2lH$mq3SYTAATN0#m=H^qS^M$mSANs(JO*zQU8ZfE@%mAtBlmKRb6qQexT8Q2wSSkp$Ql4PTJ"), + make_tuple( + "C1HRhZx#&F!er@Jw!pYo4fr0RjYgd#0l@^6r7-&0G*uN&RBZJb2NF6d5ld4^IqbBxFUXtgAO^HS2)poR#vt", + "rhzZI0i=II$t1aK6CyNK-^(XupNt14b=S=MQUgxOndm*-$jjnv)u5JFeM4wt#0LMm#clC$EweZJaqaylxsK70n&"), + make_tuple( + "h)$oxDr40y#HF4IYb^Fb@j!HRiopx3*Q0Kxbq6M^KZzFfgZOX9o1z-kl&rQt8jD5d^ek)EnXpaH", + "amBaZW&JXzp9&HAnU^=jVpecs0KKZgq5C@5BEdiBqPvFNT@P6JawTOMvY-GJ"), + make_tuple( + "AJ1N@D2Q&lE8V=XY2d$yj)^49(2AuB4CBkxR3rJV9$Qn-o$*-OFJoVJeCZ)8s(*QePGfuMx", + "cvgsq1fE(bR%FNThD%&Ayvor8dvtcBJH2!r@(86lMIU7oeF3-b3eRyI0*o&=IyDr3H-Z=S@0SQHIZCq^STkF&&fwxCX=$"), + make_tuple( + "HmTDTD9yqwECj!hD$KsS@toCd^FpSEgGZ8ELTqBR!#jVEC3xx@i*%H*!tfDjZ12&yg6", + "EFmK1vrBCbF7bL&34^DTJ&Dr=WD4-uSYFwZ3V@KKOt(UTl2iYWh##FwJElOYs-IzNPy7L)M1vG#!aeATB"), + make_tuple( + "*RhkrfH(Z^U%WHA1GvGaQc$k!&G@51D-Ua0Mg5bm1e)TZ)nEWj0ppgOu", + "&mN5ZaKWfPpX0NRXx9c=c#ulc1ud98H(t3lZzNR)t46svvtns9qR)&I#i!Ux"), + make_tuple( + "mM8txOPxz(dlR4&AHZSCwkewCP#MP2#ij*svmZ4!SL)%eJrr^@fdvKOhz%9-#8etH9sgS6-fc!rgy1P9xiIAG", + "bvskbI&6BhR@kIQ8)d4J9mD*WRE55gamQHc1x59wNYD8CGu2guk9)et$S7IJJt^7klO5s"), + make_tuple( + "WAZ-WE(l4R*=Kf&&5$3tN0aH9kxvSS2khEV71pK-HuUEd5=02hPgGiY!dITc$", + ")ujG5)tcpS-!YOkBd4&76*PxDmeC762S)!g0NtsjLMiRvp@4K)*$x#^BhF)GtX3CQ(WI-oZbHy^a$wDLEz"), + make_tuple( + "tQufMeI67i9LN5tRpSxInUwuffK90*!qyfRUx8W$8@=$gOOzbMs&8xo1Z&i@Lw-jL3AxzH&FXUzfzJP$", + ")VVvJ)3oA02-93gZs)PGlVOu2RgEY0A-dmYBZcH2w9C%18%K9s0x4jdt(Lk0yOQX17cQuzM^jFCB)Za6YO3##b*kwkg5kk!"), + make_tuple( + "St&G2kBK#lf$VB5T&kjmYDnJZRcIbqLDFOcnobre#ejs8RLBF%OJM(2neH^!3ALHdVLxh5)suj3Tguc", + "(ekZ3IdeUS*z#rSOqvajtHoLUhop2w)=dHBZhSAd*plnKK1dP&pKl=1$DmC&8w3F8$"), + make_tuple( + "zstau@cvY5k)kQas^7eiYMxcgsaUH^Sn53L*O5*eIMCTlSIqgdoA$2i-DQ(h@S40kXALe3LlRhFH1DUPfizs", + "U@o96g&ahLQWQKfFV6@1ZIr&)h=bq5nSNj91*o9H6rk#Z@GOa4whUPQvR59dsUW9=xT0J7MSJj6gpOn0pa"), + make_tuple( + "QORG*QdGjO(nP#A@0AfXhppdbkKrzwF2*X9%D&5kBSM^)Mw^M^#vo6DLJ)v6zkH&uSoUa3pjijr5aaCmm5LCBENC9GzmX4e", + "VOn@Q!hw1sM&PqQIbuk37#g#*tQz1jDvtMFb76e&yTS6-BFukdMO1#2^6&9UpjqFsU!Ei^%jhyD=QK1SXc"), + make_tuple( + "yGU8)1tIdmlASYjk$W0ak%gf*Qt3(kBhU0u=G70qAM&GoCKhTG4", + "3doPxE%IXeSGvKFf1LMFFZF$V#1$U356pNMFo&5vqcW^dwDj1Cud9eDx$w&911zNPOeH^yj@9X0ga"), + make_tuple( + "jwl*xE7mF%c0g#=Iqd8Mg((jjYvt#x!ImhxBc=oZvYH(vN*XM(txX@bW", + ")AkyW$LqLjz=zvoL=vaS%zjMOsLWGCgR!8tFUZe@re4psiEnKPJg!q0Q8$6SfQjx(nb8n5u7U0jSMU%UtuF7HrZ"), + make_tuple( + "BHMilg2$AYeAbo-Hp=F*fC!^!-Ul-dD(1uD8Sq(4Ta$g=!aVvfwlKK5FB$eau3ZPM6c9a)", + "N3eI*oe7$#J7kU5R0hLX%5Ph4k11fJ7*x7igyoQlmdbTHl*sU2*yBjhAiEBP!Ei3Q^%DZUiY-sxMYkw"), + make_tuple( + "#0UGnz(qb^R0=-TdY!@fvL4nbw7lu@#M2DxeQWiv$DQGq&Q#sRX#VpGuT2jzdU$lTQJbZbU&jh=U", + "2O7C^L83pxU%iNl7TH6aWdF=EhP96TkcU&mSE9c8JbNKPHk3wzXH1A#I2cTP6!1DWc"), + make_tuple( + "BexbeKpCc$-3BlHb6TgrkROl%3-IbF^jeA7%*UBhzMFeSqP3618MWA!yBIqNRrD-(Rw1TKg64UTeVc", + "YkTYXP&@TW!B9nFzAB(qGQHO(ThQh8TjRkMkvBzWjqG(0cHx7-VOZ8q"), + make_tuple( + "5I7ocg0tyvF8!3IV@K%@3E8WYWzKZbG8))6!YhDr&hVlMdWimIPvL2!(n&*HwCOVB3&mM-TwrR04h7Fm", + "1n4hD#37NahrB@tQsKyyGKQ$Np$&T9l1R6t$3=KOmvrZ-FDU9Wk&MnhX$^w@y)%71heQk)Z)*EUAkZSd$cj*J#gO$YFAKp%EFxv"), + make_tuple( + "arR-@F2ug%E=-%mbhQyQ16T90mOFjTpBOdGO6%wDKrHN^gOVGXeagc!JoVW", + "4F46JVx9fQFdch(CBew%Z%J8SFG9-Zl)6KlotdC-F(yCEJyrQOKSt)grks&IKk1OBN(GZ^"), + make_tuple( + "9Nk-#xbcGIO&bkl(m-BUL&&PneR4oKooWH$)t@CTXPcNIsz(dVO0(XZoWg@sCA^qcHplRD=rBJ#JIco4WqWWj8m*F4$N", + "*)Zr)7g1Y5(BFGczyf(!*UPOxG0O9)^aoW36^1CjIitqF$^zBRj!p(mPFiGWwqw@%DZh4pwwPUgcG-antnjr$1E"), + make_tuple( + "XUlv&uhyp0MZY5d6sok8hkBlQ%5!hNsuTk3xLY2cS!SetqOZ1aTqRjyge956cA(tc1R!%EuS4bymvSZDPqrOR8GnWX#E99@sF", + "e@*)kS6Dis)4vD9n#&w(BY^k4HH&qTQU^8mc-0HDhr*76m@8(5jVa^-UlZYCTXwMUo3(YBanWMe!8-N"), + make_tuple( + "XowjXC8frfKg4!ja!tUbHiG$J*w9=%=g8-pCR&dy*HtlK!Qc*-Lp2", + "!%UZB2y705LEjxWXM&kzanrTrQymq7M5w1jL&*b)ZpkN4y65kPi!yoFH6sOWaE3%gJrBz^SOoKUdSiS^AmO0A0CrjCx8aF3T$-f("), + make_tuple( + "kxzOt42OGTek@f2)lE=F@PygRLzA%l$r%yem5x#hZwAY2L(C8y=n)5#3xWi*W65&inukB6N$SRgo9ftIDvOx-tf#uc$LqmF78Ru=", + "GJ!(TKTr9XJNbAXYVn=zvQlRfyPmVGfQqmomGF#dv!cGtN=%=-bvGXk4rIP"), + make_tuple( + "6i3nSAfT^Z-OfM=Ah#uxboN%Qc)kwqB=$wyf2n#Hl%O65xF8&PazXTsuRbNeXY-1FKTHtl3H#It", + "9)%rdg!V!eOpLl2-$6=0Ep4x2-7Uw1snrL9rsQeuqTixJcMTnD22)AHxMwrcbn#lCYsDXoG6("), + make_tuple( + "*cgcEEX#Cma(Oj1KRZKW^!HQV72c-ot^P$xln$Qnp9mrSQ$r(@Tp^3aicL8pPNJv)849g2vsk2mO)P&E%596$G8$", + "qXoagw)vfMyP5%L)Cbla!rI(aiQ5G@*3$ziQy-2!rz*DI@WW2A14a)AmW(aCCtnPaebS%r&&z(I6a9SxWd0v7Ejnu^y=)ke^87"), + make_tuple( + "PqGAowdHybXphPHg2jHj4E%bd)5aJyB*SJtpyXF7v^M5EqsbXT", + "1)=!VD!$dTQtc4#@iOx%6a&2hR)vC(NlI*EMfxbiw4)e=WAKwF=C9ZX%DA4TsTv&oq36zzpTC5Lx)NTR7djTz"), + make_tuple( + "-Ry)gbT)%iQ8=Ny#ymp$DVCeD(Zc5PLaeEsRjSStXDLwmFc%MbZCW)X9RRhwzkbY*5%C8YfcSCbD$*PQLUtj1u#6Iw9Xq", + "yj@8FXayM^1wmBbV-4l=Rs!Hl#0$06T)j^hQw-kri%3Zp0rz@mL5Zi7tbkgQyjp4KxbK7eZ5pHa!16OoEQlGSR1K5w1RJdTZ"), + make_tuple( + "t5Ig4lqAopHNPZ7-k*SQTWYzaHMIWN*udY$hrk)BocLsp1LhpGu7^", + "SKtEq(lJ@G8Z4yNPc1ysnpOYV0@PcRY)2pie$mot#Ot40DN63-^qiW$w4vucvL)whOLN8=u@KIf!ekJiDlx#&)m"), + make_tuple( + "XD1Tr$v0JxxcLLQu=ss$jFrHbuywh6L@EODNEdWMpyJZ6E$kayVy5^Z&$h8ikb(k^L8e", + "TVE=u8&QLY5*Zbv@5dFbVHsaRkmbls@ShH8=P&QhyC86YK9o1IaMPtDZS()b4w"), + make_tuple( + "Lt30CaLiGDqSh-m8VKXAYjVDE!bIQ=wpQ3%P))o$cxUK52-l@druPBCC@GWqe))otPgVlR2d*T3(XR5(nWPlo", + "vnPdU3hKj7IHdSc7Zthb)UsP3-$cu($R8owiS1B9J%KrN*QNP2Qdk*Xot"), + make_tuple( + "G*2T7#8aLvA(1^JV%G0#@-REuVJ13lMCq@FDe^1S*#kIpdtT)BhbrcUz04lnWvi-=ZgHGsTNXbFHuDZHM", + "JBhXDh4bD9YDe2^@WN&&rtyUhR9vMArcu%5Wk-v^EFLFlh@bI(kzCuz"), + make_tuple( + "JbRpQmIr*=9TpYglg-WLRS(-ud*MA=cKpTYdS2ESN)BG=1&Tom61Fdyk%#iUNRcUUfq!hmUy!Dn#UN8", + ")%D7FuZ6B1@m*i2jS71adVYHEKev1!W-J#JVz$827hu9e^wVzupBC"), + make_tuple( + "9YZSj@nR@tDOOSK#bFHh&xHgver%6D@zJ4Kh7qITcXm(jeTUf3bnKoxAl0deZ4KwwiSyEF5j&4iKzDBUsdt!S)#tUkHQ6z(1H", + "=!ZYvpBMA-rm7Hcdb*2ilpb9@#^xGn9R0D((QrqT1mfV!rLQnCKhKS=MRf=RRKpa"), + make_tuple( + "3bm9IbhEgCYUIWe%c9mlxx!!vqyahr-3t!5Z@Xt4f5gdGVHdj&lOR&Vh^acJXB6pNodQNc3UC)e3#*N", + "WJ%lQxD=JY3jde4zoPez8)fZi28g3h-ti$FB@YegIZi8UW@eidIEV$=RK*)U"), + make_tuple( + "EIQRhqpC=JIe=w4mThUUzWLMw&bFz=Er*ot%CFkHf@AJMkTXW=zDc09-45e9kMOYHWBJgvyvmPoa$jOX^hgf9&ZgT&l#g", + "u$nC3J4FrJh%mL%n(KzH6$vZ!gC$26*u@HOamuo9OSV-fob5qmvTaBLu!(vKQ#Bb)Mc"), + make_tuple( + "6H=Zu5aCWkQ3Ovqvs9@yXx%N$gF%gC1fcU3)TbAgNIAKDlK%l-QqjuBXm44bda#)&xP8nAMWZsiNV(*wN(6CbnlKm", + "iA@nul)pMSsLcyJwzFRXhPpNP9@JAGwqlCmqF83I#GD72dzqzef!pUzq-2M*Gl"), + make_tuple( + "6xOE%HW@yOuIi8mX%35sU9kjnotZ!LAfqbbc3bCq-1GY1ijyCvhzKC@=Aq&0nvS=-7a%", + "9trRS@YitfUL*z)ObsfCgi7!mVL3xsLGiyQ!a%u8s*G%A=^dDeK7lpj9b39qF"), + make_tuple( + "wQbeBKvLR%s8zc#YDWCeSnj4ZhNFSofmOzFOXaiWqPXnexEKcGKVT8%&FxYn^nKQ=qgAlKBCpG&)", + "Oq&v-d4ovydPQ6AEFNG*IEQVOfiZuQ1)ex0GJOwh8qwiel9xaJHLsEKTxk4G**f!KhKFK44g=b1^#6DVl*v7SnFLF$1eA1"), + make_tuple( + "WHe!NapmqMyclHP@#zP0ia5O%b@9LLqEyc9RHo&HPsYt8iz4mY4r6zOn9QgyOYVN5)^wo4r7VJ7dp^O6(oxbYZk7mI", + "kWEy9CUkHD8ahoR8ZLPYv1keR@iaw0*NO(WONJx8fFx46W=zb^CM-6fO44&GD5aw3pe1pZhooXym!DFpKZRHd1FtB(iRZ"), + make_tuple( + "zAjb7KuV-^9!=0tlxF-$@av%=5pqBhuw)BM@Z0eT&%RXUdE*C!y*INK$!#ZyNA*V", + "@$@qQKf(%zt!GdcN*cLF7BcgLkgyxEIifEGkpKOo!w(ThcW(Zh=sWYNMkaf1oFyymYXPgXoJx1sclcmFxZpBR9zChxe5i"), + make_tuple( + "L&=wtC5Dkr4d&aYB29zStcGOH8PNb%Uo$yyztIE-EH)^yPO9QnPG6y8uoqD6", + "z2ohzUvNs=(&AGTYEuRx^RO6(71-4I8-c#eokbp)=cR3InWHr(UMyCc-EaNTqwh"), + make_tuple( + "V@PU-WfV=FkKjtimgCJYKT6XyUyZ3pmNWgM21i1&Dc0IC2X2q#ElHO7oaFVW((t", + "7MXPUzE9XO9oVzgnWLR0HnPucm2ZzQEUOcH#m%k*QYc=rfP0SeyqMyI8)nr)0KEUU"), + make_tuple( + "qJUoV3657YHd9c7OHLkyncb)Zk!ZHS7&Z76Q&SYFRQa1RQAijA22QfJsu)Y^$-%OCKdb(339UihFMcNyTty(VrjI", + "KfP$YaB3wK2bRC2FY5D0XQOS%k^4$C55DHw8VK$cpmBBQJJ)gamDWlPbwS7wD1*7"), + make_tuple( + "vZ3DIwCN0AWoXa)w51xDti-*f(om0M$u0T9j^DALWCg-oSmtr8a-@!Fmv5UbwfT0OG!7@@!)CaVriCDxhxu*jT@ROPETowEKIgQ5", + "VUp&ScL8(OSo-T#LUsGYybKZ*VlB*%Pu56=cQ&dYxmZ5l7JmzdKNainT(I!jm4^%1dGFLM&67iS$ou!Wtmw7r1BzZRX3HXYB"), + make_tuple( + "Qz!VaKHGZJMLK3coLY4KpNdDV7^VoVFA(HCX4GU=5e2)-18cBk2wVFf9QVc%bhy", + "REYn&GZTrv7bgGu^nJJy2eOWfeO(xNsfdKh6biT@bq1kYfy9X6^f%bvYaK&eaJww%7@2!sl3E4z*&knch2G0aED3"), + make_tuple( + "vo3pzu$9^UJ9V$B5xiHz2AG6!vimo)TDnRP-GBcd%cc$RsEF)j", + "W%SFY2%&KAR^mIx%iP1jYZnVfU7=!b$g6y5wX80jc&po61yQNtUrP1N-1BQo7XNgzwS$3aDnf)n9MEL6hUk"), + make_tuple( + "h&FSi*QuD%ec)lqH(XsCXB#BSicICEMQTLTtEn(JlTaGc9liS5w6-sw()cvGGLTMA*biCzO7E#pOBCU", + "p&xEgI5nG^t(3eS(v9(Vzfvhco$UfzBlviV13JW@!C=RdLLq7D^*&-FQs0)kLme%tgoe%d3CIb(8v49lk"), + make_tuple( + "EQh$kdA0$N=rTDYrEVrmtRbZUg!yiGYTAmro3Y=qEqvcIvaaadqxXj8OKAmU9a@luXSlX0F#dKxQO=wHY", + "MCSimJdCjhPqOM)vSUM)QpE#mpd%P5=c#gE83h$*w1$O5(N1h*^Vdl5$Qih^3Ld8!*y2"), + make_tuple( + "hpHuRhroee2=j10Ogn3mb)HljyV@f)iYIjhS!Fpl*sqXg@4KBl9uI1^!0pq@iz5U7N42)Ir1pJd@", + "^PW6nRMZq=lg6Z-QDBsF!V3A#JcJ=6$Km1WkNo)58Dgqn2iF6=K(zu8gB-T)Wz-dMFBlNAe(#tt5ntG$6K9^oY!l)jXSvajqeq"), + make_tuple( + "TICoSYi=EKwDSgJGRnoIn6rm2eoT*HzQwz&yYyaa6N9nb$)#cgeT5UJ*Ju^ZYMS%2N0h", + "sAn9!aJSx*!9k9AVkn7^@gIg!gx4nyy45)*w3@cpx0#sx-3KJBo0@Dd3y&JWTG-e=PE4OWPD9TCr"), + make_tuple( + "Cr@LgCX$jk%FXxm%*xftPWZAt%FA4Nv(&IQmUhXcQ#1ry)tkN*VNi7@l0K#UKz", + "QkWz*A(rDiEPAy#1F@bq(F%*PrLN5w(HBJo4qYd3ABApDuuUWT9*6vCbYRu1QfA$YPYp%r2C3ZfwjmLQgl3Ge&dGFxOf7J6RN=Q"), + make_tuple( + "^82Ik%!6(36SbZ)XXjtx4$YHGXdlTC7vQmc=*z9gUvSF&TVzjJQBI(F1KicmR7Ciq8^CzoEt)Yv8RHFXon)L&2HfKjCnD#eB8&z", + "crmBaU@3g-fZyPvf-3)Z0sg32#G=g3mD#C0O9Z1zs*43oRfQ5iinxz9&pgtG#RBKureYjerc^0#Wqq%$rM)"), + make_tuple( + "0-i2Sa#WN1H%9eG2NCrPgP0!ZnF#Vz5Y#&^8ee9XIs43ULuySZNtwA3LT$Fwr", + "KE%Bk=SmaqMp%98dx^4sAkioKWZf6d@4dmt@NVVu$13$UPyZ@#7VrC0TUb$AdqCcEhZdPTMk*jA0*ORXTK&k8RNpffT^zd2G"), + make_tuple( + "C#OUU*D%7$orUENhb9y*jC6^7w^3Lw(1XyIZUk8lT-^AHyNeNB-", + "!0bG^0B%x2dh#m1MwyZn!29zM@MQTKWMSX##6SlsoVKaibPdlzh6cawa#^6AzyP)^YOXugD="), + make_tuple( + "jBDMha1f-4Wb!c8FTqxDSeRw5Rat%d9oqKh&J-Abs6dnIzpJs7p4(TVAd", + "9YMW0(FVJ@D(CRMaOqPSXloNMaE(N!q5aUzQk8Snu6LL7vPLfjFvfcoN"), + make_tuple( + ")TN&5YUv1&eLshD(f@m@8qzTwyKQ*hDEDSpqtX2QRltffhgp@y)JkxZ38Xy", + "k(#(fT$$76^-Jjq=dU#Sor0deXRG(8#NuIWb-^&Rogq3F#&0^lItJhYhry7cFF2!BkFfJFaw0M2MPy0zYoXoPhGJ2Pf!"), + make_tuple( + "UO$w8)rq3*5T=C#lH0)@Au!lv11VzZrm%ua1xyM#zs1^%a1EKaTz=GN8jED8Xk8*o%2uJ#n4Sv$wUf(3e(ENs6UvLQaJsH", + "e$8yYvgeVZT^)ZtfxroZ#2-V^h(RgpxiMSTxSaew0d0bZI#W#^7)ihA-v-rtxNi=vJ1rq%"), + make_tuple( + "H3ZhB%@K4*(4KBwL!6#MxrLLuKRici6ABA@@@JGC74oKga-MmLz(yow", + "hRmYSL&ZtF=bPff4@PAZoj5Rrz(Zax0cDpEIHQ%=ybUEF=8^73Z%dmlklPg)zcwQdb9dilLj^4Gp#omV9sQ3*@*ql"), + make_tuple( + ")9ZSjtR33(2h!cx4W6B&2R6D=%!^6aeWORVqEE7bb%v)DDoB@7INjXsy4agXp", + "&fYX9Do8X^ws)8MTI12CgCLFUbT4NeCJFR4FVN3TK^JRb%UoRYPyMtqSm$xFD5rvtv%5gtajzW%%-b"), + make_tuple( + "bU@ptHIFfXQ)6oM3T#%b^5ZvQwJrLNf5YeG)4r1wzxm=rKuBGNm*tnR00aQvgvOI&G!Ln", + "zd@y2eCQA1$Y)Q0AiIXF%MuC=lF7uZVRi=#$pS#H%lbpaY437^MryW6Ka3UzzDFNREWN#j7Lwxim3Hfz33g%0F"), + make_tuple( + "*wA%Z&)4vxY6uICSHH@aW6C&KocF5ZCsO!K9*Plqn2pR5bUIC%#m!A=ET5D7BYF*0^4cw9VcvNeMxYse", + "sc=C5Gf4g1jD@^!yLv18MfAKf1M0s%tnBFl5t2yeSrxfmWZqLl2n7(=V*OGicCT-&2lM4NW0&7ae"), + make_tuple( + "eY7-6QWg&-zVNlIb#74RZcs@bXGB!J%cJk-03$a*smMt)s&DjluBuCS(m0!yT@V", + "-yNgiAeEJo3m$q*f8u%MkyiGjQ)-UkN#kvnJBCgtMe8aNdEg#IDUWHoV%0RfKI"), + make_tuple( + "uQvW!kMk!7QTY!8bs^d!9G)oRf0Inac$RXWR2eCs4Y77mN$GsQC*Zo%w2^0hp9g69i!SvEoWM7iMB)Tc", + "%X=DC(pGXcLak(QP0KeOHD#PuuQ$Z%E#QLm5f*Rbg-4u*jR%cK7EYIxs!U1siCoK^!8jgdx(N6=gwIc&HC3m"), + make_tuple( + "@5(HTHNV)HVten^Tjr3F&Q3hjvtLB9NzoU7V--2fXxK#YT3kqNxYB5AN)xb-LSaBNR", + "9h-p(scFia1(YJ2uHAQGqb$Xr#c%wwuHCHVjIs855AhgAwReG0mnKuvbHOmYukCyyfewUEOpb9"), + make_tuple( + ")X8e(KwtJ6yA@tr4(a@rT66on6)69Eh1yHpz9xSV!GLRyDb5YvewqDUat3#0jQK9cbCf5KjYIQkmqv!ojLlLRFP50x#xtJat^F", + "Co$(aZKtGi@n&Oix&-DhrFKpwmH=1C11NYfy)S%YtcV&Z9&uKR0iyM"), + make_tuple( + "nMhdAGFl93DxWg2d@*&0SGr0#!QNN8AB!Ir8)1kmNK9bfm^Y=9c(L*h!oc^-cjjS@T3xT-D", + "4$eZ8%nWFo2R&!wlPhyrhQ2X%wVpvpILyWlJfz^TQkwk=6!@2e49mwt#H"), + make_tuple( + "%BR&Wtac@$2%HPYU5D9zmo8Ke9A3hq#lubQWkNljf4)4yvqNp*5@qg0t%lr9GCwNTRck", + "&NI6%PrP%nWc=jb@0G!V@XORwtUaR660RtJcv=J$vuZ2TkPWE&HcIS-r"), + make_tuple( + "cvk#eJ@!kbVbA(EF7%sCPUeRy*#fyiAY=iFG%b0(Yrydaa-=$Y8JjEE&ji(5@weDhxqgIFd^", + ")-TQRf!jL6AAC(1SF#8r*bpU4u*o-BRUm3wGPw(hNJoV2Xt5YsbryPcUwKhH%P6Qd%#wDnlbP"), + make_tuple( + "Lu(ewL%0#RunWk&23%4n*RZ^B7b1#pD!1%FqKTqaCKC%1TaQxD5gFem", + "71gC#%!NIE2oR$GV@q-LSrX-dOCWb@HR6Roqf1b=ZjBgnrbRy@0Wk--CeuFo3)vLX%c"), + make_tuple( + "8Bk4@TvQypYjCfA2ThzZq!6@U#kv-P!8PJ01UWUgRvf(yicST)TKvuyIaQTZ(wi*!Mw&4A@ftf&Zdo^yK", + "BjkY1T1PG4skAhoh$*8X9h%*GrMK)Wuq#pbeIBJz$av$&tYqe$F@0yweSKGE2Ee"), + make_tuple( + "1jc#C-BGZWC-QeKk$P#VP=k%bdPzauxs3UAHP3oO=tv8*fvt$bQ$pUPOQo$Pd21(Y$gCnprUGjehCszZLsxrz3&H", + "xy@OcXhtoE1!(vfhKJtw^Ukqn4s@uybv@H4mgJ#C10GGLZ$@bwbAlrN34mhtmQlxMRNeo!FuKKe$*-0jB&7NcLWaYnJRvy^#n"), + make_tuple( + "84I!mJ1-H0AKt^^V!mmFSm2x1bm*wekup8hDDx3Ukk(XxbQrhTZv28#(EP7jnnBZ9@W$x1k2e@z3^WR6DWPC", + "QPMei8FL6GYd1n-rLi8#e!eyBf8gOU*ySg&$J!(F%lPO5BFe#hR@)HgH6aHmWWTX=y4^Zg5P"), + make_tuple( + "YdkPEKJfNC&8nUxuT$MILbi)Zjl=*n2dCyTkw^M2xtI*iDUI7Wiha!7-0q82rVYmh=j!a3u)mAhbDS5yanvgnhOM3yeRVxlU", + "Ll=OjpB(BUNV8%W7^tvVlt9ksPySZhiS)vtU0QJf4MNVu#=L@CQU4O-cc0TC!4o$%KxzCuYqpE3s28%p$q)SDpTx"), + make_tuple( + "Qh9LQ*ZvUvs4$L@r1GmH#S5)#h^5ud(6uC5YA*l^IxAxP&QueJxnS)DhdEVMMeKp)m3WWR&s0aAF2qlWb9oH4Mr(W", + "$O-nJ)rwt-#6vYfjO#pRVvE^K2M6e#6D)kUc76&MP4r7JzKiHDCU4@6@Cw3sosz0NtEYhbV"), + make_tuple( + "Et2mPvdOUuUG@xEQarA1gnKD*G#phKjW0P^vRMJHWHuUgc)@kvC!SPEfyO(^S*4IcQsMRU0DEyJXSh!c2-@2#f2!mG", + "Bc*DqqL1fA5Xxb8b34CBWR8I8F2*vfqIz2MWdGw6LGp#BPF%2Z9BgygsK9CyG^qmiFp%8zKE$WaW%tQT-6F@-5yGqaNh"), + make_tuple( + "ymZp(T)$u!8ALT3nMVb4EidSawnxxrAnLmSEYF-iU2!nMsfjjWhfxjd9dha^JFPJj01i8N$*1(r&WmNXZ3#$psYEX1bR&8", + "^TbfD9g=I17G2Cu%=hTZ&1EEx)VNhkGAhjZsN&t39GC=cO*RzV!T#6=EqKCfaSZWp"), + make_tuple( + "nXdnw0YgO7EMW(ndbHaF0HxYqM#saV&J$W=mYOD5-z9^t8QRD)#lRj1)0cl$TjTg%x$3cI3Ow8NCe@d^RdXAir", + "2eo$LxM*Zy&d4o(MR%^0wF(!@(NMgLuI=2D=ILuZH8IiA=*j9lI!k9l4DXNSOJpdqihEv)h3jel1Nh*l9V^HQGUmefT"), + make_tuple( + "N3Rlw$DK1)q7&eYD7TacVqdEw%7289dpQywHTzr4B=o21#g97OVep1$8NuETDpd!k0", + "7nr*7BWTtx)dKNDm*7EDggd2rafddfXh-ryb!q*f&IpI#8MUp3ynukT*i292"), + make_tuple( + "iXt6=*@ob58v@wmHCsPbJW38-aaJB*WkxELG)&ulBYZo)9VweCTiQTo#SjT!ScKs3xYe4NK7kpo8RrqgoG8!3taSd", + "@MyKi1lOjOLs@*xvO1RzuGjlV@tPQp7JWrPH71PokF$zN$2AH-3(cmjlgsM"), + make_tuple( + "U7Gyqdw6cKtJtwnCkXKnb6S^r38!eZ&tbD)H9uRbp&j@O24x6C@xUbl2hhacJ^Rc!YfP8ngk#s*1rPgGB$$", + "NLqlamwUAAWj6pVB%JY@SNJjOLokJ7hTK^yaRIFuYJy(FoL0LQUMK%CoFHUt5avlW!)ExWzExa"), + make_tuple( + "KwfKxng=DpvioeWHaCkiLe7IG^vLWi5&Wa^3N!fpqGtWT#1P9*oBLTfl)4Ln6F%4tcZiiNZk(qj%5wPzOWFF*$9=1bC1jO@uYF^", + "XJi2A83giuklJAtBmimLfe9sNUiQAEUtPla8xpB9mZ7$m62#nB!mVZYxCzyMBj7NNd0fpq"), + make_tuple( + "9^Y96SFC1frR&rIr7qw3U97M3ZIP&v93XcVd8mZ)HRPx%JQrmO@WY3KVlIw=E5gIKExffj1vvZc", + "@aFxUc)xAgnL0Gz9AN!!apO6ogiT3Dkzgy81mFE#eZmooA8a@DU!Kj0p)WB22ga^ub83@dbRf5fZ&W70Hac0x@YP9sqK8I="), + make_tuple( + "xE!6lN7Pv&Qs1PN^$L5PQOV1FWal-4$MItcpl4R9hFz!1f9YO!^fMI^yvCZm", + "wPJ2F3!%KjpkhvJO*12p=dIjjwD6FR^Zq=CRDBzB$c$m%5U!bttVp"), + make_tuple( + "XfVnXa@)Vw)#SlepNa1HK)DVKoV%$p$FgIoA@vyGHPF$Mgm=%tUyQ5", + "^)4b^xxrdQ3Ehleid6RJ(1ovz!S&olKTEa9ow7MdmWFk&PrbDPSZmP0z3pGZ2O1PtTf1T^^"), + make_tuple( + "mANLcIkAW=#CIDI7#mJ0^=b219kX4e%!D^yRgE=3qjR@@1p8tgg2IYs^", + "VnAmO5wZDSJQ)6o2VYb1va*-vEnDQ!2J2uJywp6D0F7KQ!2tZp7f#pFc*(zLEmSP05Z!-zU%WMjBOfTE7z2@V6yvu84*"), + make_tuple( + "^$c*p2(jL$oi@RX#j-UZnP1yaa$u&ruy#wxr1rx5&Ivuy&Whl$H8t9yVj$OB9PZEc)k8z^)3Ubl8)LEhf78Jj00Ew!=$G(bIAmzB", + "YispTYOaD7RUTChzJh8Q^uQK9w9eMG=hzQ&CC=m*1!iLq(Bm66TaafnE%)!E7dyvG"), + make_tuple( + "%Df1dn4BYd375U@OEx30R2fUn@F^hUtVYKx-hiV5cWCa9uSoA3@5sre5&v2JfvmEbzOkTPe=ztb(Dq6C6V^=g4yNYeb-p0sM&", + "hxTrXZP*wx)Tlj7m3O3)N9iq(usWCIn#w%4DL!*5BbK5Z=3WZ&Gev-4U1e4Yhdz=exo6aP^8K@32uq6"), + make_tuple( + "l=#p%CZcW5da=cCX@I095(=thr975*XJh^Vx^kBcrnyVQVCiHOEy&jB5fb@z", + "!SkseL1KR&!QEq16@v!SELubk(m)t9NT^hw4r1X!xTdLEV3etGwZoya53sE%2Z)uBXbkTR5Gs4BRL8"), + make_tuple( + ")#BV2rTcZzq$70KwOgPncPkC=G#8M90O%$sKW5Py*D^z6XDI6(aELT^=U4t#bgW4M4ZWNJ!-x3DlsWusFsp", + "WdcY=!U*e)2(o$!HrRf(qWC!HJD1f7mMDQlWhM&-Pi7YGNBtmX7581STw&*FSB"), + make_tuple( + "&Kk*ZZ@e%k9hmr#Y!-F#vO1EOQ0n6WX3q4gV=zy2sPz()fsVA6f&!vTK#$tr-AR$kDm&&$I", + "(t&D@5bV@Pv9(z0AD#F)mag1@XhN9HLweYy-xiIzqs#N1EE1HKncj@DvQsoWOc#Hh*VEUby)$x&yRSYI=1"), + make_tuple( + "5z#&fuWHgWKXJqVpkWApRsP1w9M4Hm*W-8=#nq7X=n(%FeB^QSb%nO2=", + "yPxW(kCAb0=298oeFuO(hs3DY3)ivog&V^Khw2(2JHlc%)U8E6LTSWVLY70eEaca1SGYx%HZm@3GuG"), + make_tuple( + "f#w1mFQB%nfAhkq)Adz53S82zGQ-(6m!z1uu*Oovy1M)1mq3lMX)(%uI)&", + "52G$ldsCfrnR7L4noBu1QTznuc4QsCs3E-vEWg9kFXmS#3Bb^WHn!C*l"), + make_tuple( + "wHHO#FqwCuTY!V1)J)fzpzyt7uWYPomFv*vLqz#v99!4%eU!236P3LBm^158d8", + "1S7v))u)pGdJ#hJBmf#j8k2Ct8*TnOsU$0ChvE2wj$WdRy29EuF9#t93xu$J7a^h(UX2X"), + make_tuple( + "I&weKla)AquyJ-c98&IjLv6cl)Jx2n*e8RsYSamHvCC=ZCjSYu9qY", + "NXh(&pTgX@-1jmxqpA%uQdv1KTOt*WwwbYa^oahxAuwHLt&Ca@Gy*STVkiVZKC=zf0JNV=7JdE88eETc(%$Sl9-"), + make_tuple( + "ITAD%w3CPwE-S6@JOB51l)RRajUluA(#0#GhnPt8OQ=!7b4Di$", + "RXr=(bCqtcqEDeMRH^y9e4xn*Cx*D@=a3=nH^)HkyaItJP$9s8z*KjHPgxaVBfHc1JZ7SN)it!Dq=dG(P-@M3&2XQZw21"), + make_tuple( + "5BrB^yB%*@3$5jAPF!XbbFF%jCv5vOnq@qI9kBFILHv8rZ=B9N0P4ExC!SsT#g", + "1Tr#&76^-w0Jh#7b!3pw-d5aAyQKKvrXIL!2zRhPm7b5&qxquxYiTz&R^0H)cd7zN%n2@85!^XWfG-C-2jKOddQZSYyR"), + make_tuple( + "2=XU@tsU=cTPLt&Y@YJ2Wr&x6eQ#MSUiiJ(n-9s$uz5)LU5hgtf#)OYrv8%J-GP*5o7(bujw", + "j(!6EM3ON6y2RO*psrWi$Ox5ICf4k@^825o(IVvK^YH=uU0dpJ*%m#c%Q@c^i9JI^0Ia*8@"), + make_tuple( + "ycr&rKOFrcT#qbATUU5WWKPXW3D^d26U^VfmWYOaNlHTMPViPP2bmwtm@a", + "ftV=G9wSBIwOvovgeEWYR@y$XJY*iuP!hl^m&KNcAxP@xp#nohM8-e1SCfm-pw9LilA9hwtAT@k!!43-)E%JOR(rNC)FDdrJ"), + make_tuple( + "p#2#5-fzyVAF*BkqVn4CLa(97Ka=Z=zLo)VZXTZ7ulKB@^@gnQTsew4V%1I$BUcaqeTQ8Dpbk@r", + "Jz^it(k!Q#bfeJjv@pAR^P7--n1DkWl!x^32t0VZqBZnwh(cF=@UT)Vu0ibK!PTgNHe-(TB(HBqc6OgyEm)828x5!2sigbi"), + make_tuple( + "^3M)#Z5OVF%kflOCY0Rul)eWVE0RVVjw3*XGlUAp$=%7&MsFurnl805pn$&PTwQkmzqJwyEEbPd355goGTcS", + "%ZsvQnjpE3j&bNKiThUP&eaQY7FXdIoJ9Wi1hrM1AaLxS0Q&Z#YWypSa0(^y@DK$fbK1!gstJ*W=V7"), + make_tuple( + "usZBDyu7TTTbG4)&T)nK2n7YGNCe39&1hZfBO5S*YzQsGmRBlu^q%BI2pP%vsfua%EW0%P#gTvY-TTma#h#WFk8=-RfM0j46", + "0l&!2xzTOUkGN6ozVGBv0*AE5$rbtlDX11kjgm**ok7cmMmxR!z7r)2XVc!ICEey8kZ8hVeKLBNPiuSF%o=91*@JHOKy2bk4rao$"), + make_tuple( + "Zm9Tp%k78xuvVjbH2g-6YF%^20$Vv6@i$JyOwOp)s!L0H^pnFx1AfZIcB1D(!6MvwonIwX", + "J8ACpa6orZ-!E0pXb^u(W)VpY8oWj13Lonc-H@4A3WyvqwNrzlmSbiLt6mYd"), + make_tuple( + "ws&NtDN3lGeCzkLbRb5mNH(8%b9#qJvzEJr*sZUSZeleY%sp!SQ1BoNXJVrXJ59", + "%vLu0fl*NCu-!vLX-aHTSeck*GZcC$#jxQcyOZ(dBYpa8GoC$Y1no8jbDBauvr6BOJXIpwUSrOOwr)"), + make_tuple( + "ql6VW^XXE8)KlCQesqD*8i2nHdfQOMHlCcX3Bl4WuWOAWx&N-55ZqnZSfYZ", + "vfHb4OnH=VfdLo2slW6c#P5mDqv04jeqcouk0NMjEP7QFp2$1*w%=3Z^5gyrO=gFIt4@43=g^g9%wQu$=VxJxWVMZSD)NbxZ#zg"), + make_tuple( + "3LWRonLWW5&Voc4wTOeKD#kwFPv@@=BF%3pC&Gmr2%Oz6RXByvshEyG(EZSIOf0Zg57FtdJ", + "GG9Nv%$0qQG1PMVFkCmYIeOkKsiPk&X4C#SNak(Y5zzCI^BtPspTGLQpN@#&ECfvD#BE4Hi9pbcmvNT5*qU*3J-1@ZVZ6GFyi"), + make_tuple( + "Z7nU@vvK#fIQyx&S^uWd)Qcy%fHxGP7BwsWT29uU^HuDKL7ASC2mzeEFL(g8&FfRNGF", + ")Yqf!ag8ep$REBn8JauP0&e(fZl*zcYJpt57XQZoowZECbGW0lkwky^o)uQA=7TKwydf$-1j*j"), + make_tuple( + "6L5#*D)dpoN=nZQWy)QAI)P0faz%w2OHE*eLxZjkVPDfRLQdifYLiv26Y9", + "0nUkGtu^cYutXSPcLYV&WCBtT)cR2yG8L!(TSqrKk-QYlp#moDXu9RTCFdJNtNwh=0zn4iArz!Ngh92dNCP$E4X4"), + make_tuple( + "8VxfbQx9Ls4NkELt1rfHPxrNU38iwdhR5r$q2K!8uB085SxgKxM8XwaGRkYJ2yS12G%MB!cuQ(7V7KbSqdeQPbZecEZ((C", + "kOkkHKff5gDbvqZplSBy@6I=jzhCe#Kly$vL^u0e6z-XBr!NITtDnz8jvxp!NZIQOf4)Y#65Rq2sXSbt$yySv%237"), + make_tuple( + "8ZM9!hlpe03QqboI(n^xjOyEHOH79GWQhHO9Evbt%GhNMH7J=dNMHIgY", + "EL(dZ0)YglJQWDuxe#8Cy%yCb1BNaVxmP@d!L!4XT2vRiW0SXxeuipnmgWgV"), + make_tuple( + "Sosgx9I&Ml(YXyR6=pF=$TRodWSiK*^PNC#2Cv8vewJ7@-T4X^o%40-UtrR%G4AYIV4t4f", + "(f#()rbf*VnyxEoVD(RhCDF5!%mD#PtajKnKAN3(Jfm$SZbzBb98h#y^U9IhjSG8@Mzs0Qc%HOSKCPljyp^pFk-TTtR*0A"), + make_tuple( + "7--II$zyZF@4$adfP@EQN^9bC=UmxL0SEIL!gfU6sS$SOs1r369^CG6rwn95guKTPUo4CEI1IJ&i", + "l=Q*C%-Ibf#pzlz5vxF%C@Hs*tzNv!8awB2OPw2zwssacn=7zW"), + make_tuple( + "Uh9z317E60KXvimnA((Ltbcl0lisiQP=30kn26fL6&8z55hSH9EogKwG6JTyXexOF-Aq()WYoBIxRB4fR5G$Sxnp9JYX", + "l6Sux^o5X*S4*Y!SjB*Blp(oAI4gNSuRM)Yw#)$AZ*dYqj=2OyeL1EO"), + make_tuple( + "Q94&FkQiVi7TDNQKSPUxvXJu#kXr30RgquR2KL=-A@2h0*SJM9Xc=HUKD=0eJPx7CY$O*-eSbvunDWscKg", + "AM)QQrn7q3*%6JB&rw2o)rWhoppr!XQ*0EGf3VcGf5MDpJATlIq&x3WEp@i2@5811z!0QT6^SJ9prMq6Fe)SBx5rXk*jg2oe"), + make_tuple( + "W*J=3XsyFHWzTPJ6V9B(5vG3!tm$q5nX#7WJfj1rES5y$w2(vJX^JI3tPL!TjqDZ1L&ztKTxkn6=p#0(ACOXkkkz", + "Y)-YAQzOBZDAWQEHpvwmQCGpkwf)4QfUW@zZv3CI3cAVTTRRX-I8Gyn535LUJN"), + make_tuple( + "nwdsYj1Nn5N&qu491ba2kC588sRQQrRj0O(i$0IreZ2zStdOYHTs8C11h6OWfDU(", + "11P75ZnFV9K8wru#C5lPOTf3(G&ZTMZs5B6HEvk*K)pPOtM!SBo!"), + make_tuple( + "u2DBVkd9$Ac=i)7Pb&Eg^TINL%BycmX&EF13Zf@!DW*cl$Ji=@Y&zjd0U4xov$9Wd)xHA71F2zS=zzx", + "(K*)D%Wyt&GVF7wpyjpDeeOCfOg0gycqUb8(asDPr&#pOLbi5!@zfyQrw#MtQMwgQ6EEvT3zHNYhH"), + make_tuple( + "%lc$XhXXE*3fXU(jjX0G6z(rHy1xOoDbE&f^J8j!z#EK=JUnnQBzZDv", + "GEVmeQHK10Z=9bMXlh-rnlEU(oeyxt9j0khbChU)yH#!yfpr=25YGLXSZjFT^xJkw8fa!yUUbpaMeX@UELGi7ww5j"), + make_tuple( + "PQ)PSYIr&MoK$DG^&vWQH2nNC%1Z^5BFscPE(QwCHjKp3S##MynLl&o@^", + "a5^@UL-FV5ontx&HPhc!V$8o0TvxSQ0nZnFq)oT0jFsPRdrDXMNh^QRI&wOSfpx$Dp4p3kRHdkdVtrm$B"), + make_tuple( + "MZ1glsamaXZVMol4YxU-u3m-WR@2zByje*b72Yr=gShc&rmbRvaFudi=xpaVyk7EPEkaUDaWoH6g", + "gxd^2&k=6QUx)80szLMu5Z@NnP^bHlr=O7SAaYAy-C#JccED44cTD2(Pc#8dj(%I5L$Ono^2&MKPO&D^&x#yRQ4"), + make_tuple( + "XoBYZ)fJa^tVTbg(6RI0JpB#HfSUS9T6u@PgqT1KfJbvog#gX3o0C=owOpYWG7", + "bqSQfS%&CQLi!SACthJb881sHInMszIEO93n3T%mKHo$&3rIaT0c0#l#L&a%4FD(2FLEG1s2FuapXN(gMI"), + make_tuple( + "nr&rn1MSbjLvZlGV5x=SENHsox0uJtYiu=9HP=5VvcmGOyJy%wdvbuSE)X8rhMOX^@Wg", + "-w6QgZVSil3A4eB3iwyEHItRpHa59QiejD-yqIxtjQPyDmGWscMC93384FfLU=a2Q$zLELS="), + make_tuple( + "G3BCj2n)sP$zXs4prq6QTNbnGZt&ob7An(Aa*TR#yuEh*75DSS)*xO!$4OZ*2@dn@", + "TD18$)eqtgL(RT$l#$*^m0yODj=UhLh3-kD2L^Qy^Y6yTq!agQ*"), + make_tuple( + "picY#udtIF5Xr!hA#NSPT1@MMxC70F-e2g)0eU*sa&0$x5fvWEWIxldG0d7uOiq8B#j9A", + "zfIyO1P5AfPWAWCPiSmq6H)#@!ask8vyzcDcNz(7bc4gjkN18$F=bEozI@(a9%#kZ$iHa"), + make_tuple( + "@p12ubT%8@p!kr2CUwfwUSCOgt1OP^xgv!VFKqEjMrO1UbzTY(u(&E*&d-P56Xzfa0o2(5@AV8EUNqF05(oNJrlrBQtX$", + "lOr6t)Crv26Y*HFSDvRnjbLoCXog0Ch&g#s27uOIy2zHRAopCO@uLuZ@1e1c4C(V2"), + make_tuple( + "u!J-AN&*Rmfu%h#^25cN(!2Hu%Q9ZZC&HW3ED7!4BywXc4bo2t1eP%#wl3Z9lGa0&xRsOnyvglA&*iV2Mv8&x0kV)jQG2G25)fW", + "Y$mjtHO@l*6uN6zgIvzEpGO8y8S-LTNEPf=BlhHb*M^*QUnOVY&QfB9gt*q7HWjuBb@jx92oJHpF!t=qCiZ"), + make_tuple( + "H=7JY^4I$a9SU*G&uBEJp*4FQZGZ$apeFPvjDgK&EG-h%#E3$Ja(qIbgfpv9fo!vYC(8&EmKiBRS(3J", + "iyR$KprFGC@Dyy8Y!$F#y)iCok#R!6!gty*ZNeHD=(r&fT@jT8*ufaLG5PW8zQTyNDG$cWw!A*C5"), + make_tuple( + "7sO4LE4$is%EE$nB6hoX*iJ1GFaHaJChMF6nAVy6LdJ38Y^=HwDT=%I&q*JCoZ", + "^6ULFo=-7qcvC7cbQ6S^-C$UnjkiFBEDYTwqoX!=Evx1Y0PVp8SZTK$AJyxDY5lJ8llF9iWvdll"), + make_tuple( + "Y2c#q&DQEvx@j!hOQz8o0Xy=f2XBYs&(lrSxO^2I5U8y1B@AfCyX=f", + "IVUV=qBrZ73fe5cDDB)Y(7gs)8tE7cEczxRNdx0^%(qD5o&PgdO7n7lGR04E&yBk$uN*i)t$9E5r%c$mB^WUHAHZRY4ElSEWnZ"), + make_tuple( + "(lb&N=c7kt=(F4hl)Bzi1Zx4GNBx**O8*#(Zq@MHrNx(O06pRonZ(npdXZS3A((sKDHLX", + "w07bY(94lWT!Za*4UBPdUyOBR-!xsjXXEnddrK4-=b!!rPzFNLuY7nRS*Nlu"), + make_tuple( + "i7ShUM&$0g6I^e$eceV3=JyQQL2d*yp&o0#G-PObI5cF5)6Qb90irjUoC-i@Kr0M-tQx6k%1M!zC*Kp", + "2BGiGAWj-*M9M%FwYX6vMEw9y3U&@1MJg=G3yADJDN-6cwB)Eu0MQZ3Q5q87BoXLp@sdm1(&YdPi!fMeE((sQDybz(5-jqG"), + make_tuple( + "ARqsF@8aSVQpU(ScbqkoiUOaj-4K3agXlXnJ6S^3#x1O8*@g%l1xh*v&m-I34tE4ZLRx9Fb#3DF=UgzJ6Ar6a", + "!@V1o-K-BIiT@08h^ixeKxs&)F63(WDkki4&q8Tr6*-T#bGKs(TzSuC!ZHP3gTaUPx7Gy"), + make_tuple( + "B8BJNo1yQ7Z^CAd7GqHAGv!G*SQjwL8VQ(IJTtz6qDAL%AZ4aRB^@prNHC(DHCHWbEF*DZqJWLP", + "fpT!KkdvAuB&=x1eI=sR4nE@UfX#y@Om!xaCKL9f)7=eizBfsoiN^vdSiX$XParck^H&"), + make_tuple( + "BR%kHitt8jZ*DZPI19$Mz9XEP)HU4%pXyxS!A=l!Xul0&lF1QI1Amfkb(7L0vy76SsM0HL@n9zg@", + "3o*jP0ukeIx@9#RXS4X4=HmVX=v@MG!R3gaVk-0FXGqstyoF@PslhedzeND$A(-naWpUp%AZs4Ue"), + make_tuple( + "(Wjf=uoM#gTtpgQEIWFS@PQ0djhk4FrD#@H1yiAq*#A$(1LpcjThY-i*C%7D=Spzw6r@O", + "$JnFPb&$j=0w@EZzui$6ms%uXP=Q!wV2khDmf98ge%wYSCo)xHWCrXc9Jb2cENWYKA4WTZ#2K)T"), + make_tuple( + "%67Y)NM0FMnD%ToGE$JkZ5!Du28rpG$k8rlG*L^xg(hvh2CnDw", + "!((aWTR7sSdQ3@b4NG16==FxAFyiVV0Q=t#mBnrjAoet^GTvvrW7Bs9A"), + make_tuple( + "Dg9HU6CeA($&k5NPH^ZlDYZtGC@&PPVw$S4BKJWdqBm$B)3xTB*Q1G6^RlpEu", + ")@TdFi4g(*FfD3KXA4nkvuuWv$H(W-=)zq*1EQCVUwZ3hvxELY)r!PD2iSSNET2g9#abx4%dmiuV=mDNMgJ0l"), + make_tuple( + "pBbF4U%q=!uD(ME0lwW1^9V=#0vHTIK*93$2UgN)Mlm@TRXSpW7", + "REnl99Va4m%KlXjPduPTcD5oQ7oPpqBiIV3y8aP&l$%9yu76KZ9Mlz*Q6-4M$fOATN0oHCoMIc5ZYIU(zqC2Yjl!RL^)9n=oj"), + make_tuple( + "xlDDKM2LKIeFg*Ip#c#x5EQ4n3N$&7a0w#7II9Q0Ej#Q9g6Pb)(mLpb66pIx)eHRlLIp@rSj%G9", + "WsZVmdezZBT*G#xcHdXz$R&a$Qf2RqPE@*03Sk*yl9omDuQ(InrafE1Te@)"), + make_tuple( + "mhu!hgymRvqRQLo&Iu^!R$vBmdrTq&ji#ui&D1wkucfT9nJ@0S$$", + "EuuPgu!C6eG$qLNRkLyvT(CX8fvFw5$n)gkqXRLIzeq2Bj6eU=aT&%-Cu"), + make_tuple( + "dhiBETxk#^@XIj0i^GXHiIUAg-Z1Jrb3LEAX)e@byfH5-#BUvJ-qH79ZM1#%Vw)4ziYfa@WLg#owJqipojUKU", + "^1kAXtu9)uQdNRbfF^MV6fkZ21#LdY77WU!)Q$bFRD*GspCcAKqbikTZ"), + make_tuple( + "DM3YIhVoRr!Ifq!$WLMcWlh6Zec-GtBYIqbkcV5wITrB&p7LQ5C5#uLumUk@^XzscE4", + "fTPcr@-iV)b&EH)cau(1#z%)k0o7Mh0Qmx$NKM=ucmzJ4IW@iDA6vo9eVqEZG5E$mmMmKb@eD^fnOxiD7!y"), + make_tuple( + "4=GkwphR2yr1J1-)G)A&#q#RT&-3LSEd3MN3FydpH#R5@W(sFP-dOqVYW(2xdvB!zoe&bi)w-0eX=Nr(83n^9JEDJm4G", + "^KS#LNCR*XLCnvbwi&4-UWKAQU6X)gNz&1^ZO9)7-opXvz2G^#cr-IQspbsIo"), + make_tuple( + "9bcnlB%Tp8CIL59Ax@T#SwEvZMUZC8&!K2XAcoZl^0S(0s^UdoqU*E)jWl6aT*Vfm(N6ii6wP", + "FK#onnHiAy7Dhogq1Z68TvExroLq9^=XZ0OBOk0njj2qxvCXue3HPQUinoLo57lQcV5-CjPg0s"), + make_tuple( + "A3p#Hva4#!Q=9$Oxko6CyI#0zbdScBPF6KWNXI9%Hc8DJ)$*^eGlyBptkhGbgl27Go$5o", + "mjr5wPFe*vrJ3cA9G9ppu5%qnmWOm2-)P%fvBf*my3G=8wkWk4k3Iy0RbNR^0ODmh^4nYzRm4tv@uxVJz&L"), + make_tuple( + "WSV5*HM*7CZbWiFFPM3dsOA#o=lGA&q^%I2eqiw0gqo&h6QAr!wCu^F=W#", + "=g8RWYyW&*AGDVVuYz%zhCNGw3LjV-NqJ8!0JHFERTyey98=kuE$DTR0L7Cq"), + make_tuple( + "zm9GiOppfT$*n7xXSuii#$V#e9(2oE44OWUT#Du(qlVs2!-welUW=lGosNE(x)Fw(pNIix^Gpd70-rL-", + "Y^0N6W-wO7MfDwqo6z&r-0rdi$YgX1s&SeUryMvrA!Ee#O(BgAKSIiS9iCM$k@gQc6)WiBLE^IyUUkfJ"), + make_tuple( + "TgXG2pSOadi^B*B58IDD7ugSUof2MX0=g3b4Xf1NF54ys@kauU=tZM2FeY5)HNl2KmY3LOIzuNk*Mm&7!pA", + "@pgsZoeo!0oFV$rEGGiI49Bd!UKWg$W(jt$R420COnwJbepEm9x)(%"), + make_tuple( + "&pDqv6N8%YlxwksiBmN)WPp6AFALl#39MB1A8IoF23*h8ANf4TdCDSSx#87(t%By=GI%KI)Q(g54bXjQ2", + "AW=GIQ$&*67I3ADv4rNE95uUo^jsp0mnzbniDa2^dGkH*oX7XXreSXccyoj%&WXJfdkQ2GXjQ3^Z9CtnDQ@"), + make_tuple( + "jwwQ%40j#iQ*w*cqy3MV72(i0L9P*3Iwoa!cP-3!&DCU*8S8R&*R*Xl!", + "3HZ2Dm6sEvN)m^Me1EfsdlU^Ebh2WYP=2lHi0x^bRt7^(Y@6q9%yT=H6P))oCkxe&0wDL#gEO"), + make_tuple( + "p9RU8PmmMqiJ)J(jW-q%Tsym#BG0dxxgMReR)=vxWa0GRD3*9hC*4mhh7)#yCQD69S^CN$Snvw^U&Pv@eX&gUoF4dR1RM^f", + "!Qaq67pQPk13(NUE8!jll#qhamj@JL3$ip3wDj3pPoAS%B9R6JvjR1y%TUKAreBA(eE3P-UGPy^"), + make_tuple( + "t-Pm%X$4r%^8@!h=!Bf72!h6q)Mnhw$jCWp2FTlsYWxL8IiqVylxXq95YZJntjve9U5w2#x)2O2P", + "apZrPhPjcZgs70dD8qkv(F4WJ&1tOj2LkcmnNczVzm4&nr69GDHp=1ld"), + make_tuple( + ")DqoG6ZrkfduIFb9LEJ7qRBgd6z41w@ofYpYXvS&!0O(JDTkDXZY!Ari", + "cQt94QGp4VCW8dIh$QSg*ha)y6KyC4Jst8^#5&$kZ$GyXrb%oXv&#)J&bh3D4kjGtrGHdU&tIYg$o-6SOkUIBmxzPMy(1UT"), + make_tuple( + "f1LSzlW*NkGwzbdVaXIXeJvcx=AtO^xuq8D=ttG2#174DB-!#@K5%j=XCY3zQosl3flv53LpRavf0115f1aGy", + "ysMBL9=lXs#YNg58bk7lXnrSu=u7Q9DYdX)hvNznf4PxM4*Euti6-$IU#9eGB5)CZzXFk"), + make_tuple( + "O^FvqrIsUna#RdxKmRVjEl&5Y*41cVreGEk4A-7q$5bNMndi%#GD", + "XS@ESXhrvJR!yHE$p@)1(@pHCtZLuse#gHFO)ifBkS!mi$^5&zWbQscj3k$E(Q$#Qf"), + make_tuple( + "vNi2(uigigbl^l1wwih2N%KQZL)3VoEiVC3^Zh7y8ubjG-NV(e%e=Thj1wsiz5=85sEQIXHk(6k16", + "8bwvvrGc&MsO3-nsC^0c%EqFsbP@QYC%&KcH@owlUzq)1KO*o%Krkw&MbRU4noh9s7L"), + make_tuple( + "=)*U^B4kKPPUzgD-8nUBkOR@()GcvCnILZ0SOEomHcu6qRs&NAX03X1LCnqq%G#RCzkCvm#T7nG9FzX3eB13p^*#^WOgrC3t", + "xCslluA9we8n60mLE9KXDI2e$&A%vqkpq9o)5LIJSlE4%y=pS=RrFZj&$*EqsPdmS"), + make_tuple( + "b^v1N7vEw@d0J=FcQWofPSQAD4AXAK=eJxXfIx3&KDOhY)sZXtxFwp7&x", + "m4l$NVU-vhX8!6Kioy!DYH2HS2xLmnDhBb0DCX(2=)Gv%&-YDBt@QS*v$8h()1^T(U"), + make_tuple( + "A^G=@p!8!HMEPYXnxmROUw$d$iiByGT2oE0D-gRX^N&7*liv!%mU7DL48rXGB#65K", + "@B$nAg4zYffKIi)KCYTN=nS5-Z4BR^H1OTB%DKiPjxL1oBE=gH^MqqP=Fyej85^gR3*=Eslc5AsSNs8do8O=SKr@b#"), + make_tuple( + "L%Vr^VcX-5Nx#bThvKT585r*oRMEd@7)NgX5o%k7loreQIgAyZTAr9-GK-9ZkzjF", + "tsX0-I@s5jKP(skQX(V%pkpj5jUEih4EN86ib0vEYSlUsxrE%Pq$Jg!fXaY%-8O##xG^erfQV)rcjZzPsW@MvDO0Qw%(Ob48-"), + make_tuple( + "zAtjj$DPcikPljA3@GbhiLkor4pRSlxhvG%hekrGH(FT2hMGb3ScnIvm(ULrc(4&ICYr6CYdT#L!G-gBel=27", + "9J)he$$6tCmjtr@AP=lRfCqOcg1VcWq)s%lxSu$%g-B8fxW&g6LDV2qD9E5t(6N4CZAMKUXiuJY$hOcqg%!"), + make_tuple( + "(EG!36SrFmo24Qq^tgOoRwvRmWRn-tps%jv*oH!yaeranvXiOONvUPbxRda", + "vgVPThh#clyvsL6^Xu3t9V%E9%TPIi6NyA!XT^F=)&ihPLnR8vumJIJiSIcPEqwTGKlqoj$e1ntli1)"), + make_tuple( + "nnjA7!1ENCdh2Qzr!m2o4O!qc=OhZwV4fJS5MH9^W9m$lyve3uJ3xt5#%5@^@OIe$0zxuei$kB2dQq@!QNdWa*20Nix#", + "em21ZZ#Po)NQB4kC&2PYjJQuv50!y337z7YAB=(jmpDc24SGj!=j3ayv9gvSB"), + make_tuple( + "x2(Ng7K71n8wqeTwkLeGDLAyXSUc1QyRT8&EKE&QJtj)*6*IWuKJGYhQB&", + "SGQa@ITe6WRngwg@K#3GI(7eN4*AmO4j-eT5Z9@#e(wQfgDGObyOT0CIUe1UDJ(7ihYJcHUCAPChxAtY"), + make_tuple( + "IU7znpDm#cwHx(g5(@jf43q$Z0-A41XL4Yy7MhH-g(aIssq2Z93!cToVGiD)AFMbG2VUSskf#@ZIRDczIM#2SMA(qBEtIh", + "&F#eRcNLQVpeK045hwC-IjX9Or75%uaWtMH2bhP1Nxy4w-jU==Ln@xjHBPEX!4C-XQ3"), + make_tuple( + "fWut-Slys!x9&HFk-U%c9@K)Wv(Zo3EAJ0lgp6v1CM@(sDp686H", + "#ZEcV^g81cr3dpzHx3$MgnDBTd7MnX*LZ7$=rKmIyLfwtCh3n-T&NRrUuEzP&C6APXN8c&ARd2$1Ur4(IzF)B"), + make_tuple( + "ay33Z#DHP2ZU4BDtYoaj-7Svh@RWlNlBZ^)xhpu&9AM=jM#adWE)KjK0zvW%5Ia#sdq&IlwCpcPtGT**xt2k#(=VtHWPo$b", + "4U51gC9q48B6)(yY5wc1XyEQr^3@rOEQb*^E&1VtESYWY0D18D#uZ1g^pAAfUvN=Gwv%(RBZ0"), + make_tuple( + "U2hr&%Nxr-r9KzCIE2mDeN10EeTRSyomY$J#6bfLZapuwdoQ1d#6-QbqzqZy&qQf9-2YTxjfQ", + "dPlNWm#F*ri@($bXj%CsTzE8&iXOJ%8HB2&08qUNnupbjT7V%z2PQ1fLj@nNIv^fyY##y@e20kCm"), + make_tuple( + "(a4XZCy@=2O*^FM1(Y9feo7d8jhSJ-1DymyvT#ggLU!pd1LG#xjeUtL37fbd9epod^gZaEGT9xK", + "Y3baXE)goDcJn9SNfoNJWXlyo2i-#tPHh90(z^j@Jdmqre$F*mj=rMpHvCHWHxndeYPX&BCKYZ)ht54hc=4"), + make_tuple( + "fR3n3sRHsr8Dvu=4h7)=(qsNkwJ&IbhIz76fEp71ULseOgV=OmE$HEMe7SsZD7W7(@^9jBqQ", + "-rR3DKW0yD^Czr@Kj*j&2f8OoZIc%mg2BeXcp=wkyIaKf)&B1u&JcB(^9K!IVv7Qf"), + make_tuple( + "=y7Ufs6oj708j%RGWdtoPS)SMvb5dH-nI$A=ewhA)kRXEwzhDPj4RDn2R0lN8jU7Mw-#IDDjVe5MbvicWH%RHN", + "&IlhNAaMDzUbdw2(z-f5nK5zt)r!I^tdnHXaI0T%$mf!%WMEPII#(@be(w#aElSH"), + make_tuple( + "dh!u$G#E$0lG(TMtskrX3NiMENF3wWVb9Ib2C1-MRM01WOij#r2oEiYPs", + "PWMpw&=E5zbvRz-Pz1pLnPHc^c@&=jTCw8vppY$sCYweHzsn^HD2p4jQt5h1Zxsrk5npfH67y4(Ip0tA"), + make_tuple( + "fBsI4rJ@7M9Mn-1pOFV)jMlAakqvglOMVQHW*rTgL)M9y=azuKvsXy%pCDH", + "Oy%c6xICa$EgU-WLHwb7a!Qs*=3p%mtO$-Eb9qw%UG(NN8Fw9Y"), + make_tuple( + "683Qqi)6M2(Npm73ethqMpMw2r6kmfwN(T*gX)3$JcxQ&&)*I7*x78zV^GpV6", + "C1W0!$oGYN8y=2SXUhzSmqOOWw&MgqpGNArcZ67VnxSDksKOd(CIzvXI76#Ul"), + make_tuple( + "ox@LHfTplV6pYr9#e*CAhy8aYH7li450RMD#hcVQpSYk$#c)PzQ@", + "Gj9Kc(UZ!DJl07yTKJmN(xcGMa0Hv&b9XEp(wVkzvxhN5(ACZCZ-qZzJz^aEa@l&tOe)rT0W$"), + make_tuple( + "1@e(-EEYNyvNf3!U=-m)QwptM-aWQsQS2U&iPptx$Awzh3#sAz9^^c9HW%8ihIaCbey-o*)vsGalUaEvBv", + "P&exISZVa5xqfFK4zT06bm-anlhI*kcwN)FYHB^ObvBO9V!XTrK8Ui^E"), + make_tuple( + "8R3jw@@HYscq&fzgI8k%Qli6^x%B0yP9uXBs)IEsVLArdNVIZphYnk7%s1O&pzIN@H@BVL6", + "X=rU7JVKAQ%tZOy7w&80rfS)eVqP2TWWlw7ccY7!ADki4V#()X2SkREV#!LhgP-DhHPB0NUi(Cao4=xaD4$SE1MqQJajNxq$"), + make_tuple( + "ZrPN^0NcEq)xtzc87Hn*4CIq1Q#)h#zjOL@)QnJ6BNfG(tIMsqF5(94#%SC*G8SH6@&Jl2wG)0fvenvhRmA8xh3!Q4oW5Bg", + "H2#7vV*KihoJ2X7$^G=(qtslp(LP-oZ!WnLf2g%5cGArK4(r(vBY45N(^7NKecPDQU2pM)y#L(pmROWD"), + make_tuple( + "lAe7wM@YSMragoE3miM8ZX4jn16)jHEps#kY14F3ueiWnL&wpGg%BC1o=ErH4^4^4zU", + "JgI=EGbzk5=a7&dirA*!fHXzWI=ykx*IR^tBRDaRiJlxW4KADzE9U9RbFQrQt86SQLRFP2UEkt8BdIB8e8o*M@$YS9kYhlW"), + make_tuple( + "u*A%^U7YU4ozjBK$a-jWHB!!aL83hSGnTj*p85T7R%!5f&i1qCM6zZ!(0IM%7%AZZy1#Pa-9g1Bm(4@aqwDp96SubGDYg9jBXE", + "*z^fItGqh4lDV8D*NBhntKAitXuGsyM&!64UG^h$aN&Xx3KamBNvbD5mrcXf$I=-gJtUyygTL%#A$bk"), + make_tuple( + "cCM@BPXvqsOQENM0frAGqZ!u-mC*98Dn(o!E9FSyp(Wacl)O=NtXVyeNP9ThddE7krfGRw&-5", + "HOHM)-UzADmc^FKgrYKo%(L#a6KGIK9jCix@2%JdnHIlsA!1NCf9cZWB9XqaoxNBrlu!Qoor2gpf@Wz2SxuL"), + make_tuple( + "raB=57KLDOip*4gX#bv9Ufhd00gX$&Cd-xKtlv=Xs3-S5KKXIZjJr", + "%!VcvWJod-8uTPOYvYEPHI7fP$7M&9V5hv*M=DKSGfg0b#YI^4*d$A%0I6PdgJz0rXLuE!!Bfn!&D6==FKI7Wh4K"), + make_tuple( + "NZ*IZxiI9UmLu5!lSs7%mYRFa(f%jh2BT^@ItRatdDM88^y4Lhp(^#HxYt!bIn*Nr5*$06*RUnqzCEcoJF5p5fYD2jNfLvv1M", + "8E!(our$=Zdblulenvk!2gLaosDlb3SP@Q9YkcA*OLXt!fnrC-5$oY1*vaw5RLq)wEgT&1ha"), + make_tuple( + "MZUWh$4zu9Ikw$okKv)c!#*dt(-t5bU9YjGKNfrm%1D#2uYFTUjZA)ukyL31lKFQ&qevwInun=", + "n&IzsZ2qU*w&3QVZmnpMFE$uSf(35YYZuzBvuhB#9uKnmHM)TH7#)sCv6#3B3&"), + make_tuple( + "CT5!hTCubnDW@n&601LQdpV#^RjJ)lwwkF%XrUS6lyR6=v#qKu-Ab!Kb^vBdFJu(Gw6^PeNAENNfSY", + "o782U1n$CYEgx))@Eky#khGD6(snlJKxD*lICrN!Fnrepzj(8(wg1BGRG6"), + make_tuple( + "UwuqUJLIAJl)^dXo!8(HwA4Z)13-T92O6#SpS^tqsAL#=30&oXAstB9g^IS=10-kKbz@^xNvtGXyFCC*b)!", + "MNoC!904NI!sN5pa3l3MKo1pITo&a)WFpv*o9r3Jt&5O$XdDkrG^zk*9pwZ=o76ViD%N0i)l&pjIpnMpacO9aF"), + make_tuple( + "(TsP!fAj4LILyuXeJ=#DcA^q74nXK-09bz*GJ@wIPx*FecvZyic!L", + "NI@uI*vrHN1T*2VTL(J5283rTl)x#FdENg7De97y^UuQQi6!Z49u@DihwPafktb$$onlC@zdSy)PPnjuKtu"), + make_tuple( + "ABOmnO3NEjV-tf5cbkUCdHgore7HVuX1W6h32RSBxtCq4j14)DXUDW3bNLDMIrrJXZ=0^lJkXrmHyM3O0cn)!Xhb3b4P", + "kmmF-gghUiLtPG9uLrboG&k*kch533q1aV0v8kD^EJT5u6t@nZ4P9szM3uI%wO!SFdy!=q5eyCTJKwLw3JffZ&sCPj"), + make_tuple( + "$sV7&yyiE)FIpEx=HecySsarHFWdvbWEeg1ls@p-ADJuzT=98--", + "!(WP-Z6y3eRir0pW80ccOcXRTPBB)z4uev0m*Qr!IurJlsa1%id48Joa0OkojFhmPnDg$jDi%!B7f)Rk*KqX!t)ANeV"), + make_tuple( + "O(OHKZ8&%xYQtmbGPo)owSg-XuFOdVKzeqZofnl5F1nuZv-3YBP-CknsJYQIvbQeBUe(Qu4hx!*oE5BUP29sHt", + "Ele)^bvu!Ln1=s9l^2M5OOEM1mXUEBn(6wyo*z)FRHbIp*=7f!t5AFE#ngRpY#g9"), + make_tuple( + "skZ#O-@Ro%kL^3sleAYoYh18!UaGbJmMc#km7qGP7EJlyA=&MDir7p5^!EE", + "O5Y1KnB4bBe-S(ua^smCnlKA-VxeBox0&mK2MEzLJSMDc=wL6*B8NrVudE&YXqoE!tBqH-yKSmT(rOYcGe4Do@QDpxEL0I&AW@"), + make_tuple( + "ko(tfAMPgw6Q9u)(w1Cc*@*y7T13tz^kNkKcLVxPcbLfSF1bFI68u50-JFntE(Iw7%kd", + "e6(FYxgo4raNQ&QskAtZQMc13VmbNb*@qCLbo&$-80icrfEJQT!a9^%9)$MjC12qs%YhL(hhd!1N!mOLF$9@R7L"), + make_tuple( + "bTzSD3A!UqOyFeB6ew4c#v95bOS&&3EMN9!WwgXXvp#V8#W=bSM3IY!YP-Q3Q87Us%J1#kar$kCyAqWHh8z-K", + "fK6czfrqa49q6UyS)HdncllP)&zC(YZW-GE7kJRo20=i6rqyy8z16UwC^ScO)rHzMc(qj!ydE%1mLC-Bq3HN"), + make_tuple( + "OD37MKd6h#%IrUa9-dsaALtE!(EWm1=QqnWmtLInTYAn$-#^Hwr)#aHLps9u7jF", + "$i#TA(XWuvap8X6cU9#YEGpUy(h)egi=)pxV8PKKe-i8TJkBQm!)rr@oTHMm4UlN2y-=RbF(OCAI@*M"), + make_tuple( + "QZp-*#At$KW-29NyMOpLMyK!hd!RnGFxKfGH8dXh=7TLtl^v42ydVOx", + "cKvohZSUUnw04GHElw(!fQ3xrvOJ6M)zit*v^MM(HyMbAYpkp=VVKFFNuZ0it7gVIp2m!Rg*jgnvhz%d2edINQw56FlBbD!%xS7l"), + make_tuple( + "Bpm54V=cqHR=oB(mGBz@gfQqreNkQR70byOOKWU5MQ9BGVM&or9ktSz#zB*dGEI3)PPh*^@w5stdAiteT3pAQIkzgjx#wqJ", + "He)#(-4GYcK9@H@T$-Pe&v!Ui$SGUSVaBHdIbdUUXkmM7V*8Ff8An3m&r2bXVlxp&Tw&8=tD5eyU)KJBZ$gAQcm$"), + make_tuple( + "GJ-khDD1UFCoosAlan$YhquVT%anL40lfe3MGWc&3RN1=v@&i(xJe)hQ2z$NunalS1TVqn23u8aBEA!TBMlAmb=JjE8id", + "M%^N*B(=GnoU!moPpRMGy%BpnE1UkyB^azv0xHdU41=Du8hx5p@ZX#bhi4EIJ&1o3BPF)4v2t@"), + make_tuple( + "x3w6jcbKNWsQON#E!p3U(D=t!7wATvD5%jeXB%VcOpSM5ybCD!q)3miZWQrSiQUMD!iittN6RR=a=2", + "l=d8!CMW&!G06q6cuiXBpIIC=fQ7ywp1Q66)oaBJNGTOp6UuPBrUCS2xwHB7Ri7iD!p"), + make_tuple( + "nm-=y%3WrDg$WCNAb@p(qf*^sAI-bbR5^=ttI8H4jAf&S5^e)iSkY7RfG4TO", + "(kCbB@6u4nH=6$vtvTo7OxgM=@KhvL2kInZapK=gXlm!-B%WgC(@7*SPGdGDDrJ-7Dq=Ge!"), + make_tuple( + "X!zcHNLi&2DK(2=jwygZ&2WI$tdfPfSo3MNCtYp-G4-JXOGJYZE6I=WsWb=ZD!hLzYLot&=28Ig", + "t7Szzm4)zcA9EdMOt-jxchbVHPxtmCClJfEWZ$IuU5Ji@^Dy7WF"), + make_tuple( + "G$KZnMzNAtXWG)QN0F4a^zXBJEEH*OPrmZh4Odu2h(l(Zz%vapAnn", + "#T&sf7n5IQ2R3#YNYwjnSE)rVt)RvKJN3*nCLf@5#K0KtDoam8JxCGXXJ^CkWkJ-9b^F5NPecWgMksLBT^V2)#2QObI#Nw"), + make_tuple( + "VZQpa^%F-@eDxc#d3Q(Tm#&nV%v!UVI6RB2wquJGLQwuZPeREFPj^51f0tHEB)zqigpw6hjTXAtMI8nEhZ&Rh", + "xXnJd!**q%xzv$njWDoBd%D*mbRr6#J#TY@VwVXfj(JvNM!Y9jA6SM(6UJ7I-*F8Tteb"), + make_tuple( + "GjoJ$dlwDq!&J4Y%vYlq0zPzkLp2-(ihC#VTyMq0!55muz9VV5j7KnD$flJR-Jx1a-ThfyXn@", + "N6UfGY(buanEM&IiJ$qG@4MJyZbPplVL@)V**dalzPYb1buE#iXBkPw!U#*a=s9GCsqAMvESXDMI2eb3)7"), + make_tuple( + "$B276X!mm*@vq$f^=NAViZ0LGCDFpAnlw=14*LvdC18RX*Mqt3FO0WdJByDR5(Qz", + "l!KpH3qV8F-1D1!o#n3u4wV*BvN0z^@6@NtP%=^9s*3(HuA5SJ#%5)w7S7h0yy)8ndJ&i!P&OgBD-Y"), + make_tuple( + "!5$3%ttwBb^@E*5L32OUNNgz62#NCrxVc*iImeOLu7l8r(G@JV--ch0jO&G", + "nn#H6LKDif5C!mlTiqDm&DsEUtdVifnvDIkCcJFLIdUOWX4jkdGLzY(X3LD47"), + make_tuple( + "rXE42iS#oEq!U@TR^*um1*)Z85#ft=%%U6*-%W1Ej9hLZNRV6xFbm9u*s&m4OCvEn=AV25s1L0AHPx!Sv9)41", + "Z-Esi*b=kEzZ%*RA6e8lzlUXOPX-zQJ!^tPIN@q&hEKg)sd(#sF#UO9E9^zxjIr6arQqDs=IFIehZ1a*NY*n"), + make_tuple( + "-!(h*!9Xjt0Y*5zXtEkonrhvRt3IvI#rGXa@eFQ^=JHxa^9l1FBr&bOT!c7IXHVpEcs5pey0kqh", + "Uh3DpoA2&HMhejrHGg)1XpO-*pWdILsaK&&z9O!@@%aTM*x^vF14"), + make_tuple( + "SXPoaFQgZey54QRQL^NAXdm6KQbK6ObG*sl5mB1l92TYrSPTUT%ca@6(vAV5R3%UAv6GNztCAdkI^x$X^9", + "4lae6^J8!S9MO8tr4p9yP9BK!oTxv^XO)0v)M-Dr6gJP4@kvNm=eAqpMFgVSx"), + make_tuple( + "e%mUGEhgI0DpS75C($Po$77EqYf#6u0o(0xW1M0duBbWMOK^8kIWzWsh@kMYenV", + "AZoNgo81haLllBrWhLDsZE4F&1iAPIG-vC(x5LddXNR6D2H19*$t^eKHo#pB8Em)E$zSK4taPp%Z1"), + make_tuple( + "Zd$d0B7lK5rJAhRlM$u%s(pmh64JZ^*DB3&9LQDfbXu=#*ZtbG75QEIlKb($p0a&lRa&CE@%KeWEwC", + "cBtvkSOi5bVoVdGJJgrq%TAXK6TsFq%y7bx3j=KZ0!FL2Q#Qx$i^X(7BZD**95J9#5zjx"), + make_tuple( + "2ZM2!WU8vPFgv*5oG6ptp!I&G^fdm(MUmSx1)bg5GlJMD#ikAxta*0%", + "W!@*b0Uz9(DSAd)P%lqUN7j0bRu1wjGybh^X6jMdYxWWrwsGIQs^KQEfth$ABZ3UaNDJ"), + make_tuple( + "u72OH9R*9&HM86UX75&X*$JZ5E)nAN6GdJiXWQ&#yI#clup2$LnJfSl$-e", + "G4FQP=1=*!9UGit(7*MhX*cvV5ajB5Y-43^HL&4UFO2rHSj)9^d-!n8ANFbfWjjR=^$f%"), + make_tuple( + "%C7Or1ljsGzupFu6uDE)1rt^d5QR4I)NQu1YWNzw#YBE&cv(LC%w1DCfz-vz59)&D!nj@J", + "KG0EgC(WbQiuwfQ&&bCh43zyF5IviG=mWTJgzu9%FTEO37Nk9o0IzS40I0gd1YQ4^AXh%zz^g"), + make_tuple( + "pS5fjTMbPQNef846n#%&El)f-CC5*3DyLEgBh2yt)NmT#8D)#EIBR6i!AF5BbZWAE%P5TEH5B", + "uB2r2*t9QPh#1Z3)U82dp2$Xe79&jfBzfyA)Z3AZ)soJI68E*Y09Lx^5&9(RBOzbQjrznsF7PixfEiLzm9J"), + make_tuple( + "FHzX(7GZK5YVVzQVoy$9^xCVb@8TGMyc39vW$KXYhl3A1V#iL(EHQnDed", + "z2YKSky%VVFAJeeGAORHqk#ZMllP7jg5yVm-nV(lKu@icjebe@AlMfELz1RL(cd"), + make_tuple( + "UAg(ruBQ=H)PNo&MEK2smKj#OZfNdkZ1EqhI0(4GaVWHZuKaxO^JH-(f4n^tl9wtr8UKrPHu5Bk9^y7l=3ncfivK)8gii", + "XtYQtM$l^QvAx1c#(-iD!R$b*72-1BvFLV%(lQz2VL%%91e)C$o(XknjXHW@-^2CAB(HU4qy&jx^9!yAA$x%VHR8wx5pZhmNa"), + make_tuple( + "$G84Twzc6=NUaa@R1mfyVOxLartr!tlF0y7pU2NHZZKa6ZXF=Yd-QTJKcDK!oQ8M=fT^p2(rrmtZY*B", + "ct!eDpZbAy!KbP5((FhYi57Pqz=vp8rG^9TX1YsznnkYkQwPm4=zfFF$&$X#GFgd^)D3I258"), + make_tuple( + "I%s#PkZk@#K%28mQuWlQ(s=bji4&!xMZSLP@LeZVCpM)-pta7SPK4HL1P-gP07Qo!#TbbFBgZkFJ", + "SliAHmQXGii-i4gZ7(!2u17lbrv0nuM)viSJgML0sF9JX8N!I3SQqdVxlZP$!3lToELyByF!M-4ylZjE#(y^"), + make_tuple( + "^YWbuzBle$!UiIu3&)(wX@kr8)EllJSPD1ISrmIKeqJ4lo7Ai5F#Yr9g=UNl8hIkdE$P!W#2DwJGfRu=F355Aayqbr", + "myKns)txCUEuPvSC=oS1nGyphlj-=2wC$VZ!D$hqJS$(MlC$r0IPVsPDl%GQjKpv=kD4L#YHaV9FYryir3ICVo"), + make_tuple( + "HW--!p-V(Z2i=ozTpBSR$4SN5SOKUj47n$5Cw#TK!s7KDg511rNf%To^50BgxiZ#YxF7^E1J2D%bs%e", + "-v*fdhjMSK2umLEyh-LdNsq96r(7w#aEzJeO0C8Ibu&sOc=xv4K7-ie4xVOJLiv@I7p$5sejLYbxnsm*y1N"), + make_tuple( + "SssE-Bv9bRlGAC4s)*IP&u1887WXXyI(spCUqYn*KE68fqwVO24^xz1XQ06F8)9zp$!EtOVjvzGN#-he5UXSQIvv69$3ndBN", + "w$yHdNA6aOS0K$znozm7Ue%M^ClY$!pFm#Pb1@mI28zWjvwya88Y6zJj%ujTw97F226%3b(UL6WZv"), + make_tuple( + "hRKj&DM%DFdTsaDddh9UX3LSy63^Zyf9I9)VpH#*AWx3(B^6^*lIP=C*0CfJe^2DNFXx@", + "(qUs%kl226==L@8c(7l6eH70nW)FP^ldS8dUMnYcAKt4rsK2%snF7nOnsmyZEkZ65fZHGpn=QZ^sOG6wdEpx)#!4!wc6=dz@"), + make_tuple( + "4n$9m(VZ5K!WNw55TUg964SQO%YQpyG)EmE26UAIvfPdbNC6jq4DDD#cidDhC@**$)5G*5^zFO!$(JmT=)v", + "hOQo#V2A^c%tpn@fK%3uidAF#cZx8NfIMojCR)I7K()cYwg55KZOje$BrU2=uQ$d(=Kt9"), + make_tuple( + "jp0ysaEsJ3T^0jbrH5tT1s@r)V=$7rq54$w)4@@gJhXzjPQ)kwmBeXBt@30p@SWupcpwQycrXTO", + "@)Vp^h*klEUs22G!)2ceYMr#NJSv@brxRueHClwqE%5#XF!gCC7=I#eS%t%VIO()i06#pZy&d55N1ILJ1Rs3ZdhpP"), + make_tuple( + "j&H$JF-8Z=yO&pgd4J5JMzKihxAgOr&IkWYA=GjV=9hdz6&%^XiuzP", + "(P6vi6-7z9JB00JLa^^@-Cg=iPfa#e*q-zAxwh!ctWEw-kr%KWK0p9gPRcjg5u(Ws#Qfbj^=#unWIt1FBb%G$3f4zfq5W^"), + make_tuple( + "6GaZom1W*U)Tx2WLVSNDW6igNnnnJWv*7(ir9erNog^WXlBo8p5iDY$8dz!eu", + "SvjuVhAGvga=G(!-Mmsak4v1GxRNnDw9urE&I)phfQo1jLnboYwo7A*LlLXPH$SQiNu1Y4FqezYbKp(034AZyeQ0g-z"), + make_tuple( + "H(6((v2XqlQm7dbJBMc5acAfEtqr23ZobN!K^lBASX%5!DY9!ThN", + "e3c#D#zZEr*EP$i9cU8dLKWx*k7#CJIoj-a((ZdJ7nOs0tmV$kyr)bEBTaI4TL%WPUXYg"), + make_tuple( + "vLG=#NU=NqT*kR3sJRl$c^mOIsblWY$)6nA-FueBqExBf3!G*)&%OOf", + "RqoYvKWLi45-GomPV!3(G!bry9k)lxwzEpkJsGX@nH8Ic3Mlc0aruvR@axd=Co4aGWN&kq=D%I*9AT*$j"), + make_tuple( + "IajUieGCvrwTBmM)90Ptg)@5Pzu&j7uyD4BYIZ)9Y0k-o0e(F@VUfRObRp@76wVu(pq)pSY=#FBGZ49*D01lvgX", + "Y4UGZhLqq2PobozRLHo5j48mBX%kUyD@6uf8R*y&eTR=B5*%iRLa#-uI=C%!o3L4y%xMm*lkXmtn3Vup%Q@"), + make_tuple( + "b#=wWB!P%TToVyqoq9!#&laxw8-AjpR7Ybmt6^Dmwv19FH4a(2KxEeBlmAmp5kaWaVJzOKEub!", + "sHPGjaJj9u@$7ak5TIZUajO7wUUR^vQk8QFFaqTiN#o)Bm&(Q2"), + make_tuple( + "TYT!Xa8ulnsxlaSHSKaP4aTAmSz7V0Bt1dl!L4y2o(TFq^f6jm80kW#*0*Vq$do)U0z6hhvn*vX#G4wakOaPpf", + "ceF2R0YIskxQL%f^73ww3ddGVADi7)OF=9jGVrt=G76NJBXQFjIpi4rZmfbqy%hmjA84ujRQuKUh@8V2Q(S2a5SEbu4lVl#P"), + make_tuple( + "Cob7(0scvsJj%=T(cZ2NuD!DAvH7#eX44T(Zh034v$JCBbEF9B", + "%oqPU$Y&uasqlU$r)#liD4M%@*ip=l2v-CIY1thn2mO@pIGgVCwNYJHElaOcJHWU%T0I5B%xglW&Sw7WGwG*9v6sFW7PanuBm"), + make_tuple( + "PkkUrp@hS!QIPmDaN3xuGxiFnegDM!=NFY*bE23PnX9PrMT2UIK0Yh%P9$rsA*BpXe", + "Mv7^!CtLZ&zbl8^=uq%rKT(uwPlt&xnuR^ADuBduE#ws4H$wwvaUr=1pA@6MvVbVTMTM!3!Gh!6w^bplVzn4Tso(1=v^fH"), + make_tuple( + "ud#Y6y1O0uzrjqz9QXpwFoGKmVVS9pQ2d=&RAfUInuWJcmC-wZDT5&cdR", + "qg9JWke@HOLmMPoIsFJLaM3pnMes(=PhiUDxO(W46E@08YYpO@S)VCaaLDtUO63gMVtN4V25fag0(JaVf3@!"), + make_tuple( + "L2T1rZVg3o*QNfl0!CsW1NjbK(&xGKG=KZ*$^M8A92NFKCC9W^70uGy6^fBP%8NUckOvb2!TG", + "fTxSATpPJ2%JDBuS2fjlff3t%eMFp6ITpfJlz&qD8bGEvZIy#4Z-Kf"), + make_tuple( + "(YHH83uHp$=f=&%O16TtT(p-*CLsf6cXn)co1L%P$Vn@2Z)rUbg1kgMpojw%f3p^U0VT3dFTBlUzRRDALwQUvyzo)#bwJ5I", + "e$bXWUZ7plm!u8z$9YiO29yXB1V^!1$nsHX3VrC^PXdiT2kqP7*bz37j18dQJTBQD"), + make_tuple( + "NN^OP42=jRYt#hVcqTfc#blfg9pTaWUlzW)bJuwO0M$Rpx8Ir1VPyPmNXUm9Q7tJb524HM9^=&#=$XO3(Zvkmw#piEwtX)Aq4N", + "U4j*DJAwXyzEjIc1p(q1G&jqB^9(hE)zDByvzCuNQL0qe^Qrh$RMa3cChgu=!=cGiB5"), + make_tuple( + "%s7MsG5Uo^DMO2PxIJ2ae3sk&J2czeNDDQuEP*aYfRKiCn(gd0e%PcyhU6EKE@vmoA4u", + "DN9y#5KLjR3)781)4E43nTiMpqtCGGFQ%y6g!p4cVCUM5Q!*XfbyvY%7#LE*Qu4f6Y6$z7y)"), + make_tuple( + "O*QBNJ3uxjfX1Grs#52i3afH@DqX()AHSFwsI(RP98bYd!FBv1kL81Uig1Gs7Jv611tHLhf!o7!DQB*TutB@PIL", + "P=TMkakkbvf2Jytu=!C-eaFPs9-O-@hdg8-$HoZt5&ts#3iS(Gn^$t5Qcl0&HDYOW=5G=wBe-7"), + make_tuple( + "!TOHlHp6M-#iHEA3e5@YE74bc!YLu2UR1!XD9VcuhMY984n2F^^ED&aVMRPV-P4Bo^", + "izqGEttm8s%^(TL6Xcxkvc9h!Cp#)nVtw2vbXku^GCMiU70OiErs@MF1a=y@Zj0Cjrq2"), + make_tuple( + "*nV=xv8p*rn!K5ka)Swz8afIxdk)ZjPa#)o)nB@37G!M7x72($XeYc)^I4^!x^ULsomHh#", + "BMo9--NV@J=-4iPY=DHfdNTPwVxLw%DEcq(FhwN9mvkqPI^UL)W7BI6!WjVvyrFTL45WSzxlJ8&-i-*1c9NyiKmBFaB"), + make_tuple( + "v57$9EG*^nwP(Fhbg!-CWi((a)@l7kbigC1xD^2rPoeIlvs0upa90g0XHeK(f3qvMtdx-r!Y!k=3DZJytXOpdtU%EY2w$=7", + "3F*yD4TRWv$=CR^FkGY4hpmmn*4FEj*KLgPBcLYn$(2CKA$6GWFeM^AatLZ"), + make_tuple( + "iY@nb9PN($VhU-c*mYoSJFR=Ablq#TJaPpxKIjer(=#Uau4vnBdF1yU8w)^J%NjiwG2Z9$4c$HVE$p", + "Q855Cc-A-F!zp%din8xyO$2=vP!dTxuJE^X-BcZ3l2Ot(eKo26w2Za45@FBELS7wc"), + make_tuple( + "bc9vF)aUEQAT8D%ZWoVfM126uIu5r$fuW6y4suof4Sfc295Y!4YlIeTeeukeV9KTi)6o*1=v32GS&qBbqtPvLcx6j2F(xK", + "^Dn#UHj(Tj)8vPzWjMdLOiUG7$5t=D#v4JH@ELnVK8T9LeqE7E6DrUzk5g2uX)%I4q0Aswz"), + make_tuple( + "zKzRR5TW4*izC@J=lF8LZzOqYmwRJ$*bPY-a#JOjT^%Oo=ge9xE", + "mVJuPnc9P31C1tK(PZ1eluIDOi@tws7HuIGPRUmltae&fBTLGb1y^3wQO8hEq$%Qz!aK"), + make_tuple( + "xnx&PHy5a4Z*E80Me-F!B2cWn^3L#itm$p245DpJ7-WdcrQido2Lkn6Q@Ov*R@pq0o4S84B1))58HW!sly#J92TA", + "R^tJ4L%h%%^R8oF#faWVw$vE=Fdflu2okIczZ!jUoLbfaQh9$f@aVVnsLWcHywbsRCp8KQh3jF(YJ9NZhupy^8k)0z!z@Kw-5!TX"), + make_tuple( + "Xx(%&VQWpwgbNRQ!7kpJJ=0ohF2vpuE%M)IDiZKJ3F=0cI9ER-0#@Bbw$pQYBClFV4U#yZaPZcAapbe=v=jKySPqEV&B", + ")(t&gQQY3tSiIoyDVnQhM0s$ZYuK2NBe77NLEOxyuz6meG9vDt@PjVng%Qitl&&5ZR9p*jXwuY"), + make_tuple( + "(q0aU8Mg(fo0DZRAI^-FgWV3kJpufEQwVKUrlsY7=Qd)Ryqfe85ErFX(Xlq-KPy01Z", + "SpWFNwx3=mW2EufI104VCO=kaUtfm4ACy(h)qPik7Nn3vC9ci%7pu"), + make_tuple( + "x5@oTbJ&MP&mOmxMTA1IOI-pm8N6k$5UYUmiCYXxafM!y6r1&@Y3W", + "kU2oNucE*QmX(TB4hu%H2J3zZBAJyeNHViF$53ocsdaMXCo*Jh*CVUF!QeFIAsInW%(@-"), + make_tuple( + "6hkuqcYDXxKcRXXtV5hGdHL3mGPkoVsJ&JNB9IH5rrwFeYBw#2p&uZR7#)zdy7", + "5yy6xWBBzK-#-EL8cRe4yW=oI10SmZoTzJsGTP@Qf)@T9NkZXO^(!CmoZeH^0CAYhUBi=r=q-G"), + make_tuple( + "LLXhL!kkG=X=N8SRv#aZfXR@PX--uCU@ow*mqpd)Pr=YL@Ap9J0MYM--gstTtnHw1%Iy*oTz8vnc", + "Id1WVe9fTz%0i8)Xs=xFA!nWNzd!Z*0AS^m1pHGoof=f7RkqvjYBG#l0B9It%M8yz!M7mDsQ#X=FrZ!l7hdkTP6OzRwjHT"), + make_tuple( + "gjiaBuT(WCyG%GA)WtM0dzgJ7TfGtq$Rns69$)zou2YM9kN-eQb66vK(6", + "W8crfKiWbltvFKWzX=Z6vA9dsi%VWZaD&)QHTa)TALCMnP!zr4f5U-eV=@=yrYGnO0BVL@E@*zgA&C@O7nG=ph"), + make_tuple( + "FBNDoRxTdr=Jvp-xOTaU69poR7JD(fSm0QzgfphapLt9MI!yNw^a3Mw%8IKwhdews&=7op", + "=kwHJ(lA7-KbT(f6Awif^V!q!CjlJi#dfLG1uOm0%hdmVxrkM*kw-b)ddKagRJsB5)2)j9JyN1gIhybZE0kcT(1$B02KVyU1m!M"), + make_tuple( + "OCRp(HB4rtkevp779Fq3AIAyMv=uaktdTQ$Wm(hPGrPuXT@Ui4qRVaPoAa@mc$g%^^F&FvX$1Sq^nhW", + "QRi=3Jexv2qrfI*$^$eLL!M2W$aXN0J9=@QzPWXSSor@Vx3&nJ7W!hdzh)A(^AXEvTDsuX(%16t"), + make_tuple( + "hK5JEgJ74116@O7Gxkk&oo1a2(C)YOHbZTGhehuXn()mAMZzYYU#2svI-fH7nyqWlczG#Vk!#Jt7yrbO4#RyO)om0Q-^0qg&rB*f", + "Vp3bXo7L7j!a6p1Q!X#-FcKjsi*wW$fZ3kH*(Dkt%*Zv$UU1LU&M3fpXYK"), + make_tuple( + "l8g6(wvPglZsBakIo)FETS(oE5wV3I8x%apE(HB!u5@@rr@Br(%LfDcqZV", + "Xwzj37tHOuvX6^0kzBIv^yxSP5QQva9hepnI)tzK$n!!OE)2gu"), + make_tuple( + "6chV-IhgqZTryTd0BE8UVk^pvLkNDb-ALuB@iVqn1W@-um8&o1lx", + "71kF=$xc4cZQxVdv3T^w$wUdx6QsfjFXHe1K2pUhuc!#6=ak-=gE#iGGRoTau#8DXYmT0)gwjkNUndzbZyP4c67okPI(hpW"), + make_tuple( + "Sw#N*-&HB$I@c%m5Ps(Zog$yP6(LSDx10knJzi59kCz6ncVUi4xmd4Cy*e", + "VmDuc&1uywU1(FuFy$ouZLzj43%9Yzb6czjenTPTiw)QCBSafy=^B9&*r*wR$$45qqn(=V6"), + make_tuple( + "zR@b0iQ-CUX5P3OX$-vi@=WK7(ojKO*&^O=JS8NxT)Z-L47E(tV^NEHP)BxPCPgS%", + "7XjD-otu6&F1RS-PCik(RMZBNII=-hm8@Y@ow9j!Q*xp8)KV#N^kPNslkGvewuP3am75l*a%T%kj1aYg3!9&JGtv(dQvSeAi1nSR"), + make_tuple( + "=K1B^U-1cQG2C!fIdZLlgrj-ax#iyALYXzLFnI3m0jQIT^^TGBK^=hnjRwedVoXOraPsK1k%Ks(d1@#K$curg%*AxwpZ6VNAOj", + "@2Z=xnIip$iitxxxyJU8iXPvI-uGy6q(sjb-SP07OS!8w0^l4KDoj0J)%UK=M3)=D%B1QSoM$f$ThHUMeE&VIslTRXaQ^1ipX)VJ"), + make_tuple( + "vfg^7-EN13DPJ&RyMWE&OMuH!ovfb3VzQM9VZhO3Z5Y0cMDyDeNg%z(NJ0eAZhwkfrEUH^e&&bF!Wk!xMCx0l", + "F3r1Wx7z5gHu2c7VkarjNe*WHHg656DcR#nkjx2$wpYTA1ivlO&o2WPq!$TwWIMMlkDeMaTSP0WomYk$6G9Elqo5-a"), + make_tuple( + "92^Ou=nnksr2r#NGWIzknAzyjyCMd#6-W7zexgsh9N@Ixx2e8bSkJ7ay#BzE-Jw4TT5znjg5v-FL2QVdiLYX38qfz#BDUBUUZUT", + "Z5me$RREFFpCPOhQiSR=PuonHOHOa*kSc2-2$HTizKhr4SQRXp7^KDhgHIMO"), + make_tuple( + "wz*%3RJ$w$0XGbH=oohi9&ULCrcQ%PYGQyRtwtwEdiBz)2yCG&eCosaCY%brS-FS", + "2k7%m1AVz5TWS54D4TOc45wTUVqIsuJrc@x@K&&HKou0f(H1SHL&(uyRG9RV#-$2mrC*Uz3b%hBg$$"), + make_tuple( + "497ViFK46DQ^&G5bNB(O686Q4NzH$#G1YrTSzY)xOWpuDPX5mGb(8qLpNiIf!%YHDyNDNrtrPqOwo5BI$VU8)6X-jkMOKe*8icUw", + "baOj)iup71M22va2S30KbiHBn7uHsiS^CZJEs)8)KbHg50d1UxNbZ)#"), + make_tuple( + "KoIXArhT*p5Dicp!Jzug!%fun9zlQzTH@i7atr=7@W40u3^7EM&5DudR12N5q)ITO7TPU1I4Wp", + "9bNJD9mG8@CbG12j%ZsZwmq2d=6@j!mX15%N^1ULsmA*v=%6EK"), + make_tuple( + "tb#lPW$V9fbwt%=k$6z-vyCc8xHxdGr2ysJVhYDUl^j^ZD0&&N", + "&OL9w!RNcB6RRP0Fd3b(Z6h39F3N#BaquU5MiSs&=v$%=uRIA54"), + make_tuple( + "neezjpg6xi^$5tKDeWdkqrH)jl9QAc1wHA60a*C#2u-tqf^Wih7k%dG8oSYLEbI&BljzPPg4CRK@z4A8ObuakpCMsla", + "1-Q5r&7)^Oxo1eKSVqKhFp3MJ1xV5#s6NSfYn%m-6=21No(p(Mskstd&4C-"), + make_tuple( + "uzeTku-EY%*f0D!DRseA@JPqMxp8FQrjmr575#i1swzbBtotD!Pu78)JfHW!L-ViK=P", + "UTx7BCXx7Vi@suY!39(iMMCrLSzNtVlJ8faiM%MzJU&fmKluEV)Q0Fom"), + make_tuple( + "ht=dTE3jbH*#i*jQxFYY&!K2TZMXXi#&dCLFzo)a$hIm18W^@epv-U@MHbJ!Vh)fGROzjN)6c6Ni&x3bCeUZxwSUkM$ELHn", + "530wD3z#YS^dEAJSIG7pD)JBEr-l8gkwku6gcf)6P&@SE*DB@T5Jk1IgNzHQ63MuaAAdiCUdJBL7oZ(hSZ#&"), + make_tuple( + "i2Jzt#*YUz8dB0VkBVFzc(U0k#Dlc*DV2APK#Nc=dzAMw5K19p9i!7MRYFeeEQEQ5", + "TE9-2fyS3sJc*4BD=6^7!RCV@A&P9u38lsAKz-f&=JLbpj%AS!W8"), + make_tuple( + "e1UN7JigIiq=!oOt1)8!$CF&7*^jitm8#$KK6SEA=KGFFFPNaVFxH$NDTt2nSlfO0*kegvs#B41O", + "ma8Ue&-OzHJwQzTQIjn)nPaa^uFyL@g4gVs7b139EJfu6@J%aGPBDrtzY$M0oefB-ocTKTgfAZA(Bvp=1wNLz*)v9VqnIHDVAi"), + make_tuple( + "@Zxy1XJ@31)#G&CIcw0$JKAgKVhs8yQhoh*JsbgL)%@oarnjjag", + "7$gK*SokCzHTac=DD=Tz%)8vBUv-FClG1hixKfNsJ*j3Oyjb!L*GAT4EooWI5TFfUMRwfo0"), + make_tuple( + "aV4r0$2AD4z1&J2BJLSJoy0G&zQeM2YjL1A)d4mV&($2lUQS48)b2ttg3FHdLLimCTtQVw6GAh-%kY#t2^*p", + "7Ml3X6qgJO3@julPp%F5exIqGOOPM6N^5zD(%9$cd3wLN!prz!YwK"), + make_tuple( + "%S-*9MQ4KM-gORv^!PoCR1ult03AF1NjZ#NrQqgd6ZBGUXy5AE", + "jo#%tYuqHFVo8d-1h)drYhmlnUDiUwcPCWp#SiGcb1pfQOVjk)raaU@Mfyu%l)5AWAARpWWf6i26G8-THlPvu@SPOcC6$ZEQ#"), + make_tuple( + "cXC3er2h40G)iMmPw#L4JvUoD%!LjSd#H!Vb&kMpt%gOSMO%Q!PX&5", + "Vy)&r(WyH=gmcaUDI-$#)5LeK8HGhT5rwo23xYo6CTswO2%je-hm6lKmR&vb@B&AgJp-CuVz"), + make_tuple( + "K)cE=B7SB9I55-8!wXcUazZeYmf&VuYtc#is%kMI=Lnj=sZYLmLs", + "YU7eYPHL&zMvVb%Q3G*x2dyG$Tiu1zW^Xuaj%)(bsi-WC83i8WEoSHy="), + make_tuple( + "ptqg(q!N6O*nM9SMHhEj@fD&&RMeJWGh&2WixrK&t4=5NxRiuHq(Pg@b-h=YnnIXO*HkiYUGA@**u", + "LXlCfw%bLlE0W(SJ%a!ar#obedDcYYv-jG3smYko!GcJh=TJZ9l)Aq8ZNaxZmdhzXp=S!#v-yjvT)*k45P"), + make_tuple( + "X@&QjGAtp2kurUFQutQ^q5C11Bs5@DFu*K@mSOvxkdR7#MXI^OQO@2", + "3tDMmi63!5aAQamiqu1VF2w2g=YrivAR6LN=wR&aZ#IG*xE)R9Z(a8V=g$gEqQvHp539bMwVpE#h#UpaJZO&B"), + make_tuple( + "Oxc)osV&do%6=42Elt)x7Ab&@Yot&SttPztEdYR7=iz7kXry99XbB1rli-dt2KUS5Zr=rzmBH5IIS&!fPY5yQ2(ad4L", + "s3FoGFxIl3*1wkX8Se$m9wbSQe39B^T^bL3Sq&ake5RfymhgMKB^v$Dodz=gg@#"), + make_tuple( + "o$HlwA&oSr6(e(tESU#kt%vgummbnhTLp*gCkbaR^OKFVxnzD7YUs=iVPBKXcNiV1jGvna9alLB&du41j", + "jnh3Mod1)KUaK(*$3TMl-=%e4r0xl2tdP4fy)l3GkplGxDFx!(hOMtsya"), + make_tuple( + "0e&R^cVjXNrdmfACc=YqdmbwN@m5HLm&UJ3OrBrp!g65Zuls)NMfR@1VOax", + "I4H&-uXc=(o(CY0c$tBMdFsxE*rgXUtdr=42n9kf=5R&#T48nOpgUZxx)(=wCoyR9Q4EQ"), + make_tuple( + "%SwBRpVXMK)bnek4^h6L1O*(Wr$3*W($iZBTxTV1jy^&gxrQapnZFM)I!eiveuozwiIULLC-^m!OCsUho2$(1ZTUjw)", + "Ut7%JKzT2SphLm!!sDUM)k&*ZvgXxmoDemvi0IgkbFS&9g6S#O"), + make_tuple( + "k65P)RZILv4rI7Ovytf$ioncR5zY0x%VyKRP%&SG5sSW$9stVDACVCooBdd^J1tYyGKr@KKxCBvWU$Vd#ct=7Uz!", + "qbSbPXH6sPN&L^q5RFcS^h!JB^!J%#Q!6hCorAWlW%RBl@^nde5TVO=TYAuky)kuR$k"), + make_tuple( + "Pj-jZp8qhY$c&nrJq6F$KhHbuL$6OJLb2xEYCbVT(W*nO%EmMc9=oK4HB)cpH1tUp2J0dDO4)G&7Ye^WNRMUQG1=2Lj", + "cvAIC3PkDTZLbKZ$KEepnpjtUD)VKh8iY)!w3DovnV%DZf@Nuib&Ji8sqmP-FkHy9TE(-DE4W-3mPm"), + make_tuple( + "Sub$VK7ELJqS@X7lDXUN#dY(i**dW6@sp#sxKIcFE56sAY#wKfHVUvUHrnaB5uehTSGPLbdGTm", + "ndg1VoDqZRwUx567#Se(sP-pOp&wI5WY#tRjm@zBpIIvRfB1&t%$qiGdRZ9dhK9rHnc=HbAc*NdlN6qkPZ^K&d^t&MG8&*e"), + make_tuple( + "h*hcfinx1TJm#OQc%QZqllpvcQc8RmXu#U=qUDrt#SNAHm2SZes", + "yMrs3zHa&SJxAUM3uTesVE3*X%ymV$4dsB*YwH)n(riB6mAF3GJ%A"), + make_tuple( + "r*Jx&grAGx==s)5-r4V%)SQY4l0gOU3buuLCntam(m%pzGeyc3jFD$29bI", + "0v=e8hkLkyT)2fJiu1QwhbhHP7ZONXf8zN!NKqkdiAFL0!$jpZgq4Ohsj"), + make_tuple( + "7YAL3&Mxz^D!Ro8&tTCrgJ!f--Pm9pgTj4R4GvhUp!HPuX@KH9OFLkpdiOM*$nj@fheAqw&f", + "1n4@G*YOIJQl#7Xh6w=fozolFfoX$aiB^lK74n^f&F*6dX$8!f"), + make_tuple( + "YVxmeFrw*DrnpQ1^1y@vyF&gxuMsor-sR(8z6haZCGX^pAOwD&JrS&IWVph$RyT0UuJcrr^H8Kep-sW1j^Pt@)F9!tFBBSU-qG", + "vYzAh)ICeZ14B=-(I=f0p#ifFsFmow(c$y&sB=VWwm1%vpwp5Vkx*A50LnxjkZLMETh-zlwp@(1#I#e(D@oUPyM"), + make_tuple( + "9g0ocvCbIV*sBezs&pKfo&@34Zsv$7ezGnyK3uBEUyq(DlM3xCpnLU1%cL1FGkbw*#v!mS!K*a0bn=IC6UfP(R^Cq*)bq9A-z", + "I^VvZc9OpLxU&eFwC7%A9Z52P(Yg&1#@BOmufMo-pbsmIueePguT*djJ$BdWab=5xz5o7pCMnD-3eTE9rEpMbnshlcvqw@M*"), + make_tuple( + "DM&b-r851uz2fDBW2%=Md^UY^%BV7NxCRrGNBYmCeKWTgZyRR8WJgv*yVm(m$HQG1jQ8PK6o", + "2Xy6QW0AHDC3o6t3MP-kk&5p#nUG)9PA3ZUsJij5i(mTOhLNYusmY3MBPClI&HxmU4!f62"), + make_tuple( + "iXc$^HjW5ciB*cFOoqupAE%DL$H=hqv&lg%HkgKMl@rbqMI9WtNunl9QT6IjP6C", + "pbS3YixWMJLy8qRUS&gFCnny-UNTPrB@vojVJPrG=HUlbax$MHV(Fwq57T%x(K@ltLFNFASY3iBcl-H=)wdtHb7*%J"), + make_tuple( + "JnhotFzjBmN#rjs(L1CbskZL-v$-4)W#-!kQZU870w36W7S%fMN6@WhE)3vwI11()yeT@Q&QuF!BRn4o9Tj)sxAWk-3(Mf%i5k", + "aqgkW(0Mif8jIOXBHx#g(o9JGdQqSz%kjc#H2%haK@STd)4zgl&%RDky=VFdgFM-SOXFc-9vLS"), + make_tuple( + "D!Pm$wO7r1Ft9EkEzRhE3gm4LE9fEq4re-tXoqlcwVD%-aAZ6T!fR!6gjLpn7CKe@j3iq^dovpwOu%=S*6%Qe1*", + "G*rAU!gg-wdqwoqZC2t9NT*bYLGfz%qd0NbUEC@^Aw^RqalcS4k3L%6L2Fw%a0CPl95l3n@D3q@QHxb0!WxUvfL7%Pjm*zf"), + make_tuple( + "GoIrR@oJCM@R1cnatGIAfQOVba8(O@EtqAqDNhIa0f7SJLc0&q@t=", + "Zdggr^PuucsXf9zi^E$RvztjXTb&zbHkFvOBOHRopinwpLUiHI-h=VpF(g^(yR-zUeVbV-n(bb-"), + make_tuple( + "0Fl01JI^u*aW2RCYX-7M!Iv$0CGAF3K4INcKG7GNVlVDC1iQoXFpm68Lz5u6Ti#gW#)KbM(ZwI53de7kKEoIc!yoYW%m1ds#", + "RGsoEwX#O$ZBX$kRa@)L0L@(j%n5XrgG5u34jzLGVHkdEQ&!I6Wu"), + make_tuple( + "KD*Si&FRf3N1P5B^Rn8QSQiCSc-&gblYHS5vtR)Q$-6zXfSjYceXNP0SYKKxfdH70Is*PjHWh#FMwg1yESYqAn", + "GE*dGaliUG&u@c&MuigxQHQVUxKoKC9B&EY#hbRPD73Ae&#oA7also-wk0ta!DN6iw^INxg&jaheuuRHb-d$soN("), + make_tuple( + "&7e3hVhSmgjl*wW3Rm8C0$S3opDA6q&%J8srQ*1@RX1Bsz2-x*4M93PvrAN=F43jN%o02E", + "AjsgpSj3h*%xL)UrSihK-4G3y(xuV#o^qI7LW=&BVy(iUrHF-@C2^7ulg@RX(BKMgYqQxJIph9G4RU)9C^d(obPHEtRSV*9"), + make_tuple( + "O9jCTwNUsnWui=4gHdh8C5b3SDuh)6010j87LOFkWYd#==E)!XL$LF", + "mI&sw6f=Vd6kLYQkD&RoaFUAYW#xOqN-$$oZK!GvGfBZV-oYwN&zDh6zd)Tu1y8Cy^Nd@VA9ZoLTa3VlgS1GXy@EgTt"), + make_tuple( + "njpYPIvauKY#-$Afllk)4rViLx&D!q237DNW-NRxxJmwb9D0ME##zS0GuVXmzpHwk59v(IGd%wPaD2LX35-U", + "BI3Iua$PtY!!cl5HJN)IT7pCYyUm2cwL6GIxBkIwrEvUvCd-!@fKKV!AUKEMqD22R^M-=4X)LUK3qQ&FoE!YiuUPGEaJ3DO9"), + make_tuple( + "K)zn1%FOescBzUO5jemcVaqSYVx1ri1GtfoCbx)GLLSup=X9D=#bS", + "&uAeNQ$!M2iS&YNX2q%2*yUFsAFHnXSCtw3QzfF9Z@%HJ(P&Tct344b9^FDsum7JCL#Lq"), + make_tuple( + "cOc(CDN&D(Oy5-VDADIpc@IdIJ2kqfX@Dc^1oN&Wy0*=ALL!s&*^Zc%e*@Fl$6C9UjuQT@fF^72ojt9@SgHye(h", + "JfTXzNxd@Rugi^hG-X52oQQ0TibJwKj^-w8CF31Cdf&S!X7dUpPfJInQ5KzaaWWs1=@meOU(7IZN$YI-6h(ZJC"), + make_tuple( + "zUxBLg$zzTzAYpv3Y#GmpjuOmwLqCd2Zrggb$vYthy4lD7y0EvVIkGz", + "(E*oSNZ#9qRR$tFvTCK(!eEcM*B$(GLXbUdITwG5PA)wgcbEw(qd&i5s!e4pmtFcL$a"), + make_tuple( + "eRwQlj^DFIFQ!3IItv)nqsEg560kdn4l8PHlQI%DS(*cWy-@27Jgu)u6Qp3*oeJGvP3Wk*)D7z2-cZL$gb40VdcBAC^vF^grC", + "N0wpQ*!d!yy9c)6j)rMPj9w1=H!Q#$7EGv*U0ODE444-p49!MOY!QleO*vCXQB07qj7-onBFbjf=A(OJyVNZzW%"), + make_tuple( + "yk)zi81SXS^X3jr6BtW1n2F4^vh@(3zg4pO@*kkX!IZFwH#OxDZK#K0P!@NY7hHfoYZ9VoV(je#R", + "mWPVgvi51osbsf(uoec2odw8lPdvGXI4bXD%lZ(Cop0L)3qDMpw!=(5p9Rk063Pf3nqN&v8P0^yw=EIBx%GwOCB!%@c-WoPv9I"), + make_tuple( + "eZ(u1!Q9RTxf$ZWeOv51a7oQJQ0=A3&haY3pGHidr6(OCE1^x^LH2h^5=NDPc", + "Gp3zXXwJldV!6qGy2y1N(b7=)7V&HlhFpk@Ggcj#66$)l**GF4&9*^=o@Xzg@wTvIPHiU0IvAHMcix!rr(ppy"), + make_tuple( + "8MhtFaAsXykq-cilmMyOXPWP(SjS0-3uF(57PJCTL&Zx^UF=eY(gG2Ler4xrl)Z$Exqi2HMUth5$QM=5gRXb1", + "HLxAhp*MHrv$yyp1rm%(Zsljb7hK#soM#1pWJNO)(jS#P=Cp^&iVu)UsMKte3ldrv#wLvbBGdO2p"), + make_tuple( + "oNyWwbgUYquJjbux95kJXxU8vnVdP(eyBfHZVMiLBKvaDuj7J3JeL!eH^MhR(0fGDy-v$=g3br^)zoV(4bf)YrOpaS", + "Cjs*gjEkAhw4g4jeUDc1vsr3X&cePjG=1s0lzB06#1cFUL$%o8Y#zVTdwx^OI4zE5YqB*jhME9j07d@QcOuVziKCX9)(0-tItle"), + make_tuple( + "C)-LWvf76Vpu@NJ&C3$%ws%wD6m&SGvQ$dE5OsmwfrkrTfYsg(1aDqMJbQ&1siw2ueJyE8mwmM4ah8haX1WUyLr", + "A2bOo!VgtHaQYBLH(BLK90V=JQL*gE*RXrO0b%1ZjJGvWPSO1sJe3(htfexYg1*b"), + make_tuple( + "iS499#rOYKQ)0ujOnc9BJ=jGtqEqEjbA%2#!OaoMzZ@xk2zMyeg&j*GTMx1nW#tbEBEect$#64Tpy4Mfo-ptNQKoL#7", + "t(RV6aM3t7nC^Bb)RvftW7WeaD$rEm@hocnC&p&ljiX9V*y)jen5XJ$6F*3(#v^N37%r^OvCJh*o%JWO97"), + make_tuple( + "fXs#&RL7PBxzaa22&Nv9dwrIHnnRazR^0R2dSTtM*26wvwuiTr-wGYA(", + "nCmGbs6cm7Q9wSp)RtxxDgfF$57E3a=s*5-8Wq=k!@FqRo0Q1QHD65aU#xltDpHSuUhlL8!m-mZG5*gT"), + make_tuple( + "c8Mx8uA=O2A0A-Y&nI$-AhprqFWc*8%sx6DoU(NCCl#yxr(k8MWi87", + "ez!mqoEyAy*Tq5EYRjR2naQO9!oUwh%8c0M#4sw)-CtV#VhS85svG=0H^$-7C0dN@u)o8sGE@@tE"), + make_tuple( + "LcCVpo9QZuZx9ek!V*2O8cw1Ski9D2Q%)-Q*E4-tJgbJxW^bXd-T4Sh2bs0-W*D&bw8&ZiJ(zC#!0", + "wh&8I%spt*g@NRY6K36YR0an#R%QtwXn)RMb&lYY0rFObe&vSwI9=@#i9q2cd2*b%6"), + make_tuple( + "lexW5ZZ1Zcd$faT$$R8W@SQcgR@8y(&(p(fb*hQ9SvllUOmY@A5oMEfP2&KmlYYkA6M*yYguTOjQfL!y(i2*", + "AZsrCLu5h2u=8J9q&Ju5sU4oyDMevgRizAKycuy4hihC9adoAoRT-g5Y"), + make_tuple( + "$0#$b)tyYDTR-Fhf-yE1QvpJa&0KSD6g-mq6*^QfByblNg2@4@xP4ElIa8UO&m=4^vRC4i!Fqu&rq^djaLOm", + "CygzhCJm7atWeYcCX%VhHK&aFiln^UEt*WaFeKwPn(iZoHybTuPjYQXw(EQHBfjopZpcQiMQ1r-hfMOxKA)zM6fimrk"), + make_tuple( + "(eflrV^XpzMj8#dzTU6LUXnEhZI(tQKup!iLCLtQJaZ4bs&1f^Q9pwZQARDaIw#ylpxxJ0j0E1Tzx@)ggRYm0JD9b0q", + "19v9OcSFRg1k$VsDNLNi6Uig$=jieE$rjUJTzqx^xfTRm@(^u#2uU(so8w198pWa-oRYiuB=p&-kzb)rhK"), + make_tuple( + "E!Q7$J)VNOY$VC#60ThuV2fT4*WHiHF-r&LjEVZ&q6mGAneONk-pxsKUeDPAcJ3ca", + "Kxs#@KRm-rS!ZgqdnnRYLmLtPsVhexNT3l=*-7kD2)upYadY0JN@2WQX7zMWkH3#1bDP"), + make_tuple( + "YCUy@9uNg%KzDes&Ah%wpU4$JO9cp3I)*e!1vNcka$jieclJB^Ejr07(j4*N-PN9", + "m7n4taO-G&iH-Hs2h9tnumMBitS^8Z@2P0Z#Nb1uJn!3tt5k-fVicLuThSA0-BqYn3DRABUc"), + make_tuple( + "WQEpj5Y92V$DyIAkf$rV8$J7NNAlP&1IcGFh)lLzuO%4GptCI&hZmo=p3i)9^Jg86MyF&InbHz8%P)==gkbK!pV%7$B@", + "yP3c&!T-j*rFLG9VazBC6zhgPZjYTE4(qUlbSAHhqsQ1C1Q8wE=uibGk!fxeE9"), + make_tuple( + "R5Tj8nIjCA4BWK7(WtvZ8rB$00PY8l@j#Y=RlvH4WG7YDqLS!SQKYX*nw3NfGyowavPt9o3R6oF)onr5l1Mez^ZczCd2%jK7vO", + "PMmHSyr&e0Y7hBzZoRvqiDmMeHTxzTXnmUPYh!lVCOp6h%2@gy%#B^F6U!dvhFP9CqJ$G^j0ILt$VstIY@v)1DCz)-mbatQ"), + make_tuple( + "95x@QTNb0rMJG=0^I6sP8hGF0=^pNo#nlJDIPTkyrs!ihLGc!#e0QjPTrDKP9d3E6vD0QR0o", + "j16XEJFc4rTF5=k@FWHmyo3Jb^l!F)t-qSUDl(QBjL0wDo0XcHho57h9J=Okps5T-f3LKi#k%y2Vqa8H=2jUU^YU"), + make_tuple( + "S5mMiOK1V!bbCg&$q*^4XOXzlgHuQQBW-6)wcAuSC$(MomAF%QwI7SVv04Z(PKj5NA$X55t4#uT(H", + "IdgQr#rC)3oJoJn@Kb-IXp)&wQdlZOD!&r16y!^%ISDmSM$1yNkA6kHNYMYTOU%Zl9SZpMfFtkY&1)Eb!Vy94FD"), + make_tuple( + "@DEj#ld#3LFM&(Y6ZnDjEswaK*0aTvwlt5NgZ)2PmW6kNTYOkzF9zl%s@VI6Fw&2zMmK5", + "f4A89m&vw$A4d&6JRsPd4EdG@vSJhfP!P!(UhUiqc0ZUII8OKN-xDQ&arsZj0zTU!a)h)SDtvB3wDNJ#YrGEvX"), + make_tuple( + "ZwvS1%mLQ&3!k%*ONgKCtT!0Xa-zk!aOCjusyJQnlEa!Ufr#7y&*qXZ2jYrWiFxgl-*AB1OLGXOTJ379J", + "kujQ*oq8y6dMELTQCad)HrrR%Vy%fRLnuBvqS6&oS5RJ12BDYuK#*R"), + make_tuple( + "M@gGXyEzRVsk&hK7PCi4jbA-CN)PvLJ4%ROEcq%)p1MOU4eOp1HYtxrBoohG6YKeOiH2uciEZ*K3I)YLQ^q", + "ZlI8tXI9QoPd5Fx(i^0WjrKbVl6C@0hy&jgiC*1iIrRm4EPME*pn"), + make_tuple( + "xr@Gar7HJ5kLipG0LH%zJQx-FUN46OESu%ad!TBdC6$vEkzVSZ1XG!C!iebxud*e!d", + "8PXfKTWS3NuCDxs&7nwF0!(=fy*QmdG52Id!IdPPs953LkCEVoGVXIo&Dd1"), + make_tuple( + "pa)g^fFtSbo&fd1poA3lrkd5TvBQfv7%QW7Ql!3o$hWJwj-r6nyjTEDVR", + "!1yG%kg*2Ih^G1X!am#a&2i@1u)#C5tR0EAVYeC&Wr&v1yrb55lm2Oq3wiG^(a5CwFEv"), + make_tuple( + "e)f*Rxh*^kIbba9un7nVlZziR!Ti25ZGYAmS&TLW*3u4Ul*KRclcR!p3wTq%bnx&K5sH4hR9K4PrUkFeJG%qo#T9&r)*CuW3ar$^", + "w8agPfG3Aj1OHrGA$VL2^PRe=XvXOXU=OFMtpOf*3y%L9pkbvXE)=ZyDu6pexN"), + make_tuple( + "cf551(NFOQQa@jQhBPd7B1-0yB#)nl$JCpfsyKfvyMg-wI$L#e500o)M%z%W&WpL2X", + "*p7onQ@Ebiy2YRH7sfVc2A6JGv2!6tQ*!*aNcJU52m5Bq=*$3Mc8"), + make_tuple( + "FVOX((ZzHj!G2Y9xv)&AnWQt3pB9kRz3C3ra0fQNVayPSk-2CpOtMLV4RAIAwX4yxz2oXEhzJ#sPzJWFtYwjqxJ79E^G0", + "XMqKx3d9*3agTZ2gf(I#zd8Pd)Y2HAiE6ixpG68l@4H@qS9KmO09a5&Uph-FUN2oj%eO1gAV"), + make_tuple( + ")g^qB$Wzvq5ZhiS6%8Bfu^*JOp!NjIQ!)R%ApED^o2cxJ^$L&tYlOD$z=o&q6u", + "Vg95j*za15c7#QZXjZFUNy1GThFnK!g2coi&08kn2JH7!lNDcsjUCjruYEM^A=qZ0Hl79C*BJ4XouiC&@)6p"), + make_tuple( + "WzCe0jpFmkPxZuynT5MxY9Qm@Kq*Fl6rzC^-K*Cnour1J#gUtu6btCQgbGZ$fRmpO(Xgl(2Q#Ai", + "HR7^YpMKGfyrWJN&I1Eg2wv#0JKY(Vj1#Io!2h9X3$Pha)n845V69a7#"), + make_tuple( + "4Km!BI==qS#sn=0NK@1&%OokI0Kx&SGeHwWM@LYF3U5P-Aul4%kbSp5&R#R0JVEMgh3Aik6@RSd-SK4E=ddt", + "1bx9LTxK#abeM5S0EU1@9@YV3K(Qs6fun3T@HQj9YXw6K72u!McF#oAwzjRWR3uzanq*LFm1weeM4dh5-V75w&lpY%KrorE="), + make_tuple( + "h)x1ud(JTxyF*OGEAZK)5#qYs9gjir7xsLMxk6MqLvhOpsE0MA-yJV9lrGiM36)mz4EuS4)bvP)5PafrqtdZFT0k#%xzmcn=", + "7L9UgtxnvG!I7$8-f1f!7PyMkOIWR6ei*xF#E1Tgjlu4u)aALU8KDXZWV*18yQ*oc1w@MoApaYhLpr0ARz"), + make_tuple( + "MptAxZvEr^ODw-JbyitUUOe^cCYMmWN$fz@34)w4BZ5j*C((KX%qr=San^QKA", + "ma-veoOL=LE=1dla-fl6q8s(Rc6@B6mIjWQtM*dGSM148v0N8UtTvpzI%kIvzKD$T@gH3jRWFH&zu1q*etVEDgDBFIXOMWW3&S"), + make_tuple( + "TTTi)nDh^WhvDvCmfNqeSGfk!#w!(hPI3KCvu=inYxLs8%=5idPSbyENEw^txtlBohD^Pg#*ZcHGA)XLF", + "jMJ32^6I(^t*Nl)b%TW)gwdRfF$whQQlOEyQ3#)SPR9T9Qrl!E5MHhbwaReVS3YtA3=cDbx&tb&GgDlPrA0Rks0ZQW"), + make_tuple( + "Re%)kO*qlHLI&ZM7MrLU)@VZ1II(-hIccb(FdwCWqyHQNfTgysiIvN(px8(8$S3f@3t*", + "7dm#d$L^8fqn0omzbb8uxAMlxvd9b=GXVCR=%6Cg)0-l!t@9D=9JpW#h@qVoxNaxcjj#7-y0WgThVv4^K0hYoo%j8*EjJsg^@Ed%"), + make_tuple( + "snrxK!Vu&fteDliIUMpGz3kJW4yCWjJGFjVp@KUr&v=twYL$bdr7fz", + "JekGM@FUn$L=eM6HVO1(06v8f7sTpwn9hP^&WfpqGC=f3$=jBAX7F@tVifm1%R$D6z"), + make_tuple( + "A87JcnfJhk$2hGb@S=RX(tNaUD6sRGUAnLaMevEkg(U=qAK&OW8aUX*AT%agDGBGSAVfA&TiwIQym$krKzP", + "dJH$LmXgRiQ&g@S-xXqwEmm6K51W^tuZGemkBaokukW4pFTO%OponVP*VKq6J6R%NkojQQHQsLRXt7!TV-"), + make_tuple( + "cya@r)w!7s7mu-)Vod4PftrEi4JFZ52&h9$YmtAJj3N6mPgfe6VJja2u(Bd!lqI", + "jP0T3YTf#@Nk4e@HyNvfObT0bUyMW8fUwyhQIERubBDb61ad#wfYJURU7(ckX8(f^#wa9-eF6N==bb@X-gsGuL6Bunk8"), + make_tuple( + "3scWcmV5T&UJ#7uwhuM02j0VcE%dqkxoUIetneUryDo@^msZk()pXz4SiWM(DoroW&yLHVoGPCu2RUW3Zzl5^oSL9d!z90t", + "taZohbc9K4YZ%VE29ei=e9OqxZgR#)%n6NnDKetP!Qg9j7oqNxo4&37D7i5mLhujcR^-71q*7Kq&U8C7YbrhoF"), + make_tuple( + "C4iV0XD5r$f=s8i&5^a@whdFV1!i@ks#4a&5T(N0EC1ZJLT1SPx4UgU0gCeLpIx0UWK&Zdd#tpNuZA9IO", + "Lg1OJ88QlR5!teal1K9c(qn0(CwB)Gqm4yU#VE8X5NIVqdYPRFJ-c7B@"), + make_tuple( + "uqv-50*&cFZScREj^cWE=D!rX#Z8NduyM)dG5KZjK^9VVChrpI0u%nJJ$@u1BadJN2@pBPhye=GpGEkGjcGJx)D", + "aUqKpeAR)h-tonuUL3xL@Y=VhHi#^4hc3fA^K(FMe1Q0*o%fzT#*dA3rKFM2eQgV(ytyM0U2d21RqBj6-Hxh9Gf(1tAg#1z"), + make_tuple( + "Sb=Ezq0lJeKrTT2(XUDvQTauJrNhV%P=N0=vFF8OjIY#b^bGvU1K9V8$6ROke", + "O^l$a=u(xubtXh5RmSG)93P81v389&d(rTMFj9Jt1urVimG5xiqLr63^!"), + make_tuple( + "KomG)gp2rgkqWse1CfD5H)e7GRc-Jx07fMIfoSH!DQP-&@$stt03)8Q8&isCDo7XEjka(B0EhVYs@&bkv(oL", + "(Y0nHIAiUg=LEo1@Fd6%@YvWt5N9bZcHcppAiAxsAHbs)d=EtCQ#"), + make_tuple( + "ItbSJt0DdlbB5^EVzP9ndgchPG9h3&lZ&INA0HG0MUnF0df*Uh5ZxC2", + "ppdgzGy$8F^6RF5NrrHiD&*SeL^LljyN-z@XowFyxM2obRRM=N!p)*J2"), + make_tuple( + "6X&etHIS93iux5mePG%*hSt9C2GU-bnm)&*)Xl6LjfX7nTiRgcnKNfNk3*", + "*UsjGkk9nbc$=bgsy^ckpKCkLkgH^^bdX#VdVPXmjlqAmld2*DX#VuSWvjQstV8q"), + make_tuple( + "oFV8vXD6#cS)mcvBD0C^eo5)ywGcb2E@dE34*V!NAKk4=3#6*1Yafayzwie5J8O8Z@L93", + "jifG#3Y)dQhxA2WKKUZaTWZwe0x@jLPkCVc^%dL(0lX7v(D2Bw%R6tnxfDQ7$fh%Xe81^V"), + make_tuple( + "QGAr!Jw@Q#6GH!JuXDKSlg2po$uVF-b*5IBt91dT9&I&)6Gg$SbvWq%ERypeBp%dd!SpPkpA21NeKOyYEEwlf$md3O-OB", + "%sgTph=0rjI=%9Et8ntuS8B(GsZ#fX-cKtiz)E-W*caxoL85K-H-iHbmC33POBur"), + make_tuple( + "qmsgU(7ZI=iOYFa0^*N6)6mH7bDg-awAA=$YEsHfAcBenjPHJn!", + "Ao2M19@QG6-BiU=)Mw-%TeZv8st#j5B^1@sJoJlLrKxTrf6AHw5zBzxN*w#"), + make_tuple( + "k$bz2C)zBlyAzZMV69uia&sQih5Pd)F-P29^OTA(u%l3!4Wt51&(YH0f5Nt8c6wjzZLuuv8n4@yFiQ-nHH(", + "SiXCOER#ck6wOPJx-4SwXxjy3Y@va-bde&pWbVL@LGhc45Xi%SHve5GUsSMy*dZLv$mDt4ua*$h!MTjq$ja@ygpk"), + make_tuple( + "rW=qFKKB8ZOo=6VJs(KWeGkP!)6YToaQjW6udtSwQ3-tW8MQ(oxc9kAVXMtJCAMoB", + "aLRLH3nznc&PhsiojP3cGwcf-ok78=bp%aqSqeVyDWz59!xXd*lrAH"), + make_tuple( + "sYSQqSS8qoBa17gqZbnG-RefH!G*2yr*BIA1x$s^SZAqRYA6*rRNS=&q)", + "3vtWClIqWI%)5)Dv(l8UWrTx(RuVuuNr!7EIRW3%8fB)E#ht%pUskfv!bTxr2MLvcVbx&EsAMHHOX"), + make_tuple( + "5K6VnkY^p!)^#v^9zyNGV8V=nS2eZd=-d1aNwLA*6=i7fQ*Zl99oj)qfx1ee3nAt1*xcb8IDggOUH6%2vZV4Lg@JPX", + "%SL(bv2EmKSR9U(XJnQDco7hQkjEp5Q4eY93^JNn8u%Lvs(WLTN(%NRB"), + make_tuple( + "vdem$8GM3CotWarD$C35%XtmtZZ1epyMKnl4^7CeNAm-a9W#ovAFLAd7k^b#Mssu8&YwJu40EDz33t1ZN8kE", + "B5SI%4Af!tRvEwqQtLMPAEKT@Cv(yhWaZECw$ZEs@XTHez=)uUy4%l3VsRsDTl1w6R1z6CGm=MX-%o6Yu36cLOiWBhI=Uo"), + make_tuple( + "mEPdETwdMBfwNbjprQ)5#JX8M1(=ScwIIdqq8Eh5&=%$67=TJpO#qVq5X#PR%6nY$JnVbF", + "NlslwTqRw-O!iTVCNlMoHH8#j2zbl2k&g&n$hZRvO^fVc%HZF^wv#=3KCt&PQ2qFmpTzOK-FmD^*6nZMRpcp"), + make_tuple( + "loQT*o8eO9@U&JC7CIK6uB%9Hv$EtWx-ic@Bk$&SkS2@7KKv8Z79RcG(ei*0", + "63v*vlcnu0al5w^^IknnA*%fYROA5avY#2F5z=(toPQ8IkV1CLf9F$POncC4OPAxV2KknK&rwQxHXm@LOXTo0Js=oFNI1uII"), + make_tuple( + "-oY@It#QcNxVrCE255Ihfudy0k1K8-@HF!IHtMhy*lkEo9%h!HHSet(^fJbiQiFttYK#w#vO", + "s^sAt3STyRKw2VdVsa-#R*w%)C!IFM*2YW37UD8Mkjt$)IXyuKom9&x35xA9w$9c%NIjb)gd!k$SB%Mnve"), + make_tuple( + "E0AW71@3(NWGtrTFkwq6XpK&zViyYZBoV^)PvqO4N$YtH22I@e*5Tf!l*YNE8", + "&x)J#Rw27i#kF*!p8NsIVNKeK)VcUI@g^%U7G=2Ns0HRiUeqMjpUlZulu4ir4IfQ1q7Oh4NVFG1#E4SOZNiVwadiwH3nBYm"), + make_tuple( + "%zrMqfreXrlVgpN(^huPKK!BTsl#zj^Z6q-XkxQsRmC=bJKdok^vSh)XDFbO4HT#PaLU", + "XrADJmKKtsLdCGnXrDEG5bhvHAe9drjSY5p27oqRp@LXxE9Powa"), + make_tuple( + "7*YL6CwT4eVOEhx5Jl2DIIlX4MDnf$8uja9154SPGcW-=JLr6FhQW&zWY)G$zwwzg3$tauP6HAB&8=uqk-#FRug3fZr-ER03", + "wR#34qmetobfh@fV(Nv1&=P#WT7nrMR-&fs9AF#qOWKZb&5DUJ&^LEIP)7pe3DI-I!3zKr"), + make_tuple( + "jv!HdrQBuUvqWzzatF9NglsAsje%$fb-mtfn7(5Igv5q^WBN7m0)jxtlpeAa7-0UU#(SxdmrjAB5tP&6yjL", + "#x2bHFBv1s6*pyqqi^%pzncGmSR6GgV2axJ#va@mc1Fe@#QbjhNfeSbi"), + make_tuple( + "YoOQO)JHVZ$NsuGP!jxr9%kc@6fi=J3=62O$koiIgOR=H=v&z6t&juJR%yfPr!v(O#u01FVIOS", + "oc$lmL9kj(dllmgn2Vfc@t(i3r0vC-lXuUS7@)wA$%%w6jJd6=0B@kY8p1T"), + make_tuple( + "e(aP@vjaSAkQYIssAETxLleIFqmcTO6MM-HqXKlPwRUJ&%$IvnPNay@*CHNL", + "AantIwSsy!(5jKb5UbCgY5iwef9kmmo!pMeIR6x*XCJ8qehEPTwnbleAe-gJZp2)P$m0q6j3F1qpr=zGgMk*S$aGrl"), + make_tuple( + "gX*L#IRGG^1jX5@bq2B!I8EM$-aP(^2XpM%kjg4#jSOisf36KuAHT7%pX4^dmOTMT$5PZ$!8ZUZlYjFddS", + "pPz0Wlu*wOU&Oi3Oc=59h6wA!JQ0aFuDG@mni@$$*Oz@FRHvjBl0S$)XebQG8Kndnxubvg6km"), + make_tuple( + "xrJSI(aIueII@TshcxIRXLQp$^Z-jNCB)Nd@Q5%dP@Wv@Bf0DNbSmKpdx", + "j2fSVRNgWRCp2lMin&K8ERmVdxJ$F)w7xj8OLgJow@GQiwNs%)AgbB1SN&*z)D)q7xXxrm428G#uoU&ySvq#eZh3A9EHW"), + make_tuple( + "6gM=Pw#lA9Qs1Wjij$2Pi3R#obPaSs#6d$Ya6d1exrt4UA7Saa5sdevn", + "k1uvumz4z*K2(gRmC$ximUAl(^mHR==dJQAiwNIVx(WVoJuXGM!b5ky25@arcIacy6tN=q5SNI9$HE5EUBh6iI6dxL"), + make_tuple( + "cjB1s^mRQxyI4mJ!lMW$cV7&c6D6^I=J&atImwDLpWk=Mnim2TsAtdhw6EZ)ceo7(&))KRWBJz$KFoh@L0exFn*%", + "wTn4qs%t^Yq$Mi&w=ckq2(d%T4T-pZbWz*33*bdTx@(R9QoPy^^u-Wa^gPAohW"), + make_tuple( + "JJQmIc^F^kdvBe38g!=hrO02a0QjbTzfuW%m=M5hrbZwKf*)&NTOF-fg1jaB2yZdZ!%4QDmNbbNJNsmSVLApy8", + "Yrfm%fvB5*yzIpcXutGoHRqG)5(gn#cJJNOnXY8yTt%rQPQRbbp#0ClezX753N7e8*D2J&$92yMMN&Djn)Ynnz5HSy@"), + make_tuple( + "RJqg$kG9gM1=S27(gF6phqQErFFF(V(6lIgeXozSEhq9QLB*3g-G)uXnrJI(fJGl6vt97jJThSFMC9", + "39yh4LXUXgPj^je8dCERITpvL13U3xG7BTno=ot%0S&n!TSjdl2Zl-DrXAG"), + make_tuple( + "Z$hXc$CQ1pn8*X(mgy(^fimG1**kF@-C3UeVY%eqXvTf$eegeXU@&iCDTNtdB!r9xpogYEsV%$KwI(kz3)hDw", + "xl5C(biFI)DC@w5xSj7dKUDS5RwdpO2Xt71-P5W$!6Rjk(OS%%qpm2a"), + make_tuple( + "%R97Jc2ik!vY6-JUv#pOuesZOvAw@OaWmJlxo@x7iJQ$7xkDiJ%&2(U1TVOn3##Q*iWdjELCFilDkRgL)Mr", + "$)4Ao(335PR@JOKe#BeFpU=!Q7qDBmsLzxJd9UXNUk!)#D9w=VpdTX5JS@14LEBxDjY$l0W$WxE!4KuOUtZ5Y1K"), + make_tuple( + "Z(5R!j^qcN&GKI)0ym-jxNjr&oSy*Wkzk&Z)V!4-BnXV9c(YknrPmgQ^!#k*BMTgtCR09vz)W-GQPaR^YZKKZ*cmuqR", + "sxx%KAe(Q=Q7&j9nyW^oENMrl1L!UbREjEAz@*&!fHe&alHNi(%AJlkvun19GX6hprajcK-wW)d%wHVP9I%8!Kb"), + make_tuple( + "$vbG-U0C6Y(gWsb9VEK*-q)4J%q)a0L#7DwQ1JAozP8TV%oUv!x2M3I&-*", + "Zr4xER&fe%ps$@UKXtp=K33HG0h=)GM0GONZbf5tyljuMmb=81X$RyW0E7*M8e#D(RVh29ZRawSMK59k@XFn"), + make_tuple( + "wkcBlW9g%)5PK*Cxjrth*1LBwAm9)Xv4#6OoP!ALLjrHsuAS-8kI(ZKf0H0Xq)bJlIJ#!&SG(Wzo", + "2QwE^PhCZQkbB1@avrq=oBDukLo*feb**cDXWn8DNbg(0iVcnR(-m3"), + make_tuple( + "1HszEMnBeKwgd4so01&t%@1h0Ra$QRb5CiiqqaDgIoMid-vwqc(wH=knBcbUIxwSNXF4G0ZML#GaohwGJ", + "=4MtqI@1Sfm31eplhCVoUd18YqjP!HSLrX1k&jBow9^jAre30fgiz&I8u10iadwVh=cvQrFh1f1p4bv*tPDK0akA!u*"), + make_tuple( + "3yL^Oqn4YRVe(YJ4o#CiZ#OlR5htjIaqSiv6eEj$gXG^xOEoX1=-xDJYu#vAXjVFUzEcQ#9Ci^gsF)6K#r8TXUt*HdnL", + "=zGqxtZyr3#u9p-6I7)^!b0CCpoMBf-rS(fN2vp#iihwY9lu@(qXJ@24-RXEuPlM!KPLOr"), + make_tuple( + "m%Xxl)2fYIdU*DVPnOgK!kAph5HPDUWwn-8@R(CbjeUjVuqODz8*eVkRgV^Oz#", + "IRIK7@%Dw5Bki$wD0ReVNKg7^ne=nTt9Q-#X7wAlpJptyFdH@M=M7*3sx1ACeXh"), + make_tuple( + "6%4p!APYY0=4YEq6kqEB*zYR!cJYd(4XA7nq8m)W1iY1O4xK%EeKT4gtKl0Xvczq11GFfyuY*xXrrMbC8", + "WSc#KH@4nW)wJpcZQRbs#jrD5DDR2QYe9j0oril$9A)QCqCMujX0Iwoh8zP("), + make_tuple( + "WwB6aC)$$KRu$GrtGy@OVQ379N79x*Ygi6mg#xF*v9cjp*MG%b=U6*3HKMdNne^0nO5gGf@611eDkyZlYot", + "kJq0JoA@!nvPjAZ36iz9bi8u7kDOZ*dvCTT#x&R9#9=nS)o$f6(Awj$RIA^hYVtSx0AkdOWmq&1oHJd9ey*=0uc2"), + make_tuple( + "jwjVyO)Z07(o3&9AaVLhxHT3s10MgNeZgXHV1y@V2KHOYvpWN)m8EiurF-GEZA#7YtlTXA2QOzu@5prF9RSHUeCZ^jDUmtqhh", + "N2Bij(O)#RSfsT%4due91kLBBG!PLbSRuxAq0%WYlBWIU%gyL%fLnTXa8AvOTAsx&A0@aTeI8^!"), + make_tuple( + "YBx*@O7cG6zytK$(QGyARmj&0qG0HlCR=Eq77=b2HaZ6ko$i5g3iyfrfEL@1!%spLUrVWlO=6GHfP2ftG!GHZ-rauup6(qd", + "aT$NB3!xDwdy^iQz-OZ8ay-WBp5IJ#Q8Th7Tld^sudO1CR*PKLb*"), + make_tuple( + "MYzeOJ3DT46p@kp7b$1BOjdkJ6PjdL%PH8!gtucJn$T--j)HIAG@6%kJ!XsKNCweZq*4MQ36^4RA%b@mL36(C1)O#", + "UJmS7^zjP8j1iHQRyOyFW3jtZ)(0wesqaS025CiYMT-jvQYMk@jOS1sI3AVi#2r"), + make_tuple( + "idRl7Ykb3YJZo(p5tlh(r39H!pJ0OyQrnnL6At0aHlST)P@H*y(g", + "KVy@PYfVa(XivU(suKB-k-ZQLq9Z1RSi#2bMZxsZ*(=XUB(e3^KCMMu*SIfjsoyBx7QFpot"), + make_tuple( + "sDQ1s3=U3IqeZz94xquy5P50%xnyKkCW(@53DrP&kP(&0ffhP0iv5vBV!nQlWG06textadQwIE@j0*0(nDXriJ7qM6P4nZCIfAt", + "Oaz8q&M3iFcaow)8Z43hzLyaJVhmekv1xv)U5HD%E-o3KmvPNCzCD^tErQFHiPmq=lKXo!WBb(tZ9"), + make_tuple( + "vxs91N(Jm=jqguSSpK1@qA9xC9b*UnVChZGMZ4u@4Qjaaq9L(mu-u1nZ&ATa", + "n3(2DHNgSAQR6y=QM(vWJbiKabhlX%WY0=fN&#l6zCb*o63!DxZLfLpd#m!L^-e$sogf^uiJUSLl7FgrDFn4jDf@3KoB1JIiA"), + make_tuple( + "(n-xiVDTXCrlYF0)Qz=oVPztKr7n!C5DhW@L7VcJeBD#My9-m0heNB^6^UpULOJfRH=q)#X7VI^27qmcm0o", + "j4DkQoc&XT0HISt0c^=bNGN0wHxytLrk3ADfOkWga6Ks!XEy$nju-BQBywgcEJ2U=e$DfOelxdENHE!T8A7)WBcnW7XS=*b"), + make_tuple( + "jHg=WYJ6i%@IL@Fhmm&@oSrXgu7f=0tZI1H2l2dVKcXCpsSk89bQQcvIQSbdR5aE8r)f7w@dDGHTKo", + "-o$X-Y#^ff$Z2E4kG^7gTu(mTYQ(EjOih4o4c6Z!HHnzrnl7@I$jGItJY#BFmisvTTkoTLg"), + make_tuple( + "IKX9NU(m**Asir6#4R8DSwrD7ji#KdieyM4sGUB!-*d66XoKP34JmcQ1SR^ArcvQz5P3vkJkV*(xPM7qv)wmL", + "Ck22)-*jlp85OKD4JkuyhMe2nrYOCOjREFD!AKW2fjFYd5iG&&6C4bl5T*kLB4zuXErhAgX18t$S*S"), + make_tuple( + "$n$FE&%DI1vjQClav4Qm8nzjGkbPU*a9!N$jDp$n1)ySh%UPUb@2IGyTs-MhmTB-QE6PZb^n#B%9Qh", + "B$J!yNZ=qraO=UQVZ&eN!rR3^@fLo2n=wgl)PHW566jRTQdkBLTfaJnkL=liN=%z^weT8x&QZleNcRtc82Pq%V*BqS)"), + make_tuple( + "IZ3KfGz!PII#LiZ=9(QdL8t#hYcgGFQOqNHTZk$gbWzzG96waegh%jMhFOQaa^N85yToxY-8so)k$O*fm6uk*8xW!l@S", + "dl*UfyIiv6rblSxjEoUy$GDRyRWm0TsI%PVx3@zE!WVGR-7Jj!j#CAp43Tk2&(NVi0X(lc4"), + make_tuple( + "xZ$%!C-Yg*iCnya2sL^jzZ-xfvGZ21S4xWc3Boh^l&v2ossU4u^8T!EMCgvX%W(#Ckp9kjnV!D3i^Bl$x=yFW)&9oEc-", + "F9yOO&)Nt1^5YD27653uvf$YygG#u9f*nVIJH-=r3D0y$3R71!6-jP*bnj$mQzaOd!9yKEKP^4A#%8A%U8oUE)6KSaLGnujxMR"), + make_tuple( + "UHsj0-jf=(d2t9^)lA4!%Bz%pBhi!Mx2xCIWmKXOwZj(dK#fJAbY2E84Ljc&^PI#6T", + "F(DjYW(qMpY9$0sE(th=acI1W70WA%Ya5h!78za%0vO((1W%8W75hB%R0T8YT=E5jCBPT7-lz=J46kq=*8t(J!V#"), + make_tuple( + "AD)CdJhn%*d2wfkl)wbq-EO&ptYZiYRP&f04ig6f@ChfK7E7fBL!Wxaj8#NO3No*pwgklNjZ(9Za3Pe(glr(k6-jpn2", + "xCno3h9qlccQRcQeyA)EORtd63VwqHwGWrkziGTllg8m^AAUb5-vGBcvV0etI(J2*^iS6U7Q1D(MBQOqIpCRVDm"), + make_tuple( + "KdTUSJ$b6G9lbl)FMY9YU-%2R%PBp%!JLFwX-eRgi)YJRcupWRLB=EzQuiu)b3Ud92$@C2%8qt6hnm)1*MGUg-!Av", + "!0xEsYCK6Q#oZ11m8I%lk19sYQmxat6uZq-XYIjWQv9eF=CmsX0F&9zB(Cr1-zM5QoYMN@A1sBuueB8KxOAiWZCMb"), + make_tuple( + "!cLA3%jwBHnmieBrxs(C*@EYVEtuwSRDWNn6NjC7)V!wL@HX5$L4", + "XO#Esqo704E*9^uNTL14H%1M2zcWW!4%LK-64ZB3gHCpt0(IyXgB*8D)q6prPp14TqPLY#$ob$QWIRNTTQAVVRKh9V&KZ"), + make_tuple( + "dU2ui6M@Nbi^!vSo3L6QT(eANeSBWULLHxm53l@YBvb9!-5-AsF73x&$&JXZA^D-0$DGs5WBtD^", + "Rd%69sY9J#sB--n*nJV@qfLmdVDC$Y8RzHGvqz7a(3Go-)RO0QdSWlpJaa%H6Qe#7ItEXXV#WodYEhv%ke#rc&c=-aVTe"), + make_tuple( + "YvltLFH^-$$CgVAvsc-nzBw9#hj8riV6m)PP-sO!WR-IPCW3B)yO3DMs&pJS5SG!qTQ=x", + "I3qPD2Rkc%iOt1xgYE&zbCChDL@eWgKs1Y*xlnwKYZaL$&3gJxiPHzWiqzpN7d3@Txi4=N(^2HS4Kwwui"), + make_tuple( + "1&-SVtX0b&sSQX7h*PVNN7OYvB)18ykXwwtYu4bt^^O#i6%A-WjDTf-2=q(9GlzsAcX9s5Zlm@E)vxESz!E(dz$5KWwVMuAWBp3", + "u2YOy3M^qifBp%aQURgJnDs$YiG14YH9eC@!0hdVMgczw*GmZI)(r0JF5&ITcQwBwxanUzC7dgjtZl^)gW=8d7q!gC#LXc"), + make_tuple( + "6vNQbcs3m6Qt6HGcF2Xns@N%MXGuT$oq(0#r$&jSOhpgRU5gFYyX#-Z@@SaJtc0VoAl@yfLmn-q5u7&*&UL%^eH!aVaMfUD2zfx", + "o*w#H&dxtfSV@Add!8(dbpCv9W&H%Dj^kw57YJ#yCM&*FF9SP@#PLvjnV7JE!0gI2g5Qvp"), + make_tuple( + "y2CBp-WxxFPxM$acS=P$&qt&q$@LfTHC7flByha(XgsVQA$n@Le2z@9AS3q", + "601@8SRt^Cxo#$&lcORn0s=aqR!a!0%JG$@YSyJCSwpB$P%$70Oi4)cdm"), + make_tuple( + "VTrC5@3oTTA17$6NPyU-N1x$vtd=z)9Yz9Al-6id#4F4m70FOOF1F&H370NwCapqAC1%ZUbH-zU*(MvbYl90)q6eBTxvm3M4ldS", + "1thq^VEY6ak4O7ZLsRPpK*D9uJE#ym*Q)cxWzRhQa8xvhYX@C*b1V3H6g@Sgz!iGXYC8$K4kfatpm1d6&a"), + make_tuple( + "Vc384u6U1KSf^bBjVi*R8DGZ#gef8Yo$Vtqh^$P9h#P^IugLXS!p", + "g74JOPduDw(Id!pJyhmyeL@K#E@UhkS4G3LlPOpMjS5yhFuh9*H@vPwbgGEh@V9*wJl!FUF=@cPdVJQU7hRpRltn"), + make_tuple( + "*Enrz8W6S*^kTaDIrIYub2$0-JPbB4ojLWl=3h!LJQNw@K@d7g*-IZZd8VbD9dzxleZ", + ")dxeh(qsLbeTLXtX38172p-)oOVtY#&QdI&fAxK!0t(Vfr*o&XcrCKLMtiZI7M=mPWDpywaN*"), + make_tuple( + "SPakx-Wb5KfbUEHTLqMgjbCnpt(YdZXks&Foq3jZscmfadl5KMIkqz6IOqr7G359IU1JD1QcXt4f80Iq9BbC%KhAS", + "&pH#SC%27yNmy-oR6y!fNe2L3Wo6!@!K0HN!#SXlMC8t9wmyPNf2ANaWTkT#1I9ZE)V@7WIJzA4^t"), + make_tuple( + "^3Vq#R6&QGzm-Fgm&QxjrHSq8pwmZgfGFr5R2P0iZkiQ00hdf-niWHh(ob!3#iIt*mYC=4cGsRgqkOqhu1=%Mw", + "K)1Efa-P@ykgOX6CA4zBzA3s)V34yB=NWt&K0r%C6zsC2P*mwG2TJqrmt(P8ERsrDl@!m3P&&IFuNi"), + make_tuple( + "bWx2!3hTLaHqbRQDGKZ$X7B8@l@oy2CFXou0K#MG2Kp3$^VoPyBudt!IHg4w3nB&(Iwe$)8-GMBwDsu-W&RMaC", + "ekwOJNN^XrXRaPya2c2fun5K6L!fEuh=SaI1VA7e69Lk7=UrTcX2*ygSWX#vE(nE2I!RG9#n%9W3CV=zE&TYNZ^rT-FNfD"), + make_tuple( + "FMY3EsFSxflCceW16NG)Fe65O@cYQj4su-t6jsfjyVrnK2#s7udz^QA2M)(BhQ=76q0wn))UAcRxAIMEVuuG@J$7qTaWgmp", + "aaRv%Vx%3k=-T&qE78CfYt2gDjWVi=Xg2n2UfDr7cBPAK4ulnolIuFmDHAs)v8WMGRNr&N3k==BuyW!WySP-RR4oO%"), + make_tuple( + "Hl*xcarBWvB=LxfDh&#bOrW29tttO$Y7SUk3saejlvozn05m^6-L)z$K)f@fb)LOeDK4kHav$-Dj$ux", + "n&R!ayvNPE(hac-eYV@0j4=6GP(Xd)2HSbKKu2#aPX)d6D7^a*uY#xZZ0)^X1aPBLj"), + make_tuple( + "Cv@1gE1D^L@5#a@jWOo0KxF)lw0!5!lnm-T**ip^56mj0Jlq^&sYjP8Z8F@FZlf)$p2EGB", + "ZB78Nx&Ss8vKA5ZE6A2FIUJC%Un*&uIhD%Zv9I$7!0Tp)QEI!3h*Tm%65%wh9f0eagAad!!in!Shy4CNmI"), + make_tuple( + "uQP56U32p50)S4&=^PtS#C0iOI)(VVJe3l*^73G@jRVmn9*2xVe-7uWLTj7zGisK)mnhHxeYfVmyU-53)1Yr6ste^", + "Oqyg@Gc3-mR!(Wx-1osvEgWfmEJAR)7&&vaBE6PL)JhD%L1kGv6a3fkssGwEYerQXyKa*mSw0Bbxlb#uncY0PDBGen4Cudu"), + make_tuple( + "XPSDfBu6uGC4i!FEm-xrKXC)=pO9%YjkIr2q9ICk@zASlJvMWJNk*P2ha1C-Jv5DuF@w$CNj6S81FZP", + "8(abNCw5nlWZNzVTdEMWPVIpDZ!C9Llzvb&(Pgc4q0M7%d-nUz"), + make_tuple( + "M*gT@=LsK=NPm8u=BmCgxjP&t$^&iKFrHZ)xjtIBTF*0Zzl%9RZz-GRf=VhFZk&!cVMMQz43Z-gLFQGE7y6$", + "@anijpQZ@w0WY^qT7*boKVPhwHkcOOyuP%9jDFiTP9lB!@V-JH"), + make_tuple( + "mzcLCwLETIy-p8t=RUh=fABI9-EMO^(w@KP)7rO0FT51CQEC-)y07(1PHBht&81zUXkywPUXdoRitDLJcJ1pboBvOFKobax#Bp", + "Zg(P*-4Qn%EsmcG%!hRje)yQYLnLP3CwtA1Zr#t-&S0U#$%%PoD^X@TL2TM0OTuRNL6=$E)6bKNpcGaI5*DjryZq"), + make_tuple( + "9gKca^nWjaX&wUNez^*NwsMTF=sAXsj(Sisc5)!)!zXX3t1nE=em(XJ&okJeiijj", + "T-^1I@yQ1eCqWQ4sNtWGlG2@GKy4yM(yK23zBUYV5SvKfK4rNu)GCzEG)hRjGL-s*=ZCL-2D=mFt-p3B0oR5BN4"), + make_tuple( + "*vUt@%6mIJK3DEU6pN%M9uUswXa2@H*pa&A5TEgMKcs8i08&g7$Bh!9lR-gd9", + "(svl&fn7dJATbla)dm1th^**c-X(TS%v&XPHxJTd702K^E9xs@%Sp2I@"), + make_tuple( + "G#CYzu!dE40nPxtHuPHOo=xgr1asJOCB83imJ%0QG%9R@^GNDX9KNj%", + "5mhOZ0tEfCmRaVq4z0^QVZe$0PnKWEfDWJd!0ZGkUkkz5nbZIx=qc)Z^E1wM9@(d"), + make_tuple( + "JWmozl(hKZ8CsbMhw$erGnPsgAN%Oue8F1Thv2NH%v7ufhr0E51DpWxD", + "&spY9tG0Zn33eQQmQcCPihw%c1v)ZdVevGHZ)j9qxJm9u-SfeTs5B#8THqchRe&x"), + make_tuple( + "3iu3Biwiio$CzT&a53iF@oy8PUD1TR%O&RGw^FilaD%kLgkDzbvKb553b", + "=B6qJKfTLwlk^F-TusAe-I8pQ#mEyDDT!n*d#j=mVCq6&OOMBx%C@lqn!!Ag9c3"), + make_tuple( + "MDXvpn!0Ivm4BpG2YwRnygL=ChX!7TG)X$LbkIa^i1BGohMXYQ31eTjuen#3HqjG-M0q@7Eptf&q", + "BrIFhl)Fx2c-BD%-u6OD&7*KxBB!(e*lo7w@ErUFQ(ZWF83X#H&Fw3v6l&^g#U#ve45aK1(lT$LxqYTAen)DRzRmvgUvnc"), + make_tuple( + "xZqc4^0HEvKJYi9v!Z8%*g=XfZ8Z8*vhMlpQVR6DL(ukT$jl5XJPpsl=PCItfOKhuikwMaqNicrPNVJXR@hvlk", + "2n#L)cprt0X#oL220Z@%1CqG!g2WQiiC&8#vdCBRGM2-nhmbvA9iYbCtp3hx9^o4zbRcJId95ZACiLyKY8$V1UA)Y3ayw"), + make_tuple( + "Fq$$RnGdHN$Fy-e^n!watf9=Dc!O3v#pax4dkiilq*E0Q2$uW8GmE8Z8Rm*9xkKaC(z1nHb29sSU4TZ@-DF7LatNV=spuq", + "0Vv-J842tb6O$-h@an=A#AsShAnZbXcG74$y$2Byv=QwIT6&@BQ$-ZFTHue0lk79d"), + make_tuple( + "SaT9DPRsuzdkU4#pM^wQxlA$%sovpnKa(NIw0rh1HzMUsR%v2zGn", + "uaYygo4E1I!*2n8urb3qcaaFZx4semxJBRvH7A8VYBlFmIngFVgu))TIA*1DG&z&#ofv6E74$*-o&kR*k"), + make_tuple( + "T^@wLGdjU7*0lkZBvD-6gcacNa=Nmp1JMej2tcXFVBV9Gu=4dQ!jYQGbepUWe2l", + "reoz*-86!y%ay&QD-uxucr7FEd7GgjR0XfG8maFvBszR^#utNyz0!1iDbS*Haly-o0*-dWLLMfitr6Q3*MkeLYu83gAN1"), + make_tuple( + "x23=r2FI(1@uwlvy$dv5O=di%!9@cXj1gza9xI4V@)#uO%bJcoUqn4kzM=qrENimpZA^s3mqi@HJnu%N!Ldc$vBwWJT^53y!E(7", + "9FwHK%vb22p6U4FKU9&gxtoJo!KJCuwflWGA7F1D4Og2I(T)==HEPFElH93jNrSc*1afcHr1r*ce"), + make_tuple( + "qxKXTbMx!9nYT0)E=SobgStKUjRdhp%VtN%JGgrbYtPd=5jZdq%iSOh@", + "OV=!%hRpz8VIF-LfP8NmdbJuaqqB^#pJC&CBPp^CLu9nw=G1G!#bB"), + make_tuple( + "Tp=@fBXib2CMyi1#CaT^V82hirz3nN=Ne$B9oPs%!yk8Fj3=AOnU2Zv-VHK&E&RtwE1(owD(k^@w8mzMQt2(7ES)dtlyL$m", + "yIGE)lwTKEmWSVhgpYZGQHNV78AVHR@U*NcToM!-w=gfzzolwl8*c6Pq2jo5lklp2*asoKIqmx&"), + make_tuple( + "7-yVxpFVpcT$7Zocw0YJW%nOikD=Ez#g23hd%-e^637Y-p3*3@S&mJs1B)7*rpmpf#^Ic87IDg#", + "YXrniV32z)db%WUrSzYJjZg&D3tDRe$Bmj^LKftix*pfP-Ny3WPE&MkHl&ljk6aXE8kCR%XZs="), + make_tuple( + "Hu-d(vhBQklvlU3dqc7yt-BPeJQh6ZnWQ^XcssryssPHSf)g7mg=N=Jz3AVl(NVKe-KEPPbih0Cvbl&YjDD*t", + "!I=RzyfOB)q#1iXhXwmy&Uyz)6%DYWVgmyrzI8Hcv4peKcTLiiJSsoL-2JT@Pvhkf^$jDJ"), + make_tuple( + "rBCYb508Hl1JH&wUql#p@*Tzby0#5y)mAhQ2r*h3RXLsMtSz(pV(^YAczHctFJV^Qq$r(YtHW7TtnDtNjy2uc@1Rw2", + "^@)SXkIGI)AAW2(iTCVm(%kX1tiG$KWcm@ZlLMmKihdXwOL8*fBuWyn4Aa6B8aq*ExNV$!uPga5yey2i32WpvNBixHmD-^a"), + make_tuple( + "ygSWFm1uH0pn)t6&Z92Vzs#9k2w2fQ76E-1EM#oT&qQFW))Ab@", + "k@!ITq^L%jALKiLgluhqfAru@L)ZlpJeP#haTemKlBIVSoZuf&k7ct-n"), + make_tuple( + "2&F5KCOX$nB)K*!*LFrdxz-X7Uc@ryD7fI&CNLx8ms&P(LN*r10tb4==$IuGBBB#zqK0ZWOhw3NHci*lFF2vxQ1cki!%C-iOQ$2", + "1=gX9aH^iLArYBp$)9a%IxitvFTyWkdCjmbm$ttnq&N&28F-dq-qt1drG5HyPZnEvHv"), + make_tuple( + "Ay*SR^n4RSj9blF0Tib)dpgbnF)LiU%A=!l2BX(o(tuor67i=T3w9eBPVX8XC&)Y#)8E4CxVC^BmO(M37!YhB9Nf9Gn&47=", + "6z&Ywk%D)uyHs(b@^^rbUbhNmx3gWW$25e=##l$$Z)G@-Fdcf@Th!bCcC0YYy3(I8XJn8kVxTAFT=G(-XQik3U)KcOY9N^A9aIu"), + make_tuple( + "5YeN0V(rRT5mE-PUIhn^5uO=kc$U56kqX6obt*vEWG4$D^(DXLpwBVnXIlS&=ayMc=WFe)$epi", + "e%N*bS6VtC^Y6SLb3Q$@uKQaoP19Q$M$rb3@EIFv-lIa6Hyjr73*vKRnFMZK%96XWbW1AcI^bqCJpSDqei59hwVEW$h#oelwx0"), + make_tuple( + "E7f5Pi5HM%DOWLx7-AynsTMkcHx2wf#tPKpwU$v69y1aysu5IYAe$jE3-Vyqo1q6LHHF5b7", + "5B6D(jRT-UFM9p!N*o8kMy2D%DxD8P0^#ODP1c!dR-lnSNT3c6wAev21KI=X!e56=7GJb6L(kJVI!dJE46Bsn-Y"), + make_tuple( + "bk7Cu2d&9vITh@rl*NCBd8cse&Eq^#8(E6WYS#MZv0R*jF#yNNJuNGPbdwL%bDwM*o%C)&kdDwvSC%", + "#U&$SF*=##y!7d-VcHxXRppDrtzAs)eVCB!z0g&)t@zdWa=YwhX!szu%OqY#A#(QUbSLVT#-IrL"), + make_tuple( + "oe^aHqbGIE$kwYm3X9ehTp7HF*q7@Lrte5SE^u6&e@07YFvmsl)ZB-fwv7hVxD0V", + "Y39#wa0^wacBJ(cG=9!FSwn=at#=g9@SQ56g=Tq&Hj)5zgyBX)jVQFP8y%Pyh@JC)Ma5UavSh"), + make_tuple( + "DEFD0iuhq96XLIePNns18X@jgGOzvCy&kdLbPmDj8!Ebor$WyC7-Zcca#YtJUCZ(Poe!1Qhn3CMc", + "Jn#7#^CG2K)!9xFx*ymK(AygoLG(&KDc90DEaTNI1c5*yMQ6*Ad^YKjfv"), + make_tuple( + "wO(AxfvrdIfuLDqFczrhPp=#i3ahf5YEATQ%=peHCeRjeP=l9xhHL", + "Om=J(HlbxmJFTgT90J*TDHrXr@6@Ot#(JLLMTUch@zqYDtDzbQ#@W"), + make_tuple( + "VG!&EALgBaA!SZ5Q-csTF1TZDcsE7@LqB@bsKDFhZjE5&c@YIBR5jIbC)9%x8O4nDzVt9ZjRzc86zw*H*$8mEV5cQ-i981yNL", + "bWG8*K1HCd9Jp!NE#3WZa^831E#k)VVi*GszAx9Mdf$oCqp&7m@CJWwNpPos9IwEC-MPl@AYaAQA30ZZjcELGG04$Ln"), + make_tuple( + "X-QFl-B^@vJQP!8i6joBdBSb$HhigAonZPnhQpAMEQkxmlJ#EXfPt", + "5qH#eRgDtB5f1VtKm7uM-NBKldnUtwoNyXbMpM)ea!HVA05!VaxDoX^zAJfbtp#6PIjqa$aC2^a!H=Dn2iZ"), + make_tuple( + "DMvLBnSMwLqNHyX7qfUZU!2jSaK!JAdZldc3pU)fabcxkm#wg9n2*2s-44!=^dg^AE", + "gFmd3rHDmYzy5zHPlepcKgc@B3KwAzzjj6-MS%-NcjGVOAMuUgysKAdj4gix1mPV)Vj8w7h&4Q7xw&TBzEJH%xmEDp"), + make_tuple( + "mj7Q5z)HX=dLxl5IOnkv0(CiiHiP30fyTCGwMwL4MvkmoS*h5Gu7NWhLE^ow^UG^HMLCMT&3oAm(^XDs&r0))GTJwHfcl", + "Nw76W$#@1O2voh*Y6BCRu2eJQjb-#U-9SRt38qYOmNZ=rktNQRF5w!SMLM^w7ZS"), + make_tuple( + "%Hz=vMhW1-wsCrtCIQv^(wpRUx1bcgv(jqdMf8olAqeCah*URq44cH@7-n0sX%6=6zO9v@^ph4E!fS#LxoNfSWzbOU0qakByPbn", + "tnn!Wp9(h&Mz!rn9GO*ON&7N@Kll0423&M-HU%(R*@PBA(1eMdSUiHJwwmwCF#79@mf5Bx1nOxxr3!Va%1dv"), + make_tuple( + "H82XHXHrUuvi8Qzz3S@Um29SN8pN$1g1T@=)SBGxYJOxY9Q^3%fqmt68)xQLy4BO1S&y*vxClGRWGOnTnkXG*!xU50%OPHUE%", + "JK8dN(K0%!M04ammY-TSH(jV3p3G4mhDF1&x4%GjvZ*bAm6g-a(9V&#MOJ-2XF"), + make_tuple( + "=ZKYQPC0UO4hF3wWcl16ORh8x11c4a7@hx1hJ#wFsE8)gNTJF#LWo1uAJ(m)g6BPKI9&^*2a^$-g6U^KA7!99DWQ*Ek@", + "U#S-7dK@t3Ye(h(yQZS)9Ash$S%mc3(6lyE5!vE43)2*$q$6X9%fPcLsCliXfjceo$tR43=PzitoRRV32wa5Sc"), + make_tuple( + "ltYPBbOjRRGJX45Qq5lH51=fhaI$e9TXkhy5cxCHQNfo!C&s%*Kk%HFU@8o6Fnjgr8ae5PazcmT^r(aKm#azO8t8ALVzsuj", + "yeD7-pezVx#w9u@VQfWCdhhQK2FUN2VYuEisN$D(=XvwvYdS))qyBHtTMFdJHZL#z6sFZDsd%5r255iBp8IY=BqW0"), + make_tuple( + "Jk@3SmfkZRee0OW%x*hGKxT)Z7^$7%C%!G0Ijl3n*WQpT-mqKCB8q2Y@lc%Uuo(sA3Er%Lk0Br4%-uWbFlZJJyNV2o$*", + "63)6T=mqdPTj-0Wj=2c#YskYTvr1=j9ik2Wu(&opB90dD$GEx2SLIG"), + make_tuple( + "QQoJdk^*P=sltLet^ROSYt!mLc2g6EDkhN1oU4P4XX^ika^RwZ6gH%)x3pXeaKSrJZ5IhHyIBjXjyKV)MQq0", + "!Yg@M968TuPuI*BDYSh*0OlfkYlME#CXNH9Der)ja#-N*ghRYroXF"), + make_tuple( + "6iP4E48JU8KX(hyyVqjz@IeQVpKJSBpVM1wgAiZudQ!oJSBTO%dv4tJyxG6&8n1Vh03)4LBOL6eBEX6Q9Dja(exc2Q7eGV", + "JIDaSHtVhj5Jla^FM8U7IXDUHZoL^DCN@gllN)rcudu6Mul-L@J!(dYxGKt4y89tPSTUis=y&bLy@WYAuLt@iV-9eXA"), + make_tuple( + "M&y5ls&kfAyi=eOqCcf98a$X&i21cwDw!nouo)bSij&*XY1IugZaH-*CngpJZP-ThfDndI&dT#@l9aaqQ=4xjSdEAbB%wUbXU", + "59SslQr@I9W1qSx8OxvOUkOOc%%gs-lZ*f4ihlt-3mxo1XYE@6-fXlh5y$kjnKf=ls802oh98l#p"), + make_tuple( + "t9lS(TMiNf0t#zBCCAyaOHyVLMpip1=sSTW&H=5Q66rnuVn)70aq=JBUbn(JhDAnbG8EzY", + "KW(Vm!ZPczpY@$!0O-hh&!a@6xqa2%D-zP%@YopZPOY0Wfjdy6aJm0MDd2xp$f21!q=J(#zTE6)PYJ9j-!*)ypGe5vHs(Yht"), + make_tuple( + "44gG-NKUv-@if-89w3coE@HzuOHVr*snn#TwQc1y2envDM4NIA9hTsfxauLTt", + "xbNO^L*K&hkmZ6#3U7mixa@zQMFLN!C&Nn1r2N4AL1wP-WyHAMu%#2Sj=cpNHt(6$NZqo18(A$o4&Gvp3)%(Ot(te3ZZbsy7"), + make_tuple( + "G0JnALxqaJGLRhOzI-^Y%RDghjI1GqX^hW%E^WHkB206=tZpptxa0Z$DEhQN%tmLNh8$%y$SU8oHTjtjhY@F", + "ZYTBtDqjh2@i^6E-%#t8Wi*)u%T5x1$(to2SVu(m!sWqv6PGRO0OR"), + make_tuple( + "ykoNyPkkUcdW7bv=KWr%VQw4ligOeB#h(FQ#d)ddM9*Y#b18In!2hD1cy(eDdQPHCXhWhcfC-w^Y", + "l4Gj!DpT4f^RZ1)^E*hvM=V9zbk0glI&YYOOrT(anzjPs3jpPpODMIkyM6wSIuck9T$UqiLPDUM%zQ"), + make_tuple( + "si^FEn-B*^K82G3qmAT!1z#M19TtlHuervn6q)mj@4vRHNsvNbAy%)wXMiure8ei)bSJy)C02MT5@UE1ZNh1^djr", + "2LjeiIl7^0zPkE%wtxPKEjiNKjsG7aaugSQdh2d2Wx)(98nr7Nez#xwc#HInnawJ(db9kVRHD(qlTt^uE74qr!Bx%5IUm!W@m"), + make_tuple( + "@KQ#DxtJngVDvrbKw15l9KG596QK&64*T&JmjJA0a50OBtpETsAIu*tTS)7T!$V6GP", + "oT-S6b!W2uS8-3jMxjGMLGyNx7#c2ZLMw4NJ#*SiDy5^zAdenrTF-HE%J%4=O(YEeUPB3WvGHwHMgXqGvIW#N"), + make_tuple( + "nsgmLlmsEJi3QO8zNX1YO4L)IT!yNR0rp)1FdP&3hROw$JUFBeFRY0(azZ3xUU*", + "#S&tOj(SpuZ*=#C%GFSo^a%89FWXkoOE2Dum4Yr#kiHOAvA$PkgP5mTS)n&u8kv^4QS#DkFd9Fq#C80VPoaBj3rKZIjRNfQe"), + make_tuple( + "*oAdm)odz8hlxhZ$n0j1x2XAIHo=xjEeUgy8^!jyt^p^3YKT@xl@YP4La)y@Cx$ERVFc9wuZ5$M%F-xLb9eARFR", + "0995E-u*B7I5Cg5id-Svl#dvqS-*5&V#U!j4fW$w8*udJcFjJAPY3H@2^0C-C5VS71BKWCGI^H&RpfrA#&"), + make_tuple( + "wSEfDim@&L@sqH@NgUA)uj#j7lKFJxjAMl$GxUNTwWe@gvIz0)hnMYHAt&Fx0ebE3%@dAbr73#sqF@4U2", + "W@WNY(FWqNGUT7SVH6DrEsut@RGCJE5xIONr3ZpG#ON^UJ-)6aJtbO4f(By43D@zCKg"), + make_tuple( + "P%Amo#UT^07EvigQa(Kn6u0@LL9BWo!kl*prcNw2z*m&y!w4mdraV)#6fxzbqViM0xBU6a!!c", + "R4fO=sLcaOuOv2Y5oyo0mST*#RvTv)2&HH-n3ksGAdrFbKnv0n2t2liX5T"), + make_tuple( + "-NL&4u%hW^tvzQ)R=7uUms-xfAK5fLzsNk8%t87Abk!LwpDLb#oPhtw(^Jo9iu", + "y974-GXnyfjUSz-1qr19Lt@Q#$7g0d%cLbfD4QRRDvDrdaB$DKaEQuuVW82b"), + make_tuple( + "IalQaPgB2dxZTpRu53e&OaLYj2-xuC7Pi^wPMq)6Vpav$EtYlf9sPnZpN3!RQSd3(4pN1iOR-Qx2m=f%", + "vv)#ylHt)rL&nRm-$#CYXjxILY#l=2ez&)Y(0^3x#ng8Zo(4Sl!kVXQ4@2!I&L2$gG(8"), + make_tuple( + "6tPLl@wNY4j7q8*GDjRKYJxHN@dUSv=R&X7vqLFwH7x$b@Xkv-hmNTix)u4FYbqZV^)gT1iL0wLp=1e9gv1^yN9)HNP^Qs", + "v7RLRd5Iihbt&N@5*@EOaUE1%TfoRZCZdooSBroEvO-!tKWbaSV@So6!(oBVLL)DW334UCoAs@I*RQtYuiA=xirfOstHgk"), + make_tuple( + "Ft0l(odPbWh*9(cV)d-0Q$c&nVaq%ohhi)RUmXoR!CJGVHvWs@J720=iBQe8zNd!zrYU()c6jbAabr=HJBfrn^ZxOlS", + "aIAw^IIdY$Uq%PPIrTitxk@Cs*GYYKTb(E7WpL!KCIE)gA584BoPtovyeRe^!Dp7Z51oDqCw)qvyB@rSvjaejnEtBA"), + make_tuple( + "DY-e5PZf-4TmS%Cni7G)ti-S6II9zcC70Xz^hg0UM7%xdtKAc-#MFc2f5mObnhRvUh2GYi09utYCtwiXe!ERwrg=Lf@5f", + "gqe$oKK!m^Wm!E$(ujG$Q5M-iTABA0VI=5c167p7PvaYZnUhmBc7dZt19"), + make_tuple( + "d^G-im1AbaIt$GVaCw7sKBjXW*g5leK3eFNoG8cy&&YugMkfo1iNP5dkK^9dkHp9v4kwg=fLB$!)$IaPQX", + "DBDMvaR&PrvxHBhxmzT=mo$jmkM81@FVGR=W2Bc$$12wyaMH1=HOP5Ongs(sF3xZWfo0N*UJ)@fha)9DgjHpRbh*x2l)nLX"), + make_tuple( + "g*$(nsfo!LcX*Poo*Rt5YBzz!*Xi@qo89Hp^w3CyCSVKS@6^V3-AceV*(pa^-1V5NUi1kv", + "Wcz*DIPlajtHMAuf%cG&s5DbfqGLDMLUj%isvUmx1y!n(hp48vPs7(ZMPs(%RMi-)TSWdSHGR@q4ELQ#VIZ*$@BiHlfl-"), + make_tuple( + "2*Wvt%PD1uh2nKJZr!8s0TN4sNSD8gI!-E3H1Mws&HxFiPUdg@#uZ*ks#hMQ49g1^^CB#", + "mBt^7M^69!92cx)uTfE!z%nT*TjV=23GuYGY2Z%qJ-ukC9k1Bo-I%d$oFNzJtt"), + make_tuple( + "IC5HSyZyvZ=hw@ogSSjfwBT-QK*WW=QZn12QRJ8e#PXI7cl43wk8JRB=2nH)DHKYz-pd#B*(8gZ5F0LkJ)", + "7EbtXeFX#AZhN9xGj^T)V9KYBp@!Z*(1Hu8VvU4VUT7COJ%J7@(Pda)$K)%"), + make_tuple( + "&*dPUoN(7ZU@bn%!mgjDo^Dc%BtOiP5IKpamHL9dz8=O2)M)5^Q0O^$L7h&IUo1lnkaQE", + "v7Jn7T4DBHw7iq!zq#ylEaQ*2uKP%9bUhv=@Y*&MxqFC51AWP&f)C7Fx6J&DTjfoG3HcUv*emryV*JMB(&8"), + make_tuple( + "Uu#^oH575EXD4VcoK#BPy&Cw8R67)=rK!0%463GD700rP2BK*UiC%cKoZ4X#&0bLTCFYG5H", + "^BvZG4&SM&90^orK3CQzcb=lTHkCx%d7eeUKtT5Bhn^-h4SbqPkLaoRTpDggGHfJSV^eR^FL&3Llv$5hSN2JX!jkF(mt"), + make_tuple( + "$YBQujOH!MW0T6ylL1Cr@ivYfD#yaK$$rclgFqJ*6lEggAFkRXjO56cK9PR%", + "(p2QL#mE6gict@#)gr7pWku@!RlDa*jSdE%43dHkkkrVGxBWzrU^9t2Vg0(EBufghufr)A*1Gq#Ewlo"), + make_tuple( + "Squi9Q@gsQ=w$M6858(Ucm=qFWbl3kw9EeEY5eCH8Q8pzs!e0pXEIo4n*Mzr&^FrpZ=A6AgDf-Xkq3)fhYUVV", + ")G!IS9%rDa$3ogj9)bKw1uLsSRAqDLc@)CgzbqTJcDn3#$$)brYd"), + make_tuple( + "wGbe#NDIxS)T4HSGK4sidT1=6N2CsR!4eEkfK*%J7w$h4J@vuleC$tG)0huED", + "97q(T%Yj9U)U9iI6Tf=T*lPcHwvDK0yu1c)PknT1&q@w(IZ6Cnw2$kB9"), + make_tuple( + "mYvX2WmX0#H45WovH=YyAIO2%oCUR^ZhyLGYlQ^XjPAj5@$KK7gFfBumEo)Vuf&-rEyVFWM4uPGIFT", + "vD468BuPo2&MG2bShQ=QN4!t0KD4!AM!M5Fz9ZGXInq$u9SxfE$cP&O&ZSSnITPzB!(c$d3kxclRkpqlE6bd4"), + make_tuple( + "dypF)TUM)XXX(i(($M&N@HEP$v$t0$j4ou^T7%k9CwWWF4WOTuWKa$GqQuyDo7lJ9wZjA", + "V87$7*Ip^q!6ZIn&$3FY5mqZHsdU5-T0&npCseU1v=f0MiQJ!(*l#Pf"), + make_tuple( + "kSnh3(-2iQ)trjuF#@&a=KqqasogLb&$ssYvgWUNfLtpNW%JJoIKH3ZpH)fwT%B15s9", + "9v$hP4n&nwV$Wid4II9*EukmA^$^*0UUW0fvXqTw1a6sTn=K#^Z@2VC0MqaHCcFf41W"), + make_tuple( + "y5---EGL54*jOrIFn$^Aac-uiPo!W=!s7K8$YI#t#xhtx1WJg5h3t%FVx)", + "LA0Mm2@n9eo7)8KzOTF-I0wu=-f)#35!Z&zB7wo(NoWR^WS1nBSr1ni9ZIhfY%XvFCDzIMn!IEfY&*uxelui9S"), + make_tuple( + "9LEJt)J%EmctKgJrOu6on3JBz*oURHZ7u1u-l6K1xth81UyWz30&DXRD!tkTQZ1*Q-uO!zR&5hmoBoNL-2vYHn6jtjD!uJ5nMO@p", + "86CTo3x4IrEbej3(L$0vAyQb=NiPXUEi)u-u1Cz=uVLmRwZcIzzxa)kjz!CO-D37Q"), + make_tuple( + "BoEW%!nTSlciuXM3xYu1QY%@HymOmFQwaj84yGtU9RO1i2T%tivzt(bAFLiNu&ntgG*smxqh#B6SKKnp#jEA!IhpL!g", + "(^99T66vzof&3%RS3zMxmM#D)1Bcjfb#@1WdvczvzQqze-V*upF5FAJtumk6RrxzA!O@ki885E2x-UZEUE^)49EpYH7d%o"), + make_tuple( + "C8=&J0qB1PBav=DA6Y!Wf%VpRoQT^!=M9WyBg$B36sWzjvCYbUGrXK9*Y4wyYQJXrw8OCL4epMri$sbcH*m#o", + "Q9Oq331EgWXDutvJ*Q%RGcx6prR-o5hp=$v%CqWT--D6iVOg5HgYFQNoxO*WNKLerMtj#A"), + make_tuple( + "4YMW13SwDDo!w*lRG0)WzYX$b%v)D^NQta%%doXbNN)KITN%Hs6%Ks&hd4ebn^)Qeoll0R0RQyo3(8gYrEnfZ1aAaWD=", + "mUaxyZZWWu)asy=RrkP5PEz^A8YETu1M-V((pK&7cBu5x&Z-1egKE1Hi@#@&AoqLUt0v^DURKt!1RNvstX"), + make_tuple( + "TFfdpam@2Cs%gywuqUy=V0PhU-UOqDsQwoXiCr%dYxD-(nDPOFefra6RXWeHM", + "Y#)FlkrxwM*Ay2*)wX(V4i11o-6Nw-0kDiElOjO1OVWOSqAhVMjd==yRJLRBya-H(NOryDgG&bc86"), + make_tuple( + "!UmJ5-!FWQviEe9e%JbF5kR=oUl-Qh2!k8p5ic-a56^CQ^xlnQL)", + "^7(7*H)Q!Y7IDOC!uxALocn4vKtzs7#$cR7OY2lc8V^s#ut6Geh9)YoEo6g3xHwTLnI1g2p6Im"), + make_tuple( + "4qX%1RTws4i$hC1l*eNl4wU#5$4ewm3FihBK8D(@&a$WCvx@go2yqkvoZk*-cg", + "ALNLtqGRP4D2XLyk90WV9Oo6KxHT92Tx=DILs6=M-h5wlZx6c-5iuGnfgBf#=reixXF*RE"), + make_tuple( + "*)5HnlP%RCW0DL=)R2Ow2uLIp9OVs0vDlJ)F8Vnr4E3-!f3pO2n6IgaYop8B&h=w0lrchK", + "kO(Lnq-A$G3DL(eCbHayS)a=pRMEVwlMxYKGtgauEoR@%WNGNs9s3n&^&2(0ab1ncB96eKW=51Uk&JjxCq#O)4-W4a"), + make_tuple( + "zEWWEi5Ui5yVc4!%XvUt7aGzeCpLng^a=rn#okYGcXV(x11VvW", + "!a%Zz!LX8ZK(^i6qylS5HZj7cPk7-dh%@fnayLaQ=&WGi0F=S)QqobwqLG)OCwuTV1d"), + make_tuple( + "nh5=LLA10RE%*ot-dTCZRMac%$H^G*3nDrzFMe26UVrefRnVuOEtb#IJ!-lQKnNLTTjRf%J0o1hSP0cehDhRk2u%MO5O", + "YonXUut6SNy74UjbM(nIIf((gK0yCo4cSXOhZW3MFKkC54S*jCrxu^zf6kmKsOn@Skg"), + make_tuple( + "mBn6Nl1X7&wLIknE%w!(lVuaTr5wijv-7D6yfs#**r$e)g^Tx)uVuV!bEiFoU#9#-3=%OkfyE*ga##$", + "2TF!=pjfX6(dcxtJPNcyP5yu-0V(V1R)DSUjeR@@QzCws)qJGD*R5"), + make_tuple( + "uPQFQ9IldIEVc^ts)%CpX8-1pf55K6#7F6Rk*^9qN^9ta6AaO6N63^HKn", + "jq^xXO81eZ&Gt!VxV#e(UQj(4j46aPOY0GxQv8a2y1SKdr6lr8"), + make_tuple( + "d-tsSe3nfgQySY9qwAJW*J3o9JILLIuFC8Ubll3Awqe1ToW)lD#fCb$PcDgA-r40rtp-4bE", + "SZofNvnY8mQ!NtP%9Erj2cr6YR=RhUPndPRVFdYAXzvdkN4h=Ea4YS4!&QQR$fJ#$sYU*cSZSBJAVNPJ1%!GU8mi"), + make_tuple( + "NjkkCzge0=Iv&NBwU9FmSc8KpxW9U^P81HJRSr38Uc4*N!TZ@LNTLmbMClWTmCW!kq)prSZ@ky!YCCVvA9m1H63g(GQrG", + "iouwH4jaM=V%%=FUnyB^2oLquBWa4bGnXoXNg7xKmtGN6*-7Qyncbq@j7drtSEFiEhjq5b$RfF70RIHbz=ra"), + make_tuple( + "$ZpEKI1i$gDk=z%#8%tJCC&Li$uWD0qnwOJLSLf=fZ#og%*1nns14IVhOUw7mJt-YkzI@eEvzh3", + "DqivWliucUG4Yory4LI!u%0TN2%k8K3WoMVJWvoaUSC4kYkv4B0638$athF6TUEUEN@SEwU2idm#cueM$OlO6J9^06eB2R"), + make_tuple( + "^0@$xRmXl##952G%c!npq3)7SYrj*)Ic0XPJ3%lnMyJ=v-EukYe*hZ%(c#-BfK4vfgq(Givl5FRaeSoeCsUt0iB#", + "CWixW0o^D3D0uJvP=yymRa#%KQZipd3SD!*H$Wk#XSFW%i)o0wD("), + make_tuple( + "61JjrHyAyfF2yx%V=gHZC4T8LAO%I6XVr5MH$Tp(K^Iyo9KyAS*--SxZ&*z^Ecpq4aR^4OiLFI3d1709", + "qNJnWwsVTaSPjT$f3UYhzSbyJw82w*XMf!6p6wyncaro1BOOO@DJ*7OsGrzgAe8qy@xNuWEKT@pNrjlH#-"), + make_tuple( + "Rgp1OsGyxc@^AiV3IwEwe^3w=CIaY!%etX48ITqi5nmvlA%Lo&W#Yo!W#0*P^95p%H3g%zn^fQDIkX7!ob9DC", + "rAYp=V#orvQlT^KDidB2L$*4FR-=*q*@wgoruH0-ENH!HtW^7UtIEU)(%Fm"), + make_tuple( + "UqCzSrK*@E&2g8REqLv%7WoRQHlPFFG3PtzzM#&^kB@^M*N3-EH1z", + "q)^Inhgi0@Q=#@ZDu6W&q^@bafe$VngAw!mY4G!ve(25%6T4G6%Pb!Q5G^8Ir"), + make_tuple( + "n5bFdjiCT$coOjQR0Hpm91QVBbDP(B!N1!zRpp%3fDUeUDSOwcBoyCtqKWG0v8Q8VagMn^zHepi)OAZ", + "(uAz%r$h0QjBeAber1S85IBV3ST@qjmssYavRzJ2x$OHcdCr3T7-9hF9a"), + make_tuple( + "KW6N@3CHd2O(adiw-YzclZZ%rE4c3mlgQi@!dx8tfFsgUln-TOd)N&T2mhP^xC@9jm$i)zuk-HPKHgn8", + "D0I8cw=VzGqeIDS(eoLCTT!T%m0T4Nz67NfELXwm=gmkkaS2fijLLHlo02dVDd0BLrhWZRIy"), + make_tuple( + "Ef9EoYnfiduG-a^MVU8wD6^&QkGWFj2pZG!%pCg0^Md$ht84QWWW0uQiHcMte^XO31HwRpbfT6Hd-rzP$nL5eWVfSFEgvNxOh0", + "$DbwYeJ&5Zl*##P@iS(GOPfMd#0^B8BFWt)r1DKytbiu*t6d#1KQBsXn*T1$#2kMS4MGI!1E@7W#q3aOtgb2W2MRZpb!!-"), + make_tuple( + "dJPy=h&82s@WaBUE#U-GTc*jok8AdmDR=OvuO1l@tivtvsZnDmN3T6sfNYOIFA$4pT2$gpYC0twW#d4SvwEzqNkte", + "eCOE7Mt1MOLKNRC9chqR#pXld35^OZEx0o&E%25c$jetA-rUu%x)=be%^n%vg=hTT&JcO!e%*xm"), + make_tuple( + "wWvCN*xCjRTjAgV^T*9j(V6rwcWeVBZgBDsTFaFW6Rjup8lnPrc$!dDFM5pcSOUN*1SUf(vi=B6CUFbKg2%HlYO7HXUkd#GL)", + "SC$!OC4C#giiMlURrONAT(KcO1ASc!7rtPovv^@Yn#o^gKEquS!Ye*oqVN"), + make_tuple( + "jrNyHvpKFsbDN0vhYsM10=n%fnl%VvfpLB(LcSAfzhsks9r)rHbg-yJYnU%XOC)N", + "3HdqeQ9VR)GFeG4xCPVTUwzfh9jlLywlhRyOuuk1WqE%NcLHxhorXH"), + make_tuple( + "1@AkxEuL96ILWj*1Cf&GbN@Huxc89VM-LU7^Z1y@6xZ!z=qzYEd*uZ*G-!7VRC$zjo^03gKH3ut4KQ%t", + "Z(83(lQR=(k1@NAehcZ7GKV5s8HDarP*FiBEaCjDMKwhtvRc3@dcOm%E#^Y**6GZq"), + make_tuple( + "cvYdsM=qIFdrwQ6-6pXhn4EC2!tWyQZfz5jqeT(A((Pvfe3QDl^g^qMDYiT", + "SzT4oNo@zy7&OCC(YkZH7#iZj3=7l(p-!*A)6DfOo9VZ#BrgG8X6mUV#Ek*gx1G-YGt)HI^yTOl0lNyLGsA^!VoSdR89^S"), + make_tuple( + "mE24CYkigZ&wiRz$MBykMHwi6#fn%LegILUFypG3rQ3gMHy)JcWK2mYl6", + "BLGO*l-up#bA@R(#cJA-xN%q!6KIN6KeODHcRvv-=&YHhzVk4bI4e9$*Ygt$(YFYR59wz(b$wtDF&@naW24=UmW3tScPd7EPH3&x"), + make_tuple( + "vm%7Kgflfv!jXlkQxE(9PZT2OMWypZoleRjGymRCwR$)$YsV$K7TOS&per@$cfA3muzG2)EkCCUJq", + "geYuWYAUPI1Sgli^z0k(*jr%R2%Eo9yXYIzQzBIN6c63r16Brc=4-#W-nXpfujhl"), + make_tuple( + "6j(bKgBBT4avZ-)@8aj2szV7NX)b^a)VHYqj8Z#bCpVIG2H-6@QZQnowTjFEea9IZJN", + "KGXQbF!YnLIUn0Z-ogkhZ(gzWjnu47bC&$@ZV03QJn$SK^rPZxKiHYMCS)DgIsXJ9T!F^kw@qgX=yXqyiHSF-psRaM$J9KWwQK"), + make_tuple( + "qDpwP1lR#U!IGJTbw0xZoi7#$@zr^Sz%WmMJ6#eS#Tp-Nl^UGs95gPko", + "$If!N8SufUH1YesVRmjj2a&w(xQj#$%d2TYbMdgkokdjO4azT^(f3%loZ(Q5SunkXN1WZDrmTjgz*TxeRq)("), + make_tuple( + "hz=OF1^6De!Jph27k-P2Qd2hl3#Dsl5N*QOt&jWD9sow0m53gpSrsRBY=aEmmL1opQvGr$Hnz7g9zlWr&Ci&*jy", + "ypA*#cehOrrREv^&&0j=lm^(jhwKdkvr*Hf4gwKDZ-rN85qy&x^8Ld1UJ36AW42b&LgS&hJu38M9$eU!p&f^aA8&"), + make_tuple( + "hBD-(bNm61D13FJgiY!qwI6=q!^N*ZPyxm!1TuMRyxKMG@yD7b-5yPSmg!5Ghj7pSayegW($!uk&@U%", + "3ysHjmr-U^KuqJj2Sp5Ar7-jffXxoV*1%RvIu@*KtGBXH0aEdt1sWt@v0tc^^^mEb)v"), + make_tuple( + "x-L@J*ATE^Y^d%pFHWdT1A^-h@VqqgLyCK@3Q(tb7w#Tl-zaO7-u8QA)zA%*(^XGUIKrJZtBLTWwGid4m9xUyIi3Dewxa", + "=jFqZnyk0V1z#*W$qX&G3P6qKgI%#v!E6Pg(kvw*(55kn4(firxpQEieJe&O!rJ(7p76#KMZ$1z!gh"), + make_tuple( + "I$5)zrK0H!=#N)DRoD^8)4Ar)Q!ksI(LGSaWmx9lGl0&Tvb#MMSy)*EUr3igExNe))xckYvp=@hLaYKX", + "LwWkt71E!u*nu4fyCkWP-Q9J&w^A3uX(R9it^8woH-rQ-6vNJm62O38288KAK&SET=(B1glL5MuCLG^7H2aG)waR"), + make_tuple( + "MKjgBB58-R@bCI0*dVMB6DnsHrMpQ0^6nxy=9yjl(glJccsz#$LoNgbkGy)-L^V!", + "H4sPZ-tshIqcL)Jg6R^6TQ-wVGCXCDNYZWtu8Qn0V%wqPEqzaeU0pZZ6n*$zl"), + make_tuple( + "CA85YK05dBNHr3D3cF@cL5aJ^#99Wc8J-PUV1jQDCVf^$PuSNw3m0P6Dxg(RR5t4@@sY@v3Modq9d3*", + "d@*jiaP!9LF8cl$lWyvCaLbelsT)G!lr&5LvTvh0XlWs(*K$UhDIq@-U%qcfa7#xJEi2SCPVD4)gD"), + make_tuple( + "U82GP4FaOBtolY)5rsbOu-tk1R$OrL^xRMEbuJ3JXR0GhSL-nfMK4$dE3x%1ShNNzM", + "exhV%UV(Y2NUrEDSenEmjc#WpO)wSHRmjM#hGvSM@pnvq3m-Ayyahy)S25l(ONe"), + make_tuple( + "KQ9jDa=vWoYNNbLY^dJS@PYrRAEOk4bdvkBVvN@ph-L#X5(K$Jc7^lj^82bu", + "Ee)($AL3XdUp#pB=KbNQBXqPm=bpYcb0F8qN&8oo7mJpRHMdZl=sYB)DwUwS*(Z$8Vx4K"), + make_tuple( + "*gMpPc)duKx=XphxA9woQcvfq3T&Z@6eTfBDDlWwzG#gw=HZRNpRQ", + "@qmSro#guupa%%bRKX)yXdMV7rC!X-dakNd)6qT3!RK6iE-qx)CUIEv4WUN^P(&oE(%Plde6t#z4H=av4zg8MrUq"), + make_tuple( + "wsiPo!HVa5yRiyrsKESd^(zlYDT&JsPK&T&7Iff1z-s5IeJGW@MA5DYLw^QA#CyDJ", + "BRb*WNPKZzR8xYAztF)rd2aE(An8Do6UMVv%UZHI-(2z5o*F)W#eVCqT9B@(5nq7=BH*17%J)rHHE1gM&syK(^1BR(Y7mL07liZ"), + make_tuple( + "!bo4nhia9-jJ5tHP2nmIoZSBaG9N(*BWigKBlj^qzo=^UKZKJ$ABmuehbwnCs", + "xNbQed54W-p3f7I0YgnsOuufL8(Gnd^ok1yc3J4)wu!IiK-OI9tC2sP2NHN2v#Qw)4vX1%7((m$V*NJJb7CmoKG"), + make_tuple( + "wVzNziaQ-saeINqgUKX2@UFZ&z*bVO=69tDUo^q^(IxpyD^tnj58lPc*xTCS#JLlkKzCXo0Fq&fNa5twU#$Mdbn", + ")Q^WG&zXr!UJknZ$!Xp^@b6y-D6j28bc7YXl0ft3ks0v^pyZ=8vN"), + make_tuple( + "8DAsfBiHkqD*ALCFk0qtY@ikt0j=PnXQN*D3=u4w#Um5#QNA$AV2X3DCXQ%", + "nX-&O&&b1JIJ!i8fSCGn9d48FT&Oh%Vp*a-1epf)b&*xH@LG08JZ3h6e7fh9oa"), + make_tuple( + "wJp206oi5q3*k90-3b9=1i2wrP&9zEuDXDYOkgo*)#C(m13NmX9vc41&QX2*", + "rsGGgSsHdbtVPRBsPN3wzqgLv@%b=ONK8DcTaZ17emVTSOaVSPcQyQBP28JVpUXO9rq$(lQfL9-@nS=ZfU3@#LeeYI"), + make_tuple( + "u$UNha$s(g&I-y!OdiTRq&h&Vqx)q!tWW2y19ncyOxx4IOIdV1la&N1IYcONV6u3X=R3PPR8uj!5", + "tpSVS9-K$^a@iKB4)l%PFPMCHfe5KDAr5BBU-n^d^2$X#FNyZ88IEc7"), + make_tuple( + "PfiiDPuIla-2gM@X(QK^#WEy&w19y@KfFlmvE^=jvBZHquQ9aHTExYvYf3a", + ")Ypn71Ti0ON2jUds$HAed$n*%b47k9yFSm5OoIjNfVxm3KiR(SMVHg^^gODzn)RdZEH$W^UrJ-p8j3rhfrY9kUoX"), + make_tuple( + "1aW5$OiZbL0zl4=$y%h0%3GJ9cc!MDQ1$%wazAFH!R*%58g)H=j%M8M", + "mfWpQSyMx-L&T9AXHBMFtz#sT-rULAQ9svYPv@ZVMet-3JBS5habNTzL#MLAPb7OHdFk2YZfEBPbfp2&hC&BtF6sA"), + make_tuple( + "9Jy0MV38IPC&^*Pxb&iemi3iqcXy)PA9t)!V*k0eUE(L&bCgha%u#fG2oO!eX0J8d3-6x57ubvBylmIprr@LwcQloTyk7H1M0thC", + "ZrxXQPA#nw!94JHFyc&tzspp@3s66JiXx-45Xoo7eTT6^I7bbT*CsdsJEg52#NPb-(lTAx7n20weZ"), + make_tuple( + "8(*Jsv6QHSZcbz!fgCwKtodVNwQmpFShkjfd^kLPRKw)HMB5pLic*ph)xaV-=XVl@DvUVJ(fV@LPk^hI)yISt!2trU", + "#ARKOV#YbNK*nONtg2=jowCq9d2fWndizDioM50ONhH3Z7x%F4Wb7u7EUkGrxz2G8Qd%EAVbu"), + make_tuple( + "CSNvCCO31y8Paen7nbQ@yJfSuQFDsjj2I3YLSBVtVbM9&h$irl(J@&Iu^7ez1i)*!k99je5mQR*Z28e", + "OVv3!KPY6tM4D7Pba3!c)Z4XGWh=VMZK^qX#^%8YwGXe4)-kiiiQ262C2Wxcepcj1x5P)#@y"), + make_tuple( + "kKTB8T6y)g(jnIID(xA$kRttOqLU$DaBkrviW5)8yVX&38^GFCLzqBJYwylo2fs@$WE&Ti8(1VF#IBam&", + "JLOShH$g6qH5Vf%3%o8Fgg%=pyu(nlaCV5W1wr#fa@5qIk7NNajk@uW-aziCKC0B^GJaxTAVHSqTiZW(mqCq1I5nqt3JgkXX&"), + make_tuple( + "e*cS8u73W7qmr2xYnq6ZcFlss8al-C@VjL43xFQkon2*BNBp7l)mr-*RgZkYHoCIm#deT5tsHTzcsI(Zm7reNzFnVcb94", + "U-MrZD)jFfOQp!i28-A*epZFSSudLl$uf$&8w01Ei-A*rXHzSTVxL9B=6ni7(Xfvvr4T"), + make_tuple( + "QTuGHvcEgD7JxhpnwL8C(6FW87yZku*ht0dd9W0sR!EUkL)Sgba$!Atuoo5tuBef$&)u", + "TIeq(X8sl2aJyeM0n*ne@h(GsDt=)KH3Vw1@iT#mThD=Dz$$bt5g^%Gz!YG0(R*UJ4qD!f3!I5fjnbSq@*Y4HY1!pI"), + make_tuple( + "9B)0D!GPP^M05nGM*rxqwhUw2JWQUQZfA8F8b&cPjZcB8Q-zt4sjotFV", + "V!IK0kFDRfU)JHF!z8k6DC@qw5)&e7&QnLL0h70iAkxd5Z8w9VN&DK(iKlkk6zUun66&5urw"), + make_tuple( + "PTUxrZcRD45cHc4d%8bQ0(q#uYpDio5RI8iedATb$7MK@)q@O8b=UfKDHhe2#y", + "pIyCyUu=$@w!0X1j^TtV7^S$-QjosuJij1FiyI!DrEhIp=YQJT@EIRP3P&dPstmiu&gE@2uW!Ji=@m"), + make_tuple( + "x-ZvOKIrzFFvBz(f9z*HF%PWw7F)1h^0brj7MiPgpDziFqbEzvZyZinpt52YmeKdsKI2TXf9yT-xXzdqh4wfg5xi", + "Lv5v$8MOJ0nLQNi2gE#pru^@J@J*gnTOjCb2&C99OS2Wh1DSxbVS!4#^m8I)mD&EG"), + make_tuple( + "$%enrsTSjdf==Xf%)5@pM0ppQ7GvaiI%ZK5R(wAGaNaL=qY@#KXyW$@N&^BrKEdojWM", + "ZEdBR$P&4&R5TIK9W!aeTyjtwoG&CptzPnO%iAaH6teR0q2ozwY1r#4xrMVwYB4"), + make_tuple( + "GTU@lYRgD6OeKl^-lML6vAWXCT9I!(QF8pwELxjaK0I3O4@!vTQAWHtHgw3))@OfV@t-^wVQZNXa)t=BehIzOryG%t4q", + "PcSYeolf4H--qfNS2ZsjoW!yOK0S)G65!y&1(O-bdNSg**6JEBm!YCzeQrU(z*-ADqT"), + make_tuple( + "0hB$g$7gChBZ7%JKy!N8nwRCM5M&N@1q=v-aBPE%exRx1(H*5W0mLF1t8c6Ana=t%^7y)Oz)!qdQ6aMo!z(n-ZB8N", + "5FEtLNfD3-n4^&RMxzCdaqWKdWQ(fjere5#&FAc04Ov1Xg*mB9F)fyv7d&zd5pMx4le)5R7l7uOzpOcnwQ(U"), + make_tuple( + "j6xjrI!oN7UT%KX*MyqZwM%$cC7&N!lFtigSKVGrboRM2hea#c7Gtvr(Dxks))0735sNajt6bytLGKA3e7a)3tXK%N)", + "SWgzbMgNbNk)F0*OODCF9g4R50&xxbhgT)H16*CG3&mw4y55f&!JZ"), + make_tuple( + "@5Obc5$fZoz^PzZ4j6IKjqhazL94bN)wwgr8Mc3LrRb^2@f92J9Fk8oDwxI83oYSc6FacYHOJ7#p", + "8Gl5Sm((2gqUkBnq(2ddK&8nKg7QdOqI98rPtQYE)ae=5(Ntr@#V@Lz$wd3fv*P%hLH^QWK!Rg8dmai$H%#8Z0#R"), + make_tuple( + "XRacS42TRK#nKFUaQ-uS@Mh8X@uOTw0qB69414nUVZJMAe2biXDSe5YEXC2%^^-3Ra", + "scGvlJ32az5I5dw%K@t)o63GFBo(h1j#=yhz()q2!Gwh&@T^5(wnL9OL%i"), + make_tuple( + "A)v0@FVd#ZVJQV2XdiODdKYlSFL20=2=29CuFS7#B3@Hv&c2wUY$iukSZ8P3D0&gf75dpj16(FsX52TD%N^X5tC#!pL-)PN5", + "NlFjBXuCGoUyykY&hcPsRG5PDr%B%-LIX$nN^lVz$$FE*Q^Nf6#BAqWp0-1-3)"), + make_tuple( + "ocMjQZlz0QlbDHxE)VaRY^FRG!IA1aCxTi(rFlrwh7f^Hdxnkzi7p7CR=DUBu^V9)=", + "t)yL$&y(6GuXkXOb7XJyHOp5gEa=zm!HfqGGP%#c^QiUnF6!P%(k!)&(#QmYcMQP9@giS)$b1"), + make_tuple( + "3CNAtYF#fS-JO&KOOy1a0I%UL)uc*=z(SHVU@FOwO6RyV^&--6qDBdzi)-S=RYg9tM=7Zr(t9k#g33Wt", + "@IcB4F7$ujJIV#neVqpnXxfxrvzVRb$*6n#JkxmOm-I5%^ZhdjB$8$*YWS2C6lHe!61i)JW0%9J!%xfQ*1*6"), + make_tuple( + "ZYW(*WG^f)CHivMYl9DkWC7AMAFYbQO0mSa9cWaK&SoqO8RCVtZDLx(lCVoIFc(f", + "Zlu^RMlOdil!N0<H08H!$&7tU&K%70@*Ro^^G(vueSv)hEyiNnWPgD^m%8K$LS"), + make_tuple( + "0S#Gd&ph=us1sm@focqd38M*w*BP114HRQMwYNrFyt8iOFvyZZhj7lxdHjic(X8", + "K56wxaZ2LRDX57)0#&I!JUV^Tp1=n2i(AyUElE8p#n@$rR@g=MjQU9vCM&mtyDjcuV#yG6(-!prZP(h9L"), + make_tuple( + "BEChjr3x=xGNCe=!%NacrPP)FdB$8pRdntTeynGXBOAE2enzC141EzLLe6B4sADCF)7#-^Uaf", + "6KW3jJ280f5OjBw2Y1D9ulhpS=lZ4u$JTXPbx$s%G89WE4g#oG9LSD0u1yY=8)^q%VUbKTfi4(givz%AV"), + make_tuple( + "h%3E5Hq9uLG@5Ww1PLzP@f5Z4W9dSuicimXuVf1yM^ya*M=Vl)Zqexk$b", + "xIe#8II1DXtR^)A11XhlXKnWW39G08t-rvmv#hZG3TeBkgGlKPp9yRz1aW@5ZU&Ws%QC&)y9i)t9f"), + make_tuple( + "94*nO0SBg@#IU2rjbG-J$i6g&m(*770rnp3zFmu3WYq=h%@-(b4PFq9f%=oVlv50XcoWdlDGpJHTD4", + "e-d-Zu*nL4QOmcj*O0Tx(URVqn&vUB07I-PuGSR5UkO5C$h^kMhAAZiyGNwQmKTo(#4=e8T2RvjrVw7n7pFG38T!@U"), + make_tuple( + "RdklHGtvp3c2^f!iYGOfD42CheoU^w7jQF(lD6sYQ*ECx0B@CfQ4DZlrxhDDqNUTSigbaJN@s$Db#G(h78Zf$", + "PK0H0T!QDMRku#-oChfIU8k-jd=4$h(KDdK$%sKwd2ntw&jNXLy4H9-h9!wzTLWh)bX$XGl"), + make_tuple( + "ug%BPLpFzHk#Ui5W^Mbf!hrvg9$05!UaltcEa7axlung7pqr=VaY9)sU0", + "gY-eE9OE-Wv5#PO)LC^ZpTt)#xe0%X42UMGtTIr%vsw0&@0derXU7KZ-Lqb1hpuAC%srKAgmrbNG(l"), + make_tuple( + "YF-06(3=KoBp#4d&&5ux^Nkj)s6(5dgrY1KeMjIOCrVv=2ix#W$OMe", + "%*DWfh4x0#(D6=5xe4yZwr#Jz9A^RVwu%E&*JxUy^yLu$L*eIh7S2GQrzDP#$C@#6guMJ(hI%YR=cUFw^SIQ&J!c"), + make_tuple( + "tEw3q4#NiMRYsYcC-Lw#H$Vs-#q9IzT9Ys-4cmqOT6%(KG)J%V3rRzZ^UAVWdBJu18-", + "9KKg0(1pRTWIwjhe!g)7crYZNTj*yLmA#6-Yo)VPsbf8C^av$XKC(8x&"), + make_tuple( + "1Qs)0PUgEq2J&BVkYPIA^@9Ch5mXqHJzrsbK2ti82cXKqxpq&KB8", + "k$dSqyhM-NqH^tDSnK*(!*%eS$RsZ&kn3GO^NG9GJUvsQ28O0yEIt"), + make_tuple( + "kJd0Nc!ft)qyLLiUa=Qh18QX4r2S&z^9NXsU@U)N&Q9PVEeMLr#MGyrQi695wKrqbRV)9w", + "@04Sni@@b)z!J!r&AcNxKyT4!#Aw)=62#%nR7c&G$l&ALKoaH9@XyMd1QW6ssOVIIraqbju="), + make_tuple( + "ErS7THtWC$3gVUOCk5@s4O$p!zirCQc8cdxFK*yM!n0G^Uyi*x)D4", + "cV4P3d1u9KVs)YI%5OiLL1ybaT3LMyOcH6DhWijA-DKbDM@g4rCEsSf9ZUM85*0Ri54ck3D0(jsN8YozzrFS@N"), + make_tuple( + "PA9Meu%3ob5uDAjgT5EiwuEY=(&JWx6JAdBtoQLed(H!y5fWCMgd1JchTLmr09Y72wPINqNdOu#!#o8!MoxIDCOKt0gs#v$n", + "R0FUN$Al7b=6^(KF6$*vZk!kz0sFtfoAa5By968It2Ugwxm-%mh^ytcekG1oE2@DFqmYJHeqB="), + make_tuple( + "yl6g3%7lhxuuXE*hi*x#oTfz(=B2Orr$l7Xyq!@wjaSuDEQDo(tPa)Z*hKqnKFxTPupe", + "wu5h34h-2C^y82-setw&W@ZsecWZUMEk7r-CO#(ko-oLjrA46LMIoUKEvNwgHoIR^xGdY-hYda8KXW"), + make_tuple( + "3QXVkZR@5wSsSti4w=cl@N9S%-(e)e4^nrY*@$r3&RQikxtSab2qSyXp-RQGD3", + "NeB9tcIecqC8=0vjwCZR0l*HbqA5xnhJ!5DXVjldMOOfe#Loq*ek%$%Ff@0^Ps%2OeuRMPuVspTq6)Fm"), + make_tuple( + "vqE8u90R#wdm51LmQ*z=JTgZCJl^s6Ra8!ea%BhQ=aOYziFgjHI4bfE4Gc!$06fMvj41PVU^fpR3c5)Kvwdd6y&s$-MaWoVbjI", + "aFTs=%d$pA&YNI0rQNgPAVk*JzX8&b1k7jq8yz%vvs7xmfMtA8Qk4!lTTE#kn^FUT#vpanE0OeEwJy3x7=bl"), + make_tuple( + "xGYiiIm2Qbvj!jQfHywi@=N=4zrOhqgIg-MC4V)8no(Kbqt^eDBo%2@4cyIO8fo", + "3gU*ZBWQhhnj&4v$fl(II7aRF^vDDvvgH1^Oh8OgQEH3i$PNs&-yejp55*2iU"), + make_tuple( + "WwkGeAYPKP1!D3vLOajYlsF&!fHr!&t99Fn7M7zJR0wX*dU*FqKv$JZ5vyVZna14oSPP%ZL*A-s=SGyxnz6djS^", + "XCMEGzFR-bT9=wz$HuuuKxCsiQmkqrhJf*yrLAdscKoKwM=kTEH)j$4eY5Z"), + make_tuple( + "hu(^(LsH6cGLpmwYvpWjCYu!mu^6j%B#ZaXZ$l$t1pFe$BQob^L7V#$#hF7HJQMxoca", + "n(((&l4dHpbFKpDvT9WNE2cgKbw7Xd(F(azKACpCQYRsgvZ^YQ=45E)%g*Z48)A0lcml"), + make_tuple( + "6qCwHFjaafAQc3noA(-$zJ(aoUTPPYTwx9zXPwSK(Ez7zeg&SNQ@6wT7EwLS^Uujv(3c$JkMKRMbQcvN!6FW$iDVeoV", + "z=zmTU^PGtm-ErmUiZxE5lJrF@pcy@F2^VmHjlYpS-S3(ZmK0zgG@He"), + make_tuple( + "c*bQuL=!(7vaof1ojXaahXgjKkSCFjNgTgPVBP)vk3q^$AhV-7CD*wBkF=v4qFOVcz%#cZjXJbacHil^gUMZGs245y61pCt", + "jfuz6*tQikqcW0ZU0r!-FWhlJ1ZN-5Sngabz-Sd2$(9oNy-M$8b&#YnKrDKG@1z)$ZRn=!4jiG=5JOtkVXS$H*"), + make_tuple( + "vJt2@rba%mY4&2O=anXjr&cQo^5PHf87h*A0eyTY-TbAHgoQqTzB0Di", + "H19VvZf1pNq*j^W08DKfoVo6SD7KCtPCr4riozHOtwM)Ai9ug9r-k*#tOsnad=E7HU6Kpnz#EY7ep0JA$B=#v"), + make_tuple( + "bfJyi@J*w9d0G(!-Qk&fhF%QG&LQt48wk9XgWTgptWK(UrMe1i2KH%Ehd", + "1=^Wj44s4xk#HCcNCZ%^tUY0lrkdEp61^Y(N@XNVtN%D8U3)IMzbsrwYNzUY1A"), + make_tuple( + "C%%NL-YlfoPGwF7ibUA0jAPzwUHe=a(UF(7pDLhe0bZmO^f7WJcrHHwF(l35ZKNlf", + "@%Lw*1H24ia6lF-c%aNG-KmyvaLaX470boiFS59cSaHxOFicTOHqCmlL=NI"), + make_tuple( + "aWcIu!ndhUa4FV#=RlF&q&z)eff$Zg&21luLqSCN!0gD!h59fYnc=!eP@LB9jmKiLO$%gi*9PaVNVRF60w)g", + "L8WFp#@6Cv#5uyVfFL@42mW=6vg#LC9W4a187G7U1^Gr9EiF5o1Jf%"), + make_tuple( + "AqReyTUC16sfDjm1R&T^6&bm1!l(L7TdED(Vw7kG7s2=(Om4UTu3S&zh2M-ZHM3EUyPnp9wtE0GCff(c8C((%K", + "g=JeY!z=4N@7Z%dW1K21Klj=V=7*bfS8mKrtB*Z*IWiX=Bc@6k-wqtPjE@1-7)!T(1L3Qy^oYyKpLc7WU@skdwHMMh"), + make_tuple( + "0NirzQ^r6ZWzDlt#Ine%aYsdH^9lR^(2io4i0Gn5f30Gqs7a8&Pc(rdT0NSf", + "fE83PH#xnKifUzX688ddTW8gJ&g5JblLCGcF$R(8zDOb1mYJtJ0rRfPHjDy*H%l="), + make_tuple( + "cV6c!PxiV^r5rX4n#XaR%BoehF%F@D4oacwyFp2L35JzSDnCxN1ImXoxV-8M6o", + "1NJr=1(6@DPb2RfKUgw%fVUaJ!4kROwJ#tGqu6AC%E0ATF*%Y0H-v7oUD9zWRDTj#e$iX"), + make_tuple( + "s6TkkS9x&yJQo#6xc2r^qspk8TByEB5A1ciFUdF^wHwh3gZPVwtvJv4zPoT7F5XjI^ws", + "Xo2LlT@dd4YpkTxv3aM22tM)Bv9e7&idX9GA$oQ(^=ea)nkZSUTsR%wNmETij=a9Jns6)wv7FKrW)5*Q3&vx1LROTQA9RQ#s"), + make_tuple( + "X8tPeo8m9ylM6l8Bgl6aFD%aOJaiGYOd$Z@)909$tDQ#C-6MqVQIpw$D$V1ydu8V@66%qi", + "kqY$DUHRrdX1a@tEqag0ehvAboavOG@P$gBe=viY##Z5#$QSdDnBNBYMzoQavLFP6uY(&6x#Epo"), + make_tuple( + "B5ipE3j21#d4F28Kx0hGLJJ%BhuR7784Jh^1TAyL*Kx-4OWH*Z$E6OJKfuFIolvmvA&Icxc2x&CBv%-m1KNRXqAT47GP", + "gHtS8gb0^0BEg7(I*50sbq(leYsn*de*CJ%2lU)IpW4%!qp!NVV1sxo1g9whnrQrHnZyzf16!3jb&@$v2s-t8OP$9RXzrVnV=P"), + make_tuple( + "e!YKp-xdUV&LDD$Xeg2xq93%m1c-N(LhYDw2y(!phyoslP!SGRH#U3^iT=CE17Z2kfgOBOYqI6wglIsEu8", + "J&jQVa#R0IDm1h3kYAqI2fIM9s7CJTuafidICzj!DX2P$ZkTFz1B99Mmm&nFJWH&&)u5z9$GdyHC62cmns6R8=Il(R0p"), + make_tuple( + "9yHPubSpzv3IbMgUUgFUZD0wIFqY1sF!vHrwEEHGA4427YYT$xJ9lDR#BrwNL0H3cuDBzCmPzoQwnCq5ViWx@z)iQH8%gD!", + "ua%KPx@y=27hop%pz!*WFmRUb2Kr6wNoAI(xj3jV*b*Gt6uM4y7ZF=v!cmc"), + make_tuple( + "bDq)%erl#8Hl0AqcZX3EQ)uCk$1iTM4%kUlT1FFIIHf^Z!ae5mxwR6wfoWD1487)tD$5vwv!07XF", + "jEm=y&^uayTdB$FkmuyhIM4tyI^vHts#)xrTPH#INuJkV@TwaDIlmWq=Yxf*zzFF)W)1739f#bA*33zLs6^kNwSs"), + make_tuple( + "BxVg&l=(&HjRP6xy*IF)FVZyL(uIquL)1Fj)-B)cmXGRYq3r9*tUJ*WPns4p3jQbzKPtWvCnBY4g@R7yW", + "KrLnqEtK9TmAKQMWTN4jjhX-3YwT9Qx2^i(C46c0zuo%dYzS99LgZscCgkXiB2x4(bCXhYaky5b)B83esnj"), + make_tuple( + "@W9f4DGi^Hwp)Vn5Xnx7TPPfzz$1ozA@tSdw@N&wZNSUNAdEKa46@y", + "fJcVwDJOhBuIqOAW-)3$#A!Z)4RPdRVxsjY&Pw0((Ina6#q&1-LoB63r&U8aU@EVS8axU5U0NP"), + make_tuple( + "!%uJR*WNIEVyWbzpJ(a71K777BL*M3hkgbR-!#YgHfTz&6L9d5viN7O3NXqjS!bJN@p1#AbRiE", + "2r$4ku^-xtfz)FlR!g9N4&I=1El-3YiiiH7=Ryy#UB^wb02hD6YvgyuPb5IKFKvhcy"), + make_tuple( + "!3zfmV23B&EdWO)5FBB2l=!cwud$cd*$$eO3ive@fR1RnE%H6S$C*Dx!p1gcgwCua5cy&hTrbOn=3%UMmOffVrTe2EmO-w(t", + "vxQlLQDKOYWR$Q^AcpGeR0ge39d04FBUCuR-8zrAhijp3SbhbAYvcP&auv#FQKUrfs-"), + make_tuple( + "65rq&&gBaRb^YTBurKE)YExCP&qwqpqv%geiimDWyW^tRWOLi8wI929(OAGcbB", + "Ta6S#!ua(lioNore)XNclroXRnctj8XyJZFLxm20kalt^E)F20mJ#zdGUpXuqgcTkKLI6knkR4xAEC%TCoVR8XIOdZE1J25"), + make_tuple( + "CT6*@gCCEhKwTPkZrIr)hMDDFsy)0eKyEy9H6T#65!0*h%rU%!6zSLfM))1E!z@9FdRsL!dttbRU", + "ESsPgJ#zecszlz@ebvAQkCsqwqN&yDP8dc5wo9epBplrw4$!pws%n@ah8tZMI#4l"), + make_tuple( + "D&4chk6!@f#fcuC*H@K1bS8RG(fVSCIid4dA&0BXs)2L1JSH(@rWC(JHpxV&ofzv5E6C@kTxrw", + "NmH(Qd*wv!BF538!$g-I)V*m#mu(yeSpNA9m&EOf3=ul$o2$!-Yx^Fa5cI%dyt%X8x2MbolHc(3chR6-^P%CVG"), + make_tuple( + "AbP2NPEPqPX=twltxAE2xabitH=-Jz4NEjN6PxkLk2AU5PT9yjl)x3SZXJ@(qd(TUZe5", + "1VS5r5jRM78J83UAr8TQ^eyYv=w%oDrtMJOrBfCZ9mRSiX@5mFwBYI-i3WdIq0e@18gFs@A@FMCP2OPiELgW!-Oy5"), + make_tuple( + "Bn19#k6iFMNT6e$RuO3g2rJ!T8a^w^*UFTzPIDIhk1mzUMljmJ!q%y4rxL3k1WfVDvp(Qy3z22)F$ZzT0=csNe", + "SzsmX5-Tm3(T(BmuK4y=PK!8E#afVfme34apWu$W0@I*dNt$J4ffLFHng$lpIRGX8h#"), + make_tuple( + "8@YG-@k(uPY98LgLWS%Fp)kR90e1Ly4vOTd0uRjX95LU%6g5#aFa%OSP", + "u7Nd0H9qHg2iLC=I7Oo*P&l8v3#6SlbGZpbl)*KX)uI-In%n67b2aYcc-5^Cjwv&DorJXlz)iP#ID"), + make_tuple( + "@9gt)^cH#8l-0%0aO9@9w8kJF5o-2g%J(AcrGCuXrQ)lNe^iIJ*bFKAY78v%zObr&", + "QB=RUt=3@ZzDa2j%zjau$ea5iuq1gEWhBMVO$o^!ce9*KYHDkgp^poKPTd(8km#AI1ZVp&Qs^v!gffQ"), + make_tuple( + "t=XMKP3grJicDAeDeJ&)jRqxU-@@yPe4^H0p!dgAk6l*gLHTOozPXK$=lqW(9G-dxn9K3", + "3WQJ0GvRF4hdt$Jq*$kLnIdl*x$5Zt((KW*8-5hUHD0wTt7h0)Fg7w"), + make_tuple( + "GU%YgCtwF*(kE5)thEhsEXA5RFinvsF5U1W8PDML*Z)j#ca*fnd1xx5VfN&ZFOcQ63^t7^XS07ODxZHOeAYBHAK4sf)smrMQL$Uq", + "6jdB5W$Ze^dpozci1DcVlqTtujru26F^zsh9XN4#2BLSrR$kDEks6FZh4oomuX4a6J!R4HBQ"), + make_tuple( + "l)x6D%a50CalB0-d6-5KiV9=^4jnzlceHYLN@j#d@S==*C8eufOmHcRN0J12Ba@tc-QEVA3t", + "On1Kxv*3#&(LBk)zRMZT6FMpFZPb0N2YzbP#=bUp$%3%J$xS=#LGkq2-nsd*l(FF%e1^3g=QG!5A"), + make_tuple( + "v&-M3VEI1gETPqAfD%xE%uEPZD6A-^DD87Nr)(2jqCQYcJ=16OQGcxcR03XAcEbJx(48JqLM@W%1", + "KqW(ETARV@Id%hq#coJOSmf4V-gL=o-%3BsmfJGRecY4ZVyyQA4ky50"), + make_tuple( + "PLfvnF#3RBHryx%K)qTI6VpZ4f!!$Adj(*ZjcHUEa(nx#rmtTjnMnv#mN*t9B!U7GEcOFc#nZwf6I60b%!!xY4cz", + "A!v3klLo7tU!L%#OJLarJv$75b@4jI*f171CYsBtBbN14O=DPF(I#"), + make_tuple( + "3PSj6N))7eti5JQki@WQ=7AXdPg!NSGd)rOcrS-ZlEud-OWwajxv4#LxQtfp^F", + "X9w-o^jlt=B)mRN&s^TQ#@0c-R@N$K60nxQN7^r=d1$@OCK&TmOn)pkia!9=rKHPc5R=FxSU=@bx4*aVL&Ie3=AET&4wg%B@"), + make_tuple( + "&OMeGd--I4@nmlCVJDIM1(%t0Bnd2a8#Kcd!SpR3ttwgC3(*C-RqjM", + "zaq2OvjXBO@Yx&F!*=q&bErmqK%-w7yu^0Sz4Ux$FOy=21y14Z9og1&*5jIq)rDbZ%AoG*-"), + make_tuple( + "0yURhfWx#k-ZPfNN6yPmr9*U7--ZgXg7vZ=NIY7lP5F04A5B)P@Z^N2zSqHKT@sC(t9k0FWF(tIFuPnOWG!FhPQ62znFtx22XJq", + "j0S^!OPXg1)GT&Vrpj4nd^jviQ$JT#VRURqsm1%Pe#IzHxIiD3Yi6%cF"), + make_tuple( + "RaX&GItwR!u(XTUN66Jx8Gi&sXlkeurle2cQQb4=c&D$2k0Bb1bSs=v1pg1JsxA=M77&ehwhIla!H1G^SSg3g*I(!SlPLIz", + "yRVo*&dZG7UI1wjsXOy=2G6KBaqL^aWIBKL!Y6fo6ynMw6W((CxF*UG2v"), + make_tuple( + "hc%dcj^vWoNkR4N1M3-lKX#G=Q%yu*jvXnMhZLlV!RelaEDS9^K)=Ww5a%P@t0DRY@)-MBNQiL9WVY!GLa4R1CYC2*0-zv2iznNQ", + "m0f&!tWXEmHZARBS6x^oBL$Ggud)WkmX)RL6xWhX-2x39$dMewqTY0-F0G=0*L=%*RCgq*rPvkp0Z2FUI#!qB#z2iTO5s@P"), + make_tuple( + "qOBuqPcnYlZTd^AeLd%kZS0wl1XU*)@ScKc8mve@a0g335cBJba#7Ah*EPqbYmMkTgC9", + "vNnl32U3lZxA2ATU45)F5-m@b%O2EJ&z*54(7-Zz@EP*V#@ShORHt@C65)M6VSMySmQgwGcQ9!ew9$sbFbqKprZIo&lWwpi)"), + make_tuple( + "yALX%jUk$1kqX*e52MUHfqAoqk-%0R223MOotcM9L!^BMg)NLr%qjaQ37FEfxN-ZiAoTZ6IzH5@q4tvpgi2K", + "Mw#Hqb43zfmeLqp*qlLInKCAp2MYZxrwVPffY2g=Fkg#Q$HOVC^sXee^qimkC0op-x4zRndHsXAD23F5wi&JQ"), + make_tuple( + "ytp*-95ogWnw(7y=)NHqj^md4r*YBG^EDdwv91=6tYn-K3BOlD9%f*0I9b6#A#U=qBNCkfUpqk02RU", + "F)ZV%$6uwTYBRDBupA9A%pOvFVJIrePRe$p%WAL*bNO@6EZ#NlSibDO5xU8fWeYe(Rb0tjSbtqM4D"), + make_tuple( + "DNpo%duvz&p*^VGd%(Uj58V2Y=4^6TDtnxi)Kttx3bTO8JyUrUi1jGaOSGSry$y&7zjJ", + "6kECTzNPwFj)bOAQQ!40KMoJtMQtE7tVBmUMc@UG2uyxLd2Q5ajx@q1nrdWuWXmuqmAVCE@V$EMchVH(Icr9SEzP07"), + make_tuple( + "8gtKV9!(6p1MhxVMF8fnZG4QDWr%Y@y(#NejtWCiLr3lYOCUH(hgErR5Cqo5v", + "lDXUM9bwXU6Rd-w*Xv0$WFwJEp=^jFY52XyOs!LKpZY2hq-cqan%=B2Dx!HhjKWMwUNzGKLO2GLx"), + make_tuple( + "itD7w&)ct%=q69RW6x@(xo5nL3sSX&F)PukHIYq7fJY!Z!90!T66xGXWI#YFYzgm%(hDqxVbcegij", + "^a#0%5Jn8wpKgC!9Em^j)i59xp-8cH%1tsL0sSORjydBh^uf^2mWvhxFkY0ybEpP"), + make_tuple( + "kxAXpm4eMoHaby2S*pHEp%tL!EK5VNrfYPCb@Op2-*%i)smOhZ-4xE5GDCYe*qebJ00%zK0)DAmaj^VqBd7Jt&Op", + "@RLudx-zZobS1cOGcvUBT!W-v)9fAipEJf%m*aGH9gMN4d3IAyFa90iR52Kc1f87TXD9F2Qp7NH!g$H4qfM*YpU(Xm-VBVaP"), + make_tuple( + "Gl%PD(=Tu2aQbUOFPd%hG0n-H(T^ADDc47jV4ZfLlJq(jtd0UFTXwSoOMiSfGxegk@jVO8pNkRK", + "^5zS6xS-4hNPXdlZhps-^uaEo#!IO9Aw1(Ocfoo1x-3VbD@Y2o%SF%!VtUcjG7*c0aHDiuiYjRDS0Jd18j#"), + make_tuple( + "=8Qy7gbnc(&#MgF1tJxXpW)vhDZJvTkDEAx#E4OXxWJk@09So!Uxvfqc0mBw", + "5oHp!ZCAxV@Fsg4%#M%V&)6#o8EOTjrn7!j&w65Bm@Y)E-5)Yp4n5s#fW5@1EmpYkzny=ab^=fy1N9%Z6(-(Nih#"), + make_tuple( + "qXB^AwqrAg6II)a32j=9to6#FsmUpKhP##8RpU*#Prdf*9!-(KINtsGy6SC^sboEc9WKVWEp*RWk(qRKj%", + "-x=obfIrk#tLw^(IZ=#Y6&Wx2!qXGg8XKWvRf)aW1VkMR#a*b^m=^hya^t4ciF90D8510EJIUmEsx1)&3eb6@@YM)u4"), + make_tuple( + "n-H=MAlLDff2VLcl*kH*Kr^cX3i0qXi6$Vb!RIElk7fWxGcYP$WS0%))n064Z1pdK0DVIp4B9f2IwZPbcLjOAmztkZwatFR", + "61jEOU5HZp3b%4bqu3FlNFqD*CvSDvro%I5!moFCCezDRYjSRfkIrn(kpG!Xy4)!pH=wNuUshnJH"), + make_tuple( + "4zOP=X-Z@kFm1k-@bUku5V0(0z-5onUMv%UG&&qTbQqeZjeqdERqGNO1yAiHy5kHWXT3o6-VanF", + "e3K9hm)O1ZKXjRHhCy-Re-yN4tK42Nj$0#RmxD5csj!6XBCy9xeh7H!&n&snL4Z$wGr=T#U10uGGulwbv*)2%72U4P-7KUej"), + make_tuple( + "!zx4PeTvXdcNZnMq^UC7^Hp9x)Yen#noZu=Sm422CRnScNWXMy!Mo^BD", + "gdAw!K9xUU#B!tyA8(LiVw=eH!)OsC0u@RPBcGao7&i^zQaY1sl&rSh@CjaVW%WAtd=m&V1WOVLCX*qX7!M!h"), + make_tuple( + "ZxM3oz1KGc(DHuOL5Tzt1)lJcN2VO@@Qgc--D4ZfOvDH0EedJ5UK=oV$Xka^zod6=Jy%L", + "NAF@Ygz-Pn#KGzV5w-zd5VVgNLpxBav2J#gxyoGzM92uWG!U2Nx=5=FS9haz8F36$1W2xCBZ9xTTj3M2@(b@@gFb8Ew3--sM"), + make_tuple( + "zgrjiK%^FdNRfonJH2R0@h44(LCKCoGz#6W5kNjfN1B#mQmnnYZ34XWgKeklwpHZOy%rbMB7gPEvVN", + "uZl23w!goOeN1frG*Qj4Xfxb^&&)BfAjljbOCdC5yDH2O#yDPdC=No$S-==n7VFTUWObpzK9EZ"), + make_tuple( + "Vv*w3uwjC9c)LU-6PdL!*6^izu6^W72B%iG(EtgebrU0bsQ(fPB2HR%i)vBSXfRIezJrP%=#IEud4GK*dJjG5", + "gqVACWbExhHTmqqN#hsX2Uw%TYr31lkTA7YW%OaDP(-yDyg5GA"), + make_tuple( + "!w75F!)Z70oEde2RAd66w7mrKOj9bmNy)cHOQY&AVbW4IMeoQ0C)DjhBBIOsTD!sYl", + "@Xr&MazN9YfCygPcIU*GyIMd31kVSf4IbI%ngjnNFsS6!z9Rp92YdnZHIX4cSOfiD)EB-$W"), + make_tuple( + "0FO9PCI4ATIR6KmVIwGVHWg-kfnX9L@!#B9Oq$=^OE50Z14H@v", + "7wkv61t0JLI14VL)hg7Lo%W9GA!0j!J5P2m9P^4W0a=2QWl)lzD8Rd"), + make_tuple( + "Wrwx7zmbL$N(-Uc8(O%EiKvtPRpEPDw%xW9#1YSlF2y(NkNG00e)168b2a82aq87$#87OFYnKMsB2Y90TNK))gdjbdRZYr", + "0hPtlZrrGs=lyS9t4xv-#ynrbI9r65wmx#QXo(HLcV7@qI^cULS=kVAM#A6k2Jv%tEkQmX%(@2nrC@"), + make_tuple( + "mJ$W)T$S(J)X8(xiYE@DFHVgylMZeVCZ5szU8KnIaIH82iTxFRCus!gQ", + "Kj@U)2(ZAiR1-okzgK1Op5$v5u=w1wk4lFNuPiItXkbfD9*15o2nV&ZZa@x3%B"), + make_tuple( + "A3Y$kbCBBTV(FDKE7xbsfH8q76AwEgQiQd4Eleu&POm1^zRf6XSxuscpCyB*)", + "q)Zq%dCOSXxE=CH0A@EQ1mUa@ph0e#JxKwey99IGGEl!sAVIzrbo2=4nKsL)L8c$9TAA0w7"), + make_tuple( + "GKkLYu=0IkxUKHPRBR1&C7vMu^zD3e#=TE$Fe*z(kBJmhf^vCX4Es7$O0SUt)%r6O#j#RZFJHB3OB#350#TeWzP", + "hnIn1TQBkGan7NRYozyEq#Z83A@Qy@oQKPi*bh(^HNUlQ#zI*Fh8$kII"), + make_tuple( + "Xo#93xmhy1KBiFybX6$23vVRH56TVSR(@tq2yLaY#hq^$O6(r8-HdFE^=I#)i4GU9=GCHxRZivHjWcB", + "$#t5d^lnMW-p(DrNVZRa8Pon=8Rkyb#u(oo@sdKszA&^e2ZtySCQVu61GOrgjBf48Li9al@-WJ67"), + make_tuple( + "XqXBJAVC)MlINg9e6BGz81VWgELNmG#N!J3ORGAxaGG!D$yaE&HS5xZjDe@S^PTH(!%*eG", + "Gu&*-t!BuOpzBMCAY-KFP%yLUb^Fa%svE@0H*HC%84$2WmOGfhPBI1dv7Lm3k%qT&Ik6lMYIveH^%lpYNSxf"), + make_tuple( + "s&s$#QmmhQ*^q=lCPxK0adxB0&9elhk8C9SN1r3WrLA-0v^aN4YHEc)bhHeXvsEtJzLVuN(HU$Wo0aRjWiyJU!", + "NJ)G(LFNklv5kDSI8MB6#cD&JtkVBTVv#C9cBXu#-pxmvP*Y4S9EqkxXcbiYAkzWc"), + make_tuple( + "WuhC=BKdAnsAxfgZ2cjhF1X649^q6mVVhipY$9rwC^UebYQT2)IT5qoIO#Uf!k6VgLlAxF", + "wx*KT%9bQyci62fPp6yC&3uvZfg$#=fE)DkcTEpZ$zPKbJsCzgRXOoi8^L(bKy2ASq7YN!ODfezEW2vt5"), + make_tuple( + "yQwF8aP^7DVKCnGRPNbuoJO7g8pb#a#4Rv10HUV9fqZBsrFW)fLTAWPD*6pFeyz2uStsAlxLV0GL#o$@", + "ESrh$b#mn5lf9sLkysVgzLGqA=UyLEQYu5nqjngglQUSx%w3#Z$"), + make_tuple( + "Z6EL1GUYcPmR!e#xI%04g#Ayo3@4G1SQPq6vQBY49r$Tvik^7O3@Pl6=zOCV3Cp2FwXoYO(aqWb5", + "E%r$0C(tweme^Pml7S)xLxe5x&lLQnBh$DtC^w6sQC!HsD4B44G4BBfO%$T5N*D9y1!J*&Q"), + make_tuple( + "*s1v(f#%S9Q%9@1rYPptcfa@T@Nw^m#H)*MvyMcxt44sMjTn0xq%JfHM==gGdm3GsUkETO@", + "H3=DJx!rPA&dU(HbgQ(5k#cFE2k$LByI9IQBYj%(*KbhCEzDcG)ySLhxi"), + make_tuple( + "1PbyEnV7-FHfxBzBmj)Doq&iO&b!Lwg@GIBlm=@Szaw^gu%6chWXl!x!-KdpYzzhG@Dm6Ty=KmZ3@h7tJaL7yXSAR@", + "Tgz)ESkymAVOQBV^332hv#ULvr@an-q9P&ebni0dTIxtU(Z)jKx6#bbSfICsqnxem"), + make_tuple( + "!%%^j4A1tfpOrc1!RrBHlQ5TdHK&kow*C!G-Miio0-0l57h6zp2J6HkDm-GChH9", + "NPN)&3CrRtllC!RE3xJuGPxOBc#(bI2C$Z1rnqQ(AbAEU!xAyljgs@ZYpua9U2VRccFdKaiPg1wwLK-*BdYfNsog"), + make_tuple( + "Q49bdQ57=m6cx-3!8SeH*IoiH)M6EGuG&)dV%OrzS-jng$ZjsbZw2048ga4w4yoU9NcP#QIxrCM6sp7qJIOx975zG)MOyG3$-3I", + "OoTZx(5(T=n4LLQM^Ry04=A@U1AvF&a6ARuo^3^K0(UjSq47souEgC15UN#e#%t@hZ2R#Y8cdUe3z6r96iP!"), + make_tuple( + "qiLD6nYHNG78x=!ru&@-!sNFl#E@*pE(8mt!CmuHmSfNQVYxksRBQ(3dxZt4DTh=q7DjBD1^V49c8dRyoXl9RoHk!m!YOa7", + "&0V#fraOp^RJ*RRDoV$0#UOxs)fC3IuGAj)Id1iARq#C$7^wEt%yAGQ2Ecahejr&l@MfHxnx1yDKZ"), + make_tuple( + "!EhUzK6Ioet@iQyJnwSx-BlzX)qtR2eKbBo9D#oE7xa7JlJOk$FGjY04(TL!Ov3FYPJJ!Bl$lX6u", + "O51mxqjrCPviRJfLs&jNgV6GUnc2$Kqxx8GxGfQ@PUlw=xNon2%0UdIx4UVLr6c13*bNBMhHM3"), + make_tuple( + "ato3Xb4Md0&sncctvSmYP5cQe)rcdAU%jjp82DfT2g&$hhzVtm&k72-V", + "KQGU81UcPFFc(vg)rZnJjiw^--6m8Hhc(ocSjA%L#DLa1$tpvKnbpMd1nDuRgwIc0ib!qt(wu=Pi9f1jt@"), + make_tuple( + "p&zntM8zr5O=y(gN=7o4w*vHK4inX!d)4XX!JsQB3!=ej(N3*U)jn!vm-V4eXSUHkEIWrC-V)R#AIosN48KmM^Wy9jB6&r^mL", + "j1uu-JN1=M1)3c2u5gfZ0cuv9IQ-oihlL!miO0UoAflOp7!ZJ=I#*7=DW%s8yh@dkW5w*-yyCx3YYPTaiM"), + make_tuple( + "GwA5=lapOtRLQrTTHrfT$8bdWt4Pjxfee-hh&dvelokBuYe8gTUU=Lzc%bF&cvRslLhD44D=qV4", + "XbCfS95Xy@3PL*kBqFh$Z)Wis3$0v30iG$k6ipX6Lf=9$0qYSjD@zT2y5$MLLhagGlxepZ6EfuHrXncAux-"), + make_tuple( + "htPHBQHO7Ntg9ghI7qF2fgqQ7H^S&WRo2Slds25L8kaUMqyo29*PybCC=gFEs&Wo*9PPQrw0@YJJqSmHjE!)lFoa4*^uQnbu", + "Od*rlCOk!YO1vYpJUpC@lg=wLUUHiE99CshGAG7uPq3!ytmIHI$S%FcDZ-"), + make_tuple( + "E%P2$cIkXz3bMC5nKlD83PtQuPC(-R5XClKz0-9%K5Av3ON!PxYx=Gij*^$E6Gv5oRI7u=1XBl", + "Lh*Xlmbyj5B0gD8-&gTKQC5ppx)evn-kUFsFmluZvZ*0S=Hx7o2Pdb6YU7nWhnnybid$y&"), + make_tuple( + "7LXu0A3saV@2C!pW$))qolunT0$afQ1rDnk2nfsZ!zWQh=MeRj", + "4L#97j2GMyp#LzTRr29T9EcT(!fbpav(@pX@DF@LzdLYMO*p)LLQzDm%fxvJ76lPg7fsod8xE9ZFh^"), + make_tuple( + "QcoepN6uWtS=rt-v0ePd#tlH&8zjAmN88@kG#zUB8UcrpBA=RTvgVT@ltmaJtBXsB2nt", + "NR@1zn^nXhEOiN%oGJ7AH&FK!lNajFJ$Y@#zwsOj$#9FuQn2)lMTptXR(uCtB"), + make_tuple( + "8U#2abgs9U(xUa=9O83mT7PPKY^HUlDOfLn*a5d$QYjb=D^1%-c*KFp-zXA0*&ebIak&g2m!KcCRa", + "oPdgXY&V6CK9SMFPWtpTV)o4j&5Rosdw$#8A=Am2WCBTKqsiDye-l7(0YIPeh0ig6h"), + make_tuple( + "ygUdjW4gpoqdkqaexr&Rnp&&OE=YxXCA2Qnd6Idk0XLZEC@!*j7)BSE-GEyj6h#D)Dd^4Q", + "Iv73sBVZM(vF5AnDkW#xJ4LmjcfVmEweM$Uw^#a*qg%7VWju!#TjATnl11WWhM83b!KYIPIZ"), + make_tuple( + "%!I%9UmKOgnPI4%cXnj!b&NnLAKmXgxlOdEmQJPjS((lOXdi*7m%RmbUeskBN2^hp", + "q9da=Tb3cy=(uE-aCb-2GpE8%!0hK-jRghX!h)NNnfeUVAg2u-N5igOfcM4W(3GjIQ1#0Sx)za*4mS)s1*4i"), + make_tuple( + "pJdZ6rS^^KN-4)6-o#3%idCHjF7$46E(Q*yuUWxFWklKzhdTghFMpgPT", + "*xw!aegk0Bd1fUZPWD9zHreARca3D4VTxqevRLjzp1YlLXr227TQi8at-Cy^z=RoHsmMyC)6UzV(Xu(#z1md#nk6(X=Bv"), + make_tuple( + "aZazfcLhjstl8-YOiz8j-1PmsvEK95CBG8aNcDLH1Wxi238MLc5dZWtz", + "WUz5Igmmv9dY5CoSBL*%U6cEJ@Je@^*eqxP9)oGp@7W#m2&YM919M3J$sJJdK2MYji@D$9ga3FEKMVzOgVkRu"), + make_tuple( + "KaYml9M6nBY2ThtAZAO@E7G@qZvu!gVnf!-2b=fKov8G(GzmJE6U1K=O9H0dW", + "e&*uLb@(C)VF^vEJDe9IYejMnh*8y3pBR4WUuUz)=QY*D8ZG0R^"), make_tuple( - "PTvydSOvVY!%*GqNySdpj2!Eiuo1K)M6mB79cY!Mg6&ZQ*", - "qswB2$Dtvtm8$vGb9zek0WhdvmCc&uzfP2jm%i$@7oF4l#(W^Bs847j^HokAQV7j*HVhmblyr9!PEIEbZ0oha0$b$vj7nk1T"), + "ipPCVz3HEI-Yk6$M#d@$oLT(JCYGAsP^mfnFcowe5PYRORUVjFBA066&SYf@WyZK!7TU^wsOVTVhigM3UaO=WTnUGM(i&Z4z)gk", + "mrBGhcjP%b4500lmKcFl!QaGGZiPdiufveojSj*-7OytR7asKJ@F1TWOymJxaNbW#ndzqLnx2ML$(m@9i-so2i"), make_tuple( - "Nlhk&*(2h2@F%DK3t!P6ElkXaSn", - "FF32VNP(w^q%IeK^ceinfOze6p8enGI^!YiRK8VL1ZNE9*ZFhdaU119miK%%iKyeNM"), + "7sZ57bpQgC&M6-BDX67LV6*P1R2aFzMUG3Nijm!iHR-YM#M&d1f^=Pi4O#k1N)Px8S$2smJV&p", + "XziK$fAM=^n%nIoT0z^XPgRVfo9@r7@F4pVidLnQrJ*-KwuZLxVQ3dJgwLf^y9Inf"), make_tuple( - "HdfJmZKAi0RwtXljKZMFROQ#llFNNLqZ&eQkP&nyk1!FnYqxnQQC^#r!(W4U^Ntko", - "55KNtaNGTmZVa7#A^Wvl0aEpBApWm1QgdQYdS0gewLb@At!Uq4JXKoTor)"), + "hsFH#nBj%Yp5gM$@oFj#H*c%CcCHSe&o3RSGRJ$OtK7j0Qd7WwPsaKhjzmKf9hp7Otjxtlvs", + "^A-t5*qcbOYDikzigZWUpOc3F(YaFi!clQUE($Z4j2O=HmMkEc%OKboU9*Pdy^@^@d-U6m1hKTaW1HHPjP%T5oYNazpw%g%qx"), make_tuple( - "7j(D5)4u)&51Hc&cylJGcakjZRpq9DENXR%Y0y^pvTg^F0hH6!6", - "jZ1F^oP5ibo$7%DmiRTYs6)0GAS4MS)wWr&XynWw0$%OOZ!Cs8rXrdSbJQd3K45b4PiozzwNVisToGXcy%qB41W3GODwPQH"), + "=q-hoqyFY#NwNLkm1gHs)hFG!Q&3t4RN7PwXD!zaOxwkrumHqRLawGL1PASGCq(rcs89$QUgjfvD1zIEcqQv^cOxm", + "a0Dr8oUY3KVv6)BlxBX9t2pRmo8=lXFcysB=id%*utuK1TIhRA6Zhf!"), make_tuple( - "L^lFSX!lliiCAm1)FmH$ecGMXGDITbIsK%L1MOO$OfQyOpGQ5K&TwyzutgYhVT8Vv*)jBzT5l0AgrpoZlBg2#$Oml2wK3E(*&DmX", - "A(ZwlV1BW4Lcz$rxo&OV9sa)JFOi5mgYFy3&N2pA)LZtcOdF#MHw3UFpQipMfvSl"), - make_tuple("tAUR8Rc#iyiC1!I1JwLvg6iFBrEjv6#X", "!LhUW^1G8D5J3!J7QoTEE"), + "(8A6dsg5eTZaBIdkJlnmlI9EDDc9Ny0f$ZoqiZJMDT4XynnmNDa*$pd!$oEAEP6", + "j6gpV!!s#S0&il@!hvu8G2ZoqGkXsCCwqrOxD@M)j0Cq!&jmuOYLtI"), make_tuple( - "Lkeukqe&MQEKMf", - "Fun6$MlCkPtLcqLR1FUn$q2V(ZeVX7F042FJ%lCp@YH#$)^JW*iTZkh@CD#wA*oHj7KfR*"), + "#E2Qd^t$C)Gk)oMJ7y@FVKz6urE9uGjoXXjb(UkI1I$hzEuPig@M#yVbBlmqeaQj3KB$o9k9FVNf=ww$5rkAIAgcj#Ti*X3-tJN%", + "0u4%bWLGiTfUNg1gF-*4OEXi^uQrL5#dFR71N3I4CaF!EWz-!Jj!5x(lNFNieBVpAmi9mQofy5imUm5fTw0mh!YL(mkwQ%Eri"), make_tuple( - "ly$KTfqXq0OlR1Mf", - "!0V(6f*AqsigMztDTV@b7hG@#PmB*5s@Y@&Pb4P*nq6L0bFjGYY5gV(*jNkJ"), + "$2=YF6n%kMFbQA=Q$z-5v82#w)pQNjOarb!BfTUz=mbN2fH#xM7D()G^UYLj0T0c$aAN(Hs8!fD", + "bH7xVkw18nb(hpGar#M)iGRCH6g4R9(zW-3G=VW=qtcn-EU=DUEU1YKH^K35kgI"), make_tuple( - "gWsR60CMV1Xc)E)rFTXm0d#vO@XzvOj6h#D@UIC%%8g5d7D!A6OUERExllFaa2SZBykTGf0s9u&ekm@iMjxWUN", - "inSeFU2Tml9SXC9w!MZK3Pzd)zfB$)%*cm5C3sNNYJkNLpqz#etCz6IIhb$&xabmsE4PtS5I4nWq$%QRTmltN1%hmSO^CRBnSoU2"), + "sDA6SF*0%jkO!QDwaqvzW@-lfYNa51aEf*TXND#Xg%Vhqpq3mrg-oPCwA(R4$^cm7UO$u", + "IQIMF3uEVY&s9FE$l8v!JERxXQI8EWgELWVE0v3i)$!rsN0$g(JVAw-ZVjAw3aOuzC9gE2OQ%1#MFOd=)X795=$W%BwSEkr3FqQn"), make_tuple( - "^em8%1i^bG^VpQWCgp8gyt8s#k#6Bctv0EuOhWi1B9w@Lq6ni)^Bo#MT52o%&M1goFvu!5Q$jk&HaI!o4B*sKMquz3My@SLQ", - "QHBBH&O*vq7sKs(LH$28^*@Ns1RG!sLHh61xta)isipcg3ji!xP9WTEcD4HT)AYFz@qt72nxW&ZxHIlseuPetBj7P4FHP2zjnigN"), + "0tQ2mE1R%==sYRE!eo%NQSQ^T@vR!*gtlURqW6dv8oVDuCU=J$F$ejcwhfnWP465SJmaT&&LZ0yl=&rid5YOP7", + "n2Hjtzw#dCCRDsOTzml7^$m8QN17MoUkpR28tvrvCPajvMNwd$T!TggNrutyFu!xl&I"), make_tuple( - "24%vdCQVU9MeVvcJA6aepv^EPwNQpqQK*nOIH$74pOCuaXRpeyORnUxYvl(C^UKJlC7%o90F!7DW", - "aGzK^MxyPl7A4CcPJDCD0YvZqg&)7bGfJMYiHEmD!XSxRWuI$Wpe&p78r4N#4n@Bmccy)jc5Frsf@^N4hNG"), - make_tuple("vLvkUyYkwGZIN", "#"), + "DQHWG0Mt8p)y%qNZ$@rYz8-1YrU*@T0YWxrk#o#pyBG(ckQXN=7e$^sMg5qv56M@$", + "xDI4YVe$XL@UeGwr6qC0p%DIiJ!qI-fN2P4XSPRWWkcD8LPyLh!*x(dA^0Pvf"), make_tuple( - "8HcusXeHAONLodXv$MP9DXa*837z*GNwuaW1)sWc^5JXBwpfDUHAE(Ts)tWI28PXDM3^$AQTH6IrjaAaNsSxV!", - "rDtimlRvXmhg8stHI9mACPST^0t@VopWigHniYgUOpkq%iCUUojbvWMBuvz4cO7zhUxbmyynJ9fA^gzXyE7s^0MDwVd9Y2&o8SWh"), + "X&UR()s!BuZ9LZFR%TPrag7Tz*9EugP(j9#8ap-iC0*HjNLlZ3MT&Y^Ug5*kQeEkJr78mq@shMcHXPHY", + "wXBEr=0u8Z$=%irGSMR#2CDr-XKsBf8KIKfA4wsP=TCoR#6Y1A7-8s&pt(*w@drjV&V"), make_tuple( - "BThtg%tw2o*ZAyLtgCdKU4#Cacu6UYYtMwtjpq24Fpxyn^wZUKYAE3w", - "Jo@PjS9zN*UY!c*WhV^5^IO6!"), - make_tuple("60W", "Xh(9TeR2DxeE56cDl4%N18gf6Nf0Z"), + "mQvLC5YAwdJIM41(#jDCiH9t7ZJSzUPN*&w5S7(9!wfO9CE0W@CVW7j)Ne4yb", + "hq@wQ#LgktBvGZXBtbCpWR*%h8fj(trmd=iD3jn7D6mv8cw71P8ZVkpEQYfbEHHtcCO!$wxAS%IUeT=K^S0w9YypvK"), make_tuple( - "v1%5k037I)Mq%mq&YU$aXSCa3QrghZyBWDMjD2", - "j*IY&fmE*&XXBsgxfBx8Az!ZtCrnz#zufr2DBQETX12e!6j4tdLB2"), - make_tuple("iqklJkQ6D%2NC", "m$Y%VR88Su@qbPva#!6jza$VbL!r(k(w#Q0Qz4Mb^"), + "&qkP@34kUF47&Kc*rlEaxZeUmp=jDVR!z=8Bm&Ve=9lJx1T2DqxASpnWmSO#iIN03l$Gh*KL!8$bvpzjT9$EWTkFFn$UTc", + "v#rXm2t$&zEUju^x-bc8h5Peg#-1KG@)isO-%riLj45Dr=n5elu5kf4!GuhgkGnIJ$ldYjkZNvZNA8"), make_tuple( - "(ty5Ce)IhxAwY!)hUoSXUWoWr6QiA", - "@$mh6C84@vLsZhUdJT!y3(aFsGIdz^GIoz#8$8gDKO9B4nFG5fnTWJZ@!OG8!bQEUbbws1XsFQog"), + "CFcW8)*E)zyA=Iq%cJ!F9FM&y3BnIO9%FreL2Uqg00U)JFclDqN", + "kz@cfU0&4cAz3xT^Kv5pm5DlFN&0!aS!SQcThMJhHqfhjq1(4gBtTBE7*f!s=SD19lh3gHV)lR"), make_tuple( - "cqx7YLmH#Ta(Fyt", - "jrJX@36RrPnamIKIDFoqNve@DK1^0UJ085Ym^6nqOt*qsI$z9^omHn(or^XqiO89HY(!w(X6oj1&jx&EVW&6l!q3$KQG8YhGhd"), - make_tuple("hZ&*ME", "AGdClWhuaHFtWrg8yn)1%ZUx4ZB2d*eD7s"), + "q8XU0o4j6tb9VZF%Uw4Bu&6Vm-fz*=SSUt*d9VsLhcXYMeAG4M-qcxy@2k7mprnG$3l&hQcGrTfIUB%", + "ysJZBbgfo8^*HCj@aB5SmHmOp4bFzVGYOuBsi3Ci2*T&H^xM0U0sxBL$9NtFvNf8$3=5mE=AIoRSyZN!jWsVSpl*oXO4mi0"), make_tuple( - "du6Ij)w9uf7NNZIVZVgRVMQs#ur7bk5^R5du2TYf3s*%79D#^CIfZfH*qZvbdP0cT)G*tf1Hf1AnaLq", - "NU#iQ1e#h9Eq7Zjipldp6O$tjn@S7nK"), + "uDRIz)3OQgqKsjjLG7CjGh4UpxwRqHgmotMmFLz1cFqTcTsWDb^^", + "%SVpkt@ykUjtBa2W6cpPkZr3(=--gcprOf8WDz3*kpv1mVN5IMmN"), make_tuple( - "JO7Ws()11y46B&briG4l#T7G2djL$&MsG5!A(h2Hio5#9eOK^KLUR2@p8IHdl@7zPjGT%2Be0J*gPythgJhzc9r1sWhuseaw%E", - "ae81JV0PG7CY@mndJTx2yVN%C0MKp*IzRT@2G^gb^u5Npjn"), - make_tuple("R%z4M", "7uK*mKGfMJstoHIpRR^u#2cpA(5flqj"), + "B3(zNcgeo09W7R0DPFEQM4blGoAKK@CtOzomBA=-raZ=bWl@qjE2T5sYB=j58Z2yvwzvF&j^%2Hhihm&4eYJV2oJYjaRbe$K%", + "aPsetSPuWf8gCDUe2#u1kfFt(QUG*P2(gfcY!QbdHD&GrKD%@8VP@7m2%dQ"), make_tuple( - "ZS^kK&SpAkppO3NavQPsJku4M2tiiiG(an^iiqr((smDjsON)AdI5d$WZdB", - "6XS*RJ#M#3rwMIG&O#)2hNEd#F12qowDnc"), + "p0I*Ty*9$HfbVOrobNr@M^e=M$ChqVNHG0=Fs@HH0oOPtwOq5juFuQvf^sVn-s6Jgp4SXpuYhEVk&^hu(OZ*baCO5", + "Y(&%h)h92ujNCI&NJ$o2WT*myh1D02fa7Jy1&Z1Bn&1Zq$$f$3nTSZzjW^Zj(KR"), make_tuple( - "fNc1Ge#2t#a0^3@Z1hVXM%qKT&y", - "l5Bk99*crsi6mQwHY2vn&fN*EQni%eWx(dHWtuFBseU$g)&Y8uDIHE!0WtWdiJnLu8y3J"), + "!htCbkOAaIrQgbH%V*QvYMhCVAAsnmHnraiB5^DNZ7&8c62AIPqpBW1mTpeogsS)(l$T((!duy9Gf6", + "I5m@BFQRW9==-hNn7TywH4-QqkKBfZ=7dnhG!gmuhx&BK-(=z^Y-QINy"), make_tuple( - "cm%1ipOhHL!WhiG*$gOWUn@*L#AZxai2CDgeS9kO%saDnCSQTD^1AddV@SdvxPpN!Y*2mV^yIEfH710Q@&*", - "6c#YSX@2^b&PWcmO"), + "oE4L8u7ToqVg*E-ZrQ*kSDD)8CScq26kD2wr)fl(XxH7s@a^-EgbCRg@VS%0-T9VK0HYnkHvFngFP$GgzCqF", + "JHLt^6X)O#v=kGMt=wv1$od67Bsf7=CPNp3X2C0$GjNr0y!j5S)W&FQkhCw#jL(G37#7@gWlFSD95e@"), make_tuple( - "ZXISd%j&lIJp*dw1KXThZ91OxAEun1F0w^x@StbuK)k3Z5NjoPz)", - "NgEAEUHs%3^3k%SnB#tnRCxgkL!Fg4kNVeFckVFA@hpDr@cOf)z(@$UIo3vzc*E9jj0FHj3sht!1cqlr)(IjNA"), + "#-BC@tFLnYraF&Gkj*4-@Xovep)VR*b4eD%tr#-w=JKP02LhFgF(ccwU)Rqd%l$Gok6NA#yWOFs^8", + "kvrqoNm*uw7MTD#D0zrjq-mTVhzVnHYG)R7h@!xLTlh0z(B@99z("), make_tuple( - "CD8P6&GjgMevAHD4YrS&74j7j7Zu9^&15#t$", - "c^LT)L9vxHaQl)eOmb*e9fpI6v(9cZ9!xVEnYts7esePT$8isCcs20hi!7Z4YQZdM(1G)mrOlBfDo"), + "WOju4o901N9Q@UtrIvAC@Qadgr$2g$*(pU^r9D-7p3uiJEGq2fF4Y5CRPr&Y!7aB6C@-e&22XQrEGKZ=j", + "R&t#w(IaSqWn-wMi&2=ZL%w1Mu%XU%6HAP%^H6rDNms2XhtpL5AxyVgFD#hlm=)yE=RP@zxxL8p0t679"), make_tuple( - "))c8PF1uGp9AoQ2paw2hsC2*JERyj*TYI$y)NR&cWO@CE92YGeslJjg#V6PLV4tlSDSYTbK)fF^", - "GPxizp"), - make_tuple("86elbiljCSAk^7E93VBkY", "jB1$%tMZai"), + "-^wPyJbC%^x*x*bh-$5ANaIN^^&f-A#x!*njB4!!VACUbDW&%gTApdIbq(bO((aqhuco*ONO", + "1AekQmYlDhZCr7JQE&&EvoljehOKIWj(*atusdF4x0I=!OK9&j-T^TvkzP1OystAZYf@JtlL!6(fpjE7B-IO*P"), make_tuple( - "$tFNdMZduhD&)U3TwOf*sStY^5vI$ZS9x$Yiu^6UYfYuE&OV#HKBvhtO@Ucf#Fm#o5Z4Di%eY@go79aTlo7", - "qhRqqZO)lmxBjJEPkfQcm53b#NwZw)KH!lwC76tqZ(qZP!7UR!xSmkdF#45!d3heg6lwKIsdotmEzd6&Xa3FAPgcH9SyG05Un"), + "L%is0y)!LEjw0x1S*A(20ytkguoEh!HNuZT7zmDfj$toCfZxlfc!3hdYJwL!wLxmvF2ndHFvB!JTnO1m9rVP9!YD1y8tQ^E", + "CBrdXEuSzy$7r#il-an)MPIBBnVI7iGAH)-iyGz)q0qHbNY6ZaCiv5dVz53jwFsV5VSHciVIQtr@19ntHyF"), make_tuple( - "Vog", - "^cvN$$IrDN1EEh^zv)Nd#iM&K*b&!FZY(g#$45#!R(xKHTvtk!)A!m&A9ZTmW4j!bDpsl9V4AMvAP3KP1b#By*eUF"), + "t$3pwlTSQ^tKniwbmbVGPb940@SXw3KpbPtr-PQcRv*9eWS-c4krEXv(&jEl)Bix)", + "klSC^m5=@1xtG)9rk9woxhT1WFt1*)aC%%W&qORwUlQ#SuY(i@GgD1Dpz0R%V466Q6H10iBTGMZVHnVah-Ct-C0V"), make_tuple( - "WiEV6&UlHN6*Ww0(ux", - "*uh5k1Mxxs4Cxc$f!8HrhqCk%8OaKH%E@H3GW61$%XVHR#C4pd"), + "-%g9f%jEU3WO9zsCcr)nV-1Z=pbbnu!uIpLv-Brh$*G#Di$5*3Ccy1", + "&dt)G1SP=$Egpsi8)vy*6cWZefi&zvwbaJeOY-QetyEJ7x#HjIS%a"), make_tuple( - "lhZ3k5RUGOcbNYT0RpzA66leU&8IS0re&Lx5TVRLO97El&f!psDn@OLkBRUFIe^^#W)zSNnjlG*7!2eG5", - "%M&JpjlkG#95P@7CdmB&3eNvHEIfPj2MSpQvDmvQF*qyK&bSuwCFv^WkjC11Iix!aOv1QSfesk&"), + "9AU!YC1Kcg%mmH47NA#wX2y#%Jmacr*(djL0Sx7)Kqq8o%!x*vbf9=RD3l$GDPPZJUPpLTj^*I", + "yJsmXPa5ZM-T(QmMXHQo6R9@9va9$dP0-IMJ(H1!8x2mJYhTL)2iq#N^0Wf"), make_tuple( - "V!wQ7!pof%", - "BAhk7kICZwguyFkungl%NBirNZtmBfIxn*mpE%JKG8fViqFZ4v&y58^*m$VrEit2H#Ki^SN"), + "bT-hZO@kTMBd&we)SxTXs1V%$wZ#$&rmuD4Aik=Lc2)O$KL7U*eW*8", + "LHC@mC@R8r&zjxcymQ9HLKW0A7$m0pXPT=&tuR6lwl2*3no8CV3mM"), make_tuple( - "D^0yZxB(W#&7D6cV!Iazt%U7gh^gsLBXeBZ(J!NHr6QOCmtLYco#FQZkqk9RrTq)(%n5bcBsOF*)vj!Emgq&vKW7Q7k#s2", - "%hopyN$jACKTP8)0nLSRLnxlWxFy!$%ihjp^)yqr1TU0&1tSsbBWy9X2GQ9S^wL*(kWv^O7N%GylAA&8RiE*7yq#V"), + "H1$zoOKh1Fyo#oSad)JSK@(VN@lNmnog!BZjJv595aQC5-FePprNNEah", + "!qPS1lf5-Kb8&qx5i9KZzqMm-2cI2iOx@L6516kV1cWqPN=1WF0&kcfhl"), make_tuple( - "#ITEkkrZUmr&OCKUYkzITz384oH@balc7NTUJSBTIMCbIZ(pI11nS^#n3iA7v6", - "tMgVaalYbMlVobDEV5Q0yib!16G)36EISp%eCkUKwPrsRO$PZ)BkqEWj"), + "k#bhR6l)61)N6g9#CV1RD5%^=d6Iib4^ky*p=BbdkcY0x-E4%qx0i=&1^pL@xdZeynNgKSuVk1v(GH8v", + "*uB0ZAGC#UQgpWkW%I4z%^%Bt!kNQTmKPo*LFXi3c9#(8OoRIkSbU7XIUh9KS8a&Yo!K-KcEx4xFM$R#tbEpk-r1j1"), make_tuple( - "hhVgn2TVw%ajK8aoiD4%tw1WzpkJ(3qhQ^FC8WjNmM&McMFN0hFWg@cSZEftOtqpH!^zAl^hvej!", - "%C*piyt2b6u4BsG3pW1qLG1AUg10&B^O$^wzO4%D7STc!Fn(4f80J&2dX#uzdT3$)*cumCY8G)E7#mED"), - make_tuple("h8uiSR!QTPbCnC#7PNJTfn4siEliFcN4P1m1FrXANd7at", "X"), + "8wgK3)inM2Q8xz&*Bk#Qa2WcYCt-&7IMf#i-T=)5JYrwEUQi#f3RbSEI(ZTp8Qybcg&L&QwlWB=8D9lS$&zfAKS)bVfVuD0U#", + "%b30AgdJFfO%eNoGrp@134Og^4L-SC6kG#Zvw*y2F2sPgd1()qMy-ItGE&gFu)YPYbDdraZQ3-SV*BFC8VqS0C9Z3yZf2K&J"), make_tuple( - "iWihz^^F!!yNg9JW97K$NB(5yNcz6&7NXUg&muc5bq%Dj95gsvrLF7NibhiAIh$rLcUq6lmSAKOw2#vwRHEE#fPvXF0!NQbuR5eh", - "s4(WzpNh)Q7DJSXLsylz$ONGHrB*0eN%aDdZGIMY0I(q(!^pC"), + "GC$oK@4g^xEzvJVrEiRzIAkX0TMF3slreWxRnQiZQp4KPP623Cq#Hx0sDd4zlJAW(Lhop^Wo", + "Au#xISUUbP7E7eZY==#INp*KLcw9kBa0XgcK5(!4zFB#Fjk6iOn&JG0$^ads"), make_tuple( - "6gc^^YWDg&wr5MYC*9TS2GnWT$dTtyzgAFzs7vF8eH%QZmoV&UDwej6yycB@1XTd%j8ehtt0aCNczu&11Ew5pyK1km!ElzI8^5y4", - "sY4s"), + "TWqpzp)bdnrcDkUQuZVVZuIf0ptFWRcHFzNzId(dogAdJ2kVT(S06=#9oGYOl", + "C=#DtG2@MQ5Cfg&y#G3!V8mxoD61O=WoseWzN#%BPcUIL8tC^P@Ra6QlaKv%6&(R732JwKEP5P"), make_tuple( - "d&F35^DtNz!Z$D$BbfP48r05!7a&g1U)WTpHnPz^3e6*xQrBjzjaM9OE(P)RzF6kC4fS8QB@@&FS$Prrh!XljRr*KuXWfyK", - "yd1ZyucnY4TCxJcaku4uE1(NQH4)(vLqC&kJUO1LAAeTQV&W4EKj@#@JPY"), - make_tuple(")VqYcX%", "0k5zvLY3T46m$hNI"), + "l^vcyr#l&XQexfqbzOUuxiFHaRG%3Rv233IIA62&7u-Sgsv%p#j0^L", + "8eKJSE6vDpp52wa^5oXgHi4c$aiA7sXd=V@aoks*po)mU$34ftmlIF27ILCvBvL"), make_tuple( - "uI#ipgevS$ZlTenfhXV7*IRG^ZZc^kE09B66Qn#3#", - "rrqJG6e2@dk&Ow!%1MrK3bs86TId31AlomXTwk"), + "6Nk34RZ7=1lyOBDJCnvX)!IOC2zNwko-CY-jxIDYhFkQd29oLBl5iw5#", + "3QS*4NB9I4lNJQWgNflEu5c2oz)z5asda!euJyz#ZfqGrnWub!0%!HPIlcUMVk4Vzo)QTez@6hosVmHo3og#7ESIfG"), make_tuple( - "J%l5tWcg116*CQcx9oB&aau67D5qW*s)SPKoR(dI72KG191", - "!0iDKfx1Fea#eNiciq#wRnwA!UDHLrHuMd@KN3tQhDdXzxpBKglH3Ay"), + "K9ljJ^YKQoV7u&VIC)k)Pf(dH1UI$Nsvt7c6HLyEdL!e77v1DrHIuJS0Fjjn-57Nwd", + "6@W%iuUg9uWA%p1S9nVEXusjr3WZ*LBt*Ny6EdqZg(BQO43ngpq6j$05GsZvzvuUaDS%*Bt=RAjBqO"), make_tuple( - "0T72(p5%Be6Okf$f@!AemUBEINMj9fxr(SNJ(h!@5kHO1vgMU*(p%PH9a6BCqVL$HV69v$nw%*jveMs43axiF", - "98Rd&*zZg&Q^K%Y!0Ycto(OIPE9o9c!)svntdZUnZ!GSwa5Jcyv1^w^nfO^N*)CO0XMeDo*UHK(S3(P5WW)OzOi3xehIwb(1Op$"), + "SiG^okR1U4Bn(hdsU9uFeQ*yf!)nA)AzuYS*j=$uJTzpPSL^HG8yZ9K&O!#uMU", + "9YFr@2uV#0LIRsHLwiTGCvxJIdbFkshfPs)lkng^NzfSpYuIdu@=h1Pbdo5J*k9HL5D6YDbrt@LI@p(Xr)9n-TIoq6#&Q(lIQxjg"), make_tuple( - "&yhGMR9mBO&)88^^zNvs!Fj1cqNOWE#7gOuvY#pN8KcBL54#EDoPuI01eeu^I", - "HlI$2On(hzDr1ebIVh!2GH@FSmu5CO1iTtwU4Jh@&omQAsSoiRp@M*T*6VTYC77q$UQ*6mypt#PiUtANI$"), - make_tuple("u%uu)Sa6SHOpu9nJOdUK$tEo0j7", "uEls*vlBVUOHenX!KQo*7ayNf$"), + "ffK7nm=g7z#1SZY00-gL3JS2Ehf1J!TkOq012WO4w*KA!Ml0vCy2eZ^WspyzlVLn", + "E-q*=KL&0wa6ZUGX(VYbBU3phmYDP(JFuKZOJXkVnh$B7%FAH6&d6Mqu3j"), make_tuple( - "z05OiC$$Yvn*QByRR!hZPWe8GKinbEMcsoCgQI8Qi6tBMjKG!LQym#W9VyHJSqle", - "hM&K7E&DG*VrTrtTlPkA9A&rT"), + "NG01C7cLQ@hbT6ur)v!=%bwjQoKwG!Dc3cmqsLi!)-*Dxw^kP!QI-vp", + "AZLdJ*diw-y*RnE491OwNIsOlIRLv4wpxKqPrg8!dJQe%CWBZF2nmptt"), make_tuple( - "DUd@PulqhQlalD4IKeFhE*)!PVUuFnUEYW74vVrgxrGN9CJ)JgHWOOj(PpeNMSiOpz43B2KaRI3qH@JiDn1p06Oyni*#DAf(", - "4@VJzimjYM^MMMNkeuVbX"), + "8d6z4p9&B9)Mtz)zOGzC@%rrw5Wwikgrb0XCywCeDN3%bBm=hFOJoWdQvCJ&uhbC#viWmNdU$F$!G$d%2)0UWg@NorbyXNx!", + "ZPvzR$0-%U*OuCcoSMGdxoL69kWgNYRnvz)$1-3^LARBvViLQmqlAX%LNQ=J)jLxMKt9aBV"), make_tuple( - "1WD1ccbOi1uB(Iz*$Nx#acv@x1saoL@qa60OOkI9*hzJN#!aBrXWvJXXy", - "r6)G9JNW&AUz*CRbm8fi^a(yO(eikmnOPU^ggPEz^tpHiGGFeOF@%o#v2o2XENGAz&(9Q!6e(SK@Ecn$5Z$!PZ9u5qR"), + "zh5!ki1h4bKRNadgtyIJmNw$6bQz*vCGe8&%lgJTX$PzH$!7ME^H!f#W(Wkng4ub74lVVE2", + "y@X3RK!om)iMF^tuvM-3K03FLJP@cQbhfSAl5k6wvrGE2(@I(0HiERKeUuo9BW-$Bo%M4ERj1*BEklEnWm^E)UW"), make_tuple( - "PGWoqpfu1i@KS4UpHy3ZR6A$xGL8lj85yUyqQ&llW1N5E3VvjYYgy*MGk2UXR%O2tsCfJh85Yz", - "QiMoMO28!I4(*FoSL2!RXFUJhh7J2k)zo6@4w)g8F^als0c4qFbBDNw9$zMb(U839w^pD9(@9F*SS)j%k*ai24"), + "7Drb^DFm*-o16VHXPEsmHRnZi&OKw^&z#&)$OQO976Nie@fwQs*^Mnz%jeg*uJcAjjB26BG6vAa-)v4t5baDfVfNZa^@", + "A2qdC!*OXCX3u7tSc*MP^=%N^ZYB*m(GfH^paVQ5bB8H!VwTObq&6KYE"), make_tuple( - "%OLo$g)v", - "^b&sKTeE#vl#0Vfdsvo2NrzDDD%l3P%zlxkalz@shm0Rz)CSiFjLbS&tJB0VCH"), + "F)dV%Vg)8jaz@DjrRG5SBMUGG(L7pG4XdRRS)TBd6=gc24t3=sPv)3OIeM", + "-l%tpQjB2P64b-W7Ec8uN7oHqjpD=GiDl*a93kFiwcMXQ-OU^EyLgJP(tD*WK@#epelkd"), make_tuple( - "YbdoetSQ($Es7($*qn@JN5%I4dXnfiIE1pV7sSHec6njfoRSTXYDn9*iJv9wBrQnh2vep", - "x&l!5gF$KRJB6^4M7!dbViUtWo!BBDK5wyRk8Y%BgTe**TlTyORUQ6y^kZSvPSZQHYNH)jR5$BF3Dl$S%foFJx"), - make_tuple("2uw^elUDvIz60My6v)g9q9Dcj", "P(Y5gGGakwxQIDs%R"), + "xIh^FR2Rz)^0@FfZE@58cJINPe5Yd!7qBVQiOa&x#Eb9q!Fkm*BauCf#U", + "8IlK@X70OUbpR!l3&q5PFWPjEe(T$Y*k3Vaad(xfqr3$ay5uDqR1wIPbf4&ninf1dxa(mNWw%av5EK^rgYxC#nq2qllEV"), make_tuple( - "znA^ovx*lNZBsTKW!lRDx4P#uV@*LaV^VM%2Cm0(9VMNA%ZP*yrDX", - "68BhVetdCDk!c(uf1DYzRkiYZdtb7SSH97yv91a1F"), + "dB1A3s7oR8PB2-Alwz3*$1*0tcyDfjU2Otl%iazSa=9U3(eU!17jvPAlxD(*1co-tMi58UgNw%W7OPzb3@2*g*artJ", + "#QFAQ0Rv)SYPhw9*#h0(WuvLtoYis=U&xR9ZjnyvBNBy24XLjZvZmrh!$l)z6UCNDn)IzRV26mtt^4o(K3AWHILC%MjQ0!"), make_tuple( - "gW0CcrVg*%Wyb)a2BU85S#kqLk)Uk1xWZNMIpr4&8Mka9zuV%QeM&#GXtk#(Vc5Yy!!Y#X", - "Tc9TK$EnCP2dlGhz$4o*jQy3lC("), + "mFYUPt^A&8GdzM9rfPZ8C3WJt%3(R8VIqy*wav!wqqf(QEYSn*O(cF$H-U3^yR6basR2=(mGdo&Ra)6RY", + "%QU^kM8jRXDCnrQ3d0zLNiWqKe1AY4=5^bad@J#LQ#xVvyM5)1-xU!-F%BVCEDj-ZjppDPR%KRHz0"), make_tuple( - "CsU*2)5e2Zq8yq!B)dg*XZcACXx7%Tok*pbgKwE", - "VdlSoF^8zqhbuA$z(P2bb^HbpN%Bl(y@^5QY$5(LdSg0F2^QNWAHLey*y5bCxkAdJCgZeJgaIxR$EbH"), + "9iMrAj)&XKWVSSE@BvHA0XFknKRw@7svihKWiR*vYJEllDaUWi43*^(", + "-0sz5ZOm!4WmD5V0$ZW-W5#sVvWqrPvSKolxeE@lGO1v%h)akm5n78f@$NeSKtqcj@U"), make_tuple( - "1B&p#uC7vwd!i6659nAE2j0L84TF#jH06", - "GxrnhiPwHThH^95Tx1qIHBiIF#oIbCc^uvP^rArVAY@bo4AUtMFDjZ1oyDm*SWeqPR3O"), + "7MoYXLABZzY!6Sa!FiFlzw=CdvWA3ZgEjt02@I)DK&(Kcx29PVO5ROj(1M0r=NPK5wtVez7uJR@(TQ7VETpF%8WO5ly-T#Ce&$*#", + "XHiFx(K)sTyR*RvspL^(vnPkZt80(SclB*st*3MyD)!w1O4C*PQczjNxTFloo(PsicO3fA8oUoji#gufmY*%STtD=Qjpi@7Dv0"), make_tuple( - "Yuo(nScb(w2bu2FIlJG^4j7Y$Jye5@Z4", - ")(Z5tV#9guhRuoKu9AwKRk!pfMDPea(3T%xAl7FxTxWOpylx#0GuPVYVpd2TxG2P6RlW4tUj$mFGZHMq@QE&oMW%mvyKD"), + "By%-UAFhM#fX(=RtaWI=ZkWz0%OmmtRH@pp@DDEER-#lmUjM1zlJDQ&T", + "7Nh-U*dSyd0a)&e4-aCkk1LeTCxN9i3l1cqMJ$UPWHrIAlwVrtFcd-O2GYogtikK-!O)XHEaL%=G@=9!tB^b6D-KTd"), make_tuple( - "uAP8#kIMr2Ly0fLLL9)4c1DKR4(QX018^34Iubt*KVV*PgQW^xFf7C9@NmVoa", - "opXy8bvN1#yCerI*03nrTEKvnZ77h1C&u^Nl(zFAzT*7Dt5ykXI(IRo%sOXPaP*oI*3J47G4Dd@KCfT&Y1EYq02EECq"), + "($UUwyGOu#-EAS$TO6zF^V0=6nX%esW!h=%q-##Ox6@!YPdo=D4SX!TAKZrwdrrf@", + "kIKLRwiq$qIu!X^GNSs*E0k)SEu#7$jHW59gLK*FEHD!i-YF-cUyyIdjOZ^r9tlKd4XyV"), make_tuple( - "BTYD1uR*VH4fIB!1", - ")NC$C0f(Bo^bfn1l6tqvIWU^k*%8uK6h@@9OgF(D0l3TqaBHrmQYIim)tWxX%qNn^$^1pGD1iOWZec))S7wK0vIL"), + "7x3#kU2@P67&zqhnu$w(a%eZMirjx(6ea!Q26MG!78R&h)=h5s4z!rpy%cZ3&E8@Yah*y", + "U#j2U2)(uAjTnX8mp8AL-m=CFHqCB-mu9)(*^fG3mCPO2pVZ2&q$4h9GsjY12$9hOY4BNS#z@boY5Cc2QK=h3Rq9"), make_tuple( - "0uIO&ErqN7lcFr0bCED*WCNeuyajGLd!Q1rL%!7jnrIa^hLa3", - "84&cl)A#lbmB4b2nqOQK))TPDh(o1v#xF@rT@Uf1BbmWYo#WgdRH9uOb(#mQqlGEKi@s&(f6ABdE1ps!&2EwerIH"), + "GNnYVDSR5%za)i-g1RDuOirJwF6z0zgGzEUP%i#g=4eS44^x@aqIx(zpuGnk9&QqiL", + "uCj8pP&Tb4#Tg1@R0S04s1PTM!#lV=X)E0o#3)&fNeNGB*9xQ!Z"), make_tuple( - "G9KnS@nd9^l!R7x", - "!JjH!nsQ11k5HazcTtj6sh8IqokB!FQe(XDXVm@MgpPXJ66qyaR0I"), + "@=%fBLxXzSq7^gAa-Zf&YL93Kmh30o5a^Jvl-2bH*-AVAD-&h9Lv6=nXJqw*A@S8w8OmdrZahs@", + "5LlY*3Q8aI5K%n^CyHeK1L(%ATveLVf^R6dGQb$mziP#NyfOI07G!Wm*7)FX9ELj)qS^eF(^^)j*MU99G#Rg@*YXr^i)$OZ6joK1"), make_tuple( - "c5ZDtGqRKtjLlu#4KDP4IXnEWt", - "g#V^2soTo8var2o&e(FOWVG3Zm1VQUXCPPTPp)$SI%l#FG3iX6*MG5KQyAkB7%SLxA*wgxp^H&%Uab9JBEs@t1Y"), + "LqLwqz7ZcFLW!-&r=9EsM*kKvW)(K6xLKT)1^s(7FBq)j9yZJBZ-dJa1!fDu6o$ATAXN&MRZmOTJ", + "C(Y6SAuqg^1IPI2Pb!z&1N&r8!b#SaXeie%cqfYs9@#juDMsaqNTNF3G!E7DiQonRBepp&g^3IMgl9@6F"), make_tuple( - "jV9WlM2Gt0oe", - "L^Rp#r6hafSP1A0jAwy5m*PCgzum3IpKQ7#&r)k%(KV^fqR$cXBE!wIHn$zyyFX"), - make_tuple("8)(^g*XTnSfDvbVw", "qn#Moo*1h5#nq4Lv%$W%2"), + "hVrnx9BQk4GEtRj33JfROqMD&Pt-s^g^lQxA11DglxWsFt@YVSEecmyoOHBkSUFhcpXPJ^651xdsP^Oj2vSQsusm*fzYKUJz", + "XeGIQDI#AH7Qb)gU8OLpr46XGAcw$vZnK9e2nXeRtsrWtbMJyO"), make_tuple( - "kI#4yj!qC!YpzyYFblS8hakhxQ8hMtGB&WO^pC!)T2qJCVhQj", - ")#kMpLURPYB&XEb4IVFDW@E@Xq%eOHzD"), + "#N5JymwQKd@yustOd&UtT)#KEJqo(8(G6u8RkP3YCa*bhxKfzf$4X9", + "YmVw$!mWST%4OCeI9=&%$3GS9BPDJRm@I4m1Y5(FFgX7XlmElDOj@"), make_tuple( - "!LQcJyEFF**jhA&E%5xTqZr8Tw01$6gpKD6tk*C15nP8BPIcavxNqXqnNAAJz(aNEGRkP^l%K5lq7Ba83g%c9t", - "!Ix8#G(JwK9@hDyQRlGGK016"), + "(a=t3L$dry36nBAbmz@!Y*mR%4bBPKN3Rj5n%vu&giIQ!!0qlpKDgmtE8H#(3MG-D$NtUkO8TQr", + "cvsJN5k%%y=F8%669iKq@083S2GLrT2Q&GC#r@N)L^jQ-$u$ZWI9Kb&10yI69^Y7j=&(mWFKdctoIs@QO"), make_tuple( - "c%&IrEDv5)3WB%y^8ZN)aNgoXau#OT17ByjJNNWhx&AaR10W*v#In68cTH", - "eoJVQsOifGaEoHRaef3YsaGD%Un!8Au&Qo%H%l1S&lB3%LEjoIJRi8jT7kqHC4sXe&%kSRU*#"), + "51IAx%!AFC*=FcUUx#Iekk67%ppx#Z#KvgCD0x7Lj%Sb#)a%^o2)-fl#", + "xElpHKc^pEFvYPQR%frO4WLTKuuxplR90YbU-Wi%hyOlQe9vRAP4Or"), make_tuple( - "yo1ilA2i1^ekdd1oLf#4ATHGPLzzHM9yK&gFYwa59rIGXxyoxsanZvL7U(E", - "uGDNtSE1NAbTJgcmy6JmnWHog5M(Ky^RFj(!JSeje7OxT2dzENJGUHqc77tGgr3nz6zocgoUuJcu*gPpD"), + "R4ry!2Kg-O-08rm6cYXG8m2llC=@RxaoON*j$E%j=b93acQkm3%&T5ERTm1)pKmh8oNuEh", + "YmeDcDhN3pdoTUsUMUH72)9#5=zf=NNM^nZZ(KF#zgGmFE0I)M4LZD^E3Tk$mVRnghLRc=ckJfNewj=9X"), make_tuple( - "VdPX!2@)tICxG3xwIDmJnecadFsgIUbi)p02!vjkCDwMBOKD2DzUm0lX^3n4EY^", - "h#M@KhS9eX#FOVG!*4IY8WrwSbMbZXyHEUL3lfWBAt#Ldt@m5OM^AKJfp)#pnhJ"), + "bAdNn4yf#AKYn(FMm#V)lzd&TSAp$JiTSxonu(S(Djx*dPY4*aN(4eDC", + "cBY#GfzB=I9C%lY8-r^tol#6R)@siN&B!VH4eudd0Q()-wN&6mQ&1CiW@#%pJQ%ipDT1Iy*34BY9=rhHS1!SzpU@NQ@K9gH7GC0"), make_tuple( - "3!kO(7QF&t3Xi$j!OYG4sW)rwzWH)w6IZ74OkOAp(QXEcbrNozg&$e)1cx43RW7x5U5N4f#2vniwM%%oPrZBKGae", - "s0J7ir(2^n*eAptz1W5cZN88g84#cRUye$lmpdZ8)gSvMWc"), + "X#HCptt!Wg!RoqJ7fR#hWMFds)h^euOvyccMX=9V10t@wd4sd33H=-Y#kOo(-n%lunU=feKJCFb1KY0Q9Efh%2h", + "vJ)149SbG2ynfn!C!r1BdaXcvIjn$ZaFE=z1Xx2@9G)RNwGHH9G"), make_tuple( - "j&mt3u6I(y0d^YMMPMkEXwbsgeDRTxvp6kFH*dSe", - "4G6dod!Mt#zpfMb6Pslsu!6*IIA*X^7)Q5vu1ZS501g1URh9)8Au*s7zdYVdufyv@!HeGZVEQ"), + "W!49Gv$4jA(yaW7aSiX^b4-J)UV(6K4VfPuDZSPU5EezPdw#pc0S-=C-J(Anky2%$Od1Z^80zb9nc0czrVP7iix2k903p", + "RUDB7H0eYoObWmLs!(&-T#*Q1k0ak*ONsA1APnWQ*@y!oKBqSnVnQIKFkARhaKWBh@YaTsx-Rrfr#$=ikfcSe^G1WjK-si)"), make_tuple( - "nv5ARDIlGea&0ZPEo5C*lKW%kQjtFX2hLWl!e774O", - "a@601Im^Wh7rXv$52o0gzmvw"), + "C2bMT4fUG%(B=o0OeF!dfvQQKInNGMXumJr7O65EG5zRl0SZMOMN1-LL@sF%$i$=Pf1oK2sxWga#!7Xz#WwFEtSMj4XIF^PtmE", + "kV10ozp*ctquP&H!AE*n@rOr%x)u4!OlqwHfM45LN1viEDeWbSgX76Mz1bns8zxfgVmdkLZQA9YUNR0K7l"), make_tuple( - "T4lUoOjQcAg!r6np#bdcvRh*bHnY4F2ksDxIfipJNb6Z$8M&g0SLQzj4SDgdA38szJ#Fww5k", - "&S0&De6qF6vhC)Tv^P5AMJub5FBz7@eiFyagboX!n)tUpggLKn%WVHT@W#Ea64tkgHqn$iJ1"), + "bp-9I1SIz*3wRbXPPN^OQAe3&rK(UI!g%M2JX#yud@ODn9E%VMVWyJ%!fAe", + "i0Tcb9xXuuJ0CDuiFz8dv@OVUhkx0=i*XFlM%gX&ZAJ033S%a#@bQL1&tZ07jonDkALm$!gDWdTqMm1B1LiEgRCf"), make_tuple( - "QXef#YAiM4yNFiRLGvR)8pgG1s8sPABXGUfnK)WVzpKaMuep@eaUA$XTlt0VFCGsC8v", - "V3tK4whO)ldvDJ#SVc#jtM#$!8O4JHuwET%AgFI(0VBM#Sdx%S46lT*@wUsRbfLRJ"), - make_tuple("h3G5o7N$92zEgiOppD", "4jmP&cFROn"), + "5hgcRY&BL^z3V1=f2$r2$t0ZqWCanpj2ggrp!HcyclgEPtE8e0tPYN4bA@CASZT3X7(", + "cPJaAol$2QszRpKZW2u$fkq(mw$Vs=^V*lj2u^@pw47bo^P@VN8F"), make_tuple( - "!$JF8d$nhtAo94I(GnT)A&g2Ngi9$hrWN%Q6F*edPMHx$15Z2QgrTd*R)iAOg#JZuniFES9pBx$%", - "iqNmN#t^^E7#H*V8re0t3176$4j"), + "7TajqMppuuUJhQZS@bZCjP7LjiEQf0dIClw(Tae$)#X4pmoB=4EzD0uCfIj*kcGAUbNa4Xar1i2LBC1BR11fMp#", + "k)@aF0iUJTJ(FV6)cpH%lHgJoDxPeno#&1T=M5c4e!E^o#w0EQxJifKMn0zC1W$QE"), make_tuple( - "N^L@t)RVWI0LrwhZoesCwt5szpLs)b@(vEBQvS$3$#b1(qqkR5q7VHr#y%jkiuOJ!d)jopQBtk#e^GVDi2q6*ra5iikb2", - "R517Oz9"), + "i(3-SQ32Mgq(w8xqud)Ojg67)-U-jb(!znM#c*XBT*928OCe4%heuH@--OP$Vwj*W-KKuQSPUe()c4f", + "DJN*=z(-0WE3#s1GiV@6Jb1=#ZI=o&tMSM&4M7X16GSB)VKF-Hop@f=w@r7WxWh$ZoNwZp6fswxLYWh"), make_tuple( - "fJ^otwjJ9FW*GRSEgPKGCypX&*mN8dQPW", - "grf*P0qrHp8@STopRtZlLuGrBS@Y4n8GiLgtkQ08@4ryLrvBi*I!#&dS&@JJXT"), + "0*YIek%ag9bJibWVj^t7ljt4PrEmuBQ2qVFyDDqh-(ESWKtENbNQIm)53b6=UCx-q", + "bLw)uR^z-5-!iATtog%pvw%0eh1ZIA*#cwMbB*J3YFm(UC3K*#)YFfNP&HpI2n&h^pG-dY0L=Pidt"), make_tuple( - "lrUKwNvB0uMtLYBA)8IsvgU*fQyCR4B16dH#cPtIvghIQydV0XlziqFUSlIypiBF!d%HpC@EvaS#&zSEDXbjeiGAraq)benDi", - "!B"), - make_tuple("&qlfL4%", "$qOS7@h8eTNeUP"), + "5VZULHBG%p&!CjoOgi(CmOw-)B-HVYzvLkVrP*(6alM4(8ybGv$iJUAxxD!7K&-@8EFK@Gl8g", + "E*N1&zSP#fAcfG%uPSwA3-tvbTKLwFp=DxxzvUPdK7x9TI5oTw9dJgH"), make_tuple( - "Jiw^R5ozI*(WAm2vsJC%1gpayx0iL*VqzXY@@n140xOI*Rn5mH#ND5iUMYE9L*4*EUlDld7Duy(r", - "I42EW3TvTNkTR4NB"), + "hmklBKpJ0QC#OnG@7XKz3aK$loR3TcY^tkR!uugye=O8tNq9^MUMX@ZlAh=WXtCM(E34gE", + "WC9Tp254nBVD4Sy!XtQ-ToUxPHc=rYv%A7iTqpK6xAfgGLsoCXxAlba3xlMWRLq"), make_tuple( - "ow#NkSy%xDN(bXSx)3B1h%kejZ2wZ(UQe5kloj)rsyI28%S", - "eBdrO7IZ1%%zpDIlXbphHD3jYdvH(J)4(GEOYE^*4M)Pns"), + "u*gA#$O&-#Ug%%n!#*P6lKFiMRs-6UPbv^CR3*c0IV=pWh!5pQjgL*z3ATkEktXlfbsG^HYK", + "hwIEUD6fI53X1gfaNRb)^Cvtl5#9*C791(QP!RtO8hj2)&RYp2waxKgiXLdQg*N!c#"), make_tuple( - "0@xPnHKht*(I2IzIq)7xSTnn0q^Oq43I3ZuaHsv43ncRccCwhdx^%tB7NQ1QqfpD13%W$Go1t03RYk0dgaZIK^c2xiZ&hzv", - "9j6YBu7c62DFN6hHZ9uklYw@A4z2hKrAb*MQaq!*O7bLMdId@cXB%ktxm"), + "t1MiI6GKM%y@AMNaM02ZQ=Qymt(-62$6*FgkWPKi*0AySDdLVXtQkyL1ur(uV5wEL", + "s8B16PWUe*HepeWG4boT-RcPVGiJog6h%TTIHK(Nv0gv6Y5L0mp=-)WKfNdVg*R7P3kTSVOG()GFp1#jVSB614!T"), make_tuple( - "8ItW6ewZH3$*N*uTGLzHlE)RSJ", - "FWTkGKL$AEp*7S4oRLIVivkvVqFauuQW9ma6JUkF^D0f@q2#rlzMr#ml"), + "kTrK&LuSUu*74ja%YLxFYwW$2p0E=Td&v*Q7$38sNR6yuYb53lwU8^&LgVqizcZ9", + "4ufEj0QdqIk1t3vr1hNWQAVvE^95BMCd&Q1bY=W=mhXwNtlBXX4s8zaa"), make_tuple( - "C3teRiIUWteo&)XIDT1%SINlcrOT18US$7xyZ!nrKBgT^@DH&r&0iPPEV^Givv5QRo7AJimDFbjWF4SYZR#Jn4Ab!", - "CXAUbwA95Bghj$*pOs86fxM##VK4RTQb9Ixhe3*mFatk2wbKBSpjGK61@KJPs2NJQV1s$1b@dEJh5Ds"), + "B!apj12P#Z6xwcrmlD&0KqpYWVcXil7qm8tPGAo=wkXIm(rSk-#w8u-xpa^v)DqYtw^!&QQ1GV86^6P5dKsXV6Vok", + "fVf!CL-%8=M$rw2fhbs7fxNP6*#JREi#V^$Ac6n4vDI!b^7CuMA0PmQQGZy!kVQJS9Fd4&X=V9tnRoadaQo%a"), make_tuple( - "(waBkfZ@JKIby)NZ2Kn*y#)Qb7(CWkynw(4Vt0azBupnsJcs0vjXWHpP)qJuTz7$3KyTT^SpdbOl1!WKIh", - "h)MREPRo0fpA61ppe2BuFVaiqifShCoz"), + "2(W6RWNduK6$IYF#&k9aUGq@^62%jCY1qZqpXV(pj2NzSbjBrkXhJVuWJiev", + "vJoB74aG-soHZG@T9VA%M%P@xi6Js8s#4-9iaboI@n7)wH5=z^ZJSFKypKF=RN22d"), make_tuple( - "148x#Go%VMVQqHpyK8riWEIG0s3&LXF6OhRocM", - "4sHHMnnB(Cl(QFOIvoL1szKjJgc9#SBJ*kXwjgp62Oc1C)5^BkZ5etQR7#NLVk1R6%Inpy%%x2"), - make_tuple("!mH2L%nJ&HyTz(#GsWCeS94eJpUjKQiA", "Gl(HdV("), + "dKl-BOl0woCNNirGMmzhDU70CFleWGFUxNL=pqLhFukIp6AbfW%*lEcQR", + "QvE=2m2hf%TBi!&nloxGiq5SJHW&rBuUix^SvqvX1mgv*)MRQEfh"), make_tuple( - "uw*8XOwiLuKEkbQ99np5$Fs388#pFo62EX@fUelZILFnCkT@TuxKqpq$V8tUK9uSX3xAT", - "5pinV187iCuX2O8mC74g!qHNU4Adz"), - make_tuple("ly*&cUH)noDH&zIy3^NbeV0rm%D$J@)U&!Ab", "rrZ@"), + "qyhpkwlFGUvaCu85WECWF!O6dC%h5s8XEsX)lsmqf@gS(r&kG0IaXy#0yrfaN^=^Q=Z8J&XL50K=LQS-qlgKW(fIkBVi3^LoJ8S", + "m!0YBpP7f#vgdg(HHIsbEKPiRS0Xh4vy5z-(lE^u0FZ%yz%Xer^L#z#wBbY%"), make_tuple( - "Rs&xOPSkKl$QHX&1Dt0Loqk$Z$62GFUsf*%X4RN#f&s9JF@!v0PvZWTJlRO9z", - "1YSLmV6h713%FuOBAb7cnw@&Smj!o2SQDjJ#r$ZVH%$leqm4O4SsT5%7TJhn@a8SAnMcyEll79DEfL%2"), + "FdT@!oVuvmRmVmXOvCYmyTWh6zoSx6wj7ubiyG9@FLyzCE5kuN9CJ6V!cugT", + "7!3xl6RG=K8X4y#n8)hnh7oNR^ =zti=gBw-ptG)Jx$S(1VCafMq@4SyR8UHrBuOL24LoD110F$*Azq"), make_tuple( - "2vxer47N0#0LY9&(@YcTk&o6", - "Q)^0RllB@Cfih%3dhweRfqALR!8Gwnd(yrG$4B9#"), + "xPEa90qn=Y^o0Be=M=GrqMI7@-KaDQ@R(Iq)jjuFt@b@z*wRDa($0hag9cv(lrOVq", + "iab3^emQ&9p#$xG0M8%$0YBl=$VR*9PUEYAWqjfpR&^Pw#%FgQVlnORxE5QW0hoQNT4T^Ye"), make_tuple( - "ha2TpdGIBq#rK*mozjGWy3$89q53LPR1BH#$mwC#sl5b&gi0dAgQwo^zdh", - "fd*GovrC1G%lZ#j3z@YXepkHjRHP6B1i$mVkRwNLJUgP8bS!D$Y%V&86y%H&#EiD9!@xtdA1F)4JH(rfnr%"), + "ZAy-fw0I7bu62Q!9$^OCPxSQ)sF4KCpKYDSkT$XpAUX7=GG*xQCDR65)2BAoU$ZtGyM$Y", + "=qVy6O9%UxHiK=Ng687XQm*96-o#iPBbS7X(1g75kgs**73KkKo=t"), make_tuple( - "!o1g6s&LAh(9PjEG9bN3o2J$AH#0gecQE2bawE16wPlgtTnYAk8YG&AVWMT!l@uXAGOfNrGuu%cP8qa#Nrmm@o5QS75", - "%6nKTwf(BG*LkS)WrqDHLF")}; - -KVPair RandomRW1024 = - { - make_tuple( - ")&xZPKcKiYy6OBYQSO3g1hF@P!I5L9)lQ=YAupoRM29tbLOk(FH=9lkZHLI^EhX", - "qS6zzE0PWXe0U$E*pm0wUYn5Z(2RmR5hfEvkOUu*RkDM@V*Vd!K3=T$#DP2z*iCMxY75R1AW0JUw(7ANsMeY"), - make_tuple( - "NNzhT4lE-4HMZdeon!s8A@SEYG#LXmGf&A6j(W5L$E3E6umH8fubmiGk6x)CPiD(vIC%Eeq3i5JW*3p%jEo8V5", - "V1iHh)BX(7xZ1O=!d^PV8R0%eX(yvV&Tr)vrbT2Wo(alHzNlKUsGYdt-y$3@ZLBJEcr!S(YNx)FPlW@IVLPu^=mYu"), - make_tuple( - "IvOZIpsmJ@KOCM6NaF%N#^Hmlg#xChUs8*J!AmydnwnohF))4UXMn*2NDVvDww=ck", - "f4JL2aiH&KM6@74Mj9OGugcp)OfM2nA%GB^&(1E))RElqUP&*D4n!9YUhM43bt412ejBJtkVX7g1nM%"), - make_tuple( - "(**CkKh&8eww(L!Jzwgv&Qb&8vFKD8XeYz#pRcQaV1OU#HX-W!584tjQohcO%kl8hC&a582ao2LyHHp#0Xy4T3Y@2rtPGM", - "bV%Hioc=PO4NlGVZ3zEp@T8mwJO^Z$=!QDFYQmV%gO%roSDuQyp2%uHZt9FucmsF9LHEIQXhOs)GAI2yC9WkY^c"), - make_tuple( - "#5B-c&#C($ME2WcAbGN!z=&@Qx%m*FWHnpKqKxc=GMVMj#ezpJaA&FCck6sxoy!qEBT*%$pcOgOiGV8Fj(bcFA&e72%&JM#!GNA", - "%^pKgHRHK6Nu(q@Vn@1IYZ4=8d&hiSmxi8tvoFT!0^94#2&*KuXT=COjp^=cg!53p@@o1Mck48bfm8^dF0(AT^qyqZtN=4d"), - make_tuple( - "*5EIR=o2H6WetBO5l^VMJM4wca5yWB@RHeTfal61vjKOIuP6Yt9@pA", - "UWs*Be!@CFKw8xsRkV6g%TK0iimgf1swx&7Rm@3buC(K9jZ6)X^yu87Xu#5JdUU3C*xiDHWovVJA5zmtVrGXj^rPs(CUs%#Z"), - make_tuple( - "LHMASYWT)sO&LRyi^4W$l4C#4Ylsl46HooUo4p%Hu2GiIDF@#S6oeuzIbXNXxs4Z^&&C7=)OsqBq1qmv3xNB", - "TqUU(P-ldXZ&&o5qldUCCDew1qBq)u^ZSJE&eMH0br=mCmnRgN3ijAosinuN7oHtb5hN*VkyQ"), - make_tuple( - "aEQdCQHKdgaUGXY%EmjE&iLPu2nGME%9tUf9Sl&RoaIYw8cw4pArh*!vjFH", - "cQhbtQkD2#jb*Z2)NWFRi6U^mC0KokW6W@24ss6Sys2OcNSv#8MlZSzSxTy6-DJ6DTFUKo8fbyuNBcUR7-7LB*8HNgTtRViui!J"), - make_tuple( - "7$4CmL1G*nzXf2xCJ%(1CUyo-^CJPDwL1mQ^Cv2RmsIKW&uSS(ZMY)ELMSy", - "RanK6^!q!ZArCcrJKKS&d42N1AgS58bLlMa1Kn(dcQOqh1Q)gIRGs7Dv#W0&GVWou*NRcx2^"), - make_tuple( - "#y*RCMvGx#OYwUXXjlk!aFYynZaQywQ(GDoVLa%=ggDU3flJD30RX=L)rD0%SWEq=SDsOITPbYaEShdLQ2=Q-WFe2", - "tSy!cAy)mi$gLJcOrTrMB@@bSQqC5-5@mDNCDDAv^ddy6@g(Gl4M7L0rzPmk4#^6Igxroba9"), - make_tuple( - "xWE5unL=Yo7Wj%Z8ECh0L26)O0TMv#3tAhwv!a-PI!MiPMq!^mtxzxkc", - "M%aQhsYCghtWk(FaW=Gv6mjCD=bbN$E5A!qPO#A4^6QI!ooCkNJ!$)SLbt%Irj#c7eJx2b%I!n"), - make_tuple( - "h9=Z$5s%5)HT14Z%^RLxRV#hOHKqh380kPXYVAEybLy970jGMrg)x)DMx$CCoEP5LtrLxEZ8qKL6P$fzNbL=A", - "fPz@YxBJ8dee&N60)kV1NsxHA#9IHCXQ%4!Dw(%SYB@dRrxoEhFd&1J35A&E-(PNSitBRMQSl=H!9#M)2^ADl#wef0sM#jyJF%E"), - make_tuple( - "oHIc0-ksYCYyLHZAzpW%nn1kkfm-^UT#uxV)6lWOjtj*%IbaCk8Y", - "ClS(W@A$B020#Sf0hE%RJ&y0NrBiVmshswLkORsdixlMUTuwUFO!Y-"), - make_tuple( - "0d$o2qfzpxVboT#0=L2EG&Oh)va!v-yxh^x^t13cAA3Bdq$A#T)3@gqju=y75t-XEwB)drEe8SWH7!yeu#zt7", - "GDb&47UfcnUt%x*tqaF2!=U72j6UK@eRWmyejHBFLYD3!ZvF%!@xp@vGeob6Jel$w1Nsu)K#j@6@IH5m1mu!ScePDqum0PbH"), - make_tuple( - "7OxTCQ!HMW6GOcc6b@Q*mk23spJyrrnec!n4r0l9NMlA@OS4OWCNYyu%!i^irLs&FEwjwyI5D@e8QSTgx(*Om6Oe", - "PK$2n)elFhb9P)QwAZ!y(1KV7vy7VI$DjYKeXhSblG#VZU4lS$dYkFmzdQb1t"), - make_tuple( - "JK7tMEV)Mk^GEdb-xmD-(WwWE1Le4oS6FR97JD5z*edLAMOwsY86*zL8J-yAEfU2faaU6iR5I", - ")w&@t7NlC5rGZ#rb6CHPgWpJrXTtED%b)kRkHhpy%$k!8n*QMxUYbKdtoCK%lGvWr@lPIEipwTG4PhR^c"), - make_tuple( - "%001u8tiB3V&S(*&x68M@EOfNoHo2q3EmCOU)ebqQ)^8*BPn%lv62m=aOg=x(DosD@oqlI", - "dO#76w7FKd2%otegCOhisk@JFcVsrchrC*Ty-Nq$w3W)UIY^oWmFu6r2kAtVgUtleDWty881^zWGsamGLtB"), - make_tuple( - "C@8S5gZCdS-!*L*iB0#EWmov6$um(DaPB=wa4wa^*SsefkMg)zF%R(2pE)zeALHMycABb3v^Cg)zta", - "nysBK7TKeLbPLm-X6u$6njl25NyAofK=xQyE6^u&KxI51Mfh(CFfI#qHi$=m^$P001dGGbb6QeZ3p6Xtha06%JkSYW1iMvZEFTl"), - make_tuple( - "Y6tbC6JT^Zj&9Drmccb=p4tnzj#oCCv@HbluBOKzbX5cbU&=RJ@A4O@8R&s", - "HHTv1rpj67LRBIBAd^EH5Q4uO$QfTpI3)raTVyOT!WuxZ3CBDNH#D!CjFMlJ-q6EaM7V36D=7r"), - make_tuple( - "7pKf234y@vKu*8Sa#8k=bvW=l(01a8)GwJBW38*I3DL!b18J1Ap", - "xk51a1Hg%ym8vpMaEP2dEGb&Pg8dN)7k&7uB=uJN1Ka1=*CxTTxKn^#Rj3%@x9Jd$"), - make_tuple( - "-khxz1Esr$c&PKyn27fX@aqWAcbgVHm)JbGesNJdNFjH*HaH^@)=QPg43FI6v)sRtgfDrcp8%7Nn", - "axpUVRkv3$Dro*xtzrl^I2JgNC5#9KQR!qWXYBLfxVCAabIA*PMs1sp4Shx7Lr"), - make_tuple( - "S1@CdIxwXBBdp8fy^^BoifJP7#RtYe#581b-D3GRm4WIYQQ0f9MekbiK$$Ahsv(F3mBe1s*mTU-eOVLe7cZMG&*zpp@iY5o", - "*Ee8skV=x9C9s#9gZY0IUn7MN7cgwpcNbMwVGDACJGhJ(#&g5as%4)x2Xp#sMoafFuTSo-q#l=*FaMPk8tUS-zcsq-lOuYkS"), - make_tuple( - "T4MccecexAvl3sP3)4A&y@=Yc5sJT#=3@RHW0MKAdud*DZcfdwP(FYjmQQ^OBauCV381Bt43Q=", - "DACP*DGF3Q1)P(sd3(Lpk!N!%XoRCKJ2SaCpYOWb=4wIZzdaibE(f1nf8x&@k@pv94jAxWDFUFNWOdIO=C%"), - make_tuple( - "eM4=6va2V0aK*q=oa*ZG$Yo*ELYL84)ddrOXDou(fN)XZ@8JAw0EYw-6UqyUp5@4SpbWSJ5pfJb)", - "RwZxxE(7Wv1E-dh^&uiI#uQvDd9Y9^5igR)Q)Unz^JbVTI3oMyg%WDpZaQWvl#vFtKF"), - make_tuple( - "0QZv9Zw92B*G4gHEKqgJcyoNv5o4A^iwk#bpk$X^x$4Ub(IrPP(rHo$IgY!%$eKU", - "axFxCHC#($@ematssv9bSE69nP)dLPMs0dIFJwS4!Bj%-2k3V4IVlknB"), - make_tuple( - "!l(!ds2Z(y$ESnHtrjcGj60BTKndo0TYPfPU-DT1V#xNp2mIkxvrpi4)=RDCR2^7R50jR0lPz", - "yJzOQNWerMdEAo1u#mf9H&9v(xl-JI*(Fv(T2)Nti$*WFDrH0Fun#%1g%FJj1Dynzz#k%$b6Vc80E8"), - make_tuple( - "Xjo#h8Tid5Td3VQ!)ej-dT-ko-U90c!)@q@)c^XCHP8B7MMa9FWyEPoiR", - "p^x95S(DvD6xs0#9XfYnQcWS8VjS-KZH2GK8U7jXf8A=%KwR7&JCljSV)BYmbO&Ia1*Vs-(d@SLdmjQnV--hyf&xL"), - make_tuple( - "9G@#BT-9)gC8&U2fpkXMy%i3J=K%#tTx#wgOikH$^Qxg7TPM!XtrGk", - "M24k6q7pFwySc7CofZ6ceX@P9S7eVUmn7QFN-TZMhrfVYmW7OR@%53v#ip$JXkzw21F@&$aN=3#KfeCUzEbEJR2g"), - make_tuple( - "WUjabf@Dk6r-yNkSl6G$EB#VB72ld0tM4J4qXI=Ji0%TnzoLRZzx@6qqdFDI(Q^rNIiNZ2JcYQg!(C24", - "kWY*t*@A=DmbKg)2xg5X^*sephljv1zK6MqQ691D46VsLa1em-)F&Zapd(J7xmvWB2qxjCxb)FCrndzmN*Y%phyu=mrbymCdiY"), - make_tuple( - "W&6Yf3r75SQAOfspOuPc1N!&03KNqZKe4UdKPm(Kn6tmokDSY11-k0EvharT*fQuWoU5h=taoEK=Xz8", - "beo@^#X*#K0&Ynp5JM%Ue^WfS&PTcE9tY$Z$^F#0y4r9Z@r4)D@gv"), - make_tuple( - "5LFZCiuwnA(6Utebvz@b*G&1JE##m!eK0B15zuIr@Lk(Qxz1eeiXFlhz*rkZ$nw#U9UPeH9#nHSB6chv&vQcd--OcBp", - "RLeDVYFne)*IMHfv00t6pNaWuYsIUjjOwjNBWX$IMiSvTIGFMTSwGoT1FbkYbfS-oVMvHu=@gQFr$ft%p6gl)7yMOL"), - make_tuple( - "kV@s34^i&hg6dpV)7nr0yTHtjOt!Rx-@MpwINb#)J9cK5Dl6ITiCeyvVr00*dMFmhLAtB$3BYCSZSc", - "k83c(MxvakVgayO(UO8s5BYbiG*iByF=S$)@TQVdDJYL5tC1jgZ8"), - make_tuple( - "Pl%CX!tR(oXSh#p@UW11BWIX-t(q22lJ=YweKHlreKgfWqRa%SYWmVtwH%^Qh3&", - "726#^nt0kJ=ARLdBwcVoZX24PiROk@7)CkUL&a8b3M-cv0llyz&qta&!xz5xsL4GOh&)NzHj-Uq*z^V0&paSHw67CptKEQ74HH)"), - make_tuple( - "aR&HTl6#sB8H8@aNcJU^Vk6$YQgQw22Jw*vzt$xWYy@kUZPRUa$g", - "=S-GWt1nr&@-^0%gncK-cyeYadJUNwc!zjWy)J70enBriLVzA$YRBFl0ZOSvoG$hfTu"), - make_tuple( - "09W02mo9xvzTtrYErPkkeA2!q-ex%sO%WU2VOd2%QOIMW^VLisnmFAcx3(mwsJEOHOUmc5o$155h0E2dRh0X3(DnowiH$", - "o35J)k@(yx-IHZuG72sB-EKK9!7T2Q*#cl4*!-K*K4(snuXPhm^lblz*w"), - make_tuple( - "T5TsnxdziJJC-cGssvPwgGXX0jahXyeJw9sldFWWogjC-EQ67WWsK7iuAGXUp8gyqQ", - "w!G0HXagz=%g4NgyjJvG%hDU^XwYtZ8ArdVv&iB5!RZ=(uP8GnKoCLT=nnRKYsEL)nNj&!cpP$jx=heaAq%X"), - make_tuple( - "SU@MAjN6Zq4#YpJ&xvO1S#F6JD7dc*TLi(MT0mGQG!6zZb12!pR6R-LRRJO%1AdhQqM$7)@3C^", - "fmBj4qROsT%n7bVloTueBqN9X8-PRJsrg%gZ(1k*f2b%dds-Mkfv)xPUf22J$4W^hTEBDWYQ6hv=Zc@&3D*fpjJy&"), - make_tuple( - "x9EdnFDonPY4YavrLRvtVIElXSBIpYP^AkbR#nxJo*dUya=9X&6PAg=mm3m=O4zqn9xEr-jIYV", - "HL&$HF7fmf&=4d!8P&Y=J=%1h)tjY*RpmVy2zz5ReWMcD2$=c1yBSokGA)5pt3J-qCYRNHt1GM$Vqq9EP4qH"), - make_tuple( - "SgWmC)z3Uj%4WVZM1($0iSS3B^2h$b(^1iAy%zt&qNDYejKNyKYDr^DTHjt6rk=7kFpwSH(zM", - "D^CaybQ&M4F6t1F46pU5IZSEUrfv9hdp*cIIft7DpEIO%(bE2zZXUQBxF92bf@*ZZ-YMy#-CxcsL9LEW!B"), - make_tuple( - "6TbzjuIlPCvtxrLPupFweQiCS9HsRTx2@CyXvb-a67c07iGi%i$rpCZ%#t", - "p0mPy#Pr4eF6c4qzQHgYRrcmCHWTCQpQN$ZLfq!p#OgUVHZw^Lznkako02w^k1"), - make_tuple( - "HFK-JRbNW&FT(S2YrWNKoNVNf2Rs(9-4v#3%LEEEbSTll0%1Q--iG)IJ", - "fV%or-d30MtOzeXPO1X6^BfVCi!hrGeS87HAbyXJ(I1jHdg5R2qHGU%aJL!5Tf59zI*yY"), - make_tuple( - "lPnuu^Mn4Va9$iQ%noGEwR-lR&cnxVQwKC%E3Z^mUb^yYDZX048yrb@zOUK)tzAYSFYXGP1f0", - "j-qirr3MPWjS63^qu4H*#Hmu0f*4ql8U4I1f$PZ$=oVga3Fy)%jX"), - make_tuple( - "Q!evr*(yFv8VBYtWFzkjbTRjIO=k1d)hV)Q#=JKPEn2ei1MR0I3-6(o7whM^W)dFbsEfO^jV@SuzTTg(K14&Bzfuhi$", - "C&XqtDLVMZMT(4LU(o%TeOLypk7#ytNxsDA&GCHN%!y%l5SDnM!3)7btMa5*bkUZO6g0M(wrvrdX#ii9hf*Ntj8f#he"), - make_tuple( - "EHuvk2EjrXsZUwscTc%s%bNcoi314wvF5jMi&FbQ0TLjT2b8)u&-8hIv(^eJb%7tgm", - "P73ql(@t7*bEFsUgfbu(6iw1s^7MFEs99Fq@P^w3Xbed#*g)nF!I"), - make_tuple( - "!SPV7)La=&@(uuHfxOZhyn4^=utbmH5*V84aqQmCy8ASXXy4m#qMoqi7!jme9OilnD14D^#5B", - "N0PU=4i-NJb6mK%Ju)HGxS32a!oJD02cSYryqQGgelVfj394^gm$"), - make_tuple( - "TanEh!rH%W&2M0z@=tZzp9bMQ3hoiN7cs2&v-9E*=uo2@-R@B)c=%NAI2&G=lxdH#ujDtH6MJFAn", - "NfEys&PD24wGXK2Q-bTaE@O@Tz5yb794iO6nTWJ@o*6(fB%h*pg#zhEaL0*ewFYIY9dEU79QLfKMEpS7Zg82-d0V)#=u@pigrrF"), - make_tuple( - "e5v=7DUm5tdc9t&ObjgG1F6yTQq*6k!6Rh2cvLGwWWMNBua2i=&i%zLrZx#c$wfDvOfjy*=X&*#piuKVw0X$df*ok#gS^V0F!nH", - "K(Y%*9cOuoDBuuAwS7h0Nw8DtxBj%9#dvr0!eD@(1-0&KG5aLFE*==(qM&V5-kNBQ^yrvOcYKWVjXclx^w5C2mLwaSP"), - make_tuple( - "r5)Ht%QqX6$N%riJ-jZhx&1f!$@WrWoVovUF6%WqfaDRq4F#Sp5p9J5W0$WpdFY@", - "Q%Bnas2cg-MBDTKVHTd!y&uyDjtEqBZ=M)v&13FGR36yac1umYCD&Wxy)DqBPgPV8jrP*np1Ous6aMemEx6iQWV34)$lO!M-Q#U"), - make_tuple( - "Rf(*N#jvs6@66rtafL7rHT@Hp24=fkuht)-AKUKKhcE)Ln3Yx9Unx^eNF", - "1jZ4lQH$0Z%Yh3nV4yDP6=o(vVw^lqxcbft7z18C*5rDV)EKu#=7ftFahbHJ$Xkwd)Xp)"), - make_tuple( - "Sa6UEyE^elwfty^eGV79XGZwe0l)6SXr4roOU*LK!l-iel)dC^22F^$y71u0P07=12VFQYKpA!L=3", - "fN&)2h59i(=@*pT6bP9T8#Zp^E9$$@i=rNWlD^Lr4EYh4DqEvrgO1r8wr4wcY"), - make_tuple( - "QY4Zo-NDpLL8Aoqqm6g6yghv6wc#5$d3MAQ!3j^WnweTg1$@QykcOzHp)!()uWT9D#X2fHElmSq7iO=HJIsaynW@c$Ya=Po&wLT9", - "mi^Q!)uRgypRA7H$!$wbksgsK40h-WUEkb6Z0Jfof(quG^%hRB5AF%$zx^qhuXzW)4R6g"), - make_tuple( - "2^s#A@T3t%UeCeIU&d@&8Xr0k%!AOZ==$oJINssI)Dn=g&x4srymAchh&Bs6i5FI^ADYU0H", - "G^5Hv132)g3vWADAe=0-buvKnJVChgxrS@G9@n4wfMioF!W-DZ((^VXB%"), - make_tuple( - "q^Uu6ZUiYVCcf#7jOU9-cVHYA=6&q%UP$=3*t$=Z$Sb7kJAN$D7d4fMufMNr=8#YX-pk1YgP!vUAzbE=bUZCeg", - "!c6#w%LN7nLYtc8HYiFM(%T@lsM3=&TlzVnW*G)%Gwp%z%H&hHHU=9P5nkFTQ(%x42RyHvOw)C7QClWY*iEAF"), - make_tuple( - "4A(lQI!hUjyPk^B8-*gqV(GVJ9UG*W(Dr@tNDUK=YB!TLla^@26RsUI1ZHro2y@xEwhU4n1%O2RmwT&1MK!9", - "h*j-exrj%ePV2TUjQ%Iwav5q&QBYuLX*sgJEV-YBTFJODl-5#v4m7r"), - make_tuple( - "6oyPk)*AhI&Q7Vq99&yjyjKb8GzsIqcq2V0T)MNorKHzoE6Go&V%Y0OyD%fBw2xCEnO9W7", - "*R2Ffvhn0lm4odz4Ux@vu-nlDm8@OuM6S@dKQrn5!w#zRE#kv!Z^N*&h"), - make_tuple( - "2Xtl#u5ieB5FFcTqN#Q6I0-Wb(Jb$Pzp=0q6vduc3ril8r#z5F#1NQ)2lXhyjcb4mlA", - "wEg^xb=2wHJo0Eo6!zil2S3aW!MJZx$kg)J4U1m6nP2ow9J7Z=Pfr8ncoiRZCgzVEvcvQT"), - make_tuple( - "N3Ko49D9(@fYxq3yPCszu*PhKY@Yzd#$r4*LrQ%5FzSs0Ev6lSiv=U6sM8ph%o@Vrb6gS(5maXM(qSU3GjMKnm$OYO*", - "oNl$rqVM3B6Ep!#iIN1hTN=u-noRtLyV-zAWUxsWGKUDnZ^)OA50r6Xw*&orFHRlpEJ2QZ3f"), - make_tuple( - "y2j0io4^AYw5mf6Qj5q5vm5WXRZ-xcJQO!4o39MyvcBS@5)sP8Uy!Egl!lmkayroqdn1^&33F&10J75v", - "DkLAgFmVjaDcigQus=ILXYtkkD)lb0@AlzU@xQuotHZcNvF@eJVvGIgvod95u4Pc9CQ#JPCuIcP4Hb!kT6WaNc7cl"), - make_tuple( - "U#xxrme(DrqWIyK4Vuw5Lx4lcEV4Lz0dip0uCCA^P^3sww3jjMyoI@%$HKmmtWY!HI=Tl=5OVUXiEZIY9#!G8Lxnn47w", - "sr^VM)5Bq0j9KBXcLaUVditD5pyZ%r9vQoDrgzGrb5uuljF6d!dFeXqy-#IlqVPfI%nTp^FJv3DzommDJaraazU!$pXr%FhWo4hZ"), - make_tuple( - "-Ow1hfm^XG3DFy(%ru6E5k@**sg^N8-z5&jVqC!fsEQxmY%liF^D0(TpYkvxYi1PhIoxkIsW0T%sB%7FbsoHr&0eVy=%FWKk$", - "4RWH3AhY@!Bv!Q=!Sf^TeLt@I-O@5$jsDnG(1y&$03Z#WBdiRt%Vc-BOf)=8QRZ##v#j6e3*6q9MO1vj04Gm^b"), - make_tuple( - "mb4x)A$96N8)itXGKyzc)V7u6sr3BiNy-0B)Mc22R=D)KRCditNsRfbHSMk3auR4SZZvY@z", - "OAudg4nsjLR1g8(z-m3^N#Gc%)^aUKsb1LCjRh-HIKAM6^19EHZK-e3O$sK2J)Pz7"), - make_tuple( - "rF76BnyjHAbE&PpBg=bQ4PMJ)sRfk7qQA8HL&dF(e$R=&kB3WFUS0QEac*xv^GtJq2)*m(f$", - "f5Hh1ICU396pthNdhyNvfN*yY6IoicnA5gch$JRfrg%0Sp-9S1JAl75iq9&^B"), - make_tuple( - "vrFp@Bba*sZJTRVzmQUzLPNe7sY4uri6yT1!yZ)-%W3w5TTkqD&=tzSoB(nyC&MBM)3m79w", - "FTNy4x#h3TA=-*ZA7NvdBlY&2@36in^xVJ8BiYR*PV($BdAqeP8p*#P%EEpuN0a9ASibONip=WRWKngO0Icvy"), - make_tuple( - "AjbVau*NJ9BJz3KglfV0IFkYuSmuGO(0!%dQMMn$U%12!P8E5$q&5u1S4p", - "O(vcl(pQyYN$dQc&9FZcLLaQ#qnfQccnciIkIODIAeQNugzWm2Z*iYshas5FENs(cMTzVTmKo(wVbK-G2O9ynKv2=^"), - make_tuple( - "MdklZv25u^7Spck)IQrtOy*thlvh8S(=DNpi8$E%nVxMwDo%uBXusZEt@zev2z#XadXjcRsW0bdWXnT", - "H%Cya6Ih*=wTIBN8m@oMk=U@5Bnk7nnLveb3yRq4WVPni5tYXh0%Pmtcxv0eAAx77"), - make_tuple("attg(Cd$i$XLg%LF(RCH#=hX0tFFnFo)Q6TGgAtObMwBqpFjPn3lM1%CWx8XIPaTJeVmOkiKDt)ph", "-xQ#&icjafJMl9*^(xhgPbbep#Lf-V&F51MLot!!1zJX)QE(X#!nwk@mqB9GGssxjvzCUMG(w@(6-$otcPJ"), - make_tuple( - "*dS-@wIf^*y2Soeeg$c-WEOGdG@snge0DX!-qJ)ICnB3ic-u=BnTZJDoXutQD83xC7iWlz$g0Oq5upQNT7Sm(WjLkzxET@2$ZkXS", - "ny#EEAPE3atF6YQBLUu#QL%fS^DDx!apBnF=P!Z1DAApl@3cG3NR487R*1ST)QDIxLmo1"), - make_tuple( - "oR&u*u2LTwNkFC#7%ztjZ@dkvY6Ks&&zi-GYkbRpZ73x#nzbUmHUE", - "TP6S%cxDf^Na3dXeSu8KlFY-jFLQjRD#SbcbfibQd(=696LyWvlVwMIyf*Zqg^vM%o(PAG3VmEA&!PR!)"), - make_tuple( - "V!e^kugPczeY(Zvs!T=xtjYt=K#)xG68OJ0xRWW@Mxg9HHyQn6", - "sMt28qG4@7o=9QkO04Zh#1NE&EL^rhG@vGXPk!ELHg8c%*xxA6hr78%9J!vcK-r&(^VX=Hope7W)bd^=&Uv*4LfH8nN-m"), - make_tuple( - "nexpZGuXGS(bexz*F@Tl^=79A66w*WoVHkl*^lU5MvS4=Kkc=3XpFfkNO%fEQiaXxrOmGE!1!y19YqqEVCd@GB*vaK&YE#qO$Nit", - "PpN4Z(GBmOToBU36!y67whIIa(#7PGko(m78bL!NhkP9isfZnR=zmcoOQz&(-X"), - make_tuple( - "Mf8)YG@!dQiuCp$FPr4EX0HirxH%eJmN^PRwqs%UqReGY9&f0&JTz!VO7WRa*7Vo4-L#pWr*%i)j9yQf2d(=zypJ", - "5@T9En&PcZWnmA$2faXMe!#@nI!ELBPgUZU4Y4zglaDL9QK%#&U%B2pX@ntM(rZh9-"), - make_tuple( - "-Pu7rL=Le8u3n8ssWI^8%2^hUIGyU8%rL&aPaxAM6FdcC4$XSWVBYnRs09iwKgFVq8^*Nf5UNxhvs7kGEsV^Z#pcxk=8H3DJli", - "CSkX6K3doP0URrLLSYAPytK0vS2O%K=%^p4@7Uw%wimdwtr!(03SVWnRltwXKXUnxY3!61Zl=nenKn8S1Qi274!p"), - make_tuple( - "nfW!w(8=fuGjt!#c#VVgHy^=6i4&E%wU16FQ*UAnT$LT**fFPc4AKv(pY*TzyOl1hDDixdb0nk", - "WJ5Kpzr-4Q(BaIl)P4E(@B3a6HE#NqizVQWj&a9Q6)nFu56)xyjeRRGTvHtEU(zcmzfvx$umvBKN598%MT4Yw!F@js2HM^"), - make_tuple( - "@utRYS1s*kj^we$CN*o=)ufHl#6JZ7Qd9(95lJaTGVkkOnPi%2wxV0r4Ov)96uCJUbGKdpubmRIlmM-BRG7sZl=Z", - "hS&6XYhODu$d7n73%hb4IGoGzVPWdEFr9*TMaGkEWN6ar6LWBdVwZpYI(hI1u=Fzy0IM&@bixCLd3fNn5g"), - make_tuple( - "NHYjX5CYExCUYuv4!KtV3PA67loYuImEsG=k@%P)s^CET8sc5L3R!b5Cas8h", - "t&3Pc#!ZxkMjR$p&qLMhvhSNggEM(2Duu#%#a^dF(G89Mge&4z-XeWooqX)"), - make_tuple( - "Heq*0j8Knd8*%w$ZF6ySctD4awqn)bk6@xq#5g0EW8wy6C0oC%#wSFv", - "GSY%xVk^&ORAruTuuYA6R9dCpDPzK*Q5F*6eKSeiEfVZh9)G4CYlDP6x)glDhy52)IU)mj=UTKFLhMg*l8D"), - make_tuple( - "Un3k9bYIU*0mFc$^MsQ!-N!@f05TjglEZX*u)EWblbLMr0RqrB$cExa=Ot#h5tF@F6G6)rbpSEbvM%", - "CNyoC2mF5oMd%#HHdwB80CQcFVg1PZpYAXKVRR9Q-3%pgc7W!KaadZHX896L)KI2R#mgjTaj3N&fT4ip#GZ(F)VmdvB3U"), - make_tuple( - "dsrs&c2Z1k33hegGQE*urZ4r-=@AjbiLd@BSTCN(WALro(8M7&i3IR5d7nY52!U", - "3gpsE(RsfQ#mC&QxjvhJLxQoTgK)r=dXSw1kBRmiDJ%9QEQlWEM5as6unLQ%XX=(9%Gz@i(n5j43"), - make_tuple( - "-49W!srvC%0TEIgqF=ptin@8sMN4i6(wPgmmNoZSnfe7^RFH2cd8iP6dlkDoj1x7IgYSqZxcIdz67V9z(FuxqCV", - "41)NN(*RMX#ig72x2VnSF^MP8gzLC(dysaeiM-vkVPr-(ENcXVp&p#u7GMEOATFg%%EiNL1U(oWVO@0*aiw%*MvyihJS*y0tHuC"), - make_tuple( - "JQevFzZn=F#44=(Fk-OcJcQpV1qmvii2MscL!52*-Z@41Au*@sS=@(cTs^5a0gErvoDK@n%L=&Hw-Iv2OhQc1%&=", - "jUN!NKWZV9NhkSXW-SzZnDVYAk%I4fGsbsa2D2jusST1O1Lp9dI01RNk!#cZ7F!BQtm#ORtI(W&N1A0PRH!p%JKE5="), - make_tuple( - "FstkA9g!2=Gf!-&l$2zO62(15zjKe1G@HdHggX%L7kPRn5BIO@D(gi4I#UZX0M$zGl^H4FVkXT%EvWb52NaZBy", - "3zDph-3316Kzmdb0(cIlCL^-Suqrut^x2tpF5fsviOXb=#0WOIqDJ&VC6SIxVbp=H953=p$Qktw24UMwm"), - make_tuple( - "&K^%r6f$X1oFOQ%hApalm3wNUG8&iqBQLpCpr8o8rkJHCDN2SUH8F=8iC%1PSxoR4d8^AWn@", - "1qp-913h2CD%obcdN0xpXh^WR!JJozhmTF!2uO#G3fsG(ZddUd(1SdV&X7(#48NQl@Fy"), - make_tuple( - "B8h(GxBl#Bir@CX0#d-6Nd*)qdOFW*tM4CoLznvnnx(p@bZXCvi9Bc", - "fPhpItXPdb8PGIxn!IocKQhiX8(r!UgOfS&)HMD7t!K-mndatBs0nkCMGUwke4zgB3L"), - make_tuple( - "N#INufmlJVNDuwV#zA0(^t*dczSLV=(#2uBu$9S@8c9evxYV3Y=@m(%H40-SJqC^", - "S$1(knbA5NVw^q(ROZQ%JHGj0QRU&BjjSx)Kw2Zz&b3H$Am)l&u3fF@fyiyF"), - make_tuple( - "7FT$szQy$dyaE*gF0m8Mxc5!K-9mbb!T^8q(WBKDHB77#jKcG@&QvYu-=#Cu", - "YDnim53D-ZR-b^#%o3%aJKtjt)E%r*gnHDcM=H@jfb8Em(lddi#EN"), - make_tuple( - "3!Q&1n746miv7PwU=%tEM(R9fWttMxOa*A%YyGaLl5J@GK$r-$exFtXLPMouyQ2D1y*CtB$d", - "*^W$cQi^30M^1d48AU39#p1AUo7Bv3ZC%vR(9s8^l(tx#nxx)&PWY-!pO9wH%dMIXO7c#HQ@JzA"), - make_tuple( - "&zr0H^DLIEMe#aIJ1=PhcMYSOEIC8*yfj(yXk2YlKLRaoST75tzo!AG!0&3C-=N", - "up3lSQ2eolppUezZAzJR&(yAt8dnEqA#QyBRh0hDI=qtw!rqNI1E)T1r*2Px65*AX0bocdhr"), - make_tuple( - "BWKl2HlKTZ=9EB7@KHA5p%K*dslmnWMI$t@S*BGv5^M3w7pg$nhF9IZksJUTiw!Q", - "S9=U@z@q1jj5x1&VYliosLWXZcYwU2$S#3LxDrR$2M1w*01$avGiC2sJ2SKmklr7ZgnMVIyd4tD!!5Mme@cxxZT9gVVPHuSLvT"), - make_tuple( - "(pxp48sflI)bri0v=L9zO$zAHXmvr$jdcfIh%R9xG8zhOXWlkehn7xjZ", - "gDY8NpQ9%x*p=h!3)NYoCX%P*HLez-crZN9G3sbyk-cxS47RVQP#K^4Bx1)QG2b56lUHu=-R!%qTj5#=&0$Qrzn)pAkuQBOax&"), - make_tuple( - "G6AzHeI9jq%b5e-w0X91zbxIy1I8Idm=Ewz4C*uE3RYxT6JzBMHp41gGvnKF=$b1BJ=RYU1zTqr06aI)k&uUxI5ffbZT", - "kshXdO@Kmr#xpc#GMSGm=dmCTeu@X(GP&a9-4Oz!kTSrR$)!V=9c"), - make_tuple( - "T8vvkDK*zOD7H*@bkO=eZHqApL1oANzzPsR3haKu9WoZq1Z!LiEz@zBUvoaTONp#IryriijSSf!Wj)U%(vxbwibMVJC8E", - "ILBDzk#kC0u^s^Y%31)GLWD49gs7io=kMk84FeG^1K4z7R^dfkOen$P07SzYDfMy#g7TlQ!@5C"), - make_tuple( - "rIB-wg!qJe2T-%Q8-!%7pUlW&dvt*dG4^grXaTy&o4p5gUD3Sr%ua2r#$pM(BGP-1b23AZ!P=ALht=Qud4rKUazA", - "V!x(w$HhI&Z@782Uam0O%UhUje)dInXUJTe7r$Y01cm8QcL8MRnyzcdC%-N!ApkgG^Ae^Wg8!PwlWi)Ubdl"), - make_tuple( - "MTkcMUsSdbFbH(!Lh2Nrv)pLHNK#$OG^tYRo2mxcOLS)0^)t3yU*E&51j", - "AdZy@uQEAgj-#CqC)8Njb*t)IM%9yo@c4goJ=uglm65y5QdKct&oQrwBG"), - make_tuple( - "3U&m=#L4xXxbfy*IQe!JPi2tQ6h7cifRW%lfO6xoDD9=6AtKn&", - "wRT!g)v1bXtWWGonLEf0behg-8I$AkhF8I2YG1!1Xct2tEhq0kCH=q2sz1I@x(ulxOAlre=VfqG2NB#1=H@dLgOEq-3B#lZoCr"), - make_tuple( - "lr8@pDej*LJ57)BmtYTh%TS59Qu5fGhM$NYpKMlH$drtTB7hqgJI6G0PGAW#9eoufcXNxv47rU=uNd", - "p%QEA0k&sC*u1F=Qc&*qiS!pE2fx&==zovDSGiy*lX5yE-tbJo1v-!yI&jVya3%NF)Br*Y514%QOx(O%$tBO2kEfXm-a(-t0VS"), - make_tuple( - "5%AU(S=oy3v%YSmZYYryv2Fm$0zJGl3eWALJZLp&2i6Gst0!&2LWuL!0tf$gpzK##xFL!gJ6W^HL3huVXl)R", - "peoh#fZBwm)G)IMb8-TZ#qDLGO#Z0m!&-kzX(yiXAoO7i2R38bkS3)OJFXnx3SHx^P%@UsA9A4hBjGRjg*3Zqy#fOD"), - make_tuple( - "uU)ccE)J-7#c3UGIXPIMcYpSvPJ-#h(NQxjv$lZCQo3zC#EE*Jf5XwS=iz3w(Ldsk4MZ#vz!lZAtz&5zv0Xs!f0sx3CxYyTC", - "nwOc&8p*XmQ1*2YW(=x3vJg5FOjDdH*D)YSNZhBm39tCZ4XR1du!FON)TX%gBCO2"), - make_tuple( - "BIV3qFsg-ssc^f=q#EfMAvaP54THm79rOwrnXfU^)JpCMyoKKiWIKgbf^yu^", - "Ev)WmzJcTlYUA)5GX@fMz1wWTfRdQbw(08*VRTI(VcNTsf)3(nM7gy5qaPdgRm)FAPiy6awtQA=VF1pUwrNC7^9YjDn"), - make_tuple( - "SkdQ!v&sE@H9Myehx2d=DfJdF46A&SivRERTaX6^-*B37%5b!ci!ldm^3zFRK@VRu8PiNhAUtYUFIG6Tcw$", - "fsApbiJsQ^mh-70X6gh9-2nOu#L3ur5UwL#BRWvNYO%LxXCcfDj#jL"), - make_tuple( - "AMtbYas3L&g4yF)OjeWpMQLNfx%ml8V8mg^uiVg50EkD&lom(tjP", - "BO^z8@)w62iUFSL0%YcXHE=&eRa--p%s8YjeO^a1hga27nU3$JqY"), - make_tuple( - "1dZTzdYFmu8C9e7XIMIiPks$5%wsNh3uIpB^TTWOjnVZNMP&AwJjI4l5U", - "yRal7Raye8)roKCLT^L7!7hIvx9FdW=3Ac=bHzuLX!@xYQrxJG05FL00@j)8D"), - make_tuple( - "e%*8gy$xSK3W--qBtPoT0w3!wl)ffsTn)eYBqt5!fONYp9!ejW96D6UMQF6FPAiN-ZDcvBwlUyIbHfLkaTwy8&l3N", - "a%KgdS=rLPZ)MT=$VnH9m1bwfuk7JJ4SueC^q6gSYgUVsJaa9RfPBNa-!IhNeYwJoI$au"), - make_tuple( - "jE3)yYefF=h3-NDPy(1*I!aC1*@TV5SU(Q68lGqXXO-ywQTY*Hu1m((Zm9vcMK7D55s^keHTTfN2a)V&Fzc%(wLT1qSrvx", - "MnWj8TiQMov=CH5$gBWIRqCa-wCL4SX9F(@fWexf-rCzj56z(c1-o!=N%LhVtN"), - make_tuple( - "*N)v2lLNvMmIL@x7vNaMu^LsWF%nJ3G-#FyI2l5ihFu4r@e!(U9n", - "ax5Efba!DRqkq6BhK=Jx7Bo0e(E$hBthY^HrYmcHe%x1BF5qsAt"), - make_tuple( - "8mzvLdEN7oB^F5Qew8wyKmQbIiOT$NKcr3SvSeFA5^cdJkfXf#O1mG%AwC#X44^g$Bh2*H(gX4ZZR0)8*bJqFE%X6", - "ur4Y#xu*XorymNr^hK5oOc)%E5tfy!OhqAnjKSp$9ULh@zhtIj"), - make_tuple( - "bbd4bO=gky6rGrDJmu7-xPkQlMy#NNyg%H)SF-g9Xikbci=xuAJVwRxqLqU7jSHM", - "UJV-X@y!jJS8yCqEDb$kqIfObs2s=#nhv3fVtFI3ld5yO2wvgTWFg"), - make_tuple( - "NclTs2^Gtmh1zc^sXA)F1@BAqSld-be-am2zg$820)3G@dqj*&AlCoUS-6M93)deb3H6LH", - "3@Pnd$UJDxI^K(d7Ana=1*S@&io4bWyYJ6xnKfwC8Q=%y(Fd$DfF8%RSL7L)^t"), - make_tuple( - "Lf5F0#$pvP$lUC8jNm$IcBXtEiG1OIk-XD02x@v3nwnaN7!iD9fBbCj2njH68K(EZ0LZfu*rErIm**PktPVWl123kX", - "h5xKmiY4)Om55J6apHDUkIFavcW@pi4KJmyXfj0b#1e*PDaQ%ZwbBfbIK=bk(-O"), - make_tuple( - "@Dbo^jv1K07FW@sd8KnUkOtdodV6inMRPxG@3jXsX!hqx=uv@F3^*j3Z0VyJekJCb)JU*p", - "ko%28WZA)sZD50&5B5Z-CN2P0NxpNElW$gJuScyVX$I5RhMeO1SP!z)x&xlp&ioM#vLs"), - make_tuple( - "^XSZR#6KklUQ$W5Q!Oj@M-KImY8(msxSMEx!DZKI4XlgaEE#CD%p%Be", - "pssi-sHm0HaFSH(AbUwj1(jxZ0LBl57NW@i^=LVksg#hGRyVbX"), - make_tuple( - "wZNPg@-0VjlV(fh1J$J^NEZm&9xA-RjSop5h5TYc9fxhq$0KW6ZAn(rK*k-&I42%b)", - "YkHDKixuFyHeFK)9KyR2D*Pa)77e@lQPFQTy$fG7vY8%a0pBI(tpPgIVCnFCkC$5FV*2O0FqZ49(viN9y-YLtvox"), - make_tuple( - "xCFH2nrG1SD8TAvvn3-LW@U9M6RF6(bZ!*quUb$$53Pn8scEh6iOe0puuGq3EZWboXOf8Meu0gU8J@g0hd-#Qd4)1PAp", - "TQhu(!2D8RkM!(Vl%Q2iw0MMCKLf)HA%pi*Cyo!O#sV4JjN2rHHTo=J5h45B"), - make_tuple( - "NSFzkT7uJl-0kEI7G(^X=q6hV^*Pvm0ji3yT39Kj9*^-=LA@Kj4gX*d55pikZq-)50LmJ!OzChtY1gUe4$u5F#2wW#%j4vK", - "Ttgz8VAUsnirNEn1aa#20*)X1GuC#c#1)QsWCYNk4Qyho$w9N1iaporEG*Kin6b*rvDhyoA3w98WTitABt&ZkkrnaJzX&t!g!p"), - make_tuple( - "B9Nq8W-QSRXbAQPJFKFv*SKf4%)vZa4I7@A0HFF&THWoQ)3Zs(A#3gV-N%ij!w%pP^N!m2(g", - "zLS1rIs3tV-4*hSL51yB7VEIqnpak9MCALtpZ@bTbVX4I&KdwE^lzpAQrzZ3EW"), - make_tuple( - "LRrtEQ1&i)6o7lfEQGeB4MzY^QF$58PH0%HvfaBt8nROlHEGf2)lSGF4KJxsOC2662VeEVrhrx)A", - "&qzJFzq&Kgt9TjafDK=OR&LviiSKNh@&PuAbl3wuOxQa*80&A5-fBFw#t)Yy^dVmdGzpbM8tQ3YdRQTB"), - make_tuple( - "%4wX@5L3#nH-BB1c^QkKEkwI^m&ykCx$K&IiI1q9oAqYR^L^peoaCbC-WnMurK35fG9CFNQa6Hxke*4^fVg&#z36", - "XVZOBAm(!7-gH5^4QYUI!7VyRPzw7aEEZ1RN#Lm5xedufK9F8Hv^77xundF"), - make_tuple( - "ymf4M4W1V9LG=pzyyGZt&jLnLJg7hxBE&3KSWS9mAt##*Ie-17lEl^p0I2*1sTt0)rMPvmhsNE#8GF$nyc@%411vB", - "AofeXfaIWng9$eLjly=8=e3oMs5rNBnOI&fXb*oP7--6-MH-(ctXop$a!^F#&g$nI@zAu1J!6=Gw#$PB6P"), - make_tuple( - ")ne!Fse(2Q*x6cP4U0M^EOq&vAvFrM%^OD7AuJbrsdglqQH*Xfiq$q1)", - "4PqRnxoPKZstceITvblj**yoCG&*YoY6WyNFv*sz2JU&DXHHF3$Jy"), - make_tuple( - "u9wKSFroJkMkScZIj3x8RO%ahB1lBk4W*WUxpKwB(rCcW2^e06d#35(NHB$IOquta2$xX0tFQcLagR=O", - "=1e2sn=#e%iaGC!ZBlO15GBq(KRd7d*1B9)fIW9%It=CO$S8jNO8Ma2Up4$V"), - make_tuple( - "78fTuViAmTri%f($)%0%jB!TOS1lxm80ThstlwEcLJGvGaNZ79dE=ljE2@S4Fcw8HZU%W!JD3r&hCb%In65qkdNKgPmmh6zx", - "UiL%=A5HOmYCl4Vf7QLb^AHmaN11R21zb2iI-($CkjInhw9OBgrv6*y4heYdRpYUbX6IFM(-I#ByonY(82eAJgIlj#1lg6"), - make_tuple( - "@lpSDGBG)qy-hj3*)6&U=o4m*T$aWmWWC3ETf59yk2Q&^gDQ-OQ5rZKh^7$2b$^u(UGEyUnrqn", - "USo9HBL-q%sOFMx0=z=E!Nb*D6dWP73qIC2E)eDKEwJQ#iNCq1%(j4=SVUX#cD^FKA*4%zho*zrX"), - make_tuple( - "UvRxdi8Ii1y@o!ns@QzlvnvBnsHtS8%P1%aQY-3WoQA^BWjh#C%px29qxVo^xO*efQ=EiB3jzWz$6d", - "Ay*F0)960)vQSSf^c4qMPU!AH(ggu8ImA1Eze%zWruUT^6X!E%jFoi%eX$(gVwXS@oQY4SlID)o4LM-*=n%u&vQP*N19MokV"), - make_tuple( - "(vlgYQLK1WY!q&IM^EDF^z-AuOfDN%Rpri=7CUM4vU&=7J#Xl7$#5GE=IuKaEx781qs#asA43#Z9YKO)Andqi@(VhtT^6", - "&sPpReC9YY-dXXvxZZ5@%W2UKy2F-2w1=KRKHYGEG4Ecu8Skhi"), - make_tuple( - "J)HYb25Ka#PHwVgJUp@N29s1y7cK!H)tdXKB$XMLYKNE9xir%$cm$pS70W9m8rp*Up(720Lt@oEA4%yC^QdFfiW7dCBMbSZ", - "-hD%Wj&8SYVICuJwi*NO#sbqB!8oi7W!yptujb!BxHlscjBtCvtHL*6&d"), - make_tuple( - "42oM@CuaF$*kZ!Bb!MIGU6(NHQOeG8uEr(Rq^fH!jfHWouEi)!ArJXd#*pVePhp2T^Kfe0tNvceR#lzNyeqMW!m", - "@0okf*QnkQl2F)!fpK!ug*JqmGG9n)NjH9@v&SgtgPTXqfb^AoZ#st"), - make_tuple( - "aX^fq=FOF0l^sJn2zyW6!4gS6&LgHJiJS8AKa%lpV%rnbcv)a0I=L1i*9ouhs#99SwzGlbm#bdnvLvCpHw#N9s", - "GRLo6m(Ow8e9AAK&4cyB$LE646e(GJ3BEjZ$8&hnpTb$Q3L0a1$"), - make_tuple( - "Nv7Rfc&I&DEkfr3qgqIdra!pXEk7aJ$bJPnq9)u0G2DRK6TEYzj7dW&Kj=WQX!kwIF6Dt$Lun5oRrYNCO7dwJYA72wTlb5k", - "&Ge7Xz^aiDDiCWkICz2o*cdXD^ZQ7dl*qOHtzgWLmLci@$A*uOf@)V4JGRl@s1MjO"), - make_tuple( - "&GYp73H0rz^6*qjut-K3q37=4taU68ivk(koQ3^(7-B2Gx@IHuCmE^Hyz06bGxVE$9TZP5c!IKerqIQ!9q", - "T$E4RXR&CO(Q!c(FfZmF&CD5D66#rbXSEd*j$qEPcQ-cK^fFTPGJ4FCXctfJ2"), - make_tuple( - "Dsnv@CTytrVJLIeuZ(WN=tJ&fyALc!B49PR#7zsD^f1JAYkTd3Cz&QE*1l1)l)4t)", - "v#8UX=*KxEnlR$$Vj$s@mL4CmN*2*zHe)7UNzKn*s1IQnM=cZtvhoFIe8%W3^NzelxzIqp=DjEW8C*vJ%UJ@uQ@2i@=-*D"), - make_tuple( - "w7HS1XlL%R0mLTT=xy18!$j4!Wwa#MIL)vfJWRdW%-yV@b1(Q-q)b!kK$-BOEi4WbLoknfuGPs85mnvRc3K7G!", - "Yku$RP6BtEmlWdXPXmDuSoSW2Ea-#!Ikmhg7(6)vpDjm%AwU40g@4#Q)WZbjgWpi66b&aJ@Y&3av%SHe^El62Bj%e#"), - make_tuple( - "blBtJ^dcgtn6#VeA%XsU1dxoDBloS0C!zV32ENtpboG7&0ooqgr$", - "6Erlu)IpgzoTqRiWXOPmyYuf)AvQON^&gL$NnmPF^Wc5!@z%gXx3"), - make_tuple( - "S1@1xx4^2E(fkclLs0w=OL5D)kYE2K%na-Kbz*dd7J67sR*^2sZ4ok3YT&sVmeQa6cH-r)&xM", - "l=&6RbeuU@5HJ*G$NOEttmxEor1gd!FbD^OH(TSZlquZ^9*-3e$mLz#"), - make_tuple( - "mF8iaue)AkWUkqovTmrvq)!kHOC$DGtbDX9!&R@tuO#a#d1PP%B=#K-n^=PIIqtvOKa^BPQ)sn&jd", - "xKuX$D$hZvK4navkKdppNGNBaF48BQqXe!60wv9u42ridb7yEqlIIRcHx2!2s0&R!YE5l)DRw(%"), - make_tuple( - "H##AIs!qag*%YMBXb1JR)8wocoCMOre5Ov8vP11!e!-qRj=%479KXoobb2*p(J3Obvo&7%u29-Q", - "BGM*n5hH2G(zA*BXy2ZH1oRwV9a#hbJFBzt)v#fkn37Eat4fG2!Wh%jxpPP%myClkKsGG4xbS2-PJ)h0XWJJL@uYsUQpKrxBwX6f"), - make_tuple( - "xp3HWe7p7d!oD1ll=Z1C&v9BO75-GNhAP-I8sS2E&MGzep#p!o3yOccqVYYj6l6E%ISlF", - "uvBhs(Y-BHk!(GSXnWhze5XDdgNTSo(EXUvK)ap&R-P!3Vp^c2(K7P3lDR)=hCVF"), - make_tuple( - "lSUM@=^aW#zkxL@W#^C4Wkrems6nHCC2V&Sb*!8^imXk7T@ndS9sM7-)*1L%eLAqLmGq7)J@%ZOfvvGyJe=4c*d8VS)OhCKHBqzQ", - "v8VM*ccvgg&ZH@sV(B#J@TnC(Vca7K)D^Q0xAWelsSd57aFwtFr*$zeg&Zdh9xHuu!%w&HDJSbLFzdq=enjkGNiCaM@ZyGbCRf"), - make_tuple( - "%f%a=%IszpIyBFo980kUCEP75oSy$URr$hv16xHxgtKFKGe$-5x#02OKU1rp$M(06wbV8UnYOs(A36er9*xQuYp$awv", - "YPFL=DdgGY*mEwOMdcL3!lW)UHyOs7YuW%GzDKaIe@K9P)KcZvSQe7#^5n"), - make_tuple( - "F%31YKVL^(a0Mb^z)$-9!SWxc60SC-u=cGjZipP$cgLDvpy^fVnx-Zq)GlUWaEkrLJZ=sh=NReepftMB)=V-7BokEFz#39VQcr", - "pmUN%eSG3C!fQb*A#0k5@hU*InN2L3d47z&kj^-$uX#NLgX8rBor3V"), - make_tuple( - "%Yq59nyioD5SZ!9Y4jDK@G31LmAhEYPwh53LKw5SRfrdutjEvwnqBoVy^DFzi4mw^vsgJ91vGDhxPCr1RHQO410l!@ukj", - "7$0dMXckQgi-D5s0UlTV=(YdZohW-7CS4#^qbjHZ-Lv1MtfJ)MzDO5Kr2dTdYnfZSMH^RpkT-)%ix"), - make_tuple( - "9%DR%aLLm%yzqlg1fT!*v=nK3(0BvLOjDAJPfkfFxiUFlh!j73xJ2DbovXO7QE@VI^p(r", - "oVS@b3fHWcsiNG6d9sy%mx!peDeGm1b!XC)NGTD*k6F&bDfksx&2)k$f!Ic1c$%Qt6S)La&wb(H6%&zW(onBoH9#FBj!7dc7*MU6"), - make_tuple( - "HdIlYX%tDDSGIOyTBRE0LJf94=HrcSHx8w^Xb57lcoTM0=W0E1#E98i6))fx*&6Xnv#auuH-u%Qd*z^KM)", - "LiL2QX(qb8)fUn&-Ig80ls$@ClWN8w28Vuoq0#P7A$nGB)vRoMVZ"), - make_tuple( - "Z@v4JVA#i%IhLvg%h5L28Rw#TuY*=so2F*CIqI(MHuDB%ogrnwztAUyO", - "h4EH6xi#qKo=RS!4EAQYA01mK=roeHwujQ8ck86^-HIXbb19bJyNh3&6(yU*bZ0PHxpWFaT#M&@X1hL"), - make_tuple( - "H)Y&NrzA3-DeRX2%uTYUXEfBC94yBLmh2%wInK7aVlV)$^pxH2Za$ZfjlO^J", - "ssAc2)X#PaovJb%yu48v6ko8EoEM%)9mk2byBm8$)lPI1(yKDx)oh&0!0(fiXW3Fp&Ghup#jYNvqbsbW!Pe75orZ)V"), - make_tuple( - "lU*MjFOyi9fvImYFp(S9eS8qmO5wr4A6)%ci*DA5=WFoM#M4o0#!gEmZBT*dYZYtN5yjbVxNL0Mb#w", - "t!*pOlIQKZkLCl4=@!KbY2xUj9xnhlA9Jx^yapJPD@KN((zPjx=Ip%w&zO51%yulZS"), - make_tuple( - "I0ZH37XAH0sJxTG4r9$Kk@YH%QT*h1wc!csbtod9PC=MbDu8s)", - "pY^Nduq(y%v1cT&W$h7ZUFB)#bjG1KHMN4Z@(l4$*Bf-iE-DXJdJ8BV@"), - make_tuple( - "1e8rEnQSU^a=no5Sm9zTiR*pG7In@(K@f=OR7E*Wo9@gKp6U7%*c39%s#k", - "CnstHapCo8N=jQ-4^xrVaer3%oh2p2W^GX@sIEUXip5G%ZEyVzTMGcCYRY4RMGnC8!lS*JW=f2RsdKiGDsm4BWrf1!i4SJG#z"), - make_tuple( - "^hOXu6mjm6KqJPqloFSn-3LDLcPZMhBLT4Z&Q)HaoOapk05*B#tiIy7$NzseBwB6Chkqse@(2QLHu", - "0B8xrrTb4sqzC%EOV3S*Pvm61)%LW(&$QJB-%IL50cEMIpuk%2^zOI1WbJ=6AH0isic1Duc3P)Bw4-!g@Ud5"), - make_tuple( - "8AOkf4xaO-T^=0EMsCf(8HYSKQn@D29fC5PkbPw3q1HIP(zDl!sGha9R%MY1zoxxAUByTXP5MBO*XvF", - "ueZeGX%(6c9gFsW56XbWtFytP0oGSd!AI%Nd7Vy*k3U4cKOxV=(xndFaO@ROdjlWb$xfP%v=X3s^j)5Vnbcfm0z%TCBR=!"), - make_tuple( - "1oPUObS=pCvgFj1kG4pcbOHv%9IiXG(3YC=-&q#ffjLqXfI9)AAI8#BBqP3)G$2T^u9#MkjZ@", - "xGE($9(%G&VAAUspXN%3@jxVuYUdQ9q27=Ahh0*rR&Qfd@JLl(kjxS6HhWUMXtZiX7v%(&6(V3y00vLEzyBT6idVvS"), - make_tuple( - "ciGSGlI-^Hn#lmG)uit)P*0OA8m!%Q-uazh)gVaF@Q)MQiid0qpGr4uRVDu1-3S8WRH1C$F", - "Surl$Re*f(vKQ@$GeienPULAsn@TZLXkrKH(8qWaXnM7!E^jju40q1Jk*wKPv^kfG4"), - make_tuple( - "5lRS9bG6%lS#@sIsAx5EdeMPVK=JwP!8WVEJLzN-ZYu6aTPfT@LnfTP8", - "upjpn9*VJVAbmVp6vFuFDfH6WxS!3yr6mVraxu*W0b@3#I^j0J-t=OyjOVYmb%)id09B0N@k3c9PSkb0"), - make_tuple( - "9&xymz9I48C7eslRz*G%f)T%I&!RGrybiIbctYwCC7=lgda*c8NR!($T&0o0p)J)ZPRugmZuJ-)", - "NryYfREZy52tM(S-JT9yu&=s4O&Rz3@6dN2tw6QrkLK4W6-U1#Ef6O8hIWhC$fcQ*$rG5XfIHoYb)3zrM7(&nnxGs"), - make_tuple( - "Zz7t%2)&C%N$q7MJh7ut*WNSk#d8l)85$9y&k6TXH(skB5%b^@6iF^U=nV2#lJ@SMI(GzCTZ#XasNjEMCfZo", - "4f=eWBaVIADh4!dgMMVqIqkA=$shh)Zn#EBeHL^&dWd=g2OFoSZ8jd%!^sUX8"), - make_tuple( - "GfPuBSVglbDD#8t1iQ1OK33k2MJODLw-1J5u69nhKdQzsAAk@Q", - "a7-FSM*2U*eJf=hR1cBYJ3cNsLgOmw%PqgUCB1cje8w$Vf%G19^#&itP^WDyrpJ4uoqztNO$R1sq@mh$oi"), - make_tuple( - "YU50zg%f1&D1fDUq&YHstSNbGGvyQeb1Qan-dCXU0Q0rt*!OzX-JZ&-Ih&YhWU0HBPR)qd4NbImqN0(!PfsMrpaYWj", - "eZ0W37)8gLFbmCGExC=BhX3KHeYXFr0=vb9ygn@gdqET^6XXTuFSJ"), - make_tuple( - "GNU&GVmGbDsaE#=$FrP%ENd(-YyLi2@UdMt(GuYFIFq)&T6yvh!)rhe(oN9g=HursNWK)-Hd%Uiw^%iTqi", - "My1HbErmFo)OG*gizX%09p8GwUKUkEJl-HSHrqJ$qLGULpAB#Nm%A73vca"), - make_tuple( - "IVv^vfb81P%H9VM!joXjnt-%TDhQ1gb&$iL@Vrl5dNYahpUiaiiO@qsfIX3LT1@yl", - "0WoGPX1uiMI&)cbVd9ig1kl2iP!rAQMw-HdE(t%zPQKM#p%DX=3QBaB2E7F1K3tfGqQ9(M8Z"), - make_tuple( - "rAFi5IMBhv8LLf)=%wW60^Q0@OsEMdWXmORHN7r(7LWP7VPW8qjlsdzqvaRx*G1QGRlpgy5Xt", - "8@M(0DcRKP-qek#KtNYAMgRyayfTnPdT&E)$dWUl7IH*gUvHm$67SNrkeH1nGK1T@uCK5kLQ5wtV9@URwdF!qGG4"), - make_tuple( - "RooE5oKnj1X*O-2ZF3wPAxddFAGc7otB&(3rj@zENX)F#7Cy%-NpKAgpA", - "b-g9aXLE&bp@nzi1sym6J-vi8BLvO$hGK6b&bS)2%2y%V8ao2I$ohlUNHYQIoE1dlT"), - make_tuple( - "rJnDrfel%#)8l)MwAwkX)keWP&2ym#nxnn58Jq)9HY26dKOAIhzQk@t4IIR", - "7no2uhhQq$6SVh!xluDh4CA(P*6#b)%OvqH31f93L1Nr@KPUcOGGFDGWeGLP@0n*WIFfwEsP@pROybyB5#F!7f"), - make_tuple( - "8p4fz8$Oj=DV3inmEw29^G4yMPbim@*%QaXAYDVjqJ=xiyAnDyaPPyu#Cy#W7LI!HArl6(u5DEO#=J0U#E)@aDZxh(G", - "z!$Jtm$EGHkpK7zp90a2)g@*tNgA0tLGLCVLIs4n5gGInMsUQ0i@Py"), - make_tuple( - "jWsCUsyRTO8vxWHh13iyDRSlfq*N2T&0Bhq&u9wjFfNRXKRkNCJwXvoUf(2hdZ5Ewk$@UO8CEZT*", - "0cT6h2Tx*RXgQvk$k-Z1GHgm6uD1!YBC-%4AhRTk4ND6f8*gWbTHn=@Q"), - make_tuple( - "AQo1GsAChbl4$J6@-dj69JTgkrlD6qkzb%jZz6)CDZVbO(edexaK$DH86rvct3RWdAkqKNb(h!MJat65GS@K2bEjsj$$cNu9#a", - "Urx^JE#G7a0h)j5agbbYbFA)1Ta4tG3*BFlHJD%3FWKkXMRW5zTlkYFdE&3"), - make_tuple( - "h66OyOScC42xGrledKMjOCFqnGrHtVnKWfLZxRbMB#$gOsKQd95q7^t!ky&$^*I7-N$H64CA#rG", - "@0wtNyrXFyQo(pAjWnz!ZZvfNNkDXdUC!53L1gvlCLG(v7)S5Q9ETuXgdO"), - make_tuple( - "FYVnn1tV#)duC4OIeh^Dzr3g%5!5jPssC#ZuI$)!AGEZHQ3sV*33g%Fj!YmU!", - "8=j%NH3HzQX&jz482ARY9#MLW^#%^S@hsmp=LY^p=tsLybIWNkG@ftib7gP9LlC2op3M@xS06Kh"), - make_tuple( - "02ldOBp^v(8eTK-Ep@6F6qTBg%9tY4AL#rS1%vPUDXF-H2PyrfG!DvDaD0QZ^mWH70HTnfL&#Ty0PSw", - "YOzfAGw9$V-N)!SDW$%rTPsjx^Om85ookL7c71b(Eg2C-IJP*j$T5-=Jn"), - make_tuple( - "usv6#qM1o*80H$8xGu=hrm-s%aVvnNS0Rv0iwb9gj-)OmuSRr**X#Kg=lcIu^1Dkjegk$6qht^SapcY", - "R9HFB@A4OYNk9Jb4l&&6wAhMZhiA)q&WY!mkG9YlgXzr8y3=!pB4KlIuZzN=oBb(1I$f1$8oI@UH=BDR*zG0xOB3kT"), - make_tuple( - "Vi==f=Qe>kh*beGB8M6&Yy$jNor(B*M3FoIG^t7jAta*w=fAXedeL*Ix9xHH-r", - "weH&jQh$E60-Un1se)e=cj58LX$3$YDEhFkPOeuo^*iOhI(6YQXYQwVptmhr=qh22s9Hoe2kFt-(TU"), - make_tuple( - "QLtlQbZFdVofv&FiHXtIX6p6&Z!CpYEXL%0GM^sHdC6btOnKUG$JFyeKxd66", - "38fun**&IOkxXPtwBojcy&N$Y6TCZrhq(1GEjqaPX$ggc4EaxgXLrDzjMqC(R1eZJG4sSj=y$Wtgw@$kr5dD@eqs&DN=4!%wKQZz"), - make_tuple( - "oKwV#0(Zw0jT2)01iMLiJ=aeUN^l!Ta1@6(MOdR&-mL*)!SXDDp$ro#(0hiij=R-EkLGhFzgOy&hfkl53^O#8%LfzCmf1", - "C=-SfXUu5oAX(k0^CSAG#I$nw$F9T$%NnD@pVIL1S(F%kYXnU9^ulFRw=xR&&XDTC%a8jS6755kAQ9RHXgmeCT!u"), - make_tuple( - "%x8gp0TOyboox!Fa-9Z%=!orTg!@CbrCZAfN#z14ibrF36E0O@f)eu%u!3FuGNI", - "ZLMVV36t@%RZIYeLt2MggftUt19(bb$e=HI53vTsIAcEcZTUG6PkepyVlOXEmAmza*H=)YB5Yu&Zz-!laR6z"), - make_tuple( - "$g#R6nmhUPrG8=lS9QD!q0384ZlKxm$==QPhEoruha*Y5k-55^Fyi0F@&&S4CMxV=%4=dx(9pg^O!wOX2M8bj9", - "**n@!kFOJen1@!OQ59ZRqE90yRuhYT798&ecC^=WCqNAnHEL0Ge&I4Wh@ylQk2uBGdLBxKxUBPI"), - make_tuple( - "1I&!5=8Sns)v(KMLF!E9*=GbXKIGpPD8mdFBFJMYAeN*5m=*tK#i5RfY81=fTgC(HGq&!(qjlGoAzO!v@^U3oEV!zltj$-", - "Y*XYiY$wBrFA*4yse*Tz=GqcduT6tLMvwkQo&uG4nIzKeoJXK*oaNfW^Y@Fun$PJfRAitxV*=En*8^rZZ^&!(XEQ#rkhhujU-F"), - make_tuple( - "8LK*8b(HVC@F9RV)3kG3HQks*lIMqiYIaK6gVzHLz%m3ahc*peP", - "L#tR$SuDqL2*$vC57#J%bA23S85h*t=YR1D5Hn*i47QcgrEoz3VE$VROwnPH#SQd)hGmRG$pq1WKPtQC%P#BSd71!G"), - make_tuple( - "O^BOAZegusYK2O$W-V=)wo@fkl$U4eg2jdQnD-Z51CiNj36-ByIzzo33Xvyv8vJeXMA", - ")fAU@8z)!BL4glaq@r6YKx*F709gcitqf0Gs8eu9HMpDTMRS3dsHGGU&&lkNSQ6LpJYv(rsoeKWvwHG77*!7VI#A#dXEGz"), - make_tuple( - "Yo9-HGVR8a3NTn2s&9GgL=O-0b$EO&eJTvG(3gAp7BYT%WJtRfc4&X(NX5-o!iXOyG3HyE6eq(KaxkiR-&(COa@pi3ZWDg&Fy", - "Slfz^9)=&uBK(CO7KoOk7!MCvFaj)cMoengMM7AS0yCSj%i@t-gr=v9fulv@ofBC0!VACUP@pj4rUVnond$o=XBgs!#SqOY0U8"), - make_tuple( - "lWHQ(Rf4D@9Pq5)eqi(Ym(JOj*Tv%DhS^XuVft5ZraRwvM98qOnI0!90MS9J*UnQXygMfGKOrA34*@DSd", - "#xJwP^(Hmwkn2pMGy5@(DmNEPdckd^pf7#9GBaSu6Zga(Ffpvk)lDW3oVlh5RX3chSxYqzG5c6WEWKCna2dsn"), - make_tuple( - "6Kqtc=lMvBqe&MKg04d@!=3wJaiS!LNzAQ)aWOu-i3-a=WPWtvq$f!BTh@gRJWOm", - "@u2^rHgAyXh9ZYPbpDdsEV0Gp%Q#)L)QNZ(uDWVyi$GDaz%2v^U9ARlk"), - make_tuple( - "ntudhljZh2koSJX4(E$8HBGtEa&SH#vMfN$(LYK6rsBc0y)S*BR!&CNu^$MAY*mQK*^Ajfsfo1DSP7Z", - "^5rtGS^t^ARGkPs0GKzqPNNKwrHREzh)&Y-QrY#!zU8Hur#QZUF^)u#sm!BHE%Gr4wCIETBC#YmKjZrT!uIOFY88CM!o"), - make_tuple( - "7jDU5&RhTx^&6zmAykdk=E5JpQLo(Us)7(Pu@@&*3=rq0LB8OgkmJDU5-0Xr=", - "D6Wv&TwVJY&cOU0TwIC5TwD73#B*eqZLNL%GYrm#tl(gGayBf)x&EssCJ4=UocojwtG"), - make_tuple( - "b4C!!@dFVQ8Yc*Sa^UFxSU)we$OtCgIZ^p)aTabfVkpSJ(IkxsLwAtr-7u8m^p4%lFkxQ", - "UF$anF5Ri8&ctmF2nD97ximlpXj=i5(0MS&x*81j7Bo*G8U1(jy@o&nz6)2&L("), - make_tuple( - "B=9dPd)MAduJb*Da5^1vr@@cE1uliVxS&BS%UKQ0Q@HLC%ONN#G4(MTEbtx@N0FBJg(kcw4H7TSkQ)X$3", - "DyKPyB69J(@ejwtH%hMptze0jSpDU9XzAk0@KY&u$de7fEaPCl5^JQMR%5Z9HDR#VH#(^rRKDBKsstYn"), - make_tuple( - "7pRzFVy-&Bho#djgdDjuOoUG-t@788SDY5!f8cUvHeG^4=*Se*Ya(Lyprz6$J&GjLR07k4tgYd2ioR2lF", - "So5)Z$Kg1ifGI3w@iW^dhk919IO!w4dQ*3iDaH31)pX90i0(yCkBal%(#cW(VxlOvGyQCbm-3uHG!m$lJp*)sXa"), - make_tuple( - "y2S*bZ^EgrRwA5K-EIAsxcD^HNZua3@zJ5SRPeWq9iB=YKm!ll@6PM5L-huR5&G2qJqyx-PoelYypenMM(I9G0IB=V@2vTKV", - "&M2HK&dT7*f^S=AQgd%S#gi-(JkUx4!(T!mAXwEy6c)EP6HpuSLooy*E!3H2)SCeLJx"), - make_tuple( - "MStOheLDzQ9-)*wwJj^5&F1zNk14&^q%f&Iif5*npYAJr4&*Ks1aWs06E*FV=glIOrA0%jRDc1MW$@5u*", - "uwfg!bf#MPDkYh7&jsbyY6ht5UX!p%-kjCA0UqpMyIpOlCsfScE1UpEllwUeIWSpJgIuI0m8!gqBt%amVN@ue7pk"), - make_tuple( - ")cJKk76FrhWFAdmW9X&3brE3XbJ=dqk@2r2Ske$!9yc!jw#gz#rg(0in)HLz5aH$bwJjqYm@", - "n@kSQCOhmoTE4ZQtB&Wi96NpVw2yWpbASA!BPXF-c$LKAs33b)q)a2Z)QDKwbI9Mu!aWEZv5Tzw&v2VxaHgV0iQ-9XzMl09gmoZ3"), - make_tuple( - "GqYEREjQ2(87ufjYc#i#W^pj#kjvsOs(z=Oximqz(yaJn@wKRy(dQrd893HSvT3TMe(N", - "fEGag6rLW$jzAReK0kRyzVauKcovz!&ur=iFqCo5)3n7uNPWKjQ2Pi#gi4lwvfFJmN4WT92R@qaP(Q3hen"), - make_tuple( - "89t^qxA3F=Zxcr$-q9#C2=g7sjsLX(*6uE!Ih4U#kOY43F1dvC5bCZd3w919P!W2tK&rd7f%d)U!EXGg7*6T4EGE-EIQs", - "(L2j7NaA4osjAP6Lb3yWWK(EdZIy4daC8*rnsbdU9EfJJ4fYAPDvqUm"), - make_tuple( - "!YNOLnBma(L1)0xTwud*FhPm2sX#Tv7pW2r&i=T18xmEN5Id7dXR", - "n*$imf3$Pc$-5wzUH5#HU0c)E1lw4R@J3WbL6=l$!qhvKRynVE#m9w7C@grd#5N^90sjEc0Tg$ct%uWppXf5d"), - make_tuple( - ")z%0!O%sdj*y5=6LUxg(nkyvVI8ECpTzB4V)6SKt&5=-Znu*IU(buUyMQN(ZmBCq7ZFRL95ST@(*EuQnKcdoX#", - "Hul(ByhZNA=vC6LEZfm2n$)$0lNY-!NvI*)u=vkCv0486R2IiYi@ZdaOXbaz17M9mb*9Si*oLTy$vmSifn"), - make_tuple( - "eXJLcq6SeJpch$-ouvo98#Wm1*TIE86&A2ddzitLgtmbuT2jDPApPde^U=BFS0cpqK=RAO(6E1j%%bT", - "r-H8#15!d^mE9C3bUyVY3kTW24WSOrPv2sG2gfagksM%t)wL0YESgr7JlMhjcO3vSe5ckDK2$nQ3hgR9(6!ev^(5Sg-oMeWfr"), - make_tuple( - "X(idiUPVJEnt#U9DgvbncU)QcpOxEKb^eWp*hYT1M7NATKiNEidn^mnB1I%qY1Px8x)J27auqXAL3y", - "G21SGI7#B$!Q&gN(cXNO$mGYH3Lr)W(j=GKH=-Eb*4EZ=miCHwRx1dR3wgfW(*x0"), - make_tuple( - "LO1!Kyw^ESfiB#l5$5JbM%P$!SyhDK=88xX@3PjZX7wH1Ieyqu=FFHcsDZmC&uWN9lrbfrsklcr4VJS#b(MHGhYy2fa*B", - "hdWtKOWeN-7so0%3zs9$J7fMK30c*R1!gS3eU#4dpM-3HS-dQJCLDO(bapyk7U!)Ay7csH9k1Aj2Y#j%$3W8Uru%)ell2Qn"), - make_tuple( - "SEfnGmAHe2CFUWIpQZ6f4aDRL8ft5XcDUjn=i9(RTYwmtZ*ox-cTGZwB48A(DXMe1lIHGNj@m3K9@", - "@8y=u2=UX=9VJWU3X(4qURyem8@b*eSj*-8AWMErQ4MIIUWvc4cy%Vty-fVQQirBn$u"), - make_tuple( - "ugIIhJmKGuj0S(-7I!)8uJTlmA1W^m(O9DJVd326lv^FY#)q@k7p=qd8qnAYfDgr)YJkVUuyzQ-z$Pmb$QpmqQwC9A9Y#1x", - "JfF#VY0@5L2^osik$WDsw89Fb=&mc0ZH042LNMJws6i0wldlJNliP=xlENqlMlcl-qX^FWwo0Vl@5C#dY@"), - make_tuple( - "KM(xiTf=scf3xP@mLmk#c^wH))s!SO=LdL=-t7@9n#QJAM9gpX-DcGDNkpwli$eMKRg15x0=C5^#a37B", - "EE)T7pPEBiPD4)&O5yo!FWIo(NHYJ=SR(shV#S^YF*Wt8Ms-1ZLJ-NBQ%Cn^fkBAnx%ijJD3Ndh6F"), - make_tuple( - "g!ZoXS3!YXoC&lW^kJxOPC#GkI2(b4VNM%aSbNRJNOukgK8rNl", - "At3%zNFRC$lp^TqRkM5zJOxm)Cs-tD-CTlJ0Qixc5s&s7sYwRjCBXxgl1#F0hR=-M(l-d"), - make_tuple( - "&^XOOcHg5-l6@T@k%p1MJv*sFebSMpJ1it8wc1fW1n8BpB2u9W6=AZKitpU4H@APV3gZTsle897Gnz*hn==y!&r", - "9*VL&vwgnU67!N*gGdbNoKq3#fF@FrFVXASF8m&pfdO9eHi0eVss=xChH1ffrB=Ns7)6"), - make_tuple("hh*GN(@wrBMSQWzN%EKRqBEw5AOYh4O4mk5=iWb!7yq%O0Gh*Qd^ANF*5tr72x7u2^v@1gh(THbX4m5icQsC", "jqT1Sh4186^5Z%&N2fLLMqcJBTuZ!UrM&kC=ZA76mett%uFgyluuk3lgsGovSzFMhqwjjR@&rFP(p7$(3xegi4eEbCU@)iJVx*V"), - make_tuple( - "U4#ao=C5@SSryBt&Uf^vgNGTdp=2KwO$JldhEMM$IBBF1e1LS^lj!", - "$4E8px$T*cCTI)MQbs44Kz=)Q6Xng9zMFJu)5#g8v@mSz7c&xuvIT5N0(ClOH1k-Uh&YFQloJ^tw@6nZ*xI!E*VGLJmY7kUj"), - make_tuple( - "3-4LRDnrYp2GYUFhop^wAN8SLJvw%pMQcIitzhq6kV1od3YofMa2gya494&rrlPo(kErLNAc(^dCqqjntWe", - "QP&OuNGbm3eVUZXaB64-ngBOjo3L9BrSWfEfljvzUyXPmi0N$Wd&hD@*lkwWCanPxdA8p9I$^=fg6Ks9I=Vp3"), - make_tuple( - "5kM@Pm^Qxy7x&QysJR3aJXgnj6s#4qP-iHT8N2&ySS2I$5r0r!iL(#)%n3$SEKf9ao@nfBPxxwaF", - "Grg2xtgJHs2hRkYi-pZUS)Fr3!gx)&XqZUmSSp$nve3v*Z$w0-bkD!ryRSzujvyHY"), - make_tuple( - "yGK7D4YiKJ4PqR3^cTA=aCu(S9Oh#%q3Ys8pXjL7MJKc#k0sAUVy^WmG@7VaKMAWOMc$AXAv$YVm0!eUAKvg", - "9$KG)E#5F(OF@cCuRL=@$KF2E3D*(FJQ6ry)7ez(R7eY=6xfyLi8ZBJfeVPptq2#q^!Fr1B3N3DBjkH("), - make_tuple( - "#yu4gjHue@Sw#Xk!te)O)VpHGeRFrBXXA6*KK$evhEs-CUmAsKp!gGavnCxXA!LQAeHsM*E2RR8@gGZnWkSDY!BYIy", - "#D3$9SUhh4mGlLybSJNbx^4H%&*79jyPgMGC)kV7u27ExCIY38"), - make_tuple( - "9rN%H1(p-4uhUlzKjT&*wX^78sbRohBlaC=8l%30s6GpzwXdV$jUWLCg5#ZK8WS8WhP1FSge3YXnX-", - "LWfoYYTfQ$mH-w)d8bAR%9LPV7WrpF@AS-a&7N!MWo-nAm^bk*y&6qp70*gbyc@k"), - make_tuple( - "&oILjZ^hgZ)ABcO1L3P8IY!H!vVd@XJiew@YmxY(4z!zMBR&q7", - "ZIwJ17vivcFX(^b4v(%0b9s)nh8tJ16JuQoNyFHwMcN01^J^*%f5m$U)6D*n*kD=yqS4-a(yWsJGKgxX)Y6&DfefHgp"), - make_tuple( - "tHjs^Y0unnmERN1cCPrw5d(JVCdIr0@M2P))XnjuvvbXHhrokb)QPDGoLW", - "tsLAfPlco*OjSHjAy^FhYi9x4yj2PXV!=QjfI!Rs99s%SiY#THkV5LIVp4PRjG5@2WkkU9"), - make_tuple( - "h^CLUcY9N$sY&%R(H#G46!HSXx8CAXSaU3R9W2ERymauZnczRK(j$3!emPoXUGmxXg%aF*^zEevPQFx4#dG*i7slxhn", - "alPdE-GE$*ToI@PL@StYi7V)TEfq1G2p&J&SpExXZ54b@Fmop)b$teL(B#ouQj2NWoY0ONubE2gO-BHMI0zUh^9ZEf"), - make_tuple( - "aGY@XPy3f84iH!*%WJS55cuVQgEZokLyT)w&Rm0nwboHgj$e4iX9@kO0Om@I5jx9nDkSQluLX2vH*nUfasSvWWbc", - "Ii^tn*KGfuC(bgJdqSAH3%bGRsJD1&c5SD2AUeJ=@lI6L8O-WmVF1SCAY"), - make_tuple( - "&U53WLWpnqRZJ*zJnyBXfto95I1HpdEl$WHK=$l#Mm37NPHIqnE5LgEAku380af6FtDdJ6e-8gWzAzJ(g#6%&^^tK%ZtzSXXXNj", - "BZ#RgRclcUK1EWrjEk4Yu!M1LInKOFrrH^q*^t0xOJU60IiTloQTbK=GRWF0C&8XQDs(oPJLDqpw)^MaHmg5DOBfN"), - make_tuple( - "DoIdbDQV2P6&j9-n$KlrUlbWtJ#wcW*tcFFp)F(GW8A1K-!Am%Cz%", - "71#An844(W=mZn1icYKy0Jdq^3HOlC1ot8rtd4tJ6WJ2xq#5frC34ALkZUb-Tzmc6gEh-@5Rn2CrakPA8NJ4D"), - make_tuple( - "BF@8tbDkWLOJ1UjpWq)Zmlr!n2l@4q%WZYFK*GIrjg&Nu5r%-&UB", - "!NNwOiXjxdjB2lH$mq3SYTAATN0#m=H^qS^M$mSANs(JO*zQU8ZfE@%mAtBlmKRb6qQexT8Q2wSSkp$Ql4PTJ"), - make_tuple( - "C1HRhZx#&F!er@Jw!pYo4fr0RjYgd#0l@^6r7-&0G*uN&RBZJb2NF6d5ld4^IqbBxFUXtgAO^HS2)poR#vt", - "rhzZI0i=II$t1aK6CyNK-^(XupNt14b=S=MQUgxOndm*-$jjnv)u5JFeM4wt#0LMm#clC$EweZJaqaylxsK70n&"), - make_tuple( - "h)$oxDr40y#HF4IYb^Fb@j!HRiopx3*Q0Kxbq6M^KZzFfgZOX9o1z-kl&rQt8jD5d^ek)EnXpaH", - "amBaZW&JXzp9&HAnU^=jVpecs0KKZgq5C@5BEdiBqPvFNT@P6JawTOMvY-GJ"), - make_tuple( - "AJ1N@D2Q&lE8V=XY2d$yj)^49(2AuB4CBkxR3rJV9$Qn-o$*-OFJoVJeCZ)8s(*QePGfuMx", - "cvgsq1fE(bR%FNThD%&Ayvor8dvtcBJH2!r@(86lMIU7oeF3-b3eRyI0*o&=IyDr3H-Z=S@0SQHIZCq^STkF&&fwxCX=$"), - make_tuple( - "HmTDTD9yqwECj!hD$KsS@toCd^FpSEgGZ8ELTqBR!#jVEC3xx@i*%H*!tfDjZ12&yg6", - "EFmK1vrBCbF7bL&34^DTJ&Dr=WD4-uSYFwZ3V@KKOt(UTl2iYWh##FwJElOYs-IzNPy7L)M1vG#!aeATB"), - make_tuple( - "*RhkrfH(Z^U%WHA1GvGaQc$k!&G@51D-Ua0Mg5bm1e)TZ)nEWj0ppgOu", - "&mN5ZaKWfPpX0NRXx9c=c#ulc1ud98H(t3lZzNR)t46svvtns9qR)&I#i!Ux"), - make_tuple( - "mM8txOPxz(dlR4&AHZSCwkewCP#MP2#ij*svmZ4!SL)%eJrr^@fdvKOhz%9-#8etH9sgS6-fc!rgy1P9xiIAG", - "bvskbI&6BhR@kIQ8)d4J9mD*WRE55gamQHc1x59wNYD8CGu2guk9)et$S7IJJt^7klO5s"), - make_tuple( - "WAZ-WE(l4R*=Kf&&5$3tN0aH9kxvSS2khEV71pK-HuUEd5=02hPgGiY!dITc$", - ")ujG5)tcpS-!YOkBd4&76*PxDmeC762S)!g0NtsjLMiRvp@4K)*$x#^BhF)GtX3CQ(WI-oZbHy^a$wDLEz"), - make_tuple( - "tQufMeI67i9LN5tRpSxInUwuffK90*!qyfRUx8W$8@=$gOOzbMs&8xo1Z&i@Lw-jL3AxzH&FXUzfzJP$", - ")VVvJ)3oA02-93gZs)PGlVOu2RgEY0A-dmYBZcH2w9C%18%K9s0x4jdt(Lk0yOQX17cQuzM^jFCB)Za6YO3##b*kwkg5kk!"), - make_tuple( - "St&G2kBK#lf$VB5T&kjmYDnJZRcIbqLDFOcnobre#ejs8RLBF%OJM(2neH^!3ALHdVLxh5)suj3Tguc", - "(ekZ3IdeUS*z#rSOqvajtHoLUhop2w)=dHBZhSAd*plnKK1dP&pKl=1$DmC&8w3F8$"), - make_tuple( - "zstau@cvY5k)kQas^7eiYMxcgsaUH^Sn53L*O5*eIMCTlSIqgdoA$2i-DQ(h@S40kXALe3LlRhFH1DUPfizs", - "U@o96g&ahLQWQKfFV6@1ZIr&)h=bq5nSNj91*o9H6rk#Z@GOa4whUPQvR59dsUW9=xT0J7MSJj6gpOn0pa"), - make_tuple( - "QORG*QdGjO(nP#A@0AfXhppdbkKrzwF2*X9%D&5kBSM^)Mw^M^#vo6DLJ)v6zkH&uSoUa3pjijr5aaCmm5LCBENC9GzmX4e", - "VOn@Q!hw1sM&PqQIbuk37#g#*tQz1jDvtMFb76e&yTS6-BFukdMO1#2^6&9UpjqFsU!Ei^%jhyD=QK1SXc"), - make_tuple( - "yGU8)1tIdmlASYjk$W0ak%gf*Qt3(kBhU0u=G70qAM&GoCKhTG4", - "3doPxE%IXeSGvKFf1LMFFZF$V#1$U356pNMFo&5vqcW^dwDj1Cud9eDx$w&911zNPOeH^yj@9X0ga"), - make_tuple( - "jwl*xE7mF%c0g#=Iqd8Mg((jjYvt#x!ImhxBc=oZvYH(vN*XM(txX@bW", - ")AkyW$LqLjz=zvoL=vaS%zjMOsLWGCgR!8tFUZe@re4psiEnKPJg!q0Q8$6SfQjx(nb8n5u7U0jSMU%UtuF7HrZ"), - make_tuple( - "BHMilg2$AYeAbo-Hp=F*fC!^!-Ul-dD(1uD8Sq(4Ta$g=!aVvfwlKK5FB$eau3ZPM6c9a)", - "N3eI*oe7$#J7kU5R0hLX%5Ph4k11fJ7*x7igyoQlmdbTHl*sU2*yBjhAiEBP!Ei3Q^%DZUiY-sxMYkw"), - make_tuple( - "#0UGnz(qb^R0=-TdY!@fvL4nbw7lu@#M2DxeQWiv$DQGq&Q#sRX#VpGuT2jzdU$lTQJbZbU&jh=U", - "2O7C^L83pxU%iNl7TH6aWdF=EhP96TkcU&mSE9c8JbNKPHk3wzXH1A#I2cTP6!1DWc"), - make_tuple( - "BexbeKpCc$-3BlHb6TgrkROl%3-IbF^jeA7%*UBhzMFeSqP3618MWA!yBIqNRrD-(Rw1TKg64UTeVc", - "YkTYXP&@TW!B9nFzAB(qGQHO(ThQh8TjRkMkvBzWjqG(0cHx7-VOZ8q"), - make_tuple( - "5I7ocg0tyvF8!3IV@K%@3E8WYWzKZbG8))6!YhDr&hVlMdWimIPvL2!(n&*HwCOVB3&mM-TwrR04h7Fm", - "1n4hD#37NahrB@tQsKyyGKQ$Np$&T9l1R6t$3=KOmvrZ-FDU9Wk&MnhX$^w@y)%71heQk)Z)*EUAkZSd$cj*J#gO$YFAKp%EFxv"), - make_tuple( - "arR-@F2ug%E=-%mbhQyQ16T90mOFjTpBOdGO6%wDKrHN^gOVGXeagc!JoVW", - "4F46JVx9fQFdch(CBew%Z%J8SFG9-Zl)6KlotdC-F(yCEJyrQOKSt)grks&IKk1OBN(GZ^"), - make_tuple( - "9Nk-#xbcGIO&bkl(m-BUL&&PneR4oKooWH$)t@CTXPcNIsz(dVO0(XZoWg@sCA^qcHplRD=rBJ#JIco4WqWWj8m*F4$N", - "*)Zr)7g1Y5(BFGczyf(!*UPOxG0O9)^aoW36^1CjIitqF$^zBRj!p(mPFiGWwqw@%DZh4pwwPUgcG-antnjr$1E"), - make_tuple( - "XUlv&uhyp0MZY5d6sok8hkBlQ%5!hNsuTk3xLY2cS!SetqOZ1aTqRjyge956cA(tc1R!%EuS4bymvSZDPqrOR8GnWX#E99@sF", - "e@*)kS6Dis)4vD9n#&w(BY^k4HH&qTQU^8mc-0HDhr*76m@8(5jVa^-UlZYCTXwMUo3(YBanWMe!8-N"), - make_tuple( - "XowjXC8frfKg4!ja!tUbHiG$J*w9=%=g8-pCR&dy*HtlK!Qc*-Lp2", - "!%UZB2y705LEjxWXM&kzanrTrQymq7M5w1jL&*b)ZpkN4y65kPi!yoFH6sOWaE3%gJrBz^SOoKUdSiS^AmO0A0CrjCx8aF3T$-f("), - make_tuple( - "kxzOt42OGTek@f2)lE=F@PygRLzA%l$r%yem5x#hZwAY2L(C8y=n)5#3xWi*W65&inukB6N$SRgo9ftIDvOx-tf#uc$LqmF78Ru=", - "GJ!(TKTr9XJNbAXYVn=zvQlRfyPmVGfQqmomGF#dv!cGtN=%=-bvGXk4rIP"), - make_tuple( - "6i3nSAfT^Z-OfM=Ah#uxboN%Qc)kwqB=$wyf2n#Hl%O65xF8&PazXTsuRbNeXY-1FKTHtl3H#It", - "9)%rdg!V!eOpLl2-$6=0Ep4x2-7Uw1snrL9rsQeuqTixJcMTnD22)AHxMwrcbn#lCYsDXoG6("), - make_tuple( - "*cgcEEX#Cma(Oj1KRZKW^!HQV72c-ot^P$xln$Qnp9mrSQ$r(@Tp^3aicL8pPNJv)849g2vsk2mO)P&E%596$G8$", - "qXoagw)vfMyP5%L)Cbla!rI(aiQ5G@*3$ziQy-2!rz*DI@WW2A14a)AmW(aCCtnPaebS%r&&z(I6a9SxWd0v7Ejnu^y=)ke^87"), - make_tuple( - "PqGAowdHybXphPHg2jHj4E%bd)5aJyB*SJtpyXF7v^M5EqsbXT", - "1)=!VD!$dTQtc4#@iOx%6a&2hR)vC(NlI*EMfxbiw4)e=WAKwF=C9ZX%DA4TsTv&oq36zzpTC5Lx)NTR7djTz"), - make_tuple( - "-Ry)gbT)%iQ8=Ny#ymp$DVCeD(Zc5PLaeEsRjSStXDLwmFc%MbZCW)X9RRhwzkbY*5%C8YfcSCbD$*PQLUtj1u#6Iw9Xq", - "yj@8FXayM^1wmBbV-4l=Rs!Hl#0$06T)j^hQw-kri%3Zp0rz@mL5Zi7tbkgQyjp4KxbK7eZ5pHa!16OoEQlGSR1K5w1RJdTZ"), - make_tuple( - "t5Ig4lqAopHNPZ7-k*SQTWYzaHMIWN*udY$hrk)BocLsp1LhpGu7^", - "SKtEq(lJ@G8Z4yNPc1ysnpOYV0@PcRY)2pie$mot#Ot40DN63-^qiW$w4vucvL)whOLN8=u@KIf!ekJiDlx#&)m"), - make_tuple( - "XD1Tr$v0JxxcLLQu=ss$jFrHbuywh6L@EODNEdWMpyJZ6E$kayVy5^Z&$h8ikb(k^L8e", - "TVE=u8&QLY5*Zbv@5dFbVHsaRkmbls@ShH8=P&QhyC86YK9o1IaMPtDZS()b4w"), - make_tuple( - "Lt30CaLiGDqSh-m8VKXAYjVDE!bIQ=wpQ3%P))o$cxUK52-l@druPBCC@GWqe))otPgVlR2d*T3(XR5(nWPlo", - "vnPdU3hKj7IHdSc7Zthb)UsP3-$cu($R8owiS1B9J%KrN*QNP2Qdk*Xot"), - make_tuple( - "G*2T7#8aLvA(1^JV%G0#@-REuVJ13lMCq@FDe^1S*#kIpdtT)BhbrcUz04lnWvi-=ZgHGsTNXbFHuDZHM", - "JBhXDh4bD9YDe2^@WN&&rtyUhR9vMArcu%5Wk-v^EFLFlh@bI(kzCuz"), - make_tuple( - "JbRpQmIr*=9TpYglg-WLRS(-ud*MA=cKpTYdS2ESN)BG=1&Tom61Fdyk%#iUNRcUUfq!hmUy!Dn#UN8", - ")%D7FuZ6B1@m*i2jS71adVYHEKev1!W-J#JVz$827hu9e^wVzupBC"), - make_tuple( - "9YZSj@nR@tDOOSK#bFHh&xHgver%6D@zJ4Kh7qITcXm(jeTUf3bnKoxAl0deZ4KwwiSyEF5j&4iKzDBUsdt!S)#tUkHQ6z(1H", - "=!ZYvpBMA-rm7Hcdb*2ilpb9@#^xGn9R0D((QrqT1mfV!rLQnCKhKS=MRf=RRKpa"), - make_tuple( - "3bm9IbhEgCYUIWe%c9mlxx!!vqyahr-3t!5Z@Xt4f5gdGVHdj&lOR&Vh^acJXB6pNodQNc3UC)e3#*N", - "WJ%lQxD=JY3jde4zoPez8)fZi28g3h-ti$FB@YegIZi8UW@eidIEV$=RK*)U"), - make_tuple( - "EIQRhqpC=JIe=w4mThUUzWLMw&bFz=Er*ot%CFkHf@AJMkTXW=zDc09-45e9kMOYHWBJgvyvmPoa$jOX^hgf9&ZgT&l#g", - "u$nC3J4FrJh%mL%n(KzH6$vZ!gC$26*u@HOamuo9OSV-fob5qmvTaBLu!(vKQ#Bb)Mc"), - make_tuple( - "6H=Zu5aCWkQ3Ovqvs9@yXx%N$gF%gC1fcU3)TbAgNIAKDlK%l-QqjuBXm44bda#)&xP8nAMWZsiNV(*wN(6CbnlKm", - "iA@nul)pMSsLcyJwzFRXhPpNP9@JAGwqlCmqF83I#GD72dzqzef!pUzq-2M*Gl"), - make_tuple( - "6xOE%HW@yOuIi8mX%35sU9kjnotZ!LAfqbbc3bCq-1GY1ijyCvhzKC@=Aq&0nvS=-7a%", - "9trRS@YitfUL*z)ObsfCgi7!mVL3xsLGiyQ!a%u8s*G%A=^dDeK7lpj9b39qF"), - make_tuple( - "wQbeBKvLR%s8zc#YDWCeSnj4ZhNFSofmOzFOXaiWqPXnexEKcGKVT8%&FxYn^nKQ=qgAlKBCpG&)", - "Oq&v-d4ovydPQ6AEFNG*IEQVOfiZuQ1)ex0GJOwh8qwiel9xaJHLsEKTxk4G**f!KhKFK44g=b1^#6DVl*v7SnFLF$1eA1"), - make_tuple( - "WHe!NapmqMyclHP@#zP0ia5O%b@9LLqEyc9RHo&HPsYt8iz4mY4r6zOn9QgyOYVN5)^wo4r7VJ7dp^O6(oxbYZk7mI", - "kWEy9CUkHD8ahoR8ZLPYv1keR@iaw0*NO(WONJx8fFx46W=zb^CM-6fO44&GD5aw3pe1pZhooXym!DFpKZRHd1FtB(iRZ"), - make_tuple( - "zAjb7KuV-^9!=0tlxF-$@av%=5pqBhuw)BM@Z0eT&%RXUdE*C!y*INK$!#ZyNA*V", - "@$@qQKf(%zt!GdcN*cLF7BcgLkgyxEIifEGkpKOo!w(ThcW(Zh=sWYNMkaf1oFyymYXPgXoJx1sclcmFxZpBR9zChxe5i"), - make_tuple( - "L&=wtC5Dkr4d&aYB29zStcGOH8PNb%Uo$yyztIE-EH)^yPO9QnPG6y8uoqD6", - "z2ohzUvNs=(&AGTYEuRx^RO6(71-4I8-c#eokbp)=cR3InWHr(UMyCc-EaNTqwh"), - make_tuple( - "V@PU-WfV=FkKjtimgCJYKT6XyUyZ3pmNWgM21i1&Dc0IC2X2q#ElHO7oaFVW((t", - "7MXPUzE9XO9oVzgnWLR0HnPucm2ZzQEUOcH#m%k*QYc=rfP0SeyqMyI8)nr)0KEUU"), - make_tuple( - "qJUoV3657YHd9c7OHLkyncb)Zk!ZHS7&Z76Q&SYFRQa1RQAijA22QfJsu)Y^$-%OCKdb(339UihFMcNyTty(VrjI", - "KfP$YaB3wK2bRC2FY5D0XQOS%k^4$C55DHw8VK$cpmBBQJJ)gamDWlPbwS7wD1*7"), - make_tuple( - "vZ3DIwCN0AWoXa)w51xDti-*f(om0M$u0T9j^DALWCg-oSmtr8a-@!Fmv5UbwfT0OG!7@@!)CaVriCDxhxu*jT@ROPETowEKIgQ5", - "VUp&ScL8(OSo-T#LUsGYybKZ*VlB*%Pu56=cQ&dYxmZ5l7JmzdKNainT(I!jm4^%1dGFLM&67iS$ou!Wtmw7r1BzZRX3HXYB"), - make_tuple( - "Qz!VaKHGZJMLK3coLY4KpNdDV7^VoVFA(HCX4GU=5e2)-18cBk2wVFf9QVc%bhy", - "REYn&GZTrv7bgGu^nJJy2eOWfeO(xNsfdKh6biT@bq1kYfy9X6^f%bvYaK&eaJww%7@2!sl3E4z*&knch2G0aED3"), - make_tuple( - "vo3pzu$9^UJ9V$B5xiHz2AG6!vimo)TDnRP-GBcd%cc$RsEF)j", - "W%SFY2%&KAR^mIx%iP1jYZnVfU7=!b$g6y5wX80jc&po61yQNtUrP1N-1BQo7XNgzwS$3aDnf)n9MEL6hUk"), - make_tuple( - "h&FSi*QuD%ec)lqH(XsCXB#BSicICEMQTLTtEn(JlTaGc9liS5w6-sw()cvGGLTMA*biCzO7E#pOBCU", - "p&xEgI5nG^t(3eS(v9(Vzfvhco$UfzBlviV13JW@!C=RdLLq7D^*&-FQs0)kLme%tgoe%d3CIb(8v49lk"), - make_tuple( - "EQh$kdA0$N=rTDYrEVrmtRbZUg!yiGYTAmro3Y=qEqvcIvaaadqxXj8OKAmU9a@luXSlX0F#dKxQO=wHY", - "MCSimJdCjhPqOM)vSUM)QpE#mpd%P5=c#gE83h$*w1$O5(N1h*^Vdl5$Qih^3Ld8!*y2"), - make_tuple("hpHuRhroee2=j10Ogn3mb)HljyV@f)iYIjhS!Fpl*sqXg@4KBl9uI1^!0pq@iz5U7N42)Ir1pJd@", "^PW6nRMZq=lg6Z-QDBsF!V3A#JcJ=6$Km1WkNo)58Dgqn2iF6=K(zu8gB-T)Wz-dMFBlNAe(#tt5ntG$6K9^oY!l)jXSvajqeq"), - make_tuple( - "TICoSYi=EKwDSgJGRnoIn6rm2eoT*HzQwz&yYyaa6N9nb$)#cgeT5UJ*Ju^ZYMS%2N0h", - "sAn9!aJSx*!9k9AVkn7^@gIg!gx4nyy45)*w3@cpx0#sx-3KJBo0@Dd3y&JWTG-e=PE4OWPD9TCr"), - make_tuple( - "Cr@LgCX$jk%FXxm%*xftPWZAt%FA4Nv(&IQmUhXcQ#1ry)tkN*VNi7@l0K#UKz", - "QkWz*A(rDiEPAy#1F@bq(F%*PrLN5w(HBJo4qYd3ABApDuuUWT9*6vCbYRu1QfA$YPYp%r2C3ZfwjmLQgl3Ge&dGFxOf7J6RN=Q"), - make_tuple( - "^82Ik%!6(36SbZ)XXjtx4$YHGXdlTC7vQmc=*z9gUvSF&TVzjJQBI(F1KicmR7Ciq8^CzoEt)Yv8RHFXon)L&2HfKjCnD#eB8&z", - "crmBaU@3g-fZyPvf-3)Z0sg32#G=g3mD#C0O9Z1zs*43oRfQ5iinxz9&pgtG#RBKureYjerc^0#Wqq%$rM)"), - make_tuple( - "0-i2Sa#WN1H%9eG2NCrPgP0!ZnF#Vz5Y#&^8ee9XIs43ULuySZNtwA3LT$Fwr", - "KE%Bk=SmaqMp%98dx^4sAkioKWZf6d@4dmt@NVVu$13$UPyZ@#7VrC0TUb$AdqCcEhZdPTMk*jA0*ORXTK&k8RNpffT^zd2G"), - make_tuple( - "C#OUU*D%7$orUENhb9y*jC6^7w^3Lw(1XyIZUk8lT-^AHyNeNB-", - "!0bG^0B%x2dh#m1MwyZn!29zM@MQTKWMSX##6SlsoVKaibPdlzh6cawa#^6AzyP)^YOXugD="), - make_tuple( - "jBDMha1f-4Wb!c8FTqxDSeRw5Rat%d9oqKh&J-Abs6dnIzpJs7p4(TVAd", - "9YMW0(FVJ@D(CRMaOqPSXloNMaE(N!q5aUzQk8Snu6LL7vPLfjFvfcoN"), - make_tuple( - ")TN&5YUv1&eLshD(f@m@8qzTwyKQ*hDEDSpqtX2QRltffhgp@y)JkxZ38Xy", - "k(#(fT$$76^-Jjq=dU#Sor0deXRG(8#NuIWb-^&Rogq3F#&0^lItJhYhry7cFF2!BkFfJFaw0M2MPy0zYoXoPhGJ2Pf!"), - make_tuple( - "UO$w8)rq3*5T=C#lH0)@Au!lv11VzZrm%ua1xyM#zs1^%a1EKaTz=GN8jED8Xk8*o%2uJ#n4Sv$wUf(3e(ENs6UvLQaJsH", - "e$8yYvgeVZT^)ZtfxroZ#2-V^h(RgpxiMSTxSaew0d0bZI#W#^7)ihA-v-rtxNi=vJ1rq%"), - make_tuple( - "H3ZhB%@K4*(4KBwL!6#MxrLLuKRici6ABA@@@JGC74oKga-MmLz(yow", - "hRmYSL&ZtF=bPff4@PAZoj5Rrz(Zax0cDpEIHQ%=ybUEF=8^73Z%dmlklPg)zcwQdb9dilLj^4Gp#omV9sQ3*@*ql"), - make_tuple( - ")9ZSjtR33(2h!cx4W6B&2R6D=%!^6aeWORVqEE7bb%v)DDoB@7INjXsy4agXp", - "&fYX9Do8X^ws)8MTI12CgCLFUbT4NeCJFR4FVN3TK^JRb%UoRYPyMtqSm$xFD5rvtv%5gtajzW%%-b"), - make_tuple( - "bU@ptHIFfXQ)6oM3T#%b^5ZvQwJrLNf5YeG)4r1wzxm=rKuBGNm*tnR00aQvgvOI&G!Ln", - "zd@y2eCQA1$Y)Q0AiIXF%MuC=lF7uZVRi=#$pS#H%lbpaY437^MryW6Ka3UzzDFNREWN#j7Lwxim3Hfz33g%0F"), - make_tuple( - "*wA%Z&)4vxY6uICSHH@aW6C&KocF5ZCsO!K9*Plqn2pR5bUIC%#m!A=ET5D7BYF*0^4cw9VcvNeMxYse", - "sc=C5Gf4g1jD@^!yLv18MfAKf1M0s%tnBFl5t2yeSrxfmWZqLl2n7(=V*OGicCT-&2lM4NW0&7ae"), - make_tuple( - "eY7-6QWg&-zVNlIb#74RZcs@bXGB!J%cJk-03$a*smMt)s&DjluBuCS(m0!yT@V", - "-yNgiAeEJo3m$q*f8u%MkyiGjQ)-UkN#kvnJBCgtMe8aNdEg#IDUWHoV%0RfKI"), - make_tuple( - "uQvW!kMk!7QTY!8bs^d!9G)oRf0Inac$RXWR2eCs4Y77mN$GsQC*Zo%w2^0hp9g69i!SvEoWM7iMB)Tc", - "%X=DC(pGXcLak(QP0KeOHD#PuuQ$Z%E#QLm5f*Rbg-4u*jR%cK7EYIxs!U1siCoK^!8jgdx(N6=gwIc&HC3m"), - make_tuple( - "@5(HTHNV)HVten^Tjr3F&Q3hjvtLB9NzoU7V--2fXxK#YT3kqNxYB5AN)xb-LSaBNR", - "9h-p(scFia1(YJ2uHAQGqb$Xr#c%wwuHCHVjIs855AhgAwReG0mnKuvbHOmYukCyyfewUEOpb9"), - make_tuple( - ")X8e(KwtJ6yA@tr4(a@rT66on6)69Eh1yHpz9xSV!GLRyDb5YvewqDUat3#0jQK9cbCf5KjYIQkmqv!ojLlLRFP50x#xtJat^F", - "Co$(aZKtGi@n&Oix&-DhrFKpwmH=1C11NYfy)S%YtcV&Z9&uKR0iyM"), - make_tuple( - "nMhdAGFl93DxWg2d@*&0SGr0#!QNN8AB!Ir8)1kmNK9bfm^Y=9c(L*h!oc^-cjjS@T3xT-D", - "4$eZ8%nWFo2R&!wlPhyrhQ2X%wVpvpILyWlJfz^TQkwk=6!@2e49mwt#H"), - make_tuple( - "%BR&Wtac@$2%HPYU5D9zmo8Ke9A3hq#lubQWkNljf4)4yvqNp*5@qg0t%lr9GCwNTRck", - "&NI6%PrP%nWc=jb@0G!V@XORwtUaR660RtJcv=J$vuZ2TkPWE&HcIS-r"), - make_tuple( - "cvk#eJ@!kbVbA(EF7%sCPUeRy*#fyiAY=iFG%b0(Yrydaa-=$Y8JjEE&ji(5@weDhxqgIFd^", - ")-TQRf!jL6AAC(1SF#8r*bpU4u*o-BRUm3wGPw(hNJoV2Xt5YsbryPcUwKhH%P6Qd%#wDnlbP"), - make_tuple( - "Lu(ewL%0#RunWk&23%4n*RZ^B7b1#pD!1%FqKTqaCKC%1TaQxD5gFem", - "71gC#%!NIE2oR$GV@q-LSrX-dOCWb@HR6Roqf1b=ZjBgnrbRy@0Wk--CeuFo3)vLX%c"), - make_tuple( - "8Bk4@TvQypYjCfA2ThzZq!6@U#kv-P!8PJ01UWUgRvf(yicST)TKvuyIaQTZ(wi*!Mw&4A@ftf&Zdo^yK", - "BjkY1T1PG4skAhoh$*8X9h%*GrMK)Wuq#pbeIBJz$av$&tYqe$F@0yweSKGE2Ee"), - make_tuple( - "1jc#C-BGZWC-QeKk$P#VP=k%bdPzauxs3UAHP3oO=tv8*fvt$bQ$pUPOQo$Pd21(Y$gCnprUGjehCszZLsxrz3&H", - "xy@OcXhtoE1!(vfhKJtw^Ukqn4s@uybv@H4mgJ#C10GGLZ$@bwbAlrN34mhtmQlxMRNeo!FuKKe$*-0jB&7NcLWaYnJRvy^#n"), - make_tuple( - "84I!mJ1-H0AKt^^V!mmFSm2x1bm*wekup8hDDx3Ukk(XxbQrhTZv28#(EP7jnnBZ9@W$x1k2e@z3^WR6DWPC", - "QPMei8FL6GYd1n-rLi8#e!eyBf8gOU*ySg&$J!(F%lPO5BFe#hR@)HgH6aHmWWTX=y4^Zg5P"), - make_tuple( - "YdkPEKJfNC&8nUxuT$MILbi)Zjl=*n2dCyTkw^M2xtI*iDUI7Wiha!7-0q82rVYmh=j!a3u)mAhbDS5yanvgnhOM3yeRVxlU", - "Ll=OjpB(BUNV8%W7^tvVlt9ksPySZhiS)vtU0QJf4MNVu#=L@CQU4O-cc0TC!4o$%KxzCuYqpE3s28%p$q)SDpTx"), - make_tuple( - "Qh9LQ*ZvUvs4$L@r1GmH#S5)#h^5ud(6uC5YA*l^IxAxP&QueJxnS)DhdEVMMeKp)m3WWR&s0aAF2qlWb9oH4Mr(W", - "$O-nJ)rwt-#6vYfjO#pRVvE^K2M6e#6D)kUc76&MP4r7JzKiHDCU4@6@Cw3sosz0NtEYhbV"), - make_tuple( - "Et2mPvdOUuUG@xEQarA1gnKD*G#phKjW0P^vRMJHWHuUgc)@kvC!SPEfyO(^S*4IcQsMRU0DEyJXSh!c2-@2#f2!mG", - "Bc*DqqL1fA5Xxb8b34CBWR8I8F2*vfqIz2MWdGw6LGp#BPF%2Z9BgygsK9CyG^qmiFp%8zKE$WaW%tQT-6F@-5yGqaNh"), - make_tuple( - "ymZp(T)$u!8ALT3nMVb4EidSawnxxrAnLmSEYF-iU2!nMsfjjWhfxjd9dha^JFPJj01i8N$*1(r&WmNXZ3#$psYEX1bR&8", - "^TbfD9g=I17G2Cu%=hTZ&1EEx)VNhkGAhjZsN&t39GC=cO*RzV!T#6=EqKCfaSZWp"), - make_tuple( - "nXdnw0YgO7EMW(ndbHaF0HxYqM#saV&J$W=mYOD5-z9^t8QRD)#lRj1)0cl$TjTg%x$3cI3Ow8NCe@d^RdXAir", - "2eo$LxM*Zy&d4o(MR%^0wF(!@(NMgLuI=2D=ILuZH8IiA=*j9lI!k9l4DXNSOJpdqihEv)h3jel1Nh*l9V^HQGUmefT"), - make_tuple( - "N3Rlw$DK1)q7&eYD7TacVqdEw%7289dpQywHTzr4B=o21#g97OVep1$8NuETDpd!k0", - "7nr*7BWTtx)dKNDm*7EDggd2rafddfXh-ryb!q*f&IpI#8MUp3ynukT*i292"), - make_tuple( - "iXt6=*@ob58v@wmHCsPbJW38-aaJB*WkxELG)&ulBYZo)9VweCTiQTo#SjT!ScKs3xYe4NK7kpo8RrqgoG8!3taSd", - "@MyKi1lOjOLs@*xvO1RzuGjlV@tPQp7JWrPH71PokF$zN$2AH-3(cmjlgsM"), - make_tuple( - "U7Gyqdw6cKtJtwnCkXKnb6S^r38!eZ&tbD)H9uRbp&j@O24x6C@xUbl2hhacJ^Rc!YfP8ngk#s*1rPgGB$$", - "NLqlamwUAAWj6pVB%JY@SNJjOLokJ7hTK^yaRIFuYJy(FoL0LQUMK%CoFHUt5avlW!)ExWzExa"), - make_tuple( - "KwfKxng=DpvioeWHaCkiLe7IG^vLWi5&Wa^3N!fpqGtWT#1P9*oBLTfl)4Ln6F%4tcZiiNZk(qj%5wPzOWFF*$9=1bC1jO@uYF^", - "XJi2A83giuklJAtBmimLfe9sNUiQAEUtPla8xpB9mZ7$m62#nB!mVZYxCzyMBj7NNd0fpq"), - make_tuple( - "9^Y96SFC1frR&rIr7qw3U97M3ZIP&v93XcVd8mZ)HRPx%JQrmO@WY3KVlIw=E5gIKExffj1vvZc", - "@aFxUc)xAgnL0Gz9AN!!apO6ogiT3Dkzgy81mFE#eZmooA8a@DU!Kj0p)WB22ga^ub83@dbRf5fZ&W70Hac0x@YP9sqK8I="), - make_tuple( - "xE!6lN7Pv&Qs1PN^$L5PQOV1FWal-4$MItcpl4R9hFz!1f9YO!^fMI^yvCZm", - "wPJ2F3!%KjpkhvJO*12p=dIjjwD6FR^Zq=CRDBzB$c$m%5U!bttVp"), - make_tuple( - "XfVnXa@)Vw)#SlepNa1HK)DVKoV%$p$FgIoA@vyGHPF$Mgm=%tUyQ5", - "^)4b^xxrdQ3Ehleid6RJ(1ovz!S&olKTEa9ow7MdmWFk&PrbDPSZmP0z3pGZ2O1PtTf1T^^"), - make_tuple( - "mANLcIkAW=#CIDI7#mJ0^=b219kX4e%!D^yRgE=3qjR@@1p8tgg2IYs^", - "VnAmO5wZDSJQ)6o2VYb1va*-vEnDQ!2J2uJywp6D0F7KQ!2tZp7f#pFc*(zLEmSP05Z!-zU%WMjBOfTE7z2@V6yvu84*"), - make_tuple( - "^$c*p2(jL$oi@RX#j-UZnP1yaa$u&ruy#wxr1rx5&Ivuy&Whl$H8t9yVj$OB9PZEc)k8z^)3Ubl8)LEhf78Jj00Ew!=$G(bIAmzB", - "YispTYOaD7RUTChzJh8Q^uQK9w9eMG=hzQ&CC=m*1!iLq(Bm66TaafnE%)!E7dyvG"), - make_tuple( - "%Df1dn4BYd375U@OEx30R2fUn@F^hUtVYKx-hiV5cWCa9uSoA3@5sre5&v2JfvmEbzOkTPe=ztb(Dq6C6V^=g4yNYeb-p0sM&", - "hxTrXZP*wx)Tlj7m3O3)N9iq(usWCIn#w%4DL!*5BbK5Z=3WZ&Gev-4U1e4Yhdz=exo6aP^8K@32uq6"), - make_tuple( - "l=#p%CZcW5da=cCX@I095(=thr975*XJh^Vx^kBcrnyVQVCiHOEy&jB5fb@z", - "!SkseL1KR&!QEq16@v!SELubk(m)t9NT^hw4r1X!xTdLEV3etGwZoya53sE%2Z)uBXbkTR5Gs4BRL8"), - make_tuple( - ")#BV2rTcZzq$70KwOgPncPkC=G#8M90O%$sKW5Py*D^z6XDI6(aELT^=U4t#bgW4M4ZWNJ!-x3DlsWusFsp", - "WdcY=!U*e)2(o$!HrRf(qWC!HJD1f7mMDQlWhM&-Pi7YGNBtmX7581STw&*FSB"), - make_tuple( - "&Kk*ZZ@e%k9hmr#Y!-F#vO1EOQ0n6WX3q4gV=zy2sPz()fsVA6f&!vTK#$tr-AR$kDm&&$I", - "(t&D@5bV@Pv9(z0AD#F)mag1@XhN9HLweYy-xiIzqs#N1EE1HKncj@DvQsoWOc#Hh*VEUby)$x&yRSYI=1"), - make_tuple( - "5z#&fuWHgWKXJqVpkWApRsP1w9M4Hm*W-8=#nq7X=n(%FeB^QSb%nO2=", - "yPxW(kCAb0=298oeFuO(hs3DY3)ivog&V^Khw2(2JHlc%)U8E6LTSWVLY70eEaca1SGYx%HZm@3GuG"), - make_tuple( - "f#w1mFQB%nfAhkq)Adz53S82zGQ-(6m!z1uu*Oovy1M)1mq3lMX)(%uI)&", - "52G$ldsCfrnR7L4noBu1QTznuc4QsCs3E-vEWg9kFXmS#3Bb^WHn!C*l"), - make_tuple( - "wHHO#FqwCuTY!V1)J)fzpzyt7uWYPomFv*vLqz#v99!4%eU!236P3LBm^158d8", - "1S7v))u)pGdJ#hJBmf#j8k2Ct8*TnOsU$0ChvE2wj$WdRy29EuF9#t93xu$J7a^h(UX2X"), - make_tuple( - "I&weKla)AquyJ-c98&IjLv6cl)Jx2n*e8RsYSamHvCC=ZCjSYu9qY", - "NXh(&pTgX@-1jmxqpA%uQdv1KTOt*WwwbYa^oahxAuwHLt&Ca@Gy*STVkiVZKC=zf0JNV=7JdE88eETc(%$Sl9-"), - make_tuple( - "ITAD%w3CPwE-S6@JOB51l)RRajUluA(#0#GhnPt8OQ=!7b4Di$", - "RXr=(bCqtcqEDeMRH^y9e4xn*Cx*D@=a3=nH^)HkyaItJP$9s8z*KjHPgxaVBfHc1JZ7SN)it!Dq=dG(P-@M3&2XQZw21"), - make_tuple( - "5BrB^yB%*@3$5jAPF!XbbFF%jCv5vOnq@qI9kBFILHv8rZ=B9N0P4ExC!SsT#g", - "1Tr#&76^-w0Jh#7b!3pw-d5aAyQKKvrXIL!2zRhPm7b5&qxquxYiTz&R^0H)cd7zN%n2@85!^XWfG-C-2jKOddQZSYyR"), - make_tuple( - "2=XU@tsU=cTPLt&Y@YJ2Wr&x6eQ#MSUiiJ(n-9s$uz5)LU5hgtf#)OYrv8%J-GP*5o7(bujw", - "j(!6EM3ON6y2RO*psrWi$Ox5ICf4k@^825o(IVvK^YH=uU0dpJ*%m#c%Q@c^i9JI^0Ia*8@"), - make_tuple( - "ycr&rKOFrcT#qbATUU5WWKPXW3D^d26U^VfmWYOaNlHTMPViPP2bmwtm@a", - "ftV=G9wSBIwOvovgeEWYR@y$XJY*iuP!hl^m&KNcAxP@xp#nohM8-e1SCfm-pw9LilA9hwtAT@k!!43-)E%JOR(rNC)FDdrJ"), - make_tuple( - "p#2#5-fzyVAF*BkqVn4CLa(97Ka=Z=zLo)VZXTZ7ulKB@^@gnQTsew4V%1I$BUcaqeTQ8Dpbk@r", - "Jz^it(k!Q#bfeJjv@pAR^P7--n1DkWl!x^32t0VZqBZnwh(cF=@UT)Vu0ibK!PTgNHe-(TB(HBqc6OgyEm)828x5!2sigbi"), - make_tuple( - "^3M)#Z5OVF%kflOCY0Rul)eWVE0RVVjw3*XGlUAp$=%7&MsFurnl805pn$&PTwQkmzqJwyEEbPd355goGTcS", - "%ZsvQnjpE3j&bNKiThUP&eaQY7FXdIoJ9Wi1hrM1AaLxS0Q&Z#YWypSa0(^y@DK$fbK1!gstJ*W=V7"), - make_tuple( - "usZBDyu7TTTbG4)&T)nK2n7YGNCe39&1hZfBO5S*YzQsGmRBlu^q%BI2pP%vsfua%EW0%P#gTvY-TTma#h#WFk8=-RfM0j46", - "0l&!2xzTOUkGN6ozVGBv0*AE5$rbtlDX11kjgm**ok7cmMmxR!z7r)2XVc!ICEey8kZ8hVeKLBNPiuSF%o=91*@JHOKy2bk4rao$"), - make_tuple( - "Zm9Tp%k78xuvVjbH2g-6YF%^20$Vv6@i$JyOwOp)s!L0H^pnFx1AfZIcB1D(!6MvwonIwX", - "J8ACpa6orZ-!E0pXb^u(W)VpY8oWj13Lonc-H@4A3WyvqwNrzlmSbiLt6mYd"), - make_tuple( - "ws&NtDN3lGeCzkLbRb5mNH(8%b9#qJvzEJr*sZUSZeleY%sp!SQ1BoNXJVrXJ59", - "%vLu0fl*NCu-!vLX-aHTSeck*GZcC$#jxQcyOZ(dBYpa8GoC$Y1no8jbDBauvr6BOJXIpwUSrOOwr)"), - make_tuple( - "ql6VW^XXE8)KlCQesqD*8i2nHdfQOMHlCcX3Bl4WuWOAWx&N-55ZqnZSfYZ", - "vfHb4OnH=VfdLo2slW6c#P5mDqv04jeqcouk0NMjEP7QFp2$1*w%=3Z^5gyrO=gFIt4@43=g^g9%wQu$=VxJxWVMZSD)NbxZ#zg"), - make_tuple( - "3LWRonLWW5&Voc4wTOeKD#kwFPv@@=BF%3pC&Gmr2%Oz6RXByvshEyG(EZSIOf0Zg57FtdJ", - "GG9Nv%$0qQG1PMVFkCmYIeOkKsiPk&X4C#SNak(Y5zzCI^BtPspTGLQpN@#&ECfvD#BE4Hi9pbcmvNT5*qU*3J-1@ZVZ6GFyi"), - make_tuple( - "Z7nU@vvK#fIQyx&S^uWd)Qcy%fHxGP7BwsWT29uU^HuDKL7ASC2mzeEFL(g8&FfRNGF", - ")Yqf!ag8ep$REBn8JauP0&e(fZl*zcYJpt57XQZoowZECbGW0lkwky^o)uQA=7TKwydf$-1j*j"), - make_tuple( - "6L5#*D)dpoN=nZQWy)QAI)P0faz%w2OHE*eLxZjkVPDfRLQdifYLiv26Y9", - "0nUkGtu^cYutXSPcLYV&WCBtT)cR2yG8L!(TSqrKk-QYlp#moDXu9RTCFdJNtNwh=0zn4iArz!Ngh92dNCP$E4X4"), - make_tuple( - "8VxfbQx9Ls4NkELt1rfHPxrNU38iwdhR5r$q2K!8uB085SxgKxM8XwaGRkYJ2yS12G%MB!cuQ(7V7KbSqdeQPbZecEZ((C", - "kOkkHKff5gDbvqZplSBy@6I=jzhCe#Kly$vL^u0e6z-XBr!NITtDnz8jvxp!NZIQOf4)Y#65Rq2sXSbt$yySv%237"), - make_tuple( - "8ZM9!hlpe03QqboI(n^xjOyEHOH79GWQhHO9Evbt%GhNMH7J=dNMHIgY", - "EL(dZ0)YglJQWDuxe#8Cy%yCb1BNaVxmP@d!L!4XT2vRiW0SXxeuipnmgWgV"), - make_tuple( - "Sosgx9I&Ml(YXyR6=pF=$TRodWSiK*^PNC#2Cv8vewJ7@-T4X^o%40-UtrR%G4AYIV4t4f", - "(f#()rbf*VnyxEoVD(RhCDF5!%mD#PtajKnKAN3(Jfm$SZbzBb98h#y^U9IhjSG8@Mzs0Qc%HOSKCPljyp^pFk-TTtR*0A"), - make_tuple( - "7--II$zyZF@4$adfP@EQN^9bC=UmxL0SEIL!gfU6sS$SOs1r369^CG6rwn95guKTPUo4CEI1IJ&i", - "l=Q*C%-Ibf#pzlz5vxF%C@Hs*tzNv!8awB2OPw2zwssacn=7zW"), - make_tuple( - "Uh9z317E60KXvimnA((Ltbcl0lisiQP=30kn26fL6&8z55hSH9EogKwG6JTyXexOF-Aq()WYoBIxRB4fR5G$Sxnp9JYX", - "l6Sux^o5X*S4*Y!SjB*Blp(oAI4gNSuRM)Yw#)$AZ*dYqj=2OyeL1EO"), - make_tuple("Q94&FkQiVi7TDNQKSPUxvXJu#kXr30RgquR2KL=-A@2h0*SJM9Xc=HUKD=0eJPx7CY$O*-eSbvunDWscKg", "AM)QQrn7q3*%6JB&rw2o)rWhoppr!XQ*0EGf3VcGf5MDpJATlIq&x3WEp@i2@5811z!0QT6^SJ9prMq6Fe)SBx5rXk*jg2oe"), - make_tuple( - "W*J=3XsyFHWzTPJ6V9B(5vG3!tm$q5nX#7WJfj1rES5y$w2(vJX^JI3tPL!TjqDZ1L&ztKTxkn6=p#0(ACOXkkkz", - "Y)-YAQzOBZDAWQEHpvwmQCGpkwf)4QfUW@zZv3CI3cAVTTRRX-I8Gyn535LUJN"), - make_tuple( - "nwdsYj1Nn5N&qu491ba2kC588sRQQrRj0O(i$0IreZ2zStdOYHTs8C11h6OWfDU(", - "11P75ZnFV9K8wru#C5lPOTf3(G&ZTMZs5B6HEvk*K)pPOtM!SBo!"), - make_tuple( - "u2DBVkd9$Ac=i)7Pb&Eg^TINL%BycmX&EF13Zf@!DW*cl$Ji=@Y&zjd0U4xov$9Wd)xHA71F2zS=zzx", - "(K*)D%Wyt&GVF7wpyjpDeeOCfOg0gycqUb8(asDPr&#pOLbi5!@zfyQrw#MtQMwgQ6EEvT3zHNYhH"), - make_tuple( - "%lc$XhXXE*3fXU(jjX0G6z(rHy1xOoDbE&f^J8j!z#EK=JUnnQBzZDv", - "GEVmeQHK10Z=9bMXlh-rnlEU(oeyxt9j0khbChU)yH#!yfpr=25YGLXSZjFT^xJkw8fa!yUUbpaMeX@UELGi7ww5j"), - make_tuple( - "PQ)PSYIr&MoK$DG^&vWQH2nNC%1Z^5BFscPE(QwCHjKp3S##MynLl&o@^", - "a5^@UL-FV5ontx&HPhc!V$8o0TvxSQ0nZnFq)oT0jFsPRdrDXMNh^QRI&wOSfpx$Dp4p3kRHdkdVtrm$B"), - make_tuple( - "MZ1glsamaXZVMol4YxU-u3m-WR@2zByje*b72Yr=gShc&rmbRvaFudi=xpaVyk7EPEkaUDaWoH6g", - "gxd^2&k=6QUx)80szLMu5Z@NnP^bHlr=O7SAaYAy-C#JccED44cTD2(Pc#8dj(%I5L$Ono^2&MKPO&D^&x#yRQ4"), - make_tuple( - "XoBYZ)fJa^tVTbg(6RI0JpB#HfSUS9T6u@PgqT1KfJbvog#gX3o0C=owOpYWG7", - "bqSQfS%&CQLi!SACthJb881sHInMszIEO93n3T%mKHo$&3rIaT0c0#l#L&a%4FD(2FLEG1s2FuapXN(gMI"), - make_tuple( - "nr&rn1MSbjLvZlGV5x=SENHsox0uJtYiu=9HP=5VvcmGOyJy%wdvbuSE)X8rhMOX^@Wg", - "-w6QgZVSil3A4eB3iwyEHItRpHa59QiejD-yqIxtjQPyDmGWscMC93384FfLU=a2Q$zLELS="), - make_tuple( - "G3BCj2n)sP$zXs4prq6QTNbnGZt&ob7An(Aa*TR#yuEh*75DSS)*xO!$4OZ*2@dn@", - "TD18$)eqtgL(RT$l#$*^m0yODj=UhLh3-kD2L^Qy^Y6yTq!agQ*"), - make_tuple( - "picY#udtIF5Xr!hA#NSPT1@MMxC70F-e2g)0eU*sa&0$x5fvWEWIxldG0d7uOiq8B#j9A", - "zfIyO1P5AfPWAWCPiSmq6H)#@!ask8vyzcDcNz(7bc4gjkN18$F=bEozI@(a9%#kZ$iHa"), - make_tuple( - "@p12ubT%8@p!kr2CUwfwUSCOgt1OP^xgv!VFKqEjMrO1UbzTY(u(&E*&d-P56Xzfa0o2(5@AV8EUNqF05(oNJrlrBQtX$", - "lOr6t)Crv26Y*HFSDvRnjbLoCXog0Ch&g#s27uOIy2zHRAopCO@uLuZ@1e1c4C(V2"), - make_tuple( - "u!J-AN&*Rmfu%h#^25cN(!2Hu%Q9ZZC&HW3ED7!4BywXc4bo2t1eP%#wl3Z9lGa0&xRsOnyvglA&*iV2Mv8&x0kV)jQG2G25)fW", - "Y$mjtHO@l*6uN6zgIvzEpGO8y8S-LTNEPf=BlhHb*M^*QUnOVY&QfB9gt*q7HWjuBb@jx92oJHpF!t=qCiZ"), - make_tuple( - "H=7JY^4I$a9SU*G&uBEJp*4FQZGZ$apeFPvjDgK&EG-h%#E3$Ja(qIbgfpv9fo!vYC(8&EmKiBRS(3J", - "iyR$KprFGC@Dyy8Y!$F#y)iCok#R!6!gty*ZNeHD=(r&fT@jT8*ufaLG5PW8zQTyNDG$cWw!A*C5"), - make_tuple( - "7sO4LE4$is%EE$nB6hoX*iJ1GFaHaJChMF6nAVy6LdJ38Y^=HwDT=%I&q*JCoZ", - "^6ULFo=-7qcvC7cbQ6S^-C$UnjkiFBEDYTwqoX!=Evx1Y0PVp8SZTK$AJyxDY5lJ8llF9iWvdll"), - make_tuple( - "Y2c#q&DQEvx@j!hOQz8o0Xy=f2XBYs&(lrSxO^2I5U8y1B@AfCyX=f", - "IVUV=qBrZ73fe5cDDB)Y(7gs)8tE7cEczxRNdx0^%(qD5o&PgdO7n7lGR04E&yBk$uN*i)t$9E5r%c$mB^WUHAHZRY4ElSEWnZ"), - make_tuple( - "(lb&N=c7kt=(F4hl)Bzi1Zx4GNBx**O8*#(Zq@MHrNx(O06pRonZ(npdXZS3A((sKDHLX", - "w07bY(94lWT!Za*4UBPdUyOBR-!xsjXXEnddrK4-=b!!rPzFNLuY7nRS*Nlu"), - make_tuple( - "i7ShUM&$0g6I^e$eceV3=JyQQL2d*yp&o0#G-PObI5cF5)6Qb90irjUoC-i@Kr0M-tQx6k%1M!zC*Kp", - "2BGiGAWj-*M9M%FwYX6vMEw9y3U&@1MJg=G3yADJDN-6cwB)Eu0MQZ3Q5q87BoXLp@sdm1(&YdPi!fMeE((sQDybz(5-jqG"), - make_tuple( - "ARqsF@8aSVQpU(ScbqkoiUOaj-4K3agXlXnJ6S^3#x1O8*@g%l1xh*v&m-I34tE4ZLRx9Fb#3DF=UgzJ6Ar6a", - "!@V1o-K-BIiT@08h^ixeKxs&)F63(WDkki4&q8Tr6*-T#bGKs(TzSuC!ZHP3gTaUPx7Gy"), - make_tuple( - "B8BJNo1yQ7Z^CAd7GqHAGv!G*SQjwL8VQ(IJTtz6qDAL%AZ4aRB^@prNHC(DHCHWbEF*DZqJWLP", - "fpT!KkdvAuB&=x1eI=sR4nE@UfX#y@Om!xaCKL9f)7=eizBfsoiN^vdSiX$XParck^H&"), - make_tuple( - "BR%kHitt8jZ*DZPI19$Mz9XEP)HU4%pXyxS!A=l!Xul0&lF1QI1Amfkb(7L0vy76SsM0HL@n9zg@", - "3o*jP0ukeIx@9#RXS4X4=HmVX=v@MG!R3gaVk-0FXGqstyoF@PslhedzeND$A(-naWpUp%AZs4Ue"), - make_tuple( - "(Wjf=uoM#gTtpgQEIWFS@PQ0djhk4FrD#@H1yiAq*#A$(1LpcjThY-i*C%7D=Spzw6r@O", - "$JnFPb&$j=0w@EZzui$6ms%uXP=Q!wV2khDmf98ge%wYSCo)xHWCrXc9Jb2cENWYKA4WTZ#2K)T"), - make_tuple( - "%67Y)NM0FMnD%ToGE$JkZ5!Du28rpG$k8rlG*L^xg(hvh2CnDw", - "!((aWTR7sSdQ3@b4NG16==FxAFyiVV0Q=t#mBnrjAoet^GTvvrW7Bs9A"), - make_tuple( - "Dg9HU6CeA($&k5NPH^ZlDYZtGC@&PPVw$S4BKJWdqBm$B)3xTB*Q1G6^RlpEu", - ")@TdFi4g(*FfD3KXA4nkvuuWv$H(W-=)zq*1EQCVUwZ3hvxELY)r!PD2iSSNET2g9#abx4%dmiuV=mDNMgJ0l"), - make_tuple( - "pBbF4U%q=!uD(ME0lwW1^9V=#0vHTIK*93$2UgN)Mlm@TRXSpW7", - "REnl99Va4m%KlXjPduPTcD5oQ7oPpqBiIV3y8aP&l$%9yu76KZ9Mlz*Q6-4M$fOATN0oHCoMIc5ZYIU(zqC2Yjl!RL^)9n=oj"), - make_tuple( - "xlDDKM2LKIeFg*Ip#c#x5EQ4n3N$&7a0w#7II9Q0Ej#Q9g6Pb)(mLpb66pIx)eHRlLIp@rSj%G9", - "WsZVmdezZBT*G#xcHdXz$R&a$Qf2RqPE@*03Sk*yl9omDuQ(InrafE1Te@)"), - make_tuple( - "mhu!hgymRvqRQLo&Iu^!R$vBmdrTq&ji#ui&D1wkucfT9nJ@0S$$", - "EuuPgu!C6eG$qLNRkLyvT(CX8fvFw5$n)gkqXRLIzeq2Bj6eU=aT&%-Cu"), - make_tuple( - "dhiBETxk#^@XIj0i^GXHiIUAg-Z1Jrb3LEAX)e@byfH5-#BUvJ-qH79ZM1#%Vw)4ziYfa@WLg#owJqipojUKU", - "^1kAXtu9)uQdNRbfF^MV6fkZ21#LdY77WU!)Q$bFRD*GspCcAKqbikTZ"), - make_tuple( - "DM3YIhVoRr!Ifq!$WLMcWlh6Zec-GtBYIqbkcV5wITrB&p7LQ5C5#uLumUk@^XzscE4", - "fTPcr@-iV)b&EH)cau(1#z%)k0o7Mh0Qmx$NKM=ucmzJ4IW@iDA6vo9eVqEZG5E$mmMmKb@eD^fnOxiD7!y"), - make_tuple( - "4=GkwphR2yr1J1-)G)A&#q#RT&-3LSEd3MN3FydpH#R5@W(sFP-dOqVYW(2xdvB!zoe&bi)w-0eX=Nr(83n^9JEDJm4G", - "^KS#LNCR*XLCnvbwi&4-UWKAQU6X)gNz&1^ZO9)7-opXvz2G^#cr-IQspbsIo"), - make_tuple( - "9bcnlB%Tp8CIL59Ax@T#SwEvZMUZC8&!K2XAcoZl^0S(0s^UdoqU*E)jWl6aT*Vfm(N6ii6wP", - "FK#onnHiAy7Dhogq1Z68TvExroLq9^=XZ0OBOk0njj2qxvCXue3HPQUinoLo57lQcV5-CjPg0s"), - make_tuple( - "A3p#Hva4#!Q=9$Oxko6CyI#0zbdScBPF6KWNXI9%Hc8DJ)$*^eGlyBptkhGbgl27Go$5o", - "mjr5wPFe*vrJ3cA9G9ppu5%qnmWOm2-)P%fvBf*my3G=8wkWk4k3Iy0RbNR^0ODmh^4nYzRm4tv@uxVJz&L"), - make_tuple( - "WSV5*HM*7CZbWiFFPM3dsOA#o=lGA&q^%I2eqiw0gqo&h6QAr!wCu^F=W#", - "=g8RWYyW&*AGDVVuYz%zhCNGw3LjV-NqJ8!0JHFERTyey98=kuE$DTR0L7Cq"), - make_tuple( - "zm9GiOppfT$*n7xXSuii#$V#e9(2oE44OWUT#Du(qlVs2!-welUW=lGosNE(x)Fw(pNIix^Gpd70-rL-", - "Y^0N6W-wO7MfDwqo6z&r-0rdi$YgX1s&SeUryMvrA!Ee#O(BgAKSIiS9iCM$k@gQc6)WiBLE^IyUUkfJ"), - make_tuple( - "TgXG2pSOadi^B*B58IDD7ugSUof2MX0=g3b4Xf1NF54ys@kauU=tZM2FeY5)HNl2KmY3LOIzuNk*Mm&7!pA", - "@pgsZoeo!0oFV$rEGGiI49Bd!UKWg$W(jt$R420COnwJbepEm9x)(%"), - make_tuple( - "&pDqv6N8%YlxwksiBmN)WPp6AFALl#39MB1A8IoF23*h8ANf4TdCDSSx#87(t%By=GI%KI)Q(g54bXjQ2", - "AW=GIQ$&*67I3ADv4rNE95uUo^jsp0mnzbniDa2^dGkH*oX7XXreSXccyoj%&WXJfdkQ2GXjQ3^Z9CtnDQ@"), - make_tuple( - "jwwQ%40j#iQ*w*cqy3MV72(i0L9P*3Iwoa!cP-3!&DCU*8S8R&*R*Xl!", - "3HZ2Dm6sEvN)m^Me1EfsdlU^Ebh2WYP=2lHi0x^bRt7^(Y@6q9%yT=H6P))oCkxe&0wDL#gEO"), - make_tuple( - "p9RU8PmmMqiJ)J(jW-q%Tsym#BG0dxxgMReR)=vxWa0GRD3*9hC*4mhh7)#yCQD69S^CN$Snvw^U&Pv@eX&gUoF4dR1RM^f", - "!Qaq67pQPk13(NUE8!jll#qhamj@JL3$ip3wDj3pPoAS%B9R6JvjR1y%TUKAreBA(eE3P-UGPy^"), - make_tuple( - "t-Pm%X$4r%^8@!h=!Bf72!h6q)Mnhw$jCWp2FTlsYWxL8IiqVylxXq95YZJntjve9U5w2#x)2O2P", - "apZrPhPjcZgs70dD8qkv(F4WJ&1tOj2LkcmnNczVzm4&nr69GDHp=1ld"), - make_tuple( - ")DqoG6ZrkfduIFb9LEJ7qRBgd6z41w@ofYpYXvS&!0O(JDTkDXZY!Ari", - "cQt94QGp4VCW8dIh$QSg*ha)y6KyC4Jst8^#5&$kZ$GyXrb%oXv&#)J&bh3D4kjGtrGHdU&tIYg$o-6SOkUIBmxzPMy(1UT"), - make_tuple( - "f1LSzlW*NkGwzbdVaXIXeJvcx=AtO^xuq8D=ttG2#174DB-!#@K5%j=XCY3zQosl3flv53LpRavf0115f1aGy", - "ysMBL9=lXs#YNg58bk7lXnrSu=u7Q9DYdX)hvNznf4PxM4*Euti6-$IU#9eGB5)CZzXFk"), - make_tuple( - "O^FvqrIsUna#RdxKmRVjEl&5Y*41cVreGEk4A-7q$5bNMndi%#GD", - "XS@ESXhrvJR!yHE$p@)1(@pHCtZLuse#gHFO)ifBkS!mi$^5&zWbQscj3k$E(Q$#Qf"), - make_tuple( - "vNi2(uigigbl^l1wwih2N%KQZL)3VoEiVC3^Zh7y8ubjG-NV(e%e=Thj1wsiz5=85sEQIXHk(6k16", - "8bwvvrGc&MsO3-nsC^0c%EqFsbP@QYC%&KcH@owlUzq)1KO*o%Krkw&MbRU4noh9s7L"), - make_tuple( - "=)*U^B4kKPPUzgD-8nUBkOR@()GcvCnILZ0SOEomHcu6qRs&NAX03X1LCnqq%G#RCzkCvm#T7nG9FzX3eB13p^*#^WOgrC3t", - "xCslluA9we8n60mLE9KXDI2e$&A%vqkpq9o)5LIJSlE4%y=pS=RrFZj&$*EqsPdmS"), - make_tuple( - "b^v1N7vEw@d0J=FcQWofPSQAD4AXAK=eJxXfIx3&KDOhY)sZXtxFwp7&x", - "m4l$NVU-vhX8!6Kioy!DYH2HS2xLmnDhBb0DCX(2=)Gv%&-YDBt@QS*v$8h()1^T(U"), - make_tuple( - "A^G=@p!8!HMEPYXnxmROUw$d$iiByGT2oE0D-gRX^N&7*liv!%mU7DL48rXGB#65K", - "@B$nAg4zYffKIi)KCYTN=nS5-Z4BR^H1OTB%DKiPjxL1oBE=gH^MqqP=Fyej85^gR3*=Eslc5AsSNs8do8O=SKr@b#"), - make_tuple( - "L%Vr^VcX-5Nx#bThvKT585r*oRMEd@7)NgX5o%k7loreQIgAyZTAr9-GK-9ZkzjF", - "tsX0-I@s5jKP(skQX(V%pkpj5jUEih4EN86ib0vEYSlUsxrE%Pq$Jg!fXaY%-8O##xG^erfQV)rcjZzPsW@MvDO0Qw%(Ob48-"), - make_tuple( - "zAtjj$DPcikPljA3@GbhiLkor4pRSlxhvG%hekrGH(FT2hMGb3ScnIvm(ULrc(4&ICYr6CYdT#L!G-gBel=27", - "9J)he$$6tCmjtr@AP=lRfCqOcg1VcWq)s%lxSu$%g-B8fxW&g6LDV2qD9E5t(6N4CZAMKUXiuJY$hOcqg%!"), - make_tuple( - "(EG!36SrFmo24Qq^tgOoRwvRmWRn-tps%jv*oH!yaeranvXiOONvUPbxRda", - "vgVPThh#clyvsL6^Xu3t9V%E9%TPIi6NyA!XT^F=)&ihPLnR8vumJIJiSIcPEqwTGKlqoj$e1ntli1)"), - make_tuple( - "nnjA7!1ENCdh2Qzr!m2o4O!qc=OhZwV4fJS5MH9^W9m$lyve3uJ3xt5#%5@^@OIe$0zxuei$kB2dQq@!QNdWa*20Nix#", - "em21ZZ#Po)NQB4kC&2PYjJQuv50!y337z7YAB=(jmpDc24SGj!=j3ayv9gvSB"), - make_tuple( - "x2(Ng7K71n8wqeTwkLeGDLAyXSUc1QyRT8&EKE&QJtj)*6*IWuKJGYhQB&", - "SGQa@ITe6WRngwg@K#3GI(7eN4*AmO4j-eT5Z9@#e(wQfgDGObyOT0CIUe1UDJ(7ihYJcHUCAPChxAtY"), - make_tuple( - "IU7znpDm#cwHx(g5(@jf43q$Z0-A41XL4Yy7MhH-g(aIssq2Z93!cToVGiD)AFMbG2VUSskf#@ZIRDczIM#2SMA(qBEtIh", - "&F#eRcNLQVpeK045hwC-IjX9Or75%uaWtMH2bhP1Nxy4w-jU==Ln@xjHBPEX!4C-XQ3"), - make_tuple( - "fWut-Slys!x9&HFk-U%c9@K)Wv(Zo3EAJ0lgp6v1CM@(sDp686H", - "#ZEcV^g81cr3dpzHx3$MgnDBTd7MnX*LZ7$=rKmIyLfwtCh3n-T&NRrUuEzP&C6APXN8c&ARd2$1Ur4(IzF)B"), - make_tuple( - "ay33Z#DHP2ZU4BDtYoaj-7Svh@RWlNlBZ^)xhpu&9AM=jM#adWE)KjK0zvW%5Ia#sdq&IlwCpcPtGT**xt2k#(=VtHWPo$b", - "4U51gC9q48B6)(yY5wc1XyEQr^3@rOEQb*^E&1VtESYWY0D18D#uZ1g^pAAfUvN=Gwv%(RBZ0"), - make_tuple( - "U2hr&%Nxr-r9KzCIE2mDeN10EeTRSyomY$J#6bfLZapuwdoQ1d#6-QbqzqZy&qQf9-2YTxjfQ", - "dPlNWm#F*ri@($bXj%CsTzE8&iXOJ%8HB2&08qUNnupbjT7V%z2PQ1fLj@nNIv^fyY##y@e20kCm"), - make_tuple( - "(a4XZCy@=2O*^FM1(Y9feo7d8jhSJ-1DymyvT#ggLU!pd1LG#xjeUtL37fbd9epod^gZaEGT9xK", - "Y3baXE)goDcJn9SNfoNJWXlyo2i-#tPHh90(z^j@Jdmqre$F*mj=rMpHvCHWHxndeYPX&BCKYZ)ht54hc=4"), - make_tuple( - "fR3n3sRHsr8Dvu=4h7)=(qsNkwJ&IbhIz76fEp71ULseOgV=OmE$HEMe7SsZD7W7(@^9jBqQ", - "-rR3DKW0yD^Czr@Kj*j&2f8OoZIc%mg2BeXcp=wkyIaKf)&B1u&JcB(^9K!IVv7Qf"), - make_tuple( - "=y7Ufs6oj708j%RGWdtoPS)SMvb5dH-nI$A=ewhA)kRXEwzhDPj4RDn2R0lN8jU7Mw-#IDDjVe5MbvicWH%RHN", - "&IlhNAaMDzUbdw2(z-f5nK5zt)r!I^tdnHXaI0T%$mf!%WMEPII#(@be(w#aElSH"), - make_tuple( - "dh!u$G#E$0lG(TMtskrX3NiMENF3wWVb9Ib2C1-MRM01WOij#r2oEiYPs", - "PWMpw&=E5zbvRz-Pz1pLnPHc^c@&=jTCw8vppY$sCYweHzsn^HD2p4jQt5h1Zxsrk5npfH67y4(Ip0tA"), - make_tuple( - "fBsI4rJ@7M9Mn-1pOFV)jMlAakqvglOMVQHW*rTgL)M9y=azuKvsXy%pCDH", - "Oy%c6xICa$EgU-WLHwb7a!Qs*=3p%mtO$-Eb9qw%UG(NN8Fw9Y"), - make_tuple( - "683Qqi)6M2(Npm73ethqMpMw2r6kmfwN(T*gX)3$JcxQ&&)*I7*x78zV^GpV6", - "C1W0!$oGYN8y=2SXUhzSmqOOWw&MgqpGNArcZ67VnxSDksKOd(CIzvXI76#Ul"), - make_tuple( - "ox@LHfTplV6pYr9#e*CAhy8aYH7li450RMD#hcVQpSYk$#c)PzQ@", - "Gj9Kc(UZ!DJl07yTKJmN(xcGMa0Hv&b9XEp(wVkzvxhN5(ACZCZ-qZzJz^aEa@l&tOe)rT0W$"), - make_tuple( - "1@e(-EEYNyvNf3!U=-m)QwptM-aWQsQS2U&iPptx$Awzh3#sAz9^^c9HW%8ihIaCbey-o*)vsGalUaEvBv", - "P&exISZVa5xqfFK4zT06bm-anlhI*kcwN)FYHB^ObvBO9V!XTrK8Ui^E"), - make_tuple( - "8R3jw@@HYscq&fzgI8k%Qli6^x%B0yP9uXBs)IEsVLArdNVIZphYnk7%s1O&pzIN@H@BVL6", - "X=rU7JVKAQ%tZOy7w&80rfS)eVqP2TWWlw7ccY7!ADki4V#()X2SkREV#!LhgP-DhHPB0NUi(Cao4=xaD4$SE1MqQJajNxq$"), - make_tuple( - "ZrPN^0NcEq)xtzc87Hn*4CIq1Q#)h#zjOL@)QnJ6BNfG(tIMsqF5(94#%SC*G8SH6@&Jl2wG)0fvenvhRmA8xh3!Q4oW5Bg", - "H2#7vV*KihoJ2X7$^G=(qtslp(LP-oZ!WnLf2g%5cGArK4(r(vBY45N(^7NKecPDQU2pM)y#L(pmROWD"), - make_tuple( - "lAe7wM@YSMragoE3miM8ZX4jn16)jHEps#kY14F3ueiWnL&wpGg%BC1o=ErH4^4^4zU", - "JgI=EGbzk5=a7&dirA*!fHXzWI=ykx*IR^tBRDaRiJlxW4KADzE9U9RbFQrQt86SQLRFP2UEkt8BdIB8e8o*M@$YS9kYhlW"), - make_tuple( - "u*A%^U7YU4ozjBK$a-jWHB!!aL83hSGnTj*p85T7R%!5f&i1qCM6zZ!(0IM%7%AZZy1#Pa-9g1Bm(4@aqwDp96SubGDYg9jBXE", - "*z^fItGqh4lDV8D*NBhntKAitXuGsyM&!64UG^h$aN&Xx3KamBNvbD5mrcXf$I=-gJtUyygTL%#A$bk"), - make_tuple( - "cCM@BPXvqsOQENM0frAGqZ!u-mC*98Dn(o!E9FSyp(Wacl)O=NtXVyeNP9ThddE7krfGRw&-5", - "HOHM)-UzADmc^FKgrYKo%(L#a6KGIK9jCix@2%JdnHIlsA!1NCf9cZWB9XqaoxNBrlu!Qoor2gpf@Wz2SxuL"), - make_tuple( - "raB=57KLDOip*4gX#bv9Ufhd00gX$&Cd-xKtlv=Xs3-S5KKXIZjJr", - "%!VcvWJod-8uTPOYvYEPHI7fP$7M&9V5hv*M=DKSGfg0b#YI^4*d$A%0I6PdgJz0rXLuE!!Bfn!&D6==FKI7Wh4K"), - make_tuple( - "NZ*IZxiI9UmLu5!lSs7%mYRFa(f%jh2BT^@ItRatdDM88^y4Lhp(^#HxYt!bIn*Nr5*$06*RUnqzCEcoJF5p5fYD2jNfLvv1M", - "8E!(our$=Zdblulenvk!2gLaosDlb3SP@Q9YkcA*OLXt!fnrC-5$oY1*vaw5RLq)wEgT&1ha"), - make_tuple( - "MZUWh$4zu9Ikw$okKv)c!#*dt(-t5bU9YjGKNfrm%1D#2uYFTUjZA)ukyL31lKFQ&qevwInun=", - "n&IzsZ2qU*w&3QVZmnpMFE$uSf(35YYZuzBvuhB#9uKnmHM)TH7#)sCv6#3B3&"), - make_tuple( - "CT5!hTCubnDW@n&601LQdpV#^RjJ)lwwkF%XrUS6lyR6=v#qKu-Ab!Kb^vBdFJu(Gw6^PeNAENNfSY", - "o782U1n$CYEgx))@Eky#khGD6(snlJKxD*lICrN!Fnrepzj(8(wg1BGRG6"), - make_tuple( - "UwuqUJLIAJl)^dXo!8(HwA4Z)13-T92O6#SpS^tqsAL#=30&oXAstB9g^IS=10-kKbz@^xNvtGXyFCC*b)!", - "MNoC!904NI!sN5pa3l3MKo1pITo&a)WFpv*o9r3Jt&5O$XdDkrG^zk*9pwZ=o76ViD%N0i)l&pjIpnMpacO9aF"), - make_tuple( - "(TsP!fAj4LILyuXeJ=#DcA^q74nXK-09bz*GJ@wIPx*FecvZyic!L", - "NI@uI*vrHN1T*2VTL(J5283rTl)x#FdENg7De97y^UuQQi6!Z49u@DihwPafktb$$onlC@zdSy)PPnjuKtu"), - make_tuple( - "ABOmnO3NEjV-tf5cbkUCdHgore7HVuX1W6h32RSBxtCq4j14)DXUDW3bNLDMIrrJXZ=0^lJkXrmHyM3O0cn)!Xhb3b4P", - "kmmF-gghUiLtPG9uLrboG&k*kch533q1aV0v8kD^EJT5u6t@nZ4P9szM3uI%wO!SFdy!=q5eyCTJKwLw3JffZ&sCPj"), - make_tuple("$sV7&yyiE)FIpEx=HecySsarHFWdvbWEeg1ls@p-ADJuzT=98--", "!(WP-Z6y3eRir0pW80ccOcXRTPBB)z4uev0m*Qr!IurJlsa1%id48Joa0OkojFhmPnDg$jDi%!B7f)Rk*KqX!t)ANeV"), - make_tuple( - "O(OHKZ8&%xYQtmbGPo)owSg-XuFOdVKzeqZofnl5F1nuZv-3YBP-CknsJYQIvbQeBUe(Qu4hx!*oE5BUP29sHt", - "Ele)^bvu!Ln1=s9l^2M5OOEM1mXUEBn(6wyo*z)FRHbIp*=7f!t5AFE#ngRpY#g9"), - make_tuple( - "skZ#O-@Ro%kL^3sleAYoYh18!UaGbJmMc#km7qGP7EJlyA=&MDir7p5^!EE", - "O5Y1KnB4bBe-S(ua^smCnlKA-VxeBox0&mK2MEzLJSMDc=wL6*B8NrVudE&YXqoE!tBqH-yKSmT(rOYcGe4Do@QDpxEL0I&AW@"), - make_tuple( - "ko(tfAMPgw6Q9u)(w1Cc*@*y7T13tz^kNkKcLVxPcbLfSF1bFI68u50-JFntE(Iw7%kd", - "e6(FYxgo4raNQ&QskAtZQMc13VmbNb*@qCLbo&$-80icrfEJQT!a9^%9)$MjC12qs%YhL(hhd!1N!mOLF$9@R7L"), - make_tuple( - "bTzSD3A!UqOyFeB6ew4c#v95bOS&&3EMN9!WwgXXvp#V8#W=bSM3IY!YP-Q3Q87Us%J1#kar$kCyAqWHh8z-K", - "fK6czfrqa49q6UyS)HdncllP)&zC(YZW-GE7kJRo20=i6rqyy8z16UwC^ScO)rHzMc(qj!ydE%1mLC-Bq3HN"), - make_tuple( - "OD37MKd6h#%IrUa9-dsaALtE!(EWm1=QqnWmtLInTYAn$-#^Hwr)#aHLps9u7jF", - "$i#TA(XWuvap8X6cU9#YEGpUy(h)egi=)pxV8PKKe-i8TJkBQm!)rr@oTHMm4UlN2y-=RbF(OCAI@*M"), - make_tuple( - "QZp-*#At$KW-29NyMOpLMyK!hd!RnGFxKfGH8dXh=7TLtl^v42ydVOx", - "cKvohZSUUnw04GHElw(!fQ3xrvOJ6M)zit*v^MM(HyMbAYpkp=VVKFFNuZ0it7gVIp2m!Rg*jgnvhz%d2edINQw56FlBbD!%xS7l"), - make_tuple( - "Bpm54V=cqHR=oB(mGBz@gfQqreNkQR70byOOKWU5MQ9BGVM&or9ktSz#zB*dGEI3)PPh*^@w5stdAiteT3pAQIkzgjx#wqJ", - "He)#(-4GYcK9@H@T$-Pe&v!Ui$SGUSVaBHdIbdUUXkmM7V*8Ff8An3m&r2bXVlxp&Tw&8=tD5eyU)KJBZ$gAQcm$"), - make_tuple( - "GJ-khDD1UFCoosAlan$YhquVT%anL40lfe3MGWc&3RN1=v@&i(xJe)hQ2z$NunalS1TVqn23u8aBEA!TBMlAmb=JjE8id", - "M%^N*B(=GnoU!moPpRMGy%BpnE1UkyB^azv0xHdU41=Du8hx5p@ZX#bhi4EIJ&1o3BPF)4v2t@"), - make_tuple( - "x3w6jcbKNWsQON#E!p3U(D=t!7wATvD5%jeXB%VcOpSM5ybCD!q)3miZWQrSiQUMD!iittN6RR=a=2", - "l=d8!CMW&!G06q6cuiXBpIIC=fQ7ywp1Q66)oaBJNGTOp6UuPBrUCS2xwHB7Ri7iD!p"), - make_tuple( - "nm-=y%3WrDg$WCNAb@p(qf*^sAI-bbR5^=ttI8H4jAf&S5^e)iSkY7RfG4TO", - "(kCbB@6u4nH=6$vtvTo7OxgM=@KhvL2kInZapK=gXlm!-B%WgC(@7*SPGdGDDrJ-7Dq=Ge!"), - make_tuple( - "X!zcHNLi&2DK(2=jwygZ&2WI$tdfPfSo3MNCtYp-G4-JXOGJYZE6I=WsWb=ZD!hLzYLot&=28Ig", - "t7Szzm4)zcA9EdMOt-jxchbVHPxtmCClJfEWZ$IuU5Ji@^Dy7WF"), - make_tuple( - "G$KZnMzNAtXWG)QN0F4a^zXBJEEH*OPrmZh4Odu2h(l(Zz%vapAnn", - "#T&sf7n5IQ2R3#YNYwjnSE)rVt)RvKJN3*nCLf@5#K0KtDoam8JxCGXXJ^CkWkJ-9b^F5NPecWgMksLBT^V2)#2QObI#Nw"), - make_tuple( - "VZQpa^%F-@eDxc#d3Q(Tm#&nV%v!UVI6RB2wquJGLQwuZPeREFPj^51f0tHEB)zqigpw6hjTXAtMI8nEhZ&Rh", - "xXnJd!**q%xzv$njWDoBd%D*mbRr6#J#TY@VwVXfj(JvNM!Y9jA6SM(6UJ7I-*F8Tteb"), - make_tuple( - "GjoJ$dlwDq!&J4Y%vYlq0zPzkLp2-(ihC#VTyMq0!55muz9VV5j7KnD$flJR-Jx1a-ThfyXn@", - "N6UfGY(buanEM&IiJ$qG@4MJyZbPplVL@)V**dalzPYb1buE#iXBkPw!U#*a=s9GCsqAMvESXDMI2eb3)7"), - make_tuple( - "$B276X!mm*@vq$f^=NAViZ0LGCDFpAnlw=14*LvdC18RX*Mqt3FO0WdJByDR5(Qz", - "l!KpH3qV8F-1D1!o#n3u4wV*BvN0z^@6@NtP%=^9s*3(HuA5SJ#%5)w7S7h0yy)8ndJ&i!P&OgBD-Y"), - make_tuple( - "!5$3%ttwBb^@E*5L32OUNNgz62#NCrxVc*iImeOLu7l8r(G@JV--ch0jO&G", - "nn#H6LKDif5C!mlTiqDm&DsEUtdVifnvDIkCcJFLIdUOWX4jkdGLzY(X3LD47"), - make_tuple( - "rXE42iS#oEq!U@TR^*um1*)Z85#ft=%%U6*-%W1Ej9hLZNRV6xFbm9u*s&m4OCvEn=AV25s1L0AHPx!Sv9)41", - "Z-Esi*b=kEzZ%*RA6e8lzlUXOPX-zQJ!^tPIN@q&hEKg)sd(#sF#UO9E9^zxjIr6arQqDs=IFIehZ1a*NY*n"), - make_tuple( - "-!(h*!9Xjt0Y*5zXtEkonrhvRt3IvI#rGXa@eFQ^=JHxa^9l1FBr&bOT!c7IXHVpEcs5pey0kqh", - "Uh3DpoA2&HMhejrHGg)1XpO-*pWdILsaK&&z9O!@@%aTM*x^vF14"), - make_tuple( - "SXPoaFQgZey54QRQL^NAXdm6KQbK6ObG*sl5mB1l92TYrSPTUT%ca@6(vAV5R3%UAv6GNztCAdkI^x$X^9", - "4lae6^J8!S9MO8tr4p9yP9BK!oTxv^XO)0v)M-Dr6gJP4@kvNm=eAqpMFgVSx"), - make_tuple( - "e%mUGEhgI0DpS75C($Po$77EqYf#6u0o(0xW1M0duBbWMOK^8kIWzWsh@kMYenV", - "AZoNgo81haLllBrWhLDsZE4F&1iAPIG-vC(x5LddXNR6D2H19*$t^eKHo#pB8Em)E$zSK4taPp%Z1"), - make_tuple( - "Zd$d0B7lK5rJAhRlM$u%s(pmh64JZ^*DB3&9LQDfbXu=#*ZtbG75QEIlKb($p0a&lRa&CE@%KeWEwC", - "cBtvkSOi5bVoVdGJJgrq%TAXK6TsFq%y7bx3j=KZ0!FL2Q#Qx$i^X(7BZD**95J9#5zjx"), - make_tuple( - "2ZM2!WU8vPFgv*5oG6ptp!I&G^fdm(MUmSx1)bg5GlJMD#ikAxta*0%", - "W!@*b0Uz9(DSAd)P%lqUN7j0bRu1wjGybh^X6jMdYxWWrwsGIQs^KQEfth$ABZ3UaNDJ"), - make_tuple( - "u72OH9R*9&HM86UX75&X*$JZ5E)nAN6GdJiXWQ&#yI#clup2$LnJfSl$-e", - "G4FQP=1=*!9UGit(7*MhX*cvV5ajB5Y-43^HL&4UFO2rHSj)9^d-!n8ANFbfWjjR=^$f%"), - make_tuple( - "%C7Or1ljsGzupFu6uDE)1rt^d5QR4I)NQu1YWNzw#YBE&cv(LC%w1DCfz-vz59)&D!nj@J", - "KG0EgC(WbQiuwfQ&&bCh43zyF5IviG=mWTJgzu9%FTEO37Nk9o0IzS40I0gd1YQ4^AXh%zz^g"), - make_tuple( - "pS5fjTMbPQNef846n#%&El)f-CC5*3DyLEgBh2yt)NmT#8D)#EIBR6i!AF5BbZWAE%P5TEH5B", - "uB2r2*t9QPh#1Z3)U82dp2$Xe79&jfBzfyA)Z3AZ)soJI68E*Y09Lx^5&9(RBOzbQjrznsF7PixfEiLzm9J"), - make_tuple( - "FHzX(7GZK5YVVzQVoy$9^xCVb@8TGMyc39vW$KXYhl3A1V#iL(EHQnDed", - "z2YKSky%VVFAJeeGAORHqk#ZMllP7jg5yVm-nV(lKu@icjebe@AlMfELz1RL(cd"), - make_tuple( - "UAg(ruBQ=H)PNo&MEK2smKj#OZfNdkZ1EqhI0(4GaVWHZuKaxO^JH-(f4n^tl9wtr8UKrPHu5Bk9^y7l=3ncfivK)8gii", - "XtYQtM$l^QvAx1c#(-iD!R$b*72-1BvFLV%(lQz2VL%%91e)C$o(XknjXHW@-^2CAB(HU4qy&jx^9!yAA$x%VHR8wx5pZhmNa"), - make_tuple( - "$G84Twzc6=NUaa@R1mfyVOxLartr!tlF0y7pU2NHZZKa6ZXF=Yd-QTJKcDK!oQ8M=fT^p2(rrmtZY*B", - "ct!eDpZbAy!KbP5((FhYi57Pqz=vp8rG^9TX1YsznnkYkQwPm4=zfFF$&$X#GFgd^)D3I258"), - make_tuple( - "I%s#PkZk@#K%28mQuWlQ(s=bji4&!xMZSLP@LeZVCpM)-pta7SPK4HL1P-gP07Qo!#TbbFBgZkFJ", - "SliAHmQXGii-i4gZ7(!2u17lbrv0nuM)viSJgML0sF9JX8N!I3SQqdVxlZP$!3lToELyByF!M-4ylZjE#(y^"), - make_tuple( - "^YWbuzBle$!UiIu3&)(wX@kr8)EllJSPD1ISrmIKeqJ4lo7Ai5F#Yr9g=UNl8hIkdE$P!W#2DwJGfRu=F355Aayqbr", - "myKns)txCUEuPvSC=oS1nGyphlj-=2wC$VZ!D$hqJS$(MlC$r0IPVsPDl%GQjKpv=kD4L#YHaV9FYryir3ICVo"), - make_tuple( - "HW--!p-V(Z2i=ozTpBSR$4SN5SOKUj47n$5Cw#TK!s7KDg511rNf%To^50BgxiZ#YxF7^E1J2D%bs%e", - "-v*fdhjMSK2umLEyh-LdNsq96r(7w#aEzJeO0C8Ibu&sOc=xv4K7-ie4xVOJLiv@I7p$5sejLYbxnsm*y1N"), - make_tuple( - "SssE-Bv9bRlGAC4s)*IP&u1887WXXyI(spCUqYn*KE68fqwVO24^xz1XQ06F8)9zp$!EtOVjvzGN#-he5UXSQIvv69$3ndBN", - "w$yHdNA6aOS0K$znozm7Ue%M^ClY$!pFm#Pb1@mI28zWjvwya88Y6zJj%ujTw97F226%3b(UL6WZv"), - make_tuple( - "hRKj&DM%DFdTsaDddh9UX3LSy63^Zyf9I9)VpH#*AWx3(B^6^*lIP=C*0CfJe^2DNFXx@", - "(qUs%kl226==L@8c(7l6eH70nW)FP^ldS8dUMnYcAKt4rsK2%snF7nOnsmyZEkZ65fZHGpn=QZ^sOG6wdEpx)#!4!wc6=dz@"), - make_tuple( - "4n$9m(VZ5K!WNw55TUg964SQO%YQpyG)EmE26UAIvfPdbNC6jq4DDD#cidDhC@**$)5G*5^zFO!$(JmT=)v", - "hOQo#V2A^c%tpn@fK%3uidAF#cZx8NfIMojCR)I7K()cYwg55KZOje$BrU2=uQ$d(=Kt9"), - make_tuple( - "jp0ysaEsJ3T^0jbrH5tT1s@r)V=$7rq54$w)4@@gJhXzjPQ)kwmBeXBt@30p@SWupcpwQycrXTO", - "@)Vp^h*klEUs22G!)2ceYMr#NJSv@brxRueHClwqE%5#XF!gCC7=I#eS%t%VIO()i06#pZy&d55N1ILJ1Rs3ZdhpP"), - make_tuple( - "j&H$JF-8Z=yO&pgd4J5JMzKihxAgOr&IkWYA=GjV=9hdz6&%^XiuzP", - "(P6vi6-7z9JB00JLa^^@-Cg=iPfa#e*q-zAxwh!ctWEw-kr%KWK0p9gPRcjg5u(Ws#Qfbj^=#unWIt1FBb%G$3f4zfq5W^"), - make_tuple( - "6GaZom1W*U)Tx2WLVSNDW6igNnnnJWv*7(ir9erNog^WXlBo8p5iDY$8dz!eu", - "SvjuVhAGvga=G(!-Mmsak4v1GxRNnDw9urE&I)phfQo1jLnboYwo7A*LlLXPH$SQiNu1Y4FqezYbKp(034AZyeQ0g-z"), - make_tuple( - "H(6((v2XqlQm7dbJBMc5acAfEtqr23ZobN!K^lBASX%5!DY9!ThN", - "e3c#D#zZEr*EP$i9cU8dLKWx*k7#CJIoj-a((ZdJ7nOs0tmV$kyr)bEBTaI4TL%WPUXYg"), - make_tuple( - "vLG=#NU=NqT*kR3sJRl$c^mOIsblWY$)6nA-FueBqExBf3!G*)&%OOf", - "RqoYvKWLi45-GomPV!3(G!bry9k)lxwzEpkJsGX@nH8Ic3Mlc0aruvR@axd=Co4aGWN&kq=D%I*9AT*$j"), - make_tuple( - "IajUieGCvrwTBmM)90Ptg)@5Pzu&j7uyD4BYIZ)9Y0k-o0e(F@VUfRObRp@76wVu(pq)pSY=#FBGZ49*D01lvgX", - "Y4UGZhLqq2PobozRLHo5j48mBX%kUyD@6uf8R*y&eTR=B5*%iRLa#-uI=C%!o3L4y%xMm*lkXmtn3Vup%Q@"), - make_tuple( - "b#=wWB!P%TToVyqoq9!#&laxw8-AjpR7Ybmt6^Dmwv19FH4a(2KxEeBlmAmp5kaWaVJzOKEub!", - "sHPGjaJj9u@$7ak5TIZUajO7wUUR^vQk8QFFaqTiN#o)Bm&(Q2"), - make_tuple( - "TYT!Xa8ulnsxlaSHSKaP4aTAmSz7V0Bt1dl!L4y2o(TFq^f6jm80kW#*0*Vq$do)U0z6hhvn*vX#G4wakOaPpf", - "ceF2R0YIskxQL%f^73ww3ddGVADi7)OF=9jGVrt=G76NJBXQFjIpi4rZmfbqy%hmjA84ujRQuKUh@8V2Q(S2a5SEbu4lVl#P"), - make_tuple( - "Cob7(0scvsJj%=T(cZ2NuD!DAvH7#eX44T(Zh034v$JCBbEF9B", - "%oqPU$Y&uasqlU$r)#liD4M%@*ip=l2v-CIY1thn2mO@pIGgVCwNYJHElaOcJHWU%T0I5B%xglW&Sw7WGwG*9v6sFW7PanuBm"), - make_tuple( - "PkkUrp@hS!QIPmDaN3xuGxiFnegDM!=NFY*bE23PnX9PrMT2UIK0Yh%P9$rsA*BpXe", - "Mv7^!CtLZ&zbl8^=uq%rKT(uwPlt&xnuR^ADuBduE#ws4H$wwvaUr=1pA@6MvVbVTMTM!3!Gh!6w^bplVzn4Tso(1=v^fH"), - make_tuple( - "ud#Y6y1O0uzrjqz9QXpwFoGKmVVS9pQ2d=&RAfUInuWJcmC-wZDT5&cdR", - "qg9JWke@HOLmMPoIsFJLaM3pnMes(=PhiUDxO(W46E@08YYpO@S)VCaaLDtUO63gMVtN4V25fag0(JaVf3@!"), - make_tuple( - "L2T1rZVg3o*QNfl0!CsW1NjbK(&xGKG=KZ*$^M8A92NFKCC9W^70uGy6^fBP%8NUckOvb2!TG", - "fTxSATpPJ2%JDBuS2fjlff3t%eMFp6ITpfJlz&qD8bGEvZIy#4Z-Kf"), - make_tuple( - "(YHH83uHp$=f=&%O16TtT(p-*CLsf6cXn)co1L%P$Vn@2Z)rUbg1kgMpojw%f3p^U0VT3dFTBlUzRRDALwQUvyzo)#bwJ5I", - "e$bXWUZ7plm!u8z$9YiO29yXB1V^!1$nsHX3VrC^PXdiT2kqP7*bz37j18dQJTBQD"), - make_tuple( - "NN^OP42=jRYt#hVcqTfc#blfg9pTaWUlzW)bJuwO0M$Rpx8Ir1VPyPmNXUm9Q7tJb524HM9^=&#=$XO3(Zvkmw#piEwtX)Aq4N", - "U4j*DJAwXyzEjIc1p(q1G&jqB^9(hE)zDByvzCuNQL0qe^Qrh$RMa3cChgu=!=cGiB5"), - make_tuple( - "%s7MsG5Uo^DMO2PxIJ2ae3sk&J2czeNDDQuEP*aYfRKiCn(gd0e%PcyhU6EKE@vmoA4u", - "DN9y#5KLjR3)781)4E43nTiMpqtCGGFQ%y6g!p4cVCUM5Q!*XfbyvY%7#LE*Qu4f6Y6$z7y)"), - make_tuple( - "O*QBNJ3uxjfX1Grs#52i3afH@DqX()AHSFwsI(RP98bYd!FBv1kL81Uig1Gs7Jv611tHLhf!o7!DQB*TutB@PIL", - "P=TMkakkbvf2Jytu=!C-eaFPs9-O-@hdg8-$HoZt5&ts#3iS(Gn^$t5Qcl0&HDYOW=5G=wBe-7"), - make_tuple( - "!TOHlHp6M-#iHEA3e5@YE74bc!YLu2UR1!XD9VcuhMY984n2F^^ED&aVMRPV-P4Bo^", - "izqGEttm8s%^(TL6Xcxkvc9h!Cp#)nVtw2vbXku^GCMiU70OiErs@MF1a=y@Zj0Cjrq2"), - make_tuple( - "*nV=xv8p*rn!K5ka)Swz8afIxdk)ZjPa#)o)nB@37G!M7x72($XeYc)^I4^!x^ULsomHh#", - "BMo9--NV@J=-4iPY=DHfdNTPwVxLw%DEcq(FhwN9mvkqPI^UL)W7BI6!WjVvyrFTL45WSzxlJ8&-i-*1c9NyiKmBFaB"), - make_tuple( - "v57$9EG*^nwP(Fhbg!-CWi((a)@l7kbigC1xD^2rPoeIlvs0upa90g0XHeK(f3qvMtdx-r!Y!k=3DZJytXOpdtU%EY2w$=7", - "3F*yD4TRWv$=CR^FkGY4hpmmn*4FEj*KLgPBcLYn$(2CKA$6GWFeM^AatLZ"), - make_tuple( - "iY@nb9PN($VhU-c*mYoSJFR=Ablq#TJaPpxKIjer(=#Uau4vnBdF1yU8w)^J%NjiwG2Z9$4c$HVE$p", - "Q855Cc-A-F!zp%din8xyO$2=vP!dTxuJE^X-BcZ3l2Ot(eKo26w2Za45@FBELS7wc"), - make_tuple( - "bc9vF)aUEQAT8D%ZWoVfM126uIu5r$fuW6y4suof4Sfc295Y!4YlIeTeeukeV9KTi)6o*1=v32GS&qBbqtPvLcx6j2F(xK", - "^Dn#UHj(Tj)8vPzWjMdLOiUG7$5t=D#v4JH@ELnVK8T9LeqE7E6DrUzk5g2uX)%I4q0Aswz"), - make_tuple( - "zKzRR5TW4*izC@J=lF8LZzOqYmwRJ$*bPY-a#JOjT^%Oo=ge9xE", - "mVJuPnc9P31C1tK(PZ1eluIDOi@tws7HuIGPRUmltae&fBTLGb1y^3wQO8hEq$%Qz!aK"), - make_tuple( - "xnx&PHy5a4Z*E80Me-F!B2cWn^3L#itm$p245DpJ7-WdcrQido2Lkn6Q@Ov*R@pq0o4S84B1))58HW!sly#J92TA", - "R^tJ4L%h%%^R8oF#faWVw$vE=Fdflu2okIczZ!jUoLbfaQh9$f@aVVnsLWcHywbsRCp8KQh3jF(YJ9NZhupy^8k)0z!z@Kw-5!TX"), - make_tuple( - "Xx(%&VQWpwgbNRQ!7kpJJ=0ohF2vpuE%M)IDiZKJ3F=0cI9ER-0#@Bbw$pQYBClFV4U#yZaPZcAapbe=v=jKySPqEV&B", - ")(t&gQQY3tSiIoyDVnQhM0s$ZYuK2NBe77NLEOxyuz6meG9vDt@PjVng%Qitl&&5ZR9p*jXwuY"), - make_tuple( - "(q0aU8Mg(fo0DZRAI^-FgWV3kJpufEQwVKUrlsY7=Qd)Ryqfe85ErFX(Xlq-KPy01Z", - "SpWFNwx3=mW2EufI104VCO=kaUtfm4ACy(h)qPik7Nn3vC9ci%7pu"), - make_tuple( - "x5@oTbJ&MP&mOmxMTA1IOI-pm8N6k$5UYUmiCYXxafM!y6r1&@Y3W", - "kU2oNucE*QmX(TB4hu%H2J3zZBAJyeNHViF$53ocsdaMXCo*Jh*CVUF!QeFIAsInW%(@-"), - make_tuple( - "6hkuqcYDXxKcRXXtV5hGdHL3mGPkoVsJ&JNB9IH5rrwFeYBw#2p&uZR7#)zdy7", - "5yy6xWBBzK-#-EL8cRe4yW=oI10SmZoTzJsGTP@Qf)@T9NkZXO^(!CmoZeH^0CAYhUBi=r=q-G"), - make_tuple( - "LLXhL!kkG=X=N8SRv#aZfXR@PX--uCU@ow*mqpd)Pr=YL@Ap9J0MYM--gstTtnHw1%Iy*oTz8vnc", - "Id1WVe9fTz%0i8)Xs=xFA!nWNzd!Z*0AS^m1pHGoof=f7RkqvjYBG#l0B9It%M8yz!M7mDsQ#X=FrZ!l7hdkTP6OzRwjHT"), - make_tuple( - "gjiaBuT(WCyG%GA)WtM0dzgJ7TfGtq$Rns69$)zou2YM9kN-eQb66vK(6", - "W8crfKiWbltvFKWzX=Z6vA9dsi%VWZaD&)QHTa)TALCMnP!zr4f5U-eV=@=yrYGnO0BVL@E@*zgA&C@O7nG=ph"), - make_tuple( - "FBNDoRxTdr=Jvp-xOTaU69poR7JD(fSm0QzgfphapLt9MI!yNw^a3Mw%8IKwhdews&=7op", - "=kwHJ(lA7-KbT(f6Awif^V!q!CjlJi#dfLG1uOm0%hdmVxrkM*kw-b)ddKagRJsB5)2)j9JyN1gIhybZE0kcT(1$B02KVyU1m!M"), - make_tuple( - "OCRp(HB4rtkevp779Fq3AIAyMv=uaktdTQ$Wm(hPGrPuXT@Ui4qRVaPoAa@mc$g%^^F&FvX$1Sq^nhW", - "QRi=3Jexv2qrfI*$^$eLL!M2W$aXN0J9=@QzPWXSSor@Vx3&nJ7W!hdzh)A(^AXEvTDsuX(%16t"), - make_tuple( - "hK5JEgJ74116@O7Gxkk&oo1a2(C)YOHbZTGhehuXn()mAMZzYYU#2svI-fH7nyqWlczG#Vk!#Jt7yrbO4#RyO)om0Q-^0qg&rB*f", - "Vp3bXo7L7j!a6p1Q!X#-FcKjsi*wW$fZ3kH*(Dkt%*Zv$UU1LU&M3fpXYK"), - make_tuple( - "l8g6(wvPglZsBakIo)FETS(oE5wV3I8x%apE(HB!u5@@rr@Br(%LfDcqZV", - "Xwzj37tHOuvX6^0kzBIv^yxSP5QQva9hepnI)tzK$n!!OE)2gu"), - make_tuple("6chV-IhgqZTryTd0BE8UVk^pvLkNDb-ALuB@iVqn1W@-um8&o1lx", "71kF=$xc4cZQxVdv3T^w$wUdx6QsfjFXHe1K2pUhuc!#6=ak-=gE#iGGRoTau#8DXYmT0)gwjkNUndzbZyP4c67okPI(hpW"), - make_tuple( - "Sw#N*-&HB$I@c%m5Ps(Zog$yP6(LSDx10knJzi59kCz6ncVUi4xmd4Cy*e", - "VmDuc&1uywU1(FuFy$ouZLzj43%9Yzb6czjenTPTiw)QCBSafy=^B9&*r*wR$$45qqn(=V6"), - make_tuple( - "zR@b0iQ-CUX5P3OX$-vi@=WK7(ojKO*&^O=JS8NxT)Z-L47E(tV^NEHP)BxPCPgS%", - "7XjD-otu6&F1RS-PCik(RMZBNII=-hm8@Y@ow9j!Q*xp8)KV#N^kPNslkGvewuP3am75l*a%T%kj1aYg3!9&JGtv(dQvSeAi1nSR"), - make_tuple( - "=K1B^U-1cQG2C!fIdZLlgrj-ax#iyALYXzLFnI3m0jQIT^^TGBK^=hnjRwedVoXOraPsK1k%Ks(d1@#K$curg%*AxwpZ6VNAOj", - "@2Z=xnIip$iitxxxyJU8iXPvI-uGy6q(sjb-SP07OS!8w0^l4KDoj0J)%UK=M3)=D%B1QSoM$f$ThHUMeE&VIslTRXaQ^1ipX)VJ"), - make_tuple( - "vfg^7-EN13DPJ&RyMWE&OMuH!ovfb3VzQM9VZhO3Z5Y0cMDyDeNg%z(NJ0eAZhwkfrEUH^e&&bF!Wk!xMCx0l", - "F3r1Wx7z5gHu2c7VkarjNe*WHHg656DcR#nkjx2$wpYTA1ivlO&o2WPq!$TwWIMMlkDeMaTSP0WomYk$6G9Elqo5-a"), - make_tuple( - "92^Ou=nnksr2r#NGWIzknAzyjyCMd#6-W7zexgsh9N@Ixx2e8bSkJ7ay#BzE-Jw4TT5znjg5v-FL2QVdiLYX38qfz#BDUBUUZUT", - "Z5me$RREFFpCPOhQiSR=PuonHOHOa*kSc2-2$HTizKhr4SQRXp7^KDhgHIMO"), - make_tuple( - "wz*%3RJ$w$0XGbH=oohi9&ULCrcQ%PYGQyRtwtwEdiBz)2yCG&eCosaCY%brS-FS", - "2k7%m1AVz5TWS54D4TOc45wTUVqIsuJrc@x@K&&HKou0f(H1SHL&(uyRG9RV#-$2mrC*Uz3b%hBg$$"), - make_tuple( - "497ViFK46DQ^&G5bNB(O686Q4NzH$#G1YrTSzY)xOWpuDPX5mGb(8qLpNiIf!%YHDyNDNrtrPqOwo5BI$VU8)6X-jkMOKe*8icUw", - "baOj)iup71M22va2S30KbiHBn7uHsiS^CZJEs)8)KbHg50d1UxNbZ)#"), - make_tuple( - "KoIXArhT*p5Dicp!Jzug!%fun9zlQzTH@i7atr=7@W40u3^7EM&5DudR12N5q)ITO7TPU1I4Wp", - "9bNJD9mG8@CbG12j%ZsZwmq2d=6@j!mX15%N^1ULsmA*v=%6EK"), - make_tuple( - "tb#lPW$V9fbwt%=k$6z-vyCc8xHxdGr2ysJVhYDUl^j^ZD0&&N", - "&OL9w!RNcB6RRP0Fd3b(Z6h39F3N#BaquU5MiSs&=v$%=uRIA54"), - make_tuple( - "neezjpg6xi^$5tKDeWdkqrH)jl9QAc1wHA60a*C#2u-tqf^Wih7k%dG8oSYLEbI&BljzPPg4CRK@z4A8ObuakpCMsla", - "1-Q5r&7)^Oxo1eKSVqKhFp3MJ1xV5#s6NSfYn%m-6=21No(p(Mskstd&4C-"), - make_tuple( - "uzeTku-EY%*f0D!DRseA@JPqMxp8FQrjmr575#i1swzbBtotD!Pu78)JfHW!L-ViK=P", - "UTx7BCXx7Vi@suY!39(iMMCrLSzNtVlJ8faiM%MzJU&fmKluEV)Q0Fom"), - make_tuple( - "ht=dTE3jbH*#i*jQxFYY&!K2TZMXXi#&dCLFzo)a$hIm18W^@epv-U@MHbJ!Vh)fGROzjN)6c6Ni&x3bCeUZxwSUkM$ELHn", - "530wD3z#YS^dEAJSIG7pD)JBEr-l8gkwku6gcf)6P&@SE*DB@T5Jk1IgNzHQ63MuaAAdiCUdJBL7oZ(hSZ#&"), - make_tuple( - "i2Jzt#*YUz8dB0VkBVFzc(U0k#Dlc*DV2APK#Nc=dzAMw5K19p9i!7MRYFeeEQEQ5", - "TE9-2fyS3sJc*4BD=6^7!RCV@A&P9u38lsAKz-f&=JLbpj%AS!W8"), - make_tuple( - "e1UN7JigIiq=!oOt1)8!$CF&7*^jitm8#$KK6SEA=KGFFFPNaVFxH$NDTt2nSlfO0*kegvs#B41O", - "ma8Ue&-OzHJwQzTQIjn)nPaa^uFyL@g4gVs7b139EJfu6@J%aGPBDrtzY$M0oefB-ocTKTgfAZA(Bvp=1wNLz*)v9VqnIHDVAi"), - make_tuple( - "@Zxy1XJ@31)#G&CIcw0$JKAgKVhs8yQhoh*JsbgL)%@oarnjjag", - "7$gK*SokCzHTac=DD=Tz%)8vBUv-FClG1hixKfNsJ*j3Oyjb!L*GAT4EooWI5TFfUMRwfo0"), - make_tuple( - "aV4r0$2AD4z1&J2BJLSJoy0G&zQeM2YjL1A)d4mV&($2lUQS48)b2ttg3FHdLLimCTtQVw6GAh-%kY#t2^*p", - "7Ml3X6qgJO3@julPp%F5exIqGOOPM6N^5zD(%9$cd3wLN!prz!YwK"), - make_tuple( - "%S-*9MQ4KM-gORv^!PoCR1ult03AF1NjZ#NrQqgd6ZBGUXy5AE", - "jo#%tYuqHFVo8d-1h)drYhmlnUDiUwcPCWp#SiGcb1pfQOVjk)raaU@Mfyu%l)5AWAARpWWf6i26G8-THlPvu@SPOcC6$ZEQ#"), - make_tuple( - "cXC3er2h40G)iMmPw#L4JvUoD%!LjSd#H!Vb&kMpt%gOSMO%Q!PX&5", - "Vy)&r(WyH=gmcaUDI-$#)5LeK8HGhT5rwo23xYo6CTswO2%je-hm6lKmR&vb@B&AgJp-CuVz"), - make_tuple( - "K)cE=B7SB9I55-8!wXcUazZeYmf&VuYtc#is%kMI=Lnj=sZYLmLs", - "YU7eYPHL&zMvVb%Q3G*x2dyG$Tiu1zW^Xuaj%)(bsi-WC83i8WEoSHy="), - make_tuple( - "ptqg(q!N6O*nM9SMHhEj@fD&&RMeJWGh&2WixrK&t4=5NxRiuHq(Pg@b-h=YnnIXO*HkiYUGA@**u", - "LXlCfw%bLlE0W(SJ%a!ar#obedDcYYv-jG3smYko!GcJh=TJZ9l)Aq8ZNaxZmdhzXp=S!#v-yjvT)*k45P"), - make_tuple( - "X@&QjGAtp2kurUFQutQ^q5C11Bs5@DFu*K@mSOvxkdR7#MXI^OQO@2", - "3tDMmi63!5aAQamiqu1VF2w2g=YrivAR6LN=wR&aZ#IG*xE)R9Z(a8V=g$gEqQvHp539bMwVpE#h#UpaJZO&B"), - make_tuple( - "Oxc)osV&do%6=42Elt)x7Ab&@Yot&SttPztEdYR7=iz7kXry99XbB1rli-dt2KUS5Zr=rzmBH5IIS&!fPY5yQ2(ad4L", - "s3FoGFxIl3*1wkX8Se$m9wbSQe39B^T^bL3Sq&ake5RfymhgMKB^v$Dodz=gg@#"), - make_tuple( - "o$HlwA&oSr6(e(tESU#kt%vgummbnhTLp*gCkbaR^OKFVxnzD7YUs=iVPBKXcNiV1jGvna9alLB&du41j", - "jnh3Mod1)KUaK(*$3TMl-=%e4r0xl2tdP4fy)l3GkplGxDFx!(hOMtsya"), - make_tuple( - "0e&R^cVjXNrdmfACc=YqdmbwN@m5HLm&UJ3OrBrp!g65Zuls)NMfR@1VOax", - "I4H&-uXc=(o(CY0c$tBMdFsxE*rgXUtdr=42n9kf=5R&#T48nOpgUZxx)(=wCoyR9Q4EQ"), - make_tuple( - "%SwBRpVXMK)bnek4^h6L1O*(Wr$3*W($iZBTxTV1jy^&gxrQapnZFM)I!eiveuozwiIULLC-^m!OCsUho2$(1ZTUjw)", - "Ut7%JKzT2SphLm!!sDUM)k&*ZvgXxmoDemvi0IgkbFS&9g6S#O"), - make_tuple( - "k65P)RZILv4rI7Ovytf$ioncR5zY0x%VyKRP%&SG5sSW$9stVDACVCooBdd^J1tYyGKr@KKxCBvWU$Vd#ct=7Uz!", - "qbSbPXH6sPN&L^q5RFcS^h!JB^!J%#Q!6hCorAWlW%RBl@^nde5TVO=TYAuky)kuR$k"), - make_tuple( - "Pj-jZp8qhY$c&nrJq6F$KhHbuL$6OJLb2xEYCbVT(W*nO%EmMc9=oK4HB)cpH1tUp2J0dDO4)G&7Ye^WNRMUQG1=2Lj", - "cvAIC3PkDTZLbKZ$KEepnpjtUD)VKh8iY)!w3DovnV%DZf@Nuib&Ji8sqmP-FkHy9TE(-DE4W-3mPm"), - make_tuple( - "Sub$VK7ELJqS@X7lDXUN#dY(i**dW6@sp#sxKIcFE56sAY#wKfHVUvUHrnaB5uehTSGPLbdGTm", - "ndg1VoDqZRwUx567#Se(sP-pOp&wI5WY#tRjm@zBpIIvRfB1&t%$qiGdRZ9dhK9rHnc=HbAc*NdlN6qkPZ^K&d^t&MG8&*e"), - make_tuple( - "h*hcfinx1TJm#OQc%QZqllpvcQc8RmXu#U=qUDrt#SNAHm2SZes", - "yMrs3zHa&SJxAUM3uTesVE3*X%ymV$4dsB*YwH)n(riB6mAF3GJ%A"), - make_tuple( - "r*Jx&grAGx==s)5-r4V%)SQY4l0gOU3buuLCntam(m%pzGeyc3jFD$29bI", - "0v=e8hkLkyT)2fJiu1QwhbhHP7ZONXf8zN!NKqkdiAFL0!$jpZgq4Ohsj"), - make_tuple( - "7YAL3&Mxz^D!Ro8&tTCrgJ!f--Pm9pgTj4R4GvhUp!HPuX@KH9OFLkpdiOM*$nj@fheAqw&f", - "1n4@G*YOIJQl#7Xh6w=fozolFfoX$aiB^lK74n^f&F*6dX$8!f"), - make_tuple( - "YVxmeFrw*DrnpQ1^1y@vyF&gxuMsor-sR(8z6haZCGX^pAOwD&JrS&IWVph$RyT0UuJcrr^H8Kep-sW1j^Pt@)F9!tFBBSU-qG", - "vYzAh)ICeZ14B=-(I=f0p#ifFsFmow(c$y&sB=VWwm1%vpwp5Vkx*A50LnxjkZLMETh-zlwp@(1#I#e(D@oUPyM"), - make_tuple( - "9g0ocvCbIV*sBezs&pKfo&@34Zsv$7ezGnyK3uBEUyq(DlM3xCpnLU1%cL1FGkbw*#v!mS!K*a0bn=IC6UfP(R^Cq*)bq9A-z", - "I^VvZc9OpLxU&eFwC7%A9Z52P(Yg&1#@BOmufMo-pbsmIueePguT*djJ$BdWab=5xz5o7pCMnD-3eTE9rEpMbnshlcvqw@M*"), - make_tuple( - "DM&b-r851uz2fDBW2%=Md^UY^%BV7NxCRrGNBYmCeKWTgZyRR8WJgv*yVm(m$HQG1jQ8PK6o", - "2Xy6QW0AHDC3o6t3MP-kk&5p#nUG)9PA3ZUsJij5i(mTOhLNYusmY3MBPClI&HxmU4!f62"), - make_tuple( - "iXc$^HjW5ciB*cFOoqupAE%DL$H=hqv&lg%HkgKMl@rbqMI9WtNunl9QT6IjP6C", - "pbS3YixWMJLy8qRUS&gFCnny-UNTPrB@vojVJPrG=HUlbax$MHV(Fwq57T%x(K@ltLFNFASY3iBcl-H=)wdtHb7*%J"), - make_tuple( - "JnhotFzjBmN#rjs(L1CbskZL-v$-4)W#-!kQZU870w36W7S%fMN6@WhE)3vwI11()yeT@Q&QuF!BRn4o9Tj)sxAWk-3(Mf%i5k", - "aqgkW(0Mif8jIOXBHx#g(o9JGdQqSz%kjc#H2%haK@STd)4zgl&%RDky=VFdgFM-SOXFc-9vLS"), - make_tuple( - "D!Pm$wO7r1Ft9EkEzRhE3gm4LE9fEq4re-tXoqlcwVD%-aAZ6T!fR!6gjLpn7CKe@j3iq^dovpwOu%=S*6%Qe1*", - "G*rAU!gg-wdqwoqZC2t9NT*bYLGfz%qd0NbUEC@^Aw^RqalcS4k3L%6L2Fw%a0CPl95l3n@D3q@QHxb0!WxUvfL7%Pjm*zf"), - make_tuple( - "GoIrR@oJCM@R1cnatGIAfQOVba8(O@EtqAqDNhIa0f7SJLc0&q@t=", - "Zdggr^PuucsXf9zi^E$RvztjXTb&zbHkFvOBOHRopinwpLUiHI-h=VpF(g^(yR-zUeVbV-n(bb-"), - make_tuple( - "0Fl01JI^u*aW2RCYX-7M!Iv$0CGAF3K4INcKG7GNVlVDC1iQoXFpm68Lz5u6Ti#gW#)KbM(ZwI53de7kKEoIc!yoYW%m1ds#", - "RGsoEwX#O$ZBX$kRa@)L0L@(j%n5XrgG5u34jzLGVHkdEQ&!I6Wu"), - make_tuple( - "KD*Si&FRf3N1P5B^Rn8QSQiCSc-&gblYHS5vtR)Q$-6zXfSjYceXNP0SYKKxfdH70Is*PjHWh#FMwg1yESYqAn", - "GE*dGaliUG&u@c&MuigxQHQVUxKoKC9B&EY#hbRPD73Ae&#oA7also-wk0ta!DN6iw^INxg&jaheuuRHb-d$soN("), - make_tuple( - "&7e3hVhSmgjl*wW3Rm8C0$S3opDA6q&%J8srQ*1@RX1Bsz2-x*4M93PvrAN=F43jN%o02E", - "AjsgpSj3h*%xL)UrSihK-4G3y(xuV#o^qI7LW=&BVy(iUrHF-@C2^7ulg@RX(BKMgYqQxJIph9G4RU)9C^d(obPHEtRSV*9"), - make_tuple( - "O9jCTwNUsnWui=4gHdh8C5b3SDuh)6010j87LOFkWYd#==E)!XL$LF", - "mI&sw6f=Vd6kLYQkD&RoaFUAYW#xOqN-$$oZK!GvGfBZV-oYwN&zDh6zd)Tu1y8Cy^Nd@VA9ZoLTa3VlgS1GXy@EgTt"), - make_tuple( - "njpYPIvauKY#-$Afllk)4rViLx&D!q237DNW-NRxxJmwb9D0ME##zS0GuVXmzpHwk59v(IGd%wPaD2LX35-U", - "BI3Iua$PtY!!cl5HJN)IT7pCYyUm2cwL6GIxBkIwrEvUvCd-!@fKKV!AUKEMqD22R^M-=4X)LUK3qQ&FoE!YiuUPGEaJ3DO9"), - make_tuple( - "K)zn1%FOescBzUO5jemcVaqSYVx1ri1GtfoCbx)GLLSup=X9D=#bS", - "&uAeNQ$!M2iS&YNX2q%2*yUFsAFHnXSCtw3QzfF9Z@%HJ(P&Tct344b9^FDsum7JCL#Lq"), - make_tuple( - "cOc(CDN&D(Oy5-VDADIpc@IdIJ2kqfX@Dc^1oN&Wy0*=ALL!s&*^Zc%e*@Fl$6C9UjuQT@fF^72ojt9@SgHye(h", - "JfTXzNxd@Rugi^hG-X52oQQ0TibJwKj^-w8CF31Cdf&S!X7dUpPfJInQ5KzaaWWs1=@meOU(7IZN$YI-6h(ZJC"), - make_tuple( - "zUxBLg$zzTzAYpv3Y#GmpjuOmwLqCd2Zrggb$vYthy4lD7y0EvVIkGz", - "(E*oSNZ#9qRR$tFvTCK(!eEcM*B$(GLXbUdITwG5PA)wgcbEw(qd&i5s!e4pmtFcL$a"), - make_tuple( - "eRwQlj^DFIFQ!3IItv)nqsEg560kdn4l8PHlQI%DS(*cWy-@27Jgu)u6Qp3*oeJGvP3Wk*)D7z2-cZL$gb40VdcBAC^vF^grC", - "N0wpQ*!d!yy9c)6j)rMPj9w1=H!Q#$7EGv*U0ODE444-p49!MOY!QleO*vCXQB07qj7-onBFbjf=A(OJyVNZzW%"), - make_tuple( - "yk)zi81SXS^X3jr6BtW1n2F4^vh@(3zg4pO@*kkX!IZFwH#OxDZK#K0P!@NY7hHfoYZ9VoV(je#R", - "mWPVgvi51osbsf(uoec2odw8lPdvGXI4bXD%lZ(Cop0L)3qDMpw!=(5p9Rk063Pf3nqN&v8P0^yw=EIBx%GwOCB!%@c-WoPv9I"), - make_tuple( - "eZ(u1!Q9RTxf$ZWeOv51a7oQJQ0=A3&haY3pGHidr6(OCE1^x^LH2h^5=NDPc", - "Gp3zXXwJldV!6qGy2y1N(b7=)7V&HlhFpk@Ggcj#66$)l**GF4&9*^=o@Xzg@wTvIPHiU0IvAHMcix!rr(ppy"), - make_tuple( - "8MhtFaAsXykq-cilmMyOXPWP(SjS0-3uF(57PJCTL&Zx^UF=eY(gG2Ler4xrl)Z$Exqi2HMUth5$QM=5gRXb1", - "HLxAhp*MHrv$yyp1rm%(Zsljb7hK#soM#1pWJNO)(jS#P=Cp^&iVu)UsMKte3ldrv#wLvbBGdO2p"), - make_tuple( - "oNyWwbgUYquJjbux95kJXxU8vnVdP(eyBfHZVMiLBKvaDuj7J3JeL!eH^MhR(0fGDy-v$=g3br^)zoV(4bf)YrOpaS", - "Cjs*gjEkAhw4g4jeUDc1vsr3X&cePjG=1s0lzB06#1cFUL$%o8Y#zVTdwx^OI4zE5YqB*jhME9j07d@QcOuVziKCX9)(0-tItle"), - make_tuple( - "C)-LWvf76Vpu@NJ&C3$%ws%wD6m&SGvQ$dE5OsmwfrkrTfYsg(1aDqMJbQ&1siw2ueJyE8mwmM4ah8haX1WUyLr", - "A2bOo!VgtHaQYBLH(BLK90V=JQL*gE*RXrO0b%1ZjJGvWPSO1sJe3(htfexYg1*b"), - make_tuple( - "iS499#rOYKQ)0ujOnc9BJ=jGtqEqEjbA%2#!OaoMzZ@xk2zMyeg&j*GTMx1nW#tbEBEect$#64Tpy4Mfo-ptNQKoL#7", - "t(RV6aM3t7nC^Bb)RvftW7WeaD$rEm@hocnC&p&ljiX9V*y)jen5XJ$6F*3(#v^N37%r^OvCJh*o%JWO97"), - make_tuple( - "fXs#&RL7PBxzaa22&Nv9dwrIHnnRazR^0R2dSTtM*26wvwuiTr-wGYA(", - "nCmGbs6cm7Q9wSp)RtxxDgfF$57E3a=s*5-8Wq=k!@FqRo0Q1QHD65aU#xltDpHSuUhlL8!m-mZG5*gT"), - make_tuple( - "c8Mx8uA=O2A0A-Y&nI$-AhprqFWc*8%sx6DoU(NCCl#yxr(k8MWi87", - "ez!mqoEyAy*Tq5EYRjR2naQO9!oUwh%8c0M#4sw)-CtV#VhS85svG=0H^$-7C0dN@u)o8sGE@@tE"), - make_tuple( - "LcCVpo9QZuZx9ek!V*2O8cw1Ski9D2Q%)-Q*E4-tJgbJxW^bXd-T4Sh2bs0-W*D&bw8&ZiJ(zC#!0", - "wh&8I%spt*g@NRY6K36YR0an#R%QtwXn)RMb&lYY0rFObe&vSwI9=@#i9q2cd2*b%6"), - make_tuple( - "lexW5ZZ1Zcd$faT$$R8W@SQcgR@8y(&(p(fb*hQ9SvllUOmY@A5oMEfP2&KmlYYkA6M*yYguTOjQfL!y(i2*", - "AZsrCLu5h2u=8J9q&Ju5sU4oyDMevgRizAKycuy4hihC9adoAoRT-g5Y"), - make_tuple( - "$0#$b)tyYDTR-Fhf-yE1QvpJa&0KSD6g-mq6*^QfByblNg2@4@xP4ElIa8UO&m=4^vRC4i!Fqu&rq^djaLOm", - "CygzhCJm7atWeYcCX%VhHK&aFiln^UEt*WaFeKwPn(iZoHybTuPjYQXw(EQHBfjopZpcQiMQ1r-hfMOxKA)zM6fimrk"), - make_tuple( - "(eflrV^XpzMj8#dzTU6LUXnEhZI(tQKup!iLCLtQJaZ4bs&1f^Q9pwZQARDaIw#ylpxxJ0j0E1Tzx@)ggRYm0JD9b0q", - "19v9OcSFRg1k$VsDNLNi6Uig$=jieE$rjUJTzqx^xfTRm@(^u#2uU(so8w198pWa-oRYiuB=p&-kzb)rhK"), - make_tuple( - "E!Q7$J)VNOY$VC#60ThuV2fT4*WHiHF-r&LjEVZ&q6mGAneONk-pxsKUeDPAcJ3ca", - "Kxs#@KRm-rS!ZgqdnnRYLmLtPsVhexNT3l=*-7kD2)upYadY0JN@2WQX7zMWkH3#1bDP"), - make_tuple( - "YCUy@9uNg%KzDes&Ah%wpU4$JO9cp3I)*e!1vNcka$jieclJB^Ejr07(j4*N-PN9", - "m7n4taO-G&iH-Hs2h9tnumMBitS^8Z@2P0Z#Nb1uJn!3tt5k-fVicLuThSA0-BqYn3DRABUc"), - make_tuple( - "WQEpj5Y92V$DyIAkf$rV8$J7NNAlP&1IcGFh)lLzuO%4GptCI&hZmo=p3i)9^Jg86MyF&InbHz8%P)==gkbK!pV%7$B@", - "yP3c&!T-j*rFLG9VazBC6zhgPZjYTE4(qUlbSAHhqsQ1C1Q8wE=uibGk!fxeE9"), - make_tuple("R5Tj8nIjCA4BWK7(WtvZ8rB$00PY8l@j#Y=RlvH4WG7YDqLS!SQKYX*nw3NfGyowavPt9o3R6oF)onr5l1Mez^ZczCd2%jK7vO", "PMmHSyr&e0Y7hBzZoRvqiDmMeHTxzTXnmUPYh!lVCOp6h%2@gy%#B^F6U!dvhFP9CqJ$G^j0ILt$VstIY@v)1DCz)-mbatQ"), - make_tuple( - "95x@QTNb0rMJG=0^I6sP8hGF0=^pNo#nlJDIPTkyrs!ihLGc!#e0QjPTrDKP9d3E6vD0QR0o", - "j16XEJFc4rTF5=k@FWHmyo3Jb^l!F)t-qSUDl(QBjL0wDo0XcHho57h9J=Okps5T-f3LKi#k%y2Vqa8H=2jUU^YU"), - make_tuple( - "S5mMiOK1V!bbCg&$q*^4XOXzlgHuQQBW-6)wcAuSC$(MomAF%QwI7SVv04Z(PKj5NA$X55t4#uT(H", - "IdgQr#rC)3oJoJn@Kb-IXp)&wQdlZOD!&r16y!^%ISDmSM$1yNkA6kHNYMYTOU%Zl9SZpMfFtkY&1)Eb!Vy94FD"), - make_tuple( - "@DEj#ld#3LFM&(Y6ZnDjEswaK*0aTvwlt5NgZ)2PmW6kNTYOkzF9zl%s@VI6Fw&2zMmK5", - "f4A89m&vw$A4d&6JRsPd4EdG@vSJhfP!P!(UhUiqc0ZUII8OKN-xDQ&arsZj0zTU!a)h)SDtvB3wDNJ#YrGEvX"), - make_tuple( - "ZwvS1%mLQ&3!k%*ONgKCtT!0Xa-zk!aOCjusyJQnlEa!Ufr#7y&*qXZ2jYrWiFxgl-*AB1OLGXOTJ379J", - "kujQ*oq8y6dMELTQCad)HrrR%Vy%fRLnuBvqS6&oS5RJ12BDYuK#*R"), - make_tuple( - "M@gGXyEzRVsk&hK7PCi4jbA-CN)PvLJ4%ROEcq%)p1MOU4eOp1HYtxrBoohG6YKeOiH2uciEZ*K3I)YLQ^q", - "ZlI8tXI9QoPd5Fx(i^0WjrKbVl6C@0hy&jgiC*1iIrRm4EPME*pn"), - make_tuple( - "xr@Gar7HJ5kLipG0LH%zJQx-FUN46OESu%ad!TBdC6$vEkzVSZ1XG!C!iebxud*e!d", - "8PXfKTWS3NuCDxs&7nwF0!(=fy*QmdG52Id!IdPPs953LkCEVoGVXIo&Dd1"), - make_tuple( - "pa)g^fFtSbo&fd1poA3lrkd5TvBQfv7%QW7Ql!3o$hWJwj-r6nyjTEDVR", - "!1yG%kg*2Ih^G1X!am#a&2i@1u)#C5tR0EAVYeC&Wr&v1yrb55lm2Oq3wiG^(a5CwFEv"), - make_tuple( - "e)f*Rxh*^kIbba9un7nVlZziR!Ti25ZGYAmS&TLW*3u4Ul*KRclcR!p3wTq%bnx&K5sH4hR9K4PrUkFeJG%qo#T9&r)*CuW3ar$^", - "w8agPfG3Aj1OHrGA$VL2^PRe=XvXOXU=OFMtpOf*3y%L9pkbvXE)=ZyDu6pexN"), - make_tuple( - "cf551(NFOQQa@jQhBPd7B1-0yB#)nl$JCpfsyKfvyMg-wI$L#e500o)M%z%W&WpL2X", - "*p7onQ@Ebiy2YRH7sfVc2A6JGv2!6tQ*!*aNcJU52m5Bq=*$3Mc8"), - make_tuple( - "FVOX((ZzHj!G2Y9xv)&AnWQt3pB9kRz3C3ra0fQNVayPSk-2CpOtMLV4RAIAwX4yxz2oXEhzJ#sPzJWFtYwjqxJ79E^G0", - "XMqKx3d9*3agTZ2gf(I#zd8Pd)Y2HAiE6ixpG68l@4H@qS9KmO09a5&Uph-FUN2oj%eO1gAV"), - make_tuple( - ")g^qB$Wzvq5ZhiS6%8Bfu^*JOp!NjIQ!)R%ApED^o2cxJ^$L&tYlOD$z=o&q6u", - "Vg95j*za15c7#QZXjZFUNy1GThFnK!g2coi&08kn2JH7!lNDcsjUCjruYEM^A=qZ0Hl79C*BJ4XouiC&@)6p"), - make_tuple( - "WzCe0jpFmkPxZuynT5MxY9Qm@Kq*Fl6rzC^-K*Cnour1J#gUtu6btCQgbGZ$fRmpO(Xgl(2Q#Ai", - "HR7^YpMKGfyrWJN&I1Eg2wv#0JKY(Vj1#Io!2h9X3$Pha)n845V69a7#"), - make_tuple( - "4Km!BI==qS#sn=0NK@1&%OokI0Kx&SGeHwWM@LYF3U5P-Aul4%kbSp5&R#R0JVEMgh3Aik6@RSd-SK4E=ddt", - "1bx9LTxK#abeM5S0EU1@9@YV3K(Qs6fun3T@HQj9YXw6K72u!McF#oAwzjRWR3uzanq*LFm1weeM4dh5-V75w&lpY%KrorE="), - make_tuple( - "h)x1ud(JTxyF*OGEAZK)5#qYs9gjir7xsLMxk6MqLvhOpsE0MA-yJV9lrGiM36)mz4EuS4)bvP)5PafrqtdZFT0k#%xzmcn=", - "7L9UgtxnvG!I7$8-f1f!7PyMkOIWR6ei*xF#E1Tgjlu4u)aALU8KDXZWV*18yQ*oc1w@MoApaYhLpr0ARz"), - make_tuple( - "MptAxZvEr^ODw-JbyitUUOe^cCYMmWN$fz@34)w4BZ5j*C((KX%qr=San^QKA", - "ma-veoOL=LE=1dla-fl6q8s(Rc6@B6mIjWQtM*dGSM148v0N8UtTvpzI%kIvzKD$T@gH3jRWFH&zu1q*etVEDgDBFIXOMWW3&S"), - make_tuple( - "TTTi)nDh^WhvDvCmfNqeSGfk!#w!(hPI3KCvu=inYxLs8%=5idPSbyENEw^txtlBohD^Pg#*ZcHGA)XLF", - "jMJ32^6I(^t*Nl)b%TW)gwdRfF$whQQlOEyQ3#)SPR9T9Qrl!E5MHhbwaReVS3YtA3=cDbx&tb&GgDlPrA0Rks0ZQW"), - make_tuple( - "Re%)kO*qlHLI&ZM7MrLU)@VZ1II(-hIccb(FdwCWqyHQNfTgysiIvN(px8(8$S3f@3t*", - "7dm#d$L^8fqn0omzbb8uxAMlxvd9b=GXVCR=%6Cg)0-l!t@9D=9JpW#h@qVoxNaxcjj#7-y0WgThVv4^K0hYoo%j8*EjJsg^@Ed%"), - make_tuple( - "snrxK!Vu&fteDliIUMpGz3kJW4yCWjJGFjVp@KUr&v=twYL$bdr7fz", - "JekGM@FUn$L=eM6HVO1(06v8f7sTpwn9hP^&WfpqGC=f3$=jBAX7F@tVifm1%R$D6z"), - make_tuple( - "A87JcnfJhk$2hGb@S=RX(tNaUD6sRGUAnLaMevEkg(U=qAK&OW8aUX*AT%agDGBGSAVfA&TiwIQym$krKzP", - "dJH$LmXgRiQ&g@S-xXqwEmm6K51W^tuZGemkBaokukW4pFTO%OponVP*VKq6J6R%NkojQQHQsLRXt7!TV-"), - make_tuple( - "cya@r)w!7s7mu-)Vod4PftrEi4JFZ52&h9$YmtAJj3N6mPgfe6VJja2u(Bd!lqI", - "jP0T3YTf#@Nk4e@HyNvfObT0bUyMW8fUwyhQIERubBDb61ad#wfYJURU7(ckX8(f^#wa9-eF6N==bb@X-gsGuL6Bunk8"), - make_tuple( - "3scWcmV5T&UJ#7uwhuM02j0VcE%dqkxoUIetneUryDo@^msZk()pXz4SiWM(DoroW&yLHVoGPCu2RUW3Zzl5^oSL9d!z90t", - "taZohbc9K4YZ%VE29ei=e9OqxZgR#)%n6NnDKetP!Qg9j7oqNxo4&37D7i5mLhujcR^-71q*7Kq&U8C7YbrhoF"), - make_tuple( - "C4iV0XD5r$f=s8i&5^a@whdFV1!i@ks#4a&5T(N0EC1ZJLT1SPx4UgU0gCeLpIx0UWK&Zdd#tpNuZA9IO", - "Lg1OJ88QlR5!teal1K9c(qn0(CwB)Gqm4yU#VE8X5NIVqdYPRFJ-c7B@"), - make_tuple( - "uqv-50*&cFZScREj^cWE=D!rX#Z8NduyM)dG5KZjK^9VVChrpI0u%nJJ$@u1BadJN2@pBPhye=GpGEkGjcGJx)D", - "aUqKpeAR)h-tonuUL3xL@Y=VhHi#^4hc3fA^K(FMe1Q0*o%fzT#*dA3rKFM2eQgV(ytyM0U2d21RqBj6-Hxh9Gf(1tAg#1z"), - make_tuple( - "Sb=Ezq0lJeKrTT2(XUDvQTauJrNhV%P=N0=vFF8OjIY#b^bGvU1K9V8$6ROke", - "O^l$a=u(xubtXh5RmSG)93P81v389&d(rTMFj9Jt1urVimG5xiqLr63^!"), - make_tuple( - "KomG)gp2rgkqWse1CfD5H)e7GRc-Jx07fMIfoSH!DQP-&@$stt03)8Q8&isCDo7XEjka(B0EhVYs@&bkv(oL", - "(Y0nHIAiUg=LEo1@Fd6%@YvWt5N9bZcHcppAiAxsAHbs)d=EtCQ#"), - make_tuple( - "ItbSJt0DdlbB5^EVzP9ndgchPG9h3&lZ&INA0HG0MUnF0df*Uh5ZxC2", - "ppdgzGy$8F^6RF5NrrHiD&*SeL^LljyN-z@XowFyxM2obRRM=N!p)*J2"), - make_tuple( - "6X&etHIS93iux5mePG%*hSt9C2GU-bnm)&*)Xl6LjfX7nTiRgcnKNfNk3*", - "*UsjGkk9nbc$=bgsy^ckpKCkLkgH^^bdX#VdVPXmjlqAmld2*DX#VuSWvjQstV8q"), - make_tuple( - "oFV8vXD6#cS)mcvBD0C^eo5)ywGcb2E@dE34*V!NAKk4=3#6*1Yafayzwie5J8O8Z@L93", - "jifG#3Y)dQhxA2WKKUZaTWZwe0x@jLPkCVc^%dL(0lX7v(D2Bw%R6tnxfDQ7$fh%Xe81^V"), - make_tuple( - "QGAr!Jw@Q#6GH!JuXDKSlg2po$uVF-b*5IBt91dT9&I&)6Gg$SbvWq%ERypeBp%dd!SpPkpA21NeKOyYEEwlf$md3O-OB", - "%sgTph=0rjI=%9Et8ntuS8B(GsZ#fX-cKtiz)E-W*caxoL85K-H-iHbmC33POBur"), - make_tuple( - "qmsgU(7ZI=iOYFa0^*N6)6mH7bDg-awAA=$YEsHfAcBenjPHJn!", - "Ao2M19@QG6-BiU=)Mw-%TeZv8st#j5B^1@sJoJlLrKxTrf6AHw5zBzxN*w#"), - make_tuple( - "k$bz2C)zBlyAzZMV69uia&sQih5Pd)F-P29^OTA(u%l3!4Wt51&(YH0f5Nt8c6wjzZLuuv8n4@yFiQ-nHH(", - "SiXCOER#ck6wOPJx-4SwXxjy3Y@va-bde&pWbVL@LGhc45Xi%SHve5GUsSMy*dZLv$mDt4ua*$h!MTjq$ja@ygpk"), - make_tuple( - "rW=qFKKB8ZOo=6VJs(KWeGkP!)6YToaQjW6udtSwQ3-tW8MQ(oxc9kAVXMtJCAMoB", - "aLRLH3nznc&PhsiojP3cGwcf-ok78=bp%aqSqeVyDWz59!xXd*lrAH"), - make_tuple( - "sYSQqSS8qoBa17gqZbnG-RefH!G*2yr*BIA1x$s^SZAqRYA6*rRNS=&q)", - "3vtWClIqWI%)5)Dv(l8UWrTx(RuVuuNr!7EIRW3%8fB)E#ht%pUskfv!bTxr2MLvcVbx&EsAMHHOX"), - make_tuple( - "5K6VnkY^p!)^#v^9zyNGV8V=nS2eZd=-d1aNwLA*6=i7fQ*Zl99oj)qfx1ee3nAt1*xcb8IDggOUH6%2vZV4Lg@JPX", - "%SL(bv2EmKSR9U(XJnQDco7hQkjEp5Q4eY93^JNn8u%Lvs(WLTN(%NRB"), - make_tuple( - "vdem$8GM3CotWarD$C35%XtmtZZ1epyMKnl4^7CeNAm-a9W#ovAFLAd7k^b#Mssu8&YwJu40EDz33t1ZN8kE", - "B5SI%4Af!tRvEwqQtLMPAEKT@Cv(yhWaZECw$ZEs@XTHez=)uUy4%l3VsRsDTl1w6R1z6CGm=MX-%o6Yu36cLOiWBhI=Uo"), - make_tuple( - "mEPdETwdMBfwNbjprQ)5#JX8M1(=ScwIIdqq8Eh5&=%$67=TJpO#qVq5X#PR%6nY$JnVbF", - "NlslwTqRw-O!iTVCNlMoHH8#j2zbl2k&g&n$hZRvO^fVc%HZF^wv#=3KCt&PQ2qFmpTzOK-FmD^*6nZMRpcp"), - make_tuple( - "loQT*o8eO9@U&JC7CIK6uB%9Hv$EtWx-ic@Bk$&SkS2@7KKv8Z79RcG(ei*0", - "63v*vlcnu0al5w^^IknnA*%fYROA5avY#2F5z=(toPQ8IkV1CLf9F$POncC4OPAxV2KknK&rwQxHXm@LOXTo0Js=oFNI1uII"), - make_tuple( - "-oY@It#QcNxVrCE255Ihfudy0k1K8-@HF!IHtMhy*lkEo9%h!HHSet(^fJbiQiFttYK#w#vO", - "s^sAt3STyRKw2VdVsa-#R*w%)C!IFM*2YW37UD8Mkjt$)IXyuKom9&x35xA9w$9c%NIjb)gd!k$SB%Mnve"), - make_tuple( - "E0AW71@3(NWGtrTFkwq6XpK&zViyYZBoV^)PvqO4N$YtH22I@e*5Tf!l*YNE8", - "&x)J#Rw27i#kF*!p8NsIVNKeK)VcUI@g^%U7G=2Ns0HRiUeqMjpUlZulu4ir4IfQ1q7Oh4NVFG1#E4SOZNiVwadiwH3nBYm"), - make_tuple( - "%zrMqfreXrlVgpN(^huPKK!BTsl#zj^Z6q-XkxQsRmC=bJKdok^vSh)XDFbO4HT#PaLU", - "XrADJmKKtsLdCGnXrDEG5bhvHAe9drjSY5p27oqRp@LXxE9Powa"), - make_tuple( - "7*YL6CwT4eVOEhx5Jl2DIIlX4MDnf$8uja9154SPGcW-=JLr6FhQW&zWY)G$zwwzg3$tauP6HAB&8=uqk-#FRug3fZr-ER03", - "wR#34qmetobfh@fV(Nv1&=P#WT7nrMR-&fs9AF#qOWKZb&5DUJ&^LEIP)7pe3DI-I!3zKr"), - make_tuple( - "jv!HdrQBuUvqWzzatF9NglsAsje%$fb-mtfn7(5Igv5q^WBN7m0)jxtlpeAa7-0UU#(SxdmrjAB5tP&6yjL", - "#x2bHFBv1s6*pyqqi^%pzncGmSR6GgV2axJ#va@mc1Fe@#QbjhNfeSbi"), - make_tuple( - "YoOQO)JHVZ$NsuGP!jxr9%kc@6fi=J3=62O$koiIgOR=H=v&z6t&juJR%yfPr!v(O#u01FVIOS", - "oc$lmL9kj(dllmgn2Vfc@t(i3r0vC-lXuUS7@)wA$%%w6jJd6=0B@kY8p1T"), - make_tuple( - "e(aP@vjaSAkQYIssAETxLleIFqmcTO6MM-HqXKlPwRUJ&%$IvnPNay@*CHNL", - "AantIwSsy!(5jKb5UbCgY5iwef9kmmo!pMeIR6x*XCJ8qehEPTwnbleAe-gJZp2)P$m0q6j3F1qpr=zGgMk*S$aGrl"), - make_tuple( - "gX*L#IRGG^1jX5@bq2B!I8EM$-aP(^2XpM%kjg4#jSOisf36KuAHT7%pX4^dmOTMT$5PZ$!8ZUZlYjFddS", - "pPz0Wlu*wOU&Oi3Oc=59h6wA!JQ0aFuDG@mni@$$*Oz@FRHvjBl0S$)XebQG8Kndnxubvg6km"), - make_tuple( - "xrJSI(aIueII@TshcxIRXLQp$^Z-jNCB)Nd@Q5%dP@Wv@Bf0DNbSmKpdx", - "j2fSVRNgWRCp2lMin&K8ERmVdxJ$F)w7xj8OLgJow@GQiwNs%)AgbB1SN&*z)D)q7xXxrm428G#uoU&ySvq#eZh3A9EHW"), - make_tuple( - "6gM=Pw#lA9Qs1Wjij$2Pi3R#obPaSs#6d$Ya6d1exrt4UA7Saa5sdevn", - "k1uvumz4z*K2(gRmC$ximUAl(^mHR==dJQAiwNIVx(WVoJuXGM!b5ky25@arcIacy6tN=q5SNI9$HE5EUBh6iI6dxL"), - make_tuple( - "cjB1s^mRQxyI4mJ!lMW$cV7&c6D6^I=J&atImwDLpWk=Mnim2TsAtdhw6EZ)ceo7(&))KRWBJz$KFoh@L0exFn*%", - "wTn4qs%t^Yq$Mi&w=ckq2(d%T4T-pZbWz*33*bdTx@(R9QoPy^^u-Wa^gPAohW"), - make_tuple( - "JJQmIc^F^kdvBe38g!=hrO02a0QjbTzfuW%m=M5hrbZwKf*)&NTOF-fg1jaB2yZdZ!%4QDmNbbNJNsmSVLApy8", - "Yrfm%fvB5*yzIpcXutGoHRqG)5(gn#cJJNOnXY8yTt%rQPQRbbp#0ClezX753N7e8*D2J&$92yMMN&Djn)Ynnz5HSy@"), - make_tuple( - "RJqg$kG9gM1=S27(gF6phqQErFFF(V(6lIgeXozSEhq9QLB*3g-G)uXnrJI(fJGl6vt97jJThSFMC9", - "39yh4LXUXgPj^je8dCERITpvL13U3xG7BTno=ot%0S&n!TSjdl2Zl-DrXAG"), - make_tuple( - "Z$hXc$CQ1pn8*X(mgy(^fimG1**kF@-C3UeVY%eqXvTf$eegeXU@&iCDTNtdB!r9xpogYEsV%$KwI(kz3)hDw", - "xl5C(biFI)DC@w5xSj7dKUDS5RwdpO2Xt71-P5W$!6Rjk(OS%%qpm2a"), - make_tuple( - "%R97Jc2ik!vY6-JUv#pOuesZOvAw@OaWmJlxo@x7iJQ$7xkDiJ%&2(U1TVOn3##Q*iWdjELCFilDkRgL)Mr", - "$)4Ao(335PR@JOKe#BeFpU=!Q7qDBmsLzxJd9UXNUk!)#D9w=VpdTX5JS@14LEBxDjY$l0W$WxE!4KuOUtZ5Y1K"), - make_tuple( - "Z(5R!j^qcN&GKI)0ym-jxNjr&oSy*Wkzk&Z)V!4-BnXV9c(YknrPmgQ^!#k*BMTgtCR09vz)W-GQPaR^YZKKZ*cmuqR", - "sxx%KAe(Q=Q7&j9nyW^oENMrl1L!UbREjEAz@*&!fHe&alHNi(%AJlkvun19GX6hprajcK-wW)d%wHVP9I%8!Kb"), - make_tuple( - "$vbG-U0C6Y(gWsb9VEK*-q)4J%q)a0L#7DwQ1JAozP8TV%oUv!x2M3I&-*", - "Zr4xER&fe%ps$@UKXtp=K33HG0h=)GM0GONZbf5tyljuMmb=81X$RyW0E7*M8e#D(RVh29ZRawSMK59k@XFn"), - make_tuple( - "wkcBlW9g%)5PK*Cxjrth*1LBwAm9)Xv4#6OoP!ALLjrHsuAS-8kI(ZKf0H0Xq)bJlIJ#!&SG(Wzo", - "2QwE^PhCZQkbB1@avrq=oBDukLo*feb**cDXWn8DNbg(0iVcnR(-m3"), - make_tuple( - "1HszEMnBeKwgd4so01&t%@1h0Ra$QRb5CiiqqaDgIoMid-vwqc(wH=knBcbUIxwSNXF4G0ZML#GaohwGJ", - "=4MtqI@1Sfm31eplhCVoUd18YqjP!HSLrX1k&jBow9^jAre30fgiz&I8u10iadwVh=cvQrFh1f1p4bv*tPDK0akA!u*"), - make_tuple( - "3yL^Oqn4YRVe(YJ4o#CiZ#OlR5htjIaqSiv6eEj$gXG^xOEoX1=-xDJYu#vAXjVFUzEcQ#9Ci^gsF)6K#r8TXUt*HdnL", - "=zGqxtZyr3#u9p-6I7)^!b0CCpoMBf-rS(fN2vp#iihwY9lu@(qXJ@24-RXEuPlM!KPLOr"), - make_tuple( - "m%Xxl)2fYIdU*DVPnOgK!kAph5HPDUWwn-8@R(CbjeUjVuqODz8*eVkRgV^Oz#", - "IRIK7@%Dw5Bki$wD0ReVNKg7^ne=nTt9Q-#X7wAlpJptyFdH@M=M7*3sx1ACeXh"), - make_tuple( - "6%4p!APYY0=4YEq6kqEB*zYR!cJYd(4XA7nq8m)W1iY1O4xK%EeKT4gtKl0Xvczq11GFfyuY*xXrrMbC8", - "WSc#KH@4nW)wJpcZQRbs#jrD5DDR2QYe9j0oril$9A)QCqCMujX0Iwoh8zP("), - make_tuple( - "WwB6aC)$$KRu$GrtGy@OVQ379N79x*Ygi6mg#xF*v9cjp*MG%b=U6*3HKMdNne^0nO5gGf@611eDkyZlYot", - "kJq0JoA@!nvPjAZ36iz9bi8u7kDOZ*dvCTT#x&R9#9=nS)o$f6(Awj$RIA^hYVtSx0AkdOWmq&1oHJd9ey*=0uc2"), - make_tuple( - "jwjVyO)Z07(o3&9AaVLhxHT3s10MgNeZgXHV1y@V2KHOYvpWN)m8EiurF-GEZA#7YtlTXA2QOzu@5prF9RSHUeCZ^jDUmtqhh", - "N2Bij(O)#RSfsT%4due91kLBBG!PLbSRuxAq0%WYlBWIU%gyL%fLnTXa8AvOTAsx&A0@aTeI8^!"), - make_tuple( - "YBx*@O7cG6zytK$(QGyARmj&0qG0HlCR=Eq77=b2HaZ6ko$i5g3iyfrfEL@1!%spLUrVWlO=6GHfP2ftG!GHZ-rauup6(qd", - "aT$NB3!xDwdy^iQz-OZ8ay-WBp5IJ#Q8Th7Tld^sudO1CR*PKLb*"), - make_tuple( - "MYzeOJ3DT46p@kp7b$1BOjdkJ6PjdL%PH8!gtucJn$T--j)HIAG@6%kJ!XsKNCweZq*4MQ36^4RA%b@mL36(C1)O#", - "UJmS7^zjP8j1iHQRyOyFW3jtZ)(0wesqaS025CiYMT-jvQYMk@jOS1sI3AVi#2r"), - make_tuple( - "idRl7Ykb3YJZo(p5tlh(r39H!pJ0OyQrnnL6At0aHlST)P@H*y(g", - "KVy@PYfVa(XivU(suKB-k-ZQLq9Z1RSi#2bMZxsZ*(=XUB(e3^KCMMu*SIfjsoyBx7QFpot"), - make_tuple("sDQ1s3=U3IqeZz94xquy5P50%xnyKkCW(@53DrP&kP(&0ffhP0iv5vBV!nQlWG06textadQwIE@j0*0(nDXriJ7qM6P4nZCIfAt", "Oaz8q&M3iFcaow)8Z43hzLyaJVhmekv1xv)U5HD%E-o3KmvPNCzCD^tErQFHiPmq=lKXo!WBb(tZ9"), - make_tuple( - "vxs91N(Jm=jqguSSpK1@qA9xC9b*UnVChZGMZ4u@4Qjaaq9L(mu-u1nZ&ATa", - "n3(2DHNgSAQR6y=QM(vWJbiKabhlX%WY0=fN&#l6zCb*o63!DxZLfLpd#m!L^-e$sogf^uiJUSLl7FgrDFn4jDf@3KoB1JIiA"), - make_tuple( - "(n-xiVDTXCrlYF0)Qz=oVPztKr7n!C5DhW@L7VcJeBD#My9-m0heNB^6^UpULOJfRH=q)#X7VI^27qmcm0o", - "j4DkQoc&XT0HISt0c^=bNGN0wHxytLrk3ADfOkWga6Ks!XEy$nju-BQBywgcEJ2U=e$DfOelxdENHE!T8A7)WBcnW7XS=*b"), - make_tuple( - "jHg=WYJ6i%@IL@Fhmm&@oSrXgu7f=0tZI1H2l2dVKcXCpsSk89bQQcvIQSbdR5aE8r)f7w@dDGHTKo", - "-o$X-Y#^ff$Z2E4kG^7gTu(mTYQ(EjOih4o4c6Z!HHnzrnl7@I$jGItJY#BFmisvTTkoTLg"), - make_tuple( - "IKX9NU(m**Asir6#4R8DSwrD7ji#KdieyM4sGUB!-*d66XoKP34JmcQ1SR^ArcvQz5P3vkJkV*(xPM7qv)wmL", - "Ck22)-*jlp85OKD4JkuyhMe2nrYOCOjREFD!AKW2fjFYd5iG&&6C4bl5T*kLB4zuXErhAgX18t$S*S"), - make_tuple( - "$n$FE&%DI1vjQClav4Qm8nzjGkbPU*a9!N$jDp$n1)ySh%UPUb@2IGyTs-MhmTB-QE6PZb^n#B%9Qh", - "B$J!yNZ=qraO=UQVZ&eN!rR3^@fLo2n=wgl)PHW566jRTQdkBLTfaJnkL=liN=%z^weT8x&QZleNcRtc82Pq%V*BqS)"), - make_tuple( - "IZ3KfGz!PII#LiZ=9(QdL8t#hYcgGFQOqNHTZk$gbWzzG96waegh%jMhFOQaa^N85yToxY-8so)k$O*fm6uk*8xW!l@S", - "dl*UfyIiv6rblSxjEoUy$GDRyRWm0TsI%PVx3@zE!WVGR-7Jj!j#CAp43Tk2&(NVi0X(lc4"), - make_tuple( - "xZ$%!C-Yg*iCnya2sL^jzZ-xfvGZ21S4xWc3Boh^l&v2ossU4u^8T!EMCgvX%W(#Ckp9kjnV!D3i^Bl$x=yFW)&9oEc-", - "F9yOO&)Nt1^5YD27653uvf$YygG#u9f*nVIJH-=r3D0y$3R71!6-jP*bnj$mQzaOd!9yKEKP^4A#%8A%U8oUE)6KSaLGnujxMR"), - make_tuple( - "UHsj0-jf=(d2t9^)lA4!%Bz%pBhi!Mx2xCIWmKXOwZj(dK#fJAbY2E84Ljc&^PI#6T", - "F(DjYW(qMpY9$0sE(th=acI1W70WA%Ya5h!78za%0vO((1W%8W75hB%R0T8YT=E5jCBPT7-lz=J46kq=*8t(J!V#"), - make_tuple( - "AD)CdJhn%*d2wfkl)wbq-EO&ptYZiYRP&f04ig6f@ChfK7E7fBL!Wxaj8#NO3No*pwgklNjZ(9Za3Pe(glr(k6-jpn2", - "xCno3h9qlccQRcQeyA)EORtd63VwqHwGWrkziGTllg8m^AAUb5-vGBcvV0etI(J2*^iS6U7Q1D(MBQOqIpCRVDm"), - make_tuple( - "KdTUSJ$b6G9lbl)FMY9YU-%2R%PBp%!JLFwX-eRgi)YJRcupWRLB=EzQuiu)b3Ud92$@C2%8qt6hnm)1*MGUg-!Av", - "!0xEsYCK6Q#oZ11m8I%lk19sYQmxat6uZq-XYIjWQv9eF=CmsX0F&9zB(Cr1-zM5QoYMN@A1sBuueB8KxOAiWZCMb"), - make_tuple( - "!cLA3%jwBHnmieBrxs(C*@EYVEtuwSRDWNn6NjC7)V!wL@HX5$L4", - "XO#Esqo704E*9^uNTL14H%1M2zcWW!4%LK-64ZB3gHCpt0(IyXgB*8D)q6prPp14TqPLY#$ob$QWIRNTTQAVVRKh9V&KZ"), - make_tuple( - "dU2ui6M@Nbi^!vSo3L6QT(eANeSBWULLHxm53l@YBvb9!-5-AsF73x&$&JXZA^D-0$DGs5WBtD^", - "Rd%69sY9J#sB--n*nJV@qfLmdVDC$Y8RzHGvqz7a(3Go-)RO0QdSWlpJaa%H6Qe#7ItEXXV#WodYEhv%ke#rc&c=-aVTe"), - make_tuple( - "YvltLFH^-$$CgVAvsc-nzBw9#hj8riV6m)PP-sO!WR-IPCW3B)yO3DMs&pJS5SG!qTQ=x", - "I3qPD2Rkc%iOt1xgYE&zbCChDL@eWgKs1Y*xlnwKYZaL$&3gJxiPHzWiqzpN7d3@Txi4=N(^2HS4Kwwui"), - make_tuple( - "1&-SVtX0b&sSQX7h*PVNN7OYvB)18ykXwwtYu4bt^^O#i6%A-WjDTf-2=q(9GlzsAcX9s5Zlm@E)vxESz!E(dz$5KWwVMuAWBp3", - "u2YOy3M^qifBp%aQURgJnDs$YiG14YH9eC@!0hdVMgczw*GmZI)(r0JF5&ITcQwBwxanUzC7dgjtZl^)gW=8d7q!gC#LXc"), - make_tuple( - "6vNQbcs3m6Qt6HGcF2Xns@N%MXGuT$oq(0#r$&jSOhpgRU5gFYyX#-Z@@SaJtc0VoAl@yfLmn-q5u7&*&UL%^eH!aVaMfUD2zfx", - "o*w#H&dxtfSV@Add!8(dbpCv9W&H%Dj^kw57YJ#yCM&*FF9SP@#PLvjnV7JE!0gI2g5Qvp"), - make_tuple( - "y2CBp-WxxFPxM$acS=P$&qt&q$@LfTHC7flByha(XgsVQA$n@Le2z@9AS3q", - "601@8SRt^Cxo#$&lcORn0s=aqR!a!0%JG$@YSyJCSwpB$P%$70Oi4)cdm"), - make_tuple( - "VTrC5@3oTTA17$6NPyU-N1x$vtd=z)9Yz9Al-6id#4F4m70FOOF1F&H370NwCapqAC1%ZUbH-zU*(MvbYl90)q6eBTxvm3M4ldS", - "1thq^VEY6ak4O7ZLsRPpK*D9uJE#ym*Q)cxWzRhQa8xvhYX@C*b1V3H6g@Sgz!iGXYC8$K4kfatpm1d6&a"), - make_tuple( - "Vc384u6U1KSf^bBjVi*R8DGZ#gef8Yo$Vtqh^$P9h#P^IugLXS!p", - "g74JOPduDw(Id!pJyhmyeL@K#E@UhkS4G3LlPOpMjS5yhFuh9*H@vPwbgGEh@V9*wJl!FUF=@cPdVJQU7hRpRltn"), - make_tuple( - "*Enrz8W6S*^kTaDIrIYub2$0-JPbB4ojLWl=3h!LJQNw@K@d7g*-IZZd8VbD9dzxleZ", - ")dxeh(qsLbeTLXtX38172p-)oOVtY#&QdI&fAxK!0t(Vfr*o&XcrCKLMtiZI7M=mPWDpywaN*"), - make_tuple( - "SPakx-Wb5KfbUEHTLqMgjbCnpt(YdZXks&Foq3jZscmfadl5KMIkqz6IOqr7G359IU1JD1QcXt4f80Iq9BbC%KhAS", - "&pH#SC%27yNmy-oR6y!fNe2L3Wo6!@!K0HN!#SXlMC8t9wmyPNf2ANaWTkT#1I9ZE)V@7WIJzA4^t"), - make_tuple( - "^3Vq#R6&QGzm-Fgm&QxjrHSq8pwmZgfGFr5R2P0iZkiQ00hdf-niWHh(ob!3#iIt*mYC=4cGsRgqkOqhu1=%Mw", - "K)1Efa-P@ykgOX6CA4zBzA3s)V34yB=NWt&K0r%C6zsC2P*mwG2TJqrmt(P8ERsrDl@!m3P&&IFuNi"), - make_tuple( - "bWx2!3hTLaHqbRQDGKZ$X7B8@l@oy2CFXou0K#MG2Kp3$^VoPyBudt!IHg4w3nB&(Iwe$)8-GMBwDsu-W&RMaC", - "ekwOJNN^XrXRaPya2c2fun5K6L!fEuh=SaI1VA7e69Lk7=UrTcX2*ygSWX#vE(nE2I!RG9#n%9W3CV=zE&TYNZ^rT-FNfD"), - make_tuple( - "FMY3EsFSxflCceW16NG)Fe65O@cYQj4su-t6jsfjyVrnK2#s7udz^QA2M)(BhQ=76q0wn))UAcRxAIMEVuuG@J$7qTaWgmp", - "aaRv%Vx%3k=-T&qE78CfYt2gDjWVi=Xg2n2UfDr7cBPAK4ulnolIuFmDHAs)v8WMGRNr&N3k==BuyW!WySP-RR4oO%"), - make_tuple( - "Hl*xcarBWvB=LxfDh&#bOrW29tttO$Y7SUk3saejlvozn05m^6-L)z$K)f@fb)LOeDK4kHav$-Dj$ux", - "n&R!ayvNPE(hac-eYV@0j4=6GP(Xd)2HSbKKu2#aPX)d6D7^a*uY#xZZ0)^X1aPBLj"), - make_tuple( - "Cv@1gE1D^L@5#a@jWOo0KxF)lw0!5!lnm-T**ip^56mj0Jlq^&sYjP8Z8F@FZlf)$p2EGB", - "ZB78Nx&Ss8vKA5ZE6A2FIUJC%Un*&uIhD%Zv9I$7!0Tp)QEI!3h*Tm%65%wh9f0eagAad!!in!Shy4CNmI"), - make_tuple( - "uQP56U32p50)S4&=^PtS#C0iOI)(VVJe3l*^73G@jRVmn9*2xVe-7uWLTj7zGisK)mnhHxeYfVmyU-53)1Yr6ste^", - "Oqyg@Gc3-mR!(Wx-1osvEgWfmEJAR)7&&vaBE6PL)JhD%L1kGv6a3fkssGwEYerQXyKa*mSw0Bbxlb#uncY0PDBGen4Cudu"), - make_tuple( - "XPSDfBu6uGC4i!FEm-xrKXC)=pO9%YjkIr2q9ICk@zASlJvMWJNk*P2ha1C-Jv5DuF@w$CNj6S81FZP", - "8(abNCw5nlWZNzVTdEMWPVIpDZ!C9Llzvb&(Pgc4q0M7%d-nUz"), - make_tuple( - "M*gT@=LsK=NPm8u=BmCgxjP&t$^&iKFrHZ)xjtIBTF*0Zzl%9RZz-GRf=VhFZk&!cVMMQz43Z-gLFQGE7y6$", - "@anijpQZ@w0WY^qT7*boKVPhwHkcOOyuP%9jDFiTP9lB!@V-JH"), - make_tuple( - "mzcLCwLETIy-p8t=RUh=fABI9-EMO^(w@KP)7rO0FT51CQEC-)y07(1PHBht&81zUXkywPUXdoRitDLJcJ1pboBvOFKobax#Bp", - "Zg(P*-4Qn%EsmcG%!hRje)yQYLnLP3CwtA1Zr#t-&S0U#$%%PoD^X@TL2TM0OTuRNL6=$E)6bKNpcGaI5*DjryZq"), - make_tuple( - "9gKca^nWjaX&wUNez^*NwsMTF=sAXsj(Sisc5)!)!zXX3t1nE=em(XJ&okJeiijj", - "T-^1I@yQ1eCqWQ4sNtWGlG2@GKy4yM(yK23zBUYV5SvKfK4rNu)GCzEG)hRjGL-s*=ZCL-2D=mFt-p3B0oR5BN4"), - make_tuple( - "*vUt@%6mIJK3DEU6pN%M9uUswXa2@H*pa&A5TEgMKcs8i08&g7$Bh!9lR-gd9", - "(svl&fn7dJATbla)dm1th^**c-X(TS%v&XPHxJTd702K^E9xs@%Sp2I@"), - make_tuple( - "G#CYzu!dE40nPxtHuPHOo=xgr1asJOCB83imJ%0QG%9R@^GNDX9KNj%", - "5mhOZ0tEfCmRaVq4z0^QVZe$0PnKWEfDWJd!0ZGkUkkz5nbZIx=qc)Z^E1wM9@(d"), - make_tuple( - "JWmozl(hKZ8CsbMhw$erGnPsgAN%Oue8F1Thv2NH%v7ufhr0E51DpWxD", - "&spY9tG0Zn33eQQmQcCPihw%c1v)ZdVevGHZ)j9qxJm9u-SfeTs5B#8THqchRe&x"), - make_tuple( - "3iu3Biwiio$CzT&a53iF@oy8PUD1TR%O&RGw^FilaD%kLgkDzbvKb553b", - "=B6qJKfTLwlk^F-TusAe-I8pQ#mEyDDT!n*d#j=mVCq6&OOMBx%C@lqn!!Ag9c3"), - make_tuple( - "MDXvpn!0Ivm4BpG2YwRnygL=ChX!7TG)X$LbkIa^i1BGohMXYQ31eTjuen#3HqjG-M0q@7Eptf&q", - "BrIFhl)Fx2c-BD%-u6OD&7*KxBB!(e*lo7w@ErUFQ(ZWF83X#H&Fw3v6l&^g#U#ve45aK1(lT$LxqYTAen)DRzRmvgUvnc"), - make_tuple( - "xZqc4^0HEvKJYi9v!Z8%*g=XfZ8Z8*vhMlpQVR6DL(ukT$jl5XJPpsl=PCItfOKhuikwMaqNicrPNVJXR@hvlk", - "2n#L)cprt0X#oL220Z@%1CqG!g2WQiiC&8#vdCBRGM2-nhmbvA9iYbCtp3hx9^o4zbRcJId95ZACiLyKY8$V1UA)Y3ayw"), - make_tuple( - "Fq$$RnGdHN$Fy-e^n!watf9=Dc!O3v#pax4dkiilq*E0Q2$uW8GmE8Z8Rm*9xkKaC(z1nHb29sSU4TZ@-DF7LatNV=spuq", - "0Vv-J842tb6O$-h@an=A#AsShAnZbXcG74$y$2Byv=QwIT6&@BQ$-ZFTHue0lk79d"), - make_tuple( - "SaT9DPRsuzdkU4#pM^wQxlA$%sovpnKa(NIw0rh1HzMUsR%v2zGn", - "uaYygo4E1I!*2n8urb3qcaaFZx4semxJBRvH7A8VYBlFmIngFVgu))TIA*1DG&z&#ofv6E74$*-o&kR*k"), - make_tuple( - "T^@wLGdjU7*0lkZBvD-6gcacNa=Nmp1JMej2tcXFVBV9Gu=4dQ!jYQGbepUWe2l", - "reoz*-86!y%ay&QD-uxucr7FEd7GgjR0XfG8maFvBszR^#utNyz0!1iDbS*Haly-o0*-dWLLMfitr6Q3*MkeLYu83gAN1"), - make_tuple( - "x23=r2FI(1@uwlvy$dv5O=di%!9@cXj1gza9xI4V@)#uO%bJcoUqn4kzM=qrENimpZA^s3mqi@HJnu%N!Ldc$vBwWJT^53y!E(7", - "9FwHK%vb22p6U4FKU9&gxtoJo!KJCuwflWGA7F1D4Og2I(T)==HEPFElH93jNrSc*1afcHr1r*ce"), - make_tuple( - "qxKXTbMx!9nYT0)E=SobgStKUjRdhp%VtN%JGgrbYtPd=5jZdq%iSOh@", - "OV=!%hRpz8VIF-LfP8NmdbJuaqqB^#pJC&CBPp^CLu9nw=G1G!#bB"), - make_tuple( - "Tp=@fBXib2CMyi1#CaT^V82hirz3nN=Ne$B9oPs%!yk8Fj3=AOnU2Zv-VHK&E&RtwE1(owD(k^@w8mzMQt2(7ES)dtlyL$m", - "yIGE)lwTKEmWSVhgpYZGQHNV78AVHR@U*NcToM!-w=gfzzolwl8*c6Pq2jo5lklp2*asoKIqmx&"), - make_tuple( - "7-yVxpFVpcT$7Zocw0YJW%nOikD=Ez#g23hd%-e^637Y-p3*3@S&mJs1B)7*rpmpf#^Ic87IDg#", - "YXrniV32z)db%WUrSzYJjZg&D3tDRe$Bmj^LKftix*pfP-Ny3WPE&MkHl&ljk6aXE8kCR%XZs="), - make_tuple( - "Hu-d(vhBQklvlU3dqc7yt-BPeJQh6ZnWQ^XcssryssPHSf)g7mg=N=Jz3AVl(NVKe-KEPPbih0Cvbl&YjDD*t", - "!I=RzyfOB)q#1iXhXwmy&Uyz)6%DYWVgmyrzI8Hcv4peKcTLiiJSsoL-2JT@Pvhkf^$jDJ"), - make_tuple( - "rBCYb508Hl1JH&wUql#p@*Tzby0#5y)mAhQ2r*h3RXLsMtSz(pV(^YAczHctFJV^Qq$r(YtHW7TtnDtNjy2uc@1Rw2", - "^@)SXkIGI)AAW2(iTCVm(%kX1tiG$KWcm@ZlLMmKihdXwOL8*fBuWyn4Aa6B8aq*ExNV$!uPga5yey2i32WpvNBixHmD-^a"), - make_tuple( - "ygSWFm1uH0pn)t6&Z92Vzs#9k2w2fQ76E-1EM#oT&qQFW))Ab@", - "k@!ITq^L%jALKiLgluhqfAru@L)ZlpJeP#haTemKlBIVSoZuf&k7ct-n"), - make_tuple( - "2&F5KCOX$nB)K*!*LFrdxz-X7Uc@ryD7fI&CNLx8ms&P(LN*r10tb4==$IuGBBB#zqK0ZWOhw3NHci*lFF2vxQ1cki!%C-iOQ$2", - "1=gX9aH^iLArYBp$)9a%IxitvFTyWkdCjmbm$ttnq&N&28F-dq-qt1drG5HyPZnEvHv"), - make_tuple( - "Ay*SR^n4RSj9blF0Tib)dpgbnF)LiU%A=!l2BX(o(tuor67i=T3w9eBPVX8XC&)Y#)8E4CxVC^BmO(M37!YhB9Nf9Gn&47=", - "6z&Ywk%D)uyHs(b@^^rbUbhNmx3gWW$25e=##l$$Z)G@-Fdcf@Th!bCcC0YYy3(I8XJn8kVxTAFT=G(-XQik3U)KcOY9N^A9aIu"), - make_tuple( - "5YeN0V(rRT5mE-PUIhn^5uO=kc$U56kqX6obt*vEWG4$D^(DXLpwBVnXIlS&=ayMc=WFe)$epi", - "e%N*bS6VtC^Y6SLb3Q$@uKQaoP19Q$M$rb3@EIFv-lIa6Hyjr73*vKRnFMZK%96XWbW1AcI^bqCJpSDqei59hwVEW$h#oelwx0"), - make_tuple( - "E7f5Pi5HM%DOWLx7-AynsTMkcHx2wf#tPKpwU$v69y1aysu5IYAe$jE3-Vyqo1q6LHHF5b7", - "5B6D(jRT-UFM9p!N*o8kMy2D%DxD8P0^#ODP1c!dR-lnSNT3c6wAev21KI=X!e56=7GJb6L(kJVI!dJE46Bsn-Y"), - make_tuple( - "bk7Cu2d&9vITh@rl*NCBd8cse&Eq^#8(E6WYS#MZv0R*jF#yNNJuNGPbdwL%bDwM*o%C)&kdDwvSC%", - "#U&$SF*=##y!7d-VcHxXRppDrtzAs)eVCB!z0g&)t@zdWa=YwhX!szu%OqY#A#(QUbSLVT#-IrL"), - make_tuple("oe^aHqbGIE$kwYm3X9ehTp7HF*q7@Lrte5SE^u6&e@07YFvmsl)ZB-fwv7hVxD0V", "Y39#wa0^wacBJ(cG=9!FSwn=at#=g9@SQ56g=Tq&Hj)5zgyBX)jVQFP8y%Pyh@JC)Ma5UavSh"), - make_tuple( - "DEFD0iuhq96XLIePNns18X@jgGOzvCy&kdLbPmDj8!Ebor$WyC7-Zcca#YtJUCZ(Poe!1Qhn3CMc", - "Jn#7#^CG2K)!9xFx*ymK(AygoLG(&KDc90DEaTNI1c5*yMQ6*Ad^YKjfv"), - make_tuple( - "wO(AxfvrdIfuLDqFczrhPp=#i3ahf5YEATQ%=peHCeRjeP=l9xhHL", - "Om=J(HlbxmJFTgT90J*TDHrXr@6@Ot#(JLLMTUch@zqYDtDzbQ#@W"), - make_tuple( - "VG!&EALgBaA!SZ5Q-csTF1TZDcsE7@LqB@bsKDFhZjE5&c@YIBR5jIbC)9%x8O4nDzVt9ZjRzc86zw*H*$8mEV5cQ-i981yNL", - "bWG8*K1HCd9Jp!NE#3WZa^831E#k)VVi*GszAx9Mdf$oCqp&7m@CJWwNpPos9IwEC-MPl@AYaAQA30ZZjcELGG04$Ln"), - make_tuple( - "X-QFl-B^@vJQP!8i6joBdBSb$HhigAonZPnhQpAMEQkxmlJ#EXfPt", - "5qH#eRgDtB5f1VtKm7uM-NBKldnUtwoNyXbMpM)ea!HVA05!VaxDoX^zAJfbtp#6PIjqa$aC2^a!H=Dn2iZ"), - make_tuple( - "DMvLBnSMwLqNHyX7qfUZU!2jSaK!JAdZldc3pU)fabcxkm#wg9n2*2s-44!=^dg^AE", - "gFmd3rHDmYzy5zHPlepcKgc@B3KwAzzjj6-MS%-NcjGVOAMuUgysKAdj4gix1mPV)Vj8w7h&4Q7xw&TBzEJH%xmEDp"), - make_tuple( - "mj7Q5z)HX=dLxl5IOnkv0(CiiHiP30fyTCGwMwL4MvkmoS*h5Gu7NWhLE^ow^UG^HMLCMT&3oAm(^XDs&r0))GTJwHfcl", - "Nw76W$#@1O2voh*Y6BCRu2eJQjb-#U-9SRt38qYOmNZ=rktNQRF5w!SMLM^w7ZS"), - make_tuple( - "%Hz=vMhW1-wsCrtCIQv^(wpRUx1bcgv(jqdMf8olAqeCah*URq44cH@7-n0sX%6=6zO9v@^ph4E!fS#LxoNfSWzbOU0qakByPbn", - "tnn!Wp9(h&Mz!rn9GO*ON&7N@Kll0423&M-HU%(R*@PBA(1eMdSUiHJwwmwCF#79@mf5Bx1nOxxr3!Va%1dv"), - make_tuple( - "H82XHXHrUuvi8Qzz3S@Um29SN8pN$1g1T@=)SBGxYJOxY9Q^3%fqmt68)xQLy4BO1S&y*vxClGRWGOnTnkXG*!xU50%OPHUE%", - "JK8dN(K0%!M04ammY-TSH(jV3p3G4mhDF1&x4%GjvZ*bAm6g-a(9V&#MOJ-2XF"), - make_tuple( - "=ZKYQPC0UO4hF3wWcl16ORh8x11c4a7@hx1hJ#wFsE8)gNTJF#LWo1uAJ(m)g6BPKI9&^*2a^$-g6U^KA7!99DWQ*Ek@", - "U#S-7dK@t3Ye(h(yQZS)9Ash$S%mc3(6lyE5!vE43)2*$q$6X9%fPcLsCliXfjceo$tR43=PzitoRRV32wa5Sc"), - make_tuple( - "ltYPBbOjRRGJX45Qq5lH51=fhaI$e9TXkhy5cxCHQNfo!C&s%*Kk%HFU@8o6Fnjgr8ae5PazcmT^r(aKm#azO8t8ALVzsuj", - "yeD7-pezVx#w9u@VQfWCdhhQK2FUN2VYuEisN$D(=XvwvYdS))qyBHtTMFdJHZL#z6sFZDsd%5r255iBp8IY=BqW0"), - make_tuple( - "Jk@3SmfkZRee0OW%x*hGKxT)Z7^$7%C%!G0Ijl3n*WQpT-mqKCB8q2Y@lc%Uuo(sA3Er%Lk0Br4%-uWbFlZJJyNV2o$*", - "63)6T=mqdPTj-0Wj=2c#YskYTvr1=j9ik2Wu(&opB90dD$GEx2SLIG"), - make_tuple( - "QQoJdk^*P=sltLet^ROSYt!mLc2g6EDkhN1oU4P4XX^ika^RwZ6gH%)x3pXeaKSrJZ5IhHyIBjXjyKV)MQq0", - "!Yg@M968TuPuI*BDYSh*0OlfkYlME#CXNH9Der)ja#-N*ghRYroXF"), - make_tuple( - "6iP4E48JU8KX(hyyVqjz@IeQVpKJSBpVM1wgAiZudQ!oJSBTO%dv4tJyxG6&8n1Vh03)4LBOL6eBEX6Q9Dja(exc2Q7eGV", - "JIDaSHtVhj5Jla^FM8U7IXDUHZoL^DCN@gllN)rcudu6Mul-L@J!(dYxGKt4y89tPSTUis=y&bLy@WYAuLt@iV-9eXA"), - make_tuple( - "M&y5ls&kfAyi=eOqCcf98a$X&i21cwDw!nouo)bSij&*XY1IugZaH-*CngpJZP-ThfDndI&dT#@l9aaqQ=4xjSdEAbB%wUbXU", - "59SslQr@I9W1qSx8OxvOUkOOc%%gs-lZ*f4ihlt-3mxo1XYE@6-fXlh5y$kjnKf=ls802oh98l#p"), - make_tuple( - "t9lS(TMiNf0t#zBCCAyaOHyVLMpip1=sSTW&H=5Q66rnuVn)70aq=JBUbn(JhDAnbG8EzY", - "KW(Vm!ZPczpY@$!0O-hh&!a@6xqa2%D-zP%@YopZPOY0Wfjdy6aJm0MDd2xp$f21!q=J(#zTE6)PYJ9j-!*)ypGe5vHs(Yht"), - make_tuple( - "44gG-NKUv-@if-89w3coE@HzuOHVr*snn#TwQc1y2envDM4NIA9hTsfxauLTt", - "xbNO^L*K&hkmZ6#3U7mixa@zQMFLN!C&Nn1r2N4AL1wP-WyHAMu%#2Sj=cpNHt(6$NZqo18(A$o4&Gvp3)%(Ot(te3ZZbsy7"), - make_tuple( - "G0JnALxqaJGLRhOzI-^Y%RDghjI1GqX^hW%E^WHkB206=tZpptxa0Z$DEhQN%tmLNh8$%y$SU8oHTjtjhY@F", - "ZYTBtDqjh2@i^6E-%#t8Wi*)u%T5x1$(to2SVu(m!sWqv6PGRO0OR"), - make_tuple( - "ykoNyPkkUcdW7bv=KWr%VQw4ligOeB#h(FQ#d)ddM9*Y#b18In!2hD1cy(eDdQPHCXhWhcfC-w^Y", - "l4Gj!DpT4f^RZ1)^E*hvM=V9zbk0glI&YYOOrT(anzjPs3jpPpODMIkyM6wSIuck9T$UqiLPDUM%zQ"), - make_tuple( - "si^FEn-B*^K82G3qmAT!1z#M19TtlHuervn6q)mj@4vRHNsvNbAy%)wXMiure8ei)bSJy)C02MT5@UE1ZNh1^djr", - "2LjeiIl7^0zPkE%wtxPKEjiNKjsG7aaugSQdh2d2Wx)(98nr7Nez#xwc#HInnawJ(db9kVRHD(qlTt^uE74qr!Bx%5IUm!W@m"), - make_tuple( - "@KQ#DxtJngVDvrbKw15l9KG596QK&64*T&JmjJA0a50OBtpETsAIu*tTS)7T!$V6GP", - "oT-S6b!W2uS8-3jMxjGMLGyNx7#c2ZLMw4NJ#*SiDy5^zAdenrTF-HE%J%4=O(YEeUPB3WvGHwHMgXqGvIW#N"), - make_tuple( - "nsgmLlmsEJi3QO8zNX1YO4L)IT!yNR0rp)1FdP&3hROw$JUFBeFRY0(azZ3xUU*", - "#S&tOj(SpuZ*=#C%GFSo^a%89FWXkoOE2Dum4Yr#kiHOAvA$PkgP5mTS)n&u8kv^4QS#DkFd9Fq#C80VPoaBj3rKZIjRNfQe"), - make_tuple( - "*oAdm)odz8hlxhZ$n0j1x2XAIHo=xjEeUgy8^!jyt^p^3YKT@xl@YP4La)y@Cx$ERVFc9wuZ5$M%F-xLb9eARFR", - "0995E-u*B7I5Cg5id-Svl#dvqS-*5&V#U!j4fW$w8*udJcFjJAPY3H@2^0C-C5VS71BKWCGI^H&RpfrA#&"), - make_tuple( - "wSEfDim@&L@sqH@NgUA)uj#j7lKFJxjAMl$GxUNTwWe@gvIz0)hnMYHAt&Fx0ebE3%@dAbr73#sqF@4U2", - "W@WNY(FWqNGUT7SVH6DrEsut@RGCJE5xIONr3ZpG#ON^UJ-)6aJtbO4f(By43D@zCKg"), - make_tuple( - "P%Amo#UT^07EvigQa(Kn6u0@LL9BWo!kl*prcNw2z*m&y!w4mdraV)#6fxzbqViM0xBU6a!!c", - "R4fO=sLcaOuOv2Y5oyo0mST*#RvTv)2&HH-n3ksGAdrFbKnv0n2t2liX5T"), - make_tuple( - "-NL&4u%hW^tvzQ)R=7uUms-xfAK5fLzsNk8%t87Abk!LwpDLb#oPhtw(^Jo9iu", - "y974-GXnyfjUSz-1qr19Lt@Q#$7g0d%cLbfD4QRRDvDrdaB$DKaEQuuVW82b"), - make_tuple( - "IalQaPgB2dxZTpRu53e&OaLYj2-xuC7Pi^wPMq)6Vpav$EtYlf9sPnZpN3!RQSd3(4pN1iOR-Qx2m=f%", - "vv)#ylHt)rL&nRm-$#CYXjxILY#l=2ez&)Y(0^3x#ng8Zo(4Sl!kVXQ4@2!I&L2$gG(8"), - make_tuple( - "6tPLl@wNY4j7q8*GDjRKYJxHN@dUSv=R&X7vqLFwH7x$b@Xkv-hmNTix)u4FYbqZV^)gT1iL0wLp=1e9gv1^yN9)HNP^Qs", - "v7RLRd5Iihbt&N@5*@EOaUE1%TfoRZCZdooSBroEvO-!tKWbaSV@So6!(oBVLL)DW334UCoAs@I*RQtYuiA=xirfOstHgk"), - make_tuple( - "Ft0l(odPbWh*9(cV)d-0Q$c&nVaq%ohhi)RUmXoR!CJGVHvWs@J720=iBQe8zNd!zrYU()c6jbAabr=HJBfrn^ZxOlS", - "aIAw^IIdY$Uq%PPIrTitxk@Cs*GYYKTb(E7WpL!KCIE)gA584BoPtovyeRe^!Dp7Z51oDqCw)qvyB@rSvjaejnEtBA"), - make_tuple( - "DY-e5PZf-4TmS%Cni7G)ti-S6II9zcC70Xz^hg0UM7%xdtKAc-#MFc2f5mObnhRvUh2GYi09utYCtwiXe!ERwrg=Lf@5f", - "gqe$oKK!m^Wm!E$(ujG$Q5M-iTABA0VI=5c167p7PvaYZnUhmBc7dZt19"), - make_tuple( - "d^G-im1AbaIt$GVaCw7sKBjXW*g5leK3eFNoG8cy&&YugMkfo1iNP5dkK^9dkHp9v4kwg=fLB$!)$IaPQX", - "DBDMvaR&PrvxHBhxmzT=mo$jmkM81@FVGR=W2Bc$$12wyaMH1=HOP5Ongs(sF3xZWfo0N*UJ)@fha)9DgjHpRbh*x2l)nLX"), - make_tuple( - "g*$(nsfo!LcX*Poo*Rt5YBzz!*Xi@qo89Hp^w3CyCSVKS@6^V3-AceV*(pa^-1V5NUi1kv", - "Wcz*DIPlajtHMAuf%cG&s5DbfqGLDMLUj%isvUmx1y!n(hp48vPs7(ZMPs(%RMi-)TSWdSHGR@q4ELQ#VIZ*$@BiHlfl-"), - make_tuple( - "2*Wvt%PD1uh2nKJZr!8s0TN4sNSD8gI!-E3H1Mws&HxFiPUdg@#uZ*ks#hMQ49g1^^CB#", - "mBt^7M^69!92cx)uTfE!z%nT*TjV=23GuYGY2Z%qJ-ukC9k1Bo-I%d$oFNzJtt"), - make_tuple( - "IC5HSyZyvZ=hw@ogSSjfwBT-QK*WW=QZn12QRJ8e#PXI7cl43wk8JRB=2nH)DHKYz-pd#B*(8gZ5F0LkJ)", - "7EbtXeFX#AZhN9xGj^T)V9KYBp@!Z*(1Hu8VvU4VUT7COJ%J7@(Pda)$K)%"), - make_tuple( - "&*dPUoN(7ZU@bn%!mgjDo^Dc%BtOiP5IKpamHL9dz8=O2)M)5^Q0O^$L7h&IUo1lnkaQE", - "v7Jn7T4DBHw7iq!zq#ylEaQ*2uKP%9bUhv=@Y*&MxqFC51AWP&f)C7Fx6J&DTjfoG3HcUv*emryV*JMB(&8"), - make_tuple( - "Uu#^oH575EXD4VcoK#BPy&Cw8R67)=rK!0%463GD700rP2BK*UiC%cKoZ4X#&0bLTCFYG5H", - "^BvZG4&SM&90^orK3CQzcb=lTHkCx%d7eeUKtT5Bhn^-h4SbqPkLaoRTpDggGHfJSV^eR^FL&3Llv$5hSN2JX!jkF(mt"), - make_tuple( - "$YBQujOH!MW0T6ylL1Cr@ivYfD#yaK$$rclgFqJ*6lEggAFkRXjO56cK9PR%", - "(p2QL#mE6gict@#)gr7pWku@!RlDa*jSdE%43dHkkkrVGxBWzrU^9t2Vg0(EBufghufr)A*1Gq#Ewlo"), - make_tuple( - "Squi9Q@gsQ=w$M6858(Ucm=qFWbl3kw9EeEY5eCH8Q8pzs!e0pXEIo4n*Mzr&^FrpZ=A6AgDf-Xkq3)fhYUVV", - ")G!IS9%rDa$3ogj9)bKw1uLsSRAqDLc@)CgzbqTJcDn3#$$)brYd"), - make_tuple( - "wGbe#NDIxS)T4HSGK4sidT1=6N2CsR!4eEkfK*%J7w$h4J@vuleC$tG)0huED", - "97q(T%Yj9U)U9iI6Tf=T*lPcHwvDK0yu1c)PknT1&q@w(IZ6Cnw2$kB9"), - make_tuple( - "mYvX2WmX0#H45WovH=YyAIO2%oCUR^ZhyLGYlQ^XjPAj5@$KK7gFfBumEo)Vuf&-rEyVFWM4uPGIFT", - "vD468BuPo2&MG2bShQ=QN4!t0KD4!AM!M5Fz9ZGXInq$u9SxfE$cP&O&ZSSnITPzB!(c$d3kxclRkpqlE6bd4"), - make_tuple( - "dypF)TUM)XXX(i(($M&N@HEP$v$t0$j4ou^T7%k9CwWWF4WOTuWKa$GqQuyDo7lJ9wZjA", - "V87$7*Ip^q!6ZIn&$3FY5mqZHsdU5-T0&npCseU1v=f0MiQJ!(*l#Pf"), - make_tuple( - "kSnh3(-2iQ)trjuF#@&a=KqqasogLb&$ssYvgWUNfLtpNW%JJoIKH3ZpH)fwT%B15s9", - "9v$hP4n&nwV$Wid4II9*EukmA^$^*0UUW0fvXqTw1a6sTn=K#^Z@2VC0MqaHCcFf41W"), - make_tuple( - "y5---EGL54*jOrIFn$^Aac-uiPo!W=!s7K8$YI#t#xhtx1WJg5h3t%FVx)", - "LA0Mm2@n9eo7)8KzOTF-I0wu=-f)#35!Z&zB7wo(NoWR^WS1nBSr1ni9ZIhfY%XvFCDzIMn!IEfY&*uxelui9S"), - make_tuple( - "9LEJt)J%EmctKgJrOu6on3JBz*oURHZ7u1u-l6K1xth81UyWz30&DXRD!tkTQZ1*Q-uO!zR&5hmoBoNL-2vYHn6jtjD!uJ5nMO@p", - "86CTo3x4IrEbej3(L$0vAyQb=NiPXUEi)u-u1Cz=uVLmRwZcIzzxa)kjz!CO-D37Q"), - make_tuple( - "BoEW%!nTSlciuXM3xYu1QY%@HymOmFQwaj84yGtU9RO1i2T%tivzt(bAFLiNu&ntgG*smxqh#B6SKKnp#jEA!IhpL!g", - "(^99T66vzof&3%RS3zMxmM#D)1Bcjfb#@1WdvczvzQqze-V*upF5FAJtumk6RrxzA!O@ki885E2x-UZEUE^)49EpYH7d%o"), - make_tuple( - "C8=&J0qB1PBav=DA6Y!Wf%VpRoQT^!=M9WyBg$B36sWzjvCYbUGrXK9*Y4wyYQJXrw8OCL4epMri$sbcH*m#o", - "Q9Oq331EgWXDutvJ*Q%RGcx6prR-o5hp=$v%CqWT--D6iVOg5HgYFQNoxO*WNKLerMtj#A"), - make_tuple( - "4YMW13SwDDo!w*lRG0)WzYX$b%v)D^NQta%%doXbNN)KITN%Hs6%Ks&hd4ebn^)Qeoll0R0RQyo3(8gYrEnfZ1aAaWD=", - "mUaxyZZWWu)asy=RrkP5PEz^A8YETu1M-V((pK&7cBu5x&Z-1egKE1Hi@#@&AoqLUt0v^DURKt!1RNvstX"), - make_tuple( - "TFfdpam@2Cs%gywuqUy=V0PhU-UOqDsQwoXiCr%dYxD-(nDPOFefra6RXWeHM", - "Y#)FlkrxwM*Ay2*)wX(V4i11o-6Nw-0kDiElOjO1OVWOSqAhVMjd==yRJLRBya-H(NOryDgG&bc86"), - make_tuple( - "!UmJ5-!FWQviEe9e%JbF5kR=oUl-Qh2!k8p5ic-a56^CQ^xlnQL)", - "^7(7*H)Q!Y7IDOC!uxALocn4vKtzs7#$cR7OY2lc8V^s#ut6Geh9)YoEo6g3xHwTLnI1g2p6Im"), - make_tuple( - "4qX%1RTws4i$hC1l*eNl4wU#5$4ewm3FihBK8D(@&a$WCvx@go2yqkvoZk*-cg", - "ALNLtqGRP4D2XLyk90WV9Oo6KxHT92Tx=DILs6=M-h5wlZx6c-5iuGnfgBf#=reixXF*RE"), - make_tuple( - "*)5HnlP%RCW0DL=)R2Ow2uLIp9OVs0vDlJ)F8Vnr4E3-!f3pO2n6IgaYop8B&h=w0lrchK", - "kO(Lnq-A$G3DL(eCbHayS)a=pRMEVwlMxYKGtgauEoR@%WNGNs9s3n&^&2(0ab1ncB96eKW=51Uk&JjxCq#O)4-W4a"), - make_tuple( - "zEWWEi5Ui5yVc4!%XvUt7aGzeCpLng^a=rn#okYGcXV(x11VvW", - "!a%Zz!LX8ZK(^i6qylS5HZj7cPk7-dh%@fnayLaQ=&WGi0F=S)QqobwqLG)OCwuTV1d"), - make_tuple( - "nh5=LLA10RE%*ot-dTCZRMac%$H^G*3nDrzFMe26UVrefRnVuOEtb#IJ!-lQKnNLTTjRf%J0o1hSP0cehDhRk2u%MO5O", - "YonXUut6SNy74UjbM(nIIf((gK0yCo4cSXOhZW3MFKkC54S*jCrxu^zf6kmKsOn@Skg"), - make_tuple( - "mBn6Nl1X7&wLIknE%w!(lVuaTr5wijv-7D6yfs#**r$e)g^Tx)uVuV!bEiFoU#9#-3=%OkfyE*ga##$", - "2TF!=pjfX6(dcxtJPNcyP5yu-0V(V1R)DSUjeR@@QzCws)qJGD*R5"), - make_tuple( - "uPQFQ9IldIEVc^ts)%CpX8-1pf55K6#7F6Rk*^9qN^9ta6AaO6N63^HKn", - "jq^xXO81eZ&Gt!VxV#e(UQj(4j46aPOY0GxQv8a2y1SKdr6lr8"), - make_tuple( - "d-tsSe3nfgQySY9qwAJW*J3o9JILLIuFC8Ubll3Awqe1ToW)lD#fCb$PcDgA-r40rtp-4bE", - "SZofNvnY8mQ!NtP%9Erj2cr6YR=RhUPndPRVFdYAXzvdkN4h=Ea4YS4!&QQR$fJ#$sYU*cSZSBJAVNPJ1%!GU8mi"), - make_tuple( - "NjkkCzge0=Iv&NBwU9FmSc8KpxW9U^P81HJRSr38Uc4*N!TZ@LNTLmbMClWTmCW!kq)prSZ@ky!YCCVvA9m1H63g(GQrG", - "iouwH4jaM=V%%=FUnyB^2oLquBWa4bGnXoXNg7xKmtGN6*-7Qyncbq@j7drtSEFiEhjq5b$RfF70RIHbz=ra"), - make_tuple( - "$ZpEKI1i$gDk=z%#8%tJCC&Li$uWD0qnwOJLSLf=fZ#og%*1nns14IVhOUw7mJt-YkzI@eEvzh3", - "DqivWliucUG4Yory4LI!u%0TN2%k8K3WoMVJWvoaUSC4kYkv4B0638$athF6TUEUEN@SEwU2idm#cueM$OlO6J9^06eB2R"), - make_tuple( - "^0@$xRmXl##952G%c!npq3)7SYrj*)Ic0XPJ3%lnMyJ=v-EukYe*hZ%(c#-BfK4vfgq(Givl5FRaeSoeCsUt0iB#", - "CWixW0o^D3D0uJvP=yymRa#%KQZipd3SD!*H$Wk#XSFW%i)o0wD("), - make_tuple( - "61JjrHyAyfF2yx%V=gHZC4T8LAO%I6XVr5MH$Tp(K^Iyo9KyAS*--SxZ&*z^Ecpq4aR^4OiLFI3d1709", - "qNJnWwsVTaSPjT$f3UYhzSbyJw82w*XMf!6p6wyncaro1BOOO@DJ*7OsGrzgAe8qy@xNuWEKT@pNrjlH#-"), - make_tuple( - "Rgp1OsGyxc@^AiV3IwEwe^3w=CIaY!%etX48ITqi5nmvlA%Lo&W#Yo!W#0*P^95p%H3g%zn^fQDIkX7!ob9DC", - "rAYp=V#orvQlT^KDidB2L$*4FR-=*q*@wgoruH0-ENH!HtW^7UtIEU)(%Fm"), - make_tuple( - "UqCzSrK*@E&2g8REqLv%7WoRQHlPFFG3PtzzM#&^kB@^M*N3-EH1z", - "q)^Inhgi0@Q=#@ZDu6W&q^@bafe$VngAw!mY4G!ve(25%6T4G6%Pb!Q5G^8Ir"), - make_tuple( - "n5bFdjiCT$coOjQR0Hpm91QVBbDP(B!N1!zRpp%3fDUeUDSOwcBoyCtqKWG0v8Q8VagMn^zHepi)OAZ", - "(uAz%r$h0QjBeAber1S85IBV3ST@qjmssYavRzJ2x$OHcdCr3T7-9hF9a"), - make_tuple( - "KW6N@3CHd2O(adiw-YzclZZ%rE4c3mlgQi@!dx8tfFsgUln-TOd)N&T2mhP^xC@9jm$i)zuk-HPKHgn8", - "D0I8cw=VzGqeIDS(eoLCTT!T%m0T4Nz67NfELXwm=gmkkaS2fijLLHlo02dVDd0BLrhWZRIy"), - make_tuple("Ef9EoYnfiduG-a^MVU8wD6^&QkGWFj2pZG!%pCg0^Md$ht84QWWW0uQiHcMte^XO31HwRpbfT6Hd-rzP$nL5eWVfSFEgvNxOh0", "$DbwYeJ&5Zl*##P@iS(GOPfMd#0^B8BFWt)r1DKytbiu*t6d#1KQBsXn*T1$#2kMS4MGI!1E@7W#q3aOtgb2W2MRZpb!!-"), - make_tuple( - "dJPy=h&82s@WaBUE#U-GTc*jok8AdmDR=OvuO1l@tivtvsZnDmN3T6sfNYOIFA$4pT2$gpYC0twW#d4SvwEzqNkte", - "eCOE7Mt1MOLKNRC9chqR#pXld35^OZEx0o&E%25c$jetA-rUu%x)=be%^n%vg=hTT&JcO!e%*xm"), - make_tuple( - "wWvCN*xCjRTjAgV^T*9j(V6rwcWeVBZgBDsTFaFW6Rjup8lnPrc$!dDFM5pcSOUN*1SUf(vi=B6CUFbKg2%HlYO7HXUkd#GL)", - "SC$!OC4C#giiMlURrONAT(KcO1ASc!7rtPovv^@Yn#o^gKEquS!Ye*oqVN"), - make_tuple( - "jrNyHvpKFsbDN0vhYsM10=n%fnl%VvfpLB(LcSAfzhsks9r)rHbg-yJYnU%XOC)N", - "3HdqeQ9VR)GFeG4xCPVTUwzfh9jlLywlhRyOuuk1WqE%NcLHxhorXH"), - make_tuple( - "1@AkxEuL96ILWj*1Cf&GbN@Huxc89VM-LU7^Z1y@6xZ!z=qzYEd*uZ*G-!7VRC$zjo^03gKH3ut4KQ%t", - "Z(83(lQR=(k1@NAehcZ7GKV5s8HDarP*FiBEaCjDMKwhtvRc3@dcOm%E#^Y**6GZq"), - make_tuple( - "cvYdsM=qIFdrwQ6-6pXhn4EC2!tWyQZfz5jqeT(A((Pvfe3QDl^g^qMDYiT", - "SzT4oNo@zy7&OCC(YkZH7#iZj3=7l(p-!*A)6DfOo9VZ#BrgG8X6mUV#Ek*gx1G-YGt)HI^yTOl0lNyLGsA^!VoSdR89^S"), - make_tuple( - "mE24CYkigZ&wiRz$MBykMHwi6#fn%LegILUFypG3rQ3gMHy)JcWK2mYl6", - "BLGO*l-up#bA@R(#cJA-xN%q!6KIN6KeODHcRvv-=&YHhzVk4bI4e9$*Ygt$(YFYR59wz(b$wtDF&@naW24=UmW3tScPd7EPH3&x"), - make_tuple( - "vm%7Kgflfv!jXlkQxE(9PZT2OMWypZoleRjGymRCwR$)$YsV$K7TOS&per@$cfA3muzG2)EkCCUJq", - "geYuWYAUPI1Sgli^z0k(*jr%R2%Eo9yXYIzQzBIN6c63r16Brc=4-#W-nXpfujhl"), - make_tuple( - "6j(bKgBBT4avZ-)@8aj2szV7NX)b^a)VHYqj8Z#bCpVIG2H-6@QZQnowTjFEea9IZJN", - "KGXQbF!YnLIUn0Z-ogkhZ(gzWjnu47bC&$@ZV03QJn$SK^rPZxKiHYMCS)DgIsXJ9T!F^kw@qgX=yXqyiHSF-psRaM$J9KWwQK"), - make_tuple( - "qDpwP1lR#U!IGJTbw0xZoi7#$@zr^Sz%WmMJ6#eS#Tp-Nl^UGs95gPko", - "$If!N8SufUH1YesVRmjj2a&w(xQj#$%d2TYbMdgkokdjO4azT^(f3%loZ(Q5SunkXN1WZDrmTjgz*TxeRq)("), - make_tuple( - "hz=OF1^6De!Jph27k-P2Qd2hl3#Dsl5N*QOt&jWD9sow0m53gpSrsRBY=aEmmL1opQvGr$Hnz7g9zlWr&Ci&*jy", - "ypA*#cehOrrREv^&&0j=lm^(jhwKdkvr*Hf4gwKDZ-rN85qy&x^8Ld1UJ36AW42b&LgS&hJu38M9$eU!p&f^aA8&"), - make_tuple( - "hBD-(bNm61D13FJgiY!qwI6=q!^N*ZPyxm!1TuMRyxKMG@yD7b-5yPSmg!5Ghj7pSayegW($!uk&@U%", - "3ysHjmr-U^KuqJj2Sp5Ar7-jffXxoV*1%RvIu@*KtGBXH0aEdt1sWt@v0tc^^^mEb)v"), - make_tuple( - "x-L@J*ATE^Y^d%pFHWdT1A^-h@VqqgLyCK@3Q(tb7w#Tl-zaO7-u8QA)zA%*(^XGUIKrJZtBLTWwGid4m9xUyIi3Dewxa", - "=jFqZnyk0V1z#*W$qX&G3P6qKgI%#v!E6Pg(kvw*(55kn4(firxpQEieJe&O!rJ(7p76#KMZ$1z!gh"), - make_tuple( - "I$5)zrK0H!=#N)DRoD^8)4Ar)Q!ksI(LGSaWmx9lGl0&Tvb#MMSy)*EUr3igExNe))xckYvp=@hLaYKX", - "LwWkt71E!u*nu4fyCkWP-Q9J&w^A3uX(R9it^8woH-rQ-6vNJm62O38288KAK&SET=(B1glL5MuCLG^7H2aG)waR"), - make_tuple( - "MKjgBB58-R@bCI0*dVMB6DnsHrMpQ0^6nxy=9yjl(glJccsz#$LoNgbkGy)-L^V!", - "H4sPZ-tshIqcL)Jg6R^6TQ-wVGCXCDNYZWtu8Qn0V%wqPEqzaeU0pZZ6n*$zl"), - make_tuple( - "CA85YK05dBNHr3D3cF@cL5aJ^#99Wc8J-PUV1jQDCVf^$PuSNw3m0P6Dxg(RR5t4@@sY@v3Modq9d3*", - "d@*jiaP!9LF8cl$lWyvCaLbelsT)G!lr&5LvTvh0XlWs(*K$UhDIq@-U%qcfa7#xJEi2SCPVD4)gD"), - make_tuple( - "U82GP4FaOBtolY)5rsbOu-tk1R$OrL^xRMEbuJ3JXR0GhSL-nfMK4$dE3x%1ShNNzM", - "exhV%UV(Y2NUrEDSenEmjc#WpO)wSHRmjM#hGvSM@pnvq3m-Ayyahy)S25l(ONe"), - make_tuple( - "KQ9jDa=vWoYNNbLY^dJS@PYrRAEOk4bdvkBVvN@ph-L#X5(K$Jc7^lj^82bu", - "Ee)($AL3XdUp#pB=KbNQBXqPm=bpYcb0F8qN&8oo7mJpRHMdZl=sYB)DwUwS*(Z$8Vx4K"), - make_tuple( - "*gMpPc)duKx=XphxA9woQcvfq3T&Z@6eTfBDDlWwzG#gw=HZRNpRQ", - "@qmSro#guupa%%bRKX)yXdMV7rC!X-dakNd)6qT3!RK6iE-qx)CUIEv4WUN^P(&oE(%Plde6t#z4H=av4zg8MrUq"), - make_tuple( - "wsiPo!HVa5yRiyrsKESd^(zlYDT&JsPK&T&7Iff1z-s5IeJGW@MA5DYLw^QA#CyDJ", - "BRb*WNPKZzR8xYAztF)rd2aE(An8Do6UMVv%UZHI-(2z5o*F)W#eVCqT9B@(5nq7=BH*17%J)rHHE1gM&syK(^1BR(Y7mL07liZ"), - make_tuple( - "!bo4nhia9-jJ5tHP2nmIoZSBaG9N(*BWigKBlj^qzo=^UKZKJ$ABmuehbwnCs", - "xNbQed54W-p3f7I0YgnsOuufL8(Gnd^ok1yc3J4)wu!IiK-OI9tC2sP2NHN2v#Qw)4vX1%7((m$V*NJJb7CmoKG"), - make_tuple( - "wVzNziaQ-saeINqgUKX2@UFZ&z*bVO=69tDUo^q^(IxpyD^tnj58lPc*xTCS#JLlkKzCXo0Fq&fNa5twU#$Mdbn", - ")Q^WG&zXr!UJknZ$!Xp^@b6y-D6j28bc7YXl0ft3ks0v^pyZ=8vN"), - make_tuple( - "8DAsfBiHkqD*ALCFk0qtY@ikt0j=PnXQN*D3=u4w#Um5#QNA$AV2X3DCXQ%", - "nX-&O&&b1JIJ!i8fSCGn9d48FT&Oh%Vp*a-1epf)b&*xH@LG08JZ3h6e7fh9oa"), - make_tuple( - "wJp206oi5q3*k90-3b9=1i2wrP&9zEuDXDYOkgo*)#C(m13NmX9vc41&QX2*", - "rsGGgSsHdbtVPRBsPN3wzqgLv@%b=ONK8DcTaZ17emVTSOaVSPcQyQBP28JVpUXO9rq$(lQfL9-@nS=ZfU3@#LeeYI"), - make_tuple( - "u$UNha$s(g&I-y!OdiTRq&h&Vqx)q!tWW2y19ncyOxx4IOIdV1la&N1IYcONV6u3X=R3PPR8uj!5", - "tpSVS9-K$^a@iKB4)l%PFPMCHfe5KDAr5BBU-n^d^2$X#FNyZ88IEc7"), - make_tuple( - "PfiiDPuIla-2gM@X(QK^#WEy&w19y@KfFlmvE^=jvBZHquQ9aHTExYvYf3a", - ")Ypn71Ti0ON2jUds$HAed$n*%b47k9yFSm5OoIjNfVxm3KiR(SMVHg^^gODzn)RdZEH$W^UrJ-p8j3rhfrY9kUoX"), - make_tuple( - "1aW5$OiZbL0zl4=$y%h0%3GJ9cc!MDQ1$%wazAFH!R*%58g)H=j%M8M", - "mfWpQSyMx-L&T9AXHBMFtz#sT-rULAQ9svYPv@ZVMet-3JBS5habNTzL#MLAPb7OHdFk2YZfEBPbfp2&hC&BtF6sA"), - make_tuple( - "9Jy0MV38IPC&^*Pxb&iemi3iqcXy)PA9t)!V*k0eUE(L&bCgha%u#fG2oO!eX0J8d3-6x57ubvBylmIprr@LwcQloTyk7H1M0thC", - "ZrxXQPA#nw!94JHFyc&tzspp@3s66JiXx-45Xoo7eTT6^I7bbT*CsdsJEg52#NPb-(lTAx7n20weZ"), - make_tuple( - "8(*Jsv6QHSZcbz!fgCwKtodVNwQmpFShkjfd^kLPRKw)HMB5pLic*ph)xaV-=XVl@DvUVJ(fV@LPk^hI)yISt!2trU", - "#ARKOV#YbNK*nONtg2=jowCq9d2fWndizDioM50ONhH3Z7x%F4Wb7u7EUkGrxz2G8Qd%EAVbu"), - make_tuple( - "CSNvCCO31y8Paen7nbQ@yJfSuQFDsjj2I3YLSBVtVbM9&h$irl(J@&Iu^7ez1i)*!k99je5mQR*Z28e", - "OVv3!KPY6tM4D7Pba3!c)Z4XGWh=VMZK^qX#^%8YwGXe4)-kiiiQ262C2Wxcepcj1x5P)#@y"), - make_tuple( - "kKTB8T6y)g(jnIID(xA$kRttOqLU$DaBkrviW5)8yVX&38^GFCLzqBJYwylo2fs@$WE&Ti8(1VF#IBam&", - "JLOShH$g6qH5Vf%3%o8Fgg%=pyu(nlaCV5W1wr#fa@5qIk7NNajk@uW-aziCKC0B^GJaxTAVHSqTiZW(mqCq1I5nqt3JgkXX&"), - make_tuple( - "e*cS8u73W7qmr2xYnq6ZcFlss8al-C@VjL43xFQkon2*BNBp7l)mr-*RgZkYHoCIm#deT5tsHTzcsI(Zm7reNzFnVcb94", - "U-MrZD)jFfOQp!i28-A*epZFSSudLl$uf$&8w01Ei-A*rXHzSTVxL9B=6ni7(Xfvvr4T"), - make_tuple( - "QTuGHvcEgD7JxhpnwL8C(6FW87yZku*ht0dd9W0sR!EUkL)Sgba$!Atuoo5tuBef$&)u", - "TIeq(X8sl2aJyeM0n*ne@h(GsDt=)KH3Vw1@iT#mThD=Dz$$bt5g^%Gz!YG0(R*UJ4qD!f3!I5fjnbSq@*Y4HY1!pI"), - make_tuple( - "9B)0D!GPP^M05nGM*rxqwhUw2JWQUQZfA8F8b&cPjZcB8Q-zt4sjotFV", - "V!IK0kFDRfU)JHF!z8k6DC@qw5)&e7&QnLL0h70iAkxd5Z8w9VN&DK(iKlkk6zUun66&5urw"), - make_tuple( - "PTUxrZcRD45cHc4d%8bQ0(q#uYpDio5RI8iedATb$7MK@)q@O8b=UfKDHhe2#y", - "pIyCyUu=$@w!0X1j^TtV7^S$-QjosuJij1FiyI!DrEhIp=YQJT@EIRP3P&dPstmiu&gE@2uW!Ji=@m"), - make_tuple( - "x-ZvOKIrzFFvBz(f9z*HF%PWw7F)1h^0brj7MiPgpDziFqbEzvZyZinpt52YmeKdsKI2TXf9yT-xXzdqh4wfg5xi", - "Lv5v$8MOJ0nLQNi2gE#pru^@J@J*gnTOjCb2&C99OS2Wh1DSxbVS!4#^m8I)mD&EG"), - make_tuple( - "$%enrsTSjdf==Xf%)5@pM0ppQ7GvaiI%ZK5R(wAGaNaL=qY@#KXyW$@N&^BrKEdojWM", - "ZEdBR$P&4&R5TIK9W!aeTyjtwoG&CptzPnO%iAaH6teR0q2ozwY1r#4xrMVwYB4"), - make_tuple( - "GTU@lYRgD6OeKl^-lML6vAWXCT9I!(QF8pwELxjaK0I3O4@!vTQAWHtHgw3))@OfV@t-^wVQZNXa)t=BehIzOryG%t4q", - "PcSYeolf4H--qfNS2ZsjoW!yOK0S)G65!y&1(O-bdNSg**6JEBm!YCzeQrU(z*-ADqT"), - make_tuple( - "0hB$g$7gChBZ7%JKy!N8nwRCM5M&N@1q=v-aBPE%exRx1(H*5W0mLF1t8c6Ana=t%^7y)Oz)!qdQ6aMo!z(n-ZB8N", - "5FEtLNfD3-n4^&RMxzCdaqWKdWQ(fjere5#&FAc04Ov1Xg*mB9F)fyv7d&zd5pMx4le)5R7l7uOzpOcnwQ(U"), - make_tuple( - "j6xjrI!oN7UT%KX*MyqZwM%$cC7&N!lFtigSKVGrboRM2hea#c7Gtvr(Dxks))0735sNajt6bytLGKA3e7a)3tXK%N)", - "SWgzbMgNbNk)F0*OODCF9g4R50&xxbhgT)H16*CG3&mw4y55f&!JZ"), - make_tuple( - "@5Obc5$fZoz^PzZ4j6IKjqhazL94bN)wwgr8Mc3LrRb^2@f92J9Fk8oDwxI83oYSc6FacYHOJ7#p", - "8Gl5Sm((2gqUkBnq(2ddK&8nKg7QdOqI98rPtQYE)ae=5(Ntr@#V@Lz$wd3fv*P%hLH^QWK!Rg8dmai$H%#8Z0#R"), - make_tuple( - "XRacS42TRK#nKFUaQ-uS@Mh8X@uOTw0qB69414nUVZJMAe2biXDSe5YEXC2%^^-3Ra", - "scGvlJ32az5I5dw%K@t)o63GFBo(h1j#=yhz()q2!Gwh&@T^5(wnL9OL%i"), - make_tuple( - "A)v0@FVd#ZVJQV2XdiODdKYlSFL20=2=29CuFS7#B3@Hv&c2wUY$iukSZ8P3D0&gf75dpj16(FsX52TD%N^X5tC#!pL-)PN5", - "NlFjBXuCGoUyykY&hcPsRG5PDr%B%-LIX$nN^lVz$$FE*Q^Nf6#BAqWp0-1-3)"), - make_tuple( - "ocMjQZlz0QlbDHxE)VaRY^FRG!IA1aCxTi(rFlrwh7f^Hdxnkzi7p7CR=DUBu^V9)=", - "t)yL$&y(6GuXkXOb7XJyHOp5gEa=zm!HfqGGP%#c^QiUnF6!P%(k!)&(#QmYcMQP9@giS)$b1"), - make_tuple( - "3CNAtYF#fS-JO&KOOy1a0I%UL)uc*=z(SHVU@FOwO6RyV^&--6qDBdzi)-S=RYg9tM=7Zr(t9k#g33Wt", - "@IcB4F7$ujJIV#neVqpnXxfxrvzVRb$*6n#JkxmOm-I5%^ZhdjB$8$*YWS2C6lHe!61i)JW0%9J!%xfQ*1*6"), - make_tuple( - "ZYW(*WG^f)CHivMYl9DkWC7AMAFYbQO0mSa9cWaK&SoqO8RCVtZDLx(lCVoIFc(f", - "Zlu^RMlOdil!N0<H08H!$&7tU&K%70@*Ro^^G(vueSv)hEyiNnWPgD^m%8K$LS"), - make_tuple( - "0S#Gd&ph=us1sm@focqd38M*w*BP114HRQMwYNrFyt8iOFvyZZhj7lxdHjic(X8", - "K56wxaZ2LRDX57)0#&I!JUV^Tp1=n2i(AyUElE8p#n@$rR@g=MjQU9vCM&mtyDjcuV#yG6(-!prZP(h9L"), - make_tuple( - "BEChjr3x=xGNCe=!%NacrPP)FdB$8pRdntTeynGXBOAE2enzC141EzLLe6B4sADCF)7#-^Uaf", - "6KW3jJ280f5OjBw2Y1D9ulhpS=lZ4u$JTXPbx$s%G89WE4g#oG9LSD0u1yY=8)^q%VUbKTfi4(givz%AV"), - make_tuple( - "h%3E5Hq9uLG@5Ww1PLzP@f5Z4W9dSuicimXuVf1yM^ya*M=Vl)Zqexk$b", - "xIe#8II1DXtR^)A11XhlXKnWW39G08t-rvmv#hZG3TeBkgGlKPp9yRz1aW@5ZU&Ws%QC&)y9i)t9f"), - make_tuple( - "94*nO0SBg@#IU2rjbG-J$i6g&m(*770rnp3zFmu3WYq=h%@-(b4PFq9f%=oVlv50XcoWdlDGpJHTD4", - "e-d-Zu*nL4QOmcj*O0Tx(URVqn&vUB07I-PuGSR5UkO5C$h^kMhAAZiyGNwQmKTo(#4=e8T2RvjrVw7n7pFG38T!@U"), - make_tuple( - "RdklHGtvp3c2^f!iYGOfD42CheoU^w7jQF(lD6sYQ*ECx0B@CfQ4DZlrxhDDqNUTSigbaJN@s$Db#G(h78Zf$", - "PK0H0T!QDMRku#-oChfIU8k-jd=4$h(KDdK$%sKwd2ntw&jNXLy4H9-h9!wzTLWh)bX$XGl"), - make_tuple( - "ug%BPLpFzHk#Ui5W^Mbf!hrvg9$05!UaltcEa7axlung7pqr=VaY9)sU0", - "gY-eE9OE-Wv5#PO)LC^ZpTt)#xe0%X42UMGtTIr%vsw0&@0derXU7KZ-Lqb1hpuAC%srKAgmrbNG(l"), - make_tuple( - "YF-06(3=KoBp#4d&&5ux^Nkj)s6(5dgrY1KeMjIOCrVv=2ix#W$OMe", - "%*DWfh4x0#(D6=5xe4yZwr#Jz9A^RVwu%E&*JxUy^yLu$L*eIh7S2GQrzDP#$C@#6guMJ(hI%YR=cUFw^SIQ&J!c"), - make_tuple( - "tEw3q4#NiMRYsYcC-Lw#H$Vs-#q9IzT9Ys-4cmqOT6%(KG)J%V3rRzZ^UAVWdBJu18-", - "9KKg0(1pRTWIwjhe!g)7crYZNTj*yLmA#6-Yo)VPsbf8C^av$XKC(8x&"), - make_tuple( - "1Qs)0PUgEq2J&BVkYPIA^@9Ch5mXqHJzrsbK2ti82cXKqxpq&KB8", - "k$dSqyhM-NqH^tDSnK*(!*%eS$RsZ&kn3GO^NG9GJUvsQ28O0yEIt"), - make_tuple( - "kJd0Nc!ft)qyLLiUa=Qh18QX4r2S&z^9NXsU@U)N&Q9PVEeMLr#MGyrQi695wKrqbRV)9w", - "@04Sni@@b)z!J!r&AcNxKyT4!#Aw)=62#%nR7c&G$l&ALKoaH9@XyMd1QW6ssOVIIraqbju="), - make_tuple( - "ErS7THtWC$3gVUOCk5@s4O$p!zirCQc8cdxFK*yM!n0G^Uyi*x)D4", - "cV4P3d1u9KVs)YI%5OiLL1ybaT3LMyOcH6DhWijA-DKbDM@g4rCEsSf9ZUM85*0Ri54ck3D0(jsN8YozzrFS@N"), - make_tuple( - "PA9Meu%3ob5uDAjgT5EiwuEY=(&JWx6JAdBtoQLed(H!y5fWCMgd1JchTLmr09Y72wPINqNdOu#!#o8!MoxIDCOKt0gs#v$n", - "R0FUN$Al7b=6^(KF6$*vZk!kz0sFtfoAa5By968It2Ugwxm-%mh^ytcekG1oE2@DFqmYJHeqB="), - make_tuple( - "yl6g3%7lhxuuXE*hi*x#oTfz(=B2Orr$l7Xyq!@wjaSuDEQDo(tPa)Z*hKqnKFxTPupe", - "wu5h34h-2C^y82-setw&W@ZsecWZUMEk7r-CO#(ko-oLjrA46LMIoUKEvNwgHoIR^xGdY-hYda8KXW"), - make_tuple( - "3QXVkZR@5wSsSti4w=cl@N9S%-(e)e4^nrY*@$r3&RQikxtSab2qSyXp-RQGD3", - "NeB9tcIecqC8=0vjwCZR0l*HbqA5xnhJ!5DXVjldMOOfe#Loq*ek%$%Ff@0^Ps%2OeuRMPuVspTq6)Fm"), - make_tuple( - "vqE8u90R#wdm51LmQ*z=JTgZCJl^s6Ra8!ea%BhQ=aOYziFgjHI4bfE4Gc!$06fMvj41PVU^fpR3c5)Kvwdd6y&s$-MaWoVbjI", - "aFTs=%d$pA&YNI0rQNgPAVk*JzX8&b1k7jq8yz%vvs7xmfMtA8Qk4!lTTE#kn^FUT#vpanE0OeEwJy3x7=bl"), - make_tuple( - "xGYiiIm2Qbvj!jQfHywi@=N=4zrOhqgIg-MC4V)8no(Kbqt^eDBo%2@4cyIO8fo", - "3gU*ZBWQhhnj&4v$fl(II7aRF^vDDvvgH1^Oh8OgQEH3i$PNs&-yejp55*2iU"), - make_tuple( - "WwkGeAYPKP1!D3vLOajYlsF&!fHr!&t99Fn7M7zJR0wX*dU*FqKv$JZ5vyVZna14oSPP%ZL*A-s=SGyxnz6djS^", - "XCMEGzFR-bT9=wz$HuuuKxCsiQmkqrhJf*yrLAdscKoKwM=kTEH)j$4eY5Z"), - make_tuple( - "hu(^(LsH6cGLpmwYvpWjCYu!mu^6j%B#ZaXZ$l$t1pFe$BQob^L7V#$#hF7HJQMxoca", - "n(((&l4dHpbFKpDvT9WNE2cgKbw7Xd(F(azKACpCQYRsgvZ^YQ=45E)%g*Z48)A0lcml"), - make_tuple( - "6qCwHFjaafAQc3noA(-$zJ(aoUTPPYTwx9zXPwSK(Ez7zeg&SNQ@6wT7EwLS^Uujv(3c$JkMKRMbQcvN!6FW$iDVeoV", - "z=zmTU^PGtm-ErmUiZxE5lJrF@pcy@F2^VmHjlYpS-S3(ZmK0zgG@He"), - make_tuple( - "c*bQuL=!(7vaof1ojXaahXgjKkSCFjNgTgPVBP)vk3q^$AhV-7CD*wBkF=v4qFOVcz%#cZjXJbacHil^gUMZGs245y61pCt", - "jfuz6*tQikqcW0ZU0r!-FWhlJ1ZN-5Sngabz-Sd2$(9oNy-M$8b&#YnKrDKG@1z)$ZRn=!4jiG=5JOtkVXS$H*"), - make_tuple( - "vJt2@rba%mY4&2O=anXjr&cQo^5PHf87h*A0eyTY-TbAHgoQqTzB0Di", - "H19VvZf1pNq*j^W08DKfoVo6SD7KCtPCr4riozHOtwM)Ai9ug9r-k*#tOsnad=E7HU6Kpnz#EY7ep0JA$B=#v"), - make_tuple( - "bfJyi@J*w9d0G(!-Qk&fhF%QG&LQt48wk9XgWTgptWK(UrMe1i2KH%Ehd", - "1=^Wj44s4xk#HCcNCZ%^tUY0lrkdEp61^Y(N@XNVtN%D8U3)IMzbsrwYNzUY1A"), - make_tuple( - "C%%NL-YlfoPGwF7ibUA0jAPzwUHe=a(UF(7pDLhe0bZmO^f7WJcrHHwF(l35ZKNlf", - "@%Lw*1H24ia6lF-c%aNG-KmyvaLaX470boiFS59cSaHxOFicTOHqCmlL=NI"), - make_tuple( - "aWcIu!ndhUa4FV#=RlF&q&z)eff$Zg&21luLqSCN!0gD!h59fYnc=!eP@LB9jmKiLO$%gi*9PaVNVRF60w)g", - "L8WFp#@6Cv#5uyVfFL@42mW=6vg#LC9W4a187G7U1^Gr9EiF5o1Jf%"), - make_tuple( - "AqReyTUC16sfDjm1R&T^6&bm1!l(L7TdED(Vw7kG7s2=(Om4UTu3S&zh2M-ZHM3EUyPnp9wtE0GCff(c8C((%K", - "g=JeY!z=4N@7Z%dW1K21Klj=V=7*bfS8mKrtB*Z*IWiX=Bc@6k-wqtPjE@1-7)!T(1L3Qy^oYyKpLc7WU@skdwHMMh"), - make_tuple( - "0NirzQ^r6ZWzDlt#Ine%aYsdH^9lR^(2io4i0Gn5f30Gqs7a8&Pc(rdT0NSf", - "fE83PH#xnKifUzX688ddTW8gJ&g5JblLCGcF$R(8zDOb1mYJtJ0rRfPHjDy*H%l="), - make_tuple( - "cV6c!PxiV^r5rX4n#XaR%BoehF%F@D4oacwyFp2L35JzSDnCxN1ImXoxV-8M6o", - "1NJr=1(6@DPb2RfKUgw%fVUaJ!4kROwJ#tGqu6AC%E0ATF*%Y0H-v7oUD9zWRDTj#e$iX"), - make_tuple("s6TkkS9x&yJQo#6xc2r^qspk8TByEB5A1ciFUdF^wHwh3gZPVwtvJv4zPoT7F5XjI^ws", "Xo2LlT@dd4YpkTxv3aM22tM)Bv9e7&idX9GA$oQ(^=ea)nkZSUTsR%wNmETij=a9Jns6)wv7FKrW)5*Q3&vx1LROTQA9RQ#s"), - make_tuple( - "X8tPeo8m9ylM6l8Bgl6aFD%aOJaiGYOd$Z@)909$tDQ#C-6MqVQIpw$D$V1ydu8V@66%qi", - "kqY$DUHRrdX1a@tEqag0ehvAboavOG@P$gBe=viY##Z5#$QSdDnBNBYMzoQavLFP6uY(&6x#Epo"), - make_tuple( - "B5ipE3j21#d4F28Kx0hGLJJ%BhuR7784Jh^1TAyL*Kx-4OWH*Z$E6OJKfuFIolvmvA&Icxc2x&CBv%-m1KNRXqAT47GP", - "gHtS8gb0^0BEg7(I*50sbq(leYsn*de*CJ%2lU)IpW4%!qp!NVV1sxo1g9whnrQrHnZyzf16!3jb&@$v2s-t8OP$9RXzrVnV=P"), - make_tuple( - "e!YKp-xdUV&LDD$Xeg2xq93%m1c-N(LhYDw2y(!phyoslP!SGRH#U3^iT=CE17Z2kfgOBOYqI6wglIsEu8", - "J&jQVa#R0IDm1h3kYAqI2fIM9s7CJTuafidICzj!DX2P$ZkTFz1B99Mmm&nFJWH&&)u5z9$GdyHC62cmns6R8=Il(R0p"), - make_tuple( - "9yHPubSpzv3IbMgUUgFUZD0wIFqY1sF!vHrwEEHGA4427YYT$xJ9lDR#BrwNL0H3cuDBzCmPzoQwnCq5ViWx@z)iQH8%gD!", - "ua%KPx@y=27hop%pz!*WFmRUb2Kr6wNoAI(xj3jV*b*Gt6uM4y7ZF=v!cmc"), - make_tuple( - "bDq)%erl#8Hl0AqcZX3EQ)uCk$1iTM4%kUlT1FFIIHf^Z!ae5mxwR6wfoWD1487)tD$5vwv!07XF", - "jEm=y&^uayTdB$FkmuyhIM4tyI^vHts#)xrTPH#INuJkV@TwaDIlmWq=Yxf*zzFF)W)1739f#bA*33zLs6^kNwSs"), - make_tuple( - "BxVg&l=(&HjRP6xy*IF)FVZyL(uIquL)1Fj)-B)cmXGRYq3r9*tUJ*WPns4p3jQbzKPtWvCnBY4g@R7yW", - "KrLnqEtK9TmAKQMWTN4jjhX-3YwT9Qx2^i(C46c0zuo%dYzS99LgZscCgkXiB2x4(bCXhYaky5b)B83esnj"), - make_tuple( - "@W9f4DGi^Hwp)Vn5Xnx7TPPfzz$1ozA@tSdw@N&wZNSUNAdEKa46@y", - "fJcVwDJOhBuIqOAW-)3$#A!Z)4RPdRVxsjY&Pw0((Ina6#q&1-LoB63r&U8aU@EVS8axU5U0NP"), - make_tuple( - "!%uJR*WNIEVyWbzpJ(a71K777BL*M3hkgbR-!#YgHfTz&6L9d5viN7O3NXqjS!bJN@p1#AbRiE", - "2r$4ku^-xtfz)FlR!g9N4&I=1El-3YiiiH7=Ryy#UB^wb02hD6YvgyuPb5IKFKvhcy"), - make_tuple( - "!3zfmV23B&EdWO)5FBB2l=!cwud$cd*$$eO3ive@fR1RnE%H6S$C*Dx!p1gcgwCua5cy&hTrbOn=3%UMmOffVrTe2EmO-w(t", - "vxQlLQDKOYWR$Q^AcpGeR0ge39d04FBUCuR-8zrAhijp3SbhbAYvcP&auv#FQKUrfs-"), - make_tuple( - "65rq&&gBaRb^YTBurKE)YExCP&qwqpqv%geiimDWyW^tRWOLi8wI929(OAGcbB", - "Ta6S#!ua(lioNore)XNclroXRnctj8XyJZFLxm20kalt^E)F20mJ#zdGUpXuqgcTkKLI6knkR4xAEC%TCoVR8XIOdZE1J25"), - make_tuple( - "CT6*@gCCEhKwTPkZrIr)hMDDFsy)0eKyEy9H6T#65!0*h%rU%!6zSLfM))1E!z@9FdRsL!dttbRU", - "ESsPgJ#zecszlz@ebvAQkCsqwqN&yDP8dc5wo9epBplrw4$!pws%n@ah8tZMI#4l"), - make_tuple( - "D&4chk6!@f#fcuC*H@K1bS8RG(fVSCIid4dA&0BXs)2L1JSH(@rWC(JHpxV&ofzv5E6C@kTxrw", - "NmH(Qd*wv!BF538!$g-I)V*m#mu(yeSpNA9m&EOf3=ul$o2$!-Yx^Fa5cI%dyt%X8x2MbolHc(3chR6-^P%CVG"), - make_tuple( - "AbP2NPEPqPX=twltxAE2xabitH=-Jz4NEjN6PxkLk2AU5PT9yjl)x3SZXJ@(qd(TUZe5", - "1VS5r5jRM78J83UAr8TQ^eyYv=w%oDrtMJOrBfCZ9mRSiX@5mFwBYI-i3WdIq0e@18gFs@A@FMCP2OPiELgW!-Oy5"), - make_tuple( - "Bn19#k6iFMNT6e$RuO3g2rJ!T8a^w^*UFTzPIDIhk1mzUMljmJ!q%y4rxL3k1WfVDvp(Qy3z22)F$ZzT0=csNe", - "SzsmX5-Tm3(T(BmuK4y=PK!8E#afVfme34apWu$W0@I*dNt$J4ffLFHng$lpIRGX8h#"), - make_tuple( - "8@YG-@k(uPY98LgLWS%Fp)kR90e1Ly4vOTd0uRjX95LU%6g5#aFa%OSP", - "u7Nd0H9qHg2iLC=I7Oo*P&l8v3#6SlbGZpbl)*KX)uI-In%n67b2aYcc-5^Cjwv&DorJXlz)iP#ID"), - make_tuple( - "@9gt)^cH#8l-0%0aO9@9w8kJF5o-2g%J(AcrGCuXrQ)lNe^iIJ*bFKAY78v%zObr&", - "QB=RUt=3@ZzDa2j%zjau$ea5iuq1gEWhBMVO$o^!ce9*KYHDkgp^poKPTd(8km#AI1ZVp&Qs^v!gffQ"), - make_tuple( - "t=XMKP3grJicDAeDeJ&)jRqxU-@@yPe4^H0p!dgAk6l*gLHTOozPXK$=lqW(9G-dxn9K3", - "3WQJ0GvRF4hdt$Jq*$kLnIdl*x$5Zt((KW*8-5hUHD0wTt7h0)Fg7w"), - make_tuple( - "GU%YgCtwF*(kE5)thEhsEXA5RFinvsF5U1W8PDML*Z)j#ca*fnd1xx5VfN&ZFOcQ63^t7^XS07ODxZHOeAYBHAK4sf)smrMQL$Uq", - "6jdB5W$Ze^dpozci1DcVlqTtujru26F^zsh9XN4#2BLSrR$kDEks6FZh4oomuX4a6J!R4HBQ"), - make_tuple( - "l)x6D%a50CalB0-d6-5KiV9=^4jnzlceHYLN@j#d@S==*C8eufOmHcRN0J12Ba@tc-QEVA3t", - "On1Kxv*3#&(LBk)zRMZT6FMpFZPb0N2YzbP#=bUp$%3%J$xS=#LGkq2-nsd*l(FF%e1^3g=QG!5A"), - make_tuple( - "v&-M3VEI1gETPqAfD%xE%uEPZD6A-^DD87Nr)(2jqCQYcJ=16OQGcxcR03XAcEbJx(48JqLM@W%1", - "KqW(ETARV@Id%hq#coJOSmf4V-gL=o-%3BsmfJGRecY4ZVyyQA4ky50"), - make_tuple( - "PLfvnF#3RBHryx%K)qTI6VpZ4f!!$Adj(*ZjcHUEa(nx#rmtTjnMnv#mN*t9B!U7GEcOFc#nZwf6I60b%!!xY4cz", - "A!v3klLo7tU!L%#OJLarJv$75b@4jI*f171CYsBtBbN14O=DPF(I#"), - make_tuple( - "3PSj6N))7eti5JQki@WQ=7AXdPg!NSGd)rOcrS-ZlEud-OWwajxv4#LxQtfp^F", - "X9w-o^jlt=B)mRN&s^TQ#@0c-R@N$K60nxQN7^r=d1$@OCK&TmOn)pkia!9=rKHPc5R=FxSU=@bx4*aVL&Ie3=AET&4wg%B@"), - make_tuple( - "&OMeGd--I4@nmlCVJDIM1(%t0Bnd2a8#Kcd!SpR3ttwgC3(*C-RqjM", - "zaq2OvjXBO@Yx&F!*=q&bErmqK%-w7yu^0Sz4Ux$FOy=21y14Z9og1&*5jIq)rDbZ%AoG*-"), - make_tuple( - "0yURhfWx#k-ZPfNN6yPmr9*U7--ZgXg7vZ=NIY7lP5F04A5B)P@Z^N2zSqHKT@sC(t9k0FWF(tIFuPnOWG!FhPQ62znFtx22XJq", - "j0S^!OPXg1)GT&Vrpj4nd^jviQ$JT#VRURqsm1%Pe#IzHxIiD3Yi6%cF"), - make_tuple( - "RaX&GItwR!u(XTUN66Jx8Gi&sXlkeurle2cQQb4=c&D$2k0Bb1bSs=v1pg1JsxA=M77&ehwhIla!H1G^SSg3g*I(!SlPLIz", - "yRVo*&dZG7UI1wjsXOy=2G6KBaqL^aWIBKL!Y6fo6ynMw6W((CxF*UG2v"), - make_tuple( - "hc%dcj^vWoNkR4N1M3-lKX#G=Q%yu*jvXnMhZLlV!RelaEDS9^K)=Ww5a%P@t0DRY@)-MBNQiL9WVY!GLa4R1CYC2*0-zv2iznNQ", - "m0f&!tWXEmHZARBS6x^oBL$Ggud)WkmX)RL6xWhX-2x39$dMewqTY0-F0G=0*L=%*RCgq*rPvkp0Z2FUI#!qB#z2iTO5s@P"), - make_tuple( - "qOBuqPcnYlZTd^AeLd%kZS0wl1XU*)@ScKc8mve@a0g335cBJba#7Ah*EPqbYmMkTgC9", - "vNnl32U3lZxA2ATU45)F5-m@b%O2EJ&z*54(7-Zz@EP*V#@ShORHt@C65)M6VSMySmQgwGcQ9!ew9$sbFbqKprZIo&lWwpi)"), - make_tuple( - "yALX%jUk$1kqX*e52MUHfqAoqk-%0R223MOotcM9L!^BMg)NLr%qjaQ37FEfxN-ZiAoTZ6IzH5@q4tvpgi2K", - "Mw#Hqb43zfmeLqp*qlLInKCAp2MYZxrwVPffY2g=Fkg#Q$HOVC^sXee^qimkC0op-x4zRndHsXAD23F5wi&JQ"), - make_tuple( - "ytp*-95ogWnw(7y=)NHqj^md4r*YBG^EDdwv91=6tYn-K3BOlD9%f*0I9b6#A#U=qBNCkfUpqk02RU", - "F)ZV%$6uwTYBRDBupA9A%pOvFVJIrePRe$p%WAL*bNO@6EZ#NlSibDO5xU8fWeYe(Rb0tjSbtqM4D"), - make_tuple( - "DNpo%duvz&p*^VGd%(Uj58V2Y=4^6TDtnxi)Kttx3bTO8JyUrUi1jGaOSGSry$y&7zjJ", - "6kECTzNPwFj)bOAQQ!40KMoJtMQtE7tVBmUMc@UG2uyxLd2Q5ajx@q1nrdWuWXmuqmAVCE@V$EMchVH(Icr9SEzP07"), - make_tuple( - "8gtKV9!(6p1MhxVMF8fnZG4QDWr%Y@y(#NejtWCiLr3lYOCUH(hgErR5Cqo5v", - "lDXUM9bwXU6Rd-w*Xv0$WFwJEp=^jFY52XyOs!LKpZY2hq-cqan%=B2Dx!HhjKWMwUNzGKLO2GLx"), - make_tuple( - "itD7w&)ct%=q69RW6x@(xo5nL3sSX&F)PukHIYq7fJY!Z!90!T66xGXWI#YFYzgm%(hDqxVbcegij", - "^a#0%5Jn8wpKgC!9Em^j)i59xp-8cH%1tsL0sSORjydBh^uf^2mWvhxFkY0ybEpP"), - make_tuple( - "kxAXpm4eMoHaby2S*pHEp%tL!EK5VNrfYPCb@Op2-*%i)smOhZ-4xE5GDCYe*qebJ00%zK0)DAmaj^VqBd7Jt&Op", - "@RLudx-zZobS1cOGcvUBT!W-v)9fAipEJf%m*aGH9gMN4d3IAyFa90iR52Kc1f87TXD9F2Qp7NH!g$H4qfM*YpU(Xm-VBVaP"), - make_tuple( - "Gl%PD(=Tu2aQbUOFPd%hG0n-H(T^ADDc47jV4ZfLlJq(jtd0UFTXwSoOMiSfGxegk@jVO8pNkRK", - "^5zS6xS-4hNPXdlZhps-^uaEo#!IO9Aw1(Ocfoo1x-3VbD@Y2o%SF%!VtUcjG7*c0aHDiuiYjRDS0Jd18j#"), - make_tuple( - "=8Qy7gbnc(&#MgF1tJxXpW)vhDZJvTkDEAx#E4OXxWJk@09So!Uxvfqc0mBw", - "5oHp!ZCAxV@Fsg4%#M%V&)6#o8EOTjrn7!j&w65Bm@Y)E-5)Yp4n5s#fW5@1EmpYkzny=ab^=fy1N9%Z6(-(Nih#"), - make_tuple( - "qXB^AwqrAg6II)a32j=9to6#FsmUpKhP##8RpU*#Prdf*9!-(KINtsGy6SC^sboEc9WKVWEp*RWk(qRKj%", - "-x=obfIrk#tLw^(IZ=#Y6&Wx2!qXGg8XKWvRf)aW1VkMR#a*b^m=^hya^t4ciF90D8510EJIUmEsx1)&3eb6@@YM)u4"), - make_tuple( - "n-H=MAlLDff2VLcl*kH*Kr^cX3i0qXi6$Vb!RIElk7fWxGcYP$WS0%))n064Z1pdK0DVIp4B9f2IwZPbcLjOAmztkZwatFR", - "61jEOU5HZp3b%4bqu3FlNFqD*CvSDvro%I5!moFCCezDRYjSRfkIrn(kpG!Xy4)!pH=wNuUshnJH"), - make_tuple( - "4zOP=X-Z@kFm1k-@bUku5V0(0z-5onUMv%UG&&qTbQqeZjeqdERqGNO1yAiHy5kHWXT3o6-VanF", - "e3K9hm)O1ZKXjRHhCy-Re-yN4tK42Nj$0#RmxD5csj!6XBCy9xeh7H!&n&snL4Z$wGr=T#U10uGGulwbv*)2%72U4P-7KUej"), - make_tuple( - "!zx4PeTvXdcNZnMq^UC7^Hp9x)Yen#noZu=Sm422CRnScNWXMy!Mo^BD", - "gdAw!K9xUU#B!tyA8(LiVw=eH!)OsC0u@RPBcGao7&i^zQaY1sl&rSh@CjaVW%WAtd=m&V1WOVLCX*qX7!M!h"), - make_tuple( - "ZxM3oz1KGc(DHuOL5Tzt1)lJcN2VO@@Qgc--D4ZfOvDH0EedJ5UK=oV$Xka^zod6=Jy%L", - "NAF@Ygz-Pn#KGzV5w-zd5VVgNLpxBav2J#gxyoGzM92uWG!U2Nx=5=FS9haz8F36$1W2xCBZ9xTTj3M2@(b@@gFb8Ew3--sM"), - make_tuple( - "zgrjiK%^FdNRfonJH2R0@h44(LCKCoGz#6W5kNjfN1B#mQmnnYZ34XWgKeklwpHZOy%rbMB7gPEvVN", - "uZl23w!goOeN1frG*Qj4Xfxb^&&)BfAjljbOCdC5yDH2O#yDPdC=No$S-==n7VFTUWObpzK9EZ"), - make_tuple( - "Vv*w3uwjC9c)LU-6PdL!*6^izu6^W72B%iG(EtgebrU0bsQ(fPB2HR%i)vBSXfRIezJrP%=#IEud4GK*dJjG5", - "gqVACWbExhHTmqqN#hsX2Uw%TYr31lkTA7YW%OaDP(-yDyg5GA"), - make_tuple( - "!w75F!)Z70oEde2RAd66w7mrKOj9bmNy)cHOQY&AVbW4IMeoQ0C)DjhBBIOsTD!sYl", - "@Xr&MazN9YfCygPcIU*GyIMd31kVSf4IbI%ngjnNFsS6!z9Rp92YdnZHIX4cSOfiD)EB-$W"), - make_tuple( - "0FO9PCI4ATIR6KmVIwGVHWg-kfnX9L@!#B9Oq$=^OE50Z14H@v", - "7wkv61t0JLI14VL)hg7Lo%W9GA!0j!J5P2m9P^4W0a=2QWl)lzD8Rd"), - make_tuple( - "Wrwx7zmbL$N(-Uc8(O%EiKvtPRpEPDw%xW9#1YSlF2y(NkNG00e)168b2a82aq87$#87OFYnKMsB2Y90TNK))gdjbdRZYr", - "0hPtlZrrGs=lyS9t4xv-#ynrbI9r65wmx#QXo(HLcV7@qI^cULS=kVAM#A6k2Jv%tEkQmX%(@2nrC@"), - make_tuple( - "mJ$W)T$S(J)X8(xiYE@DFHVgylMZeVCZ5szU8KnIaIH82iTxFRCus!gQ", - "Kj@U)2(ZAiR1-okzgK1Op5$v5u=w1wk4lFNuPiItXkbfD9*15o2nV&ZZa@x3%B"), - make_tuple( - "A3Y$kbCBBTV(FDKE7xbsfH8q76AwEgQiQd4Eleu&POm1^zRf6XSxuscpCyB*)", - "q)Zq%dCOSXxE=CH0A@EQ1mUa@ph0e#JxKwey99IGGEl!sAVIzrbo2=4nKsL)L8c$9TAA0w7"), - make_tuple( - "GKkLYu=0IkxUKHPRBR1&C7vMu^zD3e#=TE$Fe*z(kBJmhf^vCX4Es7$O0SUt)%r6O#j#RZFJHB3OB#350#TeWzP", - "hnIn1TQBkGan7NRYozyEq#Z83A@Qy@oQKPi*bh(^HNUlQ#zI*Fh8$kII"), - make_tuple( - "Xo#93xmhy1KBiFybX6$23vVRH56TVSR(@tq2yLaY#hq^$O6(r8-HdFE^=I#)i4GU9=GCHxRZivHjWcB", - "$#t5d^lnMW-p(DrNVZRa8Pon=8Rkyb#u(oo@sdKszA&^e2ZtySCQVu61GOrgjBf48Li9al@-WJ67"), - make_tuple( - "XqXBJAVC)MlINg9e6BGz81VWgELNmG#N!J3ORGAxaGG!D$yaE&HS5xZjDe@S^PTH(!%*eG", - "Gu&*-t!BuOpzBMCAY-KFP%yLUb^Fa%svE@0H*HC%84$2WmOGfhPBI1dv7Lm3k%qT&Ik6lMYIveH^%lpYNSxf"), - make_tuple( - "s&s$#QmmhQ*^q=lCPxK0adxB0&9elhk8C9SN1r3WrLA-0v^aN4YHEc)bhHeXvsEtJzLVuN(HU$Wo0aRjWiyJU!", - "NJ)G(LFNklv5kDSI8MB6#cD&JtkVBTVv#C9cBXu#-pxmvP*Y4S9EqkxXcbiYAkzWc"), - make_tuple( - "WuhC=BKdAnsAxfgZ2cjhF1X649^q6mVVhipY$9rwC^UebYQT2)IT5qoIO#Uf!k6VgLlAxF", - "wx*KT%9bQyci62fPp6yC&3uvZfg$#=fE)DkcTEpZ$zPKbJsCzgRXOoi8^L(bKy2ASq7YN!ODfezEW2vt5"), - make_tuple( - "yQwF8aP^7DVKCnGRPNbuoJO7g8pb#a#4Rv10HUV9fqZBsrFW)fLTAWPD*6pFeyz2uStsAlxLV0GL#o$@", - "ESrh$b#mn5lf9sLkysVgzLGqA=UyLEQYu5nqjngglQUSx%w3#Z$"), - make_tuple( - "Z6EL1GUYcPmR!e#xI%04g#Ayo3@4G1SQPq6vQBY49r$Tvik^7O3@Pl6=zOCV3Cp2FwXoYO(aqWb5", - "E%r$0C(tweme^Pml7S)xLxe5x&lLQnBh$DtC^w6sQC!HsD4B44G4BBfO%$T5N*D9y1!J*&Q"), - make_tuple( - "*s1v(f#%S9Q%9@1rYPptcfa@T@Nw^m#H)*MvyMcxt44sMjTn0xq%JfHM==gGdm3GsUkETO@", - "H3=DJx!rPA&dU(HbgQ(5k#cFE2k$LByI9IQBYj%(*KbhCEzDcG)ySLhxi"), - make_tuple( - "1PbyEnV7-FHfxBzBmj)Doq&iO&b!Lwg@GIBlm=@Szaw^gu%6chWXl!x!-KdpYzzhG@Dm6Ty=KmZ3@h7tJaL7yXSAR@", - "Tgz)ESkymAVOQBV^332hv#ULvr@an-q9P&ebni0dTIxtU(Z)jKx6#bbSfICsqnxem"), - make_tuple( - "!%%^j4A1tfpOrc1!RrBHlQ5TdHK&kow*C!G-Miio0-0l57h6zp2J6HkDm-GChH9", - "NPN)&3CrRtllC!RE3xJuGPxOBc#(bI2C$Z1rnqQ(AbAEU!xAyljgs@ZYpua9U2VRccFdKaiPg1wwLK-*BdYfNsog"), - make_tuple( - "Q49bdQ57=m6cx-3!8SeH*IoiH)M6EGuG&)dV%OrzS-jng$ZjsbZw2048ga4w4yoU9NcP#QIxrCM6sp7qJIOx975zG)MOyG3$-3I", - "OoTZx(5(T=n4LLQM^Ry04=A@U1AvF&a6ARuo^3^K0(UjSq47souEgC15UN#e#%t@hZ2R#Y8cdUe3z6r96iP!"), - make_tuple( - "qiLD6nYHNG78x=!ru&@-!sNFl#E@*pE(8mt!CmuHmSfNQVYxksRBQ(3dxZt4DTh=q7DjBD1^V49c8dRyoXl9RoHk!m!YOa7", - "&0V#fraOp^RJ*RRDoV$0#UOxs)fC3IuGAj)Id1iARq#C$7^wEt%yAGQ2Ecahejr&l@MfHxnx1yDKZ"), - make_tuple( - "!EhUzK6Ioet@iQyJnwSx-BlzX)qtR2eKbBo9D#oE7xa7JlJOk$FGjY04(TL!Ov3FYPJJ!Bl$lX6u", - "O51mxqjrCPviRJfLs&jNgV6GUnc2$Kqxx8GxGfQ@PUlw=xNon2%0UdIx4UVLr6c13*bNBMhHM3"), - make_tuple( - "ato3Xb4Md0&sncctvSmYP5cQe)rcdAU%jjp82DfT2g&$hhzVtm&k72-V", - "KQGU81UcPFFc(vg)rZnJjiw^--6m8Hhc(ocSjA%L#DLa1$tpvKnbpMd1nDuRgwIc0ib!qt(wu=Pi9f1jt@"), - make_tuple( - "p&zntM8zr5O=y(gN=7o4w*vHK4inX!d)4XX!JsQB3!=ej(N3*U)jn!vm-V4eXSUHkEIWrC-V)R#AIosN48KmM^Wy9jB6&r^mL", - "j1uu-JN1=M1)3c2u5gfZ0cuv9IQ-oihlL!miO0UoAflOp7!ZJ=I#*7=DW%s8yh@dkW5w*-yyCx3YYPTaiM"), - make_tuple("GwA5=lapOtRLQrTTHrfT$8bdWt4Pjxfee-hh&dvelokBuYe8gTUU=Lzc%bF&cvRslLhD44D=qV4", "XbCfS95Xy@3PL*kBqFh$Z)Wis3$0v30iG$k6ipX6Lf=9$0qYSjD@zT2y5$MLLhagGlxepZ6EfuHrXncAux-"), - make_tuple( - "htPHBQHO7Ntg9ghI7qF2fgqQ7H^S&WRo2Slds25L8kaUMqyo29*PybCC=gFEs&Wo*9PPQrw0@YJJqSmHjE!)lFoa4*^uQnbu", - "Od*rlCOk!YO1vYpJUpC@lg=wLUUHiE99CshGAG7uPq3!ytmIHI$S%FcDZ-"), - make_tuple( - "E%P2$cIkXz3bMC5nKlD83PtQuPC(-R5XClKz0-9%K5Av3ON!PxYx=Gij*^$E6Gv5oRI7u=1XBl", - "Lh*Xlmbyj5B0gD8-&gTKQC5ppx)evn-kUFsFmluZvZ*0S=Hx7o2Pdb6YU7nWhnnybid$y&"), - make_tuple( - "7LXu0A3saV@2C!pW$))qolunT0$afQ1rDnk2nfsZ!zWQh=MeRj", - "4L#97j2GMyp#LzTRr29T9EcT(!fbpav(@pX@DF@LzdLYMO*p)LLQzDm%fxvJ76lPg7fsod8xE9ZFh^"), - make_tuple( - "QcoepN6uWtS=rt-v0ePd#tlH&8zjAmN88@kG#zUB8UcrpBA=RTvgVT@ltmaJtBXsB2nt", - "NR@1zn^nXhEOiN%oGJ7AH&FK!lNajFJ$Y@#zwsOj$#9FuQn2)lMTptXR(uCtB"), - make_tuple( - "8U#2abgs9U(xUa=9O83mT7PPKY^HUlDOfLn*a5d$QYjb=D^1%-c*KFp-zXA0*&ebIak&g2m!KcCRa", - "oPdgXY&V6CK9SMFPWtpTV)o4j&5Rosdw$#8A=Am2WCBTKqsiDye-l7(0YIPeh0ig6h"), - make_tuple( - "ygUdjW4gpoqdkqaexr&Rnp&&OE=YxXCA2Qnd6Idk0XLZEC@!*j7)BSE-GEyj6h#D)Dd^4Q", - "Iv73sBVZM(vF5AnDkW#xJ4LmjcfVmEweM$Uw^#a*qg%7VWju!#TjATnl11WWhM83b!KYIPIZ"), - make_tuple( - "%!I%9UmKOgnPI4%cXnj!b&NnLAKmXgxlOdEmQJPjS((lOXdi*7m%RmbUeskBN2^hp", - "q9da=Tb3cy=(uE-aCb-2GpE8%!0hK-jRghX!h)NNnfeUVAg2u-N5igOfcM4W(3GjIQ1#0Sx)za*4mS)s1*4i"), - make_tuple( - "pJdZ6rS^^KN-4)6-o#3%idCHjF7$46E(Q*yuUWxFWklKzhdTghFMpgPT", - "*xw!aegk0Bd1fUZPWD9zHreARca3D4VTxqevRLjzp1YlLXr227TQi8at-Cy^z=RoHsmMyC)6UzV(Xu(#z1md#nk6(X=Bv"), - make_tuple( - "aZazfcLhjstl8-YOiz8j-1PmsvEK95CBG8aNcDLH1Wxi238MLc5dZWtz", - "WUz5Igmmv9dY5CoSBL*%U6cEJ@Je@^*eqxP9)oGp@7W#m2&YM919M3J$sJJdK2MYji@D$9ga3FEKMVzOgVkRu"), - make_tuple( - "KaYml9M6nBY2ThtAZAO@E7G@qZvu!gVnf!-2b=fKov8G(GzmJE6U1K=O9H0dW", - "e&*uLb@(C)VF^vEJDe9IYejMnh*8y3pBR4WUuUz)=QY*D8ZG0R^"), - make_tuple( - "ipPCVz3HEI-Yk6$M#d@$oLT(JCYGAsP^mfnFcowe5PYRORUVjFBA066&SYf@WyZK!7TU^wsOVTVhigM3UaO=WTnUGM(i&Z4z)gk", - "mrBGhcjP%b4500lmKcFl!QaGGZiPdiufveojSj*-7OytR7asKJ@F1TWOymJxaNbW#ndzqLnx2ML$(m@9i-so2i"), - make_tuple( - "7sZ57bpQgC&M6-BDX67LV6*P1R2aFzMUG3Nijm!iHR-YM#M&d1f^=Pi4O#k1N)Px8S$2smJV&p", - "XziK$fAM=^n%nIoT0z^XPgRVfo9@r7@F4pVidLnQrJ*-KwuZLxVQ3dJgwLf^y9Inf"), - make_tuple( - "hsFH#nBj%Yp5gM$@oFj#H*c%CcCHSe&o3RSGRJ$OtK7j0Qd7WwPsaKhjzmKf9hp7Otjxtlvs", - "^A-t5*qcbOYDikzigZWUpOc3F(YaFi!clQUE($Z4j2O=HmMkEc%OKboU9*Pdy^@^@d-U6m1hKTaW1HHPjP%T5oYNazpw%g%qx"), - make_tuple( - "=q-hoqyFY#NwNLkm1gHs)hFG!Q&3t4RN7PwXD!zaOxwkrumHqRLawGL1PASGCq(rcs89$QUgjfvD1zIEcqQv^cOxm", - "a0Dr8oUY3KVv6)BlxBX9t2pRmo8=lXFcysB=id%*utuK1TIhRA6Zhf!"), - make_tuple( - "(8A6dsg5eTZaBIdkJlnmlI9EDDc9Ny0f$ZoqiZJMDT4XynnmNDa*$pd!$oEAEP6", - "j6gpV!!s#S0&il@!hvu8G2ZoqGkXsCCwqrOxD@M)j0Cq!&jmuOYLtI"), - make_tuple( - "#E2Qd^t$C)Gk)oMJ7y@FVKz6urE9uGjoXXjb(UkI1I$hzEuPig@M#yVbBlmqeaQj3KB$o9k9FVNf=ww$5rkAIAgcj#Ti*X3-tJN%", - "0u4%bWLGiTfUNg1gF-*4OEXi^uQrL5#dFR71N3I4CaF!EWz-!Jj!5x(lNFNieBVpAmi9mQofy5imUm5fTw0mh!YL(mkwQ%Eri"), - make_tuple( - "$2=YF6n%kMFbQA=Q$z-5v82#w)pQNjOarb!BfTUz=mbN2fH#xM7D()G^UYLj0T0c$aAN(Hs8!fD", - "bH7xVkw18nb(hpGar#M)iGRCH6g4R9(zW-3G=VW=qtcn-EU=DUEU1YKH^K35kgI"), - make_tuple( - "sDA6SF*0%jkO!QDwaqvzW@-lfYNa51aEf*TXND#Xg%Vhqpq3mrg-oPCwA(R4$^cm7UO$u", - "IQIMF3uEVY&s9FE$l8v!JERxXQI8EWgELWVE0v3i)$!rsN0$g(JVAw-ZVjAw3aOuzC9gE2OQ%1#MFOd=)X795=$W%BwSEkr3FqQn"), - make_tuple( - "0tQ2mE1R%==sYRE!eo%NQSQ^T@vR!*gtlURqW6dv8oVDuCU=J$F$ejcwhfnWP465SJmaT&&LZ0yl=&rid5YOP7", - "n2Hjtzw#dCCRDsOTzml7^$m8QN17MoUkpR28tvrvCPajvMNwd$T!TggNrutyFu!xl&I"), - make_tuple( - "DQHWG0Mt8p)y%qNZ$@rYz8-1YrU*@T0YWxrk#o#pyBG(ckQXN=7e$^sMg5qv56M@$", - "xDI4YVe$XL@UeGwr6qC0p%DIiJ!qI-fN2P4XSPRWWkcD8LPyLh!*x(dA^0Pvf"), - make_tuple( - "X&UR()s!BuZ9LZFR%TPrag7Tz*9EugP(j9#8ap-iC0*HjNLlZ3MT&Y^Ug5*kQeEkJr78mq@shMcHXPHY", - "wXBEr=0u8Z$=%irGSMR#2CDr-XKsBf8KIKfA4wsP=TCoR#6Y1A7-8s&pt(*w@drjV&V"), - make_tuple( - "mQvLC5YAwdJIM41(#jDCiH9t7ZJSzUPN*&w5S7(9!wfO9CE0W@CVW7j)Ne4yb", - "hq@wQ#LgktBvGZXBtbCpWR*%h8fj(trmd=iD3jn7D6mv8cw71P8ZVkpEQYfbEHHtcCO!$wxAS%IUeT=K^S0w9YypvK"), - make_tuple( - "&qkP@34kUF47&Kc*rlEaxZeUmp=jDVR!z=8Bm&Ve=9lJx1T2DqxASpnWmSO#iIN03l$Gh*KL!8$bvpzjT9$EWTkFFn$UTc", - "v#rXm2t$&zEUju^x-bc8h5Peg#-1KG@)isO-%riLj45Dr=n5elu5kf4!GuhgkGnIJ$ldYjkZNvZNA8"), - make_tuple( - "CFcW8)*E)zyA=Iq%cJ!F9FM&y3BnIO9%FreL2Uqg00U)JFclDqN", - "kz@cfU0&4cAz3xT^Kv5pm5DlFN&0!aS!SQcThMJhHqfhjq1(4gBtTBE7*f!s=SD19lh3gHV)lR"), - make_tuple( - "q8XU0o4j6tb9VZF%Uw4Bu&6Vm-fz*=SSUt*d9VsLhcXYMeAG4M-qcxy@2k7mprnG$3l&hQcGrTfIUB%", - "ysJZBbgfo8^*HCj@aB5SmHmOp4bFzVGYOuBsi3Ci2*T&H^xM0U0sxBL$9NtFvNf8$3=5mE=AIoRSyZN!jWsVSpl*oXO4mi0"), - make_tuple( - "uDRIz)3OQgqKsjjLG7CjGh4UpxwRqHgmotMmFLz1cFqTcTsWDb^^", - "%SVpkt@ykUjtBa2W6cpPkZr3(=--gcprOf8WDz3*kpv1mVN5IMmN"), - make_tuple( - "B3(zNcgeo09W7R0DPFEQM4blGoAKK@CtOzomBA=-raZ=bWl@qjE2T5sYB=j58Z2yvwzvF&j^%2Hhihm&4eYJV2oJYjaRbe$K%", - "aPsetSPuWf8gCDUe2#u1kfFt(QUG*P2(gfcY!QbdHD&GrKD%@8VP@7m2%dQ"), - make_tuple( - "p0I*Ty*9$HfbVOrobNr@M^e=M$ChqVNHG0=Fs@HH0oOPtwOq5juFuQvf^sVn-s6Jgp4SXpuYhEVk&^hu(OZ*baCO5", - "Y(&%h)h92ujNCI&NJ$o2WT*myh1D02fa7Jy1&Z1Bn&1Zq$$f$3nTSZzjW^Zj(KR"), - make_tuple( - "!htCbkOAaIrQgbH%V*QvYMhCVAAsnmHnraiB5^DNZ7&8c62AIPqpBW1mTpeogsS)(l$T((!duy9Gf6", - "I5m@BFQRW9==-hNn7TywH4-QqkKBfZ=7dnhG!gmuhx&BK-(=z^Y-QINy"), - make_tuple( - "oE4L8u7ToqVg*E-ZrQ*kSDD)8CScq26kD2wr)fl(XxH7s@a^-EgbCRg@VS%0-T9VK0HYnkHvFngFP$GgzCqF", - "JHLt^6X)O#v=kGMt=wv1$od67Bsf7=CPNp3X2C0$GjNr0y!j5S)W&FQkhCw#jL(G37#7@gWlFSD95e@"), - make_tuple( - "#-BC@tFLnYraF&Gkj*4-@Xovep)VR*b4eD%tr#-w=JKP02LhFgF(ccwU)Rqd%l$Gok6NA#yWOFs^8", - "kvrqoNm*uw7MTD#D0zrjq-mTVhzVnHYG)R7h@!xLTlh0z(B@99z("), - make_tuple( - "WOju4o901N9Q@UtrIvAC@Qadgr$2g$*(pU^r9D-7p3uiJEGq2fF4Y5CRPr&Y!7aB6C@-e&22XQrEGKZ=j", - "R&t#w(IaSqWn-wMi&2=ZL%w1Mu%XU%6HAP%^H6rDNms2XhtpL5AxyVgFD#hlm=)yE=RP@zxxL8p0t679"), - make_tuple( - "-^wPyJbC%^x*x*bh-$5ANaIN^^&f-A#x!*njB4!!VACUbDW&%gTApdIbq(bO((aqhuco*ONO", - "1AekQmYlDhZCr7JQE&&EvoljehOKIWj(*atusdF4x0I=!OK9&j-T^TvkzP1OystAZYf@JtlL!6(fpjE7B-IO*P"), - make_tuple( - "L%is0y)!LEjw0x1S*A(20ytkguoEh!HNuZT7zmDfj$toCfZxlfc!3hdYJwL!wLxmvF2ndHFvB!JTnO1m9rVP9!YD1y8tQ^E", - "CBrdXEuSzy$7r#il-an)MPIBBnVI7iGAH)-iyGz)q0qHbNY6ZaCiv5dVz53jwFsV5VSHciVIQtr@19ntHyF"), - make_tuple( - "t$3pwlTSQ^tKniwbmbVGPb940@SXw3KpbPtr-PQcRv*9eWS-c4krEXv(&jEl)Bix)", - "klSC^m5=@1xtG)9rk9woxhT1WFt1*)aC%%W&qORwUlQ#SuY(i@GgD1Dpz0R%V466Q6H10iBTGMZVHnVah-Ct-C0V"), - make_tuple( - "-%g9f%jEU3WO9zsCcr)nV-1Z=pbbnu!uIpLv-Brh$*G#Di$5*3Ccy1", - "&dt)G1SP=$Egpsi8)vy*6cWZefi&zvwbaJeOY-QetyEJ7x#HjIS%a"), - make_tuple( - "9AU!YC1Kcg%mmH47NA#wX2y#%Jmacr*(djL0Sx7)Kqq8o%!x*vbf9=RD3l$GDPPZJUPpLTj^*I", - "yJsmXPa5ZM-T(QmMXHQo6R9@9va9$dP0-IMJ(H1!8x2mJYhTL)2iq#N^0Wf"), - make_tuple( - "bT-hZO@kTMBd&we)SxTXs1V%$wZ#$&rmuD4Aik=Lc2)O$KL7U*eW*8", - "LHC@mC@R8r&zjxcymQ9HLKW0A7$m0pXPT=&tuR6lwl2*3no8CV3mM"), - make_tuple( - "H1$zoOKh1Fyo#oSad)JSK@(VN@lNmnog!BZjJv595aQC5-FePprNNEah", - "!qPS1lf5-Kb8&qx5i9KZzqMm-2cI2iOx@L6516kV1cWqPN=1WF0&kcfhl"), - make_tuple( - "k#bhR6l)61)N6g9#CV1RD5%^=d6Iib4^ky*p=BbdkcY0x-E4%qx0i=&1^pL@xdZeynNgKSuVk1v(GH8v", - "*uB0ZAGC#UQgpWkW%I4z%^%Bt!kNQTmKPo*LFXi3c9#(8OoRIkSbU7XIUh9KS8a&Yo!K-KcEx4xFM$R#tbEpk-r1j1"), - make_tuple( - "8wgK3)inM2Q8xz&*Bk#Qa2WcYCt-&7IMf#i-T=)5JYrwEUQi#f3RbSEI(ZTp8Qybcg&L&QwlWB=8D9lS$&zfAKS)bVfVuD0U#", - "%b30AgdJFfO%eNoGrp@134Og^4L-SC6kG#Zvw*y2F2sPgd1()qMy-ItGE&gFu)YPYbDdraZQ3-SV*BFC8VqS0C9Z3yZf2K&J"), - make_tuple( - "GC$oK@4g^xEzvJVrEiRzIAkX0TMF3slreWxRnQiZQp4KPP623Cq#Hx0sDd4zlJAW(Lhop^Wo", - "Au#xISUUbP7E7eZY==#INp*KLcw9kBa0XgcK5(!4zFB#Fjk6iOn&JG0$^ads"), - make_tuple( - "TWqpzp)bdnrcDkUQuZVVZuIf0ptFWRcHFzNzId(dogAdJ2kVT(S06=#9oGYOl", - "C=#DtG2@MQ5Cfg&y#G3!V8mxoD61O=WoseWzN#%BPcUIL8tC^P@Ra6QlaKv%6&(R732JwKEP5P"), - make_tuple( - "l^vcyr#l&XQexfqbzOUuxiFHaRG%3Rv233IIA62&7u-Sgsv%p#j0^L", - "8eKJSE6vDpp52wa^5oXgHi4c$aiA7sXd=V@aoks*po)mU$34ftmlIF27ILCvBvL"), - make_tuple( - "6Nk34RZ7=1lyOBDJCnvX)!IOC2zNwko-CY-jxIDYhFkQd29oLBl5iw5#", - "3QS*4NB9I4lNJQWgNflEu5c2oz)z5asda!euJyz#ZfqGrnWub!0%!HPIlcUMVk4Vzo)QTez@6hosVmHo3og#7ESIfG"), - make_tuple( - "K9ljJ^YKQoV7u&VIC)k)Pf(dH1UI$Nsvt7c6HLyEdL!e77v1DrHIuJS0Fjjn-57Nwd", - "6@W%iuUg9uWA%p1S9nVEXusjr3WZ*LBt*Ny6EdqZg(BQO43ngpq6j$05GsZvzvuUaDS%*Bt=RAjBqO"), - make_tuple( - "SiG^okR1U4Bn(hdsU9uFeQ*yf!)nA)AzuYS*j=$uJTzpPSL^HG8yZ9K&O!#uMU", - "9YFr@2uV#0LIRsHLwiTGCvxJIdbFkshfPs)lkng^NzfSpYuIdu@=h1Pbdo5J*k9HL5D6YDbrt@LI@p(Xr)9n-TIoq6#&Q(lIQxjg"), - make_tuple( - "ffK7nm=g7z#1SZY00-gL3JS2Ehf1J!TkOq012WO4w*KA!Ml0vCy2eZ^WspyzlVLn", - "E-q*=KL&0wa6ZUGX(VYbBU3phmYDP(JFuKZOJXkVnh$B7%FAH6&d6Mqu3j"), - make_tuple( - "NG01C7cLQ@hbT6ur)v!=%bwjQoKwG!Dc3cmqsLi!)-*Dxw^kP!QI-vp", - "AZLdJ*diw-y*RnE491OwNIsOlIRLv4wpxKqPrg8!dJQe%CWBZF2nmptt"), - make_tuple( - "8d6z4p9&B9)Mtz)zOGzC@%rrw5Wwikgrb0XCywCeDN3%bBm=hFOJoWdQvCJ&uhbC#viWmNdU$F$!G$d%2)0UWg@NorbyXNx!", - "ZPvzR$0-%U*OuCcoSMGdxoL69kWgNYRnvz)$1-3^LARBvViLQmqlAX%LNQ=J)jLxMKt9aBV"), - make_tuple( - "zh5!ki1h4bKRNadgtyIJmNw$6bQz*vCGe8&%lgJTX$PzH$!7ME^H!f#W(Wkng4ub74lVVE2", - "y@X3RK!om)iMF^tuvM-3K03FLJP@cQbhfSAl5k6wvrGE2(@I(0HiERKeUuo9BW-$Bo%M4ERj1*BEklEnWm^E)UW"), - make_tuple( - "7Drb^DFm*-o16VHXPEsmHRnZi&OKw^&z#&)$OQO976Nie@fwQs*^Mnz%jeg*uJcAjjB26BG6vAa-)v4t5baDfVfNZa^@", - "A2qdC!*OXCX3u7tSc*MP^=%N^ZYB*m(GfH^paVQ5bB8H!VwTObq&6KYE"), - make_tuple( - "F)dV%Vg)8jaz@DjrRG5SBMUGG(L7pG4XdRRS)TBd6=gc24t3=sPv)3OIeM", - "-l%tpQjB2P64b-W7Ec8uN7oHqjpD=GiDl*a93kFiwcMXQ-OU^EyLgJP(tD*WK@#epelkd"), - make_tuple( - "xIh^FR2Rz)^0@FfZE@58cJINPe5Yd!7qBVQiOa&x#Eb9q!Fkm*BauCf#U", - "8IlK@X70OUbpR!l3&q5PFWPjEe(T$Y*k3Vaad(xfqr3$ay5uDqR1wIPbf4&ninf1dxa(mNWw%av5EK^rgYxC#nq2qllEV"), - make_tuple( - "dB1A3s7oR8PB2-Alwz3*$1*0tcyDfjU2Otl%iazSa=9U3(eU!17jvPAlxD(*1co-tMi58UgNw%W7OPzb3@2*g*artJ", - "#QFAQ0Rv)SYPhw9*#h0(WuvLtoYis=U&xR9ZjnyvBNBy24XLjZvZmrh!$l)z6UCNDn)IzRV26mtt^4o(K3AWHILC%MjQ0!"), - make_tuple( - "mFYUPt^A&8GdzM9rfPZ8C3WJt%3(R8VIqy*wav!wqqf(QEYSn*O(cF$H-U3^yR6basR2=(mGdo&Ra)6RY", - "%QU^kM8jRXDCnrQ3d0zLNiWqKe1AY4=5^bad@J#LQ#xVvyM5)1-xU!-F%BVCEDj-ZjppDPR%KRHz0"), - make_tuple( - "9iMrAj)&XKWVSSE@BvHA0XFknKRw@7svihKWiR*vYJEllDaUWi43*^(", - "-0sz5ZOm!4WmD5V0$ZW-W5#sVvWqrPvSKolxeE@lGO1v%h)akm5n78f@$NeSKtqcj@U"), - make_tuple( - "7MoYXLABZzY!6Sa!FiFlzw=CdvWA3ZgEjt02@I)DK&(Kcx29PVO5ROj(1M0r=NPK5wtVez7uJR@(TQ7VETpF%8WO5ly-T#Ce&$*#", - "XHiFx(K)sTyR*RvspL^(vnPkZt80(SclB*st*3MyD)!w1O4C*PQczjNxTFloo(PsicO3fA8oUoji#gufmY*%STtD=Qjpi@7Dv0"), - make_tuple( - "By%-UAFhM#fX(=RtaWI=ZkWz0%OmmtRH@pp@DDEER-#lmUjM1zlJDQ&T", - "7Nh-U*dSyd0a)&e4-aCkk1LeTCxN9i3l1cqMJ$UPWHrIAlwVrtFcd-O2GYogtikK-!O)XHEaL%=G@=9!tB^b6D-KTd"), - make_tuple( - "($UUwyGOu#-EAS$TO6zF^V0=6nX%esW!h=%q-##Ox6@!YPdo=D4SX!TAKZrwdrrf@", - "kIKLRwiq$qIu!X^GNSs*E0k)SEu#7$jHW59gLK*FEHD!i-YF-cUyyIdjOZ^r9tlKd4XyV"), - make_tuple( - "7x3#kU2@P67&zqhnu$w(a%eZMirjx(6ea!Q26MG!78R&h)=h5s4z!rpy%cZ3&E8@Yah*y", - "U#j2U2)(uAjTnX8mp8AL-m=CFHqCB-mu9)(*^fG3mCPO2pVZ2&q$4h9GsjY12$9hOY4BNS#z@boY5Cc2QK=h3Rq9"), - make_tuple( - "GNnYVDSR5%za)i-g1RDuOirJwF6z0zgGzEUP%i#g=4eS44^x@aqIx(zpuGnk9&QqiL", - "uCj8pP&Tb4#Tg1@R0S04s1PTM!#lV=X)E0o#3)&fNeNGB*9xQ!Z"), - make_tuple( - "@=%fBLxXzSq7^gAa-Zf&YL93Kmh30o5a^Jvl-2bH*-AVAD-&h9Lv6=nXJqw*A@S8w8OmdrZahs@", - "5LlY*3Q8aI5K%n^CyHeK1L(%ATveLVf^R6dGQb$mziP#NyfOI07G!Wm*7)FX9ELj)qS^eF(^^)j*MU99G#Rg@*YXr^i)$OZ6joK1"), - make_tuple( - "LqLwqz7ZcFLW!-&r=9EsM*kKvW)(K6xLKT)1^s(7FBq)j9yZJBZ-dJa1!fDu6o$ATAXN&MRZmOTJ", - "C(Y6SAuqg^1IPI2Pb!z&1N&r8!b#SaXeie%cqfYs9@#juDMsaqNTNF3G!E7DiQonRBepp&g^3IMgl9@6F"), - make_tuple( - "hVrnx9BQk4GEtRj33JfROqMD&Pt-s^g^lQxA11DglxWsFt@YVSEecmyoOHBkSUFhcpXPJ^651xdsP^Oj2vSQsusm*fzYKUJz", - "XeGIQDI#AH7Qb)gU8OLpr46XGAcw$vZnK9e2nXeRtsrWtbMJyO"), - make_tuple( - "#N5JymwQKd@yustOd&UtT)#KEJqo(8(G6u8RkP3YCa*bhxKfzf$4X9", - "YmVw$!mWST%4OCeI9=&%$3GS9BPDJRm@I4m1Y5(FFgX7XlmElDOj@"), - make_tuple( - "(a=t3L$dry36nBAbmz@!Y*mR%4bBPKN3Rj5n%vu&giIQ!!0qlpKDgmtE8H#(3MG-D$NtUkO8TQr", - "cvsJN5k%%y=F8%669iKq@083S2GLrT2Q&GC#r@N)L^jQ-$u$ZWI9Kb&10yI69^Y7j=&(mWFKdctoIs@QO"), - make_tuple( - "51IAx%!AFC*=FcUUx#Iekk67%ppx#Z#KvgCD0x7Lj%Sb#)a%^o2)-fl#", - "xElpHKc^pEFvYPQR%frO4WLTKuuxplR90YbU-Wi%hyOlQe9vRAP4Or"), - make_tuple( - "R4ry!2Kg-O-08rm6cYXG8m2llC=@RxaoON*j$E%j=b93acQkm3%&T5ERTm1)pKmh8oNuEh", - "YmeDcDhN3pdoTUsUMUH72)9#5=zf=NNM^nZZ(KF#zgGmFE0I)M4LZD^E3Tk$mVRnghLRc=ckJfNewj=9X"), - make_tuple( - "bAdNn4yf#AKYn(FMm#V)lzd&TSAp$JiTSxonu(S(Djx*dPY4*aN(4eDC", - "cBY#GfzB=I9C%lY8-r^tol#6R)@siN&B!VH4eudd0Q()-wN&6mQ&1CiW@#%pJQ%ipDT1Iy*34BY9=rhHS1!SzpU@NQ@K9gH7GC0"), - make_tuple( - "X#HCptt!Wg!RoqJ7fR#hWMFds)h^euOvyccMX=9V10t@wd4sd33H=-Y#kOo(-n%lunU=feKJCFb1KY0Q9Efh%2h", - "vJ)149SbG2ynfn!C!r1BdaXcvIjn$ZaFE=z1Xx2@9G)RNwGHH9G"), - make_tuple("W!49Gv$4jA(yaW7aSiX^b4-J)UV(6K4VfPuDZSPU5EezPdw#pc0S-=C-J(Anky2%$Od1Z^80zb9nc0czrVP7iix2k903p", "RUDB7H0eYoObWmLs!(&-T#*Q1k0ak*ONsA1APnWQ*@y!oKBqSnVnQIKFkARhaKWBh@YaTsx-Rrfr#$=ikfcSe^G1WjK-si)"), - make_tuple( - "C2bMT4fUG%(B=o0OeF!dfvQQKInNGMXumJr7O65EG5zRl0SZMOMN1-LL@sF%$i$=Pf1oK2sxWga#!7Xz#WwFEtSMj4XIF^PtmE", - "kV10ozp*ctquP&H!AE*n@rOr%x)u4!OlqwHfM45LN1viEDeWbSgX76Mz1bns8zxfgVmdkLZQA9YUNR0K7l"), - make_tuple( - "bp-9I1SIz*3wRbXPPN^OQAe3&rK(UI!g%M2JX#yud@ODn9E%VMVWyJ%!fAe", - "i0Tcb9xXuuJ0CDuiFz8dv@OVUhkx0=i*XFlM%gX&ZAJ033S%a#@bQL1&tZ07jonDkALm$!gDWdTqMm1B1LiEgRCf"), - make_tuple( - "5hgcRY&BL^z3V1=f2$r2$t0ZqWCanpj2ggrp!HcyclgEPtE8e0tPYN4bA@CASZT3X7(", - "cPJaAol$2QszRpKZW2u$fkq(mw$Vs=^V*lj2u^@pw47bo^P@VN8F"), - make_tuple( - "7TajqMppuuUJhQZS@bZCjP7LjiEQf0dIClw(Tae$)#X4pmoB=4EzD0uCfIj*kcGAUbNa4Xar1i2LBC1BR11fMp#", - "k)@aF0iUJTJ(FV6)cpH%lHgJoDxPeno#&1T=M5c4e!E^o#w0EQxJifKMn0zC1W$QE"), - make_tuple( - "i(3-SQ32Mgq(w8xqud)Ojg67)-U-jb(!znM#c*XBT*928OCe4%heuH@--OP$Vwj*W-KKuQSPUe()c4f", - "DJN*=z(-0WE3#s1GiV@6Jb1=#ZI=o&tMSM&4M7X16GSB)VKF-Hop@f=w@r7WxWh$ZoNwZp6fswxLYWh"), - make_tuple( - "0*YIek%ag9bJibWVj^t7ljt4PrEmuBQ2qVFyDDqh-(ESWKtENbNQIm)53b6=UCx-q", - "bLw)uR^z-5-!iATtog%pvw%0eh1ZIA*#cwMbB*J3YFm(UC3K*#)YFfNP&HpI2n&h^pG-dY0L=Pidt"), - make_tuple( - "5VZULHBG%p&!CjoOgi(CmOw-)B-HVYzvLkVrP*(6alM4(8ybGv$iJUAxxD!7K&-@8EFK@Gl8g", - "E*N1&zSP#fAcfG%uPSwA3-tvbTKLwFp=DxxzvUPdK7x9TI5oTw9dJgH"), - make_tuple( - "hmklBKpJ0QC#OnG@7XKz3aK$loR3TcY^tkR!uugye=O8tNq9^MUMX@ZlAh=WXtCM(E34gE", - "WC9Tp254nBVD4Sy!XtQ-ToUxPHc=rYv%A7iTqpK6xAfgGLsoCXxAlba3xlMWRLq"), - make_tuple( - "u*gA#$O&-#Ug%%n!#*P6lKFiMRs-6UPbv^CR3*c0IV=pWh!5pQjgL*z3ATkEktXlfbsG^HYK", - "hwIEUD6fI53X1gfaNRb)^Cvtl5#9*C791(QP!RtO8hj2)&RYp2waxKgiXLdQg*N!c#"), - make_tuple( - "t1MiI6GKM%y@AMNaM02ZQ=Qymt(-62$6*FgkWPKi*0AySDdLVXtQkyL1ur(uV5wEL", - "s8B16PWUe*HepeWG4boT-RcPVGiJog6h%TTIHK(Nv0gv6Y5L0mp=-)WKfNdVg*R7P3kTSVOG()GFp1#jVSB614!T"), - make_tuple( - "kTrK&LuSUu*74ja%YLxFYwW$2p0E=Td&v*Q7$38sNR6yuYb53lwU8^&LgVqizcZ9", - "4ufEj0QdqIk1t3vr1hNWQAVvE^95BMCd&Q1bY=W=mhXwNtlBXX4s8zaa"), - make_tuple( - "B!apj12P#Z6xwcrmlD&0KqpYWVcXil7qm8tPGAo=wkXIm(rSk-#w8u-xpa^v)DqYtw^!&QQ1GV86^6P5dKsXV6Vok", - "fVf!CL-%8=M$rw2fhbs7fxNP6*#JREi#V^$Ac6n4vDI!b^7CuMA0PmQQGZy!kVQJS9Fd4&X=V9tnRoadaQo%a"), - make_tuple( - "2(W6RWNduK6$IYF#&k9aUGq@^62%jCY1qZqpXV(pj2NzSbjBrkXhJVuWJiev", - "vJoB74aG-soHZG@T9VA%M%P@xi6Js8s#4-9iaboI@n7)wH5=z^ZJSFKypKF=RN22d"), - make_tuple( - "dKl-BOl0woCNNirGMmzhDU70CFleWGFUxNL=pqLhFukIp6AbfW%*lEcQR", - "QvE=2m2hf%TBi!&nloxGiq5SJHW&rBuUix^SvqvX1mgv*)MRQEfh"), - make_tuple( - "qyhpkwlFGUvaCu85WECWF!O6dC%h5s8XEsX)lsmqf@gS(r&kG0IaXy#0yrfaN^=^Q=Z8J&XL50K=LQS-qlgKW(fIkBVi3^LoJ8S", - "m!0YBpP7f#vgdg(HHIsbEKPiRS0Xh4vy5z-(lE^u0FZ%yz%Xer^L#z#wBbY%"), - make_tuple( - "FdT@!oVuvmRmVmXOvCYmyTWh6zoSx6wj7ubiyG9@FLyzCE5kuN9CJ6V!cugT", - "7!3xl6RG=K8X4y#n8)hnh7oNR^ =zti=gBw-ptG)Jx$S(1VCafMq@4SyR8UHrBuOL24LoD110F$*Azq"), - make_tuple( - "xPEa90qn=Y^o0Be=M=GrqMI7@-KaDQ@R(Iq)jjuFt@b@z*wRDa($0hag9cv(lrOVq", - "iab3^emQ&9p#$xG0M8%$0YBl=$VR*9PUEYAWqjfpR&^Pw#%FgQVlnORxE5QW0hoQNT4T^Ye"), - make_tuple( - "ZAy-fw0I7bu62Q!9$^OCPxSQ)sF4KCpKYDSkT$XpAUX7=GG*xQCDR65)2BAoU$ZtGyM$Y", - "=qVy6O9%UxHiK=Ng687XQm*96-o#iPBbS7X(1g75kgs**73KkKo=t"), - make_tuple( - "@5P0V%b2mE!YrCPL)g5cHTef-8DjDn9@fQzt73-Bw%NM)Uoj9RK2#PUfCRy", - "5aWerhD73lyXMZ0(Ru!0WWsqSAIyMisPZvNZtocH#%0Zs$zJ=9z9jOkjRlZngJ2mfXv)aG=RbA4QGQ"), - make_tuple( - "&RAEFT@)PMwV9Q$AXOqOSYwHkST=ef2zeOpTxG%=AtX9CmwYu3kqtCJ#FAmAvxoqF5@", - "u79Xm%nBQx9w*igJh!0S-2B&nV1gW*%(0n-VzJJ$x(l=PSjU5uK#*I8e(t(gb!GU*GcscEu=bnW"), - make_tuple( - "AWpfQtMy9)eT-mzQ2nXP89JybP0VI0UVrXn=S&sQvmOhIJt$8wj)xg5FF=AVa%", - "3wF&5ln%8usawWgw9yg^%R0LOiYLd-Ewtjdm2)#61@3&ZJjdxrp"), - make_tuple( - "aX-xjg)$H%*m3-#W#w2Dl4sh9=5-RFJtmasOks4$IF26v4wsU1y-O4yMhozsBukR%*6kLP62-qp%wX81=O&)*t2XRdEv-Z8a3rUn", - "^l!7)@#Q5=eDY%-K0#uGPdxNk(n6CGKew3rmuWeJ9JiTEi5maR!y=@o=2=Ozn)8B5u)"), - make_tuple( - "DczhM!PCOkuz^Y@dvzZ%j)@*Xf^9Hj^zxIfnctBveZjxk5a7xX%CwrhDa74ej41q9=@Zyg9JYK!q83*61I8w*u$IBl", - "O7JGsjbV*LNsFa$lyePh53G1ua^%g-9dup1(Le^qfg%n#Kj<fLnCoUv7xSo&Tj2&22Igv@Rs^g@DDZ5aQF6%2mB("), - make_tuple( - "h9NMHgaJ748D%$f7rKnxpmlQp2=ir2T9FTzMul*URKDUBfZyRh6MdeAZHGbGdewt02@eVmp&P@pS9(n-@p*6=gfqB", - "(lDlJk2g0e%$fof^1Q)=1tmY^*pTpr%pXq35eB^QAENDN5MnNTKZQ5@IvoF83%0jrBzQtOBxO2ZvP8pwr(W6a2jg7fD5U#"), - make_tuple( - "qn$bAsWZ9lNudJd8Cs!Gq8s8SyiC6vemO(udGoyEQdFF4YPg9F^j#g-z@8g4VLHYiTkMwB2TLIb149A8!v0u", - "8iLA03jyjXwR3xTrr9h1OfQYnTs!iw0y#w=yBSMhuhWmXtOI%eDaR"), - make_tuple( - "jzr3-N!*-*VHtjmKYn2(c@65bmc=gaAgFBu*9(tm*a17lZ!MCsZ7$B$$", - "nGmVmK^*&%DY6gJgjJ48Em3@3rHUSAc)xJ6vaq8zc5d&(LJrw4rLWBgXFNIcM5x%I5eze*9kBBQ1!dxZ^2p"), - make_tuple( - "Jf-hR-WoMq)vjz9DRi^PX)NHZ8n&wmrg8H7HFY8zMeZmD%MW*2OS=dhVSu1V5Af3&UnYo4g*BtCMDl0zhN7@fsUMsPFp", - "r9yA&^T%Sf(da*!pniIIlw$Mb6F&O3G#wrF5yc*P8rltUP$G-8UgLh1isAZ%DP"), - make_tuple( - "9kA2YQStL#2i!5UP43y2-UFR8OoTupSrBe*YtUTfKMV1b(V7lWg834uV@sclH^", - "IrR7KNxcgMz!j^02H%PxD)3y%RoF6hXku3F7HRt)Jw!84U1jhXuuTCE3xf(wfwN2WxiWuypn1ZVHMEvR^3xR"), - make_tuple( - "&2DGmd$%#2s3aNvB5ZbDHPJs$@&#)7(@**g#pWX(hE9MSB4LxXIW(32h-sFxYh0sl1=QdoTf^8fFXq=x", - "BkK=HEFPol&7$-9BUP#QlEBJl9cQ7%Q$)nKZ2ZA-V@9SiB)#$8p0epl9j5s710=ocU&qnEnmv5qenB)2O-3MA"), - make_tuple( - "6@u6eoZ*MU%&p^0#Fa#f3476KuxzNCvjvzCoNBur^pzO-^yotp0yJ0$aCX9bogqk4VDPN*eWcKOYSC9", - "F5s@eOX=HNI1**GqNl*H74(0B12$IeP4oOvKcK)D$y5=bx$4nSwFGup1VfakRxMRUOp@31qNh8gOmu&BH9@"), - make_tuple( - "ozirqniOMw5tiI#R2Bi=N&H3y%6MAj)zad*m^bz=Ck)fjOLf@hacLNWLA=xYC#o@", - "aMvh!Ec2UoNOMX%XX-#JjUB=8nK=V*$p8c3j&XmwBQfS=evGSjO76Ob^IQ6@5WgP((H@(*j=7daiox*6yI4npD92Ug9"), - make_tuple( - "8QnBaGQFw$=ujlGwyJc*nx5b2vqni%hZEzZAZitig9lG@*he($jDdXYX)!hY&pAmX-wHEsQg3$qAG", - "zBL*k=Qp#CgNVhZ9aLC8%HYaXbn$P$3LxjkXfVVJc1iYB&mnAg3$ZipTN(Pe3toUG7UD99mxR$TA6zJo@u1IOm9IRnG2wEtk3#3A"), - make_tuple( - "*cmX(KL@853#u&Qoa&2TECHce1oX3O-l6pgt1cgY!ZSfcwnnTspBRY3bXOyk(@aiyMuigwV3po%", - "fXT1$=ZB$geNVQ-h0no8nc8%BA2kkC4*y0*3okjLV=QFaGmmPqCu"), - make_tuple( - "8kCU1IIrq8sJe&ILXCz8IqA*BkZnadMgU4MwBtr0kHJLb!WYCwMF=XOU&iPhHS", - "IvlV5r6j@bw6TpVV4=%JqzmZXm*z1PvD&sKvQ5STll1pu=ttWR#i1HNMCvXMb-%XKh=ru*PrK"), - make_tuple( - "@K-O9wVw&TJc8&@-RotIU!vM#5IanzgVX8YqacOcJMfs#iT-vD&Z", - "DDLorP!@uLW*E6y6k*smNfNINWpLkhok4=zKsqr$3wq*DOwoWt%A3Gvyao-"), - make_tuple( - "Uy7G-KSp%G867Jt)wI42rYYlcC1TTWjoEp^6uDAXe9bAY@aL*LPTSB1bwB^e&Gk1lSW*RZ^k)DUeIilw10S!5meogT$@4m9", - "B)#oW89Vj$cY-ko@65!nPoUx*v7ctcA6$T41F9#hd3PUFp9EGCCfV0WCfek*p"), - make_tuple( - "7*etp!za29wFyecvhmyYG@909V5lpjxh3xhJ#!kJLZUHf$X9fZSbRtUKg5CE=)nLRAot5L^oJfrcx%yjv5f9Heq3Eiy9OeG", - "rxn4rUZ))IHXfdiuM0HG9%eIgrPTKPIr&2AxHx5HW41v(FDx%RD!v=Y-0Of7hwHBMIF0$"), - make_tuple( - "vDELh4pSPoGR&pEQz1TXcUZsJY$cHVq9agNOX5&jO5qcfxb!&y5m", - "-z(7rqj2f#pKhnInmd$UMM@OYtW$6iT5xFGykcfIBJ^w@gayqwId^*y2*e0drl@kVVZ8fiBm#YTz58OhI8d1M3C5n@LbPiBz"), - make_tuple( - "N9-CG8T2Vcg1XCCp3N4$mt3NMO4%ApUYSeKCeK4W4k2JPInp2yPNhc1M@ZzDL5iZjCXU=zo", - "vw)rh1XySJfOXEgM&2w=*Q(NnaC9yAD4VBW2(OgVH3rnV%k0p@h@Fp2fj#JQNQN-LS0W50*HPr*R^"), - make_tuple( - "Lv)xXUFzLY@6Q*v%@lIo%uIS6(V%MGo--i@Y=M5d0byjbIl)a2p3#$Tcv51VNKEo8RWv", - "kP%(FV@UE^hEGdbP%uJOJ8#1@*(3WcD$5Ntv^Op%qtuY4W(1Tpk0rXCK^j"), - make_tuple( - "qaqANK(ftG(f#TOZy3mh=#Kh1fIcn(38a!2yBbj53)bONm*JSNUORRYBiHwNcs#@kJkeqvaj-@6^%Zc3n24%)$J#dgu$", - "Lu-Od#DumW!zG3$hk^nfKfHjR1Bg)asLu&jAnF%#%@Nmro)fIX9YAP@^XKrOqZl9s0gUrBWZAa@4@39#T(sUtRdF)jP)fdOYC"), - make_tuple( - "sYhJ9=bA1xvq(zHGkY2ode$oh@rE!TRN1m2Q!KI8&6w^CDJER*ALAc(5tWM!!$%Yxa3ZgIL5JV", - "8LQo%tgMS3rFBWz^#Sb6&6o^N6MuQrUlMf2Sd)WO%Lf4I7I$v#D)A8mvyWtuL%sa24VT3Fwi^UxE$ikHRMv&%A1ydO01i9k"), - make_tuple( - "kg^7Bp=)=k8BCFlo50LwFAv0guM!Yxm)LLYn)tb9ys#xr%QKIgDBA", - "ARBfcvAV8ksXW&)gb^OX0N5V^H6Z2wL-cC6J6mfb1F!q9aj*Xs2kg3@&-n$lgHQb10ylE("), - make_tuple( - "$qJIvM$v5vT-ZOJNg*FHVGB6MVEsgAE^&Z0UNXpk8gou7Le2ctWFhWFqT0Z(GrK!mT-Mm!fUpcOn@z34HJlchOCnU&Mj&u", - "3X6O6vJvU1oOHF7el(cH^&KmM0*VMEUz7BPaeb=e)r*SgpDb7*QipNq1b=%HNCDHZ-(zhSONQ(d5bad1N&&1&B%E&LltXcrJ4"), - make_tuple( - "@T4OUzAN5)=qELHU!eXfjJ=UVMQ$&YGh=6%#B=*Tz62H0CNQ2xkhvuUhihpB%M*S9K8Djh=Txz", - "s3V%%Knwv$w1MVF^DA^j=x=RFBXg#IV0Pw!mGFT-U)h(I-HId&O3E5@j012R!asg$U^YnWuLN2WIIu7jW29&gdy$Awhdc^*mxF"), - make_tuple( - "IA-bvj-DArr#IKViO-=!bWnRi2K#c)BV(fSiqxPw^KsS&Zw&jw", - "LvUF-sw998I6sE0bC)39xyuHo8sBmzDF2%5lsi1gdI&C$0Xn4Le#CEGQfKs7=#jBuVbl9K-4LW@3xMKzbZ3Zb0tc131XArGsv"), - make_tuple( - "EAJ01KRP6*I7=pf3By3s^g@XpDR7kcT!na8kJFVoS0SR-aP9vXGLicdqS4Wrz5FW9ubablD8zuCuFb$(LR*g!8", - "!8DKMevHwlYe*mANw9ATYD!HYfy&t30A$nDohL(LI7yY%jSZRt1l!"), - make_tuple( - "hh(8CxO6ixqIn3Agg1X1duxzyv%m)CX%9v)9BAsRa2JJlkseKKz0H*tu0X!oR%cFKY1!$7)yjB6CfwPi#2pB#Li$ID8JA*KeU", - "*bepzY9vmSUD=VU@SKq6)PFAK*4=PMAeA(eSSLW=McDETmYyl2^bsOsnNdC0GGW%B%L*D&#ebphLWVOxm5)2!9ev@"), - make_tuple( - "VK3q^o-zBcKj$SF8%k!Ey@ET#pwy6L-X9K@4uPiopcFB$St4%x&7FAlZU7J)O@0J", - "4NVAAeVyuw(T7S&MUV7e4G@eZ9nmTgHzgSLjjbW#T&OitM@oMO#uuD6OjKgXGzOjdyuw&DxSAnLhwUMarLQ(TS1C9k2"), - make_tuple( - "lNKQ!t4Cev5YLQG%suGXzJc%Oo$#)H!)YzT8!xHHp#$6-VV%1md-5A6wqNYoGYZ7!&wedU5PAu#*Xb2-Ow&MuS=srfUQ=", - "Ffzl3q)N$xBLTUCudpVf0nJf0S%@6G1kJwUs7^Ls4$FrX1=aa#HAQKkh4oKKe7CunzWQm"), - make_tuple( - "^&7WrpAn!ktFXeqT)K$OTA1bX=OZFT6!8e07GiqR4CZ0QilW2HH%clgs8FVVnzV@BCEf9hZ41bc", - "eP^naLqGNNz*Yrk^6bk15*LgP6BcuXBdvjFmrDW3XJ$Mo2DoeiRKd@!H)lJJY*#XSML=xUei#9eYd"), - make_tuple( - "UW7C0u@a9-b@i8CIAN2eb8CxqJdz7Z7G%p3U2y7KllYf2wnU^JF%(4$G$rI6Jcdd=$ud@5t1ShQW72)Iu6o1y0JX", - "C!$!#1T5f-SnlLoeeJNa5X4zrpvZxJeW5$ByUuBzf7g$doH7H8(Qii#%qjw3Toe*8m0lzh3vDf5$$*TI#8W&82pk"), - make_tuple( - "eDXx@9lqS$!LSYIp^XvoMKh6lp#=d2UnSoB=s5SA3#KRaj7*0n4q(=AEuE#Jr7bM=R9eLpQ8h-GWpn7I", - "-oOhcd$sKOGLuOAEc9i%DFBs%aEQ5&Hy^fa*xe&H6#WDJj%sFZqFpH@FN5OWRBWaG)X8zFd9Iw$NVgxwyOQvVikwnfJjFkTIdnzt"), - make_tuple( - "NM1CZhSdqp3RXUQWp5@iW&*6HNGEhJYiydo0S&oi=@JEMs#3ew1Lpq&4zHjm$)rl", - "0W^1LXXxNlbnC#dnpHQaY8&(=gEMXk3ejfKss(5#-^3Eb8AnhzcUQJ5Pt#nSFpj3b&(B@d0"), - make_tuple( - "zS$1qK)^CxI^(rN%9U#*hGlcvd0^fg^(SH)(vLOazsgtKnvIVu$eOX973H", - "AKj0G!dl&q@KOIYzO7&FfNSULOtaGMNfCUYl#9KQVWSdUSrSiqR%w"), - make_tuple( - "FAN)K0Nluiya*UlKEioB!6WSKCDMu4^Z9%j3j3dEAVK@3gYmJ^X", - "t&7zN#Y3Uud#u1V#bULX@pVWVFz5Fak!d%3#Xy%)QM&16UE9p$9Jgc-F2giTDp!Q&00EYX1j"), - make_tuple( - "Feq^2lQ**g#!vc1UZPDExmYuSnuJE*^!TDm(UJ#dZLbyvw41S!$12eX@*&XlXXkmtr=9IvWEW*XUw", - "&=B&9RWwpa3!b9wzr3kK$IN=g3b$JARmQ*Cna7ub7ws@l@6z7%524j"), - make_tuple( - "OXVb6ZAsTR4wUyhvPFT^udkff3NlqArAK2PV4A%H!PHckh@IXj3hz$je91BcCR6jCSEVfY-I!mi", - "V!%-emk3O=LkwYkjENvFQx$r(stZd&WfD^Z-bfrLiCACr#^4bKHBuvY0Qgn@HM=d0)ZC"), - make_tuple( - "8%y$s&3A!R5Px41!VvBcw7qm&aXO!hM6PFn1xC3peZJQ3(5%%!bpC$7cEu5uC(jjW6HGiAgt%2FhbJeS20E(O6VJTmLgZja=*V", - "vS%&16$yNA4e9#mS#MtjMJxoV#ts7UqkGAkjuScVMrrFHqV1CXvZNq9L4dWe6Q*DrPRUMuM"), - make_tuple( - "=UK$-^VdeQ!rdU&w%fP2lB5)06*G$Pcb&E8&Fx6Et(Zr8dW$G&zX", - "&$gWk$yGwInCnDGJrqFfb=&Udlrv*x=B=ReUihhjz!u1JV3OoPLRpmswR=kd=iDXS=m"), - make_tuple( - "G)!yN&5PihxEg!9d2Mk$v3mhWTfyAy2k2!x(yyFonRi&UPSfkf)@(HzUkjeF9XR*pG", - "9Dx(M*f6ugNpk64Y0UwHFkPx%q9BE%AZ^lkG5ene024S1z3DecsonLV9geQbP8mm@^9ZHa"), - make_tuple( - "3sXWPe@a)fTprS0=@1uDxg6xxu7$gfG)MveFLE)3H*zdT&VSPM$kCMIy8^tGp", - "%fvB#PyijVk0T!riW!Em(3zd)NxEw2)Sb-V%Kh2!16x$gmEdeNL^w(o7YUfmzgLK6Y)Le!*pe"), - make_tuple( - "4dQYiF@Hg&kp8%3Tjc)rn1A#xmw=m%61IFD7VeyAK!^38)0GXBNi$#*H9(Kz#DTpqXJ4gzO*P7=WlNv#W", - "vIr5!xxrKjNULkzFH-#yXp*l1(Mi9YC9KRd=KRi64a#Z%0P7KvyCJH$COVp)!GvMm5o"), - make_tuple( - "1tk=E)zurapCi@ZP@JQ5Gahh4loN=4l(tp!wf$7idfszU8NaUXkZ37Ucc9vyLz4hop$N@", - "wf*(AEeBUYC*QAB^)9UyeJWT3ziuUBCxGJqnupEaZkO9odVxO@f1dn*"), - make_tuple( - "b*W135S4J=WqlgatE$UO=)08XPYR8aBZUAF*2#oFJIn1ei2#y6riMzl=THDMS#Jb=k@iD8j-9OirZBPF=JvTi", - "GH4J!dN0hrisilL!j@bMLHCsYFHX2VfJeNi=xynNz2p)#E-ILgACfLp($M&8nJCe5%9^YeGXq3S=V&=7cnp$MXl7=Z2Ip"), - make_tuple( - "L^aHgRtA)1Q7w!#CyzFAg72t5mcqMUm(#wr^wBvMi-f-K=YX(-#3DcOP3ibI@zA@Vz", - "llIPRXZX$4h1nrEvNPwO5sUfX@8r5SC(6Zdwrsnten^x3c*otng"), - make_tuple( - "zh5hlP%Usq$IkzewPsCjK5j=-el8*lLwEpdLV9vL-vF9cy2zy&nK8lDa#kTQ2#0n!6dfuLgKS$Iw)p&SkTNQK*n6B", - "(WZT6CAhj0Pfv!w6IAjLPqhURJUWgt9UWzoIy-mctcveUuOx3PWpeUU9N7I1(#xVCUCZAVR"), - make_tuple( - ")W^SD1!knA7wCFm6MOYSukoN8UeUzGiVR%Q2grPr4o5dNzyI=#PyjgS$)otkTilAGJzcr=18ra9VPXyKhPnP0rYW-(#3izB5", - "6gpkY4*epbupgkffgrpP$!#hyBTydF4i)YZ)OvHS(ZCIbcbT^=rP1TkOHCzfzz$jY@J)Cmf(nKSd!Az%*la4Rp9cHvb2q!("), - make_tuple("DrQs6lNr8nDNJTiRAR7k^wURQVy54bR75LCm(k8lEBp@Dvp4t-*iaTWjSlYLu6(XT=9eB6%8xpwwe6LU@R(#KZ@rvCCs", "YHR@7CLQGR7TIp#1jwKw8HrqsqJ6m8bIeMY-Vd4ulYf2yRRO4l7IeM!cWY#IW$1F!6Z$J*fPr"), - make_tuple( - "$t#aRuu92fN5Z4U-XL9Rxfq9q2yW%o3dcrywlcEiEN!24SoS@4HVuA*9xN-s1bFy%XplYRXrCQEyfXyP$", - "b(tg-GIr0VAeQ0v*M&mx$hGkXiUJJIB@RQl9ctQvXD=U0!Om9D(u@Cz9FV(HXPMl%jlA-@BcfGuv8OC#ebse"), - make_tuple( - ")xdSs^A$ccOGD$yLvqHGuq^bWqxXep9k*cHUZIWFEQc#ngIGaIMegy#5QVxQr(-kmSeE9VdZ9LKlW2aGrQPKK751ijM!^qJ-", - "$o-DyvOBi9jRO-8V8VUcDtnSG7HdVczJ0NEhu82)wIqEty)QALx8Qw"), - make_tuple( - "L-WZpU=Y2hGEQhUNGYJN!W&Ls8=b&Kd1FRx4St)wy8*O-xQD%xJb007do$@(%j9vu6R!f64#@kqbIJmge$M2FuTf", - "nXbeA$vMH40XgkT(U^!rEJ#b(zz&O(0hKSStKLHABzptUvV$9J7BFGuncE%9lAfsm5*&)snwHolVckJ%bh5i-Rz-wj4"), - make_tuple( - "mW46uT=8Jo5TgdDTkFTlqJz0G2cwaUqZn7Tv3rx*QQW3^C0Q-8qXyV!vRXM*wO-aaHGPdZLFHBqluK", - "xu7TihsJHOxL(kOCQLZbb3D5i(*K6!i$J9icYF(2z*$FRZ&0Y8^#!AFBG=IRX9=WAYN*5wjVmV"), - make_tuple( - "l4=2S3NUYHXg&!P^*Ak))NqnB0(O5hIjOeVmeNt1Y3wwNHGaS$SfKZUCQB1BZouRt)2diQcNYSSdf", - "y1Gka3(d!NS5x^wZw%$fV!3AbhPDKgT0L9hjZ(Jur7!lys0o=)CDY)#25UVMKvz$rZoO2q4^NY42^#SmsSSBIy$"), - make_tuple( - "LCD*GzwuoEQX&*%5KqI1ZcCs$9q7%9MpooIFRIftI@DoPpL&%yMQYGQ^epWiMMYrku53O3C#mGIIVzbgJ(zw7hk2Skxf", - "s10Ug4STrGv*AGB6=doIzxfWm96oY8&^GcXUi#!E3i!uK%pdg&N2CPfryl!Sa7E=yPSJ%t0r@u$FSacRV0P#x6Goq="), - make_tuple( - "7hYbRSWjSwHSIXnHFxjsl0a=9trP3$wnLLFn8#IXNM#m-HdaRA0VV*E0REPrC)y=3$&YN*Lw", - "vcSd$j$RHjzf-85qHJ#0*$rxf&y!^=VsrIQjxDy((RON42zMc2L#vDh&k&IdJn=AkR*AA28Kb"), - make_tuple( - "Lc0SMWOXyjvefQ0gM!i@5MhB)uG@d=H1jVuba@4lSzG68&JZ#HyFHxz!wb-bUbHw=KUhJ400^*IGMKkzpT2ULOJ7WVu0%3-C", - "5(ngNuFPQsE(uL&nBBy@g^)9j&4*U6C9k6HOvW#XPE97UBmchE(1$kv#1B-@73pE$kvPzdMnzSnTct$&d(5$H"), - make_tuple( - "*Lq5-nZSyJBZQnDu!p5DJr)h44ys-mzjMM75%CH7)$wi!i*O3@Dixni%A)*uF11prAP9!lJQ)9T34C(!vIY=%$5RABknKT", - "Sd*p*vpc!cF&UP^JMLAf*!qC7vXNH&7w&92pAn9^FAan#TU6NWcJS!mPUOWv@oP"), - make_tuple( - "WQkO3HjK0yS!ra)TO8NkjKTRbNqWNLzUuU5&&Coqu%A*@Chg1uC4@!9kHqQ)WrEMW%c", - "U8m2MGcZN4eUSB0tN3VQS$RXJxx)6vuu!5E%ifZJ=$*Yk-v3g2Al49xPo-bwEfI3YoPh*Dk@"), - make_tuple( - "uk=4b=(F8nn^7TGEhdva4(prtCt%#GE1Xy$3A&8tM4uSm6mUm2DJ7NT4T", - "9%XAGTYCQqfrh6sGJ8eiP0#AF-&1q@&@0AMnnwGihmybNMrkIdSHcJ7Tm=X9@DaTj"), - make_tuple( - "$&-qPy6O#r)!@W#y6S$CmDzlqg7gC4wXUMvxqvEoYeZ4PEShsJ90QtMu=bMM^TdfddC", - "S(sVT3DK%WweCqIi2PtlanLCKm&Lal0$-A5!Hu2h!SZ^SShkwxyh*Hozj4xiNZsv#"), - make_tuple( - "jdb&K)83rF6D!8nJyZuJjUAYCIF9ifkie2dO3)k$0^eGh(1>ZkMUJ5^I", - "%OCZRK8ZHh!K1a%88yy^t6SJtfe5lLt@tb@)8mem#@BJEs2mKJWD-iI$4Z)N9LqWqbprpqG-NlSW)1$@xvwvvWPZ)eRP"), - make_tuple( - "lw4gDq16UWFoPDKvFc(zOKMGnm*yCjE#qcUISnN3)j^RXM)EnZt7@", - "0JUjFGyDvXt3R0X0i%ZkRa!=OPa)rxnJa5tSwJ1tK!FGh(d51!"), - make_tuple( - "5D99pl50oqXL)GG5qrinEElSakmcFpRVTpNq622Ldeik5T!GvgSPpgP=Zt(iQ^0@WUsrh7AqGuh9u%WFI2bJA@ko*L", - "uZ3hmAQ1)eznTmzhzyPw3nBXF20PxG6!551R(SVvPmU(llotnIS%k7LwFfI5C6-GD!Qy6V1j"), - make_tuple( - "Q*)VmUfKqn7)(dz!s7bMc86QZLNv7sotJ=trbxGa8DO3^IiKqTWNJ7o#qbIwuCDGkn2to(%EQn9JuczfhrU", - "@QqTy#yJhevfCkzBOi24Oi-@u(%6Qn342Hs9oemjP6^y1!lLOM9ldTSU8Qa^n-f0@Od#l03w^8SE&gZG9)NrSJ^70UTS-2Ewr"), - make_tuple( - "#R-4A0hXS$ElICWp#(qZ&zd6kdoVYTzfSn*xVRN3zZbz!HHBF5eMNETEzALp@wEKbXX-w(XL7tOgpM)v5ZUxt", - "DodW8PuTIt=zY-RgXcn9tDQnhNmyuA(=Pr81rF^FG9yTp)-nCn45VmVRHKt3brV9X6fTdZUXR-"), - make_tuple( - "EOkSqSwSC!WUFDa!R*a3MdRlB1qd)wwFVHDPUS=9nfV3toTM-@XasM$8&L*NYsuOrolbLF)*WUQ=f73vB7Y4(o0UdsukWnR^TU", - "3tPJr)LiymwWwaB(Lh7nmCJCWoD9O#98DUqUuwLG4$tyrllk1yJT1wxNyILjMz)x8!*Bz5Mk9u"), - make_tuple( - "DXe6cL*0ps6oMmRdq-ndh7Kvj*$A47Ykc(s)wf$qxXByteum#Tf899kkmE)JF7y)suw5I=ruKAkCYysieV", - "FqtkgW^zcwmq3kCzI=c1PL4jr&bHysJtW^tm)1wgz8OtcMODIvuKadCwpbBaF*3UV)&bqSjo^PK6"), - make_tuple( - "M^0RJxP9U&La2z!r-0VCL&*qj3@wC)n0bUNP(JtzlP6n9rAjnOY@oF", - "=Q6bq1^&uh2vdBm)HY7n(m&6$L(BjozcxUYMY#vQYTkDSfEg3-N#9bG4TAYE(R8vdZE4a383(Qc^i-7uAjbbmtNQSxC@U-cwY"), - make_tuple( - "u2BYoI1vROaT)byQR)48yaGE$oMDppwqq&-0I(0KO1E3)euiBlLGYyydU0izKSb%D6WH56UT)naSI", - "bJQTQLQGAqXnFfz9XTvCXrgmIGbhKeTevKz1Hc4erdu!2$yNqBdA(0e#4SXS#UJIm"), - make_tuple( - "UR-ynWBw*K1bS@a#^%D%7oT6fCgaVKv!G0Z6g4d533AnzUyREd%pLmCvy4QeuqpA734KI#$C=e#rFCzyIQ", - "df)imDd#n6!VqJKkQfsx%ijlE3TcsC$tTfhpEHOW(J^q^#O%i3rfFMTWRCIy^Pt(yE(*"), - make_tuple( - "h5FVOlaedYU9SSvoiSoC7ot1XkdBdP0d3tXfthp#&cyoQXnLrZy2YOWXPWGWF0U=xfD^Lf2&pFdLijgb)5I^S", - "*VQM&1eyH3vlBuz480yP9CsyP2Wd%^Z)8lMR@99erbDs@IDEmqqo"), - make_tuple( - "K5^qRi1M89CHRABDAw&7=SU@fZRLwsrR%hQdLlxo0HjcOUW*&ZCH2tRw0GHB7", - ")4vhjCpp9m71*r#42!B4pnf!8OqoBNGOesC79*409sZ!0mr$RFj=TDLOIe5$nZ8awH9r"), - make_tuple( - "-25IpO-Ot-JrJzOS0UjeQa#i-4v2Fun72to7C57z=DQ%Eu@a=CAVC%(%=$(R^", - "%ZPeUL=A@LM&#hIZjZFckTz-=5Eq*4$V2CRcD9U@NaO^hqiD)91VsP2jg)o7KL6w%gRP*nf6W)0JleC2XHA=1Y!kI^&"), - make_tuple( - "C3z%pgrd0Ldt)mH#sAeG!qTK)3M0U(BoCbx&eQ4enZQwLF@Z8u^SL@7M", - "VHjMlLvHV31lt4hqwB3HcZ)4u!O3*e*vhTchZoF^NYJsp@hWVtCI!S*tgc!l"), - make_tuple( - "kKXmeMd@@Ij^wH*bpLv368afaW^bNg(kE^DPxdT^I@ru!)5WOPtGPUqSvGUu4V^U)", - "b)hX&h9b(^ECFwaO0M4k6rcFPJ#*GoaWm02bC(h=DCB6Pr(vSWm7IKI(bvFe3o0!hny1dT"), - make_tuple( - "o)U2s*6ekP0a!=$A*5q0RumJo1rxhUVLux6)WdY=@f5oYcNs*G7(yK(3&Z9TrVYgPG!PY", - "dA!OMv(sl6*!C6t1D$SnQkZaWBOH7c=FkfHeJ9zAsY)xTF3xXEa@0GCEAzi0HTbvp-xSg(v%lK%PAt)0PC5sDIo%j#h$y"), - make_tuple( - "HJf-G@1nm17%*ldhkpzl@Vyby#xk5*K7CNE$2(71t-$!!hXoVA&A%Af-Hbfae5jD*omF)2&(JpnQUn%&#", - "c&gjRC*y(kXiX^PeQ$-zyl-XHsbmiJ7A70je!DRjoeT$FtJH0Ik7e2cnLWcf"), - make_tuple( - "2zUB4ce1@A8QksVpsAMEHErBcNalcpi3bAIhRqCgGIOEeETTfLADfv", - "Uq7zcObmjqY*kBS*8AUAdg!inwdC4UJPuc!TiJS=Zi1$AVt3bi*E)wGbztNIxIW#Ypx$8z8j&)"), - make_tuple( - "Xqx*eXgkNtVgOPHAm@-j5SMP0cMj*3qaJT&!PI^5b2MWlN6x*Z$GSs3$an1$$^s@$yc5mDMUmG6TiDy", - "zu9acOBHbOS7TPSL%Mus@xJwVtA)m6rFbwdUYX%Zj#t7GRfhv!-YqtL!eT5p)S4V%c=nUuQ$$"), - make_tuple( - "t1Ty%tFG$XN=D=2yLZclFWamrYX&$QNR4sBnDrZFLYq1txjh9CWEVvWL#%n0jlJt50j^Z!%SX2GNc6-zj*DReJgCS0n%5!f(", - "lll-VQ#465lmYX*U)CFdx2nqhPCFRvFzEaYL49mXv*2*U8HUf0osAvu))p()9Ks2gq&dJyoXmswnP*&-GMQ"), - make_tuple( - "4FpMEqmzwJ3wTieRGsRYqbD)s-r)V0ac$3ol42OTpgnB9Hf3nW^Hq*rB50Hzh)vfzKOUDw)c&hfRuftnbz2", - "R)duVBTsH4%IMC*M4XPG5omntvKvFlROFxFtqR!MidP!8oEZ*T#00t"), - make_tuple( - "3*DDyZzXIl5LxZmFzzCq0QE6$(yQ@FIp5qxij2$IP^BkrAMHGA", - "@iFx6Eq$C0LUNG3UGei49B69R5R)b2mL2)dAyPgOms#l1CtJ3-iON2Cb5C&PUJAI2$Q^%aHNab8nC-zhZHHJ"), - make_tuple( - "$S&UbSYSlMWe!uQB)x8*LTDdP4*!QimYKvZapP@eLRwaNvkQXBDw@nXZ0zeUd97*^C43-bbS^f89(O(Twf5b", - "7!PwA3*NEnA*DimR&uCR)d1bkYBp^Ib=2pCbzV1)-!93RrO8w6UvMa"), - make_tuple( - "Yvfg@@7vG&At#rhpU8lvy=szL!2aXC(#av(-oBSeCz*9Lxyy!Z9$xPM15G", - "$4c7*da24o6PH8^KWiGW%Fatw8cCDQPsd6ankHBupBZ#V7&hcZU-3Jx$fGNhFpeyE0j5jZUbu-c5C4s3C^L@Ss")}; + "@5P0V%b2mE!YrCPL)g5cHTef-8DjDn9@fQzt73-Bw%NM)Uoj9RK2#PUfCRy", + "5aWerhD73lyXMZ0(Ru!0WWsqSAIyMisPZvNZtocH#%0Zs$zJ=9z9jOkjRlZngJ2mfXv)aG=RbA4QGQ"), + make_tuple( + "&RAEFT@)PMwV9Q$AXOqOSYwHkST=ef2zeOpTxG%=AtX9CmwYu3kqtCJ#FAmAvxoqF5@", + "u79Xm%nBQx9w*igJh!0S-2B&nV1gW*%(0n-VzJJ$x(l=PSjU5uK#*I8e(t(gb!GU*GcscEu=bnW"), + make_tuple( + "AWpfQtMy9)eT-mzQ2nXP89JybP0VI0UVrXn=S&sQvmOhIJt$8wj)xg5FF=AVa%", + "3wF&5ln%8usawWgw9yg^%R0LOiYLd-Ewtjdm2)#61@3&ZJjdxrp"), + make_tuple( + "aX-xjg)$H%*m3-#W#w2Dl4sh9=5-RFJtmasOks4$IF26v4wsU1y-O4yMhozsBukR%*6kLP62-qp%wX81=O&)*t2XRdEv-Z8a3rUn", + "^l!7)@#Q5=eDY%-K0#uGPdxNk(n6CGKew3rmuWeJ9JiTEi5maR!y=@o=2=Ozn)8B5u)"), + make_tuple( + "DczhM!PCOkuz^Y@dvzZ%j)@*Xf^9Hj^zxIfnctBveZjxk5a7xX%CwrhDa74ej41q9=@Zyg9JYK!q83*61I8w*u$IBl", + "O7JGsjbV*LNsFa$lyePh53G1ua^%g-9dup1(Le^qfg%n#Kj<fLnCoUv7xSo&Tj2&22Igv@Rs^g@DDZ5aQF6%2mB("), + make_tuple( + "h9NMHgaJ748D%$f7rKnxpmlQp2=ir2T9FTzMul*URKDUBfZyRh6MdeAZHGbGdewt02@eVmp&P@pS9(n-@p*6=gfqB", + "(lDlJk2g0e%$fof^1Q)=1tmY^*pTpr%pXq35eB^QAENDN5MnNTKZQ5@IvoF83%0jrBzQtOBxO2ZvP8pwr(W6a2jg7fD5U#"), + make_tuple( + "qn$bAsWZ9lNudJd8Cs!Gq8s8SyiC6vemO(udGoyEQdFF4YPg9F^j#g-z@8g4VLHYiTkMwB2TLIb149A8!v0u", + "8iLA03jyjXwR3xTrr9h1OfQYnTs!iw0y#w=yBSMhuhWmXtOI%eDaR"), + make_tuple( + "jzr3-N!*-*VHtjmKYn2(c@65bmc=gaAgFBu*9(tm*a17lZ!MCsZ7$B$$", + "nGmVmK^*&%DY6gJgjJ48Em3@3rHUSAc)xJ6vaq8zc5d&(LJrw4rLWBgXFNIcM5x%I5eze*9kBBQ1!dxZ^2p"), + make_tuple( + "Jf-hR-WoMq)vjz9DRi^PX)NHZ8n&wmrg8H7HFY8zMeZmD%MW*2OS=dhVSu1V5Af3&UnYo4g*BtCMDl0zhN7@fsUMsPFp", + "r9yA&^T%Sf(da*!pniIIlw$Mb6F&O3G#wrF5yc*P8rltUP$G-8UgLh1isAZ%DP"), + make_tuple( + "9kA2YQStL#2i!5UP43y2-UFR8OoTupSrBe*YtUTfKMV1b(V7lWg834uV@sclH^", + "IrR7KNxcgMz!j^02H%PxD)3y%RoF6hXku3F7HRt)Jw!84U1jhXuuTCE3xf(wfwN2WxiWuypn1ZVHMEvR^3xR"), + make_tuple( + "&2DGmd$%#2s3aNvB5ZbDHPJs$@&#)7(@**g#pWX(hE9MSB4LxXIW(32h-sFxYh0sl1=QdoTf^8fFXq=x", + "BkK=HEFPol&7$-9BUP#QlEBJl9cQ7%Q$)nKZ2ZA-V@9SiB)#$8p0epl9j5s710=ocU&qnEnmv5qenB)2O-3MA"), + make_tuple( + "6@u6eoZ*MU%&p^0#Fa#f3476KuxzNCvjvzCoNBur^pzO-^yotp0yJ0$aCX9bogqk4VDPN*eWcKOYSC9", + "F5s@eOX=HNI1**GqNl*H74(0B12$IeP4oOvKcK)D$y5=bx$4nSwFGup1VfakRxMRUOp@31qNh8gOmu&BH9@"), + make_tuple( + "ozirqniOMw5tiI#R2Bi=N&H3y%6MAj)zad*m^bz=Ck)fjOLf@hacLNWLA=xYC#o@", + "aMvh!Ec2UoNOMX%XX-#JjUB=8nK=V*$p8c3j&XmwBQfS=evGSjO76Ob^IQ6@5WgP((H@(*j=7daiox*6yI4npD92Ug9"), + make_tuple( + "8QnBaGQFw$=ujlGwyJc*nx5b2vqni%hZEzZAZitig9lG@*he($jDdXYX)!hY&pAmX-wHEsQg3$qAG", + "zBL*k=Qp#CgNVhZ9aLC8%HYaXbn$P$3LxjkXfVVJc1iYB&mnAg3$ZipTN(Pe3toUG7UD99mxR$TA6zJo@u1IOm9IRnG2wEtk3#3A"), + make_tuple( + "*cmX(KL@853#u&Qoa&2TECHce1oX3O-l6pgt1cgY!ZSfcwnnTspBRY3bXOyk(@aiyMuigwV3po%", + "fXT1$=ZB$geNVQ-h0no8nc8%BA2kkC4*y0*3okjLV=QFaGmmPqCu"), + make_tuple( + "8kCU1IIrq8sJe&ILXCz8IqA*BkZnadMgU4MwBtr0kHJLb!WYCwMF=XOU&iPhHS", + "IvlV5r6j@bw6TpVV4=%JqzmZXm*z1PvD&sKvQ5STll1pu=ttWR#i1HNMCvXMb-%XKh=ru*PrK"), + make_tuple( + "@K-O9wVw&TJc8&@-RotIU!vM#5IanzgVX8YqacOcJMfs#iT-vD&Z", + "DDLorP!@uLW*E6y6k*smNfNINWpLkhok4=zKsqr$3wq*DOwoWt%A3Gvyao-"), + make_tuple( + "Uy7G-KSp%G867Jt)wI42rYYlcC1TTWjoEp^6uDAXe9bAY@aL*LPTSB1bwB^e&Gk1lSW*RZ^k)DUeIilw10S!5meogT$@4m9", + "B)#oW89Vj$cY-ko@65!nPoUx*v7ctcA6$T41F9#hd3PUFp9EGCCfV0WCfek*p"), + make_tuple( + "7*etp!za29wFyecvhmyYG@909V5lpjxh3xhJ#!kJLZUHf$X9fZSbRtUKg5CE=)nLRAot5L^oJfrcx%yjv5f9Heq3Eiy9OeG", + "rxn4rUZ))IHXfdiuM0HG9%eIgrPTKPIr&2AxHx5HW41v(FDx%RD!v=Y-0Of7hwHBMIF0$"), + make_tuple( + "vDELh4pSPoGR&pEQz1TXcUZsJY$cHVq9agNOX5&jO5qcfxb!&y5m", + "-z(7rqj2f#pKhnInmd$UMM@OYtW$6iT5xFGykcfIBJ^w@gayqwId^*y2*e0drl@kVVZ8fiBm#YTz58OhI8d1M3C5n@LbPiBz"), + make_tuple( + "N9-CG8T2Vcg1XCCp3N4$mt3NMO4%ApUYSeKCeK4W4k2JPInp2yPNhc1M@ZzDL5iZjCXU=zo", + "vw)rh1XySJfOXEgM&2w=*Q(NnaC9yAD4VBW2(OgVH3rnV%k0p@h@Fp2fj#JQNQN-LS0W50*HPr*R^"), + make_tuple( + "Lv)xXUFzLY@6Q*v%@lIo%uIS6(V%MGo--i@Y=M5d0byjbIl)a2p3#$Tcv51VNKEo8RWv", + "kP%(FV@UE^hEGdbP%uJOJ8#1@*(3WcD$5Ntv^Op%qtuY4W(1Tpk0rXCK^j"), + make_tuple( + "qaqANK(ftG(f#TOZy3mh=#Kh1fIcn(38a!2yBbj53)bONm*JSNUORRYBiHwNcs#@kJkeqvaj-@6^%Zc3n24%)$J#dgu$", + "Lu-Od#DumW!zG3$hk^nfKfHjR1Bg)asLu&jAnF%#%@Nmro)fIX9YAP@^XKrOqZl9s0gUrBWZAa@4@39#T(sUtRdF)jP)fdOYC"), + make_tuple( + "sYhJ9=bA1xvq(zHGkY2ode$oh@rE!TRN1m2Q!KI8&6w^CDJER*ALAc(5tWM!!$%Yxa3ZgIL5JV", + "8LQo%tgMS3rFBWz^#Sb6&6o^N6MuQrUlMf2Sd)WO%Lf4I7I$v#D)A8mvyWtuL%sa24VT3Fwi^UxE$ikHRMv&%A1ydO01i9k"), + make_tuple( + "kg^7Bp=)=k8BCFlo50LwFAv0guM!Yxm)LLYn)tb9ys#xr%QKIgDBA", + "ARBfcvAV8ksXW&)gb^OX0N5V^H6Z2wL-cC6J6mfb1F!q9aj*Xs2kg3@&-n$lgHQb10ylE("), + make_tuple( + "$qJIvM$v5vT-ZOJNg*FHVGB6MVEsgAE^&Z0UNXpk8gou7Le2ctWFhWFqT0Z(GrK!mT-Mm!fUpcOn@z34HJlchOCnU&Mj&u", + "3X6O6vJvU1oOHF7el(cH^&KmM0*VMEUz7BPaeb=e)r*SgpDb7*QipNq1b=%HNCDHZ-(zhSONQ(d5bad1N&&1&B%E&LltXcrJ4"), + make_tuple( + "@T4OUzAN5)=qELHU!eXfjJ=UVMQ$&YGh=6%#B=*Tz62H0CNQ2xkhvuUhihpB%M*S9K8Djh=Txz", + "s3V%%Knwv$w1MVF^DA^j=x=RFBXg#IV0Pw!mGFT-U)h(I-HId&O3E5@j012R!asg$U^YnWuLN2WIIu7jW29&gdy$Awhdc^*mxF"), + make_tuple( + "IA-bvj-DArr#IKViO-=!bWnRi2K#c)BV(fSiqxPw^KsS&Zw&jw", + "LvUF-sw998I6sE0bC)39xyuHo8sBmzDF2%5lsi1gdI&C$0Xn4Le#CEGQfKs7=#jBuVbl9K-4LW@3xMKzbZ3Zb0tc131XArGsv"), + make_tuple( + "EAJ01KRP6*I7=pf3By3s^g@XpDR7kcT!na8kJFVoS0SR-aP9vXGLicdqS4Wrz5FW9ubablD8zuCuFb$(LR*g!8", + "!8DKMevHwlYe*mANw9ATYD!HYfy&t30A$nDohL(LI7yY%jSZRt1l!"), + make_tuple( + "hh(8CxO6ixqIn3Agg1X1duxzyv%m)CX%9v)9BAsRa2JJlkseKKz0H*tu0X!oR%cFKY1!$7)yjB6CfwPi#2pB#Li$ID8JA*KeU", + "*bepzY9vmSUD=VU@SKq6)PFAK*4=PMAeA(eSSLW=McDETmYyl2^bsOsnNdC0GGW%B%L*D&#ebphLWVOxm5)2!9ev@"), + make_tuple( + "VK3q^o-zBcKj$SF8%k!Ey@ET#pwy6L-X9K@4uPiopcFB$St4%x&7FAlZU7J)O@0J", + "4NVAAeVyuw(T7S&MUV7e4G@eZ9nmTgHzgSLjjbW#T&OitM@oMO#uuD6OjKgXGzOjdyuw&DxSAnLhwUMarLQ(TS1C9k2"), + make_tuple( + "lNKQ!t4Cev5YLQG%suGXzJc%Oo$#)H!)YzT8!xHHp#$6-VV%1md-5A6wqNYoGYZ7!&wedU5PAu#*Xb2-Ow&MuS=srfUQ=", + "Ffzl3q)N$xBLTUCudpVf0nJf0S%@6G1kJwUs7^Ls4$FrX1=aa#HAQKkh4oKKe7CunzWQm"), + make_tuple( + "^&7WrpAn!ktFXeqT)K$OTA1bX=OZFT6!8e07GiqR4CZ0QilW2HH%clgs8FVVnzV@BCEf9hZ41bc", + "eP^naLqGNNz*Yrk^6bk15*LgP6BcuXBdvjFmrDW3XJ$Mo2DoeiRKd@!H)lJJY*#XSML=xUei#9eYd"), + make_tuple( + "UW7C0u@a9-b@i8CIAN2eb8CxqJdz7Z7G%p3U2y7KllYf2wnU^JF%(4$G$rI6Jcdd=$ud@5t1ShQW72)Iu6o1y0JX", + "C!$!#1T5f-SnlLoeeJNa5X4zrpvZxJeW5$ByUuBzf7g$doH7H8(Qii#%qjw3Toe*8m0lzh3vDf5$$*TI#8W&82pk"), + make_tuple( + "eDXx@9lqS$!LSYIp^XvoMKh6lp#=d2UnSoB=s5SA3#KRaj7*0n4q(=AEuE#Jr7bM=R9eLpQ8h-GWpn7I", + "-oOhcd$sKOGLuOAEc9i%DFBs%aEQ5&Hy^fa*xe&H6#WDJj%sFZqFpH@FN5OWRBWaG)X8zFd9Iw$NVgxwyOQvVikwnfJjFkTIdnzt"), + make_tuple( + "NM1CZhSdqp3RXUQWp5@iW&*6HNGEhJYiydo0S&oi=@JEMs#3ew1Lpq&4zHjm$)rl", + "0W^1LXXxNlbnC#dnpHQaY8&(=gEMXk3ejfKss(5#-^3Eb8AnhzcUQJ5Pt#nSFpj3b&(B@d0"), + make_tuple( + "zS$1qK)^CxI^(rN%9U#*hGlcvd0^fg^(SH)(vLOazsgtKnvIVu$eOX973H", + "AKj0G!dl&q@KOIYzO7&FfNSULOtaGMNfCUYl#9KQVWSdUSrSiqR%w"), + make_tuple( + "FAN)K0Nluiya*UlKEioB!6WSKCDMu4^Z9%j3j3dEAVK@3gYmJ^X", + "t&7zN#Y3Uud#u1V#bULX@pVWVFz5Fak!d%3#Xy%)QM&16UE9p$9Jgc-F2giTDp!Q&00EYX1j"), + make_tuple( + "Feq^2lQ**g#!vc1UZPDExmYuSnuJE*^!TDm(UJ#dZLbyvw41S!$12eX@*&XlXXkmtr=9IvWEW*XUw", + "&=B&9RWwpa3!b9wzr3kK$IN=g3b$JARmQ*Cna7ub7ws@l@6z7%524j"), + make_tuple( + "OXVb6ZAsTR4wUyhvPFT^udkff3NlqArAK2PV4A%H!PHckh@IXj3hz$je91BcCR6jCSEVfY-I!mi", + "V!%-emk3O=LkwYkjENvFQx$r(stZd&WfD^Z-bfrLiCACr#^4bKHBuvY0Qgn@HM=d0)ZC"), + make_tuple( + "8%y$s&3A!R5Px41!VvBcw7qm&aXO!hM6PFn1xC3peZJQ3(5%%!bpC$7cEu5uC(jjW6HGiAgt%2FhbJeS20E(O6VJTmLgZja=*V", + "vS%&16$yNA4e9#mS#MtjMJxoV#ts7UqkGAkjuScVMrrFHqV1CXvZNq9L4dWe6Q*DrPRUMuM"), + make_tuple( + "=UK$-^VdeQ!rdU&w%fP2lB5)06*G$Pcb&E8&Fx6Et(Zr8dW$G&zX", + "&$gWk$yGwInCnDGJrqFfb=&Udlrv*x=B=ReUihhjz!u1JV3OoPLRpmswR=kd=iDXS=m"), + make_tuple( + "G)!yN&5PihxEg!9d2Mk$v3mhWTfyAy2k2!x(yyFonRi&UPSfkf)@(HzUkjeF9XR*pG", + "9Dx(M*f6ugNpk64Y0UwHFkPx%q9BE%AZ^lkG5ene024S1z3DecsonLV9geQbP8mm@^9ZHa"), + make_tuple( + "3sXWPe@a)fTprS0=@1uDxg6xxu7$gfG)MveFLE)3H*zdT&VSPM$kCMIy8^tGp", + "%fvB#PyijVk0T!riW!Em(3zd)NxEw2)Sb-V%Kh2!16x$gmEdeNL^w(o7YUfmzgLK6Y)Le!*pe"), + make_tuple( + "4dQYiF@Hg&kp8%3Tjc)rn1A#xmw=m%61IFD7VeyAK!^38)0GXBNi$#*H9(Kz#DTpqXJ4gzO*P7=WlNv#W", + "vIr5!xxrKjNULkzFH-#yXp*l1(Mi9YC9KRd=KRi64a#Z%0P7KvyCJH$COVp)!GvMm5o"), + make_tuple( + "1tk=E)zurapCi@ZP@JQ5Gahh4loN=4l(tp!wf$7idfszU8NaUXkZ37Ucc9vyLz4hop$N@", + "wf*(AEeBUYC*QAB^)9UyeJWT3ziuUBCxGJqnupEaZkO9odVxO@f1dn*"), + make_tuple( + "b*W135S4J=WqlgatE$UO=)08XPYR8aBZUAF*2#oFJIn1ei2#y6riMzl=THDMS#Jb=k@iD8j-9OirZBPF=JvTi", + "GH4J!dN0hrisilL!j@bMLHCsYFHX2VfJeNi=xynNz2p)#E-ILgACfLp($M&8nJCe5%9^YeGXq3S=V&=7cnp$MXl7=Z2Ip"), + make_tuple( + "L^aHgRtA)1Q7w!#CyzFAg72t5mcqMUm(#wr^wBvMi-f-K=YX(-#3DcOP3ibI@zA@Vz", + "llIPRXZX$4h1nrEvNPwO5sUfX@8r5SC(6Zdwrsnten^x3c*otng"), + make_tuple( + "zh5hlP%Usq$IkzewPsCjK5j=-el8*lLwEpdLV9vL-vF9cy2zy&nK8lDa#kTQ2#0n!6dfuLgKS$Iw)p&SkTNQK*n6B", + "(WZT6CAhj0Pfv!w6IAjLPqhURJUWgt9UWzoIy-mctcveUuOx3PWpeUU9N7I1(#xVCUCZAVR"), + make_tuple( + ")W^SD1!knA7wCFm6MOYSukoN8UeUzGiVR%Q2grPr4o5dNzyI=#PyjgS$)otkTilAGJzcr=18ra9VPXyKhPnP0rYW-(#3izB5", + "6gpkY4*epbupgkffgrpP$!#hyBTydF4i)YZ)OvHS(ZCIbcbT^=rP1TkOHCzfzz$jY@J)Cmf(nKSd!Az%*la4Rp9cHvb2q!("), + make_tuple( + "DrQs6lNr8nDNJTiRAR7k^wURQVy54bR75LCm(k8lEBp@Dvp4t-*iaTWjSlYLu6(XT=9eB6%8xpwwe6LU@R(#KZ@rvCCs", + "YHR@7CLQGR7TIp#1jwKw8HrqsqJ6m8bIeMY-Vd4ulYf2yRRO4l7IeM!cWY#IW$1F!6Z$J*fPr"), + make_tuple( + "$t#aRuu92fN5Z4U-XL9Rxfq9q2yW%o3dcrywlcEiEN!24SoS@4HVuA*9xN-s1bFy%XplYRXrCQEyfXyP$", + "b(tg-GIr0VAeQ0v*M&mx$hGkXiUJJIB@RQl9ctQvXD=U0!Om9D(u@Cz9FV(HXPMl%jlA-@BcfGuv8OC#ebse"), + make_tuple( + ")xdSs^A$ccOGD$yLvqHGuq^bWqxXep9k*cHUZIWFEQc#ngIGaIMegy#5QVxQr(-kmSeE9VdZ9LKlW2aGrQPKK751ijM!^qJ-", + "$o-DyvOBi9jRO-8V8VUcDtnSG7HdVczJ0NEhu82)wIqEty)QALx8Qw"), + make_tuple( + "L-WZpU=Y2hGEQhUNGYJN!W&Ls8=b&Kd1FRx4St)wy8*O-xQD%xJb007do$@(%j9vu6R!f64#@kqbIJmge$M2FuTf", + "nXbeA$vMH40XgkT(U^!rEJ#b(zz&O(0hKSStKLHABzptUvV$9J7BFGuncE%9lAfsm5*&)snwHolVckJ%bh5i-Rz-wj4"), + make_tuple( + "mW46uT=8Jo5TgdDTkFTlqJz0G2cwaUqZn7Tv3rx*QQW3^C0Q-8qXyV!vRXM*wO-aaHGPdZLFHBqluK", + "xu7TihsJHOxL(kOCQLZbb3D5i(*K6!i$J9icYF(2z*$FRZ&0Y8^#!AFBG=IRX9=WAYN*5wjVmV"), + make_tuple( + "l4=2S3NUYHXg&!P^*Ak))NqnB0(O5hIjOeVmeNt1Y3wwNHGaS$SfKZUCQB1BZouRt)2diQcNYSSdf", + "y1Gka3(d!NS5x^wZw%$fV!3AbhPDKgT0L9hjZ(Jur7!lys0o=)CDY)#25UVMKvz$rZoO2q4^NY42^#SmsSSBIy$"), + make_tuple( + "LCD*GzwuoEQX&*%5KqI1ZcCs$9q7%9MpooIFRIftI@DoPpL&%yMQYGQ^epWiMMYrku53O3C#mGIIVzbgJ(zw7hk2Skxf", + "s10Ug4STrGv*AGB6=doIzxfWm96oY8&^GcXUi#!E3i!uK%pdg&N2CPfryl!Sa7E=yPSJ%t0r@u$FSacRV0P#x6Goq="), + make_tuple( + "7hYbRSWjSwHSIXnHFxjsl0a=9trP3$wnLLFn8#IXNM#m-HdaRA0VV*E0REPrC)y=3$&YN*Lw", + "vcSd$j$RHjzf-85qHJ#0*$rxf&y!^=VsrIQjxDy((RON42zMc2L#vDh&k&IdJn=AkR*AA28Kb"), + make_tuple( + "Lc0SMWOXyjvefQ0gM!i@5MhB)uG@d=H1jVuba@4lSzG68&JZ#HyFHxz!wb-bUbHw=KUhJ400^*IGMKkzpT2ULOJ7WVu0%3-C", + "5(ngNuFPQsE(uL&nBBy@g^)9j&4*U6C9k6HOvW#XPE97UBmchE(1$kv#1B-@73pE$kvPzdMnzSnTct$&d(5$H"), + make_tuple( + "*Lq5-nZSyJBZQnDu!p5DJr)h44ys-mzjMM75%CH7)$wi!i*O3@Dixni%A)*uF11prAP9!lJQ)9T34C(!vIY=%$5RABknKT", + "Sd*p*vpc!cF&UP^JMLAf*!qC7vXNH&7w&92pAn9^FAan#TU6NWcJS!mPUOWv@oP"), + make_tuple( + "WQkO3HjK0yS!ra)TO8NkjKTRbNqWNLzUuU5&&Coqu%A*@Chg1uC4@!9kHqQ)WrEMW%c", + "U8m2MGcZN4eUSB0tN3VQS$RXJxx)6vuu!5E%ifZJ=$*Yk-v3g2Al49xPo-bwEfI3YoPh*Dk@"), + make_tuple( + "uk=4b=(F8nn^7TGEhdva4(prtCt%#GE1Xy$3A&8tM4uSm6mUm2DJ7NT4T", + "9%XAGTYCQqfrh6sGJ8eiP0#AF-&1q@&@0AMnnwGihmybNMrkIdSHcJ7Tm=X9@DaTj"), + make_tuple( + "$&-qPy6O#r)!@W#y6S$CmDzlqg7gC4wXUMvxqvEoYeZ4PEShsJ90QtMu=bMM^TdfddC", + "S(sVT3DK%WweCqIi2PtlanLCKm&Lal0$-A5!Hu2h!SZ^SShkwxyh*Hozj4xiNZsv#"), + make_tuple( + "jdb&K)83rF6D!8nJyZuJjUAYCIF9ifkie2dO3)k$0^eGh(1>ZkMUJ5^I", + "%OCZRK8ZHh!K1a%88yy^t6SJtfe5lLt@tb@)8mem#@BJEs2mKJWD-iI$4Z)N9LqWqbprpqG-NlSW)1$@xvwvvWPZ)eRP"), + make_tuple( + "lw4gDq16UWFoPDKvFc(zOKMGnm*yCjE#qcUISnN3)j^RXM)EnZt7@", + "0JUjFGyDvXt3R0X0i%ZkRa!=OPa)rxnJa5tSwJ1tK!FGh(d51!"), + make_tuple( + "5D99pl50oqXL)GG5qrinEElSakmcFpRVTpNq622Ldeik5T!GvgSPpgP=Zt(iQ^0@WUsrh7AqGuh9u%WFI2bJA@ko*L", + "uZ3hmAQ1)eznTmzhzyPw3nBXF20PxG6!551R(SVvPmU(llotnIS%k7LwFfI5C6-GD!Qy6V1j"), + make_tuple( + "Q*)VmUfKqn7)(dz!s7bMc86QZLNv7sotJ=trbxGa8DO3^IiKqTWNJ7o#qbIwuCDGkn2to(%EQn9JuczfhrU", + "@QqTy#yJhevfCkzBOi24Oi-@u(%6Qn342Hs9oemjP6^y1!lLOM9ldTSU8Qa^n-f0@Od#l03w^8SE&gZG9)NrSJ^70UTS-2Ewr"), + make_tuple( + "#R-4A0hXS$ElICWp#(qZ&zd6kdoVYTzfSn*xVRN3zZbz!HHBF5eMNETEzALp@wEKbXX-w(XL7tOgpM)v5ZUxt", + "DodW8PuTIt=zY-RgXcn9tDQnhNmyuA(=Pr81rF^FG9yTp)-nCn45VmVRHKt3brV9X6fTdZUXR-"), + make_tuple( + "EOkSqSwSC!WUFDa!R*a3MdRlB1qd)wwFVHDPUS=9nfV3toTM-@XasM$8&L*NYsuOrolbLF)*WUQ=f73vB7Y4(o0UdsukWnR^TU", + "3tPJr)LiymwWwaB(Lh7nmCJCWoD9O#98DUqUuwLG4$tyrllk1yJT1wxNyILjMz)x8!*Bz5Mk9u"), + make_tuple( + "DXe6cL*0ps6oMmRdq-ndh7Kvj*$A47Ykc(s)wf$qxXByteum#Tf899kkmE)JF7y)suw5I=ruKAkCYysieV", + "FqtkgW^zcwmq3kCzI=c1PL4jr&bHysJtW^tm)1wgz8OtcMODIvuKadCwpbBaF*3UV)&bqSjo^PK6"), + make_tuple( + "M^0RJxP9U&La2z!r-0VCL&*qj3@wC)n0bUNP(JtzlP6n9rAjnOY@oF", + "=Q6bq1^&uh2vdBm)HY7n(m&6$L(BjozcxUYMY#vQYTkDSfEg3-N#9bG4TAYE(R8vdZE4a383(Qc^i-7uAjbbmtNQSxC@U-cwY"), + make_tuple( + "u2BYoI1vROaT)byQR)48yaGE$oMDppwqq&-0I(0KO1E3)euiBlLGYyydU0izKSb%D6WH56UT)naSI", + "bJQTQLQGAqXnFfz9XTvCXrgmIGbhKeTevKz1Hc4erdu!2$yNqBdA(0e#4SXS#UJIm"), + make_tuple( + "UR-ynWBw*K1bS@a#^%D%7oT6fCgaVKv!G0Z6g4d533AnzUyREd%pLmCvy4QeuqpA734KI#$C=e#rFCzyIQ", + "df)imDd#n6!VqJKkQfsx%ijlE3TcsC$tTfhpEHOW(J^q^#O%i3rfFMTWRCIy^Pt(yE(*"), + make_tuple( + "h5FVOlaedYU9SSvoiSoC7ot1XkdBdP0d3tXfthp#&cyoQXnLrZy2YOWXPWGWF0U=xfD^Lf2&pFdLijgb)5I^S", + "*VQM&1eyH3vlBuz480yP9CsyP2Wd%^Z)8lMR@99erbDs@IDEmqqo"), + make_tuple( + "K5^qRi1M89CHRABDAw&7=SU@fZRLwsrR%hQdLlxo0HjcOUW*&ZCH2tRw0GHB7", + ")4vhjCpp9m71*r#42!B4pnf!8OqoBNGOesC79*409sZ!0mr$RFj=TDLOIe5$nZ8awH9r"), + make_tuple( + "-25IpO-Ot-JrJzOS0UjeQa#i-4v2Fun72to7C57z=DQ%Eu@a=CAVC%(%=$(R^", + "%ZPeUL=A@LM&#hIZjZFckTz-=5Eq*4$V2CRcD9U@NaO^hqiD)91VsP2jg)o7KL6w%gRP*nf6W)0JleC2XHA=1Y!kI^&"), + make_tuple( + "C3z%pgrd0Ldt)mH#sAeG!qTK)3M0U(BoCbx&eQ4enZQwLF@Z8u^SL@7M", + "VHjMlLvHV31lt4hqwB3HcZ)4u!O3*e*vhTchZoF^NYJsp@hWVtCI!S*tgc!l"), + make_tuple( + "kKXmeMd@@Ij^wH*bpLv368afaW^bNg(kE^DPxdT^I@ru!)5WOPtGPUqSvGUu4V^U)", + "b)hX&h9b(^ECFwaO0M4k6rcFPJ#*GoaWm02bC(h=DCB6Pr(vSWm7IKI(bvFe3o0!hny1dT"), + make_tuple( + "o)U2s*6ekP0a!=$A*5q0RumJo1rxhUVLux6)WdY=@f5oYcNs*G7(yK(3&Z9TrVYgPG!PY", + "dA!OMv(sl6*!C6t1D$SnQkZaWBOH7c=FkfHeJ9zAsY)xTF3xXEa@0GCEAzi0HTbvp-xSg(v%lK%PAt)0PC5sDIo%j#h$y"), + make_tuple( + "HJf-G@1nm17%*ldhkpzl@Vyby#xk5*K7CNE$2(71t-$!!hXoVA&A%Af-Hbfae5jD*omF)2&(JpnQUn%&#", + "c&gjRC*y(kXiX^PeQ$-zyl-XHsbmiJ7A70je!DRjoeT$FtJH0Ik7e2cnLWcf"), + make_tuple( + "2zUB4ce1@A8QksVpsAMEHErBcNalcpi3bAIhRqCgGIOEeETTfLADfv", + "Uq7zcObmjqY*kBS*8AUAdg!inwdC4UJPuc!TiJS=Zi1$AVt3bi*E)wGbztNIxIW#Ypx$8z8j&)"), + make_tuple( + "Xqx*eXgkNtVgOPHAm@-j5SMP0cMj*3qaJT&!PI^5b2MWlN6x*Z$GSs3$an1$$^s@$yc5mDMUmG6TiDy", + "zu9acOBHbOS7TPSL%Mus@xJwVtA)m6rFbwdUYX%Zj#t7GRfhv!-YqtL!eT5p)S4V%c=nUuQ$$"), + make_tuple( + "t1Ty%tFG$XN=D=2yLZclFWamrYX&$QNR4sBnDrZFLYq1txjh9CWEVvWL#%n0jlJt50j^Z!%SX2GNc6-zj*DReJgCS0n%5!f(", + "lll-VQ#465lmYX*U)CFdx2nqhPCFRvFzEaYL49mXv*2*U8HUf0osAvu))p()9Ks2gq&dJyoXmswnP*&-GMQ"), + make_tuple( + "4FpMEqmzwJ3wTieRGsRYqbD)s-r)V0ac$3ol42OTpgnB9Hf3nW^Hq*rB50Hzh)vfzKOUDw)c&hfRuftnbz2", + "R)duVBTsH4%IMC*M4XPG5omntvKvFlROFxFtqR!MidP!8oEZ*T#00t"), + make_tuple( + "3*DDyZzXIl5LxZmFzzCq0QE6$(yQ@FIp5qxij2$IP^BkrAMHGA", + "@iFx6Eq$C0LUNG3UGei49B69R5R)b2mL2)dAyPgOms#l1CtJ3-iON2Cb5C&PUJAI2$Q^%aHNab8nC-zhZHHJ"), + make_tuple( + "$S&UbSYSlMWe!uQB)x8*LTDdP4*!QimYKvZapP@eLRwaNvkQXBDw@nXZ0zeUd97*^C43-bbS^f89(O(Twf5b", + "7!PwA3*NEnA*DimR&uCR)d1bkYBp^Ib=2pCbzV1)-!93RrO8w6UvMa"), + make_tuple( + "Yvfg@@7vG&At#rhpU8lvy=szL!2aXC(#av(-oBSeCz*9Lxyy!Z9$xPM15G", + "$4c7*da24o6PH8^KWiGW%Fatw8cCDQPsd6ankHBupBZ#V7&hcZU-3Jx$fGNhFpeyE0j5jZUbu-c5C4s3C^L@Ss")}; KVPair TooMany1025 = {make_tuple("CvnjGM", "44Y5nvRaqF"), make_tuple("WIjSBLR%F", "zpj9(%ShR("), @@ -5596,7 +6582,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "Of9dT)$vKtdK=PKS5wq3^zzyNIq@sJ7u2vw=\nJDcQAL(mbHcP%UiK5V$-ogfQASEPqAr5ufV8@vO^JpTP2&s2&KRvXh05Afb%MG(knr!woNWw", "\nyo2U@JkslWkfl^TOF&UmpQGnfjrwJD(sD4sY(-8\\FLb5%YXOnnTma&Eu)Oyri*UM8Nxy8g4"), - make_tuple("n67H2=hCBDWu@G7OtXto#uwCbuA=AVnjY$MbK*JOdNTDPuQ^@&C@ZdFTh0hl7WV@(moQJkiMctLMJ6-m^rGA%nUK%9hbex5hse!IcNPVRrG=r7L\\xTqlg=Q8WKlB*H#Z", "1v$U(%w3V4j9mmAs%de2=Uhb)nM@0)Z7*9dOlisGvN3bzWBZWC^lYN1X3pm*NGkB!s%k9bmS0Ay!gwxvkAF#&StF&2xbL*jSD4MyglGM)$n9agP$WHWSmhnDPyxc!omyQ6Q\\\\"), + make_tuple( + "n67H2=hCBDWu@G7OtXto#uwCbuA=AVnjY$MbK*JOdNTDPuQ^@&C@ZdFTh0hl7WV@(moQJkiMctLMJ6-m^rGA%nUK%9hbex5hse!IcNPVRrG=r7L\\xTqlg=Q8WKlB*H#Z", + "1v$U(%w3V4j9mmAs%de2=Uhb)nM@0)Z7*9dOlisGvN3bzWBZWC^lYN1X3pm*NGkB!s%k9bmS0Ay!gwxvkAF#&StF&2xbL*jSD4MyglGM)$n9agP$WHWSmhnDPyxc!omyQ6Q\\\\"), make_tuple( "\n&5fArrsx$MAopdX-p5xD5vuO#3L!vFUr=8@nqUPZ^u$rjXCs(Jwd^4)B8*fUNGFn&Z92FWM*6)#u68KJeRaw)XZwPRiDD&%TtDbM*wtupnWb88\nof!gw8XKHOweKuOC*KgFfQS", "cVEAg)jT4LiA^9z\n$R&q4^LV4&TN^Xn)8VMDd5X50THskBqNjQ(KjgV(-!kyxqLn)b&7SmFFddYj4LBSwD!T!f$w4zq3rQg\n"), @@ -5741,7 +6729,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "=t#R-\n\n#2DTkxi2c4Qo1#SNd8uenv%L\neBNSpFLZO3q$1icgs-KDBO0(eRZw8E&T*dC31\\cEAX=B$UgyIX0dxT4ppuBbk0", "fPI*A%N0N-H)$vat=oR4uUPaXLf6S#%1o2UI\\\\d1py0\n-3hR9\nP($ZXZT\n"), - make_tuple("lixl#\\9*#HVhV4M=-\nz6AZQ54L3=VJ$5LOoMf=yb64YJEY\na@%@czCYOH-ce$Q", "W6Skllusk9G25*hGLe1%py\n*%khMPkbsQpYLhfwB2VyInyb4\nXM8)tHo0)p2jcW2QtyX224VqA4AgI4@VMz356$tspe8wDBYNX56dtIY8KjoFajj2zFmgCHdRDp^B\n"), + make_tuple( + "lixl#\\9*#HVhV4M=-\nz6AZQ54L3=VJ$5LOoMf=yb64YJEY\na@%@czCYOH-ce$Q", + "W6Skllusk9G25*hGLe1%py\n*%khMPkbsQpYLhfwB2VyInyb4\nXM8)tHo0)p2jcW2QtyX224VqA4AgI4@VMz356$tspe8wDBYNX56dtIY8KjoFajj2zFmgCHdRDp^B\n"), make_tuple( "\n\\\\3Eu5GU4Qna1MIEX2MVkHH\n)FTe#LDIp)6@1(XsjJAd\n&mjzYJOH4jOrLPUL^SP&a0p", "c@TJr^jkS4f6a*btr%n6DPvpH96t\nrCHSO@X1ZBfKvZC3A3AT3JsCUjzo(qPSeJnslkbwZ\\oLcOjUv%UtRH37ixqT6s1Qh0ll0B!(AJEMYA4LyuTE)Z!Uw\n"), @@ -5817,7 +6807,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "a$m=dG#\n\\(k2bh)zNT78!=QVLx*vY\nF!5Cxn01TR(@QrFMj0Oj)(vV)SADURISabuReCn(YoNNYvTJu#sNPq&@^0m=3CqjS*G@ui6FPZb9m1BMmZTK3WDA$kln", "WywDhfB5A%F&IunH9D4a(gc\nO^SwQ38x&(OPm4@bcFIKNn$&=930$7wzUFk*XBVGegsPm=0)4Wr5jTf=fhX%4SluUMy&mzrfwix2fmVV2X3SgM$eMQ2-n(7v)Q!pKR\\\\"), - make_tuple("EOXXs3O^DZS#)U)Fb$K54Akew^!8jY25uq!Eeq)F8J9u-YtVmQ$ECYPy6y9rUCVRb(Ttj$x0KKFtB@VbjSb-N@vjU^DrIh!-FQQ^T3SKnTxS)YC*z^NrrVv^rLIPOqh@IP85z!aajZ2YxxZbqi#@s-ya3LFTQC9!tecYIWg2eQjZ3PbOkw", "sCC^3eo=zm=%Hatc%Y7l-elpA5i8YPp2HqD4onmgpWgLFvw%s-J3%^(Wa5hpRaFyd!QnA%l3vNX%WxsRCR34AGNu(eRSwLIZjCLrx(4cyU19sLFXsPpR%ENRViwg%sPuYg(\\\n"), + make_tuple( + "EOXXs3O^DZS#)U)Fb$K54Akew^!8jY25uq!Eeq)F8J9u-YtVmQ$ECYPy6y9rUCVRb(Ttj$x0KKFtB@VbjSb-N@vjU^DrIh!-FQQ^T3SKnTxS)YC*z^NrrVv^rLIPOqh@IP85z!aajZ2YxxZbqi#@s-ya3LFTQC9!tecYIWg2eQjZ3PbOkw", + "sCC^3eo=zm=%Hatc%Y7l-elpA5i8YPp2HqD4onmgpWgLFvw%s-J3%^(Wa5hpRaFyd!QnA%l3vNX%WxsRCR34AGNu(eRSwLIZjCLrx(4cyU19sLFXsPpR%ENRViwg%sPuYg(\\\n"), make_tuple( "A2@k6X6Fg^!ZT)I^(qQ\n\n\\\n\\pH7@sifME0quUC2$g7MznvCr^052OelE@0l15Tq8Sn&DiNSJap=h-P-8zKS-=PDu", "m0X62EWp&U36nSlTRW#yYyCZq%3kUtYWI9T^7lJz2locMK4FI3Wm8TSaRMClmbiW*4uC5v@V0rF*nZ=D-iN(h$CyRm-&zvX!LqvjbBmALzQGmBM5kMR%cXEtA6V!Ju"), @@ -5872,10 +6864,10 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "yJC8m*ylCi7J#6fQ^s&#W6ajk=lpkmOY%9fj#X5-aRK%HYtC@C5hxulT0V)23ZQo62t%Vs^-2&g8\nx8Kf0=\\qmIN$d6MCt-IrN8%5s@", "^r8!S$r!$pDIHo^\n\nd8XbAG$zT@5PSgoq^X6R^ej#NoU#rMhqgl\n8p@SV&lMHqCnp7ZufUgn(ta%mDaJqj1sXljH\\\n"), + make_tuple("Ud$Q)ju)TNIO3hpaf0DHS$PdicuW4mWvn\nLXIkV-7hnwT6Znn^iG\nehSIbZCdEbmjFvV6YJ8gVYB-0iaAWrA$D-a7oUVfGz=O3MzjS(%PgF8%EyO\n", "\\Hu4$ZNiDf=)Ip0nWpg5zQ!UVbhop7xf1edTK9M%WDtMSxQZLZVWoY14lN#Je#5A5wWSfKi-RaQpXH%Y8Nw06kKstSB05TsE\\\n\\JWDTa6c1cEf52TWoWu*B"), make_tuple( - "Ud$Q)ju)TNIO3hpaf0DHS$PdicuW4mWvn\nLXIkV-7hnwT6Znn^iG\nehSIbZCdEbmjFvV6YJ8gVYB-0iaAWrA$D-a7oUVfGz=O3MzjS(%PgF8%EyO\n", - "\\Hu4$ZNiDf=)Ip0nWpg5zQ!UVbhop7xf1edTK9M%WDtMSxQZLZVWoY14lN#Je#5A5wWSfKi-RaQpXH%Y8Nw06kKstSB05TsE\\\n\\JWDTa6c1cEf52TWoWu*B"), - make_tuple("V*amrrZ)!ZC=2o@)Fjou&HH*ZH8rqj)6g6QJJL\\!py-9HA*7RxczCER!gat-NCdQjtm75a2Fsq0!ElOGdaHq)p5q5@Aat7GD^Keb4=djFab$7RPXHF&DB&", "\n%Wyt5I=iKL*dfwL\\nWS#Hn01k0\nV)NG!BN#ccPtqSRxnt2CNMf(X@q-o^8Fg%yDv7LJ5rOUKcpvW**Nog9I$B@Z(5sK9\n"), + "V*amrrZ)!ZC=2o@)Fjou&HH*ZH8rqj)6g6QJJL\\!py-9HA*7RxczCER!gat-NCdQjtm75a2Fsq0!ElOGdaHq)p5q5@Aat7GD^Keb4=djFab$7RPXHF&DB&", + "\n%Wyt5I=iKL*dfwL\\nWS#Hn01k0\nV)NG!BN#ccPtqSRxnt2CNMf(X@q-o^8Fg%yDv7LJ5rOUKcpvW**Nog9I$B@Z(5sK9\n"), make_tuple( "-B^oI7lva9%-Y\\\\\n)4f2t8XH8JAKLEeVW)cZ1Lkw&**721y9)AG=8JQGgn4ezL@FSr5@T3u97^", "xercwafvAx818ue&$fvcahByw$C3YNoJVXHk83\nhUPpJ10UNaeyJXFpzIrlRKSow#tPSiXEsVX61=!y9MRtqaa#Zg^9V9HdLr-wl%xX^p5@7n%cjR$JWrY@ibeW\n"), @@ -5930,7 +6922,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "HqfgJ%8Sq\nbeyy4n@MDQQAC2(%T!#USsvU\\1r0dmxlz=@FJgENIFu)X\n\nKBUHa62HuNw6N&Qe0oqlH1FgK(J#3MPG^Oqz-w", "c9G(J!ChXX2m#XWeBIZ\\xF@YQs1bu4JIn0hpiz\n69nG3$gO@Py0C4to)#yRUWcfK0(Z*N)B$(sLX1Uygxw4jSy^2U\nFOm3lMMV-fUV"), - make_tuple("@GB)ogZA-Zvmkt4x=G9hLousDgEyU27*@t5bU-ZpTdmwo5mQQ$nesLi3zJ6XFQcc0FeQh6AN4Q&WKl^)Gj&ZI(TljTsE0VQTmziAIH86c)78dnNHTB!nN@KpY9Mgou2k\\&K1OoC!RZ3EtG*nGg^tu)0@I#1xEA4lb&Li", "@R)q7yZVv=sVBuyJU\n1rVS=nWN4pC@Dk&AZ8l7qLU!&@hnpAi\nC6&@Bb0LU7#eX\\\\QKumSh9dpj"), + make_tuple( + "@GB)ogZA-Zvmkt4x=G9hLousDgEyU27*@t5bU-ZpTdmwo5mQQ$nesLi3zJ6XFQcc0FeQh6AN4Q&WKl^)Gj&ZI(TljTsE0VQTmziAIH86c)78dnNHTB!nN@KpY9Mgou2k\\&K1OoC!RZ3EtG*nGg^tu)0@I#1xEA4lb&Li", + "@R)q7yZVv=sVBuyJU\n1rVS=nWN4pC@Dk&AZ8l7qLU!&@hnpAi\nC6&@Bb0LU7#eX\\\\QKumSh9dpj"), make_tuple( "\nDk)&QY&(u!OLR^cYQm-QoOnj=xeSX2lQkZ8MAahy484w56Bc3iqr0YAa%TZ(1V-0t-puBWcTPV0g04Yw^RtM$KN4&#-0z$B5yS4GlE6XPY22D3NMhV%6nMoGk$$^eYxJLtiKB", "SiKXin96bEw(xE&K9W8\\xVXq#0CRId&DDu8yELOF*W=1#-7a#nO\neC6WDL(HD1bnNPR88q&tyB%5yGhIb2bBJeQv4!gIM^H3608t%H"), @@ -5994,7 +6988,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "e%pXh&f9PC#tN*xfURnjsBj6^QG%*G&!%3MS1ZU=B*LEkT3gMS\n\\nKctdXR)1=3i=F\nvMTuffxL7D\n", "VdLQyokL!8f(cxVl85\n\nGN$xKj-CCD=eFC3&gs(%bs6M9bssjIwp#NKLI^6Zs)W&Fcw7T@7=oZ93d"), - make_tuple("lF4qDS5x&sF0yjc\\0wIcJNgYQ\nKyJdFtQVA95&Q4cVT&V!(NKEM-nCl*F\n\\!1NVUwEfQIp^BGMRXmc", "\nfz3jn1I7kl%yB(BM0w!(bfisMCQ1Ry!F1G*RkgpbP-3EBG*XzvaDraM2cDRvg9jsrv94eELv-3tQbt-zhIl\nNugT@2yxiphL&PY)"), + make_tuple( + "lF4qDS5x&sF0yjc\\0wIcJNgYQ\nKyJdFtQVA95&Q4cVT&V!(NKEM-nCl*F\n\\!1NVUwEfQIp^BGMRXmc", + "\nfz3jn1I7kl%yB(BM0w!(bfisMCQ1Ry!F1G*RkgpbP-3EBG*XzvaDraM2cDRvg9jsrv94eELv-3tQbt-zhIl\nNugT@2yxiphL&PY)"), make_tuple( "8$kSIwht@ys15P!2jkI4^ehF9eoZ\nERbKXcD1nBtS47jL5IDvqRfENBVb^Fo#r=ztMfzLu$1Mt99h5jFu#N)vZ8=U&hV!*JCQcZrszEPjLEQVJXYvfj^L16#1#L4QaWG", "\\\n#-z$zVL0Ba$wU0\njWT%RiEhXuhx-EB#ZcfQVf3P)hh73T%kP3WClpL0=D*zmKpn2HKq\\\n"), @@ -6061,7 +7057,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "Qb1d7u)wseEV#W#\\aQPt-O5@QRm6oYclm4-X1#tOFTbEo8oX%TDtAsG@\n2SimF)jSIhN=FYeySDU8SMB!4008K)T!uP#!hMzk&pois)i&3u4y", "s@=vm4R65o4h98fb44&Cd=2CuOp9%ct=l=NiM\nrFSua3h93^aW2RxKEZ)7QoMz#bXR\nZ@vjyyq4Z=vR)k7Zv9#FtAMEHo#fgf1IX4hQDzcoi5jaJK%"), - make_tuple("0YE0t*kgs\ni#zHOF2&kouwa(wF^LX=m2d\nDJvsz=vsP\nqe!(iMqEuKHq)n)3UnVc8E@xyoAoiZ9I\\S1T#5djKgDW", "3Z)j#0-$2Js!vC%^SDUKmjFz7C!bMspHFSj61HMeJdUHc^Ex0mFBo#cimbe*u=@-ELYcx7\n@S11os\\WF!)5LXejb"), + make_tuple( + "0YE0t*kgs\ni#zHOF2&kouwa(wF^LX=m2d\nDJvsz=vsP\nqe!(iMqEuKHq)n)3UnVc8E@xyoAoiZ9I\\S1T#5djKgDW", + "3Z)j#0-$2Js!vC%^SDUKmjFz7C!bMspHFSj61HMeJdUHc^Ex0mFBo#cimbe*u=@-ELYcx7\n@S11os\\WF!)5LXejb"), make_tuple( "4RiqYWCPZy*sD9yE#Phif$!AGbY=ajN2)IRuiymEMw0Qz0Xudw#f6SYGlas7&GzMC=gnTqq\nBXn5l9S\\PYgL^=rVAskmO4002", "wz2p=4qgEMlb(V8zKjcH\npV@Uct9Q00eIAGI#2Z@=GuLjhxQ7RB#fFoHE4QRxApnIMUZFm0m9SYC)!XDQ2X9Ku@^&WfZ8XW7uDV=HKT-H1SMM\n\n\\"), @@ -6134,7 +7132,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "8T!K1qNII^Jp\n\\=58!pp7v6dh3EeXf$lZlf4hQVf\\p$Jc5%gKOQz#hwBu)NRz-RPb5=^(%%\n\\", "\nRmNvzGKiPLYkj@Fq(Yx1e%77RCT$34Hhg9McF!2E=t^XuzYMN5jzK#\n\\5$RCNKNHYLw1(q=j*3HT7Koi1t6fe1z7t=G5e%422E(4sArf&LQPfP^G"), - make_tuple("s4^xR5Y71o8Kd%7$zbBh#Hvj\nH@hY6J\nPV2n9WoXsr1Vztj$aG\n)XgLgZra7^2uiD2r&4$T-$m4YGji3W\\", "oHrRFw168%zUnDcwp&4pXPMGAqkt&LszlUXm9kbdHSCkLHNMpBTY*(Zj9GFm5ba^ztziBe5qX=By3Zx6AZVnj$M@E9GtolIkZ0MvGrOjh*0V9j)&HHLyC$sk#S"), + make_tuple( + "s4^xR5Y71o8Kd%7$zbBh#Hvj\nH@hY6J\nPV2n9WoXsr1Vztj$aG\n)XgLgZra7^2uiD2r&4$T-$m4YGji3W\\", + "oHrRFw168%zUnDcwp&4pXPMGAqkt&LszlUXm9kbdHSCkLHNMpBTY*(Zj9GFm5ba^ztziBe5qX=By3Zx6AZVnj$M@E9GtolIkZ0MvGrOjh*0V9j)&HHLyC$sk#S"), make_tuple( "6cUgTzEs0)XTGwV!\n#HQ!A2$YfuIOYd9YfUS\nQA(^MsxBg9wFl*wJdNAQesEL!InwLktDCm%AOnhbQg&sotG4dx47M%7bGSmT5DVDvSJ3uU2WfL$p-)EId\n", "Y07uBfRBC32R@\\0ku%s12dH$K%0o9Kt7LM^@39%D1\\d6O8hsbYBDv#7H7s!AECqkg@\\aPcTyMqZt#y2I2pX#W-nXw*\njRyo"), @@ -6216,9 +7216,7 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "KN3aqrNCX!m4&i\\^BLf5hT)9#SB@iK9GVWK*Y7I8J&gNlM(Gmf3Y&sW=7JReMj3JFdh\\6MKAX4@T#H0w*oX&quvx\\U8&doTW", "\n\nr6LJWa20FCD91o$((TqsI\nprH!Cm1zk9D9n&vUl6dBI9jPmgqwbUWK*%(T@aZzq1Xuf#FdOZRn\nV@6%kEPs)p=6KO%yeigwya&"), - make_tuple( - "djZQQRR5soenaOVoS(^f\n3PxckO3eP&p3CE9ez\nGUoZzIEF2^bUNY*9TE$Ktlto6-mzlAiW1pR*fkZnjweHuB$CP2AE6eJpjirmx9YD3%CndE2Jx^8WQ5F$b^(v\\", - "ob=6=7%Fk3ecQ00p7$l&s^0u=(0ps#K\nX-44Y(g%cIP$1gJ$AtLAdPg!)(WMO3qC7P(PoUg5mOFcf$bzxD&v4%Z)J%Lp\n\\oWx)4*96*nCNqT)JIo9eE"), + make_tuple("djZQQRR5soenaOVoS(^f\n3PxckO3eP&p3CE9ez\nGUoZzIEF2^bUNY*9TE$Ktlto6-mzlAiW1pR*fkZnjweHuB$CP2AE6eJpjirmx9YD3%CndE2Jx^8WQ5F$b^(v\\", "ob=6=7%Fk3ecQ00p7$l&s^0u=(0ps#K\nX-44Y(g%cIP$1gJ$AtLAdPg!)(WMO3qC7P(PoUg5mOFcf$bzxD&v4%Z)J%Lp\n\\oWx)4*96*nCNqT)JIo9eE"), make_tuple( "1hl3qz8q(4UgYrF1z*z97Ph&5LwXbE(DL5BOhG2t9ohWQVN#o3*EZAHamFV0QYwG)xJIhJ@zn4@Cqw3qL%w-KCrR$hEmr9Hz#Zcglr!0TJf!7X3Qq(B$n0%LF0YeQZ\nbx4NLEjWBdOn", "%JLGFLG@8ubL-1ewP-lGk@4()W&Q5intD)LyPpNdrP63v$-\\\nmHgRq@(%Vjg(YX*!V\nCu2YQpATY!!Z@(-P=)%b\nng(BxyZ$X2a$lpE"), @@ -6267,7 +7265,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "vHrrlfEp1((nJr8gUbTHHS6124CpZhWOl7$@y-BjO^8FtJ$UnEo40A(TbtGBYSKYV6sEza(^=FGXtQgX=2\n\\\\wCC$LbV#opQhLA@aa!", "ZCqmKWKp7!TT=\\yA0g0oCdiYyZ\\\n)!l1mo9XuRi2VPoiVF938ON5ferjZr1rL*ANh\\zsRy9GsPm(yQ5yw"), - make_tuple("t4&5bCgHE#zV1Iz&H8mJ-QOkptoTohWze^teEsTdBM@-MjZ^pZt200CA5DXikJGdq$OCsYSA^TedTaK3^LZXUUMhi\nhkq@o3HI\nGDiJI&B$F%yHR=Psq", "QR6r0P09@n)YL7%YSHUl)@9DuO!Uc&&g2Ai*mO0Fw)Br$s-H\nKAcuDSV^h^f^Sj$Pzusl&DwOu!DAA@ac=ilzS5yf&47i0ekF#op3pzy8iQoa^(Gbh72UbB7y#dQY@5(Kt(HkzXhQYp41FaSzYA4UR#NpT)!69"), + make_tuple( + "t4&5bCgHE#zV1Iz&H8mJ-QOkptoTohWze^teEsTdBM@-MjZ^pZt200CA5DXikJGdq$OCsYSA^TedTaK3^LZXUUMhi\nhkq@o3HI\nGDiJI&B$F%yHR=Psq", + "QR6r0P09@n)YL7%YSHUl)@9DuO!Uc&&g2Ai*mO0Fw)Br$s-H\nKAcuDSV^h^f^Sj$Pzusl&DwOu!DAA@ac=ilzS5yf&47i0ekF#op3pzy8iQoa^(Gbh72UbB7y#dQY@5(Kt(HkzXhQYp41FaSzYA4UR#NpT)!69"), make_tuple( "W81P3h4USKoo1G$o=KTo)WmPA&&%7V(*n\\U=!Dd&wGkRn%ILzep$hkVD=Uoez%6R#&@1cn&\\B8%o%@%b2Y&X%a=Aso$VR@*A$48SxUq@(1s61JyE=JUOX-dZk6", "\\3Q@s^!y9)xJs42b=wHdyIkgUD0&f9vG8t*&ZUavUs=ryT8Lc$hrs@YO\\g7VPcB)Ia*=5PlUX79G@==eZMC\\\n"), @@ -6403,7 +7403,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "YBu=tCMmacAY)x@QjB\nvGnn3(WR65Z$GK&o5%ebDXW\\\\LO-pRG%dlb!kbKYZaRfPtEwhlT-6)E@odRW=RC%UVTVaZ7Ilx18CfHT#GC!I5", "\n\noWr0(uxWDw3jyHmoy1L7)y3tD49xnB!qmhl7#l*hmx6\nXdYz@*#-c8e3\\xAWrbE&&qK86T4lAT@t\n"), - make_tuple("psfA8%Jbn&xas7ngp3B0Gd6&8k\nX)pxIS=Z3RiRZXfHVocz@Ic9Bg=FIZz@KD(yFn!JUEdV19b&mXsNm&bK-zgy(s6xhtr%\n\nr$D-DVV&VWU", "w!%Y79gJ!isIT9FZRzGF1\n#r4b8YF-t5-brJT0%Eo5$VloWGl$*h\noYo%9jkz)OOT\nJKs$7c-!Ry1XDJdOQ-8-g5-GoeR5G%)UATwDXRpE%"), + make_tuple( + "psfA8%Jbn&xas7ngp3B0Gd6&8k\nX)pxIS=Z3RiRZXfHVocz@Ic9Bg=FIZz@KD(yFn!JUEdV19b&mXsNm&bK-zgy(s6xhtr%\n\nr$D-DVV&VWU", + "w!%Y79gJ!isIT9FZRzGF1\n#r4b8YF-t5-brJT0%Eo5$VloWGl$*h\noYo%9jkz)OOT\nJKs$7c-!Ry1XDJdOQ-8-g5-GoeR5G%)UATwDXRpE%"), make_tuple( "\n*Qib7VtgChS0Bk0LqD^dJY=IURH!=w@u)DeJDb1njEQOg55optRc9M\n2MTVC3u)zj8yk!Nm2RFQp497x0eTFW!rhSFX54\n", "\nbLyEaS#g\n\\XR#lN%eT4U-yA-=4-(a8zM*IJiSJRT5n&GU)vgilph0SkrVzy\nTKxfgfG$O33Y=*zcj0cv\\"), @@ -6512,9 +7514,7 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "mn7o60&0rEQ4=DpmiK8\ne40QJ9t2rJIx$CmwaQZ5b0wYQrC5VOX4aDi)#\\!MWQ*(qQhbz1x^e@4zR(xSY=k\nzBL%SjupcStBIK)S^s*bh0hk", "FmrY4MbP6qecTc3FPC\nTLjS9S3obY1VnMB2l8pHxa2bw-Vy&h=ZBt&vtLr4D0JstuY#r9ni^DLyW\\\no#T#^giCI1Z3d9!vm%z#P6c=(A2*4l7%3K$Yf*I"), - make_tuple( - "kNAw4$D2S9hzg=OVf#zW(z\nMY6#sge#lBDEWDkz!GkMCbXkPp%9sEsUzv#s$8\nDHmpZSrB*stO9$&OBp3ykDXqNruqc1", - "*rnc@EtfkpAu*V0\n%giYtr5gPYQE8tM2gg2%EBQi6hc4QbAIRxUe!yZwV=Zy6faK(LSKsYuYCSKVenqU*\\ce!BRjuHRoYAMS5ia9*YCp9l6Wvt$mEg7X&UzGZctC"), + make_tuple("kNAw4$D2S9hzg=OVf#zW(z\nMY6#sge#lBDEWDkz!GkMCbXkPp%9sEsUzv#s$8\nDHmpZSrB*stO9$&OBp3ykDXqNruqc1", "*rnc@EtfkpAu*V0\n%giYtr5gPYQE8tM2gg2%EBQi6hc4QbAIRxUe!yZwV=Zy6faK(LSKsYuYCSKVenqU*\\ce!BRjuHRoYAMS5ia9*YCp9l6Wvt$mEg7X&UzGZctC"), make_tuple( "Jds%r-XMv=I6Sh2G&\\s%s#s=XYhwz\\F0Y*rQGnxXxIrtl5^CvB3@vXCy66YLqXhLVMfRwk3J%U\n\nK--2x((Z", "\n\n\nhEp410F!=-h-Za^zAijExVdAl3XLVFkhN=nolBm&5sD4fk*VgyT@)cFn92UlT$PhS^=PLhbR!VBIj04*53xsVLmM*=aX@^j0n(#NtG"), @@ -6530,7 +7530,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\\cvmme!BK%4xB)tq1vsj&6D3a\\\\h0*h$TNR6huZ9Jy$MXsP$NoqNJqEl7f)5gfxz#jFh&q^Z@tFt0)(Dj10t1e1ntKYft54u@S&-=Fr", "SQcjw7Y6P$TpZmxZafV!@liY\n=Qr3MZLEqaaMU\nY@%NGxIqNClR#Wz!=j*2Yrr-hR66UaRlJY4sR-fL4*!%m9aqezdob\\zEPPUAOlD$S^7ZbNXmNH2Q-A7*s5%JR8kDfv@iPD"), - make_tuple("eLDRdkT4n7En%0S$n532X^JD@&yL(lVm!D2UW!p&bcad&g0gIW9xXXd\\f6FVVNb9muM1(%*&\n\n\\NPA$(UKi", "-O-oAM$tw9jvOS(dYC(-)%)SHcy0ep2Oa3ar#!tOh\\HTyC=x)nzr^S6Vi-Ilxf&BQQg(SRS4@VFxe^6qQLgf!q&9mxJ0INCzG$y(7C$QM32miOD5=r0!$cSiMmYS\n#uN#58qq@Zx\n"), + make_tuple( + "eLDRdkT4n7En%0S$n532X^JD@&yL(lVm!D2UW!p&bcad&g0gIW9xXXd\\f6FVVNb9muM1(%*&\n\n\\NPA$(UKi", + "-O-oAM$tw9jvOS(dYC(-)%)SHcy0ep2Oa3ar#!tOh\\HTyC=x)nzr^S6Vi-Ilxf&BQQg(SRS4@VFxe^6qQLgf!q&9mxJ0INCzG$y(7C$QM32miOD5=r0!$cSiMmYS\n#uN#58qq@Zx\n"), make_tuple( "\ny!1BJu8$RG7w6FudKH&qz%XAxuPK%Lix2rRTP0L1@6NNltV$d%)#XILC4zrB4CQ=eRGP(fJKnDmh$$KW1JF$2\\", "\\\n\n5oVMJML0Dwn8WuAXJo)odB@\n7tLoz(rWP^eufd%*mxT&$pyG4CJXXtmJepgfmuNMr1^"), @@ -6600,7 +7602,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "9gF==IFcnDJ%cn%mb&D=T7UdlJ-Yuj!H$6Po**Ni$ofwoATfIKuyK$dGr7EYKf*MC8SPQRL@R(vekcnRYksbpNkvXhekKSHTmF@Pz9JFlXIryR3-", "FGIE2yw)vrf6fmmnjMeZz^kNa3En3aB-j\nUR4Aaw*GzBqrKr5g9Yxnt(elAI=tP@vb4tlZC\n\nyaZRy-4sTQ&v^fI^gyZ0$7Oe@tkj)yEx\n"), - make_tuple("btM7eitVbq4ag4e9noF5WXDI4qYIVB3LUavAiEq^F)=kvZQxZF=R&rqsUVyt9Zc@c-3GE7Cn\n*rxBvRa6R8gGtOKs^#Ykw3fF=u3jAF@kL*\n", "JTELkmd9z$AqNuIN%3vntSLDA9SI9O*iCF(GmXxiR$3tPHvuA2LGPTrwhpFpvjd5h#DzNvFPfEySqf\\vt3bqS^*V&o2@5&u(9^=U7mYrkfr)5l%mNG86(E@HbQ"), + make_tuple( + "btM7eitVbq4ag4e9noF5WXDI4qYIVB3LUavAiEq^F)=kvZQxZF=R&rqsUVyt9Zc@c-3GE7Cn\n*rxBvRa6R8gGtOKs^#Ykw3fF=u3jAF@kL*\n", + "JTELkmd9z$AqNuIN%3vntSLDA9SI9O*iCF(GmXxiR$3tPHvuA2LGPTrwhpFpvjd5h#DzNvFPfEySqf\\vt3bqS^*V&o2@5&u(9^=U7mYrkfr)5l%mNG86(E@HbQ"), make_tuple( "\nl52TLBzXS2VrT=rhspdt-9aZhVOI\nNFJBYO(haU(8fhYHymR$p^t6A=\n\nxU-E2-Qo!vrrnzREJ7yXnnaH)v", "XRuYgSN-vW)9eMO$MyM7MRi-@7tt%oMwmPghAoFMyq\nUJZK81*VRJvK@)uei3*l#=d%XexG2BokfP@BWGF098eDD9Sz(Q!DUJWcZ-0jRSVj9fGoDWg3pT\n"), @@ -6664,7 +7668,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "YCGaQaXEk8qEFmO114N&rkRkFw61JIPn#vg6tmdquU!U-PpG9nlqLgOsqeEPEC12I#e7b-YZJIS&JBSCUZ*sfq5I\nC^)U$gH1", "mz0w&aWAIIR-o!*E=#^uh^1VTRx9Jg@m\n$nBB#f7$)g^7vUvro)xjtHr%gk@@hNTcA(\n\nIRU5zjOt\n"), - make_tuple("ny=fg^@u!!&5OH)HHwvw1\nv4shh(GZ8Hmv!^T6#&Pnht\n9-SMiotca803ORsi0^3CJV@i$TqlmqCMTPZgzY=0\nUA55WDcesy1lY^SMhtmKiE(Sw", "jROckxebMJ$#$RB%(%2Lq!(gbRj2LbpD4&n$leEZ(6$wNbgbMVG\\e&tOtX@dkN\nAytDacG6O&KkxyWoGi4^OV&zc^b0SjaHohfeja!u!*OlhVXEa1)sEj"), + make_tuple( + "ny=fg^@u!!&5OH)HHwvw1\nv4shh(GZ8Hmv!^T6#&Pnht\n9-SMiotca803ORsi0^3CJV@i$TqlmqCMTPZgzY=0\nUA55WDcesy1lY^SMhtmKiE(Sw", + "jROckxebMJ$#$RB%(%2Lq!(gbRj2LbpD4&n$leEZ(6$wNbgbMVG\\e&tOtX@dkN\nAytDacG6O&KkxyWoGi4^OV&zc^b0SjaHohfeja!u!*OlhVXEa1)sEj"), make_tuple( "l#=O$mbBouFA0pcAqNxYFEwt5CGk!!1Ff\\S-SVx&PnPr73l^VtPbWS2Yb#1uKEBeIR7FTBOatkKyxL2Jv$dc-vjmj\nZW&#PH6PgAFxxb9e@I5D1!=UGb", "dLNEMnNoaft@5g4y6W*\n\n\n\n*e^=Sdgi!585zSl)d2j6es3\ngxwrVNV\n"), @@ -6734,7 +7740,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\n\\K-XHkufcW&#d!8z6=!qR^BXPBmjg$Sdz%vTbXWoOgFyW\nzUxx6ewO3AAO@^w%vAEr)t)=-x*7qWSryoTN)4%otCTDN1k!I$Y=IGgA%!W!", "DIT$NmN*\nc5KFFCTK8IK!DUJL2I\\uM#gh&P-zodp@N@(EEBL\\\n7KV13S^gAAFs$WPu%n@&TSWG=^27#Zoi"), - make_tuple("\\\n6fwX8Ct!fVgKSQK35)GK=aKI*q-m6vnH%=l-CIZ!l4IkU%Uo9psLbR3a\n\nPA(o&sGb$)bzH\n\n", "$CpsS)LP#TkK*bJ&Xgg*My9zv&%9=12QpLab(W!vD0x6a9WIAZ*ttj-SH7WS6Se!qQ8VZiLYkHfBF!5q3TVpq(2XHZD5hy\\sq^^q1M*vn*qpmXhcnQAKoqWT%"), + make_tuple( + "\\\n6fwX8Ct!fVgKSQK35)GK=aKI*q-m6vnH%=l-CIZ!l4IkU%Uo9psLbR3a\n\nPA(o&sGb$)bzH\n\n", + "$CpsS)LP#TkK*bJ&Xgg*My9zv&%9=12QpLab(W!vD0x6a9WIAZ*ttj-SH7WS6Se!qQ8VZiLYkHfBF!5q3TVpq(2XHZD5hy\\sq^^q1M*vn*qpmXhcnQAKoqWT%"), make_tuple( "\nMPH#AmtzxW70$PX$U4!LEGlA(wJQ1djY3DrrEAfefHHF*gOE1eI78UKA@Zk(U2dWF1308v2xkJw*!Xof5RH@f4%r58dx", "\n3*gv2Zeef=h=ze9^QMOFt9cQ8MQOHtAI^K)gB7L$K-MeGEBbjCA@Pu5M56JJ1LjQuVezM&C-gXQcG3DOP7VxildvZ7=iHRlzUzH(lUkQ"), @@ -6798,7 +7806,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\n\n\nWoA-x7\\l^O(Lac^6^woTfQ!AFP6vbfCl\n\n*3zyHAF", "=JsNjmanSFFRP)EU!C1!V@cq(pAs*LA22)c$rdwN65jyXIq-&B60)lC1fjMC6j&Yw&kGg#c#^##%5L24*p!\\ah2HL4ojmpur5#YPyopAG-lC\\ztlVqV5yPfSsj0"), - make_tuple("(hBTK223zm6Ue!\\OXKRS3oX6#Z$^awT#t)o6twVnQL!nDeR7%M3%rKOtR4L#0PL6I-P$KfqwQb6qHexldYSyGO2ZuP7W1x-\n\n", "&#kc)AvyC&$RSo04QBp%vDkmvE7^xbY=#UjlS3a0Vx3W-lN)!WLwP-#ZoRqBzxqaF\n\nXPq0PPj305REfkN%b5D)TXDoa-iZeAKKBpuII^gGh@X&2Azu&vq%u1L%rLSAw%-S0"), + make_tuple( + "(hBTK223zm6Ue!\\OXKRS3oX6#Z$^awT#t)o6twVnQL!nDeR7%M3%rKOtR4L#0PL6I-P$KfqwQb6qHexldYSyGO2ZuP7W1x-\n\n", + "&#kc)AvyC&$RSo04QBp%vDkmvE7^xbY=#UjlS3a0Vx3W-lN)!WLwP-#ZoRqBzxqaF\n\nXPq0PPj305REfkN%b5D)TXDoa-iZeAKKBpuII^gGh@X&2Azu&vq%u1L%rLSAw%-S0"), make_tuple( "ep-veih98DyQzmeq(=5C4Vbwu@DQTMMs#RvOfr$GxdIPrXj-HBr%&x@&DoN&0^^CMvWw**p^EtG##R!Khf=Ivj7Q^jSeMChSy%e\n\\vHTrZ&cmr*IG4jC%IKc^p", "aVskXd)3vqmfF19Z6CNRV8Qe*nG$I$Qimk0YRAMuVdIcZC=AH01S1TO80wPdTyFgF*1uFfxa\nFiFTjmeh!*kzwFC3(3BxJ!*wtwTARpCzfO\n(zZyD!)X$LcoEbChKx7qZWdtwjKPmDfCNc&rf8v"), @@ -6865,9 +7875,7 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "QlTvC(a@&E5M3LeUdJuRb%vt(d4XtHWexQbR94@*\n\n\n\\2Bk%(JRn1%jf@YV$)9OPR%-Dtk", "EWcI$9#HuE3%1#Sb8W1Py)kM0wRy$Vp5etbNuOm-KpwpYQVVq&=we\nvEa-7ercw%7Uh0zXJy\n\nb9!u\n"), - make_tuple( - "\nn94))almhNay21q5!zgR\nQSACT^YIrS*B5F(O3)Q3D5vpIYrjOcvyDhQlYxN)Mp2Js8DR\nuLh59%8=L%OH6aV", - "vbjKRvkp*#NMmQ2VJNvaQ(R)PruxhQ\\j-0qaPmcWjt1mUA=Ch-r7rjmvA\\\\YC)9O0#OZRhj$a4iEbUUM2E!tQ3kJHoP4sj)Qvoba!j6Ewq=K9"), + make_tuple("\nn94))almhNay21q5!zgR\nQSACT^YIrS*B5F(O3)Q3D5vpIYrjOcvyDhQlYxN)Mp2Js8DR\nuLh59%8=L%OH6aV", "vbjKRvkp*#NMmQ2VJNvaQ(R)PruxhQ\\j-0qaPmcWjt1mUA=Ch-r7rjmvA\\\\YC)9O0#OZRhj$a4iEbUUM2E!tQ3kJHoP4sj)Qvoba!j6Ewq=K9"), make_tuple( "pn(olGA03mf88QRg757st-ADLZ9Cjk7p@2oEu6ebyQfjs#ZTzv1DqKzYxCxh\nqMNmK=4dXVAyB0wMl1#A!Jo\ngpc7km6L1=\\Sck=X%ufh9l", "\nmI#GLFSQB&93!=VotARB!qieW^YWuB@FhPoU4qe$oOK*pI8cpYolE7I!*HN3XDbaXfFamT0aP\nHCcj(*$@F(cm#7^02iQ76Jfe9Ym$HflJRN7"), @@ -7003,7 +8011,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "MiEJgt)yTt\\\n\n%MCbkc#q3A9^cz3&9i%k2OH3D4BzWtQ!wREqfLJyP0g1J6nLwd*w1Fw=YC)RA^o(h)f7km0z0&6yLk(Vc*oij*h7vHzfuaJ#oQ@qoFz)R^59Su^wM61UrH", "g4qBlNgckLsqqOC\\yHNYB8Y$j()F-y4*Ax5QuWaUpaaD#Q%WGiaCrj(ozVHKGgCpB4hMYF6(Le=U-Ai&T8M87MBcI%S5RHul$4NIn2Z$#Tq\n\nGBpQinfoWUamgu5L@0l44pYk"), - make_tuple("e*Tjl6GQf0H*Kzpl4LVqpBgJTnIB8-%Rsn88uQoEQtzWN173uGb92X6$S(Bl2f-Fmflyl)@B75viTzEsRf1iTg^FW6pqWPIfObi0uHLNVjSq1t^x\\\nQNSTx4wTbLS^I#luE=R%W-8\n", "ppUNxc5vtdrvh(s%gQrcy\ns*lV590xHGNObMgW)GNVK*!IvetD^ZYAJHBhVEom3lO#ZYu0b9qD@dsFFQcsEfPb!YSmV@w)y8i%e(!dbuVH5GI%DXNGjRBL#SC&Iux3Qv%dNR1*RVpYHQb1dFkxoU(6vn0a4eKSj-6W2%C5FiHH"), + make_tuple( + "e*Tjl6GQf0H*Kzpl4LVqpBgJTnIB8-%Rsn88uQoEQtzWN173uGb92X6$S(Bl2f-Fmflyl)@B75viTzEsRf1iTg^FW6pqWPIfObi0uHLNVjSq1t^x\\\nQNSTx4wTbLS^I#luE=R%W-8\n", + "ppUNxc5vtdrvh(s%gQrcy\ns*lV590xHGNObMgW)GNVK*!IvetD^ZYAJHBhVEom3lO#ZYu0b9qD@dsFFQcsEfPb!YSmV@w)y8i%e(!dbuVH5GI%DXNGjRBL#SC&Iux3Qv%dNR1*RVpYHQb1dFkxoU(6vn0a4eKSj-6W2%C5FiHH"), make_tuple( "DLew*Qo@i@M1@Uf-y*2d*0Njlvqy*RbYm&b7zC8@nD!^k%Hd8qtlfWLtMcY\nAWXWrR1YX1b&P^f=fhQI#JQYBcC7Pv7jBGdc(Yc^w5yCv2EHSNVWVm0HuFuE67K$qj!tiHj-i#APNxBSUepu!SY7^#8M=r8", "SeWk=aGCvn1ZF!zp8=eMIWyU0yARbnQlmGwvUhVzKUDGgnh^LtYOgq(@hQu5MYiTC)J9eCD=fJPVbfNd2DjY\n^em(\natz$-xbY-Z#x5poN52tIuwCmbj()DAjs&qx@"), @@ -7142,7 +8152,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "7kqwI&k0u$KMBiSd\n)ccq2hoptL(20v1aVF\\np11vSpK$N&9#^(M3$mMm*sJ\nwE5CZ\n)!bnN9arnzkHO@L4", "DqouOOsO-HUvi70=lkFZXdcw7zAp-2NbGgUAGjtfbAs)5MAQ6FGlRaFp7(XOV6Yzht$i&tEz@M^96Op4LBRs=zX89TpH1S)(d\\K2*ge$G8T^Klj!XT\n\n\\"), - make_tuple("&J^yKcR9LLSobjB=Rq)#5naJ@2U1J%79ynA4H$Dtx3zAa#3lRak4nGp#Q3q3DBknCSpxCfioxDanq9bJGeTRcEhPThaHQ*3J-O0JOJqx*zIBuOy8XIbHKektbh%xSnh@6wD0a*\n5E#pa", ")vxZyzAyVIcFUeeuE=4N(h&O8ntNt$^sjyaSmH*MG0V3$V@@JyDsMicnk8f=LxFt(9I4r9(JKZT9Vs!KbmYEgW74xVoK"), + make_tuple( + "&J^yKcR9LLSobjB=Rq)#5naJ@2U1J%79ynA4H$Dtx3zAa#3lRak4nGp#Q3q3DBknCSpxCfioxDanq9bJGeTRcEhPThaHQ*3J-O0JOJqx*zIBuOy8XIbHKektbh%xSnh@6wD0a*\n5E#pa", + ")vxZyzAyVIcFUeeuE=4N(h&O8ntNt$^sjyaSmH*MG0V3$V@@JyDsMicnk8f=LxFt(9I4r9(JKZT9Vs!KbmYEgW74xVoK"), make_tuple( "gdn)eMe1zUqXTROdjHNI0wUmHGVOL%TUMFs%@*\\\n\n\\AfLz@f&5eXf69yuQ%CVl&Y26!tjMK", "5@-9QibzyM%3Fviv3$ox#y()UWis#pXAAT2h3j*p27TO^B$030XYf2)\n\\1(Ro)uehQ8z5TEX8L1=I*xC=cRbQiKa8A41o5wPsB(PUKSrwwaF)CAF733EPS%49BmGfx"), @@ -7176,9 +8188,7 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "013-cQlmdyDn=qlC0yB\\(X4(*yVLBL&B7jreHJh1-b\n*lK7r39mS@LfHrjf^Egena)WWjJLJdTl3PR=vxCt1wFjzEuZW^sbwFVoEF@wV24TG%H#)rDFG%2Pu136", "&8BKN$W7s%ts^v7ftzH=fWHPprBc\\kyh5hoSrYKPXaW$PGBC2x%q#gnyLDP$=Z8EI$=\nwfR5ISgOow$ps(MGvLfzRN$&UNLMIAEk4vE4hlmYgm#oa5&doErm%ew8FZZ$bHE9=Zcb41KBR"), - make_tuple( - "KENH)VKNq%2\nW$%P7r$J5CDM#\nVGVTq4cjsu7*A*Sc8!q\nSxV$IN$pw6zr0E=-\\", - "\n4XNvWP6ZeaCsBSU7%UU$zqKc3yJ3O8(92KOBt$lqj\n\nCVPKsuJ#KFi=p50lcI&%0c-7YqBaYWHMUlP9RiHZN&m1Mr7rlXL!oL*!*cbWR!sN3NtM9"), + make_tuple("KENH)VKNq%2\nW$%P7r$J5CDM#\nVGVTq4cjsu7*A*Sc8!q\nSxV$IN$pw6zr0E=-\\", "\n4XNvWP6ZeaCsBSU7%UU$zqKc3yJ3O8(92KOBt$lqj\n\nCVPKsuJ#KFi=p50lcI&%0c-7YqBaYWHMUlP9RiHZN&m1Mr7rlXL!oL*!*cbWR!sN3NtM9"), make_tuple( "nCPaU$aXle!8T9XP0jJVGXKpGK5WZA\\pkWZzHPD7HD\nlXIm34DE382pK3L*KAZKP#SEVVIf*120*q$2(7riVQL%%k4qNibC@htcek3n", "\\YQgq7R)MCG#^mFo)ZgceY0JHqWKEGMfPzfdZAjkHDoTC=!QBcSZWbwvstLllvh#Ig)PmVu9VGsZp^Q=ZMxY3GjF\n\nB2E5cDyy)V6"), @@ -7197,7 +8207,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "KDt*$Vg!jYGc)(D%W31Qg0aFPN&(x)ojS*R5zP$IPv4oDTs764Fn9(9y!dl2jRaRLKT-XwZ!j5ks9uQym\\*$-tg8Dr-XIHvmk$J\nWR8t3vDfYqVAu", "QUp1)tDp3SxOfCi^)dZEIgK&S\noevskA1Sk81^K%dbhv(pBbVIaCHO9QZj8w^qH%pV6-0GNSIiR1Daixr=yDOuMn6\nWb4uQlTTd"), - make_tuple("7vxUmt2JHK9X\nreugxWCSsy0hdY0ntnmX&%I*Ts!WO=BH2Jw#U0KRqOG\n9^7ap\\w^SvulLTM)b(rs", "\nWwxJ9a0%ivd70neIXwSy4)ag84P1-THl9jtv4W3vT$04!v6cfY3xO=lRT$chRQnFnKqqgf$rlN-#i0x4#0^G5\n=MiYenbSXmlr"), + make_tuple( + "7vxUmt2JHK9X\nreugxWCSsy0hdY0ntnmX&%I*Ts!WO=BH2Jw#U0KRqOG\n9^7ap\\w^SvulLTM)b(rs", + "\nWwxJ9a0%ivd70neIXwSy4)ag84P1-THl9jtv4W3vT$04!v6cfY3xO=lRT$chRQnFnKqqgf$rlN-#i0x4#0^G5\n=MiYenbSXmlr"), make_tuple( "\njP(r8(O8*!kZt3N#cnAP*(Atmi22u!P6bgXs5ld!O#N69T=6=sCLYGX9T&M!u8jS\n^KEFrt8hnmxjlp6!PhqZsVZcQXeG#@wwmYm$M0)!PEYA1-2Q6rv(c6U71", "\nfeg5tmn9QS%*dCXgH(bL$$#J=M3eWk=rCwO$VovZfmRg8b%O)Revza$3Fbza2OuItRiTJ4r@$(MGXi\\CW*s6(szc%5(f=e&rSt2"), @@ -7348,7 +8360,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "PrACfoQv)b5^C2F@vtJcXQCnEAvYPe5uvCU=JpLuyB9&$Aco(t5%2lrGvx-IsyoQm0zc*DqBVcYb%kIWB0R#wVK%yQLhXnP9M@CSrWPpan$QC#^$jZyx-kEUNYQeJ#by*ZSUO3ZFcSC\n", "\\GTlbh0Vc*&zCsY\\uQd&5rU0Xshfd3hQD8b1\nHE7k4IKDQa6v*6j$=Gn$X9O!59uCc^F6-yYCT-6Th)D1^8ENAxdrE-smPc4IdYQ&de"), - make_tuple("\n\n\n(yT56f@o&TwrFGml)fKSC0bXFTs9TsB3h#BqH\nWV1^Wi&gi-IfW@DLlaL%1s7tAMObN", "7WZjrFZ0YCtkq*&X!Z3#f&aThC4F*Aa#PG)!E=ayK2ISWq^1E9T(HpU)jxQuAu9F0#w8AG8hgGpT5z@w$ope!V-d6nF4\n5Xc)#P*bGE3il8mm"), + make_tuple( + "\n\n\n(yT56f@o&TwrFGml)fKSC0bXFTs9TsB3h#BqH\nWV1^Wi&gi-IfW@DLlaL%1s7tAMObN", + "7WZjrFZ0YCtkq*&X!Z3#f&aThC4F*Aa#PG)!E=ayK2ISWq^1E9T(HpU)jxQuAu9F0#w8AG8hgGpT5z@w$ope!V-d6nF4\n5Xc)#P*bGE3il8mm"), make_tuple( "f9NJhFUDFD83VJO\\d7iKP9uJhlSZ^rsF6S)F4vLi#4IR&(Nf2BO*DtP!7jA4uO-TE3QR(TsaV0)b*)DZs9qVU!8pr0xIMz*79##pdWnCYw5*^QWnk0", "\\AC-eQSBIWu6Wo5I#n#HnMa$4G)4Hr0)JCS9LvhNg#hIf6n=BBfvb%#(p$On@#U$l-g-K1dPgPIZt4EC396zwzHp5iEQ8!J*D0^q1PYBasVbcdbstf\\Phi6t8tB#y=jVTpsLl7aJ"), @@ -7406,7 +8420,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "1ES*7=7=-3leKq#66XS!VdCgj7Sci(rPVE@6$JEnV0QQi88kBuR8C94zt%)DWrZlunFJ6C4CRR@K7LBJ9VGPrJDRpMb%v&YuETG)KTEL@q(rY-A=V-pXkAmQzvLOjx9Hfqo$NAttmA&qaM9GTix!mfs$fIZ)PA#XiGUu5k99f53WX", "zB*X1aSUxv-#g6tNvdTKxlE)6sN*gLuB!G7NoTX0DzcSDd)DT(XwiikIemnPQgRR0ZoV*r438Tp3YK#ruSA*c-i%EWo9kAtIsdzP!!lIC^FSR^hxdqmSZP#^WrSq\n"), - make_tuple("*41QYkkBklGD9&3@)#wDMxe@HUJ2=2\ns5HVq3xGCEfq)nRL(4pQvZnpJaP&nf!wTR3KljESlOF6#hb\n$YOD34yoV-%5S37Ux(ytgtC=)IQ*\\", "hcY#6#blZe6^6V#c-JcN\\\\6lJG$vN%TJVz^Pjm17=uPt27uN\n6(qH9iN@QR#poWy1nQO*\\"), + make_tuple( + "*41QYkkBklGD9&3@)#wDMxe@HUJ2=2\ns5HVq3xGCEfq)nRL(4pQvZnpJaP&nf!wTR3KljESlOF6#hb\n$YOD34yoV-%5S37Ux(ytgtC=)IQ*\\", + "hcY#6#blZe6^6V#c-JcN\\\\6lJG$vN%TJVz^Pjm17=uPt27uN\n6(qH9iN@QR#poWy1nQO*\\"), make_tuple( "iIBRHuVvj-DN5Q5kj)fqpER36\nCoe)BiAC-6PRZ^J1#EYK874gDMX3U*p8SM4EIW*x5g6XDFr!hco=#0Kc$d5fEwulzlb@Z%7sHfGC@(pVHUs3)&=zRy#*g4UbDS*8jGgBj8B&8^u4E2V", "%j=v5qabP1dn%DBjlvNbHkyECA$7M6S#cmZl*gTpAzP5HTxG6s$hsef6O5FX2Zz&9om%o#syYIAnf4cA83zCixPySCd%S7Bhokyqviivf6E8ENYY)YR4JsqvKxqRbqBfDTY\nJ4XC7!qBeg6g%\\"), @@ -7485,7 +8501,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\n-fmbp#6rsGHR)HKm!!44XR\n\n#8&ybynle6POz6NaG)HVGU$\nh7$AeLcOnBSF^qg$zzzD@N\\DCC5C#EdFVEUUe&cU^Y&t6M=91my^FRm3", "Au%&8AJZEh3lb\\MKwSG2duv@Apofl25F%bPkX\\57-tL5Pdmwd(ABcLb2pVJvqYZ$X7aTnwUs9E4-JCP$t5JyRZdJ!G-=#Lfs00ke#hjnRxX6#pS(I@0#=aC)p-D*os&Fe4%*AmXTE&7#ux#yRSF"), - make_tuple("gr^s1MOLdhW(5wbTpC)KzHKkz\n\\OSctILc8c$E@h%PFlz65Q=LHx4JNS4Sm&5tlSxYWE$kDwf(Tc!7fMvQy#w\naZd$hl*pJ6cha7)f", "r0X#l4B6aUihQQJ1-Z%jgTyr)f6*Ua12eYC\nBn=mM9r4K)EJNgG2Rdr$K!#68h2mioTffy7DxhEM5yRT0AWM\nU(km1KgHtzQqnGmt&)yO!6aYDbMRv8XmaOciA"), + make_tuple( + "gr^s1MOLdhW(5wbTpC)KzHKkz\n\\OSctILc8c$E@h%PFlz65Q=LHx4JNS4Sm&5tlSxYWE$kDwf(Tc!7fMvQy#w\naZd$hl*pJ6cha7)f", + "r0X#l4B6aUihQQJ1-Z%jgTyr)f6*Ua12eYC\nBn=mM9r4K)EJNgG2Rdr$K!#68h2mioTffy7DxhEM5yRT0AWM\nU(km1KgHtzQqnGmt&)yO!6aYDbMRv8XmaOciA"), make_tuple( "ehs2Ibag1A=hKAu(TTPFVw)rf7DdfH\n&bAAiUN#bRsS^BFrE\ncG3!G0GQeUHF%Nnj@G$84T-igzpq$5(o6o8qX-UHd@O0@kiR-mRa&R3M0nlKT%UD", "JZOb#4(b#QZ#OIiQGP84d9*IEkGHKUe)Z8NHRbemxqyirJHsq&NdIiznr(P\\\\lfZEMo1yc7ZSmgmuNWXdonbJbG**Mq1BI6-&4QxjXmn2%SUuB&VX\nAcnO-X^M1*wc%VUVCi"), @@ -7531,16 +8549,16 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "C8POEx#qa$bw#=G\nqkq@52k**ZyfY\nJ)$g(u(4sgI9$*!qRHMgk$eZ)3E!)bTCSPMo(^YL!q&@PWc0RU4SRXnOyRdaqfBMnfPVtfM#NslE(7WEUv!ekVIunyk@BnbSWCyDO", "Dr7cj^Q@ah3Ox)@nNO&J0ti\\CcK2qP1rgcCRcU1djd!sCa0krYxjUC\\3zQn-vV@&m5N7Tn\n\ng0jf-ZCU"), - make_tuple( - "\n-%uq$CQnk=68xNuIb)zLkD##Sk*oKM\nbri2phXjW*978fUn6vD#bSLLkpvmVy#$b74ziLNuaCA1MoahWUN!X)UL8ZRdd*zHnm)mL$$MB(XuwvyQ-MVEElF(=W^h#ewCek%S@Q@Lt", - "xk4-lsd4b)R(9!h)0^WFqpbJQDzIf@O5)m9nU=BFg11JO\n5-LKHB1u4\n\nM@XyNpPZ$NrmpfXs^Ha1ULcaQ(go1ZG*W-t*0#Ir(nO0&xhDBB&PpOoVCH1maj7g6q"), + make_tuple("\n-%uq$CQnk=68xNuIb)zLkD##Sk*oKM\nbri2phXjW*978fUn6vD#bSLLkpvmVy#$b74ziLNuaCA1MoahWUN!X)UL8ZRdd*zHnm)mL$$MB(XuwvyQ-MVEElF(=W^h#ewCek%S@Q@Lt", "xk4-lsd4b)R(9!h)0^WFqpbJQDzIf@O5)m9nU=BFg11JO\n5-LKHB1u4\n\nM@XyNpPZ$NrmpfXs^Ha1ULcaQ(go1ZG*W-t*0#Ir(nO0&xhDBB&PpOoVCH1maj7g6q"), make_tuple( "dV@jLZYNW^g@OZC9eH6Q4TxPSloNiXX$P$bz5Wj0F2Lyi2T-TzCjShrQ-4XOfw@7SOm9R^1C(XE\nMFvRxo#(tJ2WR64Y@322Aq-H7=LATP3AnWGI28zV9V4&$JglWihI@o\\", "\n\nM1FZx!FNp4r@B)X!gEo-E(N%^kY%T9HZDM#w0k=l^JWRsx!J#A6AiW\\\\L#oqKY@yMKQ)WF&@kAv\n"), make_tuple( "\\)*@N#*JEl13vkR%e$LwjGh7NORIR6bYZlrMn9%51an@$wfZ51Rg7!VhYyxUweehWE*fP1uYzJvLXGlo8Em#f2K^8Nllr28C!=9$q@LQ1\n\n", "8uBRitp#T**@msSo2x5(Rj#kdlFgJKNLeaSnA1BHD-2c@h$uB7CZnjrRWKq)MHqap1^Z!(FZb\nN2sA!P(QdPWd(E$J$#Z%t$VIsJmCOhRLR0CQ-tjnypNybQ%1EwYp42\n"), - make_tuple("#arYj@H9CJ!fdDVSqAf4lwm66&lc1!WzoNg)RGmdn=4lg1$9P4#5fInreE%g^Yz6M4AcYzdmX&\nF(Q8aV9zo-pRHt3jQWGx=AwNFcDZ26vu=iOYpisSS\\", "\ndm*g1u9gGYv4l3q$QmZQYicTmmulP1WCGU9smly2!FqP62d57)lu)g*!6IRjUe*4c*16-S9wB%Csh6BRMnZ7ANSM00L\nuTiGPxyi!#wemvpMaQC7K\\"), + make_tuple( + "#arYj@H9CJ!fdDVSqAf4lwm66&lc1!WzoNg)RGmdn=4lg1$9P4#5fInreE%g^Yz6M4AcYzdmX&\nF(Q8aV9zo-pRHt3jQWGx=AwNFcDZ26vu=iOYpisSS\\", + "\ndm*g1u9gGYv4l3q$QmZQYicTmmulP1WCGU9smly2!FqP62d57)lu)g*!6IRjUe*4c*16-S9wB%Csh6BRMnZ7ANSM00L\nuTiGPxyi!#wemvpMaQC7K\\"), make_tuple( "\\\n#IF&IL\nO1--7EkCJyA$Hkum4^cU6G2(w-3Z0hXJTc9fM=tJa@=2P5cxYVix&LmnyzKK$NT%UDXZ&G(!7M", "0=f26eC#pnVWvBIbuf3IxBI#0rkONH&T*hOFfnpVpysD4s7FCRbSlC1pa$uIi9EIpXIjhx*23P*8Oz%^6niMNRh%Crw%uEEHpnaGDvFz(lLH6gg$tH7!1&!ox#@ydk^Yu\n\n"), @@ -7604,7 +8622,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "4G-cdw=c#cNZ^^(D\n\n\nGLa5qG\n\nC$H1JE-UIwWlh6Em)zRaWO8H!CEz$i\\", "jVIhA5l81B4vGjIWMqI-EcdockqLhqEnDuikSoJD90R8$@ETSHrt2#3o7QeSk$c\n\n%aKxwSQM#5B3rAK\n\\\n"), - make_tuple("\\\n\nfJE9ZCSA(FSuyO2!MxbdrIhhSHK1TiOEHI7@g=i$d*CSzMFxnngx\\\nIl6*Ht%HEE", "NycfuBoMAM2b=N(&(C87m\noWSlW6GkW8PH62tlbavqcixOFiHa&TJnAb1SUgk0305CvtVOgUlFu\\*dEFobE-EzMXwQXqGXr\nNJl1d"), + make_tuple( + "\\\n\nfJE9ZCSA(FSuyO2!MxbdrIhhSHK1TiOEHI7@g=i$d*CSzMFxnngx\\\nIl6*Ht%HEE", + "NycfuBoMAM2b=N(&(C87m\noWSlW6GkW8PH62tlbavqcixOFiHa&TJnAb1SUgk0305CvtVOgUlFu\\*dEFobE-EzMXwQXqGXr\nNJl1d"), make_tuple( "gHsfOHY%tyo%8M@cwmydo8=6-p#in=J6e!YRHUDd5W&ehIP*agGeN1ag!RtdoIL9A5BhrSNVpzYepGt&6HvjoHlLdKpZFs=$5orY=y$=bILa#2b@wlNJ17CDWTs8(Yc3bbNp11MN=NHaPlYmXvN-4J68*tz3Gy(s9UiGPI-BD&oMlpK^)", "\nS&S@lzmnm3jE(Q81rF9*O\n\nAasZaC2gM$1iI\n\n6=NFEV9X3SdtWHBwCZ1ccqQ)=@#3=lI!Qk@UVT(o@#"), @@ -7656,7 +8676,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "Ih-wD%C8PCYGB3ODoRJoV3c84(llVCFI\nO!F@v13&EvK!\n\n2Qb^*wuX!5=0VJVI@ry=%e9k@Wmoa5a1eZ^Je1X9N)b=3*vipPaduuXEPyI!", "\n\\FDB*C*%))mwaIbjbYm(EAGdLRrQjfRc%gx3sJ5YO%c-$-Zp9lAQ1buhP#C\n6oC!t8B7*D8^IlFRCnb*K=2*#njQZyO&GU%ug"), - make_tuple("jgEJvYIp1&bqw&sn1Y70De*n%vMYSHZ!QCIkY*3Ny*gxtj7JhYY7b-h3)H2V@AQ)R6!J7$E0YB3yc$c&v&N0Gl*OUSW\\\nXFS@UbdmFqKVVmxRIg\\@)1uE6SkCIS@rkMevnGh@^jT", "jo-!e$%$Y@NBxa56M^uUFb)c8hK84n4WNhSNhvNvkQ*J=F@KKEqf=H-Z$v)z9vrN$3\n0(74tNo@YJ1dh\\\nDE^a2I7QueMrj=ERQ45PStgHeNhIWWag33"), + make_tuple( + "jgEJvYIp1&bqw&sn1Y70De*n%vMYSHZ!QCIkY*3Ny*gxtj7JhYY7b-h3)H2V@AQ)R6!J7$E0YB3yc$c&v&N0Gl*OUSW\\\nXFS@UbdmFqKVVmxRIg\\@)1uE6SkCIS@rkMevnGh@^jT", + "jo-!e$%$Y@NBxa56M^uUFb)c8hK84n4WNhSNhvNvkQ*J=F@KKEqf=H-Z$v)z9vrN$3\n0(74tNo@YJ1dh\\\nDE^a2I7QueMrj=ERQ45PStgHeNhIWWag33"), make_tuple( "lqqvdwEAAB\\\n\\meGQ)=-Nyg8p(7V=m(%d6PWesABS7ZSr\n**X=uvtN7yR(3LX#IPU$6O9s3", "k0MZ&9\nemX@cijEf78o!u5FJ&NTeR\\zdlDUimsRPWrXed$qrPaH$EVNbRO^!g%aBnTW1d0v1b3WpxbRpMyI*dowbkI"), @@ -7717,7 +8739,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\naQCG1aqs\n24&cbrcOgg^=!^J\njMVZR^)j-tANPO51iE\nc#e(nL(bK2yAVyIdT!d4vEJHl@TtJYfS08WVTSYm)QM#Wd$", "Ch-B9tCN!sXmTG(BN4ffyfKERH9z-Y!Sju#e=p^$#^!yzAMz)fgKZZy^$XYEVrPTrSEAFost&7&\\SOGi8ufg7!Zsc)7HSKATiHR\\"), - make_tuple("t=9cRaa@V!dkTew3W*9bi@KiCS1I@T)xm\nYGj4wP-)-b%(a#G#hFZ@QbZh7*y\n\nyS6s\n", "\nHC*7\\\nHYNoY*Pfbm!xH$ts%b1n&d4WkH0#BOBIlOe1)XI3*RJSbBY^Ui!($!VpXW$$2fz@i03z$4YRl#3!0f-3g7z1H0R72Lbf@Mln@bdxflGCBMhZBPYM9-j!zep"), + make_tuple( + "t=9cRaa@V!dkTew3W*9bi@KiCS1I@T)xm\nYGj4wP-)-b%(a#G#hFZ@QbZh7*y\n\nyS6s\n", + "\nHC*7\\\nHYNoY*Pfbm!xH$ts%b1n&d4WkH0#BOBIlOe1)XI3*RJSbBY^Ui!($!VpXW$$2fz@i03z$4YRl#3!0f-3g7z1H0R72Lbf@Mln@bdxflGCBMhZBPYM9-j!zep"), make_tuple( "J0MCf)O5lzSdT7ea8j6U8LI9#z6%&KqSFqlk2wmwl&*wc(FQ3GJeX$jvOzwl6qjUlyaOxn\n!(9qRW4r\nw&RQq!IbBFVia)sU^HW91D=zzyU^rul!jJH", "e$=UshWYYiIgjeo!x^La-wABJv0X31nK)j0\nUisGi#olTqAHc4&zMoa(1NwxNHELOkGBm@TryGu*s7kQh)SN\n\ncf=YmM0d0!-kBUO"), @@ -7817,9 +8841,7 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "s50o3KOj452vvzhjOAHe=WSLfPboWQ*d42896tr4qhbA2@9XXpCrco7#4ABwjF%YPsH6\n&4l6%o$Z4Oj$Fq*Mq^P&QKvEGa3x8F0Kq89y9it13", "\np=ZA-W8yCl=lVHh2z=\n#uJ8EmrTr&S=qO6g!UQ-nfX&sA7\\#F5h!^p1d1(s&!Nl=M^cc0!o=AOVm8=Iy8&PgAJn4ujY!Zq4TN"), - make_tuple( - "\nHIlHB0eQ#FuR@T$Cdz%AdSnTu#iA-nbGU9(6nP!Ew*Xos41k34\\\\3Rz^6LEJ(n&6518uhSb$Hj&MDdC6pPdzfkBB)q*LT3M7\n\\", - "\\\noox*=DgMc7#6jF1NTesGXpUVXHnQ52hD7PkzmS=Or%AIG)L6uuDrKWA98FnJg(E#^\nIWNXR(tWlqUJ=oR&9JfsUdRS=vpEnBzOU*UH(R#x$)BA7a!D"), + make_tuple("\nHIlHB0eQ#FuR@T$Cdz%AdSnTu#iA-nbGU9(6nP!Ew*Xos41k34\\\\3Rz^6LEJ(n&6518uhSb$Hj&MDdC6pPdzfkBB)q*LT3M7\n\\", "\\\noox*=DgMc7#6jF1NTesGXpUVXHnQ52hD7PkzmS=Or%AIG)L6uuDrKWA98FnJg(E#^\nIWNXR(tWlqUJ=oR&9JfsUdRS=vpEnBzOU*UH(R#x$)BA7a!D"), make_tuple( "&oZO^M0*sYjjUbrSqZpSbsT=1dPymC%lq(pm!AaVfZrSl$TZRO7VK0PNLmLsyanS&IDHlz1SrocDh2d#*ytJzm%GPepaVuCz5mAAk4f!4D*EAh\n\n", "t%XmC#JqdWHVzBP%jH(Ql%1$\n!nb0m5NDXah)Q*X@F#C4=jijjMCFO3@f3bgPwYgV6GJnz5CPmsK)FfV#v4hu8rfhCWldU@FQn@dR7-Q5($KpOn-4\nw%ZxjQ9b73NZz-oFLyXG8e-bLgJjbir3PsnQ=@"), @@ -7853,7 +8875,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "fDk!SO&X=o&RBTD^qV&!u\\\n\nY$*A3QmEG3R8BCem\nXMBOe(qddSx0sY4GZk3KP#oMwk#vCjAwLn1Cqzh)l04d=@PAKyswiH^F&l%QhzRNrl", "jj%GnNbXz9J-iNZHkz*g34c&)lwx\n=mG5v6r\nU9CLb7WKuzS)TN\nAr5wwV\n#L#vp"), - make_tuple("Gjtrm$DkMmLWu*ybgFmUWTx2wkK3sCCzFm4Yf8m&dIOd^hQszzagotoX!ONvD\n#^2e4\\#JOPy$mfJPN\\i2oD-", "#UM!tZFt!1cbyGNx=\n3LmeUu5ZI*o#M==#k-EM\n\n\nXDWy#Mr4cx9J3nApfvWX336OFv#=OqkRMUd(j*-neXxm8Okh!wIo4waR7$O"), + make_tuple( + "Gjtrm$DkMmLWu*ybgFmUWTx2wkK3sCCzFm4Yf8m&dIOd^hQszzagotoX!ONvD\n#^2e4\\#JOPy$mfJPN\\i2oD-", + "#UM!tZFt!1cbyGNx=\n3LmeUu5ZI*o#M==#k-EM\n\n\nXDWy#Mr4cx9J3nApfvWX336OFv#=OqkRMUd(j*-neXxm8Okh!wIo4waR7$O"), make_tuple( "e3itjqc\nHVES%3=FCQsCsKLprvvhl\n@h-DFT$S3F*kAPxN19!Htj0w-Qt6^dX-E*k%!\n\\\n", "R3FR2Km^%mG\n\nXVocjRahbxksjqE=irC1=R=$*3H#xdn((=@Q#QjYm==kH(wU1$-gqPe\n\n7k%wLW@1EkvqMsmsMn3\\"), @@ -7914,7 +8938,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\n\\\nWT@=Qv7\\K4@=$vz$82B2hbkiTUh98QlgOIiG1A3CcAUGEesJ$Ni=PN0\njZxL9KXaos-ZW&7zX8&9lixh", "\nBJ*CCK*#@VUh%adzgUyvYtb0il9Qce6b@NHg3%4&AM4YRuy-qF1ezbz5PqxEmNOr(kRQUP3z(1T7Z\nLMmLKrgTZcL1wLRldB\n"), - make_tuple("z0EmoBna!L*Nh!hGUlNyKE3wj-Rh%t3a3@7TuHsFpfh=EThKMOGjWinxi4=(QXz0a=@gk09ZZItq0ahk^uOmedZNO74wR\nEsg1W)DXGJREF&*\\", "wrfZKU^IY(vd\\SfE8hxw3&7tjtf55mlk1=PMY()7-3lkhdONGF=E%P%^-*ghJWJ9x*5Xdi#crF30GwLzQ4*lRoK\\sYmReK"), + make_tuple( + "z0EmoBna!L*Nh!hGUlNyKE3wj-Rh%t3a3@7TuHsFpfh=EThKMOGjWinxi4=(QXz0a=@gk09ZZItq0ahk^uOmedZNO74wR\nEsg1W)DXGJREF&*\\", + "wrfZKU^IY(vd\\SfE8hxw3&7tjtf55mlk1=PMY()7-3lkhdONGF=E%P%^-*ghJWJ9x*5Xdi#crF30GwLzQ4*lRoK\\sYmReK"), make_tuple( "\\mAnmtToD-\nXeInPp&25)ysLjsmY8C(%sC@-iPH3\\m0t5j(apBL@7T953q4ROb(d=B)5fhBMpH\nmspvlU1XQ46ccSNGYnOWj", "\ngeMJU\n\\\n\nwb1Z9WoIo8RwtdQ2rZKanJ^x\n3-lKpG0E*#wXEFO5pQofM0V"), @@ -7987,7 +9013,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "LC=NWi4RzYURteB^Us@mS*^%U0v@4d*Uke1jE\na#j6ltMLE7J=JzXLs6nIgN1B@oKn6Ri5HtFbINSyz)f3jK%U569k8vTFN(sopTOcFy-EgE6%GSqFenbo&3", "\\\\\nlWOKUX=pvrXdka@WRrldggTVatjPnGZs)N7)C5@d!8%Q9)cooqI\n%ojHA^rPAMKST1uuj\n"), - make_tuple("^7sj7^kKF#qCNd7(G6)xa8!Ii3iUC$Mle^s!TJqg*QYk)miVjV\n7PJ6D)x%u8af4rtfFr444@@vMd#@nDoTJhiY$bSOd=(J-R", "8qnNq@P-4pQ02QQNT9cfk5h=xio2MWnaJiMBez*@QuY%m6zYi1nby-@!6Ee1Fr9H#&NqBbfCwiT%EqjbPq==hT-t-%nNL&)-V@toxpM0H@QzJjVJ$PWb3mjmK=dR*s%=Sf@jwPRIbG%L6b\\"), + make_tuple( + "^7sj7^kKF#qCNd7(G6)xa8!Ii3iUC$Mle^s!TJqg*QYk)miVjV\n7PJ6D)x%u8af4rtfFr444@@vMd#@nDoTJhiY$bSOd=(J-R", + "8qnNq@P-4pQ02QQNT9cfk5h=xio2MWnaJiMBez*@QuY%m6zYi1nby-@!6Ee1Fr9H#&NqBbfCwiT%EqjbPq==hT-t-%nNL&)-V@toxpM0H@QzJjVJ$PWb3mjmK=dR*s%=Sf@jwPRIbG%L6b\\"), make_tuple( "\n\nhjcEVB(bPXK(htFH9M^DeiA4FFdiXqhWqfaaFwz\\\nav#Ujd4LKSk\n", "\\Y0QseZm9#Yi5ol0Fe\nOixfLQeT5G&4sx4a@b$%7l%jqcLg0*dbJEyPsRMQj%\n\\x@=iSO9!qhC7Jt-e-Qpn5HWEP8A"), @@ -8036,7 +9064,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "m-Vn\no(sPm-YBp9\nNeKAQD8Bh12B=*35oF\n\n\naO=5oudCj&\n", "\\ikAUjGfV^8&JxB2d6pDoxa34ih$zE7ak9G@2kV(OAS140gZhtv=VUweyXcZ@$kg&QOPzrXdPqJl6WNmrrBDLY%sD@pOgi66$n2C1hYgKPzVnFmqunXIrOzoa%WVU(cTni6"), - make_tuple("j*5MMqI-pjA7N4#QiSD7*Yxk\niUfV2L!Cg#!ur=cvIHC0CQrYLHuQ%7sNijer@5JNtJZYMi#=Wd3ldUGaD$2$wAf\n\n", "\nTx%ZG^KGwr7!#s)C@wwSp&h6j\nsRQV2l1\n*udOEf-mcBYzrKDN7\np1iTlz$h=YHB1xk$Kdts-9izCUARkc8z"), + make_tuple( + "j*5MMqI-pjA7N4#QiSD7*Yxk\niUfV2L!Cg#!ur=cvIHC0CQrYLHuQ%7sNijer@5JNtJZYMi#=Wd3ldUGaD$2$wAf\n\n", + "\nTx%ZG^KGwr7!#s)C@wwSp&h6j\nsRQV2l1\n*udOEf-mcBYzrKDN7\np1iTlz$h=YHB1xk$Kdts-9izCUARkc8z"), make_tuple( "0HFcMtck!vnHHjRYMIbfjfCtqo-!@duHUL@Ar&-j39UAupA^F)KKeA5Uv!v1tqo5CMiVVjQ(OwQBFC=x!H-HnW%6GTJcVr#kKL4XhkTjHdMuZi-6h^ADyr8Igyd\n", "ZbsWdHlXOjoJMq1n$6OiQTlrEbm!wJc7Wnxp8XDCVmjqW6&!ac0SQ-dZKp4yO\\U6GSqPp1(ePUwwd0fkmmST85dJi6&D8nuRmVLyfX)9XJot(MFjLmpFvr2oT&g(XhOoLU"), @@ -8091,7 +9121,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "nv=VELGqZN&sMm\\ZKxYP7ifJ2s0hi)%ourbJYL7yVXapi=1@&e114\nu2#tvL#fChuokXZZ8$\nBW&$$75#HQ(FtNc)DpH#@plnTk&H3we5AH7lmjHzblZsYc#JF", "qk37&Q8m#*^QBeC#A*j6DWL)UB2c%5jNbTaQ6kQKamR)Y1C7TJ!(5SBHnHJ1stVM%XdHgulcNu-mEWhgy9V8U1denOcnxqXbIz8&J27q!-eWS\n-GZZBk"), - make_tuple("QTutHH&eFNU(ET=\nqhZ2BQ2B4B=6kDXOuSrIEwyZ^HhGq(QF9c#M4SfOJwc#F)!@VgQ(2)w0COUQNH-6RuFKM!%=\n)OkleqF7q2rtI)QL$3^r=a", "(Yy27(Rs3$a58H(J0\nqa9X$m7-V-47ppsH6=FEeTA^8Mw\n-6m1Twc8)IC89Sw@)X@iMY\n891YDdY&LH2Id6Cadr*7TKWfzd3n"), + make_tuple( + "QTutHH&eFNU(ET=\nqhZ2BQ2B4B=6kDXOuSrIEwyZ^HhGq(QF9c#M4SfOJwc#F)!@VgQ(2)w0COUQNH-6RuFKM!%=\n)OkleqF7q2rtI)QL$3^r=a", + "(Yy27(Rs3$a58H(J0\nqa9X$m7-V-47ppsH6=FEeTA^8Mw\n-6m1Twc8)IC89Sw@)X@iMY\n891YDdY&LH2Id6Cadr*7TKWfzd3n"), make_tuple( "8vJ-QS#qVUDr$=T@xOL*c5ox$tg\noLBX4C=QQ\n\\\nedGjO9dDKE80%@dvF512Z(JSXM%Qqz=", "HNwBUH)MGwwN9tXnHvq#AM2cWqw3&VmGJobMxEBj55Mvx&gNvwh6yHT3uMV1Y3^xHOYwFhF3sZ%2^VVuMAzJ!E01Ksd$@BZEZ$E4^Da7P5P\nLwSGSofEF**niF-i"), @@ -8143,7 +9175,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "g%F054@PqDhe@FnU*3$iKLu9Va3xfMaTS2ORSaZcoDD90z(X2SK0XTqIEx5srs8IRq\\\nTSz^jx8WYWO5YpQWqVZ5k3\nTrj6JSIV3GuOFUm", "qvmccUHHsh%kU(bye%mZ!\nbwxB!xQMdY43C$dcWshSC8j3KL(d2RRQCYZaCGge-$c!rioxsd68p5u0r0L^qhiXYSmGX44m((93p^pekK5DAtg7$AV^yoFfcn2aK@pE"), - make_tuple("\nfBVUY0x0P5N$yq=u%#ov(W&J9pSY6B#ujf$X4\na3Yjfh2OM4gsknYlm5vPks1O6keXrb%tOBL1hwfsx1#5SSOq6O%@ty-xt*gPqK2yojhB2KK&HP0", "sGG2PML^40x85zqR=ml7LJvFTeq9YJnd71N\nkOi(005#l5kv2&NJZM3aUwT5PP143Lhsl)uXafjLyCKLuQcVgw)nGj&qQJP0(HBdrXvTJ98G*MdPs3b)m-j3ln46SxfKUAY\n"), + make_tuple( + "\nfBVUY0x0P5N$yq=u%#ov(W&J9pSY6B#ujf$X4\na3Yjfh2OM4gsknYlm5vPks1O6keXrb%tOBL1hwfsx1#5SSOq6O%@ty-xt*gPqK2yojhB2KK&HP0", + "sGG2PML^40x85zqR=ml7LJvFTeq9YJnd71N\nkOi(005#l5kv2&NJZM3aUwT5PP143Lhsl)uXafjLyCKLuQcVgw)nGj&qQJP0(HBdrXvTJ98G*MdPs3b)m-j3ln46SxfKUAY\n"), make_tuple( "\nyp#^BflF@tEVeLBcLqd)laS1o^vcn\n\\D#E6)Q0HW#GgmIv9Fyca(QJwF67ns5^=&C@-Tn=9&OCOSpq6H03U46G!", "\nx!fDTQrwV5dWEzYmz*^4MsjZEp*xm)50*C-jfGFRdW6ut&FL7FOj\nZaaLEnK%nmjku&EKv\\\n#eeKcGccTJFSvA"), @@ -8222,7 +9256,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "0JkUr8O!^L*%&nLZmE8\nWNTbYe\n\n\\DOvnP^Pucva-X3Fih1)=3eisS(T-7@#!FC2$THTiNtCK1mBygwQjcCk\n", "NeY8TL)rbaHGO-C!-\\\\*jQx6c)aF$Pz@GPb#x16=Mfg@V&HMhPPq3a#DL\naZEZew\n"), - make_tuple("\\8-p&(FB)uqrrPeRchCVOhq3^2urS@f2XCZ16S*Ep)meOL80@R9x7j)\nmy6$1@q6w@ZdVTSyP8dALP7Z2jV9aH*qqKK6\nw=k)WNVBIGD@wb%f", "RLbyKFgo&qkA4H8ppPyammxL\n\\hH0#hoNEw%S#7uz=n3GK9xz=ul2Hkd4F\n29pFSN*Nae\naVFPofpL$S%%y01W8t^E&Rx@H-xsJ2VUJ$667nAnN1"), + make_tuple( + "\\8-p&(FB)uqrrPeRchCVOhq3^2urS@f2XCZ16S*Ep)meOL80@R9x7j)\nmy6$1@q6w@ZdVTSyP8dALP7Z2jV9aH*qqKK6\nw=k)WNVBIGD@wb%f", + "RLbyKFgo&qkA4H8ppPyammxL\n\\hH0#hoNEw%S#7uz=n3GK9xz=ul2Hkd4F\n29pFSN*Nae\naVFPofpL$S%%y01W8t^E&Rx@H-xsJ2VUJ$667nAnN1"), make_tuple( "h^T7ak34LOjwf38iWV3UF&ARZENh)UGB6FIfiG!RHxlR4t)X3XoD6TuMQrur)OMX)kBKPSMVfYOWeIluzFe47bk)-ETUCkzNYdkjcQ2rdTEAQpA&^D^$Ah-HoOYawLhozVULahGd)LZyk%%uhnQHiYxZR=jN0D\n", "Ey*y10Dy2H(=8sRkOcmR&28PTghd9opVXyrYjqH4Eug)e^hZE*&HBx*O-43T14V%*h#0-2sJkG\n1odZjtD&o&2V=XYUDVoxtCs(Dc3nK@uUh$n@yw!d8EMarAysEuA#r3cGJZw1aCuIHLd"), @@ -8283,7 +9319,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "bOsgsCy!NG*WUrbo$C7^&t5\nijKhMLXewuNwslbvzU$e*0YuMVhWcmLZZ8*IeX^t&L$M=$P7BoV=GMjzg(b#tk*7AOagW1I\n\n", "\\kbauzxE=)$)cMmY=8yMvKqH\nc@jrop%j9Keq)Q9#Ufo7baC92QFeZ*-LZgL-&C7PYI5)nAJu#@pwlil\nEHvWTJScM%tcg#(&kS\\"), - make_tuple("vWva5jStcQmmWUH-mwvm9KxDS\nyyutv0BmMi5Wj45bXd)-JB@Oy8PkB5gknXwL02dgR(7O$4-6cAjl@@fnPkbJU0LKd7zKON6Hcv-CwP=fIf^4iME-mfw\\", "rzpYEEYc8Vp-tQhvxlY@beB8g%mh#!(oF&O*ji@j)Wa*RK*j$L\n\\!zfZTo(1=mYXmwH2ZrOO=5)ry@3k29r9q&Y#DDlOXPw(v&sFDY3pU!0W$tFanI-gNf!w$i075CeP#^^U-99LtK"), + make_tuple( + "vWva5jStcQmmWUH-mwvm9KxDS\nyyutv0BmMi5Wj45bXd)-JB@Oy8PkB5gknXwL02dgR(7O$4-6cAjl@@fnPkbJU0LKd7zKON6Hcv-CwP=fIf^4iME-mfw\\", + "rzpYEEYc8Vp-tQhvxlY@beB8g%mh#!(oF&O*ji@j)Wa*RK*j$L\n\\!zfZTo(1=mYXmwH2ZrOO=5)ry@3k29r9q&Y#DDlOXPw(v&sFDY3pU!0W$tFanI-gNf!w$i075CeP#^^U-99LtK"), make_tuple( "j%HfRv^2Mu0@1Wp8IE^a5b@TZxZ@#zjd\\c4)@5%A7QAlSCpTj7lJpuwB2Gp8AHpe#c8-^j0TsCa3mFXPTz^H\n1=37S)9FtrsC)#", "NaIkycvvuHyuwgTUBI8PF^USIgi*47U8JWi%xme5V!hBP)18LCNGEr33@ib*E#@%&!8IA3!)kTN6K#p\n*z&bzCu40bnKWvn)QZpoyg#zieSce)Npa%lPJmFsb&qzL8J7ldJXV*d4kR"), @@ -8350,7 +9388,9 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "uMu019MWATGYkdmRJvEvL$qV7$3KSvFX0ropesoAbeaYL7pyR=iV&m*%)-i^CvfxD9EU^ESG-pPtmg*txXQAvw2iC0S%4S4P\\XL3C2P9E$vC4t0k7a", "Jjy#-l14doPNCv3eJ8SY-flv%@ku5jVW6WzrZI\n\n@ACoH%dtjEL6T2bJ\n!oQEono@e6x977p56bf\n414zb2XyuGQ"), - make_tuple("\n\n72^1J%KN4Yyk9twQ1o9HcG\\8@4*XEqI7wJeltsU8uNd0I\nyiJGPZP3NZBSSx5H!B*=xw@Jo1WBlacvvlGIr7NQk#=g)y$h&w#WCG7s-8S", "pzzGk3g323&ewX48E=LkBM6hT)YbH5%&o4(*t=FBgax32Ks%M!Qw0JpuR-$E1bDPmmf8T-4Uiu5oT0DDNBJu8\nO4#M49^)*SKd@ay(JayV*v$mMRJngXPolsk4y%eF\\*EX5#&eJs-(QbFF"), + make_tuple( + "\n\n72^1J%KN4Yyk9twQ1o9HcG\\8@4*XEqI7wJeltsU8uNd0I\nyiJGPZP3NZBSSx5H!B*=xw@Jo1WBlacvvlGIr7NQk#=g)y$h&w#WCG7s-8S", + "pzzGk3g323&ewX48E=LkBM6hT)YbH5%&o4(*t=FBgax32Ks%M!Qw0JpuR-$E1bDPmmf8T-4Uiu5oT0DDNBJu8\nO4#M49^)*SKd@ay(JayV*v$mMRJngXPolsk4y%eF\\*EX5#&eJs-(QbFF"), make_tuple( "\nt4o*Q3(TSTQ21*y9b%D0FgakzZc=nN!YBuQdDit%p8lyn=)sa0sarRXEzdfMeUt!jE0(H%-@yYv3kwxTx1iOu%6A49am7QWjlh9vD2$c9EDxCemY(dzj46nfhzjBzzJ^URWVMpvR6ia7aW2AKU", "\\y$o4kZ$aagPsu\n*wfZaMrS0NLxAPuTbCDu^WSa8KL1GRHF%@!G^uh4&RIvZB$JJoXp@D8n9znd%RnUO6m0OL%k00x(tknWndq-"), @@ -8408,13 +9448,13 @@ KVPair NewLinesAndBackSlashes = { make_tuple( "\nI$oG-3$#5iI3\nHHrvlI(KLuLv\\\\z#T0eiH!*CmB3v!\\\n%&gsss&mrm(WHq@!", "#T2C$$ooVZc24KK7!ROOuYZpjN2hvsOE151WN4PF44ZojC9wJQUqZ0vci$zWmQk4SEyJh\n\nh(aBTOS4!sPH8hR)^v#FqZ1kPavV(24=Qx#"), - make_tuple( - "=FVWVK%k*qJ5\\%J%3z9$NyBhadhxLUq#L\\z2e30#^%9X!!RiXGPHGO70@p(qXwf!cHYu!bWLh2wc!1gqpf#kX0McqAqVN\\fv9Gc1IghPAy%EkPgeV6zlrqwZ449S9r=SGE!c-!!)", - "R&!$jbd=QQZ9r5ma!VZ3ofUkO#mD0ifCCizG!lN5Nx!72!m6#GdquLAsVUBO8lX!ILDjD-iuQU@XWdB0y=XmAkAF^xXY#t@hPhe8s@D)jURa4ufKaNyKrqA8&p5=Q5Ka*&c"), + make_tuple("=FVWVK%k*qJ5\\%J%3z9$NyBhadhxLUq#L\\z2e30#^%9X!!RiXGPHGO70@p(qXwf!cHYu!bWLh2wc!1gqpf#kX0McqAqVN\\fv9Gc1IghPAy%EkPgeV6zlrqwZ449S9r=SGE!c-!!)", "R&!$jbd=QQZ9r5ma!VZ3ofUkO#mD0ifCCizG!lN5Nx!72!m6#GdquLAsVUBO8lX!ILDjD-iuQU@XWdB0y=XmAkAF^xXY#t@hPhe8s@D)jURa4ufKaNyKrqA8&p5=Q5Ka*&c"), make_tuple( "\n\n\\\n\n9!w5C4xU%!8SDy@$l5jfAx8#wdX\\\nVVV!$vFIo345", "nnj-QpCG\ny7S#qx1pOYn2c9q7toCsfK*YfACl\n\n\n\n\n9nwKMCw"), - make_tuple("#Su)sx!RGG-&QJ\\\n1f%qV!&aX$WVcUZhqd(qU=1C8*rT1*hw^lJc043GcqUyWZRyOGNHOFJYYa9AEACvQN(72#*prZOkegAa#8\\", "kr7T5=v!k6kI2Nlt7m7%QeBzOQ-H)U7I8yB9kaznzf2$St9Vdr20g\nwGjlO-Y78MFh7Q)L&3uYV5ymMx8fTkJzbj6bZv-d!5&eZ)-cuCx=##-29j9@c9dyMU\n"), + make_tuple( + "#Su)sx!RGG-&QJ\\\n1f%qV!&aX$WVcUZhqd(qU=1C8*rT1*hw^lJc043GcqUyWZRyOGNHOFJYYa9AEACvQN(72#*prZOkegAa#8\\", + "kr7T5=v!k6kI2Nlt7m7%QeBzOQ-H)U7I8yB9kaznzf2$St9Vdr20g\nwGjlO-Y78MFh7Q)L&3uYV5ymMx8fTkJzbj6bZv-d!5&eZ)-cuCx=##-29j9@c9dyMU\n"), make_tuple( "%SCe67NgNDtfHb\nz)P2xQPJM000yAVgFI6dCuXU5%A\nOEmD)yYi5!)%=cdiEkTIOSM*ZL^roAuGE4UHMcapJ0(0wUnlbgMaDG%IMj)11pu4RKVmWb%m6cYYXX*NY=HCoO", "\npsOai\\&G&WAD)KUIBWjgw5h@9VuX4#=PBdf=sE4P(FS1cjK7U-A*^jlhnRveV5E#a0^\n\\#8!@4(JD%"), @@ -8555,18 +9595,12 @@ TEST_CLASS(AsyncStorageTest) { private: inline void cleanupStorageFiles() { WCHAR myAppDataDirPathArr[MAX_PATH]; - HRESULT hr = SHGetFolderPathW( - nullptr, - CSIDL_APPDATA, - nullptr, - SHGFP_TYPE_CURRENT, - myAppDataDirPathArr); + HRESULT hr = SHGetFolderPathW(nullptr, CSIDL_APPDATA, nullptr, SHGFP_TYPE_CURRENT, myAppDataDirPathArr); if (hr != S_OK) throw std::exception("Error: could not find the appdata"); std::wstring myAppDataDirPath(myAppDataDirPathArr); - std::wstring myAppDataFilePath = - myAppDataDirPath + L"\\" + m_storageFileName + L".txt"; + std::wstring myAppDataFilePath = myAppDataDirPath + L"\\" + m_storageFileName + L".txt"; DeleteFileW(myAppDataFilePath.c_str()); } @@ -8589,8 +9623,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->multiSet(TestData::RandomRW100); auto results = kvStorage->multiGet(TestKeys::RandomRW100); - Assert::IsTrue( - results == TestData::RandomRW100, L"Read does not match write"); + Assert::IsTrue(results == TestData::RandomRW100, L"Read does not match write"); kvStorage->clear(); } @@ -8601,8 +9634,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->multiSet(TestData::RandomRW1024); auto results = kvStorage->multiGet(TestKeys::RandomRW1024); - Assert::IsTrue( - results == TestData::RandomRW1024, L"Read does not match write"); + Assert::IsTrue(results == TestData::RandomRW1024, L"Read does not match write"); kvStorage->clear(); } @@ -8623,8 +9655,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->clear(); vector removeVector = {"key1", "key4"}; - vector expectedKeys = { - "key0", "key2", "key3", "key5", "key6", "key7", "key8", "key9"}; + vector expectedKeys = {"key0", "key2", "key3", "key5", "key6", "key7", "key8", "key9"}; kvStorage->multiSet(TestData::BasicRW); kvStorage->multiRemove(removeVector); @@ -8665,8 +9696,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->multiSet(TestData::BasicRW); kvStorage = nullptr; // kill object - kvStorage = make_shared( - this->m_storageFileName); // should load from file now + kvStorage = make_shared(this->m_storageFileName); // should load from file now auto results = kvStorage->multiGet(TestKeys::BasicRW); @@ -8682,8 +9712,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->multiSet(TestData::BasicRW); kvStorage = nullptr; // kill object - kvStorage = make_shared( - this->m_storageFileName); // should load from file now + kvStorage = make_shared(this->m_storageFileName); // should load from file now auto results = kvStorage->multiGet(TestKeys::BasicRW); @@ -8723,25 +9752,19 @@ TEST_CLASS(AsyncStorageTest) { kvStorage->multiSet(setVector); auto results = kvStorage->multiGet(TestKeys::BasicRW); - Assert::IsTrue( - results == expected, - L"results were not correct before the persistance portion"); + Assert::IsTrue(results == expected, L"results were not correct before the persistance portion"); kvStorage = nullptr; // kill object - kvStorage = make_shared( - this->m_storageFileName); // should load from file now + kvStorage = make_shared(this->m_storageFileName); // should load from file now auto resultsAfterLoad = kvStorage->multiGet(TestKeys::BasicRW); - Assert::IsTrue( - resultsAfterLoad == expected, - L"results were not correct after the persistance portion"); + Assert::IsTrue(resultsAfterLoad == expected, L"results were not correct after the persistance portion"); kvStorage->clear(); } TEST_METHOD(AsyncStorageTest_Persistance4) { - auto kvStorage = - make_shared(this->m_storageFileName); // setup + auto kvStorage = make_shared(this->m_storageFileName); // setup kvStorage->clear(); kvStorage->multiSet(TestData::RandomRW1024); @@ -8782,8 +9805,7 @@ TEST_CLASS(AsyncStorageTest) { Assert::IsTrue(results == TestData::LongKV, L"Read does not match write"); kvStorage = nullptr; // kill object - kvStorage = make_shared( - this->m_storageFileName); // should load from file now + kvStorage = make_shared(this->m_storageFileName); // should load from file now results = kvStorage->multiGet(TestKeys::LongKV); Assert::IsTrue(results == TestData::LongKV, L"Read does not match write"); @@ -8792,8 +9814,7 @@ TEST_CLASS(AsyncStorageTest) { } TEST_METHOD(AsyncStorageTest_SimpleEscaping) { - auto kvStorage = - make_shared(this->m_storageFileName); // setup + auto kvStorage = make_shared(this->m_storageFileName); // setup kvStorage->clear(); kvStorage->multiSet(TestData::SimpleNewLinesAndBackSlashes); @@ -8801,8 +9822,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage = nullptr; kvStorage = make_shared(this->m_storageFileName); - auto resultsAfterLoad = - kvStorage->multiGet(TestKeys::SimpleNewLinesAndBackSlashes); + auto resultsAfterLoad = kvStorage->multiGet(TestKeys::SimpleNewLinesAndBackSlashes); Assert::IsTrue(resultsAfterLoad == TestData::SimpleNewLinesAndBackSlashes); @@ -8810,8 +9830,7 @@ TEST_CLASS(AsyncStorageTest) { } TEST_METHOD(AsyncStorageTest_Escaping) { - auto kvStorage = - make_shared(this->m_storageFileName); // setup + auto kvStorage = make_shared(this->m_storageFileName); // setup kvStorage->clear(); kvStorage->multiSet(TestData::NewLinesAndBackSlashes); @@ -8819,8 +9838,7 @@ TEST_CLASS(AsyncStorageTest) { kvStorage = nullptr; kvStorage = make_shared(this->m_storageFileName); - auto resultsAfterLoad = - kvStorage->multiGet(TestKeys::NewLinesAndBackSlashes); + auto resultsAfterLoad = kvStorage->multiGet(TestKeys::NewLinesAndBackSlashes); Assert::IsTrue(resultsAfterLoad == TestData::NewLinesAndBackSlashes); diff --git a/vnext/Desktop.UnitTests/BytecodeUnitTests.cpp b/vnext/Desktop.UnitTests/BytecodeUnitTests.cpp index d4fb513909e..4f2a6daf19c 100644 --- a/vnext/Desktop.UnitTests/BytecodeUnitTests.cpp +++ b/vnext/Desktop.UnitTests/BytecodeUnitTests.cpp @@ -30,8 +30,7 @@ std::vector ReadFile(const char *filename) { Assert::IsTrue(bool(file)); file.seekg(0); - return std::vector( - std::istreambuf_iterator(file), std::istreambuf_iterator()); + return std::vector(std::istreambuf_iterator(file), std::istreambuf_iterator()); } } // namespace @@ -43,17 +42,15 @@ TEST_CLASS(BytecodeUnitTests) { MinimalChakraRuntime m_chakraRuntime; static constexpr const uint64_t bytecodeFileFormatVersionIndex = 0; - static constexpr const uint64_t bundleVersionIndex = - sizeof(uint64_t) /* size of bytecodeFileFormatVersion */; + static constexpr const uint64_t bundleVersionIndex = sizeof(uint64_t) /* size of bytecodeFileFormatVersion */; static constexpr const uint64_t ChakraVersionInfoIndex = bundleVersionIndex + sizeof(uint64_t) /* size of bundleVersion */; - static constexpr const uint64_t bytecodeIndex = ChakraVersionInfoIndex + - 4 * sizeof(uint32_t) /* size of ChakraVersionInfo */; + static constexpr const uint64_t bytecodeIndex = + ChakraVersionInfoIndex + 4 * sizeof(uint32_t) /* size of ChakraVersionInfo */; static constexpr const uint64_t scirptVersion = 42; static constexpr int testScriptResult = 6; - static constexpr const char *const testScriptBytecodeFilename = - "testScript.bytecode"; + static constexpr const char *const testScriptBytecodeFilename = "testScript.bytecode"; static constexpr const char *const testScript = "function getRectangleArea(width, height) {\n" " if (isNaN(width)) {\n" @@ -123,8 +120,7 @@ TEST_CLASS(BytecodeUnitTests) { } template - void UpdateTestHelper( - Fn1 outputCorruptBytecode, Fn2 preUpdateCheck, Fn3 postUpdateCheck) { + void UpdateTestHelper(Fn1 outputCorruptBytecode, Fn2 preUpdateCheck, Fn3 postUpdateCheck) { GenerateBytecode(); auto correctBytecode = ReadFile(testScriptBytecodeFilename); Assert::IsTrue(correctBytecode.size() >= bytecodeIndex); @@ -161,26 +157,20 @@ TEST_CLASS(BytecodeUnitTests) { /* outputCorruptBytecode */ [](const std::vector &correctBytecode) { constexpr uint64_t wrongBytecodeFileFormatVersion = 0; - std::ofstream bytecodeFile( - testScriptBytecodeFilename, std::ios::binary); + std::ofstream bytecodeFile(testScriptBytecodeFilename, std::ios::binary); Assert::IsTrue(bool(bytecodeFile)); bytecodeFile.write( - reinterpret_cast(&wrongBytecodeFileFormatVersion), - sizeof(wrongBytecodeFileFormatVersion)); + reinterpret_cast(&wrongBytecodeFileFormatVersion), sizeof(wrongBytecodeFileFormatVersion)); - bytecodeFile.write( - &correctBytecode[bundleVersionIndex], - correctBytecode.size() - bundleVersionIndex); + bytecodeFile.write(&correctBytecode[bundleVersionIndex], correctBytecode.size() - bundleVersionIndex); Assert::IsTrue(bool(bytecodeFile)); bytecodeFile.close(); }, /* preUpdateCheck */ - [](const std::vector &corruptBytecodeFile, - const std::vector &correctBytecodeFile) { - Assert::IsTrue( - corruptBytecodeFile.size() == correctBytecodeFile.size()); + [](const std::vector &corruptBytecodeFile, const std::vector &correctBytecodeFile) { + Assert::IsTrue(corruptBytecodeFile.size() == correctBytecodeFile.size()); Assert::IsTrue(corruptBytecodeFile != correctBytecodeFile); Assert::IsFalse(std::equal( correctBytecodeFile.begin() + bytecodeFileFormatVersionIndex, @@ -192,9 +182,7 @@ TEST_CLASS(BytecodeUnitTests) { corruptBytecodeFile.begin() + bundleVersionIndex)); }, /* postUpdateCheck*/ - [this]( - const std::vector ¤tBytecodeFile, - const std::vector &correctBytecodeFile) { + [this](const std::vector ¤tBytecodeFile, const std::vector &correctBytecodeFile) { Assert::IsTrue(currentBytecodeFile == correctBytecodeFile); ExecuteBytecodeWithoutFallback(); }); @@ -204,8 +192,7 @@ TEST_CLASS(BytecodeUnitTests) { UpdateTestHelper( /* outputCorruptBytecode */ [](const std::vector &correctBytecode) { - std::ofstream bytecodeFile( - testScriptBytecodeFilename, std::ios::binary); + std::ofstream bytecodeFile(testScriptBytecodeFilename, std::ios::binary); Assert::IsTrue(bool(bytecodeFile)); constexpr uint64_t wrongBundleVersion = 0; @@ -213,21 +200,16 @@ TEST_CLASS(BytecodeUnitTests) { bytecodeFile.write(&correctBytecode[0], bundleVersionIndex); bytecodeFile.write( - reinterpret_cast(&wrongBundleVersion), - ChakraVersionInfoIndex - bundleVersionIndex); + reinterpret_cast(&wrongBundleVersion), ChakraVersionInfoIndex - bundleVersionIndex); - bytecodeFile.write( - &correctBytecode[ChakraVersionInfoIndex], - correctBytecode.size() - ChakraVersionInfoIndex); + bytecodeFile.write(&correctBytecode[ChakraVersionInfoIndex], correctBytecode.size() - ChakraVersionInfoIndex); Assert::IsTrue(bool(bytecodeFile)); bytecodeFile.close(); }, /* preUpdateCheck */ - [](const std::vector &corruptBytecodeFile, - const std::vector &correctBytecodeFile) { - Assert::IsTrue( - corruptBytecodeFile.size() == correctBytecodeFile.size()); + [](const std::vector &corruptBytecodeFile, const std::vector &correctBytecodeFile) { + Assert::IsTrue(corruptBytecodeFile.size() == correctBytecodeFile.size()); Assert::IsTrue(corruptBytecodeFile != correctBytecodeFile); Assert::IsTrue(std::equal( correctBytecodeFile.begin() + bytecodeFileFormatVersionIndex, @@ -243,9 +225,7 @@ TEST_CLASS(BytecodeUnitTests) { correctBytecodeFile.begin() + ChakraVersionInfoIndex)); }, /* postUpdateCheck*/ - [this]( - const std::vector ¤tBytecodeFile, - const std::vector &correctBytecodeFile) { + [this](const std::vector ¤tBytecodeFile, const std::vector &correctBytecodeFile) { Assert::IsTrue(currentBytecodeFile == correctBytecodeFile); ExecuteBytecodeWithoutFallback(); }); @@ -255,8 +235,7 @@ TEST_CLASS(BytecodeUnitTests) { UpdateTestHelper( /* outputCorruptBytecode */ [](const std::vector &correctBytecode) { - std::ofstream bytecodeFile( - testScriptBytecodeFilename, std::ios::binary); + std::ofstream bytecodeFile(testScriptBytecodeFilename, std::ios::binary); Assert::IsTrue(bool(bytecodeFile)); constexpr uint32_t wrongChakraVersionInfo[4] = {0, 0, 0, 0}; @@ -264,21 +243,16 @@ TEST_CLASS(BytecodeUnitTests) { bytecodeFile.write(&correctBytecode[0], ChakraVersionInfoIndex); bytecodeFile.write( - reinterpret_cast(&wrongChakraVersionInfo[0]), - bytecodeIndex - ChakraVersionInfoIndex); + reinterpret_cast(&wrongChakraVersionInfo[0]), bytecodeIndex - ChakraVersionInfoIndex); - bytecodeFile.write( - &correctBytecode[bytecodeIndex], - correctBytecode.size() - bytecodeIndex); + bytecodeFile.write(&correctBytecode[bytecodeIndex], correctBytecode.size() - bytecodeIndex); Assert::IsTrue(bool(bytecodeFile)); bytecodeFile.close(); }, /* preUpdateCheck */ - [](const std::vector &corruptBytecodeFile, - const std::vector &correctBytecodeFile) { - Assert::IsTrue( - corruptBytecodeFile.size() == correctBytecodeFile.size()); + [](const std::vector &corruptBytecodeFile, const std::vector &correctBytecodeFile) { + Assert::IsTrue(corruptBytecodeFile.size() == correctBytecodeFile.size()); Assert::IsTrue(corruptBytecodeFile != correctBytecodeFile); Assert::IsTrue(std::equal( correctBytecodeFile.begin() + bytecodeFileFormatVersionIndex, @@ -294,9 +268,7 @@ TEST_CLASS(BytecodeUnitTests) { correctBytecodeFile.begin() + bytecodeIndex)); }, /* postUpdateCheck*/ - [this]( - const std::vector ¤tBytecodeFile, - const std::vector &correctBytecodeFile) { + [this](const std::vector ¤tBytecodeFile, const std::vector &correctBytecodeFile) { Assert::IsTrue(currentBytecodeFile == correctBytecodeFile); ExecuteBytecodeWithoutFallback(); }); @@ -310,15 +282,12 @@ TEST_CLASS(BytecodeUnitTests) { bytecodeFile.close(); }, /* preUpdateCheck */ - [](const std::vector &corruptBytecodeFile, - const std::vector &correctBytecodeFile) { + [](const std::vector &corruptBytecodeFile, const std::vector &correctBytecodeFile) { Assert::IsTrue(corruptBytecodeFile.size() == 0); Assert::IsTrue(corruptBytecodeFile != correctBytecodeFile); }, /* postUpdateCheck*/ - [this]( - const std::vector ¤tBytecodeFile, - const std::vector &correctBytecodeFile) { + [this](const std::vector ¤tBytecodeFile, const std::vector &correctBytecodeFile) { Assert::IsTrue(currentBytecodeFile == correctBytecodeFile); ExecuteBytecodeWithoutFallback(); }); @@ -328,27 +297,21 @@ TEST_CLASS(BytecodeUnitTests) { UpdateTestHelper( /* outputCorruptBytecode */ [](const std::vector &correctBytecode) { - std::ofstream bytecodeFile( - testScriptBytecodeFilename, std::ios::binary); + std::ofstream bytecodeFile(testScriptBytecodeFilename, std::ios::binary); Assert::IsTrue(bool(bytecodeFile)); - std::vector badBytecode( - correctBytecode.size() - bytecodeIndex, 0); + std::vector badBytecode(correctBytecode.size() - bytecodeIndex, 0); bytecodeFile.write((char *)&correctBytecode[0], bytecodeIndex); - bytecodeFile.write( - (char *)badBytecode.data(), - correctBytecode.size() - bytecodeIndex); + bytecodeFile.write((char *)badBytecode.data(), correctBytecode.size() - bytecodeIndex); Assert::IsTrue(bool(bytecodeFile)); bytecodeFile.close(); }, /* preUpdateCheck */ - [](const std::vector &corruptBytecodeFile, - const std::vector &correctBytecodeFile) { - Assert::IsTrue( - corruptBytecodeFile.size() == correctBytecodeFile.size()); + [](const std::vector &corruptBytecodeFile, const std::vector &correctBytecodeFile) { + Assert::IsTrue(corruptBytecodeFile.size() == correctBytecodeFile.size()); Assert::IsTrue(corruptBytecodeFile != correctBytecodeFile); Assert::IsTrue(std::equal( correctBytecodeFile.begin() + bytecodeFileFormatVersionIndex, @@ -360,9 +323,7 @@ TEST_CLASS(BytecodeUnitTests) { correctBytecodeFile.begin() + bytecodeIndex)); }, /* postUpdateCheck*/ - [this]( - const std::vector ¤tBytecodeFile, - const std::vector &correctBytecodeFile) { + [this](const std::vector ¤tBytecodeFile, const std::vector &correctBytecodeFile) { ExecuteBytecodeWithFallback(); // We don't do anything here because we currently do not // regenerate bytecode when the bytecode itself (not its prefix) diff --git a/vnext/Desktop.UnitTests/EmptyUIManagerModule.cpp b/vnext/Desktop.UnitTests/EmptyUIManagerModule.cpp index 8bdf9d86b38..f67e46f80bb 100644 --- a/vnext/Desktop.UnitTests/EmptyUIManagerModule.cpp +++ b/vnext/Desktop.UnitTests/EmptyUIManagerModule.cpp @@ -20,10 +20,7 @@ std::string NodeRegistry::PrintTree() { return ss.str(); } -void NodeRegistry::PrintNode( - std::stringstream &ss, - int indent, - EmptyUINode *node) { +void NodeRegistry::PrintNode(std::stringstream &ss, int indent, EmptyUINode *node) { for (int i = 0; i < indent; i++) ss << '\t'; @@ -32,19 +29,16 @@ void NodeRegistry::PrintNode( PrintNode(ss, indent + 1, m_allNodes[child].get()); } -EmptyUINode::EmptyUINode(int64_t tag, const std::string &className) - : m_tag(tag), m_className(className) {} +EmptyUINode::EmptyUINode(int64_t tag, const std::string &className) : m_tag(tag), m_className(className) {} EmptyUIManager::EmptyUIManager( std::unique_ptr>> viewManagers, std::shared_ptr nodeRegistry) : m_viewManagers(std::move(viewManagers)), m_nodeRegistry(nodeRegistry) {} -void EmptyUIManager::PopulateViewManagerConstants( - std::map &constants) { +void EmptyUIManager::PopulateViewManagerConstants(std::map &constants) { for (auto &&vm : *m_viewManagers) - constants.emplace( - std::make_pair(std::string(vm->GetName()), vm->GetConstants())); + constants.emplace(std::make_pair(std::string(vm->GetName()), vm->GetConstants())); } std::shared_ptr EmptyUIManager::addRootView(int64_t rootViewTag) { @@ -69,21 +63,16 @@ void EmptyUIManager::createView( addRootView(rootViewTag); } - m_nodeRegistry->m_allNodes[tag] = - std::make_shared(tag, className); + m_nodeRegistry->m_allNodes[tag] = std::make_shared(tag, className); } -void EmptyUIManager::setChildren( - int64_t viewTag, - folly::dynamic /*ReadableMap*/ childrenTags) { +void EmptyUIManager::setChildren(int64_t viewTag, folly::dynamic /*ReadableMap*/ childrenTags) { auto &parent = m_nodeRegistry->m_allNodes[viewTag]; for (auto &&childTag : childrenTags) parent->m_children.push_back(childTag.asInt()); } -EmptyUIManagerModule::EmptyUIManagerModule( - std::unique_ptr sample) - : m_manager(std::move(sample)) {} +EmptyUIManagerModule::EmptyUIManagerModule(std::unique_ptr sample) : m_manager(std::move(sample)) {} std::string EmptyUIManagerModule::getName() { return "UIManager"; @@ -94,11 +83,9 @@ std::map EmptyUIManagerModule::getConstants() { {"Dimensions", folly::dynamic::object( "windowPhysicalPixels", - folly::dynamic::object("width", 100)("height", 100)("scale", 1.0)( - "fontScale", 1.0)("densityDpi", 72))( + folly::dynamic::object("width", 100)("height", 100)("scale", 1.0)("fontScale", 1.0)("densityDpi", 72))( "screenPhysicalPixels", - folly::dynamic::object("width", 100)("height", 100)("scale", 1.0)( - "fontScale", 1.0)("densityDpi", 72))}}; + folly::dynamic::object("width", 100)("height", 100)("scale", 1.0)("fontScale", 1.0)("densityDpi", 72))}}; // TODO merge in customBubblingEventTypes and customDirectEventTypes from // ViewManagers @@ -110,25 +97,15 @@ std::map EmptyUIManagerModule::getConstants() { auto EmptyUIManagerModule::getMethods() -> std::vector { return { - Method( - "removeRootView", - [this](dynamic args) { - m_manager->removeRootView(jsArgAsInt(args, 0)); - }), + Method("removeRootView", [this](dynamic args) { m_manager->removeRootView(jsArgAsInt(args, 0)); }), Method( "createView", [this](dynamic args) { m_manager->createView( - jsArgAsInt(args, 0), - jsArgAsString(args, 1), - jsArgAsInt(args, 2), - jsArgAsDynamic(args, 3)); + jsArgAsInt(args, 0), jsArgAsString(args, 1), jsArgAsInt(args, 2), jsArgAsDynamic(args, 3)); }), Method( - "setChildren", - [this](dynamic args) { - m_manager->setChildren(jsArgAsInt(args, 0), jsArgAsArray(args, 1)); - }), + "setChildren", [this](dynamic args) { m_manager->setChildren(jsArgAsInt(args, 0), jsArgAsArray(args, 1)); }), }; } diff --git a/vnext/Desktop.UnitTests/EmptyUIManagerModule.h b/vnext/Desktop.UnitTests/EmptyUIManagerModule.h index 8ffda912f45..6006bb2ca44 100644 --- a/vnext/Desktop.UnitTests/EmptyUIManagerModule.h +++ b/vnext/Desktop.UnitTests/EmptyUIManagerModule.h @@ -29,24 +29,14 @@ struct NodeRegistry { class EmptyUIManager { public: EmptyUIManager( - std::unique_ptr>> viewManagers, + std::unique_ptr>> viewManagers, std::shared_ptr nodeRegistry); void removeRootView(int64_t rootViewTag); - void createView( - int64_t tag, - const std::string &className, - int64_t rootViewTag, - folly::dynamic /*ReadableMap*/ props); - void setChildren( - int64_t viewTag, - folly::dynamic /*ReadableMap*/ childrenTags); + void createView(int64_t tag, const std::string &className, int64_t rootViewTag, folly::dynamic /*ReadableMap*/ props); + void setChildren(int64_t viewTag, folly::dynamic /*ReadableMap*/ childrenTags); #ifdef NOT_DEF - void updateView( - int64_t tag, - const std::string &className, - folly::dynamic /*ReadableMap*/ props); + void updateView(int64_t tag, const std::string &className, folly::dynamic /*ReadableMap*/ props); void manageChildren( int64_t viewTag, folly::dynamic * /*@Nullable ReadableArray*/ moveFrom, @@ -57,9 +47,7 @@ class EmptyUIManager { void replaceExistingNonRootView(int64_t oldTag, int64_t newTag); void removeSubviewsFromContainerWithID(int64_t containerTag); void measure(int64_t reactTag, std::function /*Callback*/ callback); - void measureInWindow( - int64_t reactTag, - std::function /*Callback*/ callback); + void measureInWindow(int64_t reactTag, std::function /*Callback*/ callback); void measureLayout( int64_t tag, int64_t ancestorTag, @@ -75,10 +63,7 @@ class EmptyUIManager { std::function /*final Callback*/ callback); void setJSResponder(int64_t reactTag, bool blockNativeResponder); void clearJSResponder(); - void dispatchViewManagerCommand( - int64_t reactTag, - int64_t commandId, - folly::dynamic /*ReadableMap*/ commandArgs); + void dispatchViewManagerCommand(int64_t reactTag, int64_t commandId, folly::dynamic /*ReadableMap*/ commandArgs); void showPopupMenu( int64_t reactTag, folly::dynamic /*ReadableMap*/ items, @@ -92,13 +77,11 @@ class EmptyUIManager { void sendAccessibilityEvent(int64_t tag, int64_t eventType); #endif - void PopulateViewManagerConstants( - std::map &constants); + void PopulateViewManagerConstants(std::map &constants); std::shared_ptr addRootView(int64_t rootViewTag); private: - std::unique_ptr>> - m_viewManagers; + std::unique_ptr>> m_viewManagers; std::shared_ptr m_nodeRegistry; }; diff --git a/vnext/Desktop.UnitTests/LayoutAnimationTests.cpp b/vnext/Desktop.UnitTests/LayoutAnimationTests.cpp index 5c70336de3d..2f37a296487 100644 --- a/vnext/Desktop.UnitTests/LayoutAnimationTests.cpp +++ b/vnext/Desktop.UnitTests/LayoutAnimationTests.cpp @@ -60,8 +60,7 @@ std::wstring ToString( } template <> -std::wstring -ToString( +std::wstring ToString( const enum class facebook::react::LayoutAnimation::AnimatableProperty &t) { switch (t) { case facebook::react::LayoutAnimation::AnimatableProperty::Opacity: diff --git a/vnext/Desktop.UnitTests/MemoryMappedBufferTests.cpp b/vnext/Desktop.UnitTests/MemoryMappedBufferTests.cpp index d97d1e2f811..95d367f8b49 100644 --- a/vnext/Desktop.UnitTests/MemoryMappedBufferTests.cpp +++ b/vnext/Desktop.UnitTests/MemoryMappedBufferTests.cpp @@ -24,8 +24,7 @@ std::wstring GetTestFileName() { } wchar_t testFileName[MAX_PATH]; - if (!GetTempFileNameW( - tempPath, L"MemoryMappedBufferUnitTests", 0, testFileName)) { + if (!GetTempFileNameW(tempPath, L"MemoryMappedBufferUnitTests", 0, testFileName)) { std::terminate(); } @@ -55,18 +54,15 @@ TEST_CLASS(MemoryMappedBufferUnitTests) { std::terminate(); } - std::unique_ptr testFilePtrWrapper( - testFilePtr, fclose); + std::unique_ptr testFilePtrWrapper(testFilePtr, fclose); - if (fwrite(content, sizeof(*content), size, testFilePtrWrapper.get()) != - size) { + if (fwrite(content, sizeof(*content), size, testFilePtrWrapper.get()) != size) { std::terminate(); } } void DeleteTestFile() { - if (!DeleteFileW(m_testFileName.c_str()) && - GetLastError() != ERROR_FILE_NOT_FOUND) { + if (!DeleteFileW(m_testFileName.c_str()) && GetLastError() != ERROR_FILE_NOT_FOUND) { std::terminate(); } if (PathFileExistsW(m_testFileName.c_str())) { @@ -90,44 +86,32 @@ TEST_CLASS(MemoryMappedBufferUnitTests) { const size_t size = strlen(content); WriteTestFile(content, size); - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str()); + std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str()); Assert::IsTrue(buffer->size() == size); - Assert::IsTrue( - strcmp(CheckedReinterpretCast(buffer->data()), content) == - 0); + Assert::IsTrue(strcmp(CheckedReinterpretCast(buffer->data()), content) == 0); } TEST_METHOD(SimpleTest_WithOffest) { - constexpr const char *const fileContent = - "This is another very interesting string."; + constexpr const char *const fileContent = "This is another very interesting string."; const size_t fileSize = strlen(fileContent); WriteTestFile(fileContent, fileSize); const size_t fileOffset = 3; - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str(), fileOffset); + std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str(), fileOffset); Assert::IsTrue(buffer->size() == fileSize - fileOffset); - Assert::IsTrue( - strcmp( - CheckedReinterpretCast(buffer->data()), - fileContent + fileOffset) == 0); + Assert::IsTrue(strcmp(CheckedReinterpretCast(buffer->data()), fileContent + fileOffset) == 0); } TEST_METHOD(EdgeCaseFileSizeTest_NoOffset) { std::string content("a", GetPageSize()); WriteTestFile(content.c_str(), content.length()); - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str()); + std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str()); Assert::IsTrue(buffer->size() == content.length()); - Assert::IsTrue( - strcmp( - CheckedReinterpretCast(buffer->data()), - content.c_str()) == 0); + Assert::IsTrue(strcmp(CheckedReinterpretCast(buffer->data()), content.c_str()) == 0); } TEST_METHOD(EdgeCaseFileSizeTest_WithOffset) { @@ -135,28 +119,21 @@ TEST_CLASS(MemoryMappedBufferUnitTests) { WriteTestFile(content.c_str(), content.length()); const size_t fileOffset = 15; - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str(), fileOffset); + std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str(), fileOffset); Assert::IsTrue(buffer->size() == content.length() - fileOffset); - Assert::IsTrue( - strcmp( - CheckedReinterpretCast(buffer->data()), - content.c_str() + fileOffset) == 0); + Assert::IsTrue(strcmp(CheckedReinterpretCast(buffer->data()), content.c_str() + fileOffset) == 0); } TEST_METHOD(ErrorTest_NullptrFileName) { - Assert::ExpectException([] { - std::shared_ptr buffer = MakeMemoryMappedBuffer(nullptr); - }); + Assert::ExpectException( + [] { std::shared_ptr buffer = MakeMemoryMappedBuffer(nullptr); }); } TEST_METHOD(ErrorTest_EmptyFile) { WriteTestFile("", 0); - Assert::ExpectException([this] { - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str()); - }); + Assert::ExpectException( + [this] { std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str()); }); } TEST_METHOD(ErrorTest_InvalidOffset) { @@ -164,8 +141,7 @@ TEST_CLASS(MemoryMappedBufferUnitTests) { Assert::ExpectException([this] { uint32_t badOffset = 3; - std::shared_ptr buffer = - MakeMemoryMappedBuffer(m_testFileName.c_str(), badOffset); + std::shared_ptr buffer = MakeMemoryMappedBuffer(m_testFileName.c_str(), badOffset); }); } }; diff --git a/vnext/Desktop.UnitTests/StringConversionTest_Desktop.cpp b/vnext/Desktop.UnitTests/StringConversionTest_Desktop.cpp index 3df79785de0..927667b6ac2 100644 --- a/vnext/Desktop.UnitTests/StringConversionTest_Desktop.cpp +++ b/vnext/Desktop.UnitTests/StringConversionTest_Desktop.cpp @@ -40,8 +40,7 @@ TEST_CLASS(StringConversionTest_Desktop) { JsValueRef value; string str; for (size_t i = 0; i < g_utf8TestStrings.size(); i++) { - JsPointerToStringUtf8( - g_utf8TestStrings[i].c_str(), g_utf8TestStrings[i].length(), &value); + JsPointerToStringUtf8(g_utf8TestStrings[i].c_str(), g_utf8TestStrings[i].length(), &value); JsStringToStdStringUtf8(value, str); Assert::IsTrue(str.compare(g_utf8TestStrings[i]) == 0); } diff --git a/vnext/Desktop.UnitTests/UIManagerModuleTest.cpp b/vnext/Desktop.UnitTests/UIManagerModuleTest.cpp index 2b4a9b094e2..10227d49e34 100644 --- a/vnext/Desktop.UnitTests/UIManagerModuleTest.cpp +++ b/vnext/Desktop.UnitTests/UIManagerModuleTest.cpp @@ -17,25 +17,17 @@ TEST_CLASS(UIManagerModuleTests) { std::unique_ptr m_emptyUIManager; std::shared_ptr m_nodeRegistry; - std::shared_ptr createSimpleTextHierarchy( - EmptyUIManager * uiManager, std::string text) { + std::shared_ptr createSimpleTextHierarchy(EmptyUIManager * uiManager, std::string text) { int64_t rootTag = 1; auto rootView = uiManager->addRootView(rootTag); int64_t textTag = rootTag + 1; int64_t rawTextTag = textTag + 1; - uiManager->createView( - textTag, - "RCTText", - rootTag, - folly::dynamic::object("collapsable", false)); + uiManager->createView(textTag, "RCTText", rootTag, folly::dynamic::object("collapsable", false)); uiManager->createView( - rawTextTag, - "RCTRawText", - rootTag, - folly::dynamic::object("text", text)("collapsable", false)); + rawTextTag, "RCTRawText", rootTag, folly::dynamic::object("text", text)("collapsable", false)); // TODO: use managechildren instead of setchildren after it is implemented // in EmptyUIManager. @@ -63,8 +55,7 @@ TEST_CLASS(UIManagerModuleTests) { public: UIManagerModuleTests() { // Native views types - auto viewmanagers = - std::make_unique>>(); + auto viewmanagers = std::make_unique>>(); // TODO: Fix linking errors. // viewmanagers->push_back(std::make_unique()); // RCTView // viewmanagers->push_back(std::make_unique("RCTText")); @@ -73,8 +64,7 @@ TEST_CLASS(UIManagerModuleTests) { m_nodeRegistry = std::make_shared(); // EmptyUIManager - m_emptyUIManager = std::make_unique( - std::move(viewmanagers), m_nodeRegistry); + m_emptyUIManager = std::make_unique(std::move(viewmanagers), m_nodeRegistry); } ~UIManagerModuleTests() { @@ -85,8 +75,7 @@ TEST_CLASS(UIManagerModuleTests) { // Tests taken from // react-native\ReactAndroid\src\test\java\com\facebook\react\uimanager\UIManagerModuleTest.java TEST_METHOD(UIManagerModuleTests_CreateSimpleHierarchy) { - auto rootView = - createSimpleTextHierarchy(m_emptyUIManager.get(), "Some Text"); + auto rootView = createSimpleTextHierarchy(m_emptyUIManager.get(), "Some Text"); Assert::AreEqual(static_cast(1), rootView->m_children.size()); auto textView = m_nodeRegistry->m_allNodes[rootView->m_children[0]]; diff --git a/vnext/Desktop.UnitTests/UnicodeConversionTest.cpp b/vnext/Desktop.UnitTests/UnicodeConversionTest.cpp index fe33429a992..7b6cc4cff66 100644 --- a/vnext/Desktop.UnitTests/UnicodeConversionTest.cpp +++ b/vnext/Desktop.UnitTests/UnicodeConversionTest.cpp @@ -23,15 +23,11 @@ TEST_CLASS(UnicodeConversionTest) { TEST_METHOD(Utf8ToUtf16SimpleTestNoBom) { Assert::IsTrue( - Utf8ToUtf16( - SimpleTestStringNoBomUtf8, strlen(SimpleTestStringNoBomUtf8)) == - SimpleTestStringNoBomUtf16); + Utf8ToUtf16(SimpleTestStringNoBomUtf8, strlen(SimpleTestStringNoBomUtf8)) == SimpleTestStringNoBomUtf16); } TEST_METHOD(Utf8ToUtf16SimpleTestBom) { - Assert::IsTrue( - Utf8ToUtf16(SimpleTestStringBomUtf8, strlen(SimpleTestStringBomUtf8)) == - SimpleTestStringBomUtf16); + Assert::IsTrue(Utf8ToUtf16(SimpleTestStringBomUtf8, strlen(SimpleTestStringBomUtf8)) == SimpleTestStringBomUtf16); } TEST_METHOD(Utf8ToUtf16InvalidCharacterTest) { @@ -42,8 +38,7 @@ TEST_CLASS(UnicodeConversionTest) { // information on overconsumption attacks, see // http://websec.github.io/unicode-security-guide/character-transformations/#overconsumption constexpr const char *const invalidUtf8 = "\xcc\x22\x3c"; - Assert::IsTrue( - Utf8ToUtf16(invalidUtf8) == L"\xfffd" + Utf8ToUtf16(invalidUtf8 + 1)); + Assert::IsTrue(Utf8ToUtf16(invalidUtf8) == L"\xfffd" + Utf8ToUtf16(invalidUtf8 + 1)); // Although ed a3 a9 follows the correct binary format for a three byte // UTF-8 sequence, the Unicode code point it encodes is not valid. While @@ -58,16 +53,11 @@ TEST_CLASS(UnicodeConversionTest) { TEST_METHOD(Utf16ToUtf8SimpleTestNoBom) { Assert::IsTrue( - Utf16ToUtf8( - SimpleTestStringNoBomUtf16, wcslen(SimpleTestStringNoBomUtf16)) == - SimpleTestStringNoBomUtf8); + Utf16ToUtf8(SimpleTestStringNoBomUtf16, wcslen(SimpleTestStringNoBomUtf16)) == SimpleTestStringNoBomUtf8); } TEST_METHOD(Utf16ToUtf8SimpleTestBom) { - Assert::IsTrue( - Utf16ToUtf8( - SimpleTestStringBomUtf16, wcslen(SimpleTestStringBomUtf16)) == - SimpleTestStringBomUtf8); + Assert::IsTrue(Utf16ToUtf8(SimpleTestStringBomUtf16, wcslen(SimpleTestStringBomUtf16)) == SimpleTestStringBomUtf8); } TEST_METHOD(Utf16ToUtf8InvalidCharacterTest) { @@ -110,14 +100,10 @@ TEST_CLASS(UnicodeConversionTest) { } private: - constexpr static const char *SimpleTestStringNoBomUtf8 = - "\x61\x62\x63"; // abc - constexpr static const wchar_t *SimpleTestStringNoBomUtf16 = - L"\x0061\x0062\x0063"; // abc - constexpr static const char *SimpleTestStringBomUtf8 = - "\xef\xbb\xbf\x61\x62\x63"; // abc - constexpr static const wchar_t *SimpleTestStringBomUtf16 = - L"\xfeff\x0061\x0062\x0063"; //abc + constexpr static const char *SimpleTestStringNoBomUtf8 = "\x61\x62\x63"; // abc + constexpr static const wchar_t *SimpleTestStringNoBomUtf16 = L"\x0061\x0062\x0063"; // abc + constexpr static const char *SimpleTestStringBomUtf8 = "\xef\xbb\xbf\x61\x62\x63"; // abc + constexpr static const wchar_t *SimpleTestStringBomUtf16 = L"\xfeff\x0061\x0062\x0063"; //abc }; } // namespace Microsoft::React::Test diff --git a/vnext/Desktop.UnitTests/UnicodeTestStrings.cpp b/vnext/Desktop.UnitTests/UnicodeTestStrings.cpp index b8c3e22581f..910c62c2357 100644 --- a/vnext/Desktop.UnitTests/UnicodeTestStrings.cpp +++ b/vnext/Desktop.UnitTests/UnicodeTestStrings.cpp @@ -5,25 +5,26 @@ namespace Microsoft::React::Test { -std::vector g_utf8TestStrings = { - // Some random ASCII characters, emojis, Chinese, Russian, Japanese, Greek, - // Hebrew, Polish, Serbian, Norwegian - u8"21QQYrTfnTS2kKSb47H3mJs0NxfyMBYIkX1pTCuDeVHYqLhQhUo8OObPz8M8tZy2kJrFRy94JQuWH5yUivxkBsXAblv0TqvNwLOpq1Rgx5l6LNc8AMByHXk814GmcoKr", - u8"ZR6ztxV2QksUIS1HHSQFL8uTXy2Tb23Vq3uuJlpwGAFtCPkVnMC7zf87eZSzLJFwNa4WKGZ6gkpBPPqsVUFJlVHwEAMMiYUUqb5JYi4tTsOgfV2q4lLC0j9QeDwTCN7Y", - u8"🍅❓Ⓠ〰️®️✝️📧🌱⛎ℹ️🅾️🅿️🅰️💰↩️Ⓕ⛽️♓️☔Ⓚ🕒💤❌☪️♈️Ⓑ📈♍️", - u8"😀 😁 😂 🤣 😃 😄 😅 😆 😉 😊 😋 😎 😍 😘 😗 😙 😚 ☺️ 🙂 🤗 🤔 😐 😑 😶 🙄 😏 😣 😥 😮 🤐 😯 😪 😫 😴 😌 😛 😜 😝 🤤 😒 😓 😔 😕 🙃 🤑 😲 ☹️ 🙁 😖 😞 😟 😤 😢 😭 👨‍👨‍👧‍👦 👨‍👨‍👦‍👦 👨‍👨‍👧‍👧 👩‍👩‍👦 👩‍👩‍👧 👩‍👩‍👧‍👦 👩‍👩‍👦‍👦 👩‍👩‍👧‍👧 👨‍👦 👨‍👦‍👦 👨‍👧 👨‍👧‍👦 👨‍👧‍👧 👩‍👦👩‍👦‍👦👩‍👧👩‍👧‍👦👩‍👧‍👧🤳💪👈👉☝️👆🖕👇✌️🤞🖖🤘🖐✋👌👍👎✊👊🤛🤜🤚👋✍️👏👐🙌🤲🙏🤝💅👂👃👣👀👁👅👄💋👶🍼", - u8"儿勒屁艾 艾艾西艾 艾艾 西吉艾艾伊娜伊ㄚ口∪尺 れ工匚K 工れ 匚卄工れモちモ㊜㊒㊘㊕ ㊐㊋㊅㊍ ㊋㊐ ㊅㊊㊋㊐㊇㊖㊇", - u8"б, в, г, д, ж, з, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ. ЯДЙDФԠ ЯЦSSЇДИ ҪҤДЯДҪГЭЯS rxtGOLmâZY くできやせろびぬぴぜ", - u8"Νερά ψηλά λύπη αφτί ας ψυχή τι λόγω. Του φίλ διά γεφυρώνει ανίχνευση διεύρυνση. Όλο μήπως τομέα πρώτο στους δις νόημα εάν του. Παιδείας ομορφιάς καλύτερα ας με. Παραγωγή προθέαση σε κουλιζάρ παραπάνω υπ. Πώς δικούς στήθος πόντου πως θέατρο θέληση σίδερο. Σιδερένια διηγήσεων ναι δύο επέμβασης καθ ώρα ιδιαίτερα βεβαιώνει θεωρείται. Βλ νερο τη να ύλης μτφρ τέλη. Ας ρόλων τη χώρων υπ αφορά είδος είπεν. ", - u8"למעלה מנוסה והסוס יעבור הנעשה. רגליים המכולת משונות הדרושה פנימית חודשית. את אל בגידת צד רב בתנאי ונפשו עד שש. או שב גם יד ולטש בשטף אדמת וילך הרשו וכבר. ידו העב לכל והיא ריח פוּ גַּם מַה זרמי רחץ ודה. ערך הלא זהב במבטיהם כבן בַּכֹּל הגאיוני ספק פרש קצה שנת. ", - u8"Daje puściliśmy angielskiego służącéj Mury zostawioném sine sejm złotogłów Nogi. Białopiotrowiczowi farb dali jest kart nię. Póki śnie niewidział publicznych grzmi głos myśliwców czaty. Widzę Białopiotrowiczem panów Dozoru śrót ranną szyją. Drobnemi wyznania jedwab schowany różowe potokiem podawano wiarę schyla szepce czasem martwy. Król spokojniejszych rosciągnionych ciemnozieloném obrok kilkn wcale pokrewieństwem Musim echem niepowiedziała. Zbyt lecz noty nowe kula nóg Znam. Sama rumieńcem Zaszumiał lśnących Zbyt skórzaną młodzież nosy. Powoli Waść siadł Anglii robota twarze. ", - u8"Плоть взята ее яд Тя ли их Одним Ни ИЗ ликом мя броня. . Воли Вы Ты тула душе Уж неба уз соты блат. Слетите отвечал богатых. Сем при глад ГРОМ дела Дуб чашу рок тел сны ров. Своих малых Приди враги. . По ты ум Кто то же ее. ", - u8"Ове Као међ језераца метеризи положене лед има упорство ред. Већ moschatus Сви сва Dwellings giganteum муљ. Ursus Bison alces ~ПРВОБИТНА Jolly Eleph Munro. Сл те би лице сиге Сохе сати тиме на То за веку. Рипе Снег лек међ код Доњи већ виле итд. Употреба Но кватерно кречњака друкчија им Он Ми. Пак megaceros има Hipparion бар moschatus amphibius giganteum europaeus све. Hipparion spelea giganteum нам Dwellings moschatus још ова ову. Ursus дрвета дрвено alces Jolly Eleph Munro шљунка судова Bison. Коњ Ако ватра“ „Усред чак eximia или. ", - u8"æ«ââèêøóòôå", - u8"誨 後竊聽 白圭志 」 關雎 不稱讚 覽 曰: 第十一回 矣 出 耳. 關雎 」 事 ,可 意 誨 出. 樂而不淫 危德至 白圭志 後竊聽 分得意. 汗流如雨 吉安而來 父親回衙. 去 矣 覽 曰: 事. 父親回衙 意 玉,不題 汗流如雨 矣 」 覽 誨 去 吉安而來 出 冒認收了. 冒認收了 吉安而來 父親回衙 玉,不題 汗流如雨. 以測機 分得意 建章曰: 在一處. 分得意 建章曰: 第十一回 在一處 樂而不淫 後竊聽. 第十一回 訖乃返 分得意 建章曰:. 意 矣 曰: 耳 誨 去 」 事. 德泉淹 曰: 耳 第七回 招」 出 第五回 ,可 矣 意 」 誨. 父親回衙 汗流如雨 吉安而來 玉,不題 冒認收了. ", - // A very long string - u8",可 第七回 貢院 去 第四回 第二回 出 」. 訖乃返 後竊聽 危德至 分得意 樂而不淫. 」 出 意 ,可. 此是後話 ,愈聽愈惱 也懊悔不了 饒爾去罷」. 第三回 第五回 第二回 了」. 玉,不題 事 汗流如雨 去 冒認收了 耳 吉安而來 意 誨 出. 矣 」 出 意. 曰: 意 饒爾去罷」 事 此是後話 出 去 ,愈聽愈惱 也懊悔不了. 也懊悔不了 饒爾去罷」 ,愈聽愈惱. 耳 」 ,可 誨. 覽 耳 曰: 矣 意. 曰: 覽 出 耳 ,可. 覽 耳 曰: ,可 去 意 誨 事. 去 矣 誨 曰: 耳. 關雎 覽 」 事. 」 關雎 不稱讚 第十一回 覽 以測機 訖乃返 白圭志 分得意 ,可. 驚異 覽 耳 事 貢院 第六回 」 出 關雎 了」 第七回. 羨殺 第九回 相域 驚異 了」 德泉淹. 饒爾去罷」 關雎 此是後話 誨 也懊悔不了 ,愈聽愈惱 出 去. 覽 曰: 矣 誨 出.樂而不淫 第十一回 在一處 訖乃返 建章曰:.耳 去 事 後竊聽 」 矣 第十一回 樂而不淫.誨 關雎 去 矣.耳 誨 去 ,可 覽 曰:.出 意 誨 去 ,可 曰: 耳 事.覽 關雎 誨 事 」.建章曰: 樂而不淫 分得意.矣 ,可 饒爾去罷」 出 也懊悔不了 此是後話 ,愈聽愈惱 去.第九回 第六回 不題 招」 第七回 德泉淹.去 覽 羨殺 招」 第九回 意 第八回 」 矣 耳 曰: 第六回.事 曰: 後竊聽 」 意 白圭志 訖乃返 耳 第十一回 樂而不淫 去.耳 矣 覽 誨 事 關雎 曰: 」.,可 關雎 建章曰: 去 己轉身 覽 事 白圭志 以測機 分得意 樂而不淫 矣 耳 」.父親回衙 吉安而來 玉,不題 冒認收了 汗流如雨.耳 」 矣 事 意 出.冒認收了 玉,不題 父親回衙.吉安而來 汗流如雨 父親回衙 玉,不題 冒認收了.曰: ,可 關雎 意 」 出 覽 矣. Ярмом Венец Клоню часть славы средь.Ее скрепим спокоен Их ст Ангелов явленья То обитает на.Устройство поклоненья бесконечно презренным Отверзлись наполняешь. ..Посвятясь Род Див искренних чел потрясают Арф судилищах.Ниспошли насажден вздыхать Последуя..Звучней Господу ах Из за но Взжигай ея Ту возношу.Но ее Те То НА ту не яр.Вы ах Но во блаженстве воскрешает за Аз милосердие ею МЕЩЕРСКОГО воскресясь.Уж почитает За Ту истлеваю происшел бы.Те Но вы за Ум.Кои душ риз Шум.По Ни их ко из дальнейшие Но Ее всеконечно бледностью ты.Миг Снедает сей всю тму кротким Ходатай чуд громады.До Ах на Мы уж Он ль Со.Та ИЗ оспорить вселенну гл ты Уж погибают называем.Сие Ограждал праотцев ней тон мог Бледнеет она дал привесть тук пал благости Подвигни.Ухищреньем вознесется душ жив Злы Благословя кущ сил утесненных Муж блаженстве устремился.Как мои эхо уха.Питатель ей По Да спокойно Ты те ВВЕДЕНИЕ НА ах же.Ток гул иду рок сих.Дал ран Стрегущи Крепость сие Божеству действий Бог риз оны.Кое под Уже чьи еще.Объявил цевницы ей несется Блеснет по Да По подпора пройдет Им.Мне Обратится СЕТОВАНИЕ вой поя Взгляните ини вне.Во яд Мы же По до..Со Мы Вы То он да Но Им.Сем Кои василисков потряслась уму гор уха под тме ПРАВОСУДИЕ мою стряхнутся.Неверие Мир Сын посетит Они Меч Яры находит.Ли ад Но Ум Мы ее ст.Мой ток мое Нем поклоняюсь бег сад царствуешь сотворится Соделалось ПОБЕДИТЕЛЮ душ Яры всесильным.Чтя мир Род пал Мне кем зде.Гл Вы Кто но бы Аз мя ад.Муж ног ней гул вот.Их ни Ум мя ах.Ни до ах от Ах об се Ты.Бог над Мой тощ риз Гул вне.Же Он во та то..Увы ней чая бег цел где Кем эхо. ..Объятие имя Чья цел мирские бояться она тел.Дел мое роз вам жен дух див. .Спустились низвергнул ВЕЛИЧЕСТВО рассуждает неимоверна.кто из Но Ту ею Ея Из вы им.Сии Сын ему Лию сын увы кит.Тме сие Дух лия это Душ дна рек. ..Терновых весельем опустели за ее Небесная ей Да блистали нисходят Ту Ум.Наполняяй тех сей поя Несметных отлученье жег исчислить сокровище утешитель.Ее Ко бы Се..Покрылся восходит скорбеть трисвяту.Ни вожу яр рдел очам ни мя Ум Паче Се Даст люди.Ль он Во Аз.Жил Моя лиц лес иду жег.Вся единым рай Имя стезею дым грозно.Же ИЗ день он слов Тя не Царь дуть Кого.Муж Зри меж вод ров ков.Дав Зло мое врагу все Все даешь Древа Зорят Час.Роз оно врагам иду Объяты гореть терзав вод сделал.Тех ими быв мог.Тощ вот мир зло.Нощь Дочь бьет Свет сшел.Чая Был Тот сна выя чин..Ст та ее мы.Ρεαλισμός ως εμπειρίες συνείδηση στιγμιαία ευγένειας αρ συμβαίνει.Ταυτίζεται καθίσταται όλα παιγνιώδης λογοτεχνών δεν ενώ νέα.Ύπαρξη τις ηθικές την του ομάδες χωρική.Οι τη γενιάς ηθικής θα άλλοτε άδειου κίνησή.Πειστική πλοκάμια το καθαυτής αν αρ.Χώρα στον πι το εν πήρε μέσω ότου μέλη.Όλη σχολικά αντλούν την γέροντα κώδικες.Βλ να αδακά σο τύπου τολμά λάβει εβγάλ.Αγαπά μάγον στα για μερ θλίψη ήσυχα.Με αρ όψεις αυτών χαθεί νόημα κι επαφή.Πολιτικές να βιαστικές κι υψηλότερο μελετητές διατήρηση πω το.Ασυνήθιστη κοινωνικών υπό όλα θεωρητικοί υποθετικού παλαιότερα φιλολογική.Τράβηξε έστελνε τι ανέλιξη σο διάφορα ακροατή αλλαγές ας.Ούτε πει όλη και τσεν τις ωχρό.Κόσμου κόκκος τη οποίας τίτλος έν έπεται κι κανείς.Εάν πρώτο κλαίω πια οποίο ήξερε απ΄ απλώς τυχόν.Τότε την πήρε μερ ούτε θεός.Έργου μη κύριο κύρια ατ ήθελε ευτάς να.Πιο τόζλουτζας μια μικρόκοσμο συναντούμε διηγήματος από όλα.Δόσιμο δάκρυα πώς έκρυβε ροζ πρέπει και επί.Κινήματος το παράλληλα μαρτυρούν με περίτεχνο.Έτον έναν ου έτσι όπου αφού ως.Εξελικτική να το υπερφυσικό καταθέσουν καπετάνιου εντάσσεται υποσχέθηκε.Θα παρόμοια κόνσολον ρητορική ας καλύτερη ανάγνωση οι.Επούλ του τάξης σοφία βράδυ προ που πηγές όλα.Τα εκ σε ακούμε μορφής γενιάς.Κατά τάση πήγε εφ νέου θα μόνο νέας.Ροζ προπαντός υπό πολυφωνία παρατηρεί φίλ κατασκευή θεωρητική.Συν αντίστροφα μια λασπωμένες κατ διανοητικά μια.Μετάβαση όλο συμβολής προ απαγωγέα διήγησης ευρύτερο.Διάφορες και πρόσφατο όσο μετάβαση δυνητική ναι μητρικές.Χρειάζεσθε μου την υποτίθεται κλπ που παραμυθιού.Προκύψει εκ κι ευελιξία το σε ιστορικά ιστορικό.Διά πια πλήρει ισχυρό έζησαν σην ανάγκη καθ.Μη παράδοξη οφείλουν οι ευέλικτη ιι.Όλα προοπτική του νεότερους βασίζεται νέα παράλληλα.Ως πραγματικό παραπέμπει ας ου αναγνωστών λογοτεχνία.Στο άξιος εδώ ευρήκ δίοδο αρετή είχαν φάρσα.Γιαννίτς όσο τράνταξε υπό για δις ανάδοχου αφετέρου βιάστηκε ιστορικο.Εφτά φίλ λύπη αυτή ενώ όμως δύο δις.Ζωή γυναίκας αναδόχου μην στοιχείο.Εκφραστικό αρ ου θα ανέκφραστη πι επικρατούν στρατηγική υποβλητικό.Προκύψει να ωμότητες συνήθιζε μη εξαιτίας ανέδειξε.Εμφανής ευτελής χιούμορ αν θεωριών να ου.Διαδίκτυο παιχνίδια παραμένει αν αρ.Επιβληθούν κατασκευής προέρχεται το απ μαθητεύσει διηγημάτων ατ με.Υπ άντλησης ορίζεται κειμένου αλήθειες σο.Ροή έξω δις εξής αργά έργο του.Μικρούς αφορούν μαγικού στα κωμωδία αρχίζει πια.Εφ συνδέοντας σε αρ κατακλυσμό λογοτεχνία παραλλαγές ενδιαφέρον αισθάνεται.Ιστορικά τα δεύτερον νοημάτων πνιγμένο τι νε.Σε πολλαπλούς τι απευθύνουν μεγαλύτερο εκφραστικό.Θα εύθραυστη τα μεταβολές φουσκάλες γνωστικής.Διηνεκή μελέτης φόρεμαν πρόσωπα ας οι εξορίες πα επώνυμη.Σοφίας αντοχή μαγεία ως τριπλή οι.Προκύπτει μπαστούνι έν με φοβετζέας εν ισορροπία.Ου οράματος παράδοση καλώντας τη.Στάσης εκ μαγεία με μαρίτσ τα το μηνύει γόνατό.Κοίταζαν παιδικής ξαντίνου θα κινήσεις αν περίοδος.Ορατό ώμους χλομό πίστη εν αρχής άλλες το.Μπροστά όλα κεί βλέπετε σπιτιού.Αρ παρήγαγε το νε κάποιους διαφέρει.Εύθραυστη συναλλαγή κυριαρχία ζώγ για και συνείδηση διηγήσεων.Τα τα με σύμβαση παγίωση αν ανάμεσα.Ακούμε ταφικά τη πρέπει εφ με φεύγει μεγάλη.Άμαν του εδώ μαμά νέοι και καθ άλλο.Παραμυθιού ενοχλήσεις ταυτότητάς σε τα θα κι συγγραφική.Αναφορές πα σκοτωθεί γέροντες απαγωγής πρακτική να.Ακατόρθωτο λογοτεχνία ως οικογένειά με χολάσκεται σο να.Τον απ΄ εις μένει πει επικό ζωηρό.Ηρωίδας δεύτερη παιδικό ένα ρου.Παιγνιώδης δημιουργία επί στο παρατήρηση νέο αναφέρθηκε δεν.Ενώ πατρικές γλωσσική εκκίνηση απόλαυση άγνωστες στα ροζ.Εντάμωσεν αναδύεται πολυφωνία κι ως αποβαίνει πι απόσπασμα μπρούμυτα ατ.Νέα χλομό όλη ατο άμεσα εντός πλέον κυρία αγαπά κλπ.", - // The empty string - u8""}; +std::vector g_utf8TestStrings = + { + // Some random ASCII characters, emojis, Chinese, Russian, Japanese, Greek, + // Hebrew, Polish, Serbian, Norwegian + u8"21QQYrTfnTS2kKSb47H3mJs0NxfyMBYIkX1pTCuDeVHYqLhQhUo8OObPz8M8tZy2kJrFRy94JQuWH5yUivxkBsXAblv0TqvNwLOpq1Rgx5l6LNc8AMByHXk814GmcoKr", + u8"ZR6ztxV2QksUIS1HHSQFL8uTXy2Tb23Vq3uuJlpwGAFtCPkVnMC7zf87eZSzLJFwNa4WKGZ6gkpBPPqsVUFJlVHwEAMMiYUUqb5JYi4tTsOgfV2q4lLC0j9QeDwTCN7Y", + u8"🍅❓Ⓠ〰️®️✝️📧🌱⛎ℹ️🅾️🅿️🅰️💰↩️Ⓕ⛽️♓️☔Ⓚ🕒💤❌☪️♈️Ⓑ📈♍️", + u8"😀 😁 😂 🤣 😃 😄 😅 😆 😉 😊 😋 😎 😍 😘 😗 😙 😚 ☺️ 🙂 🤗 🤔 😐 😑 😶 🙄 😏 😣 😥 😮 🤐 😯 😪 😫 😴 😌 😛 😜 😝 🤤 😒 😓 😔 😕 🙃 🤑 😲 ☹️ 🙁 😖 😞 😟 😤 😢 😭 👨‍👨‍👧‍👦 👨‍👨‍👦‍👦 👨‍👨‍👧‍👧 👩‍👩‍👦 👩‍👩‍👧 👩‍👩‍👧‍👦 👩‍👩‍👦‍👦 👩‍👩‍👧‍👧 👨‍👦 👨‍👦‍👦 👨‍👧 👨‍👧‍👦 👨‍👧‍👧 👩‍👦👩‍👦‍👦👩‍👧👩‍👧‍👦👩‍👧‍👧🤳💪👈👉☝️👆🖕👇✌️🤞🖖🤘🖐✋👌👍👎✊👊🤛🤜🤚👋✍️👏👐🙌🤲🙏🤝💅👂👃👣👀👁👅👄💋👶🍼", + u8"儿勒屁艾 艾艾西艾 艾艾 西吉艾艾伊娜伊ㄚ口∪尺 れ工匚K 工れ 匚卄工れモちモ㊜㊒㊘㊕ ㊐㊋㊅㊍ ㊋㊐ ㊅㊊㊋㊐㊇㊖㊇", + u8"б, в, г, д, ж, з, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ. ЯДЙDФԠ ЯЦSSЇДИ ҪҤДЯДҪГЭЯS rxtGOLmâZY くできやせろびぬぴぜ", + u8"Νερά ψηλά λύπη αφτί ας ψυχή τι λόγω. Του φίλ διά γεφυρώνει ανίχνευση διεύρυνση. Όλο μήπως τομέα πρώτο στους δις νόημα εάν του. Παιδείας ομορφιάς καλύτερα ας με. Παραγωγή προθέαση σε κουλιζάρ παραπάνω υπ. Πώς δικούς στήθος πόντου πως θέατρο θέληση σίδερο. Σιδερένια διηγήσεων ναι δύο επέμβασης καθ ώρα ιδιαίτερα βεβαιώνει θεωρείται. Βλ νερο τη να ύλης μτφρ τέλη. Ας ρόλων τη χώρων υπ αφορά είδος είπεν. ", + u8"למעלה מנוסה והסוס יעבור הנעשה. רגליים המכולת משונות הדרושה פנימית חודשית. את אל בגידת צד רב בתנאי ונפשו עד שש. או שב גם יד ולטש בשטף אדמת וילך הרשו וכבר. ידו העב לכל והיא ריח פוּ גַּם מַה זרמי רחץ ודה. ערך הלא זהב במבטיהם כבן בַּכֹּל הגאיוני ספק פרש קצה שנת. ", + u8"Daje puściliśmy angielskiego służącéj Mury zostawioném sine sejm złotogłów Nogi. Białopiotrowiczowi farb dali jest kart nię. Póki śnie niewidział publicznych grzmi głos myśliwców czaty. Widzę Białopiotrowiczem panów Dozoru śrót ranną szyją. Drobnemi wyznania jedwab schowany różowe potokiem podawano wiarę schyla szepce czasem martwy. Król spokojniejszych rosciągnionych ciemnozieloném obrok kilkn wcale pokrewieństwem Musim echem niepowiedziała. Zbyt lecz noty nowe kula nóg Znam. Sama rumieńcem Zaszumiał lśnących Zbyt skórzaną młodzież nosy. Powoli Waść siadł Anglii robota twarze. ", + u8"Плоть взята ее яд Тя ли их Одним Ни ИЗ ликом мя броня. . Воли Вы Ты тула душе Уж неба уз соты блат. Слетите отвечал богатых. Сем при глад ГРОМ дела Дуб чашу рок тел сны ров. Своих малых Приди враги. . По ты ум Кто то же ее. ", + u8"Ове Као међ језераца метеризи положене лед има упорство ред. Већ moschatus Сви сва Dwellings giganteum муљ. Ursus Bison alces ~ПРВОБИТНА Jolly Eleph Munro. Сл те би лице сиге Сохе сати тиме на То за веку. Рипе Снег лек међ код Доњи већ виле итд. Употреба Но кватерно кречњака друкчија им Он Ми. Пак megaceros има Hipparion бар moschatus amphibius giganteum europaeus све. Hipparion spelea giganteum нам Dwellings moschatus још ова ову. Ursus дрвета дрвено alces Jolly Eleph Munro шљунка судова Bison. Коњ Ако ватра“ „Усред чак eximia или. ", + u8"æ«ââèêøóòôå", + u8"誨 後竊聽 白圭志 」 關雎 不稱讚 覽 曰: 第十一回 矣 出 耳. 關雎 」 事 ,可 意 誨 出. 樂而不淫 危德至 白圭志 後竊聽 分得意. 汗流如雨 吉安而來 父親回衙. 去 矣 覽 曰: 事. 父親回衙 意 玉,不題 汗流如雨 矣 」 覽 誨 去 吉安而來 出 冒認收了. 冒認收了 吉安而來 父親回衙 玉,不題 汗流如雨. 以測機 分得意 建章曰: 在一處. 分得意 建章曰: 第十一回 在一處 樂而不淫 後竊聽. 第十一回 訖乃返 分得意 建章曰:. 意 矣 曰: 耳 誨 去 」 事. 德泉淹 曰: 耳 第七回 招」 出 第五回 ,可 矣 意 」 誨. 父親回衙 汗流如雨 吉安而來 玉,不題 冒認收了. ", + // A very long string + u8",可 第七回 貢院 去 第四回 第二回 出 」. 訖乃返 後竊聽 危德至 分得意 樂而不淫. 」 出 意 ,可. 此是後話 ,愈聽愈惱 也懊悔不了 饒爾去罷」. 第三回 第五回 第二回 了」. 玉,不題 事 汗流如雨 去 冒認收了 耳 吉安而來 意 誨 出. 矣 」 出 意. 曰: 意 饒爾去罷」 事 此是後話 出 去 ,愈聽愈惱 也懊悔不了. 也懊悔不了 饒爾去罷」 ,愈聽愈惱. 耳 」 ,可 誨. 覽 耳 曰: 矣 意. 曰: 覽 出 耳 ,可. 覽 耳 曰: ,可 去 意 誨 事. 去 矣 誨 曰: 耳. 關雎 覽 」 事. 」 關雎 不稱讚 第十一回 覽 以測機 訖乃返 白圭志 分得意 ,可. 驚異 覽 耳 事 貢院 第六回 」 出 關雎 了」 第七回. 羨殺 第九回 相域 驚異 了」 德泉淹. 饒爾去罷」 關雎 此是後話 誨 也懊悔不了 ,愈聽愈惱 出 去. 覽 曰: 矣 誨 出.樂而不淫 第十一回 在一處 訖乃返 建章曰:.耳 去 事 後竊聽 」 矣 第十一回 樂而不淫.誨 關雎 去 矣.耳 誨 去 ,可 覽 曰:.出 意 誨 去 ,可 曰: 耳 事.覽 關雎 誨 事 」.建章曰: 樂而不淫 分得意.矣 ,可 饒爾去罷」 出 也懊悔不了 此是後話 ,愈聽愈惱 去.第九回 第六回 不題 招」 第七回 德泉淹.去 覽 羨殺 招」 第九回 意 第八回 」 矣 耳 曰: 第六回.事 曰: 後竊聽 」 意 白圭志 訖乃返 耳 第十一回 樂而不淫 去.耳 矣 覽 誨 事 關雎 曰: 」.,可 關雎 建章曰: 去 己轉身 覽 事 白圭志 以測機 分得意 樂而不淫 矣 耳 」.父親回衙 吉安而來 玉,不題 冒認收了 汗流如雨.耳 」 矣 事 意 出.冒認收了 玉,不題 父親回衙.吉安而來 汗流如雨 父親回衙 玉,不題 冒認收了.曰: ,可 關雎 意 」 出 覽 矣. Ярмом Венец Клоню часть славы средь.Ее скрепим спокоен Их ст Ангелов явленья То обитает на.Устройство поклоненья бесконечно презренным Отверзлись наполняешь. ..Посвятясь Род Див искренних чел потрясают Арф судилищах.Ниспошли насажден вздыхать Последуя..Звучней Господу ах Из за но Взжигай ея Ту возношу.Но ее Те То НА ту не яр.Вы ах Но во блаженстве воскрешает за Аз милосердие ею МЕЩЕРСКОГО воскресясь.Уж почитает За Ту истлеваю происшел бы.Те Но вы за Ум.Кои душ риз Шум.По Ни их ко из дальнейшие Но Ее всеконечно бледностью ты.Миг Снедает сей всю тму кротким Ходатай чуд громады.До Ах на Мы уж Он ль Со.Та ИЗ оспорить вселенну гл ты Уж погибают называем.Сие Ограждал праотцев ней тон мог Бледнеет она дал привесть тук пал благости Подвигни.Ухищреньем вознесется душ жив Злы Благословя кущ сил утесненных Муж блаженстве устремился.Как мои эхо уха.Питатель ей По Да спокойно Ты те ВВЕДЕНИЕ НА ах же.Ток гул иду рок сих.Дал ран Стрегущи Крепость сие Божеству действий Бог риз оны.Кое под Уже чьи еще.Объявил цевницы ей несется Блеснет по Да По подпора пройдет Им.Мне Обратится СЕТОВАНИЕ вой поя Взгляните ини вне.Во яд Мы же По до..Со Мы Вы То он да Но Им.Сем Кои василисков потряслась уму гор уха под тме ПРАВОСУДИЕ мою стряхнутся.Неверие Мир Сын посетит Они Меч Яры находит.Ли ад Но Ум Мы ее ст.Мой ток мое Нем поклоняюсь бег сад царствуешь сотворится Соделалось ПОБЕДИТЕЛЮ душ Яры всесильным.Чтя мир Род пал Мне кем зде.Гл Вы Кто но бы Аз мя ад.Муж ног ней гул вот.Их ни Ум мя ах.Ни до ах от Ах об се Ты.Бог над Мой тощ риз Гул вне.Же Он во та то..Увы ней чая бег цел где Кем эхо. ..Объятие имя Чья цел мирские бояться она тел.Дел мое роз вам жен дух див. .Спустились низвергнул ВЕЛИЧЕСТВО рассуждает неимоверна.кто из Но Ту ею Ея Из вы им.Сии Сын ему Лию сын увы кит.Тме сие Дух лия это Душ дна рек. ..Терновых весельем опустели за ее Небесная ей Да блистали нисходят Ту Ум.Наполняяй тех сей поя Несметных отлученье жег исчислить сокровище утешитель.Ее Ко бы Се..Покрылся восходит скорбеть трисвяту.Ни вожу яр рдел очам ни мя Ум Паче Се Даст люди.Ль он Во Аз.Жил Моя лиц лес иду жег.Вся единым рай Имя стезею дым грозно.Же ИЗ день он слов Тя не Царь дуть Кого.Муж Зри меж вод ров ков.Дав Зло мое врагу все Все даешь Древа Зорят Час.Роз оно врагам иду Объяты гореть терзав вод сделал.Тех ими быв мог.Тощ вот мир зло.Нощь Дочь бьет Свет сшел.Чая Был Тот сна выя чин..Ст та ее мы.Ρεαλισμός ως εμπειρίες συνείδηση στιγμιαία ευγένειας αρ συμβαίνει.Ταυτίζεται καθίσταται όλα παιγνιώδης λογοτεχνών δεν ενώ νέα.Ύπαρξη τις ηθικές την του ομάδες χωρική.Οι τη γενιάς ηθικής θα άλλοτε άδειου κίνησή.Πειστική πλοκάμια το καθαυτής αν αρ.Χώρα στον πι το εν πήρε μέσω ότου μέλη.Όλη σχολικά αντλούν την γέροντα κώδικες.Βλ να αδακά σο τύπου τολμά λάβει εβγάλ.Αγαπά μάγον στα για μερ θλίψη ήσυχα.Με αρ όψεις αυτών χαθεί νόημα κι επαφή.Πολιτικές να βιαστικές κι υψηλότερο μελετητές διατήρηση πω το.Ασυνήθιστη κοινωνικών υπό όλα θεωρητικοί υποθετικού παλαιότερα φιλολογική.Τράβηξε έστελνε τι ανέλιξη σο διάφορα ακροατή αλλαγές ας.Ούτε πει όλη και τσεν τις ωχρό.Κόσμου κόκκος τη οποίας τίτλος έν έπεται κι κανείς.Εάν πρώτο κλαίω πια οποίο ήξερε απ΄ απλώς τυχόν.Τότε την πήρε μερ ούτε θεός.Έργου μη κύριο κύρια ατ ήθελε ευτάς να.Πιο τόζλουτζας μια μικρόκοσμο συναντούμε διηγήματος από όλα.Δόσιμο δάκρυα πώς έκρυβε ροζ πρέπει και επί.Κινήματος το παράλληλα μαρτυρούν με περίτεχνο.Έτον έναν ου έτσι όπου αφού ως.Εξελικτική να το υπερφυσικό καταθέσουν καπετάνιου εντάσσεται υποσχέθηκε.Θα παρόμοια κόνσολον ρητορική ας καλύτερη ανάγνωση οι.Επούλ του τάξης σοφία βράδυ προ που πηγές όλα.Τα εκ σε ακούμε μορφής γενιάς.Κατά τάση πήγε εφ νέου θα μόνο νέας.Ροζ προπαντός υπό πολυφωνία παρατηρεί φίλ κατασκευή θεωρητική.Συν αντίστροφα μια λασπωμένες κατ διανοητικά μια.Μετάβαση όλο συμβολής προ απαγωγέα διήγησης ευρύτερο.Διάφορες και πρόσφατο όσο μετάβαση δυνητική ναι μητρικές.Χρειάζεσθε μου την υποτίθεται κλπ που παραμυθιού.Προκύψει εκ κι ευελιξία το σε ιστορικά ιστορικό.Διά πια πλήρει ισχυρό έζησαν σην ανάγκη καθ.Μη παράδοξη οφείλουν οι ευέλικτη ιι.Όλα προοπτική του νεότερους βασίζεται νέα παράλληλα.Ως πραγματικό παραπέμπει ας ου αναγνωστών λογοτεχνία.Στο άξιος εδώ ευρήκ δίοδο αρετή είχαν φάρσα.Γιαννίτς όσο τράνταξε υπό για δις ανάδοχου αφετέρου βιάστηκε ιστορικο.Εφτά φίλ λύπη αυτή ενώ όμως δύο δις.Ζωή γυναίκας αναδόχου μην στοιχείο.Εκφραστικό αρ ου θα ανέκφραστη πι επικρατούν στρατηγική υποβλητικό.Προκύψει να ωμότητες συνήθιζε μη εξαιτίας ανέδειξε.Εμφανής ευτελής χιούμορ αν θεωριών να ου.Διαδίκτυο παιχνίδια παραμένει αν αρ.Επιβληθούν κατασκευής προέρχεται το απ μαθητεύσει διηγημάτων ατ με.Υπ άντλησης ορίζεται κειμένου αλήθειες σο.Ροή έξω δις εξής αργά έργο του.Μικρούς αφορούν μαγικού στα κωμωδία αρχίζει πια.Εφ συνδέοντας σε αρ κατακλυσμό λογοτεχνία παραλλαγές ενδιαφέρον αισθάνεται.Ιστορικά τα δεύτερον νοημάτων πνιγμένο τι νε.Σε πολλαπλούς τι απευθύνουν μεγαλύτερο εκφραστικό.Θα εύθραυστη τα μεταβολές φουσκάλες γνωστικής.Διηνεκή μελέτης φόρεμαν πρόσωπα ας οι εξορίες πα επώνυμη.Σοφίας αντοχή μαγεία ως τριπλή οι.Προκύπτει μπαστούνι έν με φοβετζέας εν ισορροπία.Ου οράματος παράδοση καλώντας τη.Στάσης εκ μαγεία με μαρίτσ τα το μηνύει γόνατό.Κοίταζαν παιδικής ξαντίνου θα κινήσεις αν περίοδος.Ορατό ώμους χλομό πίστη εν αρχής άλλες το.Μπροστά όλα κεί βλέπετε σπιτιού.Αρ παρήγαγε το νε κάποιους διαφέρει.Εύθραυστη συναλλαγή κυριαρχία ζώγ για και συνείδηση διηγήσεων.Τα τα με σύμβαση παγίωση αν ανάμεσα.Ακούμε ταφικά τη πρέπει εφ με φεύγει μεγάλη.Άμαν του εδώ μαμά νέοι και καθ άλλο.Παραμυθιού ενοχλήσεις ταυτότητάς σε τα θα κι συγγραφική.Αναφορές πα σκοτωθεί γέροντες απαγωγής πρακτική να.Ακατόρθωτο λογοτεχνία ως οικογένειά με χολάσκεται σο να.Τον απ΄ εις μένει πει επικό ζωηρό.Ηρωίδας δεύτερη παιδικό ένα ρου.Παιγνιώδης δημιουργία επί στο παρατήρηση νέο αναφέρθηκε δεν.Ενώ πατρικές γλωσσική εκκίνηση απόλαυση άγνωστες στα ροζ.Εντάμωσεν αναδύεται πολυφωνία κι ως αποβαίνει πι απόσπασμα μπρούμυτα ατ.Νέα χλομό όλη ατο άμεσα εντός πλέον κυρία αγαπά κλπ.", + // The empty string + u8""}; } // namespace Microsoft::React::Test diff --git a/vnext/Desktop.UnitTests/WebSocketModuleTest.cpp b/vnext/Desktop.UnitTests/WebSocketModuleTest.cpp index a30f6294168..f3d64c5b4ad 100644 --- a/vnext/Desktop.UnitTests/WebSocketModuleTest.cpp +++ b/vnext/Desktop.UnitTests/WebSocketModuleTest.cpp @@ -11,17 +11,9 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace Microsoft::React::Test { TEST_CLASS(WebSocketModuleTest) { - enum class MethodId : size_t { - Connect = 0, - Close = 1, - Send = 2, - SendBinary = 3, - Ping = 4, - SIZE = 5 - }; - - const char *MethodName[static_cast(MethodId::SIZE)]{ - "connect", "close", "send", "sendBinary", "ping"}; + enum class MethodId : size_t { Connect = 0, Close = 1, Send = 2, SendBinary = 3, Ping = 4, SIZE = 5 }; + + const char *MethodName[static_cast(MethodId::SIZE)]{"connect", "close", "send", "sendBinary", "ping"}; TEST_METHOD(WebSocketModuleTest_CreateModule) { auto module = std::make_unique(); @@ -31,8 +23,7 @@ TEST_CLASS(WebSocketModuleTest) { auto methods = module->getMethods(); for (size_t i = 0; i < static_cast(MethodId::SIZE); i++) { - Assert::AreEqual( - std::string(MethodName[i]), std::string(methods[i].name)); + Assert::AreEqual(std::string(MethodName[i]), std::string(methods[i].name)); } Assert::AreEqual(static_cast(0), module->getConstants().size()); diff --git a/vnext/Desktop/ABI/MemoryTracker.cpp b/vnext/Desktop/ABI/MemoryTracker.cpp index 092fcff51dd..1061600968d 100644 --- a/vnext/Desktop/ABI/MemoryTracker.cpp +++ b/vnext/Desktop/ABI/MemoryTracker.cpp @@ -7,11 +7,9 @@ #include "MessageQueueShim.h" namespace winrt::facebook::react::implementation { -MemoryTracker::MemoryTracker( - facebook::react::IMessageQueue const &callbackMessageQueue) { +MemoryTracker::MemoryTracker(facebook::react::IMessageQueue const &callbackMessageQueue) { m_internalMemoryTracker = ::facebook::react::CreateMemoryTracker( - std::make_shared<::facebook::react::MessageQueueShim>( - callbackMessageQueue)); + std::make_shared<::facebook::react::MessageQueueShim>(callbackMessageQueue)); } uint64_t MemoryTracker::CurrentMemoryUsage() { @@ -27,8 +25,7 @@ facebook::react::IMessageQueue MemoryTracker::CallbackMessageQueue() { } void MemoryTracker::CallbackMessageQueue(facebook::react::IMessageQueue value) { - m_internalMemoryTracker->SetCallbackMessageQueueThread( - std::make_shared<::facebook::react::MessageQueueShim>(value)); + m_internalMemoryTracker->SetCallbackMessageQueueThread(std::make_shared<::facebook::react::MessageQueueShim>(value)); } uint32_t MemoryTracker::AddThresholdHandler( @@ -36,9 +33,7 @@ uint32_t MemoryTracker::AddThresholdHandler( uint32_t minCallbackIntervalInMilliseconds, facebook::react::MemoryThresholdHandler const &handler) { return static_cast(m_internalMemoryTracker->AddThresholdCallback( - static_cast(threshold), - std::chrono::milliseconds(minCallbackIntervalInMilliseconds), - handler)); + static_cast(threshold), std::chrono::milliseconds(minCallbackIntervalInMilliseconds), handler)); } bool MemoryTracker::RemoveThresholdHandler(uint32_t token) { diff --git a/vnext/Desktop/ABI/MemoryTracker.h b/vnext/Desktop/ABI/MemoryTracker.h index 129630e3f43..30b823e8b6f 100644 --- a/vnext/Desktop/ABI/MemoryTracker.h +++ b/vnext/Desktop/ABI/MemoryTracker.h @@ -32,6 +32,5 @@ struct MemoryTracker : MemoryTrackerT { }; } // namespace winrt::facebook::react::implementation namespace winrt::facebook::react::factory_implementation { -struct MemoryTracker - : MemoryTrackerT {}; +struct MemoryTracker : MemoryTrackerT {}; } // namespace winrt::facebook::react::factory_implementation diff --git a/vnext/Desktop/ABI/MessageQueueShim.cpp b/vnext/Desktop/ABI/MessageQueueShim.cpp index 558876a901c..02230e05db8 100644 --- a/vnext/Desktop/ABI/MessageQueueShim.cpp +++ b/vnext/Desktop/ABI/MessageQueueShim.cpp @@ -4,8 +4,7 @@ namespace facebook::react { -MessageQueueShim::MessageQueueShim( - const ::winrt::facebook::react::IMessageQueue &abiMessageQueue) +MessageQueueShim::MessageQueueShim(const ::winrt::facebook::react::IMessageQueue &abiMessageQueue) : m_abiMessageQueue{abiMessageQueue} {} void MessageQueueShim::runOnQueue(std::function &&item) { diff --git a/vnext/Desktop/ABI/MessageQueueShim.h b/vnext/Desktop/ABI/MessageQueueShim.h index f759163694b..afcf7adce65 100644 --- a/vnext/Desktop/ABI/MessageQueueShim.h +++ b/vnext/Desktop/ABI/MessageQueueShim.h @@ -6,8 +6,7 @@ namespace facebook::react { class MessageQueueShim : public MessageQueueThread { public: - MessageQueueShim( - const ::winrt::facebook::react::IMessageQueue &abiMessageQueue); + MessageQueueShim(const ::winrt::facebook::react::IMessageQueue &abiMessageQueue); virtual void runOnQueue(std::function &&item) override; virtual void runOnQueueSync(std::function &&item) override; virtual void quitSynchronous() override; diff --git a/vnext/Desktop/ABI/NativeLogEventSource.cpp b/vnext/Desktop/ABI/NativeLogEventSource.cpp index 16532d5c413..34170cb86c3 100644 --- a/vnext/Desktop/ABI/NativeLogEventSource.cpp +++ b/vnext/Desktop/ABI/NativeLogEventSource.cpp @@ -15,12 +15,11 @@ ::winrt::facebook::react::NativeLogHandler g_abiHandler; std::atomic g_abiHandlerRegistrationCookie = 0; } // namespace -uint32_t NativeLogEventSource::InitializeLogging( - ::winrt::facebook::react::NativeLogHandler const &handler) { +uint32_t NativeLogEventSource::InitializeLogging(::winrt::facebook::react::NativeLogHandler const &handler) { g_abiHandler = handler; - std::function - internalHandler = [](::facebook::react::RCTLogLevel ll, const char *m) { + std::function internalHandler = + [](::facebook::react::RCTLogLevel ll, const char *m) { assert(g_abiHandler); g_abiHandler(static_cast(ll), Utf8ToUtf16(m)); }; diff --git a/vnext/Desktop/ABI/NativeLogEventSource.h b/vnext/Desktop/ABI/NativeLogEventSource.h index 99119e8ad1f..9a3f94fca0c 100644 --- a/vnext/Desktop/ABI/NativeLogEventSource.h +++ b/vnext/Desktop/ABI/NativeLogEventSource.h @@ -5,13 +5,10 @@ namespace winrt::facebook::react::implementation { struct NativeLogEventSource { NativeLogEventSource() = default; - static uint32_t InitializeLogging( - facebook::react::NativeLogHandler const &handler); + static uint32_t InitializeLogging(facebook::react::NativeLogHandler const &handler); static void UninitializeLogging(uint32_t cookie); }; } // namespace winrt::facebook::react::implementation namespace winrt::facebook::react::factory_implementation { -struct NativeLogEventSource : NativeLogEventSourceT< - NativeLogEventSource, - implementation::NativeLogEventSource> {}; +struct NativeLogEventSource : NativeLogEventSourceT {}; } // namespace winrt::facebook::react::factory_implementation diff --git a/vnext/Desktop/ABI/NativeTraceEventSource.cpp b/vnext/Desktop/ABI/NativeTraceEventSource.cpp index 7af6d6d63ea..2f6719f7c24 100644 --- a/vnext/Desktop/ABI/NativeTraceEventSource.cpp +++ b/vnext/Desktop/ABI/NativeTraceEventSource.cpp @@ -15,9 +15,7 @@ ::winrt::facebook::react::INativeTraceHandler g_abiHandler; std::atomic g_abiHandlerRegistrationCookie = 0; class InternalHandler : public ::facebook::react::INativeTraceHandler{ - public : virtual void JSBeginSection( - const char *profileName, - const char *args) noexcept override{ + public : virtual void JSBeginSection(const char *profileName, const char *args) noexcept override{ g_abiHandler.JSBeginSection(Utf8ToUtf16(profileName), Utf8ToUtf16(args)); } // namespace @@ -25,15 +23,11 @@ virtual void JSEndSection() noexcept override { g_abiHandler.JSEndSection(); } -virtual void JSBeginAsyncSection( - const char *profileName, - int cookie) noexcept override { +virtual void JSBeginAsyncSection(const char *profileName, int cookie) noexcept override { g_abiHandler.JSBeginAsyncSection(Utf8ToUtf16(profileName), cookie); } -virtual void JSEndAsyncSection( - const char *profileName, - int cookie) noexcept override { +virtual void JSEndAsyncSection(const char *profileName, int cookie) noexcept override { g_abiHandler.JSEndAsyncSection(Utf8ToUtf16(profileName), cookie); } @@ -41,18 +35,13 @@ virtual void JSCounter(const char *profileName, int value) noexcept override { g_abiHandler.JSCounter(Utf8ToUtf16(profileName), value); } -virtual void NativeBeginSection( - const char *profileName, - const char *args) noexcept override { +virtual void NativeBeginSection(const char *profileName, const char *args) noexcept override { g_abiHandler.NativeBeginSection(Utf8ToUtf16(profileName), Utf8ToUtf16(args)); } -virtual void NativeEndSection( - const char *profileName, - const char *args, - std::chrono::nanoseconds duration) noexcept override { - g_abiHandler.NativeEndSection( - Utf8ToUtf16(profileName), Utf8ToUtf16(args), duration.count()); +virtual void +NativeEndSection(const char *profileName, const char *args, std::chrono::nanoseconds duration) noexcept override { + g_abiHandler.NativeEndSection(Utf8ToUtf16(profileName), Utf8ToUtf16(args), duration.count()); } private: @@ -60,8 +49,7 @@ virtual void NativeEndSection( g_internalHandler; } -uint32_t NativeTraceEventSource::InitializeTracing( - ::winrt::facebook::react::INativeTraceHandler const &handler) { +uint32_t NativeTraceEventSource::InitializeTracing(::winrt::facebook::react::INativeTraceHandler const &handler) { g_abiHandler = handler; ::facebook::react::InitializeTracing(&g_internalHandler); return ++g_abiHandlerRegistrationCookie; diff --git a/vnext/Desktop/ABI/NativeTraceEventSource.h b/vnext/Desktop/ABI/NativeTraceEventSource.h index d3244cf2deb..1aab1ebb0c4 100644 --- a/vnext/Desktop/ABI/NativeTraceEventSource.h +++ b/vnext/Desktop/ABI/NativeTraceEventSource.h @@ -5,13 +5,11 @@ namespace winrt::facebook::react::implementation { struct NativeTraceEventSource { NativeTraceEventSource() = default; - static uint32_t InitializeTracing( - facebook::react::INativeTraceHandler const &handler); + static uint32_t InitializeTracing(facebook::react::INativeTraceHandler const &handler); static void UninitializeTracing(uint32_t cookie); }; } // namespace winrt::facebook::react::implementation namespace winrt::facebook::react::factory_implementation { -struct NativeTraceEventSource : NativeTraceEventSourceT< - NativeTraceEventSource, - implementation::NativeTraceEventSource> {}; +struct NativeTraceEventSource + : NativeTraceEventSourceT {}; } // namespace winrt::facebook::react::factory_implementation diff --git a/vnext/Desktop/CxxReactWin32/JSBigString.cpp b/vnext/Desktop/CxxReactWin32/JSBigString.cpp index ae604275c19..3defc5e6d0d 100644 --- a/vnext/Desktop/CxxReactWin32/JSBigString.cpp +++ b/vnext/Desktop/CxxReactWin32/JSBigString.cpp @@ -40,8 +40,7 @@ int JSBigFileString::fd() const { std::terminate(); } -std::unique_ptr JSBigFileString::fromPath( - const std::string &sourceURL) { +std::unique_ptr JSBigFileString::fromPath(const std::string &sourceURL) { std::terminate(); } diff --git a/vnext/Desktop/DevSupportManager.cpp b/vnext/Desktop/DevSupportManager.cpp index e8adc56f9ab..74bea620155 100644 --- a/vnext/Desktop/DevSupportManager.cpp +++ b/vnext/Desktop/DevSupportManager.cpp @@ -40,16 +40,10 @@ void DevSupportManager::StopPollingLiveReload() { } }; -JSECreator DevSupportManager::LoadJavaScriptInProxyMode( - const DevSettings &settings) { - return [settings]( - shared_ptr delegate, - shared_ptr jsQueue) { +JSECreator DevSupportManager::LoadJavaScriptInProxyMode(const DevSettings &settings) { + return [settings](shared_ptr delegate, shared_ptr jsQueue) { auto websocketJSE = make_unique(delegate, jsQueue); - websocketJSE - ->ConnectAsync( - DevServerHelper::get_WebsocketProxyUrl(settings.debugHost), - settings.errorCallback) + websocketJSE->ConnectAsync(DevServerHelper::get_WebsocketProxyUrl(settings.debugHost), settings.errorCallback) .wait(); return websocketJSE; }; @@ -59,12 +53,8 @@ string DevSupportManager::GetJavaScriptFromServer( const string &debugHost, const string &jsBundleName, const string &platform) { - auto bundleUrl = DevServerHelper::get_BundleUrl( - debugHost, - jsBundleName, - platform /*platform*/, - "true" /*dev*/, - "false" /*hot*/); + auto bundleUrl = + DevServerHelper::get_BundleUrl(debugHost, jsBundleName, platform /*platform*/, "true" /*dev*/, "false" /*hot*/); try { Url url(bundleUrl); @@ -82,9 +72,7 @@ string DevSupportManager::GetJavaScriptFromServer( response response; parser p{std::move(response)}; - p.body_limit( - 25 * 1024 * - 1024); // 25MB (boost default of 1MB is too small for dev bundles) + p.body_limit(25 * 1024 * 1024); // 25MB (boost default of 1MB is too small for dev bundles) read(socket, buffer, p.base()); response = p.release(); @@ -98,12 +86,8 @@ string DevSupportManager::GetJavaScriptFromServer( } } -void DevSupportManager::StartPollingLiveReload( - const string &debugHost, - std::function onChangeCallback) { - auto t = create_task([this, - debugHost, - onChangeCallback = move(onChangeCallback)] { +void DevSupportManager::StartPollingLiveReload(const string &debugHost, std::function onChangeCallback) { + auto t = create_task([this, debugHost, onChangeCallback = move(onChangeCallback)] { cancellation_token token = m_liveReloadCts.get_token(); while (!token.is_canceled()) { try { @@ -122,8 +106,7 @@ void DevSupportManager::StartPollingLiveReload( response response; read(socket, buffer, response); - if (response.result_int() == 205 /*ResetContent*/ && - !token.is_canceled()) + if (response.result_int() == 205 /*ResetContent*/ && !token.is_canceled()) onChangeCallback(); } catch (const std::exception & /*e*/) { // Just let the live reload stop working when the connection fails, @@ -133,9 +116,7 @@ void DevSupportManager::StartPollingLiveReload( }); } -task DevSupportManager::LaunchDevToolsAsync( - const string &debugHost, - const cancellation_token &token) { +task DevSupportManager::LaunchDevToolsAsync(const string &debugHost, const cancellation_token &token) { auto t = task_from_result(); return t.then([=]() { diff --git a/vnext/Desktop/DevSupportManager.h b/vnext/Desktop/DevSupportManager.h index ea9e3b68471..8d09302348a 100644 --- a/vnext/Desktop/DevSupportManager.h +++ b/vnext/Desktop/DevSupportManager.h @@ -16,9 +16,8 @@ namespace facebook { namespace react { -using JSECreator = std::function( - std::shared_ptr, - std::shared_ptr)>; +using JSECreator = + std::function(std::shared_ptr, std::shared_ptr)>; struct DevSettings; @@ -27,19 +26,15 @@ class DevSupportManager : public IDevSupportManager { DevSupportManager(); ~DevSupportManager(); - virtual JSECreator LoadJavaScriptInProxyMode( - const DevSettings &settings) override; + virtual JSECreator LoadJavaScriptInProxyMode(const DevSettings &settings) override; #if !defined(OSS_RN) - virtual JSECreator LoadJavaScriptInSandboxMode( - const DevSettings &settings) override; + virtual JSECreator LoadJavaScriptInSandboxMode(const DevSettings &settings) override; #endif virtual std::string GetJavaScriptFromServer( const std::string &debugHost, const std::string &jsBundleName, const std::string &platform) override; - virtual void StartPollingLiveReload( - const std::string &debugHost, - std::function onChangeCallback) override; + virtual void StartPollingLiveReload(const std::string &debugHost, std::function onChangeCallback) override; virtual void StopPollingLiveReload() override; virtual bool HasException() override { return m_exceptionCaught; @@ -48,8 +43,7 @@ class DevSupportManager : public IDevSupportManager { private: Concurrency::task LaunchDevToolsAsync( const std::string &debugHost, - const Concurrency::cancellation_token &token = - Concurrency::cancellation_token::none()); + const Concurrency::cancellation_token &token = Concurrency::cancellation_token::none()); bool m_exceptionCaught = false; boost::asio::io_context m_context; diff --git a/vnext/Desktop/Executors/WebSocketJSExecutor.cpp b/vnext/Desktop/Executors/WebSocketJSExecutor.cpp index 04c3687a118..887e82b9cbd 100644 --- a/vnext/Desktop/Executors/WebSocketJSExecutor.cpp +++ b/vnext/Desktop/Executors/WebSocketJSExecutor.cpp @@ -53,15 +53,13 @@ void WebSocketJSExecutor::loadApplicationScript( lock_guard lock(m_lockPromises); m_promises.emplace(requestId, std::move(requestPromise)); } - dynamic request = - dynamic::object("id", requestId)("method", "executeApplicationScript")( - "url", script->c_str())("inject", m_injectedObjects); + dynamic request = dynamic::object("id", requestId)("method", "executeApplicationScript")("url", script->c_str())( + "inject", m_injectedObjects); string str = toJson(request); try { if (State::Running != m_state) - throw std::exception( - "Executor instance not connected to a WebSocket endpoint."); + throw std::exception("Executor instance not connected to a WebSocket endpoint."); SendMessageAsync(requestId, std::move(str)).get(); if (State::Error == m_state) @@ -76,20 +74,14 @@ void WebSocketJSExecutor::loadApplicationScript( } } -void WebSocketJSExecutor::setBundleRegistry( - unique_ptr bundleRegistry) {} +void WebSocketJSExecutor::setBundleRegistry(unique_ptr bundleRegistry) {} -void WebSocketJSExecutor::registerBundle( - uint32_t /*bundleId*/, - const std::string & /*bundlePath*/) { +void WebSocketJSExecutor::registerBundle(uint32_t /*bundleId*/, const std::string & /*bundlePath*/) { // NYI std::terminate(); } -void WebSocketJSExecutor::callFunction( - const string &moduleId, - const string &methodId, - const dynamic &arguments) { +void WebSocketJSExecutor::callFunction(const string &moduleId, const string &methodId, const dynamic &arguments) { dynamic jArray = dynamic::array(moduleId, methodId, arguments); auto calls = Call("callFunctionReturnFlushedQueue", jArray); if (m_delegate && !IsInError()) { @@ -97,9 +89,7 @@ void WebSocketJSExecutor::callFunction( } } -void WebSocketJSExecutor::invokeCallback( - const double callbackId, - const dynamic &arguments) { +void WebSocketJSExecutor::invokeCallback(const double callbackId, const dynamic &arguments) { dynamic jArray = dynamic::array(callbackId, arguments); auto calls = Call("invokeCallbackAndReturnFlushedQueue", jArray); if (m_delegate && !IsInError()) { @@ -107,9 +97,7 @@ void WebSocketJSExecutor::invokeCallback( } } -void WebSocketJSExecutor::setGlobalVariable( - string propName, - unique_ptr jsonValue) { +void WebSocketJSExecutor::setGlobalVariable(string propName, unique_ptr jsonValue) { m_injectedObjects[propName] = string(jsonValue->c_str()); } @@ -141,25 +129,20 @@ std::future WebSocketJSExecutor::ConnectAsync( m_errorCallback = std::move(errorCallback); m_webSocket = IWebSocket::Make(webSocketServerUrl); - m_webSocket->SetOnMessage([this](size_t /*length*/, const string &message) { - this->OnMessageReceived(message); - }); - m_webSocket->SetOnError( - [this](const IWebSocket::Error &err) { this->SetState(State::Error); }); + m_webSocket->SetOnMessage([this](size_t /*length*/, const string &message) { this->OnMessageReceived(message); }); + m_webSocket->SetOnError([this](const IWebSocket::Error &err) { this->SetState(State::Error); }); try { promise connectPromise; if (!IsConnected()) { - m_webSocket->SetOnConnect( - [&connectPromise]() { connectPromise.set_value(); }); + m_webSocket->SetOnConnect([&connectPromise]() { connectPromise.set_value(); }); m_webSocket->Connect({} /*protocols*/, {} /*options*/); } else { connectPromise.set_value(); } - auto status = connectPromise.get_future().wait_for( - std::chrono::milliseconds(ConnectTimeoutMilliseconds)); + auto status = connectPromise.get_future().wait_for(std::chrono::milliseconds(ConnectTimeoutMilliseconds)); if (std::future_status::ready != status) { m_errorCallback("Timeout: Failed to connect to the dev server"); m_webSocket->Close(IWebSocket::CloseCode::ProtocolError, "Timed out"); @@ -176,9 +159,7 @@ std::future WebSocketJSExecutor::ConnectAsync( resultPromise.set_value(IsRunning()); return resultPromise.get_future(); // TODO: Return bool instead? } catch (const std::exception &) { - m_errorCallback( - IsConnected() ? "Timeout: preparing JS runtime" - : "Timeout: Failed to connect to the dev server"); + m_errorCallback(IsConnected() ? "Timeout: preparing JS runtime" : "Timeout: Failed to connect to the dev server"); try { m_webSocket->Close(IWebSocket::CloseCode::ProtocolError, "Timed out"); @@ -194,8 +175,7 @@ std::future WebSocketJSExecutor::ConnectAsync( #pragma region private members -/*static*/ const string WebSocketJSExecutor::s_description = - "WebSocketJSExecutor"; +/*static*/ const string WebSocketJSExecutor::s_description = "WebSocketJSExecutor"; void WebSocketJSExecutor::PrepareJavaScriptRuntime() { promise requestPromise; @@ -205,8 +185,7 @@ void WebSocketJSExecutor::PrepareJavaScriptRuntime() { m_promises.emplace(requestId, std::move(requestPromise)); } - dynamic request = - dynamic::object("id", requestId)("method", "prepareJSRuntime"); + dynamic request = dynamic::object("id", requestId)("method", "prepareJSRuntime"); string str = toJson(request); SendMessageAsync(requestId, std::move(str)).get(); @@ -222,14 +201,12 @@ string WebSocketJSExecutor::Call(const string &methodName, dynamic &arguments) { m_promises.emplace(requestId, std::move(requestPromise)); } - dynamic request = dynamic::object("id", requestId)("method", methodName)( - "arguments", std::move(arguments)); + dynamic request = dynamic::object("id", requestId)("method", methodName)("arguments", std::move(arguments)); string str = toJson(request); try { if (State::Running != m_state) - throw std::exception( - "Executor instance not connected to a WebSocket endpoint."); + throw std::exception("Executor instance not connected to a WebSocket endpoint."); auto message{SendMessageAsync(requestId, std::move(str)).get()}; if (State::Error == m_state) @@ -246,9 +223,7 @@ string WebSocketJSExecutor::Call(const string &methodName, dynamic &arguments) { } } -std::future WebSocketJSExecutor::SendMessageAsync( - int requestId, - string &&message) { +std::future WebSocketJSExecutor::SendMessageAsync(int requestId, string &&message) { if (!IsDisposed()) { m_webSocket->Send(std::move(message)); auto itr = m_promises.find(requestId); diff --git a/vnext/Desktop/Executors/WebSocketJSExecutor.h b/vnext/Desktop/Executors/WebSocketJSExecutor.h index bd69246395c..74345c48b8d 100644 --- a/vnext/Desktop/Executors/WebSocketJSExecutor.h +++ b/vnext/Desktop/Executors/WebSocketJSExecutor.h @@ -41,19 +41,11 @@ class WebSocketJSExecutor : public JSExecutor { std::string &&bytecodeFileName #endif ) override; - void setBundleRegistry( - std::unique_ptr bundleRegistry) override; - virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) - override; - void callFunction( - const std::string &moduleId, - const std::string &methodId, - const folly::dynamic &arguments) override; - void invokeCallback(const double callbackId, const folly::dynamic &arguments) - override; - void setGlobalVariable( - std::string propName, - std::unique_ptr jsonValue) override; + void setBundleRegistry(std::unique_ptr bundleRegistry) override; + virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) override; + void callFunction(const std::string &moduleId, const std::string &methodId, const folly::dynamic &arguments) override; + void invokeCallback(const double callbackId, const folly::dynamic &arguments) override; + void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; void *getJavaScriptContext() override; std::string getDescription() override; #ifdef WITH_JSC_MEMORY_PRESSURE @@ -70,9 +62,7 @@ class WebSocketJSExecutor : public JSExecutor { private: void PrepareJavaScriptRuntime(); std::string Call(const std::string &methodName, folly::dynamic &arguments); - std::future SendMessageAsync( - int requestId, - std::string &&message); + std::future SendMessageAsync(int requestId, std::string &&message); void OnMessageReceived(const std::string &msg); void flush(); diff --git a/vnext/Desktop/Executors/WebSocketJSExecutorFactory.cpp b/vnext/Desktop/Executors/WebSocketJSExecutorFactory.cpp index 05c6dcc918f..6fc2f2eb824 100644 --- a/vnext/Desktop/Executors/WebSocketJSExecutorFactory.cpp +++ b/vnext/Desktop/Executors/WebSocketJSExecutorFactory.cpp @@ -13,8 +13,7 @@ namespace react { #pragma region WebSocketJSExecutorFactory members -WebSocketJSExecutorFactory::WebSocketJSExecutorFactory( - JSECreator &&jsExecutorFactory) +WebSocketJSExecutorFactory::WebSocketJSExecutorFactory(JSECreator &&jsExecutorFactory) : m_jseCreator(std::move(jsExecutorFactory)) {} std::unique_ptr WebSocketJSExecutorFactory::createJSExecutor( @@ -23,8 +22,7 @@ std::unique_ptr WebSocketJSExecutorFactory::createJSExecutor( if (m_jseCreator) return m_jseCreator(delegate, jsQueue); else - return std::unique_ptr( - new WebSocketJSExecutor(delegate, jsQueue)); + return std::unique_ptr(new WebSocketJSExecutor(delegate, jsQueue)); } #pragma endregion WebSocketJSExecutorFactory members diff --git a/vnext/Desktop/HttpResource.cpp b/vnext/Desktop/HttpResource.cpp index 40c9b4a8bed..5e135376c02 100644 --- a/vnext/Desktop/HttpResource.cpp +++ b/vnext/Desktop/HttpResource.cpp @@ -23,8 +23,7 @@ namespace Microsoft::React { namespace Experimental { #pragma region HttpResource members -HttpResource::HttpResource() noexcept - : m_resolver{m_context}, m_socket{m_context} {} +HttpResource::HttpResource() noexcept : m_resolver{m_context}, m_socket{m_context} {} void HttpResource::SendRequest( const string &method, @@ -74,67 +73,51 @@ void HttpResource::SendRequest( m_context.restart(); // Send/Receive request. - m_resolver.async_resolve( - url->host, - url->port, - [this, &req](boostecr ec, tcp::resolver::results_type results) { - if (ec) { - if (m_errorHandler) - m_errorHandler(ec.message()); - } else { - boost::asio::async_connect( - m_socket, - results.begin(), - results.end(), - [this, &req](boostecr ec, const basic_resolver_iterator &) { + m_resolver.async_resolve(url->host, url->port, [this, &req](boostecr ec, tcp::resolver::results_type results) { + if (ec) { + if (m_errorHandler) + m_errorHandler(ec.message()); + } else { + boost::asio::async_connect( + m_socket, results.begin(), results.end(), [this, &req](boostecr ec, const basic_resolver_iterator &) { + if (ec) { + if (m_errorHandler) + m_errorHandler(ec.message()); + } else { + async_write(m_socket, move(req), [this](boostecr ec, size_t size) { if (ec) { if (m_errorHandler) m_errorHandler(ec.message()); } else { - async_write( - m_socket, move(req), [this](boostecr ec, size_t size) { - if (ec) { - if (m_errorHandler) - m_errorHandler(ec.message()); - } else { - if (m_requestHandler) - m_requestHandler(); - - async_read( - m_socket, - m_buffer, - m_response, - [this](boostecr ec, size_t size) { - if (ec) { - if (m_errorHandler) - m_errorHandler(ec.message()); - } else { - if (m_responseHandler) - m_responseHandler( - boost::beast::buffers_to_string( - m_buffer.data())); - - boost::system::error_code bec; - m_socket.shutdown( - tcp::socket::shutdown_both, bec); - if (bec && - boost::system::errc::not_connected != - bec) // not_connected may happen. Not - // an actual error. - { - if (m_errorHandler) - m_errorHandler(bec.message()); - - // ISS:2306365 - Callback? - } - } - }); // async_read - } - }); // async_write + if (m_requestHandler) + m_requestHandler(); + + async_read(m_socket, m_buffer, m_response, [this](boostecr ec, size_t size) { + if (ec) { + if (m_errorHandler) + m_errorHandler(ec.message()); + } else { + if (m_responseHandler) + m_responseHandler(boost::beast::buffers_to_string(m_buffer.data())); + + boost::system::error_code bec; + m_socket.shutdown(tcp::socket::shutdown_both, bec); + if (bec && boost::system::errc::not_connected != bec) // not_connected may happen. Not + // an actual error. + { + if (m_errorHandler) + m_errorHandler(bec.message()); + + // ISS:2306365 - Callback? + } + } + }); // async_read } - }); // async_connect - } - }); // async_resolve + }); // async_write + } + }); // async_connect + } + }); // async_resolve m_context.run(); } @@ -162,13 +145,11 @@ void HttpResource::SetOnRequest(std::function &&handler) noexcept { m_requestHandler = move(handler); } -void HttpResource::SetOnResponse( - std::function &&handler) noexcept { +void HttpResource::SetOnResponse(std::function &&handler) noexcept { m_responseHandler = move(handler); } -void HttpResource::SetOnError( - std::function &&handler) noexcept { +void HttpResource::SetOnError(std::function &&handler) noexcept { m_errorHandler = move(handler); } diff --git a/vnext/Desktop/HttpResource.h b/vnext/Desktop/HttpResource.h index 07b2948e8a8..e663207ea42 100644 --- a/vnext/Desktop/HttpResource.h +++ b/vnext/Desktop/HttpResource.h @@ -44,10 +44,8 @@ class HttpResource : public IHttpResource { void ClearCookies() noexcept override; void SetOnRequest(std::function &&handler) noexcept override; - void SetOnResponse( - std::function &&handler) noexcept override; - void SetOnError( - std::function &&handler) noexcept override; + void SetOnResponse(std::function &&handler) noexcept override; + void SetOnError(std::function &&handler) noexcept override; #pragma endregion }; diff --git a/vnext/Desktop/JSBigStringResourceDll.cpp b/vnext/Desktop/JSBigStringResourceDll.cpp index 644b2437983..0c06db6fb18 100644 --- a/vnext/Desktop/JSBigStringResourceDll.cpp +++ b/vnext/Desktop/JSBigStringResourceDll.cpp @@ -35,9 +35,7 @@ JSBigStringResourceDll::JSBigStringResourceDll(HMODULE dll, HRSRC resource) { } } -std::unique_ptr JSBigStringResourceDll::Make( - HMODULE dll, - HRSRC resource) { +std::unique_ptr JSBigStringResourceDll::Make(HMODULE dll, HRSRC resource) { return std::make_unique(dll, resource); } diff --git a/vnext/Desktop/JSBigStringResourceDll.h b/vnext/Desktop/JSBigStringResourceDll.h index 86e5a88a688..9dc0d76376e 100644 --- a/vnext/Desktop/JSBigStringResourceDll.h +++ b/vnext/Desktop/JSBigStringResourceDll.h @@ -11,9 +11,7 @@ namespace react { class JSBigStringResourceDll final : public JSBigString { public: - static std::unique_ptr Make( - HMODULE dll, - HRSRC resource); + static std::unique_ptr Make(HMODULE dll, HRSRC resource); JSBigStringResourceDll(HMODULE dll, HRSRC resource); diff --git a/vnext/Desktop/LazyDevSupportManager.cpp b/vnext/Desktop/LazyDevSupportManager.cpp index 7c6f042c706..8f5f83683e5 100644 --- a/vnext/Desktop/LazyDevSupportManager.cpp +++ b/vnext/Desktop/LazyDevSupportManager.cpp @@ -17,8 +17,7 @@ void LazyDevSupportManager::EnsureDevSupportManager() noexcept { #pragma region LazyDevSupportManager -JSECreator LazyDevSupportManager::LoadJavaScriptInProxyMode( - const DevSettings &settings) /*override*/ +JSECreator LazyDevSupportManager::LoadJavaScriptInProxyMode(const DevSettings &settings) /*override*/ { EnsureDevSupportManager(); @@ -26,8 +25,7 @@ JSECreator LazyDevSupportManager::LoadJavaScriptInProxyMode( } #if !defined(OSS_RN) -JSECreator LazyDevSupportManager::LoadJavaScriptInSandboxMode( - const DevSettings &settings) /*override*/ +JSECreator LazyDevSupportManager::LoadJavaScriptInSandboxMode(const DevSettings &settings) /*override*/ { EnsureDevSupportManager(); diff --git a/vnext/Desktop/LazyDevSupportManager.h b/vnext/Desktop/LazyDevSupportManager.h index 709b0390819..4d10d23a8a2 100644 --- a/vnext/Desktop/LazyDevSupportManager.h +++ b/vnext/Desktop/LazyDevSupportManager.h @@ -29,9 +29,7 @@ class LazyDevSupportManager : public IDevSupportManager { const std::string &debugHost, const std::string &jsBundleName, const std::string &platform) override; - void StartPollingLiveReload( - const std::string &debugHost, - std::function onChangeCallback) override; + void StartPollingLiveReload(const std::string &debugHost, std::function onChangeCallback) override; void StopPollingLiveReload() override; bool HasException() override; diff --git a/vnext/Desktop/Modules/NetworkingModule.cpp b/vnext/Desktop/Modules/NetworkingModule.cpp index 90d6c678e67..aded1076be2 100644 --- a/vnext/Desktop/Modules/NetworkingModule.cpp +++ b/vnext/Desktop/Modules/NetworkingModule.cpp @@ -36,9 +36,7 @@ IHttpResource *NetworkingModule::GetResource(int64_t requestId) noexcept { OnRequestError(requestId, move(message), false /*isTimeOut*/); }); rc->SetOnRequest([this, requestId]() { OnRequestSuccess(requestId); }); - rc->SetOnResponse([this, requestId](const string &message) { - OnDataReceived(requestId, message); - }); + rc->SetOnResponse([this, requestId](const string &message) { OnDataReceived(requestId, message); }); ptr = rc.get(); m_resources.emplace(requestId, move(rc)); @@ -49,19 +47,12 @@ IHttpResource *NetworkingModule::GetResource(int64_t requestId) noexcept { return ptr; } -void NetworkingModule::OnDataReceived( - int64_t requestId, - const string &data) noexcept { +void NetworkingModule::OnDataReceived(int64_t requestId, const string &data) noexcept { SendEvent("didReceiveNetworkData", dynamic::array(requestId, data)); } -void NetworkingModule::OnRequestError( - int64_t requestId, - const string &error, - bool isTimeOut) noexcept { - SendEvent( - "didCompleteNetworkResponse", - dynamic::array(requestId, error, isTimeOut)); +void NetworkingModule::OnRequestError(int64_t requestId, const string &error, bool isTimeOut) noexcept { + SendEvent("didCompleteNetworkResponse", dynamic::array(requestId, error, isTimeOut)); } void NetworkingModule::OnRequestSuccess(int64_t requestId) noexcept { @@ -73,18 +64,13 @@ void NetworkingModule::OnResponseReceived( int64_t statusCode, const dynamic &headers, const string &url) noexcept { - SendEvent( - "didReceiveNetworkResponse", - dynamic::array(requestId, statusCode, headers, url)); + SendEvent("didReceiveNetworkResponse", dynamic::array(requestId, statusCode, headers, url)); } void NetworkingModule::SendEvent(string &&eventName, dynamic &¶meters) { auto instance = this->getInstance().lock(); if (instance) - instance->callJSFunction( - "RCTDeviceEventEmitter", - "emit", - dynamic::array(move(eventName), move(parameters))); + instance->callJSFunction("RCTDeviceEventEmitter", "emit", dynamic::array(move(eventName), move(parameters))); } #pragma region CxxModule members @@ -97,8 +83,7 @@ map NetworkingModule::getConstants() { return {}; } -vector -NetworkingModule::getMethods() { +vector NetworkingModule::getMethods() { return {Method( "sendRequest", [this](dynamic args, Callback cb) noexcept { @@ -108,8 +93,7 @@ NetworkingModule::getMethods() { auto follyHeaders = params["headers"]; if (!follyHeaders.empty()) { for (auto &header : follyHeaders.items()) { - headers[header.first.getString()] = - header.second.getString(); + headers[header.first.getString()] = header.second.getString(); } } diff --git a/vnext/Desktop/Modules/NetworkingModule.h b/vnext/Desktop/Modules/NetworkingModule.h index cf70b8ee40e..f6648685e60 100644 --- a/vnext/Desktop/Modules/NetworkingModule.h +++ b/vnext/Desktop/Modules/NetworkingModule.h @@ -15,10 +15,7 @@ class NetworkingModule : public facebook::xplat::module::CxxModule { IHttpResource *GetResource(int64_t requestId) noexcept; void OnDataReceived(int64_t requestId, const std::string &data) noexcept; - void OnRequestError( - int64_t requestId, - const std::string &error, - bool isTimeOut) noexcept; + void OnRequestError(int64_t requestId, const std::string &error, bool isTimeOut) noexcept; void OnRequestSuccess(int64_t requestId) noexcept; void OnResponseReceived( int64_t requestId, diff --git a/vnext/Desktop/Modules/TimingModule.cpp b/vnext/Desktop/Modules/TimingModule.cpp index f56fa3ad93e..4ab90421cfe 100644 --- a/vnext/Desktop/Modules/TimingModule.cpp +++ b/vnext/Desktop/Modules/TimingModule.cpp @@ -65,10 +65,7 @@ bool TimerQueue::IsEmpty() const { return m_timerVector.empty(); } -/*static*/ void Timing::ThreadpoolTimerCallback( - PTP_CALLBACK_INSTANCE, - PVOID Parameter, - PTP_TIMER) noexcept { +/*static*/ void Timing::ThreadpoolTimerCallback(PTP_CALLBACK_INSTANCE, PVOID Parameter, PTP_TIMER) noexcept { static_cast(Parameter)->OnTimerRaised(); } @@ -78,26 +75,22 @@ void Timing::OnTimerRaised() noexcept { // Make sure we execute it on native thread for native modules // Capture weak_ptr "this" because callback will be executed on native // thread even if "this" is destroyed. - nativeThread->runOnQueue([weakThis = std::weak_ptr( - shared_from_this())]() { + nativeThread->runOnQueue([weakThis = std::weak_ptr(shared_from_this())]() { auto strongThis = weakThis.lock(); if (!strongThis) { return; } - if ((!strongThis->m_threadpoolTimer) || - strongThis->m_timerQueue.IsEmpty()) { + if ((!strongThis->m_threadpoolTimer) || strongThis->m_timerQueue.IsEmpty()) { return; } folly::dynamic readyTimers = folly::dynamic::array(); auto now = std::chrono::system_clock::now(); - auto now_ms = - std::chrono::time_point_cast(now); + auto now_ms = std::chrono::time_point_cast(now); // Fire timers which will be expired in 10ms - while (!strongThis->m_timerQueue.IsEmpty() && - now_ms > strongThis->m_timerQueue.Front().DueTime - 10ms) { + while (!strongThis->m_timerQueue.IsEmpty() && now_ms > strongThis->m_timerQueue.Front().DueTime - 10ms) { // Pop first timer from the queue and add it to list of timers ready // to fire auto next = strongThis->m_timerQueue.Front(); @@ -110,16 +103,12 @@ void Timing::OnTimerRaised() noexcept { // repetition 'next.Period' being greater than 10ms is intended to // prevent infinite loops if (next.Repeat) - strongThis->m_timerQueue.Push( - Timer{next.Id, now_ms + next.Period, next.Period, true}); + strongThis->m_timerQueue.Push(Timer{next.Id, now_ms + next.Period, next.Period, true}); } if (!readyTimers.empty()) { if (auto instance = strongThis->m_wkInstance.lock()) { - instance->callJSFunction( - "JSTimers", - "callTimers", - folly::dynamic::array(std::move(readyTimers))); + instance->callJSFunction("JSTimers", "callTimers", folly::dynamic::array(std::move(readyTimers))); } else { assert(false && "m_wkInstance.lock failed"); } @@ -156,10 +145,7 @@ void Timing::createTimer( if (scheduledTime + period <= now_ms && !repeat) { if (auto inst = m_wkInstance.lock()) { - inst->callJSFunction( - "JSTimers", - "callTimers", - folly::dynamic::array(folly::dynamic::array(id))); + inst->callJSFunction("JSTimers", "callTimers", folly::dynamic::array(folly::dynamic::array(id))); } else { assert(false && "m_wkInstance.lock failed"); } @@ -211,8 +197,7 @@ bool Timing::KernelTimerIsAboutToFire() noexcept { return false; } -void Timing::SetInstance( - std::weak_ptr instance) noexcept { +void Timing::SetInstance(std::weak_ptr instance) noexcept { if (m_wkInstance.expired()) m_wkInstance = instance; } @@ -237,8 +222,7 @@ void Timing::SetKernelTimer(DateTime dueTime) noexcept { void Timing::InitializeKernelTimer() noexcept { // Create ThreadPoolTimer - m_threadpoolTimer = CreateThreadpoolTimer( - &Timing::ThreadpoolTimerCallback, static_cast(this), NULL); + m_threadpoolTimer = CreateThreadpoolTimer(&Timing::ThreadpoolTimerCallback, static_cast(this), NULL); assert(m_threadpoolTimer && "CreateThreadpoolTimer failed."); } @@ -269,8 +253,7 @@ Timing::~Timing() { } } -TimingModule::TimingModule(std::shared_ptr &&timing) - : m_timing(std::move(timing)) {} +TimingModule::TimingModule(std::shared_ptr &&timing) : m_timing(std::move(timing)) {} std::string TimingModule::getName() { return "Timing"; @@ -307,10 +290,8 @@ std::vector TimingModule::getMethods() noexcept { } std::unique_ptr CreateTimingModule( - const std::shared_ptr - &nativeThread) noexcept { - auto module = - std::make_unique(std::make_shared(nativeThread)); + const std::shared_ptr &nativeThread) noexcept { + auto module = std::make_unique(std::make_shared(nativeThread)); return std::move(module); } diff --git a/vnext/Desktop/Modules/TimingModule.h b/vnext/Desktop/Modules/TimingModule.h index af41c9759a5..35cd85ad190 100644 --- a/vnext/Desktop/Modules/TimingModule.h +++ b/vnext/Desktop/Modules/TimingModule.h @@ -16,8 +16,7 @@ namespace facebook { namespace react { -using DateTime = std::chrono:: - time_point; +using DateTime = std::chrono::time_point; using TimeSpan = std::chrono::milliseconds; // Timer struct which holds timer id, target time, period between target time @@ -69,9 +68,7 @@ class TimerQueue { // timing.delete(id); class Timing : public std::enable_shared_from_this { public: - Timing( - const std::shared_ptr &nativeThread) - : m_nativeThread(nativeThread) {} + Timing(const std::shared_ptr &nativeThread) : m_nativeThread(nativeThread) {} ~Timing(); void createTimer( std::weak_ptr instance, @@ -83,10 +80,8 @@ class Timing : public std::enable_shared_from_this { void setSendIdleEvents(bool sendIdleEvents) noexcept; private: - static VOID CALLBACK ThreadpoolTimerCallback( - PTP_CALLBACK_INSTANCE Instance, - PVOID Parameter, - PTP_TIMER Timer) noexcept; + static VOID CALLBACK + ThreadpoolTimerCallback(PTP_CALLBACK_INSTANCE Instance, PVOID Parameter, PTP_TIMER Timer) noexcept; void OnTimerRaised() noexcept; void SetInstance(std::weak_ptr instance) noexcept; void SetKernelTimer(DateTime dueTime) noexcept; @@ -112,8 +107,7 @@ class TimingModule : public facebook::xplat::module::CxxModule { public: TimingModule(std::shared_ptr &&timing); std::string getName() override; - virtual std::map - getConstants() noexcept override; + virtual std::map getConstants() noexcept override; virtual std::vector getMethods() noexcept override; private: diff --git a/vnext/Desktop/Modules/WebSocketModule.cpp b/vnext/Desktop/Modules/WebSocketModule.cpp index a8ebd744c85..134b3c10672 100644 --- a/vnext/Desktop/Modules/WebSocketModule.cpp +++ b/vnext/Desktop/Modules/WebSocketModule.cpp @@ -33,76 +33,60 @@ std::map WebSocketModule::getConstants() { return {}; } -std::vector -WebSocketModule::getMethods() { - return { - Method( - "connect", - [this](dynamic args) // const string& url, folly::dynamic protocols, - // folly::dynamic options, int64_t id - { - IWebSocket::Protocols protocols; - dynamic protocolsDynamic = jsArgAsDynamic(args, 1); - if (!protocolsDynamic.empty()) { - for (const auto &protocol : protocolsDynamic.items()) { - protocols.push_back(protocol.first.getString()); - } - } - - IWebSocket::Options options; - dynamic optionsDynamic = jsArgAsDynamic(args, 2); - if (!optionsDynamic.empty() && !optionsDynamic["headers"].empty()) { - dynamic headersDynamic = optionsDynamic["headers"]; - for (const auto &header : headersDynamic.items()) { - options.emplace( - Microsoft::Common::Unicode::Utf8ToUtf16( - header.first.getString()), - header.second.getString()); - } - } - - this->GetOrCreateWebSocket( - jsArgAsInt(args, 3), jsArgAsString(args, 0)) - ->Connect(protocols, options); - }), - Method( - "close", - [this](dynamic args) // [int64_t code, string reason,] int64_t id - { - // See react-native\Libraries\WebSocket\WebSocket.js:_close - if (args.size() == 3) // WebSocketModule.close(statusCode, - // closeReason, this._socketId); - this->GetOrCreateWebSocket(jsArgAsInt(args, 2)) - ->Close( - static_cast(jsArgAsInt(args, 0)), - jsArgAsString(args, 1)); - else if (args.size() == 1) // WebSocketModule.close(this._socketId); - this->GetOrCreateWebSocket(jsArgAsInt(args, 0)) - ->Close(IWebSocket::CloseCode::Normal, {}); - else { - auto errorObj = dynamic::object("id", -1)( - "message", "Incorrect number of parameters"); - this->SendEvent("websocketFailed", std::move(errorObj)); - } - }), - Method( - "send", - [this](dynamic args) // const string& message, int64_t id - { - this->GetOrCreateWebSocket(jsArgAsInt(args, 1)) - ->Send(jsArgAsString(args, 0)); - }), - Method( - "sendBinary", - [this](dynamic args) // const string& base64String, int64_t id - { - this->GetOrCreateWebSocket(jsArgAsInt(args, 1)) - ->SendBinary(jsArgAsString(args, 0)); - }), - Method( - "ping", - [this](dynamic args) // int64_t id - { this->GetOrCreateWebSocket(jsArgAsInt(args, 0))->Ping(); })}; +std::vector WebSocketModule::getMethods() { + return {Method( + "connect", + [this](dynamic args) // const string& url, folly::dynamic protocols, + // folly::dynamic options, int64_t id + { + IWebSocket::Protocols protocols; + dynamic protocolsDynamic = jsArgAsDynamic(args, 1); + if (!protocolsDynamic.empty()) { + for (const auto &protocol : protocolsDynamic.items()) { + protocols.push_back(protocol.first.getString()); + } + } + + IWebSocket::Options options; + dynamic optionsDynamic = jsArgAsDynamic(args, 2); + if (!optionsDynamic.empty() && !optionsDynamic["headers"].empty()) { + dynamic headersDynamic = optionsDynamic["headers"]; + for (const auto &header : headersDynamic.items()) { + options.emplace( + Microsoft::Common::Unicode::Utf8ToUtf16(header.first.getString()), header.second.getString()); + } + } + + this->GetOrCreateWebSocket(jsArgAsInt(args, 3), jsArgAsString(args, 0))->Connect(protocols, options); + }), + Method( + "close", + [this](dynamic args) // [int64_t code, string reason,] int64_t id + { + // See react-native\Libraries\WebSocket\WebSocket.js:_close + if (args.size() == 3) // WebSocketModule.close(statusCode, + // closeReason, this._socketId); + this->GetOrCreateWebSocket(jsArgAsInt(args, 2)) + ->Close(static_cast(jsArgAsInt(args, 0)), jsArgAsString(args, 1)); + else if (args.size() == 1) // WebSocketModule.close(this._socketId); + this->GetOrCreateWebSocket(jsArgAsInt(args, 0))->Close(IWebSocket::CloseCode::Normal, {}); + else { + auto errorObj = dynamic::object("id", -1)("message", "Incorrect number of parameters"); + this->SendEvent("websocketFailed", std::move(errorObj)); + } + }), + Method( + "send", + [this](dynamic args) // const string& message, int64_t id + { this->GetOrCreateWebSocket(jsArgAsInt(args, 1))->Send(jsArgAsString(args, 0)); }), + Method( + "sendBinary", + [this](dynamic args) // const string& base64String, int64_t id + { this->GetOrCreateWebSocket(jsArgAsInt(args, 1))->SendBinary(jsArgAsString(args, 0)); }), + Method( + "ping", + [this](dynamic args) // int64_t id + { this->GetOrCreateWebSocket(jsArgAsInt(args, 0))->Ping(); })}; } // getMethods #pragma region private members @@ -110,10 +94,7 @@ WebSocketModule::getMethods() { void WebSocketModule::SendEvent(string &&eventName, dynamic &&args) { auto instance = this->getInstance().lock(); if (instance) - instance->callJSFunction( - "RCTDeviceEventEmitter", - "emit", - dynamic::array(std::move(eventName), std::move(args))); + instance->callJSFunction("RCTDeviceEventEmitter", "emit", dynamic::array(std::move(eventName), std::move(args))); } IWebSocket *WebSocketModule::GetOrCreateWebSocket(int64_t id, string &&url) { @@ -132,12 +113,10 @@ IWebSocket *WebSocketModule::GetOrCreateWebSocket(int64_t id, string &&url) { dynamic args = dynamic::object("id", id)("data", message)("type", "text"); this->SendEvent("websocketMessage", std::move(args)); }); - ws->SetOnClose( - [this, id](IWebSocket::CloseCode code, const string &reason) { - dynamic args = dynamic::object("id", id)( - "code", static_cast(code))("reason", reason); - this->SendEvent("websocketClosed", std::move(args)); - }); + ws->SetOnClose([this, id](IWebSocket::CloseCode code, const string &reason) { + dynamic args = dynamic::object("id", id)("code", static_cast(code))("reason", reason); + this->SendEvent("websocketClosed", std::move(args)); + }); ptr = ws.get(); m_webSockets.emplace(id, std::move(ws)); @@ -150,8 +129,7 @@ IWebSocket *WebSocketModule::GetOrCreateWebSocket(int64_t id, string &&url) { #pragma endregion private members -std::unique_ptr -CreateWebSocketModule() noexcept { +std::unique_ptr CreateWebSocketModule() noexcept { return std::make_unique(); } diff --git a/vnext/Desktop/NativeModuleFactories.h b/vnext/Desktop/NativeModuleFactories.h index 76fb51ddf0f..7a3d776540b 100644 --- a/vnext/Desktop/NativeModuleFactories.h +++ b/vnext/Desktop/NativeModuleFactories.h @@ -10,15 +10,13 @@ namespace facebook { namespace react { -extern std::unique_ptr -CreateAsyncStorageModule(const WCHAR *storageFileName) noexcept; +extern std::unique_ptr CreateAsyncStorageModule( + const WCHAR *storageFileName) noexcept; extern std::unique_ptr CreateTimingModule( - const std::shared_ptr - &nativeThread) noexcept; + const std::shared_ptr &nativeThread) noexcept; -extern std::unique_ptr -CreateWebSocketModule() noexcept; +extern std::unique_ptr CreateWebSocketModule() noexcept; } // namespace react } // namespace facebook diff --git a/vnext/Desktop/Sandbox/DevSupportManagerSandbox.cpp b/vnext/Desktop/Sandbox/DevSupportManagerSandbox.cpp index a0692163051..57034e80f0c 100644 --- a/vnext/Desktop/Sandbox/DevSupportManagerSandbox.cpp +++ b/vnext/Desktop/Sandbox/DevSupportManagerSandbox.cpp @@ -19,14 +19,10 @@ namespace facebook { namespace react { #if !defined(OSS_RN) -JSECreator DevSupportManager::LoadJavaScriptInSandboxMode( - const DevSettings &settings) { - return [this, settings]( - shared_ptr delegate, - shared_ptr jsQueue) { +JSECreator DevSupportManager::LoadJavaScriptInSandboxMode(const DevSettings &settings) { + return [this, settings](shared_ptr delegate, shared_ptr jsQueue) { auto sandboxJSE = make_unique(delegate, jsQueue); - auto sandboxEndpoint = - std::make_shared(settings.sandboxPipeName); + auto sandboxEndpoint = std::make_shared(settings.sandboxPipeName); sandboxJSE->ConnectAsync(sandboxEndpoint, settings.errorCallback).wait(); return sandboxJSE; }; diff --git a/vnext/Desktop/Sandbox/NamedPipeEndpoint.cpp b/vnext/Desktop/Sandbox/NamedPipeEndpoint.cpp index 442ce938f45..a06c7789410 100644 --- a/vnext/Desktop/Sandbox/NamedPipeEndpoint.cpp +++ b/vnext/Desktop/Sandbox/NamedPipeEndpoint.cpp @@ -62,10 +62,7 @@ struct AsyncIO { struct AsyncWriteIO : AsyncIO { AsyncWriteIO() = delete; AsyncWriteIO(const AsyncWriteIO &) = delete; - explicit AsyncWriteIO( - IPCConn *conn, - std::string &&message, - const SendRequestCallback &callback); + explicit AsyncWriteIO(IPCConn *conn, std::string &&message, const SendRequestCallback &callback); unsigned MessageSize() const; std::atomic m_writeOpCount{0}; @@ -76,23 +73,14 @@ struct AsyncWriteIO : AsyncIO { }; const unsigned NAMED_PIPE_BUFFER_SIZE = 16 * 1024; -using NamedPipeMessageHandler = - std::function message)>; +using NamedPipeMessageHandler = std::function message)>; class IPCConn { private: const unsigned MaxMessageLength = 16 * 1024 * 1024; const unsigned CONNECTION_TIMEOUT_MS = 5000; - enum State { - Start, - WaitingToConnect, - Connected, - Listening, - Broken, - Disconnected, - Closed - }; + enum State { Start, WaitingToConnect, Connected, Listening, Broken, Disconnected, Closed }; public: IPCConn() = delete; @@ -139,9 +127,7 @@ class IPCConn { AsyncIO m_readOp; BYTE m_buffer[NAMED_PIPE_BUFFER_SIZE]; - static_assert( - NAMED_PIPE_BUFFER_SIZE > sizeof(IPCMessageHeader), - "Buffer size must be bigger than header size"); + static_assert(NAMED_PIPE_BUFFER_SIZE > sizeof(IPCMessageHeader), "Buffer size must be bigger than header size"); IPCMessageHeader m_bufferOffset{0}; @@ -151,18 +137,12 @@ class IPCConn { NamedPipeMessageHandler m_messageReceiveHandler; }; -AsyncIO::AsyncIO(IoType ioType, IPCConn *conn) - : m_ioType(ioType), m_conn(conn) { +AsyncIO::AsyncIO(IoType ioType, IPCConn *conn) : m_ioType(ioType), m_conn(conn) { memset(&m_overlapped, 0, sizeof(m_overlapped)); } -AsyncWriteIO::AsyncWriteIO( - IPCConn *conn, - std::string &&message, - const SendRequestCallback &callback) - : AsyncIO(IoType::WRITE, conn), - m_message(std::move(message)), - m_completed(callback) { +AsyncWriteIO::AsyncWriteIO(IPCConn *conn, std::string &&message, const SendRequestCallback &callback) + : AsyncIO(IoType::WRITE, conn), m_message(std::move(message)), m_completed(callback) { m_messageHeader = (IPCMessageHeader)m_message.size(); } @@ -176,13 +156,7 @@ IoThreadPool::IoThreadPool() { const SIZE_T IoThreadStackSize = 1024 * 16; // Just create one thread. - m_thread = CreateThread( - NULL, - IoThreadStackSize, - &IoThreadPool::ThreadProc, - (LPVOID)this, - 0, - &m_threadId); + m_thread = CreateThread(NULL, IoThreadStackSize, &IoThreadPool::ThreadProc, (LPVOID)this, 0, &m_threadId); } IoThreadPool::~IoThreadPool() { @@ -213,12 +187,8 @@ DWORD WINAPI IoThreadPool::ThreadProc(LPVOID lpParameter) { OVERLAPPED *overlapped; ULONG_PTR completionKey; DWORD bytes; - BOOL success = (GetQueuedCompletionStatus( - threadPool->m_ioPort, - &bytes, - (PULONG_PTR)&completionKey, - &overlapped, - INFINITE)); + BOOL success = + (GetQueuedCompletionStatus(threadPool->m_ioPort, &bytes, (PULONG_PTR)&completionKey, &overlapped, INFINITE)); if (success == FALSE) { // TODO: Error handling. @@ -252,16 +222,13 @@ bool IoThreadPool::AddAsyncIO(IPCConn *conn) { } IPCConn::IPCConn(const std::wstring &pipeName) - : m_pipeName(pipeName), - m_acceptOp(AsyncIO::IoType::ACCEPT, this), - m_readOp(AsyncIO::IoType::READ, this) {} + : m_pipeName(pipeName), m_acceptOp(AsyncIO::IoType::ACCEPT, this), m_readOp(AsyncIO::IoType::READ, this) {} IPCConn::~IPCConn() { Close(); } -void IPCConn::RegisterMessageHandler( - const NamedPipeMessageHandler &messageHandler) { +void IPCConn::RegisterMessageHandler(const NamedPipeMessageHandler &messageHandler) { m_messageReceiveHandler = messageHandler; } @@ -271,9 +238,8 @@ bool IPCConn::Connect() { while (true) { if (!WaitNamedPipeW(m_pipeName.c_str(), CONNECTION_TIMEOUT_MS)) { if (GetLastError() == ERROR_FILE_NOT_FOUND && - std::chrono::duration_cast( - std::chrono::steady_clock::now() - start) - .count() < CONNECTION_TIMEOUT_MS) { + std::chrono::duration_cast(std::chrono::steady_clock::now() - start).count() < + CONNECTION_TIMEOUT_MS) { continue; } @@ -296,9 +262,8 @@ bool IPCConn::Connect() { if (m_handle == INVALID_HANDLE_VALUE) { if (GetLastError() == ERROR_PIPE_BUSY && - std::chrono::duration_cast( - std::chrono::steady_clock::now() - start) - .count() < CONNECTION_TIMEOUT_MS) { + std::chrono::duration_cast(std::chrono::steady_clock::now() - start).count() < + CONNECTION_TIMEOUT_MS) { continue; } else { break; @@ -321,8 +286,7 @@ bool IPCConn::AddListener() { // Attempt to open the named pipe for listening m_handle = CreateNamedPipeW( m_pipeName.c_str(), - (PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED | - FILE_FLAG_FIRST_PIPE_INSTANCE), + (PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED | FILE_FLAG_FIRST_PIPE_INSTANCE), (PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT), PIPE_UNLIMITED_INSTANCES, // max instances 4096, // outbuf @@ -397,9 +361,7 @@ void IPCConn::BeginRead() { return; } -void IPCConn::BeginWrite( - std::string &&message, - const SendRequestCallback &callback) { +void IPCConn::BeginWrite(std::string &&message, const SendRequestCallback &callback) { if (m_state != Connected) { if (callback) { callback(false); @@ -537,8 +499,7 @@ folly::Optional IPCConn::CreatePipeSecurity() { L"(A;OICI;GRGW;;;AU)" // Allow read/write to authenticated users L"(A;OICI;GA;;;BA)"; // Allow full control to administrators - if (!ConvertStringSecurityDescriptorToSecurityDescriptorW( - szSDDL, SDDL_REVISION_1, &pSd, NULL)) { + if (!ConvertStringSecurityDescriptorToSecurityDescriptorW(szSDDL, SDDL_REVISION_1, &pSd, NULL)) { return {}; } @@ -582,8 +543,7 @@ struct NamedPipeEndpoint::Impl { }; NamedPipeEndpoint::Impl::Impl(const std::string &pipeName) { - m_pipeName = - PIPE_NAME_PREFIX + Microsoft::Common::Unicode::Utf8ToUtf16(pipeName); + m_pipeName = PIPE_NAME_PREFIX + Microsoft::Common::Unicode::Utf8ToUtf16(pipeName); m_ioThreadPool = std::make_unique(); m_conn = std::make_shared(m_pipeName); } @@ -597,18 +557,14 @@ bool NamedPipeEndpoint::Impl::Start(EndpointType endpointType) { if (m_endpointType == EndpointType::Host) { // Client m_conn->RegisterMessageHandler( - [this](std::unique_ptr message) { - OnMessageReceived_Host(std::move(message)); - }); + [this](std::unique_ptr message) { OnMessageReceived_Host(std::move(message)); }); ReturnIfFailed(m_conn->Connect()); ReturnIfFailed(m_ioThreadPool->AddAsyncIO(m_conn.get())); m_conn->BeginRead(); } else if (m_endpointType == EndpointType::Sandbox) { // Server m_conn->RegisterMessageHandler( - [this](std::unique_ptr message) { - OnMessageReceived_Sandbox(std::move(message)); - }); + [this](std::unique_ptr message) { OnMessageReceived_Sandbox(std::move(message)); }); // Add one listener. ReturnIfFailed(m_conn->AddListener()); @@ -625,18 +581,15 @@ void NamedPipeEndpoint::Impl::Shutdown() { m_conn->Close(); } -void NamedPipeEndpoint::Impl::RegisterJSCallRequestHandler( - const JSCallRequestHandler &handler) { +void NamedPipeEndpoint::Impl::RegisterJSCallRequestHandler(const JSCallRequestHandler &handler) { m_jsCallRequestHandler = handler; } -void NamedPipeEndpoint::Impl::RegisterReplyHandler( - const ReplyMessageHandler &handler) { +void NamedPipeEndpoint::Impl::RegisterReplyHandler(const ReplyMessageHandler &handler) { m_replyHandler = handler; } -void NamedPipeEndpoint::Impl::RegisterNativeModuleCallHandler( - const NativeModuleCallHandler &handler) { +void NamedPipeEndpoint::Impl::RegisterNativeModuleCallHandler(const NativeModuleCallHandler &handler) { m_nativeModuleCallHandler = handler; } @@ -645,8 +598,8 @@ void NamedPipeEndpoint::Impl::SendRequest( const std::string &methodName, const folly::dynamic &arguments, SendRequestCallback &&callback) { - folly::dynamic request = folly::dynamic::object("id", requestId)( - "method", methodName)("arguments", std::move(arguments)); + folly::dynamic request = + folly::dynamic::object("id", requestId)("method", methodName)("arguments", std::move(arguments)); std::string requestJson = folly::toJson(request); m_conn->BeginWrite(std::move(requestJson), callback); } @@ -655,12 +608,10 @@ void NamedPipeEndpoint::Impl::Send(std::string &&message) { m_conn->BeginWrite(std::move(message), nullptr); } -void NamedPipeEndpoint::Impl::OnMessageReceived_Host( - std::unique_ptr message) { +void NamedPipeEndpoint::Impl::OnMessageReceived_Host(std::unique_ptr message) { int64_t replyId = 0; - std::chrono::high_resolution_clock::time_point t1 = - std::chrono::high_resolution_clock::now(); + std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now(); folly::dynamic parsed = folly::parseJson(*message.get()); @@ -681,26 +632,19 @@ void NamedPipeEndpoint::Impl::OnMessageReceived_Host( } } - std::chrono::high_resolution_clock::time_point t2 = - std::chrono::high_resolution_clock::now(); - auto duration = - std::chrono::duration_cast(t2 - t1).count(); + std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now(); + auto duration = std::chrono::duration_cast(t2 - t1).count(); OutputDebugStringA(message->c_str()); OutputDebugStringA("\n"); char buffer[256]; - sprintf_s( - buffer, - "(%03lld) OnMessageReceived, elapsed time = %d us\n", - replyId, - (int)duration); + sprintf_s(buffer, "(%03lld) OnMessageReceived, elapsed time = %d us\n", replyId, (int)duration); OutputDebugStringA(buffer); } -void NamedPipeEndpoint::Impl::OnMessageReceived_Sandbox( - std::unique_ptr message) { +void NamedPipeEndpoint::Impl::OnMessageReceived_Sandbox(std::unique_ptr message) { if (m_jsCallRequestHandler != nullptr) { folly::dynamic parsed = folly::parseJson(*message.get()); auto requestId = parsed["id"].asInt(); @@ -725,18 +669,15 @@ void NamedPipeEndpoint::Shutdown() { return m_pimpl->Shutdown(); } -void NamedPipeEndpoint::RegisterJSCallRequestHandler( - const JSCallRequestHandler &handler) { +void NamedPipeEndpoint::RegisterJSCallRequestHandler(const JSCallRequestHandler &handler) { return m_pimpl->RegisterJSCallRequestHandler(handler); } -void NamedPipeEndpoint::RegisterReplyHandler( - const ReplyMessageHandler &handler) { +void NamedPipeEndpoint::RegisterReplyHandler(const ReplyMessageHandler &handler) { return m_pimpl->RegisterReplyHandler(handler); } -void NamedPipeEndpoint::RegisterNativeModuleCallHandler( - const NativeModuleCallHandler &handler) { +void NamedPipeEndpoint::RegisterNativeModuleCallHandler(const NativeModuleCallHandler &handler) { return m_pimpl->RegisterNativeModuleCallHandler(handler); } @@ -745,8 +686,7 @@ void NamedPipeEndpoint::SendRequest( const std::string &methodName, const folly::dynamic &arguments, SendRequestCallback &&callback) { - return m_pimpl->SendRequest( - requestId, methodName, arguments, std::move(callback)); + return m_pimpl->SendRequest(requestId, methodName, arguments, std::move(callback)); } void NamedPipeEndpoint::Send(std::string &&message) { diff --git a/vnext/Desktop/Sandbox/NamedPipeEndpoint.h b/vnext/Desktop/Sandbox/NamedPipeEndpoint.h index 816b78783dd..83138a9f63e 100644 --- a/vnext/Desktop/Sandbox/NamedPipeEndpoint.h +++ b/vnext/Desktop/Sandbox/NamedPipeEndpoint.h @@ -31,11 +31,9 @@ class NamedPipeEndpoint final : public SandboxEndpoint { SendRequestCallback &&callback) override; void Send(std::string &&message) override; - void RegisterJSCallRequestHandler( - const JSCallRequestHandler &handler) override; + void RegisterJSCallRequestHandler(const JSCallRequestHandler &handler) override; void RegisterReplyHandler(const ReplyMessageHandler &handler) override; - void RegisterNativeModuleCallHandler( - const NativeModuleCallHandler &handler) override; + void RegisterNativeModuleCallHandler(const NativeModuleCallHandler &handler) override; private: struct Impl; diff --git a/vnext/Desktop/Sandbox/SandboxBridge.cpp b/vnext/Desktop/Sandbox/SandboxBridge.cpp index 0748f8035dd..0cc4af919f1 100644 --- a/vnext/Desktop/Sandbox/SandboxBridge.cpp +++ b/vnext/Desktop/Sandbox/SandboxBridge.cpp @@ -32,25 +32,21 @@ namespace react { #define SANDBOX_REQUEST_METHOD_IDS 1 #define SANDBOX_REQUEST_PARAMSS 2 #define SANDBOX_REQUEST_CALLIDS 3 -#define SANDBOX_REQUEST_ISENDOFBATCH \ - 4 // This is only used by sandbox --(IPC)--> host native module calls. +#define SANDBOX_REQUEST_ISENDOFBATCH 4 // This is only used by sandbox --(IPC)--> host native module calls. // Used by host process. -static std::vector sandboxHostParseMethodCalls( - folly::dynamic &&jsonData, - bool &isEndOfBatch) { +static std::vector sandboxHostParseMethodCalls(folly::dynamic &&jsonData, bool &isEndOfBatch) { if (jsonData.isNull()) { return {}; } if (!jsonData.isArray()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", jsonData.typeName())); + throw std::invalid_argument(folly::to("Did not get valid calls back from JS: ", jsonData.typeName())); } if (jsonData.size() < SANDBOX_REQUEST_PARAMSS + 1) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: size == ", jsonData.size())); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: size == ", jsonData.size())); } auto &moduleIds = jsonData[SANDBOX_REQUEST_MODULE_IDS]; @@ -60,31 +56,28 @@ static std::vector sandboxHostParseMethodCalls( isEndOfBatch = false; if (!moduleIds.isArray() || !methodIds.isArray() || !params.isArray()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", folly::toJson(jsonData))); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: ", folly::toJson(jsonData))); } - if (moduleIds.size() != methodIds.size() || - moduleIds.size() != params.size() || moduleIds.size() != callIds.size()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", folly::toJson(jsonData))); + if (moduleIds.size() != methodIds.size() || moduleIds.size() != params.size() || moduleIds.size() != callIds.size()) { + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: ", folly::toJson(jsonData))); } if (jsonData.size() > SANDBOX_REQUEST_ISENDOFBATCH) { if (!jsonData[SANDBOX_REQUEST_ISENDOFBATCH].isBool()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: %s", folly::toJson(jsonData))); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: %s", folly::toJson(jsonData))); } else { - isEndOfBatch = - static_cast(jsonData[SANDBOX_REQUEST_ISENDOFBATCH].getBool()); + isEndOfBatch = static_cast(jsonData[SANDBOX_REQUEST_ISENDOFBATCH].getBool()); } } std::vector methodCalls; for (size_t i = 0; i < moduleIds.size(); i++) { if (!params[i].isArray()) { - throw std::invalid_argument( - folly::to("Call argument isn't an array")); + throw std::invalid_argument(folly::to("Call argument isn't an array")); } methodCalls.emplace_back( @@ -99,8 +92,7 @@ static std::vector sandboxHostParseMethodCalls( // Return a pair of vectors: First is array of local calls and second is array // of remote calls. (Used by sandbox process) -static std::pair, std::vector> -sandboxParseMethodCalls( +static std::pair, std::vector> sandboxParseMethodCalls( folly::dynamic &&jsonData, int64_t maxInprocModuleCount) { if (jsonData.isNull()) { @@ -108,13 +100,12 @@ sandboxParseMethodCalls( } if (!jsonData.isArray()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", jsonData.typeName())); + throw std::invalid_argument(folly::to("Did not get valid calls back from JS: ", jsonData.typeName())); } if (jsonData.size() < REQUEST_PARAMSS + 1) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: size == ", jsonData.size())); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: size == ", jsonData.size())); } auto &moduleIds = jsonData[REQUEST_MODULE_IDS]; @@ -123,20 +114,19 @@ sandboxParseMethodCalls( int callId = -1; if (!moduleIds.isArray() || !methodIds.isArray() || !params.isArray()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", folly::toJson(jsonData))); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: ", folly::toJson(jsonData))); } - if (moduleIds.size() != methodIds.size() || - moduleIds.size() != params.size()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: ", folly::toJson(jsonData))); + if (moduleIds.size() != methodIds.size() || moduleIds.size() != params.size()) { + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: ", folly::toJson(jsonData))); } if (jsonData.size() > REQUEST_CALLID) { if (!jsonData[REQUEST_CALLID].isInt()) { - throw std::invalid_argument(folly::to( - "Did not get valid calls back from JS: %s", folly::toJson(jsonData))); + throw std::invalid_argument( + folly::to("Did not get valid calls back from JS: %s", folly::toJson(jsonData))); } else { callId = static_cast(jsonData[REQUEST_CALLID].asInt()); } @@ -147,23 +137,16 @@ sandboxParseMethodCalls( for (size_t i = 0; i < moduleIds.size(); i++) { if (!params[i].isArray()) { - throw std::invalid_argument( - folly::to("Call argument isn't an array")); + throw std::invalid_argument(folly::to("Call argument isn't an array")); } auto moduleId = moduleIds[i].asInt(); if (moduleId < maxInprocModuleCount) { inprocMethodCalls.emplace_back( - static_cast(moduleId), - static_cast(methodIds[i].asInt()), - std::move(params[i]), - callId); + static_cast(moduleId), static_cast(methodIds[i].asInt()), std::move(params[i]), callId); } else { remoteMethodCalls.emplace_back( - static_cast(moduleId), - static_cast(methodIds[i].asInt()), - std::move(params[i]), - callId); + static_cast(moduleId), static_cast(methodIds[i].asInt()), std::move(params[i]), callId); } // only increment callid if contains valid callid as callid is optional @@ -174,8 +157,7 @@ sandboxParseMethodCalls( callId += (callId != -1) ? 1 : 0; } - return std::pair, std::vector>( - inprocMethodCalls, remoteMethodCalls); + return std::pair, std::vector>(inprocMethodCalls, remoteMethodCalls); } SandboxHostNativeBridge::SandboxHostNativeBridge( @@ -187,21 +169,15 @@ std::shared_ptr SandboxHostNativeBridge::getModuleRegistry() { return m_registry; } -void SandboxHostNativeBridge::callNativeModules( - JSExecutor &executor, - folly::dynamic &&calls, - bool isEndOfBatch) { - CHECK(m_registry || calls.empty()) - << "native module calls cannot be completed with no native modules"; +void SandboxHostNativeBridge::callNativeModules(JSExecutor &executor, folly::dynamic &&calls, bool isEndOfBatch) { + CHECK(m_registry || calls.empty()) << "native module calls cannot be completed with no native modules"; m_batchHadNativeModuleCalls = m_batchHadNativeModuleCalls || !calls.empty(); // An exception anywhere in here stops processing of the batch. This // was the behavior of the Android bridge, and since exception handling // terminates the whole bridge, there's not much point in continuing. - for (auto &call : - sandboxHostParseMethodCalls(std::move(calls), isEndOfBatch)) { - m_registry->callNativeMethod( - call.moduleId, call.methodId, std::move(call.arguments), call.callId); + for (auto &call : sandboxHostParseMethodCalls(std::move(calls), isEndOfBatch)) { + m_registry->callNativeMethod(call.moduleId, call.methodId, std::move(call.arguments), call.callId); } if (isEndOfBatch) { // onBatchComplete will be called on the native (module) queue, but @@ -235,20 +211,14 @@ SandboxJsToNativeBridge::SandboxJsToNativeBridge( std::shared_ptr registry, std::shared_ptr callback, std::function remoteCallFunc) - : m_registry(registry), - m_callback(callback), - m_remoteCallFunc(remoteCallFunc) {} + : m_registry(registry), m_callback(callback), m_remoteCallFunc(remoteCallFunc) {} std::shared_ptr SandboxJsToNativeBridge::getModuleRegistry() { return m_registry; } -void SandboxJsToNativeBridge::callNativeModules( - JSExecutor &executor, - folly::dynamic &&calls, - bool isEndOfBatch) { - CHECK(m_registry || calls.empty()) - << "native module calls cannot be completed with no native modules"; +void SandboxJsToNativeBridge::callNativeModules(JSExecutor &executor, folly::dynamic &&calls, bool isEndOfBatch) { + CHECK(m_registry || calls.empty()) << "native module calls cannot be completed with no native modules"; m_batchHadNativeModuleCalls = m_batchHadNativeModuleCalls || !calls.empty(); // An exception anywhere in here stops processing of the batch. This ^ was @@ -258,11 +228,9 @@ void SandboxJsToNativeBridge::callNativeModules( // Process local (in-proc) NM calls. auto moduleSize = static_cast(m_registry->GetModuleSize()); assert(moduleSize > 0); - auto callPair = sandboxParseMethodCalls( - std::move(calls), static_cast(moduleSize)); + auto callPair = sandboxParseMethodCalls(std::move(calls), static_cast(moduleSize)); for (auto &call : callPair.first) { - m_registry->callNativeMethod( - call.moduleId, call.methodId, std::move(call.arguments), call.callId); + m_registry->callNativeMethod(call.moduleId, call.methodId, std::move(call.arguments), call.callId); } // Process remote NM calls. @@ -282,8 +250,7 @@ void SandboxJsToNativeBridge::callNativeModules( // Remote NativeModule calls JSON format // [[moduleIds], [methodIds], [arguments], [callIds], isEndOfBatch] // Example: [[8,3],[3,1],[["sending email...0"],[98,....]],[180,181],false] - folly::dynamic remoteCalls = folly::dynamic::array( - moduleIds, methodIds, arguments, callIds, isEndOfBatch); + folly::dynamic remoteCalls = folly::dynamic::array(moduleIds, methodIds, arguments, callIds, isEndOfBatch); m_remoteCallFunc(std::move(folly::toJson(remoteCalls))); } diff --git a/vnext/Desktop/Sandbox/SandboxBridge.h b/vnext/Desktop/Sandbox/SandboxBridge.h index 75dc41c6501..268eaf3133d 100644 --- a/vnext/Desktop/Sandbox/SandboxBridge.h +++ b/vnext/Desktop/Sandbox/SandboxBridge.h @@ -27,16 +27,11 @@ class ModuleRegistry; class SandboxHostNativeBridge : public react::ExecutorDelegate { public: - SandboxHostNativeBridge( - std::shared_ptr registry, - std::shared_ptr callback); + SandboxHostNativeBridge(std::shared_ptr registry, std::shared_ptr callback); // ExecutorDelegate methods std::shared_ptr getModuleRegistry() override; - void callNativeModules( - JSExecutor &executor, - folly::dynamic &&calls, - bool isEndOfBatch) override; + void callNativeModules(JSExecutor &executor, folly::dynamic &&calls, bool isEndOfBatch) override; MethodCallResult callSerializableNativeHook( JSExecutor &executor, unsigned int moduleId, @@ -64,10 +59,7 @@ class SandboxJsToNativeBridge : public react::ExecutorDelegate { // ExecutorDelegate methods std::shared_ptr getModuleRegistry() override; - void callNativeModules( - JSExecutor &executor, - folly::dynamic &&calls, - bool isEndOfBatch) override; + void callNativeModules(JSExecutor &executor, folly::dynamic &&calls, bool isEndOfBatch) override; MethodCallResult callSerializableNativeHook( JSExecutor &executor, unsigned int moduleId, diff --git a/vnext/Desktop/Sandbox/SandboxJSExecutor.cpp b/vnext/Desktop/Sandbox/SandboxJSExecutor.cpp index 167cc81cb1d..4e85bce8206 100644 --- a/vnext/Desktop/Sandbox/SandboxJSExecutor.cpp +++ b/vnext/Desktop/Sandbox/SandboxJSExecutor.cpp @@ -27,24 +27,19 @@ namespace react { #if !defined(OSS_RN) -std::unique_ptr -SandboxDelegateFactory::createExecutorDelegate( +std::unique_ptr SandboxDelegateFactory::createExecutorDelegate( std::shared_ptr registry, std::shared_ptr callback) { - return std::unique_ptr( - new SandboxJsToNativeBridge(registry, callback, m_sendNativeModuleCall)); + return std::unique_ptr(new SandboxJsToNativeBridge(registry, callback, m_sendNativeModuleCall)); } -std::unique_ptr -SandboxExecutorDelegateFactory::createExecutorDelegate( +std::unique_ptr SandboxExecutorDelegateFactory::createExecutorDelegate( std::shared_ptr registry, std::shared_ptr callback) { - return std::unique_ptr( - new SandboxHostNativeBridge(registry, callback)); + return std::unique_ptr(new SandboxHostNativeBridge(registry, callback)); } -SandboxJSExecutorFactory::SandboxJSExecutorFactory( - JSECreator &&jsExecutorFactory) +SandboxJSExecutorFactory::SandboxJSExecutorFactory(JSECreator &&jsExecutorFactory) : m_jseCreater(std::move(jsExecutorFactory)) {} std::unique_ptr SandboxJSExecutorFactory::createJSExecutor( @@ -53,8 +48,7 @@ std::unique_ptr SandboxJSExecutorFactory::createJSExecutor( if (m_jseCreater) { return m_jseCreater(delegate, jsQueue); } else { - return std::unique_ptr( - new SandboxJSExecutor(delegate, jsQueue)); + return std::unique_ptr(new SandboxJSExecutor(delegate, jsQueue)); } } @@ -62,13 +56,10 @@ template auto create_delayed_task( std::chrono::milliseconds delay, Func func, - concurrency::cancellation_token token = - concurrency::cancellation_token::none()) - -> decltype(create_task(func)) { + concurrency::cancellation_token token = concurrency::cancellation_token::none()) -> decltype(create_task(func)) { concurrency::task_completion_event tce; - auto pTimer = new concurrency::timer( - static_cast(delay.count()), 0, NULL, false); + auto pTimer = new concurrency::timer(static_cast(delay.count()), 0, NULL, false); auto pCallback = new concurrency::call([tce](int) { tce.set(); }); pTimer->link_target(pCallback); @@ -99,8 +90,8 @@ void SandboxJSExecutor::loadApplicationScript( task_completion_event callback; m_callbacks.emplace(requestId, callback); - folly::dynamic request = folly::dynamic::object("script", script->c_str())( - "inject", m_injectedObjects)("url", sourceURL); + folly::dynamic request = + folly::dynamic::object("script", script->c_str())("inject", m_injectedObjects)("url", sourceURL); try { SendMessageAsync(requestId, "executeApplicationScript", request) @@ -121,15 +112,12 @@ void SandboxJSExecutor::loadApplicationScript( } } -void SandboxJSExecutor::registerBundle( - uint32_t /*bundleId*/, - const std::string & /*bundlePath*/) { +void SandboxJSExecutor::registerBundle(uint32_t /*bundleId*/, const std::string & /*bundlePath*/) { // NYI std::terminate(); } -void SandboxJSExecutor::setBundleRegistry( - std::unique_ptr bundleRegistry) {} +void SandboxJSExecutor::setBundleRegistry(std::unique_ptr bundleRegistry) {} void SandboxJSExecutor::callFunction( const std::string &moduleId, @@ -142,9 +130,7 @@ void SandboxJSExecutor::callFunction( Call("callFunction", jarray); } -void SandboxJSExecutor::invokeCallback( - const double callbackId, - const folly::dynamic &arguments) { +void SandboxJSExecutor::invokeCallback(const double callbackId, const folly::dynamic &arguments) { if (IsInError()) { return; } @@ -152,9 +138,7 @@ void SandboxJSExecutor::invokeCallback( Call("invokeCallback", jarray); } -void SandboxJSExecutor::setGlobalVariable( - std::string propName, - std::unique_ptr jsonValue) { +void SandboxJSExecutor::setGlobalVariable(std::string propName, std::unique_ptr jsonValue) { m_injectedObjects[propName] = std::string(jsonValue->c_str()); } @@ -181,16 +165,13 @@ void SandboxJSExecutor::destroy() { // sandbox. // TODO: Indefinite waiting can cause SDX to become unresponsive. We need to // implement timeout mechanism. -void SandboxJSExecutor::Call( - const std::string &methodName, - folly::dynamic &arguments) { +void SandboxJSExecutor::Call(const std::string &methodName, folly::dynamic &arguments) { auto requestId = GetNextRequestId(); task_completion_event callback; m_callbacks.emplace(requestId, callback); try { - std::chrono::high_resolution_clock::time_point t1 = - std::chrono::high_resolution_clock::now(); + std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now(); SendMessageAsync(requestId, methodName, arguments) .then([callback](bool sent) { @@ -203,17 +184,11 @@ void SandboxJSExecutor::Call( }) .get(); // wait until get reply - std::chrono::high_resolution_clock::time_point t2 = - std::chrono::high_resolution_clock::now(); - auto duration = - std::chrono::duration_cast(t2 - t1).count(); + std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now(); + auto duration = std::chrono::duration_cast(t2 - t1).count(); char buffer[256]; - sprintf_s( - buffer, - "(%03I64d) CallFunction, elapsed time = %d us\n", - requestId, - (int)duration); + sprintf_s(buffer, "(%03I64d) CallFunction, elapsed time = %d us\n", requestId, (int)duration); OutputDebugStringA(buffer); } // TODO: handle exceptions in a better way @@ -277,13 +252,10 @@ task SandboxJSExecutor::ConnectAsync( // TODO: Pass as param m_sandboxEndpoint = endpoint; - m_sandboxEndpoint->RegisterReplyHandler( - [this](int64_t replyId) { OnReplyMessage(replyId); }); + m_sandboxEndpoint->RegisterReplyHandler([this](int64_t replyId) { OnReplyMessage(replyId); }); m_sandboxEndpoint->RegisterNativeModuleCallHandler( - [this](folly::dynamic &&calls) { - OnNativeModuleCallMessage(std::move(calls)); - }); + [this](folly::dynamic &&calls) { OnNativeModuleCallMessage(std::move(calls)); }); if (m_sandboxEndpoint->Start(EndpointType::Host)) { SetState(State::Connected); @@ -312,9 +284,7 @@ task SandboxJSExecutor::ConnectAsync( } catch (std::exception & /*e*/) { retryCount--; if (retryCount == 0) { - m_errorCallback( - IsConnected() ? "Timeout: preparing JS runtime" - : "Timeout: Failed to connect to dev server"); + m_errorCallback(IsConnected() ? "Timeout: preparing JS runtime" : "Timeout: Failed to connect to dev server"); SetState(State::Error); return false; } @@ -331,14 +301,11 @@ task SandboxJSExecutor::PrepareJavaScriptRuntimeAsync() { return SendMessageAsync(requestId, "prepareJSRuntime", argument); } -task SandboxJSExecutor::SendMessageAsync( - int64_t requestId, - const std::string &methodName, - folly::dynamic &arguments) { +task +SandboxJSExecutor::SendMessageAsync(int64_t requestId, const std::string &methodName, folly::dynamic &arguments) { if (!IsDisposed()) { task_completion_event tce; - m_sandboxEndpoint->SendRequest( - requestId, methodName, arguments, [tce](bool sent) { tce.set(sent); }); + m_sandboxEndpoint->SendRequest(requestId, methodName, arguments, [tce](bool sent) { tce.set(sent); }); return create_task(tce); } else { CompleteRequest(requestId); diff --git a/vnext/Desktop/Sandbox/SandboxJSExecutor.h b/vnext/Desktop/Sandbox/SandboxJSExecutor.h index eafef11f124..2ba579e9d36 100644 --- a/vnext/Desktop/Sandbox/SandboxJSExecutor.h +++ b/vnext/Desktop/Sandbox/SandboxJSExecutor.h @@ -67,9 +67,7 @@ class SandboxJSExecutorFactory : public JSExecutorFactory { class SandboxJSExecutor : public JSExecutor { public: - SandboxJSExecutor( - std::shared_ptr delegate, - std::shared_ptr messageQueueThread); + SandboxJSExecutor(std::shared_ptr delegate, std::shared_ptr messageQueueThread); ~SandboxJSExecutor() override; virtual void loadApplicationScript( @@ -77,20 +75,12 @@ class SandboxJSExecutor : public JSExecutor { uint64_t scriptVersion, std::string sourceURL, std::string &&bytecodeFileName) override; - virtual void setBundleRegistry( - std::unique_ptr bundleRegistry) override; - virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) + virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; + virtual void registerBundle(uint32_t bundleId, const std::string &bundlePath) override; + virtual void callFunction(const std::string &moduleId, const std::string &methodId, const folly::dynamic &arguments) override; - virtual void callFunction( - const std::string &moduleId, - const std::string &methodId, - const folly::dynamic &arguments) override; - virtual void invokeCallback( - const double callbackId, - const folly::dynamic &arguments) override; - virtual void setGlobalVariable( - std::string propName, - std::unique_ptr jsonValue) override; + virtual void invokeCallback(const double callbackId, const folly::dynamic &arguments) override; + virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; virtual void *getJavaScriptContext() override; virtual std::string getDescription() override; #ifdef WITH_JSC_MEMORY_PRESSURE @@ -105,10 +95,7 @@ class SandboxJSExecutor : public JSExecutor { private: Concurrency::task PrepareJavaScriptRuntimeAsync(); void Call(const std::string &methodName, folly::dynamic &arguments); - Concurrency::task SendMessageAsync( - int64_t requestId, - const std::string &methodName, - folly::dynamic &arguments); + Concurrency::task SendMessageAsync(int64_t requestId, const std::string &methodName, folly::dynamic &arguments); void CompleteRequest(int64_t requestId); void OnReplyMessage(int64_t replyId); diff --git a/vnext/Desktop/WebSocket.cpp b/vnext/Desktop/WebSocket.cpp index 01461af6578..d9cbc8e63e8 100644 --- a/vnext/Desktop/WebSocket.cpp +++ b/vnext/Desktop/WebSocket.cpp @@ -35,19 +35,10 @@ namespace Microsoft::React { #pragma region BaseWebSocket members -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -BaseWebSocket::BaseWebSocket(Url &&url) - : m_url{std::move(url)} {} - -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template +BaseWebSocket::BaseWebSocket(Url &&url) : m_url{std::move(url)} {} + +template BaseWebSocket::~BaseWebSocket() { if (!m_context.stopped()) { if (!m_closeRequested) @@ -57,13 +48,8 @@ BaseWebSocket::~BaseWebSocket() { } } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::Handshake( - const IWebSocket::Options &options) { +template +void BaseWebSocket::Handshake(const IWebSocket::Options &options) { m_stream->async_handshake_ex( m_url.host, m_url.Target(), @@ -71,9 +57,7 @@ void BaseWebSocket::Handshake( [options = std::move(options)](websocket::request_type &req) { // Collect headers for (const auto &header : options) { - req.insert( - Microsoft::Common::Unicode::Utf16ToUtf8(header.first), - header.second); + req.insert(Microsoft::Common::Unicode::Utf16ToUtf8(header.first), header.second); } }, // Handshake handler @@ -106,14 +90,9 @@ void BaseWebSocket::Handshake( }); // async_handshake_ex } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::PerformRead() { - if (ReadyState::Closing == m_readyState || - ReadyState::Closed == m_readyState) { + if (ReadyState::Closing == m_readyState || ReadyState::Closed == m_readyState) { return; } @@ -129,16 +108,12 @@ void BaseWebSocket::PerformRead() { if (m_stream->got_binary()) { // ISS:2906983 - typedef base64_from_binary> - encode_base64; + typedef base64_from_binary> encode_base64; // NOTE: Encoding the base64 string makes the message's length different // from the 'size' argument. std::ostringstream os; - std::copy( - encode_base64(message.c_str()), - encode_base64(message.c_str() + size), - ostream_iterator(os)); + std::copy(encode_base64(message.c_str()), encode_base64(message.c_str() + size), ostream_iterator(os)); message = os.str(); auto padSize = ((4 - message.length()) % 4) % 4; @@ -156,11 +131,7 @@ void BaseWebSocket::PerformRead() { }); // async_read } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::PerformWrite() { assert(!m_writeRequests.empty()); assert(!m_writeInProgress); @@ -176,28 +147,23 @@ void BaseWebSocket::PerformWrite() { if (request.first.length() > m_stream->write_buffer_size()) m_stream->write_buffer_size(request.first.length()); - m_stream->async_write( - buffer(request.first), [this](boostecr ec, size_t size) { - if (ec) { - if (m_errorHandler) - m_errorHandler({ec.message(), ErrorType::Send}); - } else { - if (m_writeHandler) - m_writeHandler(size); - } + m_stream->async_write(buffer(request.first), [this](boostecr ec, size_t size) { + if (ec) { + if (m_errorHandler) + m_errorHandler({ec.message(), ErrorType::Send}); + } else { + if (m_writeHandler) + m_writeHandler(size); + } - m_writeInProgress = false; + m_writeInProgress = false; - if (!m_writeRequests.empty()) - PerformWrite(); - }); + if (!m_writeRequests.empty()) + PerformWrite(); + }); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::PerformPing() { assert(m_pingRequests > 0); assert(!m_pingInProgress); @@ -219,54 +185,38 @@ void BaseWebSocket::PerformPing() { }); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::PerformClose() { m_closeInProgress = true; m_readyState = ReadyState::Closing; - m_stream->async_close( - ToBeastCloseCode(m_closeCodeRequest), [this](boostecr ec) { - if (ec) { - if (m_errorHandler) - m_errorHandler({ec.message(), ErrorType::Close}); - } else { - m_readyState = ReadyState::Closed; + m_stream->async_close(ToBeastCloseCode(m_closeCodeRequest), [this](boostecr ec) { + if (ec) { + if (m_errorHandler) + m_errorHandler({ec.message(), ErrorType::Close}); + } else { + m_readyState = ReadyState::Closed; - if (m_closeHandler) - m_closeHandler(m_closeCodeRequest, m_closeReasonRequest); - } - }); + if (m_closeHandler) + m_closeHandler(m_closeCodeRequest, m_closeReasonRequest); + } + }); // Synchronize context thread. Stop(); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::Stop() { if (m_workGuard) m_workGuard->reset(); - if (m_contextThread.joinable() && - std::this_thread::get_id() != m_contextThread.get_id()) + if (m_contextThread.joinable() && std::this_thread::get_id() != m_contextThread.get_id()) m_contextThread.join(); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::EnqueueWrite( - const string &message, - bool binary) { +template +void BaseWebSocket::EnqueueWrite(const string &message, bool binary) { post(m_context, [this, message = std::move(message), binary]() { m_writeRequests.emplace(std::move(message), binary); @@ -275,17 +225,11 @@ void BaseWebSocket::EnqueueWrite( }); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -websocket::close_code -BaseWebSocket::ToBeastCloseCode( +template +websocket::close_code BaseWebSocket::ToBeastCloseCode( IWebSocket::CloseCode closeCode) { static_assert( - static_cast(IWebSocket::CloseCode::Abnormal) == - static_cast(websocket::close_code::abnormal), + static_cast(IWebSocket::CloseCode::Abnormal) == static_cast(websocket::close_code::abnormal), "Exception type enums don't match"); static_assert( static_cast(IWebSocket::CloseCode::BadPayload) == @@ -304,16 +248,13 @@ BaseWebSocket::ToBeastCloseCode( static_cast(websocket::close_code::needs_extension), "Exception type enums don't match"); static_assert( - static_cast(IWebSocket::CloseCode::None) == - static_cast(websocket::close_code::none), + static_cast(IWebSocket::CloseCode::None) == static_cast(websocket::close_code::none), "Exception type enums don't match"); static_assert( - static_cast(IWebSocket::CloseCode::Normal) == - static_cast(websocket::close_code::normal), + static_cast(IWebSocket::CloseCode::Normal) == static_cast(websocket::close_code::normal), "Exception type enums don't match"); static_assert( - static_cast(IWebSocket::CloseCode::NoStatus) == - static_cast(websocket::close_code::no_status), + static_cast(IWebSocket::CloseCode::NoStatus) == static_cast(websocket::close_code::no_status), "Exception type enums don't match"); static_assert( static_cast(IWebSocket::CloseCode::PolicyError) == @@ -340,8 +281,7 @@ BaseWebSocket::ToBeastCloseCode( static_cast(websocket::close_code::service_restart), "Exception type enums don't match"); static_assert( - static_cast(IWebSocket::CloseCode::TooBig) == - static_cast(websocket::close_code::too_big), + static_cast(IWebSocket::CloseCode::TooBig) == static_cast(websocket::close_code::too_big), "Exception type enums don't match"); static_assert( static_cast(IWebSocket::CloseCode::TryAgainLater) == @@ -357,11 +297,7 @@ BaseWebSocket::ToBeastCloseCode( #pragma region IWebSocket members -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::Connect( const Protocols &protocols, const Options &options) { @@ -378,8 +314,7 @@ void BaseWebSocket::Connect( resolver.async_resolve( m_url.host, m_url.port, - [this, options = std::move(options)]( - boostecr ec, typename Resolver::results_type results) { + [this, options = std::move(options)](boostecr ec, typename Resolver::results_type results) { if (ec) { if (m_errorHandler) m_errorHandler({ec.message(), ErrorType::Resolution}); @@ -392,8 +327,7 @@ void BaseWebSocket::Connect( m_stream->lowest_layer(), results.begin(), results.end(), - [this, options = std::move(options)]( - boostecr ec, const basic_resolver_iterator &) { + [this, options = std::move(options)](boostecr ec, const basic_resolver_iterator &) { if (ec) { if (m_errorHandler) m_errorHandler({ec.message(), ErrorType::Connection}); @@ -404,20 +338,13 @@ void BaseWebSocket::Connect( }); // async_resolve m_contextThread = std::thread([this]() { - m_workGuard = make_unique>( - make_work_guard(m_context)); + m_workGuard = make_unique>(make_work_guard(m_context)); m_context.run(); }); } // void Connect -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::Close( - CloseCode code, - const string &reason) { +template +void BaseWebSocket::Close(CloseCode code, const string &reason) { if (m_closeRequested) return; @@ -433,36 +360,23 @@ void BaseWebSocket::Close( Stop(); // Synchronize the context thread. } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::Send( - const string &message) { +template +void BaseWebSocket::Send(const string &message) { EnqueueWrite(std::move(message), false); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::SendBinary( - const string &base64String) { +template +void BaseWebSocket::SendBinary(const string &base64String) { m_stream->binary(true); string message; try { - typedef transform_width, 8, 6> - decode_base64; + typedef transform_width, 8, 6> decode_base64; // A correctly formed base64 string should have from 0 to three '=' trailing // characters. Skip those. size_t padSize = std::count(base64String.begin(), base64String.end(), '='); - message = string( - decode_base64(base64String.begin()), - decode_base64(base64String.end() - padSize)); + message = string(decode_base64(base64String.begin()), decode_base64(base64String.end() - padSize)); } catch (const std::exception &) { if (m_errorHandler) m_errorHandler({"", ErrorType::Send}); @@ -473,11 +387,7 @@ void BaseWebSocket::SendBinary( EnqueueWrite(std::move(message), true); } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::Ping() { if (ReadyState::Closed == m_readyState) return; @@ -491,73 +401,40 @@ void BaseWebSocket::Ping() { #pragma region Handler setters -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::SetOnConnect( - function &&handler) { +template +void BaseWebSocket::SetOnConnect(function &&handler) { m_connectHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::SetOnPing( - function &&handler) { +template +void BaseWebSocket::SetOnPing(function &&handler) { m_pingHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::SetOnSend( - function &&handler) { +template +void BaseWebSocket::SetOnSend(function &&handler) { m_writeHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::SetOnMessage( function &&handler) { m_readHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> +template void BaseWebSocket::SetOnClose( function &&handler) { m_closeHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -void BaseWebSocket::SetOnError( - function &&handler) { +template +void BaseWebSocket::SetOnError(function &&handler) { m_errorHandler = handler; } -template < - typename Protocol, - typename SocketLayer, - typename Stream, - typename Resolver> -IWebSocket::ReadyState -BaseWebSocket::GetReadyState() const { +template +IWebSocket::ReadyState BaseWebSocket::GetReadyState() const { return m_readyState; } @@ -568,10 +445,8 @@ BaseWebSocket::GetReadyState() const { #pragma region WebSocket members WebSocket::WebSocket(Url &&url) : BaseWebSocket(std::move(url)) { - this->m_stream = - make_unique>>(this->m_context); - this->m_stream->auto_fragment( - false); // ISS:2906963 Re-enable message fragmenting. + this->m_stream = make_unique>>(this->m_context); + this->m_stream->auto_fragment(false); // ISS:2906963 Re-enable message fragmenting. } #pragma endregion @@ -580,19 +455,15 @@ WebSocket::WebSocket(Url &&url) : BaseWebSocket(std::move(url)) { SecureWebSocket::SecureWebSocket(Url &&url) : BaseWebSocket(std::move(url)) { auto ssl = ssl::context(ssl::context::sslv23_client); - this->m_stream = make_unique>>( - this->m_context, ssl); - this->m_stream->auto_fragment( - false); // ISS:2906963 Re-enable message fragmenting. + this->m_stream = make_unique>>(this->m_context, ssl); + this->m_stream->auto_fragment(false); // ISS:2906963 Re-enable message fragmenting. } void SecureWebSocket::Handshake(const IWebSocket::Options &options) { this->m_stream->next_layer().async_handshake( - ssl::stream_base::client, - [this, options = std::move(options)](boostecr ec) { + ssl::stream_base::client, [this, options = std::move(options)](boostecr ec) { if (ec && this->m_errorHandler) { - this->m_errorHandler( - {ec.message(), IWebSocket::ErrorType::Connection}); + this->m_errorHandler({ec.message(), IWebSocket::ErrorType::Connection}); } else { BaseWebSocket::Handshake(std::move(options)); } @@ -617,8 +488,7 @@ void SecureWebSocket::Handshake(const IWebSocket::Options &options) { return unique_ptr(new SecureWebSocket(std::move(url))); } else - throw std::exception( - (string("Incorrect url protocol: ") + url.scheme).c_str()); + throw std::exception((string("Incorrect url protocol: ") + url.scheme).c_str()); } #pragma endregion IWebSocket static members @@ -672,9 +542,7 @@ MockStream::async_handshake_ex( BOOST_BEAST_HANDLER_INIT(HandshakeHandler, void(error_code)); post( get_executor(), - bind_handler( - std::move(init.completion_handler), - HandshakeResult(host.to_string(), target.to_string()))); + bind_handler(std::move(init.completion_handler), HandshakeResult(host.to_string(), target.to_string()))); return init.result.get(); } @@ -687,52 +555,38 @@ MockStream::async_read(DynamicBuffer &buffer, ReadHandler &&handler) { std::tie(ec, size) = ReadResult(); BOOST_BEAST_HANDLER_INIT(ReadHandler, void(error_code, size_t)); - post( - get_executor(), - bind_handler(std::move(init.completion_handler), ec, size)); + post(get_executor(), bind_handler(std::move(init.completion_handler), ec, size)); return init.result.get(); } template BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, void(error_code, size_t)) -MockStream::async_write( - ConstBufferSequence const &buffers, - WriteHandler &&handler) { +MockStream::async_write(ConstBufferSequence const &buffers, WriteHandler &&handler) { error_code ec; size_t size; std::tie(ec, size) = ReadResult(); BOOST_BEAST_HANDLER_INIT(WriteHandler, void(error_code, size_t)); - post( - get_executor(), - bind_handler(std::move(init.completion_handler), ec, size)); + post(get_executor(), bind_handler(std::move(init.completion_handler), ec, size)); return init.result.get(); } template BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, void(error_code)) -MockStream::async_ping( - websocket::ping_data const &payload, - WriteHandler &&handler) { +MockStream::async_ping(websocket::ping_data const &payload, WriteHandler &&handler) { BOOST_BEAST_HANDLER_INIT(WriteHandler, void(error_code)); - post( - get_executor(), - bind_handler(std::move(init.completion_handler), PingResult())); + post(get_executor(), bind_handler(std::move(init.completion_handler), PingResult())); return init.result.get(); } template BOOST_ASIO_INITFN_RESULT_TYPE(CloseHandler, void(error_code)) -MockStream::async_close( - websocket::close_reason const &cr, - CloseHandler &&handler) { +MockStream::async_close(websocket::close_reason const &cr, CloseHandler &&handler) { BOOST_BEAST_HANDLER_INIT(CloseHandler, void(error_code)); - post( - get_executor(), - bind_handler(std::move(init.completion_handler), CloseResult())); + post(get_executor(), bind_handler(std::move(init.completion_handler), CloseResult())); return init.result.get(); } @@ -749,8 +603,7 @@ void TestWebSocket::SetConnectResult(function &&resultFunc) { m_stream->ConnectResult = std::move(resultFunc); } -void TestWebSocket::SetHandshakeResult( - function &&resultFunc) { +void TestWebSocket::SetHandshakeResult(function &&resultFunc) { m_stream->HandshakeResult = std::move(resultFunc); } @@ -767,9 +620,7 @@ namespace boost::asio { // See (776) template -BOOST_ASIO_INITFN_RESULT_TYPE( - IteratorConnectHandler, - void(error_code, Iterator)) +BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler, void(error_code, Iterator)) async_connect( Microsoft::React::Test::MockStream &s, Iterator begin, diff --git a/vnext/Desktop/WebSocket.h b/vnext/Desktop/WebSocket.h index 39fe2b20e8c..70b5b185619 100644 --- a/vnext/Desktop/WebSocket.h +++ b/vnext/Desktop/WebSocket.h @@ -90,8 +90,7 @@ class BaseWebSocket : public IWebSocket { /// void Stop(); - boost::beast::websocket::close_code ToBeastCloseCode( - IWebSocket::CloseCode closeCode); + boost::beast::websocket::close_code ToBeastCloseCode(IWebSocket::CloseCode closeCode); protected: /// @@ -107,9 +106,7 @@ class BaseWebSocket : public IWebSocket { /// boost::asio::io_context m_context; - std::unique_ptr< - boost::asio::executor_work_guard> - m_workGuard; + std::unique_ptr> m_workGuard; std::unique_ptr m_stream; std::function m_errorHandler; @@ -180,14 +177,12 @@ class BaseWebSocket : public IWebSocket { /// /// /// - void SetOnMessage( - std::function &&handler) override; + void SetOnMessage(std::function &&handler) override; /// /// /// - void SetOnClose( - std::function &&handler) override; + void SetOnClose(std::function &&handler) override; /// /// @@ -203,9 +198,7 @@ class WebSocket : public BaseWebSocket<> { }; class SecureWebSocket - : public BaseWebSocket< - boost::asio::ip::tcp, - boost::asio::ssl::stream> { + : public BaseWebSocket> { #pragma region BaseWebSocket overrides void Handshake(const IWebSocket::Options &options) override; @@ -250,9 +243,7 @@ class MockStream { #pragma region boost::beast::websocket::stream mocks template - BOOST_ASIO_INITFN_RESULT_TYPE( - HandshakeHandler, - void(boost::system::error_code)) + BOOST_ASIO_INITFN_RESULT_TYPE(HandshakeHandler, void(boost::system::error_code)) async_handshake_ex( boost::beast::string_view host, boost::beast::string_view target, @@ -260,37 +251,27 @@ class MockStream { HandshakeHandler &&handler); template - BOOST_ASIO_INITFN_RESULT_TYPE( - ReadHandler, - void(boost::system::error_code, std::size_t)) + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, void(boost::system::error_code, std::size_t)) async_read(DynamicBuffer &buffer, ReadHandler &&handler); template - BOOST_ASIO_INITFN_RESULT_TYPE( - WriteHandler, - void(boost::system::error_code, std::size_t)) + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, void(boost::system::error_code, std::size_t)) async_write(ConstBufferSequence const &buffers, WriteHandler &&handler); template BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, void(boost::system::error_code)) - async_ping( - boost::beast::websocket::ping_data const &payload, - WriteHandler &&handler); + async_ping(boost::beast::websocket::ping_data const &payload, WriteHandler &&handler); template BOOST_ASIO_INITFN_RESULT_TYPE(CloseHandler, void(boost::system::error_code)) - async_close( - boost::beast::websocket::close_reason const &cr, - CloseHandler &&handler); + async_close(boost::beast::websocket::close_reason const &cr, CloseHandler &&handler); #pragma endregion boost::beast::websocket::stream mocks std::function ConnectResult; - std::function - HandshakeResult; + std::function HandshakeResult; std::function()> ReadResult; - std::function()> - WriteResult; + std::function()> WriteResult; std::function PingResult; std::function CloseResult; }; @@ -303,11 +284,8 @@ class TestWebSocket : public BaseWebSocket< public: TestWebSocket(facebook::react::Url &&url); - void SetConnectResult( - std::function &&resultFunc); - void SetHandshakeResult( - std::function - &&resultFunc); + void SetConnectResult(std::function &&resultFunc); + void SetHandshakeResult(std::function &&resultFunc); void SetCloseResult(std::function &&resultFunc); }; diff --git a/vnext/IntegrationTests/ControllableMessageQueueThread.cpp b/vnext/IntegrationTests/ControllableMessageQueueThread.cpp index aeb38df41dd..ddda2ebbbe3 100644 --- a/vnext/IntegrationTests/ControllableMessageQueueThread.cpp +++ b/vnext/IntegrationTests/ControllableMessageQueueThread.cpp @@ -12,8 +12,7 @@ namespace Microsoft::React::Test { #pragma region TestMessageQueueThread members -ControllableMessageQueueThread::Lock::Lock(HANDLE mutex) noexcept - : m_mutex{mutex} { +ControllableMessageQueueThread::Lock::Lock(HANDLE mutex) noexcept : m_mutex{mutex} { assert(mutex != NULL); DWORD waitResult = WaitForSingleObject(m_mutex, INFINITE); assert(waitResult == WAIT_OBJECT_0); @@ -28,9 +27,7 @@ ControllableMessageQueueThread::ControllableMessageQueueThread( Mode mode, VoidFunctor &&initializeThread, VoidFunctor &&uninitializeThread) noexcept - : m_mode{mode}, - m_initializeThread{move(initializeThread)}, - m_uninitializeThread{move(uninitializeThread)} { + : m_mode{mode}, m_initializeThread{move(initializeThread)}, m_uninitializeThread{move(uninitializeThread)} { m_creatorThreadId = GetCurrentThreadId(); m_queueMutex = CreateMutex( @@ -105,8 +102,7 @@ void ControllableMessageQueueThread::runOnQueue(VoidFunctor &&func) noexcept { // runOnQueueSync and quitSynchronous are dangerous. They should only be // used for initialization and cleanup. -void ControllableMessageQueueThread::runOnQueueSync( - VoidFunctor &&func) noexcept { +void ControllableMessageQueueThread::runOnQueueSync(VoidFunctor &&func) noexcept { assert(m_state == State::Running); if (IsWorkerThread()) { @@ -134,20 +130,16 @@ bool ControllableMessageQueueThread::IsEmpty() const noexcept { return m_queue.empty(); } -bool ControllableMessageQueueThread::DispatchOne( - std::chrono::milliseconds timeout) noexcept { +bool ControllableMessageQueueThread::DispatchOne(std::chrono::milliseconds timeout) noexcept { assert(m_mode == Mode::ManualDispatch); - DWORD timeoutMilliseconds = timeout == std::chrono::milliseconds::max() - ? INFINITE - : static_cast(timeout.count()); + DWORD timeoutMilliseconds = + timeout == std::chrono::milliseconds::max() ? INFINITE : static_cast(timeout.count()); switch (WaitForSingleObject(m_queueItemPresent, timeoutMilliseconds)) { case WAIT_OBJECT_0: - SetEvent(m_threadSignals[static_cast( - ThreadSignalIndex::FunctorAvailable)]); - return WaitForSingleObject(m_queueItemProcessed, timeoutMilliseconds) == - WAIT_OBJECT_0; + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); + return WaitForSingleObject(m_queueItemProcessed, timeoutMilliseconds) == WAIT_OBJECT_0; default: return false; @@ -156,8 +148,7 @@ bool ControllableMessageQueueThread::DispatchOne( void ControllableMessageQueueThread::quitInternal() noexcept { if (m_state != State::WorkerThreadHasExited) { - SetEvent( - m_threadSignals[static_cast(ThreadSignalIndex::QuitRequested)]); + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::QuitRequested)]); DWORD waitResult = WaitForSingleObject(m_workerThread, INFINITE); assert(waitResult == WAIT_OBJECT_0); m_state = State::WorkerThreadHasExited; @@ -170,8 +161,7 @@ void ControllableMessageQueueThread::quitInternal() noexcept { void ControllableMessageQueueThread::SignalDispatch() noexcept { switch (m_mode) { case Mode::AutoDispatch: - SetEvent(m_threadSignals[static_cast( - ThreadSignalIndex::FunctorAvailable)]); + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); break; case Mode::ManualDispatch: @@ -180,10 +170,8 @@ void ControllableMessageQueueThread::SignalDispatch() noexcept { } } -/*static*/ DWORD WINAPI -ControllableMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { - ControllableMessageQueueThread *instance = - static_cast(lpParameter); +/*static*/ DWORD WINAPI ControllableMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { + ControllableMessageQueueThread *instance = static_cast(lpParameter); assert(instance != nullptr); if (instance->m_initializeThread) { @@ -231,8 +219,7 @@ ControllableMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { } bool ControllableMessageQueueThread::IsWorkerThread() { - return m_workerThread != NULL && - GetCurrentThreadId() == GetThreadId(m_workerThread); + return m_workerThread != NULL && GetCurrentThreadId() == GetThreadId(m_workerThread); } #pragma endregion namespace TestMessageQueueThread members diff --git a/vnext/IntegrationTests/ControllableMessageQueueThread.h b/vnext/IntegrationTests/ControllableMessageQueueThread.h index 60e59a00af9..79a946ff8f3 100644 --- a/vnext/IntegrationTests/ControllableMessageQueueThread.h +++ b/vnext/IntegrationTests/ControllableMessageQueueThread.h @@ -10,8 +10,7 @@ namespace Microsoft::React::Test { -class ControllableMessageQueueThread - : public facebook::react::MessageQueueThread { +class ControllableMessageQueueThread : public facebook::react::MessageQueueThread { class Lock { public: Lock(HANDLE mutex) noexcept; @@ -50,11 +49,7 @@ class ControllableMessageQueueThread bool DispatchOne(std::chrono::milliseconds timeout) noexcept; private: - enum class State { - Running, - QuitSynchronousHasBeenCalled, - WorkerThreadHasExited - }; + enum class State { Running, QuitSynchronousHasBeenCalled, WorkerThreadHasExited }; enum class ThreadSignalIndex { FunctorAvailable = 0, diff --git a/vnext/IntegrationTests/MockExecutorDelegate.h b/vnext/IntegrationTests/MockExecutorDelegate.h index d31d2ee5c35..75e72e79a51 100644 --- a/vnext/IntegrationTests/MockExecutorDelegate.h +++ b/vnext/IntegrationTests/MockExecutorDelegate.h @@ -9,15 +9,11 @@ namespace Microsoft::React::Test { class MockDelegate : public facebook::react::ExecutorDelegate { public: - std::shared_ptr getModuleRegistry() - override { + std::shared_ptr getModuleRegistry() override { return nullptr; } - void callNativeModules( - facebook::react::JSExecutor &executor, - folly::dynamic &&calls, - bool isEndOfBatch) override {} + void callNativeModules(facebook::react::JSExecutor &executor, folly::dynamic &&calls, bool isEndOfBatch) override {} facebook::react::MethodCallResult callSerializableNativeHook( facebook::react::JSExecutor &executor, diff --git a/vnext/IntegrationTests/TestInstance.cpp b/vnext/IntegrationTests/TestInstance.cpp index 090aa2512a0..2ce3acfa3ca 100644 --- a/vnext/IntegrationTests/TestInstance.cpp +++ b/vnext/IntegrationTests/TestInstance.cpp @@ -41,16 +41,13 @@ ShadowNode *TestViewManager::createShadow() const { void TestViewManager::destroyShadow(ShadowNode *) const {} dynamic TestViewManager::GetConstants() const { - folly::dynamic constants = - folly::dynamic::object("Constants", GetExportedViewConstants())( - "Commands", GetCommands())("NativeProps", GetNativeProps()); + folly::dynamic constants = folly::dynamic::object("Constants", GetExportedViewConstants())("Commands", GetCommands())( + "NativeProps", GetNativeProps()); - const auto bubblingEventTypesConstants = - GetExportedCustomBubblingEventTypeConstants(); + const auto bubblingEventTypesConstants = GetExportedCustomBubblingEventTypeConstants(); if (!bubblingEventTypesConstants.empty()) constants["bubblingEventTypes"] = bubblingEventTypesConstants; - const auto directEventTypesConstants = - GetExportedCustomDirectEventTypeConstants(); + const auto directEventTypesConstants = GetExportedCustomDirectEventTypeConstants(); if (!directEventTypesConstants.empty()) constants["directEventTypes"] = directEventTypesConstants; @@ -76,8 +73,7 @@ void TestNativeUIManager::configureNextLayoutAnimation( void TestNativeUIManager::destroy() {} -ShadowNode *TestNativeUIManager::createRootShadowNode( - IReactRootView *rootView) { +ShadowNode *TestNativeUIManager::createRootShadowNode(IReactRootView *rootView) { return new TestShadowNode(); } @@ -112,25 +108,18 @@ void TestNativeUIManager::AddRootView( facebook::react::ShadowNode &shadowNode, facebook::react::IReactRootView *pReactRootView) {} -void TestNativeUIManager::CreateView( - facebook::react::ShadowNode &shadowNode, - folly::dynamic /*ReadableMap*/ props) {} +void TestNativeUIManager::CreateView(facebook::react::ShadowNode &shadowNode, folly::dynamic /*ReadableMap*/ props) {} void TestNativeUIManager::AddView( facebook::react::ShadowNode &parentShadowNode, facebook::react::ShadowNode &childShadowNode, uint64_t index) {} -void TestNativeUIManager::RemoveView( - facebook::react::ShadowNode &shadowNode, - bool removeChildren) {} +void TestNativeUIManager::RemoveView(facebook::react::ShadowNode &shadowNode, bool removeChildren) {} -void TestNativeUIManager::ReplaceView(facebook::react::ShadowNode &shadowNode) { -} +void TestNativeUIManager::ReplaceView(facebook::react::ShadowNode &shadowNode) {} -void TestNativeUIManager::UpdateView( - facebook::react::ShadowNode &shadowNode, - folly::dynamic /*ReadableMap*/ props) {} +void TestNativeUIManager::UpdateView(facebook::react::ShadowNode &shadowNode, folly::dynamic /*ReadableMap*/ props) {} void TestNativeUIManager::focus(int64_t reactTag) {} diff --git a/vnext/IntegrationTests/TestInstance.h b/vnext/IntegrationTests/TestInstance.h index bbbb1717f05..a8fabd9a5c2 100644 --- a/vnext/IntegrationTests/TestInstance.h +++ b/vnext/IntegrationTests/TestInstance.h @@ -20,8 +20,7 @@ namespace Microsoft::React::Test { struct ITestInstance { virtual void AttachMeasuredRootView(std::string &&appName) noexcept = 0; virtual void DetachRootView() noexcept = 0; - virtual std::shared_ptr GetInnerInstance() const - noexcept = 0; + virtual std::shared_ptr GetInnerInstance() const noexcept = 0; }; class TestViewManager : public facebook::react::IViewManager { @@ -53,40 +52,30 @@ class TestNativeUIManager : public facebook::react::INativeUIManager { folly::dynamic &&config, facebook::xplat::module::CxxModule::Callback success, facebook::xplat::module::CxxModule::Callback error) override; - facebook::react::ShadowNode *createRootShadowNode( - facebook::react::IReactRootView *rootView) override; + facebook::react::ShadowNode *createRootShadowNode(facebook::react::IReactRootView *rootView) override; void destroyRootShadowNode(facebook::react::ShadowNode *) override; void removeRootView(facebook::react::ShadowNode &rootNode) override; void setHost(facebook::react::INativeUIManagerHost *host) override; facebook::react::INativeUIManagerHost *getHost() override { return nullptr; } - void AddRootView( - facebook::react::ShadowNode &shadowNode, - facebook::react::IReactRootView *pReactRootView) override; - void CreateView( - facebook::react::ShadowNode &shadowNode, - folly::dynamic /*ReadableMap*/ props) override; + void AddRootView(facebook::react::ShadowNode &shadowNode, facebook::react::IReactRootView *pReactRootView) override; + void CreateView(facebook::react::ShadowNode &shadowNode, folly::dynamic /*ReadableMap*/ props) override; void AddView( facebook::react::ShadowNode &parentShadowNode, facebook::react::ShadowNode &childShadowNode, uint64_t index) override; - void RemoveView( - facebook::react::ShadowNode &shadowNode, - bool removeChildren = true) override; + void RemoveView(facebook::react::ShadowNode &shadowNode, bool removeChildren = true) override; void ReplaceView(facebook::react::ShadowNode &shadowNode) override; - void UpdateView( - facebook::react::ShadowNode &shadowNode, - folly::dynamic /*ReadableMap*/ props) override; + void UpdateView(facebook::react::ShadowNode &shadowNode, folly::dynamic /*ReadableMap*/ props) override; void onBatchComplete() override; void ensureInBatch() override; void measure( facebook::react::ShadowNode &shadowNode, facebook::react::ShadowNode &shadowRoot, facebook::xplat::module::CxxModule::Callback callback) override; - void measureInWindow( - facebook::react::ShadowNode &shadowNode, - facebook::xplat::module::CxxModule::Callback callback) override; + void measureInWindow(facebook::react::ShadowNode &shadowNode, facebook::xplat::module::CxxModule::Callback callback) + override; void findSubviewIn( facebook::react::ShadowNode &shadowNode, float x, diff --git a/vnext/IntegrationTests/TestMessageQueueThread.cpp b/vnext/IntegrationTests/TestMessageQueueThread.cpp index 0b6645d7a3d..f92d9fd9faf 100644 --- a/vnext/IntegrationTests/TestMessageQueueThread.cpp +++ b/vnext/IntegrationTests/TestMessageQueueThread.cpp @@ -23,8 +23,7 @@ TestMessageQueueThread::Lock::~Lock() noexcept { TestMessageQueueThread::TestMessageQueueThread( VoidFunctor &&initializeThread, VoidFunctor &&uninitializeThread) noexcept - : m_initializeThread{move(initializeThread)}, - m_uninitializeThread{move(uninitializeThread)} { + : m_initializeThread{move(initializeThread)}, m_uninitializeThread{move(uninitializeThread)} { m_creatorThreadId = GetCurrentThreadId(); m_queueMutex = CreateMutex( @@ -72,8 +71,7 @@ void TestMessageQueueThread::runOnQueue(VoidFunctor &&func) noexcept { Lock queueLock(m_queueMutex); m_queue.push(move(func)); - SetEvent( - m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); } // runOnQueueSync and quitSynchronous are dangerous. They should only be @@ -91,8 +89,7 @@ void TestMessageQueueThread::runOnQueueSync(VoidFunctor &&func) noexcept { Lock queueLock(m_queueMutex); m_queue.push(move(func)); m_queue.push([done]() { SetEvent(done); }); - SetEvent(m_threadSignals[static_cast( - ThreadSignalIndex::FunctorAvailable)]); + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); } DWORD waitResult = WaitForSingleObject(done, INFINITE); @@ -111,8 +108,7 @@ void TestMessageQueueThread::quitInternal() noexcept { assert(GetCurrentThreadId() == m_creatorThreadId); if (m_state != State::WorkerThreadHasExited) { - SetEvent( - m_threadSignals[static_cast(ThreadSignalIndex::QuitRequested)]); + SetEvent(m_threadSignals[static_cast(ThreadSignalIndex::QuitRequested)]); DWORD waitResult = WaitForSingleObject(m_workerThread, INFINITE); assert(waitResult == WAIT_OBJECT_0); m_state = State::WorkerThreadHasExited; @@ -122,10 +118,8 @@ void TestMessageQueueThread::quitInternal() noexcept { } } -/*static*/ DWORD WINAPI -TestMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { - TestMessageQueueThread *instance = - static_cast(lpParameter); +/*static*/ DWORD WINAPI TestMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { + TestMessageQueueThread *instance = static_cast(lpParameter); assert(instance != nullptr); if (instance->m_initializeThread) { @@ -148,8 +142,7 @@ TestMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { func = instance->m_queue.front(); instance->m_queue.pop(); if (instance->m_queue.size() > 0) { - SetEvent(instance->m_threadSignals[static_cast( - ThreadSignalIndex::FunctorAvailable)]); + SetEvent(instance->m_threadSignals[static_cast(ThreadSignalIndex::FunctorAvailable)]); } } func(); @@ -173,8 +166,7 @@ TestMessageQueueThread::Dispatch(LPVOID lpParameter) noexcept { } bool TestMessageQueueThread::IsWorkerThread() { - return m_workerThread != NULL && - GetCurrentThreadId() == GetThreadId(m_workerThread); + return m_workerThread != NULL && GetCurrentThreadId() == GetThreadId(m_workerThread); } #pragma endregion namespace TestMessageQueueThread members diff --git a/vnext/IntegrationTests/TestMessageQueueThread.h b/vnext/IntegrationTests/TestMessageQueueThread.h index 2e23bbdbfb4..b6cde4914b3 100644 --- a/vnext/IntegrationTests/TestMessageQueueThread.h +++ b/vnext/IntegrationTests/TestMessageQueueThread.h @@ -24,9 +24,7 @@ class TestMessageQueueThread : public facebook::react::MessageQueueThread { public: using VoidFunctor = std::function; - TestMessageQueueThread( - VoidFunctor &&initializeThread = nullptr, - VoidFunctor &&uninitializeThread = nullptr) noexcept; + TestMessageQueueThread(VoidFunctor &&initializeThread = nullptr, VoidFunctor &&uninitializeThread = nullptr) noexcept; #pragma region MessageQueueThread members @@ -44,11 +42,7 @@ class TestMessageQueueThread : public facebook::react::MessageQueueThread { #pragma endregion MessageQueueThread members private: - enum class State { - Running, - QuitSynchronousHasBeenCalled, - WorkerThreadHasExited - }; + enum class State { Running, QuitSynchronousHasBeenCalled, WorkerThreadHasExited }; enum class ThreadSignalIndex { FunctorAvailable = 0, diff --git a/vnext/IntegrationTests/TestModule.cpp b/vnext/IntegrationTests/TestModule.cpp index 24f6715ca52..29ad377a777 100644 --- a/vnext/IntegrationTests/TestModule.cpp +++ b/vnext/IntegrationTests/TestModule.cpp @@ -18,8 +18,7 @@ namespace Microsoft::React::Test { /*static*/ string TestModule::name = "TestModule"; -TestModule::TestModule(function &&testPassedHandler) - : m_testPassedHandler{move(testPassedHandler)} {} +TestModule::TestModule(function &&testPassedHandler) : m_testPassedHandler{move(testPassedHandler)} {} #pragma region TestModule.js methods @@ -52,12 +51,8 @@ vector TestModule::getMethods() { [this](dynamic args) { this->sendAppEvent(jsArgAsString(args, 0)); // TODO: 2nd arg? }), - Method( - "markTestCompleted", - [this](dynamic args) { this->markTestCompleted(); }), - Method( - "markTestPassed", - [this](dynamic args) { this->markTestPassed(jsArgAsBool(args, 0)); }), + Method("markTestCompleted", [this](dynamic args) { this->markTestCompleted(); }), + Method("markTestPassed", [this](dynamic args) { this->markTestPassed(jsArgAsBool(args, 0)); }), Method("shouldResolve", [this](dynamic args) { shouldResolve(); }), }; } diff --git a/vnext/IntegrationTests/TestRootView.cpp b/vnext/IntegrationTests/TestRootView.cpp index 45f2ff4750f..decd378b508 100644 --- a/vnext/IntegrationTests/TestRootView.cpp +++ b/vnext/IntegrationTests/TestRootView.cpp @@ -5,10 +5,7 @@ namespace Microsoft::React::Test { -TestRootView::TestRootView( - const std::string &name, - int64_t width, - int64_t height) +TestRootView::TestRootView(const std::string &name, int64_t width, int64_t height) : m_name{name}, m_width{width}, m_height{height} {} void TestRootView::ResetView() {} diff --git a/vnext/IntegrationTests/TestRunner.cpp b/vnext/IntegrationTests/TestRunner.cpp index 15b88926cda..067cfa398ee 100644 --- a/vnext/IntegrationTests/TestRunner.cpp +++ b/vnext/IntegrationTests/TestRunner.cpp @@ -41,10 +41,7 @@ void TestRunner::AwaitEvent(HANDLE &event, TestResult &result) { TestRunner::TestRunner() {} -TestResult TestRunner::RunTest( - string &&bundlePath, - string &&appName, - NativeLoggingHook &&loggingCallback) { +TestResult TestRunner::RunTest(string &&bundlePath, string &&appName, NativeLoggingHook &&loggingCallback) { // Set up HANDLE functionCalled = CreateEvent( /* lpEventAttributes */ NULL, @@ -57,11 +54,9 @@ TestResult TestRunner::RunTest( try { // TODO: Defer MessageQueueThread creation to variant implementations // (Win32, WinRT). - vector> modules{make_tuple( - TestModule::name, - [this, &result, &functionCalled]() -> unique_ptr { - return make_unique([this, &result, &functionCalled]( - bool success) { + vector> modules{ + make_tuple(TestModule::name, [this, &result, &functionCalled]() -> unique_ptr { + return make_unique([this, &result, &functionCalled](bool success) { if (TestStatus::Pending != result.Status) return; @@ -74,8 +69,7 @@ TestResult TestRunner::RunTest( // Note, further configuration should be done in each Windows variant's // TestRunner implementation. shared_ptr devSettings = make_shared(); - devSettings->useWebDebugger = - false; // WebSocketJSExecutor can't register native log hooks. + devSettings->useWebDebugger = false; // WebSocketJSExecutor can't register native log hooks. devSettings->debugHost = "localhost:8081"; devSettings->liveReloadCallback = []() {}; // Enables ChakraExecutor devSettings->errorCallback = [&result](string message) { @@ -86,11 +80,10 @@ TestResult TestRunner::RunTest( // React instance scope { - shared_ptr instance = GetInstance( - std::move(bundlePath), std::move(modules), std::move(devSettings)); + shared_ptr instance = + GetInstance(std::move(bundlePath), std::move(modules), std::move(devSettings)); - InitializeLogging([&result, &functionCalled]( - RCTLogLevel logLevel, const char *message) { + InitializeLogging([&result, &functionCalled](RCTLogLevel logLevel, const char *message) { if (TestStatus::Pending != result.Status) return; @@ -125,8 +118,8 @@ TestResult TestRunner::RunTest( CloseHandle(functionCalled); functionCalled = NULL; } catch (...) { - result.Message = Microsoft::Common::Unicode::Utf8ToUtf16( - boost::current_exception_diagnostic_information(/*verbose*/ true)); + result.Message = + Microsoft::Common::Unicode::Utf8ToUtf16(boost::current_exception_diagnostic_information(/*verbose*/ true)); result.Status = TestStatus::Failed; } return result; diff --git a/vnext/IntegrationTests/TestRunner.h b/vnext/IntegrationTests/TestRunner.h index 0cd1986c1d7..51495a90e23 100644 --- a/vnext/IntegrationTests/TestRunner.h +++ b/vnext/IntegrationTests/TestRunner.h @@ -23,18 +23,14 @@ class TestRunner { std::shared_ptr GetInstance( std::string &&jsBundleFile, - std::vector< - std::tuple> - &&cxxModules, + std::vector> &&cxxModules, std::shared_ptr devSettings) noexcept; public: TestRunner(); - TestResult RunTest( - std::string &&bundlePath, - std::string &&appName, - facebook::react::NativeLoggingHook &&loggingCallback = {}); + TestResult + RunTest(std::string &&bundlePath, std::string &&appName, facebook::react::NativeLoggingHook &&loggingCallback = {}); }; } // namespace Microsoft::React::Test diff --git a/vnext/JSI.Desktop.UnitTests/ChakraCoreRuntimeUnitTests.cpp b/vnext/JSI.Desktop.UnitTests/ChakraCoreRuntimeUnitTests.cpp index f16c5782dc7..9c4de1470ad 100644 --- a/vnext/JSI.Desktop.UnitTests/ChakraCoreRuntimeUnitTests.cpp +++ b/vnext/JSI.Desktop.UnitTests/ChakraCoreRuntimeUnitTests.cpp @@ -30,17 +30,12 @@ std::vector runtimeGenerators() { args.jsQueue = std::make_shared(); - std::shared_ptr memoryTrackerCallbackQueue = - std::make_shared(); + std::shared_ptr memoryTrackerCallbackQueue = std::make_shared(); - args.memoryTracker = - CreateMemoryTracker(std::move(memoryTrackerCallbackQueue)); + args.memoryTracker = CreateMemoryTracker(std::move(memoryTrackerCallbackQueue)); return makeChakraRuntime(std::move(args)); }}; } -INSTANTIATE_TEST_CASE_P( - ChakraRuntimeTest, - JsiRuntimeUnitTests, - ::testing::ValuesIn(runtimeGenerators())); +INSTANTIATE_TEST_CASE_P(ChakraRuntimeTest, JsiRuntimeUnitTests, ::testing::ValuesIn(runtimeGenerators())); diff --git a/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.cpp b/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.cpp index 6cc5826fdf7..bfdc8dcf2a2 100644 --- a/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.cpp +++ b/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.cpp @@ -42,32 +42,23 @@ TEST_P(JsiRuntimeUnitTests, PropNameIDTest) { EXPECT_TRUE(PropNameID::compare(rt, movedQuux, copiedQuux)); EXPECT_TRUE(PropNameID::compare(rt, movedQuux, movedQuux)); - EXPECT_TRUE(PropNameID::compare( - rt, movedQuux, PropNameID::forAscii(rt, std::string("quux2")))); - EXPECT_FALSE(PropNameID::compare( - rt, movedQuux, PropNameID::forAscii(rt, std::string("foo")))); + EXPECT_TRUE(PropNameID::compare(rt, movedQuux, PropNameID::forAscii(rt, std::string("quux2")))); + EXPECT_FALSE(PropNameID::compare(rt, movedQuux, PropNameID::forAscii(rt, std::string("foo")))); uint8_t utf8[] = {0xF0, 0x9F, 0x86, 0x97}; PropNameID utf8PropNameID = PropNameID::forUtf8(rt, utf8, sizeof(utf8)); EXPECT_EQ(utf8PropNameID.utf8(rt), u8"\U0001F197"); - EXPECT_TRUE(PropNameID::compare( - rt, utf8PropNameID, PropNameID::forUtf8(rt, utf8, sizeof(utf8)))); + EXPECT_TRUE(PropNameID::compare(rt, utf8PropNameID, PropNameID::forUtf8(rt, utf8, sizeof(utf8)))); PropNameID nonUtf8PropNameID = PropNameID::forUtf8(rt, "meow"); - EXPECT_TRUE(PropNameID::compare( - rt, nonUtf8PropNameID, PropNameID::forAscii(rt, "meow"))); + EXPECT_TRUE(PropNameID::compare(rt, nonUtf8PropNameID, PropNameID::forAscii(rt, "meow"))); EXPECT_EQ(nonUtf8PropNameID.utf8(rt), "meow"); - PropNameID strPropNameID = - PropNameID::forString(rt, String::createFromAscii(rt, "meow")); + PropNameID strPropNameID = PropNameID::forString(rt, String::createFromAscii(rt, "meow")); EXPECT_TRUE(PropNameID::compare(rt, nonUtf8PropNameID, strPropNameID)); - auto names = PropNameID::names( - rt, "Ala", std::string("ma"), PropNameID::forAscii(rt, "kota")); + auto names = PropNameID::names(rt, "Ala", std::string("ma"), PropNameID::forAscii(rt, "kota")); EXPECT_EQ(names.size(), 3); - EXPECT_TRUE( - PropNameID::compare(rt, names[0], PropNameID::forAscii(rt, "Ala"))); - EXPECT_TRUE( - PropNameID::compare(rt, names[1], PropNameID::forAscii(rt, "ma"))); - EXPECT_TRUE( - PropNameID::compare(rt, names[2], PropNameID::forAscii(rt, "kota"))); + EXPECT_TRUE(PropNameID::compare(rt, names[0], PropNameID::forAscii(rt, "Ala"))); + EXPECT_TRUE(PropNameID::compare(rt, names[1], PropNameID::forAscii(rt, "ma"))); + EXPECT_TRUE(PropNameID::compare(rt, names[2], PropNameID::forAscii(rt, "kota"))); } TEST_P(JsiRuntimeUnitTests, StringTest) { @@ -78,8 +69,7 @@ TEST_P(JsiRuntimeUnitTests, StringTest) { EXPECT_TRUE(checkValue(String::createFromAscii(rt, baz), "'baz'")); uint8_t utf8[] = {0xF0, 0x9F, 0x86, 0x97}; - EXPECT_TRUE(checkValue( - String::createFromUtf8(rt, utf8, sizeof(utf8)), "'\\uD83C\\uDD97'")); + EXPECT_TRUE(checkValue(String::createFromUtf8(rt, utf8, sizeof(utf8)), "'\\uD83C\\uDD97'")); EXPECT_EQ(eval("'quux'").getString(rt).utf8(rt), "quux"); EXPECT_EQ(eval("'\\u20AC'").getString(rt).utf8(rt), "\xe2\x82\xac"); @@ -107,11 +97,7 @@ TEST_P(JsiRuntimeUnitTests, ObjectTest) { EXPECT_EQ(x.getProperty(rt, PropNameID::forAscii(rt, "1")).getNumber(), 2); EXPECT_EQ(x.getProperty(rt, "3").getNumber(), 4); Value five = 5; - EXPECT_EQ( - x.getProperty(rt, PropNameID::forString(rt, five.toString(rt))) - .getString(rt) - .utf8(rt), - "six"); + EXPECT_EQ(x.getProperty(rt, PropNameID::forString(rt, five.toString(rt))).getString(rt).utf8(rt), "six"); x.setProperty(rt, "ten", 11); EXPECT_EQ(x.getPropertyNames(rt).size(rt), 5); @@ -192,11 +178,8 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { void set(Runtime &, const PropNameID &, const Value &) override {} }; - Object cho = - Object::createFromHostObject(rt, std::make_shared()); - EXPECT_TRUE(function("function (obj) { return obj.someRandomProp == 9000; }") - .call(rt, cho) - .getBool()); + Object cho = Object::createFromHostObject(rt, std::make_shared()); + EXPECT_TRUE(function("function (obj) { return obj.someRandomProp == 9000; }").call(rt, cho).getBool()); EXPECT_TRUE(cho.isHostObject(rt)); EXPECT_TRUE(cho.getHostObject(rt).get() != nullptr); @@ -220,8 +203,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { Runtime &rt_; }; - Object srho = Object::createFromHostObject( - rt, std::make_shared(rt)); + Object srho = Object::createFromHostObject(rt, std::make_shared(rt)); // Test get's Runtime is as expected function("function (obj) { return obj.isSame; }").call(rt, srho); // ... and set @@ -237,21 +219,12 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { void set(Runtime &, const PropNameID &, const Value &) override {} }; - Object tho = - Object::createFromHostObject(rt, std::make_shared()); - EXPECT_TRUE(function("function (obj) { return obj.abc == 'abcabc'; }") - .call(rt, tho) - .getBool()); - EXPECT_TRUE(function("function (obj) { return obj['def'] == 'defdef'; }") - .call(rt, tho) - .getBool()); - EXPECT_TRUE(function("function (obj) { return obj[12] === '1212'; }") - .call(rt, tho) - .getBool()); + Object tho = Object::createFromHostObject(rt, std::make_shared()); + EXPECT_TRUE(function("function (obj) { return obj.abc == 'abcabc'; }").call(rt, tho).getBool()); + EXPECT_TRUE(function("function (obj) { return obj['def'] == 'defdef'; }").call(rt, tho).getBool()); + EXPECT_TRUE(function("function (obj) { return obj[12] === '1212'; }").call(rt, tho).getBool()); EXPECT_TRUE(tho.isHostObject(rt)); - EXPECT_TRUE( - std::dynamic_pointer_cast(tho.getHostObject(rt)) == - nullptr); + EXPECT_TRUE(std::dynamic_pointer_cast(tho.getHostObject(rt)) == nullptr); EXPECT_TRUE(tho.getHostObject(rt).get() != nullptr); class PropNameIDHostObject : public HostObject { @@ -259,26 +232,18 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { if (PropNameID::compare(rt, sym, PropNameID::forAscii(rt, "undef"))) { return Value::undefined(); } else { - return PropNameID::compare( - rt, sym, PropNameID::forAscii(rt, "somesymbol")); + return PropNameID::compare(rt, sym, PropNameID::forAscii(rt, "somesymbol")); } } void set(Runtime &, const PropNameID &, const Value &) override {} }; - Object sho = Object::createFromHostObject( - rt, std::make_shared()); + Object sho = Object::createFromHostObject(rt, std::make_shared()); EXPECT_TRUE(sho.isHostObject(rt)); - EXPECT_TRUE(function("function (obj) { return obj.undef; }") - .call(rt, sho) - .isUndefined()); - EXPECT_TRUE(function("function (obj) { return obj.somesymbol; }") - .call(rt, sho) - .getBool()); - EXPECT_FALSE(function("function (obj) { return obj.notsomuch; }") - .call(rt, sho) - .getBool()); + EXPECT_TRUE(function("function (obj) { return obj.undef; }").call(rt, sho).isUndefined()); + EXPECT_TRUE(function("function (obj) { return obj.somesymbol; }").call(rt, sho).getBool()); + EXPECT_FALSE(function("function (obj) { return obj.notsomuch; }").call(rt, sho).getBool()); class BagHostObject : public HostObject { public: @@ -307,14 +272,9 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { std::shared_ptr shbho = std::make_shared(); Object bho = Object::createFromHostObject(rt, shbho); EXPECT_TRUE(bho.isHostObject(rt)); - EXPECT_TRUE(function("function (obj) { return obj.undef; }") - .call(rt, bho) - .isUndefined()); + EXPECT_TRUE(function("function (obj) { return obj.undef; }").call(rt, bho).isUndefined()); EXPECT_EQ( - function("function (obj) { obj.thing = 'hello'; return obj.thing; }") - .call(rt, bho) - .toString(rt) - .utf8(rt), + function("function (obj) { obj.thing = 'hello'; return obj.thing; }").call(rt, bho).toString(rt).utf8(rt), "hello"); EXPECT_EQ(shbho->getThing(), "hello"); @@ -330,8 +290,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { } }; - Object thro = - Object::createFromHostObject(rt, std::make_shared()); + Object thro = Object::createFromHostObject(rt, std::make_shared()); EXPECT_TRUE(thro.isHostObject(rt)); std::string exc; try { @@ -350,12 +309,9 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { #endif class NopHostObject : public HostObject {}; - Object nopHo = - Object::createFromHostObject(rt, std::make_shared()); + Object nopHo = Object::createFromHostObject(rt, std::make_shared()); EXPECT_TRUE(nopHo.isHostObject(rt)); - EXPECT_TRUE(function("function (obj) { return obj.thing; }") - .call(rt, nopHo) - .isUndefined()); + EXPECT_TRUE(function("function (obj) { return obj.thing; }").call(rt, nopHo).isUndefined()); // TODO (T28293178) Remove this once exceptions are supported in all builds. #ifndef JSI_NO_EXCEPTION_TESTS std::string nopExc; @@ -369,41 +325,23 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectTest) { class HostObjectWithPropertyNames : public HostObject { std::vector getPropertyNames(Runtime &rt) override { - return PropNameID::names( - rt, "a_prop", "1", "false", "a_prop", "3", "c_prop"); + return PropNameID::names(rt, "a_prop", "1", "false", "a_prop", "3", "c_prop"); } }; - Object howpn = Object::createFromHostObject( - rt, std::make_shared()); - EXPECT_TRUE( - function( - "function (o) { return Object.getOwnPropertyNames(o).length == 5 }") - .call(rt, howpn) - .getBool()); + Object howpn = Object::createFromHostObject(rt, std::make_shared()); + EXPECT_TRUE(function("function (o) { return Object.getOwnPropertyNames(o).length == 5 }").call(rt, howpn).getBool()); auto hasOwnPropertyName = function( "function (o, p) {" " return Object.getOwnPropertyNames(o).indexOf(p) >= 0" "}"); - EXPECT_TRUE( - hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "a_prop")) - .getBool()); - EXPECT_TRUE( - hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "1")) - .getBool()); - EXPECT_TRUE( - hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "false")) - .getBool()); - EXPECT_TRUE( - hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "3")) - .getBool()); - EXPECT_TRUE( - hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "c_prop")) - .getBool()); - EXPECT_FALSE(hasOwnPropertyName - .call(rt, howpn, String::createFromAscii(rt, "not_existing")) - .getBool()); + EXPECT_TRUE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "a_prop")).getBool()); + EXPECT_TRUE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "1")).getBool()); + EXPECT_TRUE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "false")).getBool()); + EXPECT_TRUE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "3")).getBool()); + EXPECT_TRUE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "c_prop")).getBool()); + EXPECT_FALSE(hasOwnPropertyName.call(rt, howpn, String::createFromAscii(rt, "not_existing")).getBool()); } TEST_P(JsiRuntimeUnitTests, ArrayTest) { @@ -442,11 +380,7 @@ TEST_P(JsiRuntimeUnitTests, ArrayTest) { seven.setProperty(rt, "1", "modified"); EXPECT_EQ(seven.getProperty(rt, "1").getString(rt).utf8(rt), "modified"); EXPECT_EQ(arr.getValueAtIndex(rt, 1).getString(rt).utf8(rt), "modified"); - EXPECT_EQ( - seven.getProperty(rt, PropNameID::forAscii(rt, "0")) - .getString(rt) - .utf8(rt), - "eight"); + EXPECT_EQ(seven.getProperty(rt, PropNameID::forAscii(rt, "0")).getString(rt).utf8(rt), "eight"); seven.setProperty(rt, PropNameID::forAscii(rt, "0"), "modified2"); EXPECT_EQ(arr.getValueAtIndex(rt, 0).getString(rt).utf8(rt), "modified2"); @@ -461,13 +395,11 @@ TEST_P(JsiRuntimeUnitTests, ArrayTest) { alpha.setValueAtIndex(rt, 3, "d"); EXPECT_EQ(alpha.size(rt), 4); - EXPECT_TRUE( - function( - "function (arr) { return " - "arr.length == 4 && " - "['a','b','c','d'].every(function(v,i) { return v === arr[i]}); }") - .call(rt, alpha) - .getBool()); + EXPECT_TRUE(function("function (arr) { return " + "arr.length == 4 && " + "['a','b','c','d'].every(function(v,i) { return v === arr[i]}); }") + .call(rt, alpha) + .getBool()); Array alpha2 = Array(rt, 1); alpha2 = std::move(alpha); @@ -542,8 +474,7 @@ TEST_P(JsiRuntimeUnitTests, FunctionTest) { } TEST_P(JsiRuntimeUnitTests, FunctionThisTest) { - Function checkPropertyFunction = - function("function() { return this.a === 'a_property' }"); + Function checkPropertyFunction = function("function() { return this.a === 'a_property' }"); Object jsObject = Object(rt); jsObject.setProperty(rt, "a", String::createFromUtf8(rt, "a_property")); @@ -572,9 +503,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_FunctionConstructorTest) { " this.pika = a;" " }" "}"); - ctor.getProperty(rt, "prototype") - .getObject(rt) - .setProperty(rt, "pika", "chu"); + ctor.getProperty(rt, "prototype").getObject(rt).setProperty(rt, "pika", "chu"); auto empty = ctor.callAsConstructor(rt); ASSERT_TRUE(empty.isObject()); auto emptyObj = std::move(empty).getObject(rt); @@ -596,9 +525,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_FunctionConstructorTest) { // usleep(50000); std::this_thread::sleep_for(std::chrono::milliseconds(50)); EXPECT_GE( - function("function (d) { return (new Date()).getTime() - d.getTime(); }") - .call(rt, date) - .getNumber(), + function("function (d) { return (new Date()).getTime() - d.getTime(); }").call(rt, date).getNumber(), // We use 48 here because sleep_for is not very precise, // and this test is not about timing precision. 48); @@ -609,12 +536,9 @@ TEST_P(JsiRuntimeUnitTests, InstanceOfTest) { auto newObj = function("function (ctor) { return new ctor(); }"); auto instance = newObj.call(rt, ctor).getObject(rt); EXPECT_TRUE(instance.instanceOf(rt, ctor)); - EXPECT_EQ( - instance.getProperty(rt, "say").getString(rt).utf8(rt), "wubalubadubdub"); + EXPECT_EQ(instance.getProperty(rt, "say").getString(rt).utf8(rt), "wubalubadubdub"); EXPECT_FALSE(Object(rt).instanceOf(rt, ctor)); - EXPECT_TRUE(ctor.callAsConstructor(rt, nullptr, 0) - .getObject(rt) - .instanceOf(rt, ctor)); + EXPECT_TRUE(ctor.callAsConstructor(rt, nullptr, 0).getObject(rt).instanceOf(rt, ctor)); } // TODO (yicyao): Fix this test. @@ -624,14 +548,11 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { rt, PropNameID::forAscii(rt, "plusOne"), 2, - [one, savedRt = &rt]( - Runtime &rt, const Value &thisVal, const Value *args, size_t count) { + [one, savedRt = &rt](Runtime &rt, const Value &thisVal, const Value *args, size_t count) { EXPECT_EQ(savedRt, &rt); // We don't know if we're in strict mode or not, so it's either global // or undefined. - EXPECT_TRUE( - Value::strictEquals(rt, thisVal, rt.global()) || - thisVal.isUndefined()); + EXPECT_TRUE(Value::strictEquals(rt, thisVal, rt.global()) || thisVal.isUndefined()); return *one + args[0].getNumber() + args[1].getNumber(); }); @@ -641,20 +562,13 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { EXPECT_TRUE(eval("plusOne(20, 300) == 321").getBool()); Function dot = Function::createFromHostFunction( - rt, - PropNameID::forAscii(rt, "dot"), - 2, - [](Runtime &rt, const Value &thisVal, const Value *args, size_t count) { - EXPECT_TRUE( - Value::strictEquals(rt, thisVal, rt.global()) || - thisVal.isUndefined()); + rt, PropNameID::forAscii(rt, "dot"), 2, [](Runtime &rt, const Value &thisVal, const Value *args, size_t count) { + EXPECT_TRUE(Value::strictEquals(rt, thisVal, rt.global()) || thisVal.isUndefined()); if (count != 2) { throw std::runtime_error("expected 2 args"); } - std::string ret = args[0].getString(rt).utf8(rt) + "." + - args[1].getString(rt).utf8(rt); - return String::createFromUtf8( - rt, reinterpret_cast(ret.data()), ret.size()); + std::string ret = args[0].getString(rt).utf8(rt) + "." + args[1].getString(rt).utf8(rt); + return String::createFromUtf8(rt, reinterpret_cast(ret.data()), ret.size()); }); rt.global().setProperty(rt, "cons", dot); @@ -681,8 +595,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { [](Runtime &rt, const Value &thisVal, const Value *args, size_t count) { EXPECT_EQ(count, 0); std::string ret = thisVal.toString(rt).utf8(rt) + " is cool"; - return String::createFromUtf8( - rt, reinterpret_cast(ret.data()), ret.size()); + return String::createFromUtf8(rt, reinterpret_cast(ret.data()), ret.size()); }); rt.global().setProperty(rt, "coolify", coolify); EXPECT_TRUE(eval("coolify.name == 'coolify'").getBool()); @@ -698,15 +611,9 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { rt, PropNameID::forAscii(rt, "lookAtMe"), 0, - [](Runtime &rt, const Value &thisVal, const Value *args, size_t count) - -> Value { + [](Runtime &rt, const Value &thisVal, const Value *args, size_t count) -> Value { EXPECT_TRUE(thisVal.isObject()); - EXPECT_EQ( - thisVal.getObject(rt) - .getProperty(rt, "name") - .getString(rt) - .utf8(rt), - "mr.meeseeks"); + EXPECT_EQ(thisVal.getObject(rt).getProperty(rt, "name").getString(rt).utf8(rt), "mr.meeseeks"); return Value(); }); rt.global().setProperty(rt, "lookAtMe", lookAtMe); @@ -715,28 +622,20 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { struct Callable { Callable(std::string s) : str(s) {} - Value - operator()(Runtime &rt, const Value &, const Value *args, size_t count) { + Value operator()(Runtime &rt, const Value &, const Value *args, size_t count) { if (count != 1) { return Value(); } - return String::createFromUtf8( - rt, args[0].toString(rt).utf8(rt) + " was called with " + str); + return String::createFromUtf8(rt, args[0].toString(rt).utf8(rt) + " was called with " + str); } std::string str; }; - Function callable = Function::createFromHostFunction( - rt, - PropNameID::forAscii(rt, "callable"), - 1, - Callable("std::function::target")); + Function callable = + Function::createFromHostFunction(rt, PropNameID::forAscii(rt, "callable"), 1, Callable("std::function::target")); EXPECT_EQ( - function("function (f) { return f('A cat'); }") - .call(rt, callable) - .getString(rt) - .utf8(rt), + function("function (f) { return f('A cat'); }").call(rt, callable).getString(rt).utf8(rt), "A cat was called with std::function::target"); EXPECT_TRUE(callable.isHostFunction(rt)); // TODO (yicyao): This line failed to compile. Fix this. @@ -751,11 +650,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { rt, PropNameID::forAscii(rt, "getter"), 1, - [&strval]( - Runtime &rt, - const Value &thisVal, - const Value *args, - size_t count) -> Value { + [&strval](Runtime &rt, const Value &thisVal, const Value *args, size_t count) -> Value { return String::createFromUtf8(rt, strval); })); auto obj = Object(rt); @@ -763,13 +658,9 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostFunctionTest) { .getPropertyAsObject(rt, "Object") .getPropertyAsFunction(rt, "defineProperty") .call(rt, obj, "prop", getter); - EXPECT_TRUE(function("function(value) { return value.prop == 'strval1'; }") - .call(rt, obj) - .getBool()); + EXPECT_TRUE(function("function(value) { return value.prop == 'strval1'; }").call(rt, obj).getBool()); strval = "strval2"; - EXPECT_TRUE(function("function(value) { return value.prop == 'strval2'; }") - .call(rt, obj) - .getBool()); + EXPECT_TRUE(function("function(value) { return value.prop == 'strval2'; }").call(rt, obj).getBool()); } TEST_P(JsiRuntimeUnitTests, ValueTest) { @@ -814,23 +705,20 @@ TEST_P(JsiRuntimeUnitTests, ValueTest) { } Object o = Object(rt); - EXPECT_TRUE(function("function(value) { return typeof(value) == 'object'; }") - .call(rt, Value(rt, o)) - .getBool()); + EXPECT_TRUE(function("function(value) { return typeof(value) == 'object'; }").call(rt, Value(rt, o)).getBool()); uint8_t utf8[] = "[null, 2, \"c\", \"emoji: \xf0\x9f\x86\x97\", {}]"; - EXPECT_TRUE( - function("function (arr) { return " - "Array.isArray(arr) && " - "arr.length == 5 && " - "arr[0] === null && " - "arr[1] == 2 && " - "arr[2] == 'c' && " - "arr[3] == 'emoji: \\uD83C\\uDD97' && " - "typeof arr[4] == 'object'; }") - .call(rt, Value::createFromJsonUtf8(rt, utf8, sizeof(utf8) - 1)) - .getBool()); + EXPECT_TRUE(function("function (arr) { return " + "Array.isArray(arr) && " + "arr.length == 5 && " + "arr[0] === null && " + "arr[1] == 2 && " + "arr[2] == 'c' && " + "arr[3] == 'emoji: \\uD83C\\uDD97' && " + "typeof arr[4] == 'object'; }") + .call(rt, Value::createFromJsonUtf8(rt, utf8, sizeof(utf8) - 1)) + .getBool()); EXPECT_TRUE(eval("undefined").isUndefined()); EXPECT_TRUE(eval("null").isNull()); @@ -851,8 +739,7 @@ TEST_P(JsiRuntimeUnitTests, ValueTest) { EXPECT_EQ(eval("456").asNumber(), 456); EXPECT_THROW(eval("'word'").asNumber(), JSIException); - EXPECT_EQ( - eval("({1:2, 3:4})").asObject(rt).getProperty(rt, "1").getNumber(), 2); + EXPECT_EQ(eval("({1:2, 3:4})").asObject(rt).getProperty(rt, "1").getNumber(), 2); // TODO (yicyao): Currently this line would crash at the std::terminate() // call in createValue. We need to fix this. // EXPECT_THROW(eval("'oops'").asObject(rt), JSIException); @@ -870,22 +757,15 @@ TEST_P(JsiRuntimeUnitTests, EqualsTest) { EXPECT_TRUE(Value::strictEquals(rt, nullptr, nullptr)); EXPECT_TRUE(Value::strictEquals(rt, Value::undefined(), Value())); EXPECT_TRUE(Value::strictEquals(rt, rt.global(), Value(rt.global()))); + EXPECT_FALSE( + Value::strictEquals(rt, std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN())); EXPECT_FALSE(Value::strictEquals( - rt, - std::numeric_limits::quiet_NaN(), - std::numeric_limits::quiet_NaN())); - EXPECT_FALSE(Value::strictEquals( - rt, - std::numeric_limits::signaling_NaN(), - std::numeric_limits::signaling_NaN())); + rt, std::numeric_limits::signaling_NaN(), std::numeric_limits::signaling_NaN())); EXPECT_TRUE(Value::strictEquals(rt, +0.0, -0.0)); EXPECT_TRUE(Value::strictEquals(rt, -0.0, +0.0)); Function noop = Function::createFromHostFunction( - rt, - PropNameID::forAscii(rt, "noop"), - 0, - [](const Runtime &, const Value &, const Value *, size_t) { + rt, PropNameID::forAscii(rt, "noop"), 0, [](const Runtime &, const Value &, const Value *, size_t) { return Value(); }); auto noopDup = Value(rt, noop).getObject(rt); @@ -916,8 +796,7 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_ExceptionStackTraceTest) { "world()"; std::string stack; try { - rt.evaluateJavaScript( - std::make_unique(invokeUndefinedScript), ""); + rt.evaluateJavaScript(std::make_unique(invokeUndefinedScript), ""); } catch (JSError &e) { stack = e.getStack(); } @@ -929,8 +808,7 @@ namespace { unsigned countOccurences(const std::string &of, const std::string &in) { unsigned occurences = 0; std::string::size_type lastOccurence = -1; - while ((lastOccurence = in.find(of, lastOccurence + 1)) != - std::string::npos) { + while ((lastOccurence = in.find(of, lastOccurence + 1)) != std::string::npos) { occurences++; } return occurences; @@ -953,8 +831,7 @@ TEST_P(JsiRuntimeUnitTests, JSErrorsArePropagatedNicely) { rt, PropNameID::forAscii(rt, "callback"), 0, - [&sometimesThrows, &callsBeforeError]( - Runtime &rt, const Value &thisVal, const Value *args, size_t count) { + [&sometimesThrows, &callsBeforeError](Runtime &rt, const Value &thisVal, const Value *args, size_t count) { return sometimesThrows.call(rt, --callsBeforeError == 0, args[0]); }); @@ -1050,7 +927,5 @@ TEST_P(JsiRuntimeUnitTests, DISABLED_HostObjectWithValueMembers) { EXPECT_EQ(bag["count"].getNumber(), 37); EXPECT_TRUE(bag["nul"].isNull()); EXPECT_TRUE(bag["iscool"].getBool()); - EXPECT_EQ( - bag["obj"].getObject(rt).getProperty(rt, "foo").getString(rt).utf8(rt), - "bar"); + EXPECT_EQ(bag["obj"].getObject(rt).getProperty(rt, "foo").getString(rt).utf8(rt), "bar"); } diff --git a/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.h b/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.h index 7a09f0f795c..dcc26684058 100644 --- a/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.h +++ b/vnext/JSI.Desktop.UnitTests/JsiRuntimeUnitTests.h @@ -15,8 +15,7 @@ using RuntimeFactory = std::function()>; class JsiRuntimeUnitTests : public ::testing::TestWithParam { public: - JsiRuntimeUnitTests() - : factory(GetParam()), runtime(factory()), rt(*runtime) {} + JsiRuntimeUnitTests() : factory(GetParam()), runtime(factory()), rt(*runtime) {} Value eval(const char *code) { return rt.global().getPropertyAsFunction(rt, "eval").call(rt, code); @@ -28,9 +27,7 @@ class JsiRuntimeUnitTests : public ::testing::TestWithParam { bool checkValue(const Value &value, const std::string &jsValue) { // TODO (yicyao): Should we use === instead of == here? - return function("function(value) { return value == " + jsValue + "; }") - .call(rt, std::move(value)) - .getBool(); + return function("function(value) { return value == " + jsValue + "; }").call(rt, std::move(value)).getBool(); } // The order of these member variable declarations is important because they diff --git a/vnext/JSI/Desktop/ChakraJsiRuntime_core.cpp b/vnext/JSI/Desktop/ChakraJsiRuntime_core.cpp index 1014ee0c5fa..b0cc4fc184f 100644 --- a/vnext/JSI/Desktop/ChakraJsiRuntime_core.cpp +++ b/vnext/JSI/Desktop/ChakraJsiRuntime_core.cpp @@ -40,9 +40,7 @@ struct FileVersionInfoResource { // ChakraCore based jsi::Runtime. // ES6 Promise callback -void CALLBACK ChakraRuntime::PromiseContinuationCallback( - JsValueRef funcRef, - void *callbackState) noexcept { +void CALLBACK ChakraRuntime::PromiseContinuationCallback(JsValueRef funcRef, void *callbackState) noexcept { ChakraRuntime *runtime = static_cast(callbackState); runtime->PromiseContinuation(funcRef); } @@ -62,17 +60,13 @@ void ChakraRuntime::PromiseContinuation(JsValueRef funcRef) noexcept { runtimeArgs().jsQueue->runOnQueue([this, funcRef]() { JsValueRef undefinedValue; JsGetUndefinedValue(&undefinedValue); - VerifyJsErrorElseThrow( - JsCallFunction(funcRef, &undefinedValue, 1, nullptr)); + VerifyJsErrorElseThrow(JsCallFunction(funcRef, &undefinedValue, 1, nullptr)); JsRelease(funcRef, nullptr); }); } } -void ChakraRuntime::PromiseRejectionTracker( - JsValueRef /*promise*/, - JsValueRef reason, - bool handled) { +void ChakraRuntime::PromiseRejectionTracker(JsValueRef /*promise*/, JsValueRef reason, bool handled) { if (!handled) { std::ostringstream errorStream; errorStream << "ChakraCore uncaught promise rejection: "; @@ -101,9 +95,7 @@ void ChakraRuntime::PromiseRejectionTracker( } std::string errorString = errorStream.str(); - throw facebook::jsi::JSError( - *this, - createStringFromAscii(errorString.c_str(), errorString.length())); + throw facebook::jsi::JSError(*this, createStringFromAscii(errorString.c_str(), errorString.length())); } } @@ -117,11 +109,8 @@ void ChakraRuntime::setupNativePromiseContinuation() noexcept { void ChakraRuntime::startDebuggingIfNeeded() { auto &args = runtimeArgs(); if (args.enableDebugging) { - auto port = - args.debuggerPort == 0 ? DebuggerDefaultPort : args.debuggerPort; - auto runtimeName = args.debuggerRuntimeName.empty() - ? DebuggerDefaultRuntimeName - : args.debuggerRuntimeName; + auto port = args.debuggerPort == 0 ? DebuggerDefaultPort : args.debuggerPort; + auto runtimeName = args.debuggerRuntimeName.empty() ? DebuggerDefaultRuntimeName : args.debuggerRuntimeName; JsErrorCode result = enableDebugging( m_runtime, @@ -139,8 +128,7 @@ void ChakraRuntime::startDebuggingIfNeeded() { if (args.debuggerBreakOnNextLine && m_debugProtocolHandler) { if (args.loggingCallback) - args.loggingCallback( - "Waiting for debugger to connect...", LogLevel::Info); + args.loggingCallback("Waiting for debugger to connect...", LogLevel::Info); m_debugProtocolHandler->WaitForDebugger(); @@ -172,13 +160,11 @@ JsErrorCode ChakraRuntime::enableDebugging( auto protocolHandler = std::make_unique(runtime); auto service = std::make_unique(runtime); - result = - service->RegisterHandler(runtimeName, *protocolHandler, breakOnNextLine); + result = service->RegisterHandler(runtimeName, *protocolHandler, breakOnNextLine); if (result == JsNoError) { if (protocolHandler) { - result = protocolHandler->SetCommandQueueCallback( - ProcessDebuggerCommandQueueCallback, this); + result = protocolHandler->SetCommandQueueCallback(ProcessDebuggerCommandQueueCallback, this); } } @@ -187,9 +173,7 @@ JsErrorCode ChakraRuntime::enableDebugging( if (runtimeArgs().loggingCallback) runtimeArgs().loggingCallback( - (std::string("Listening on ws://127.0.0.1:") + std::to_string(port) + - "/" + runtimeName) - .c_str(), + (std::string("Listening on ws://127.0.0.1:") + std::to_string(port) + "/" + runtimeName).c_str(), LogLevel::Info); } @@ -211,8 +195,7 @@ void ChakraRuntime::ProcessDebuggerCommandQueue() { } } -/* static */ void ChakraRuntime::ProcessDebuggerCommandQueueCallback( - void *callbackState) { +/* static */ void ChakraRuntime::ProcessDebuggerCommandQueueCallback(void *callbackState) { ChakraRuntime *runtime = reinterpret_cast(callbackState); if (runtime) { @@ -235,26 +218,21 @@ void ChakraRuntime::ProcessDebuggerCommandQueue() { if (!GetModuleHandleExW(0, chakraDllName, &moduleHandle)) return; - std::unique_ptr moduleHandleWrapper{ - moduleHandle, std::move(freeLibraryWrapper)}; + std::unique_ptr moduleHandleWrapper{moduleHandle, std::move(freeLibraryWrapper)}; - HRSRC versionResourceHandle = - FindResourceW(moduleHandle, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION); + HRSRC versionResourceHandle = FindResourceW(moduleHandle, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION); if (!versionResourceHandle || - SizeofResource( - static_cast(moduleHandleWrapper.get()), - versionResourceHandle) < sizeof(FileVersionInfoResource)) + SizeofResource(static_cast(moduleHandleWrapper.get()), versionResourceHandle) < + sizeof(FileVersionInfoResource)) return; - HGLOBAL versionResourcePtrHandle = - LoadResource(moduleHandle, versionResourceHandle); + HGLOBAL versionResourcePtrHandle = LoadResource(moduleHandle, versionResourceHandle); if (!versionResourcePtrHandle) return; FileVersionInfoResource *chakraVersionInfo = - static_cast( - LockResource(versionResourcePtrHandle)); + static_cast(LockResource(versionResourcePtrHandle)); if (!chakraVersionInfo) return; @@ -264,21 +242,16 @@ void ChakraRuntime::ProcessDebuggerCommandQueue() { #endif } -std::unique_ptr -ChakraRuntime::generatePreparedScript( +std::unique_ptr ChakraRuntime::generatePreparedScript( const std::string &sourceURL, const facebook::jsi::Buffer &sourceBuffer) noexcept { - const std::wstring scriptUTF16 = Microsoft::Common::Unicode::Utf8ToUtf16( - reinterpret_cast(sourceBuffer.data()), sourceBuffer.size()); + const std::wstring scriptUTF16 = + Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast(sourceBuffer.data()), sourceBuffer.size()); unsigned int bytecodeSize = 0; - if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) == - JsNoError) { - std::unique_ptr bytecodeBuffer( - std::make_unique(bytecodeSize)); - if (JsSerializeScript( - scriptUTF16.c_str(), bytecodeBuffer->data(), &bytecodeSize) == - JsNoError) { + if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) == JsNoError) { + std::unique_ptr bytecodeBuffer(std::make_unique(bytecodeSize)); + if (JsSerializeScript(scriptUTF16.c_str(), bytecodeBuffer->data(), &bytecodeSize) == JsNoError) { return bytecodeBuffer; } } @@ -290,22 +263,14 @@ facebook::jsi::Value ChakraRuntime::evaluateJavaScriptSimple( const facebook::jsi::Buffer &buffer, const std::string &sourceURL) { JsValueRef sourceRef; - JsCreateString( - reinterpret_cast(buffer.data()), buffer.size(), &sourceRef); + JsCreateString(reinterpret_cast(buffer.data()), buffer.size(), &sourceRef); JsValueRef sourceURLRef = nullptr; - JsCreateString( - reinterpret_cast(sourceURL.c_str()), - sourceURL.size(), - &sourceURLRef); + JsCreateString(reinterpret_cast(sourceURL.c_str()), sourceURL.size(), &sourceURLRef); JsValueRef result; - VerifyJsErrorElseThrow(JsRun( - sourceRef, - 0, - sourceURLRef, - JsParseScriptAttributes::JsParseScriptAttributeNone, - &result)); + VerifyJsErrorElseThrow( + JsRun(sourceRef, 0, sourceURLRef, JsParseScriptAttributes::JsParseScriptAttributeNone, &result)); return ToJsiValue(ChakraObjectRef(result)); } @@ -324,18 +289,14 @@ bool ChakraRuntime::evaluateSerializedScript( &bytecodeArrayBuffer) == JsNoError) { JsValueRef sourceURLRef = nullptr; if (!sourceURL.empty()) { - sourceURLRef = ToJsString(std::string_view{ - reinterpret_cast(sourceURL.c_str()), sourceURL.size()}); + sourceURLRef = ToJsString(std::string_view{reinterpret_cast(sourceURL.c_str()), sourceURL.size()}); } JsValueRef value = nullptr; JsErrorCode result = JsRunSerialized( bytecodeArrayBuffer, - [](JsSourceContext sourceContext, - JsValueRef *value, - JsParseScriptAttributes *parseAttributes) { - const facebook::jsi::Buffer *scriptSource = - reinterpret_cast(sourceContext); + [](JsSourceContext sourceContext, JsValueRef *value, JsParseScriptAttributes *parseAttributes) { + const facebook::jsi::Buffer *scriptSource = reinterpret_cast(sourceContext); if (JsCreateExternalArrayBuffer( const_cast(scriptSource->data()), static_cast(scriptSource->size()), diff --git a/vnext/JSI/Shared/ByteArrayBuffer.h b/vnext/JSI/Shared/ByteArrayBuffer.h index 1ef740cfd1c..779575e40a6 100644 --- a/vnext/JSI/Shared/ByteArrayBuffer.h +++ b/vnext/JSI/Shared/ByteArrayBuffer.h @@ -11,8 +11,7 @@ namespace Microsoft::JSI { class ByteArrayBuffer final : public facebook::jsi::Buffer { public: - ByteArrayBuffer(size_t bufferSize) - : m_size(bufferSize), m_data(std::make_unique(bufferSize)) {} + ByteArrayBuffer(size_t bufferSize) : m_size(bufferSize), m_data(std::make_unique(bufferSize)) {} ByteArrayBuffer(const ByteArrayBuffer &) = delete; ByteArrayBuffer &operator=(const ByteArrayBuffer &) = delete; diff --git a/vnext/JSI/Shared/ChakraObjectRef.cpp b/vnext/JSI/Shared/ChakraObjectRef.cpp index 1772905dd41..3e494c5f638 100644 --- a/vnext/JSI/Shared/ChakraObjectRef.cpp +++ b/vnext/JSI/Shared/ChakraObjectRef.cpp @@ -17,8 +17,7 @@ namespace Microsoft::JSI { void VerifyChakraErrorElseThrow(JsErrorCode error) { if (error != JsNoError) { std::ostringstream errorString; - errorString << "A call to Chakra(Core) API returned error code 0x" - << std::hex << error << '.'; + errorString << "A call to Chakra(Core) API returned error code 0x" << std::hex << error << '.'; throw facebook::jsi::JSINativeException(errorString.str()); } } @@ -34,8 +33,7 @@ ChakraObjectRef::ChakraObjectRef(ChakraObjectRef &&original) noexcept { Swap(original); } -ChakraObjectRef &ChakraObjectRef::operator=( - const ChakraObjectRef &rhs) noexcept { +ChakraObjectRef &ChakraObjectRef::operator=(const ChakraObjectRef &rhs) noexcept { ChakraObjectRef rhsCopy(rhs); Swap(rhsCopy); return *this; @@ -54,13 +52,11 @@ ChakraObjectRef::~ChakraObjectRef() noexcept { void ChakraObjectRef::Initialize(JsRef ref) { if (m_state != State::Uninitialized) { - throw facebook::jsi::JSINativeException( - "A ChakraObjectRef can only be initialzed once."); + throw facebook::jsi::JSINativeException("A ChakraObjectRef can only be initialzed once."); } if (!ref) { - throw facebook::jsi::JSINativeException( - "Cannot initialize a ChakraObjectRef with a null reference."); + throw facebook::jsi::JSINativeException("Cannot initialize a ChakraObjectRef with a null reference."); } VerifyChakraErrorElseThrow(JsAddRef(ref, nullptr)); @@ -71,8 +67,7 @@ void ChakraObjectRef::Initialize(JsRef ref) { void ChakraObjectRef::Invalidate() { switch (m_state) { case State::Uninitialized: { - throw facebook::jsi::JSINativeException( - "Cannot invalidate a ChakraObjectRef that has not been initialized."); + throw facebook::jsi::JSINativeException("Cannot invalidate a ChakraObjectRef that has not been initialized."); break; } case State::Initialized: { @@ -114,8 +109,7 @@ JsPropertyIdType GetPropertyIdType(const ChakraObjectRef &jsPropId) { std::wstring GetPropertyName(const ChakraObjectRef &id) { if (GetPropertyIdType(id) != JsPropertyIdTypeString) { - throw facebook::jsi::JSINativeException( - "It is llegal to retrieve the name of a property symbol."); + throw facebook::jsi::JSINativeException("It is llegal to retrieve the name of a property symbol."); } const wchar_t *propertyName = nullptr; VerifyChakraErrorElseThrow(JsGetPropertyNameFromId(id, &propertyName)); @@ -124,8 +118,7 @@ std::wstring GetPropertyName(const ChakraObjectRef &id) { ChakraObjectRef GetPropertySymbol(const ChakraObjectRef &id) { if (GetPropertyIdType(id) != JsPropertyIdTypeSymbol) { - throw facebook::jsi::JSINativeException( - "It is llegal to retrieve the symbol associated with a property name."); + throw facebook::jsi::JSINativeException("It is llegal to retrieve the symbol associated with a property name."); } JsValueRef symbol = nullptr; VerifyChakraErrorElseThrow(JsGetSymbolFromPropertyId(id, &symbol)); @@ -134,16 +127,14 @@ ChakraObjectRef GetPropertySymbol(const ChakraObjectRef &id) { ChakraObjectRef GetPropertyId(const std::string_view &utf8) { if (!utf8.data()) { - throw facebook::jsi::JSINativeException( - "Property name cannot be a nullptr."); + throw facebook::jsi::JSINativeException("Property name cannot be a nullptr."); } // We use a #ifdef here because we can avoid a UTF-8 to UTF-16 conversion // using ChakraCore's JsCreatePropertyId API. #ifdef CHAKRACORE JsPropertyIdRef id = nullptr; - VerifyChakraErrorElseThrow( - JsCreatePropertyId(utf8.data(), utf8.length(), &id)); + VerifyChakraErrorElseThrow(JsCreatePropertyId(utf8.data(), utf8.length(), &id)); return ChakraObjectRef(id); #else @@ -160,8 +151,7 @@ ChakraObjectRef GetPropertyId(const std::wstring &utf16) { std::string ToStdString(const ChakraObjectRef &jsString) { if (GetValueType(jsString) != JsString) { - throw facebook::jsi::JSINativeException( - "Cannot convert a non JS string ChakraObjectRef to a std::string."); + throw facebook::jsi::JSINativeException("Cannot convert a non JS string ChakraObjectRef to a std::string."); } // We use a #ifdef here because we can avoid a UTF-8 to UTF-16 conversion @@ -171,12 +161,10 @@ std::string ToStdString(const ChakraObjectRef &jsString) { VerifyChakraErrorElseThrow(JsCopyString(jsString, nullptr, 0, &length)); std::string result(length, 'a'); - VerifyChakraErrorElseThrow( - JsCopyString(jsString, result.data(), result.length(), &length)); + VerifyChakraErrorElseThrow(JsCopyString(jsString, result.data(), result.length(), &length)); if (length != result.length()) { - throw facebook::jsi::JSINativeException( - "Failed to convert a JS string to a std::string."); + throw facebook::jsi::JSINativeException("Failed to convert a JS string to a std::string."); } return result; @@ -187,8 +175,7 @@ std::string ToStdString(const ChakraObjectRef &jsString) { std::wstring ToStdWstring(const ChakraObjectRef &jsString) { if (GetValueType(jsString) != JsString) { - throw facebook::jsi::JSINativeException( - "Cannot convert a non JS string ChakraObjectRef to a std::wstring."); + throw facebook::jsi::JSINativeException("Cannot convert a non JS string ChakraObjectRef to a std::wstring."); } const wchar_t *utf16 = nullptr; @@ -200,16 +187,14 @@ std::wstring ToStdWstring(const ChakraObjectRef &jsString) { ChakraObjectRef ToJsString(const std::string_view &utf8) { if (!utf8.data()) { - throw facebook::jsi::JSINativeException( - "Cannot convert a nullptr to a JS string."); + throw facebook::jsi::JSINativeException("Cannot convert a nullptr to a JS string."); } // We use a #ifdef here because we can avoid a UTF-8 to UTF-16 conversion // using ChakraCore's JsCreateString API. #ifdef CHAKRACORE JsValueRef result = nullptr; - VerifyChakraErrorElseThrow( - JsCreateString(utf8.data(), utf8.length(), &result)); + VerifyChakraErrorElseThrow(JsCreateString(utf8.data(), utf8.length(), &result)); return ChakraObjectRef(result); #else @@ -220,13 +205,11 @@ ChakraObjectRef ToJsString(const std::string_view &utf8) { ChakraObjectRef ToJsString(const std::wstring_view &utf16) { if (!utf16.data()) { - throw facebook::jsi::JSINativeException( - "Cannot convert a nullptr to a JS string."); + throw facebook::jsi::JSINativeException("Cannot convert a nullptr to a JS string."); } JsValueRef result = nullptr; - VerifyChakraErrorElseThrow( - JsPointerToString(utf16.data(), utf16.length(), &result)); + VerifyChakraErrorElseThrow(JsPointerToString(utf16.data(), utf16.length(), &result)); return ChakraObjectRef(result); } @@ -243,38 +226,32 @@ ChakraObjectRef ToJsNumber(int num) { return ChakraObjectRef(result); } -ChakraObjectRef ToJsArrayBuffer( - const std::shared_ptr &buffer) { +ChakraObjectRef ToJsArrayBuffer(const std::shared_ptr &buffer) { if (!buffer) { - throw facebook::jsi::JSINativeException( - "Cannot create an external JS ArrayBuffer without backing buffer."); + throw facebook::jsi::JSINativeException("Cannot create an external JS ArrayBuffer without backing buffer."); } size_t size = buffer->size(); if (size > UINT_MAX) { - throw facebook::jsi::JSINativeException( - "The external backing buffer for a JS ArrayBuffer is too large."); + throw facebook::jsi::JSINativeException("The external backing buffer for a JS ArrayBuffer is too large."); } JsValueRef arrayBuffer = nullptr; - auto bufferWrapper = - std::make_unique>(buffer); + auto bufferWrapper = std::make_unique>(buffer); // We allocate a copy of buffer on the heap, a shared_ptr which is deleted // when the JavaScript garbage collecotr releases the created external array // buffer. This ensures that buffer stays alive while the JavaScript engine is // using it. VerifyChakraErrorElseThrow(JsCreateExternalArrayBuffer( - Common::Utilities::CheckedReinterpretCast( - const_cast(buffer->data())), + Common::Utilities::CheckedReinterpretCast(const_cast(buffer->data())), static_cast(size), [](void *bufferToDestroy) { // We wrap bufferToDestroy in a unique_ptr to avoid calling delete // explicitly. std::unique_ptr> wrapper{ - static_cast *>( - bufferToDestroy)}; + static_cast *>(bufferToDestroy)}; }, bufferWrapper.get(), &arrayBuffer)); @@ -286,9 +263,7 @@ ChakraObjectRef ToJsArrayBuffer( return ChakraObjectRef(arrayBuffer); } -bool CompareJsValues( - const ChakraObjectRef &jsValue1, - const ChakraObjectRef &jsValue2) { +bool CompareJsValues(const ChakraObjectRef &jsValue1, const ChakraObjectRef &jsValue2) { bool result = false; // Note that JsStrictEquals should only be used for JsValueRefs and not for // other types of JsRefs (e.g. JsPropertyIdRef, etc.). @@ -296,9 +271,7 @@ bool CompareJsValues( return result; } -bool CompareJsPropertyIds( - const ChakraObjectRef &jsPropId1, - const ChakraObjectRef &jsPropId2) { +bool CompareJsPropertyIds(const ChakraObjectRef &jsPropId1, const ChakraObjectRef &jsPropId2) { JsPropertyIdType type1 = GetPropertyIdType(jsPropId1); JsPropertyIdType type2 = GetPropertyIdType(jsPropId2); @@ -311,8 +284,7 @@ bool CompareJsPropertyIds( } if (type1 == JsPropertyIdTypeSymbol) { - return CompareJsValues( - GetPropertySymbol(jsPropId1), GetPropertySymbol(jsPropId2)); + return CompareJsValues(GetPropertySymbol(jsPropId1), GetPropertySymbol(jsPropId2)); } // Control should never reach here. diff --git a/vnext/JSI/Shared/ChakraObjectRef.h b/vnext/JSI/Shared/ChakraObjectRef.h index 10243499e75..4115f45b3e3 100644 --- a/vnext/JSI/Shared/ChakraObjectRef.h +++ b/vnext/JSI/Shared/ChakraObjectRef.h @@ -169,8 +169,7 @@ ChakraObjectRef ToJsNumber(int num); template ChakraObjectRef ToJsObject(std::unique_ptr &&data) { if (!data) { - throw facebook::jsi::JSINativeException( - "Cannot create an external JS Object without backing data."); + throw facebook::jsi::JSINativeException("Cannot create an external JS Object without backing data."); } JsValueRef obj = nullptr; @@ -196,8 +195,7 @@ ChakraObjectRef ToJsObject(std::unique_ptr &&data) { * @remarks The returned ArrayBuffer is backed by buffer and keeps buffer alive * till the garbage collector finalizes it. */ -ChakraObjectRef ToJsArrayBuffer( - const std::shared_ptr &buffer); +ChakraObjectRef ToJsArrayBuffer(const std::shared_ptr &buffer); /** * @param jsValue1 A ChakraObjectRef managing a JsValueRef. @@ -206,9 +204,7 @@ ChakraObjectRef ToJsArrayBuffer( * @returns A boolean indicating whether jsValue1 and jsValue2 are strictly * equal. */ -bool CompareJsValues( - const ChakraObjectRef &jsValue1, - const ChakraObjectRef &jsValue2); +bool CompareJsValues(const ChakraObjectRef &jsValue1, const ChakraObjectRef &jsValue2); /** * @param jsPropId1 A ChakraObjectRef managing a JsPropertyIdRef. @@ -217,8 +213,6 @@ bool CompareJsValues( * @returns A boolean indicating whether jsPropId1 and jsPropId2 are strictly * equal. */ -bool CompareJsPropertyIds( - const ChakraObjectRef &jsPropId1, - const ChakraObjectRef &jsPropId2); +bool CompareJsPropertyIds(const ChakraObjectRef &jsPropId1, const ChakraObjectRef &jsPropId2); } // namespace Microsoft::JSI diff --git a/vnext/JSI/Shared/ChakraRuntime.cpp b/vnext/JSI/Shared/ChakraRuntime.cpp index 179dee3145f..f499b032eb6 100644 --- a/vnext/JSI/Shared/ChakraRuntime.cpp +++ b/vnext/JSI/Shared/ChakraRuntime.cpp @@ -20,9 +20,7 @@ namespace { class HostFunctionProxy { public: - HostFunctionProxy( - facebook::jsi::HostFunctionType hostFunction, - ChakraRuntime &runtime) + HostFunctionProxy(facebook::jsi::HostFunctionType hostFunction, ChakraRuntime &runtime) : m_hostFunction(hostFunction), m_runtime(runtime) {} inline const facebook::jsi::HostFunctionType &getHostFunction() const { @@ -53,8 +51,7 @@ std::vector constructJsFunctionArguments( } // namespace -ChakraRuntime::ChakraRuntime(ChakraRuntimeArgs &&args) noexcept - : m_args{std::move(args)} { +ChakraRuntime::ChakraRuntime(ChakraRuntimeArgs &&args) noexcept : m_args{std::move(args)} { JsRuntimeAttributes runtimeAttributes = JsRuntimeAttributeNone; if (!m_args.enableJITCompilation) { @@ -63,8 +60,7 @@ ChakraRuntime::ChakraRuntime(ChakraRuntimeArgs &&args) noexcept JsRuntimeAttributeDisableExecutablePageAllocation); } - VerifyChakraErrorElseThrow( - JsCreateRuntime(runtimeAttributes, nullptr, &m_runtime)); + VerifyChakraErrorElseThrow(JsCreateRuntime(runtimeAttributes, nullptr, &m_runtime)); setupMemoryTracker(); @@ -115,8 +111,7 @@ facebook::jsi::Value ChakraRuntime::evaluateJavaScript( scriptBuffer = std::move(buffer); scriptVersion = runtimeArgs().scriptStore->getScriptVersion(sourceURL); } else { - auto versionedScript = - runtimeArgs().scriptStore->getVersionedScript(sourceURL); + auto versionedScript = runtimeArgs().scriptStore->getVersionedScript(sourceURL); scriptBuffer = std::move(versionedScript.buffer); scriptVersion = versionedScript.version; } @@ -131,30 +126,25 @@ facebook::jsi::Value ChakraRuntime::evaluateJavaScript( return facebook::jsi::Value::undefined(); } - auto sharedScriptBuffer = - std::shared_ptr(std::move(scriptBuffer)); + auto sharedScriptBuffer = std::shared_ptr(std::move(scriptBuffer)); facebook::jsi::ScriptSignature scriptSignature = {sourceURL, scriptVersion}; - facebook::jsi::JSRuntimeSignature runtimeSignature = {description().c_str(), - getRuntimeVersion()}; + facebook::jsi::JSRuntimeSignature runtimeSignature = {description().c_str(), getRuntimeVersion()}; - auto preparedScript = runtimeArgs().preparedScriptStore->tryGetPreparedScript( - scriptSignature, runtimeSignature, nullptr); + auto preparedScript = + runtimeArgs().preparedScriptStore->tryGetPreparedScript(scriptSignature, runtimeSignature, nullptr); std::shared_ptr sharedPreparedScript; if (preparedScript) { - sharedPreparedScript = - std::shared_ptr(std::move(preparedScript)); + sharedPreparedScript = std::shared_ptr(std::move(preparedScript)); } else { - auto genPreparedScript = - generatePreparedScript(sourceURL, *sharedScriptBuffer); + auto genPreparedScript = generatePreparedScript(sourceURL, *sharedScriptBuffer); if (!genPreparedScript) std::terminate(); // Cache generation can't fail unless something really // wrong. but we should get rid of this abort before // shipping. - sharedPreparedScript = std::shared_ptr( - std::move(genPreparedScript)); + sharedPreparedScript = std::shared_ptr(std::move(genPreparedScript)); runtimeArgs().preparedScriptStore->persistPreparedScript( sharedPreparedScript, scriptSignature, runtimeSignature, nullptr); } @@ -167,8 +157,7 @@ facebook::jsi::Value ChakraRuntime::evaluateJavaScript( m_pinnedPreparedScripts.push_back(sharedPreparedScript); m_pinnedScripts.push_back(sharedScriptBuffer); - if (evaluateSerializedScript( - *sharedScriptBuffer, *sharedPreparedScript, sourceURL)) { + if (evaluateSerializedScript(*sharedScriptBuffer, *sharedPreparedScript, sourceURL)) { return facebook::jsi::Value::undefined(); } @@ -176,8 +165,7 @@ facebook::jsi::Value ChakraRuntime::evaluateJavaScript( return evaluateJavaScriptSimple(*sharedScriptBuffer, sourceURL); } -std::shared_ptr -ChakraRuntime::prepareJavaScript( +std::shared_ptr ChakraRuntime::prepareJavaScript( const std::shared_ptr &, std::string) { throw facebook::jsi::JSINativeException("Not implemented!"); @@ -222,22 +210,16 @@ facebook::jsi::Runtime::PointerValue *ChakraRuntime::clonePropNameID( return CloneChakraPointerValue(pointerValue); } -facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromAscii( - const char *str, - size_t length) { +facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromAscii(const char *str, size_t length) { ChakraObjectRef propId = GetPropertyId(std::string_view{str, length}); return MakePointer(std::move(propId)); } -facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromUtf8( - const uint8_t *utf8, - size_t length) { - return createPropNameIDFromAscii( - Common::Utilities::CheckedReinterpretCast(utf8), length); +facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromUtf8(const uint8_t *utf8, size_t length) { + return createPropNameIDFromAscii(Common::Utilities::CheckedReinterpretCast(utf8), length); } -facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromString( - const facebook::jsi::String &str) { +facebook::jsi::PropNameID ChakraRuntime::createPropNameIDFromString(const facebook::jsi::String &str) { // We don not use the functions: // std::string ChakraRuntime::utf8(const String& str), and // std::string ToStdString(const ChakraObjectRef &jsString) @@ -250,9 +232,7 @@ std::string ChakraRuntime::utf8(const facebook::jsi::PropNameID &id) { return Common::Unicode::Utf16ToUtf8(GetPropertyName(GetChakraObjectRef(id))); } -bool ChakraRuntime::compare( - const facebook::jsi::PropNameID &lhs, - const facebook::jsi::PropNameID &rhs) { +bool ChakraRuntime::compare(const facebook::jsi::PropNameID &lhs, const facebook::jsi::PropNameID &rhs) { return CompareJsPropertyIds(GetChakraObjectRef(lhs), GetChakraObjectRef(rhs)); } @@ -260,20 +240,15 @@ std::string ChakraRuntime::symbolToString(const facebook::jsi::Symbol &s) { return ToStdString(ToJsString(GetChakraObjectRef(s))); } -facebook::jsi::String ChakraRuntime::createStringFromAscii( - const char *str, - size_t length) { +facebook::jsi::String ChakraRuntime::createStringFromAscii(const char *str, size_t length) { // Unfortunately due to the typing used by JSI and Chakra, we have to do a // double reinterpret cast here. - return createStringFromUtf8( - Common::Utilities::CheckedReinterpretCast(str), length); + return createStringFromUtf8(Common::Utilities::CheckedReinterpretCast(str), length); } -facebook::jsi::String ChakraRuntime::createStringFromUtf8( - const uint8_t *str, - size_t length) { - return MakePointer(ToJsString(std::string_view{ - Common::Utilities::CheckedReinterpretCast(str), length})); +facebook::jsi::String ChakraRuntime::createStringFromUtf8(const uint8_t *str, size_t length) { + return MakePointer( + ToJsString(std::string_view{Common::Utilities::CheckedReinterpretCast(str), length})); } std::string ChakraRuntime::utf8(const facebook::jsi::String &str) { @@ -286,29 +261,23 @@ facebook::jsi::Object ChakraRuntime::createObject() { return MakePointer(obj); } -facebook::jsi::Object ChakraRuntime::createObject( - std::shared_ptr hostObject) { +facebook::jsi::Object ChakraRuntime::createObject(std::shared_ptr hostObject) { facebook::jsi::Object proxyTarget = - ObjectWithExternalData::create( - *this, std::make_unique(*this, hostObject)); + ObjectWithExternalData::create(*this, std::make_unique(*this, hostObject)); return createProxy(std::move(proxyTarget), createHostObjectProxyHandler()); } -std::shared_ptr ChakraRuntime::getHostObject( - const facebook::jsi::Object &obj) { +std::shared_ptr ChakraRuntime::getHostObject(const facebook::jsi::Object &obj) { if (!isHostObject(obj)) return nullptr; - facebook::jsi::Value value = obj.getProperty( - const_cast(*this), s_proxyGetHostObjectTargetPropName); + facebook::jsi::Value value = obj.getProperty(const_cast(*this), s_proxyGetHostObjectTargetPropName); if (!value.isObject()) std::terminate(); - facebook::jsi::Object valueObj = - value.getObject(const_cast(*this)); + facebook::jsi::Object valueObj = value.getObject(const_cast(*this)); ObjectWithExternalData extObject = - ObjectWithExternalData::fromExisting( - *this, std::move(valueObj)); + ObjectWithExternalData::fromExisting(*this, std::move(valueObj)); HostObjectProxy *externalData = extObject.getExternalData(); if (!externalData) @@ -316,39 +285,29 @@ std::shared_ptr ChakraRuntime::getHostObject( return externalData->getHostObject(); } -facebook::jsi::HostFunctionType &ChakraRuntime::getHostFunction( - const facebook::jsi::Function &obj) { - throw std::runtime_error( - "ChakraRuntime::getHostFunction is not implemented."); +facebook::jsi::HostFunctionType &ChakraRuntime::getHostFunction(const facebook::jsi::Function &obj) { + throw std::runtime_error("ChakraRuntime::getHostFunction is not implemented."); } facebook::jsi::Value ChakraRuntime::getProperty( const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) { JsValueRef result = nullptr; - VerifyJsErrorElseThrow(JsGetProperty( - GetChakraObjectRef(obj), GetChakraObjectRef(name), &result)); + VerifyJsErrorElseThrow(JsGetProperty(GetChakraObjectRef(obj), GetChakraObjectRef(name), &result)); return ToJsiValue(ChakraObjectRef(result)); } -facebook::jsi::Value ChakraRuntime::getProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::String &name) { +facebook::jsi::Value ChakraRuntime::getProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) { return getProperty(obj, createPropNameIDFromString(name)); } -bool ChakraRuntime::hasProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::PropNameID &name) { +bool ChakraRuntime::hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) { bool result = false; - VerifyJsErrorElseThrow(JsHasProperty( - GetChakraObjectRef(obj), GetChakraObjectRef(name), &result)); + VerifyJsErrorElseThrow(JsHasProperty(GetChakraObjectRef(obj), GetChakraObjectRef(name), &result)); return result; } -bool ChakraRuntime::hasProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::String &name) { +bool ChakraRuntime::hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) { return hasProperty(obj, createPropNameIDFromString(name)); } @@ -361,10 +320,7 @@ void ChakraRuntime::setPropertyValue( // property, assignment to a getter-only property, assignment to a new // property on a non-extensible object) will throw. VerifyJsErrorElseThrow(JsSetProperty( - GetChakraObjectRef(object), - GetChakraObjectRef(name), - ToChakraObjectRef(value), - true /* useStrictRules */)); + GetChakraObjectRef(object), GetChakraObjectRef(name), ToChakraObjectRef(value), true /* useStrictRules */)); } void ChakraRuntime::setPropertyValue( @@ -387,8 +343,7 @@ bool ChakraRuntime::isFunction(const facebook::jsi::Object &obj) const { } bool ChakraRuntime::isHostObject(const facebook::jsi::Object &obj) const { - facebook::jsi::Value val = obj.getProperty( - const_cast(*this), s_proxyIsHostObjectPropName); + facebook::jsi::Value val = obj.getProperty(const_cast(*this), s_proxyIsHostObjectPropName); if (val.isBool()) return val.getBool(); else @@ -399,8 +354,7 @@ bool ChakraRuntime::isHostFunction(const facebook::jsi::Function &obj) const { throw std::runtime_error("ChakraRuntime::isHostFunction is not implemented."); } -facebook::jsi::Array ChakraRuntime::getPropertyNames( - const facebook::jsi::Object &object) { +facebook::jsi::Array ChakraRuntime::getPropertyNames(const facebook::jsi::Object &object) { constexpr const char *const jsGetPropertyNamesSource = "(function()\n" "{\n" @@ -415,35 +369,23 @@ facebook::jsi::Array ChakraRuntime::getPropertyNames( " }\n" "})()"; - static facebook::jsi::StringBuffer jsGetPropertyNamesSourceBuffer{ - jsGetPropertyNamesSource}; + static facebook::jsi::StringBuffer jsGetPropertyNamesSourceBuffer{jsGetPropertyNamesSource}; facebook::jsi::Function jsGetPropertyNames = - evaluateJavaScriptSimple(jsGetPropertyNamesSourceBuffer, "") - .asObject(*this) - .asFunction(*this); + evaluateJavaScriptSimple(jsGetPropertyNamesSourceBuffer, "").asObject(*this).asFunction(*this); facebook::jsi::Value objAsValue(*this, object); - return call( - jsGetPropertyNames, - facebook::jsi::Value::undefined(), - &objAsValue, - 1) - .asObject(*this) - .asArray(*this); + return call(jsGetPropertyNames, facebook::jsi::Value::undefined(), &objAsValue, 1).asObject(*this).asArray(*this); } // Only ChakraCore supports weak reference semantics, so ChakraRuntime // WeakObjects are in fact strong references. -facebook::jsi::WeakObject ChakraRuntime::createWeakObject( - const facebook::jsi::Object &object) { - return make( - CloneChakraPointerValue(getPointerValue(object))); +facebook::jsi::WeakObject ChakraRuntime::createWeakObject(const facebook::jsi::Object &object) { + return make(CloneChakraPointerValue(getPointerValue(object))); } -facebook::jsi::Value ChakraRuntime::lockWeakObject( - const facebook::jsi::WeakObject &weakObject) { +facebook::jsi::Value ChakraRuntime::lockWeakObject(const facebook::jsi::WeakObject &weakObject) { // We need to make a copy of the ChakraObjectRef held within weakObj's // member PointerValue for the returned jsi::Value here. ChakraObjectRef ref = GetChakraObjectRef(weakObject); @@ -454,8 +396,7 @@ facebook::jsi::Array ChakraRuntime::createArray(size_t length) { assert(length <= UINT_MAX); JsValueRef result = nullptr; - VerifyJsErrorElseThrow( - JsCreateArray(static_cast(length), &result)); + VerifyJsErrorElseThrow(JsCreateArray(static_cast(length), &result)); return MakePointer(result).asArray(*this); } @@ -465,8 +406,7 @@ size_t ChakraRuntime::size(const facebook::jsi::Array &arr) { constexpr const uint8_t propName[] = {'l', 'e', 'n', 'g', 't', 'h'}; - facebook::jsi::PropNameID propId = createPropNameIDFromUtf8( - propName, Common::Utilities::ArraySize(propName)); + facebook::jsi::PropNameID propId = createPropNameIDFromUtf8(propName, Common::Utilities::ArraySize(propName)); return static_cast(getProperty(arr, propId).asNumber()); } @@ -477,8 +417,7 @@ uint8_t *ChakraRuntime::data(const facebook::jsi::ArrayBuffer &arrBuf) { uint8_t *buffer = nullptr; unsigned int size = 0; - VerifyJsErrorElseThrow( - JsGetArrayBufferStorage(GetChakraObjectRef(arrBuf), &buffer, &size)); + VerifyJsErrorElseThrow(JsGetArrayBufferStorage(GetChakraObjectRef(arrBuf), &buffer, &size)); return buffer; } @@ -486,38 +425,28 @@ uint8_t *ChakraRuntime::data(const facebook::jsi::ArrayBuffer &arrBuf) { size_t ChakraRuntime::size(const facebook::jsi::ArrayBuffer &arrBuf) { assert(isArrayBuffer(arrBuf)); - constexpr const uint8_t propName[] = { - 'b', 'y', 't', 'e', 'l', 'e', 'n', 'g', 't', 'h'}; + constexpr const uint8_t propName[] = {'b', 'y', 't', 'e', 'l', 'e', 'n', 'g', 't', 'h'}; - facebook::jsi::PropNameID propId = createPropNameIDFromUtf8( - propName, Common::Utilities::ArraySize(propName)); + facebook::jsi::PropNameID propId = createPropNameIDFromUtf8(propName, Common::Utilities::ArraySize(propName)); return static_cast(getProperty(arrBuf, propId).asNumber()); } -facebook::jsi::Value ChakraRuntime::getValueAtIndex( - const facebook::jsi::Array &arr, - size_t index) { +facebook::jsi::Value ChakraRuntime::getValueAtIndex(const facebook::jsi::Array &arr, size_t index) { assert(isArray(arr)); assert(index <= INT_MAX); JsValueRef result = nullptr; - VerifyJsErrorElseThrow(JsGetIndexedProperty( - GetChakraObjectRef(arr), ToJsNumber(static_cast(index)), &result)); + VerifyJsErrorElseThrow(JsGetIndexedProperty(GetChakraObjectRef(arr), ToJsNumber(static_cast(index)), &result)); return ToJsiValue(ChakraObjectRef(result)); } -void ChakraRuntime::setValueAtIndexImpl( - facebook::jsi::Array &arr, - size_t index, - const facebook::jsi::Value &value) { +void ChakraRuntime::setValueAtIndexImpl(facebook::jsi::Array &arr, size_t index, const facebook::jsi::Value &value) { assert(isArray(arr)); assert(index <= INT_MAX); - VerifyJsErrorElseThrow(JsSetIndexedProperty( - GetChakraObjectRef(arr), - ToJsNumber(static_cast(index)), - ToChakraObjectRef(value))); + VerifyJsErrorElseThrow( + JsSetIndexedProperty(GetChakraObjectRef(arr), ToJsNumber(static_cast(index)), ToChakraObjectRef(value))); } facebook::jsi::Function ChakraRuntime::createFunctionFromHostFunction( @@ -531,13 +460,10 @@ facebook::jsi::Function ChakraRuntime::createFunctionFromHostFunction( HostFunctionProxy *hostFuncProxy = new HostFunctionProxy(func, *this); JsValueRef funcRef; - VerifyJsErrorElseThrow(JsCreateFunction( - ChakraRuntime::HostFunctionCall, hostFuncProxy, &funcRef)); + VerifyJsErrorElseThrow(JsCreateFunction(ChakraRuntime::HostFunctionCall, hostFuncProxy, &funcRef)); VerifyJsErrorElseThrow(JsSetObjectBeforeCollectCallback( - funcRef, hostFuncProxy, [](JsRef ref, void *hostFuncProxy) { - delete hostFuncProxy; - })); + funcRef, hostFuncProxy, [](JsRef ref, void *hostFuncProxy) { delete hostFuncProxy; })); return MakePointer(funcRef).getFunction(*this); } @@ -552,38 +478,28 @@ facebook::jsi::Value ChakraRuntime::call( ChakraObjectRef thisRef = ToChakraObjectRef(jsThis); std::vector argRefs = ToChakraObjectRefs(args, count); - std::vector argsWithThis = - constructJsFunctionArguments(thisRef, argRefs); + std::vector argsWithThis = constructJsFunctionArguments(thisRef, argRefs); assert(argsWithThis.size() <= USHRT_MAX); JsValueRef result; VerifyJsErrorElseThrow(JsCallFunction( - GetChakraObjectRef(func), - argsWithThis.data(), - static_cast(argsWithThis.size()), - &result)); + GetChakraObjectRef(func), argsWithThis.data(), static_cast(argsWithThis.size()), &result)); return ToJsiValue(ChakraObjectRef(result)); } -facebook::jsi::Value ChakraRuntime::callAsConstructor( - const facebook::jsi::Function &func, - const facebook::jsi::Value *args, - size_t count) { +facebook::jsi::Value +ChakraRuntime::callAsConstructor(const facebook::jsi::Function &func, const facebook::jsi::Value *args, size_t count) { // We must store these ChakraObjectRefs on the stack to make sure that they do // not go out of scope when JsConstructObject is called. ChakraObjectRef undefinedRef = ToChakraObjectRef(facebook::jsi::Value()); std::vector argRefs = ToChakraObjectRefs(args, count); - std::vector argsWithThis = - constructJsFunctionArguments(undefinedRef, argRefs); + std::vector argsWithThis = constructJsFunctionArguments(undefinedRef, argRefs); assert(argsWithThis.size() <= USHRT_MAX); JsValueRef result; VerifyJsErrorElseThrow(JsConstructObject( - GetChakraObjectRef(func), - argsWithThis.data(), - static_cast(argsWithThis.size()), - &result)); + GetChakraObjectRef(func), argsWithThis.data(), static_cast(argsWithThis.size()), &result)); return ToJsiValue(ChakraObjectRef(result)); } @@ -596,30 +512,21 @@ void ChakraRuntime::popScope(Runtime::ScopeState *state) { VerifyJsErrorElseThrow(JsCollectGarbage(m_runtime)); } -bool ChakraRuntime::strictEquals( - const facebook::jsi::String &a, - const facebook::jsi::String &b) const { +bool ChakraRuntime::strictEquals(const facebook::jsi::String &a, const facebook::jsi::String &b) const { return CompareJsValues(GetChakraObjectRef(a), GetChakraObjectRef(b)); } -bool ChakraRuntime::strictEquals( - const facebook::jsi::Object &a, - const facebook::jsi::Object &b) const { +bool ChakraRuntime::strictEquals(const facebook::jsi::Object &a, const facebook::jsi::Object &b) const { return CompareJsValues(GetChakraObjectRef(a), GetChakraObjectRef(b)); } -bool ChakraRuntime::strictEquals( - const facebook::jsi::Symbol &a, - const facebook::jsi::Symbol &b) const { +bool ChakraRuntime::strictEquals(const facebook::jsi::Symbol &a, const facebook::jsi::Symbol &b) const { return CompareJsValues(GetChakraObjectRef(a), GetChakraObjectRef(b)); } -bool ChakraRuntime::instanceOf( - const facebook::jsi::Object &obj, - const facebook::jsi::Function &func) { +bool ChakraRuntime::instanceOf(const facebook::jsi::Object &obj, const facebook::jsi::Function &func) { bool result; - VerifyJsErrorElseThrow( - JsInstanceOf(GetChakraObjectRef(obj), GetChakraObjectRef(func), &result)); + VerifyJsErrorElseThrow(JsInstanceOf(GetChakraObjectRef(obj), GetChakraObjectRef(func), &result)); return result; } @@ -644,8 +551,7 @@ facebook::jsi::Value ChakraRuntime::ToJsiValue(ChakraObjectRef &&ref) { break; } case JsString: { - return facebook::jsi::Value( - *this, MakePointer(std::move(ref))); + return facebook::jsi::Value(*this, MakePointer(std::move(ref))); break; } case JsBoolean: { @@ -655,8 +561,7 @@ facebook::jsi::Value ChakraRuntime::ToJsiValue(ChakraObjectRef &&ref) { break; } case JsSymbol: { - return facebook::jsi::Value( - *this, MakePointer(std::move(ref))); + return facebook::jsi::Value(*this, MakePointer(std::move(ref))); break; } case JsObject: @@ -666,8 +571,7 @@ facebook::jsi::Value ChakraRuntime::ToJsiValue(ChakraObjectRef &&ref) { case JsArrayBuffer: case JsTypedArray: case JsDataView: { - return facebook::jsi::Value( - *this, MakePointer(std::move(ref))); + return facebook::jsi::Value(*this, MakePointer(std::move(ref))); break; } default: { @@ -681,8 +585,7 @@ facebook::jsi::Value ChakraRuntime::ToJsiValue(ChakraObjectRef &&ref) { std::terminate(); } -ChakraObjectRef ChakraRuntime::ToChakraObjectRef( - const facebook::jsi::Value &value) { +ChakraObjectRef ChakraRuntime::ToChakraObjectRef(const facebook::jsi::Value &value) { if (value.isUndefined()) { JsValueRef ref; VerifyJsErrorElseThrow(JsGetUndefinedValue(&ref)); @@ -718,9 +621,7 @@ ChakraObjectRef ChakraRuntime::ToChakraObjectRef( } } -std::vector ChakraRuntime::ToChakraObjectRefs( - const facebook::jsi::Value *value, - size_t count) { +std::vector ChakraRuntime::ToChakraObjectRefs(const facebook::jsi::Value *value, size_t count) { std::vector result{}; for (unsigned int i = 0; i < count; ++i) { @@ -753,8 +654,7 @@ ChakraRuntime::ObjectWithExternalData::fromExisting( template T *ChakraRuntime::ObjectWithExternalData::getExternalData() { T *externalData; - VerifyChakraErrorElseThrow(JsGetExternalData( - GetChakraObjectRef(*this), reinterpret_cast(&externalData))); + VerifyChakraErrorElseThrow(JsGetExternalData(GetChakraObjectRef(*this), reinterpret_cast(&externalData))); return externalData; } @@ -768,10 +668,7 @@ void ChakraRuntime::VerifyJsErrorElseThrow(JsErrorCode error) { case JsErrorScriptException: { JsValueRef jsError; VerifyChakraErrorElseThrow(JsGetAndClearException(&jsError)); - throw facebook::jsi::JSError( - "A JavaScript Error was thrown.", - *this, - ToJsiValue(ChakraObjectRef(jsError))); + throw facebook::jsi::JSError("A JavaScript Error was thrown.", *this, ToJsiValue(ChakraObjectRef(jsError))); break; } @@ -790,8 +687,7 @@ facebook::jsi::Object ChakraRuntime::createProxy( facebook::jsi::Object &&handler) noexcept { // TODO :: Avoid creating the constuctor on each call. facebook::jsi::Function proxyConstructor = createProxyConstructor(); - facebook::jsi::Value hostObjectProxy = - proxyConstructor.call(*this, target, handler); + facebook::jsi::Value hostObjectProxy = proxyConstructor.call(*this, target, handler); if (!hostObjectProxy.isObject()) std::terminate(); @@ -802,11 +698,9 @@ facebook::jsi::Object ChakraRuntime::createProxy( facebook::jsi::Function ChakraRuntime::createProxyConstructor() noexcept { auto buffer = std::make_unique( "var ctr=function(target, handler) { return new Proxy(target, handler);};ctr;"); - facebook::jsi::Value hostObjectProxyConstructor = - evaluateJavaScriptSimple(*buffer, "proxy_constructor.js"); + facebook::jsi::Value hostObjectProxyConstructor = evaluateJavaScriptSimple(*buffer, "proxy_constructor.js"); - if (!hostObjectProxyConstructor.isObject() || - !hostObjectProxyConstructor.getObject(*this).isFunction(*this)) + if (!hostObjectProxyConstructor.isObject() || !hostObjectProxyConstructor.getObject(*this).isFunction(*this)) std::terminate(); return hostObjectProxyConstructor.getObject(*this).getFunction(*this); @@ -816,8 +710,7 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { // TODO :: This object can be cached and reused for multiple host objects. facebook::jsi::Object handlerObj = createObject(); - std::string getPropName("get"), setPropName("set"), - enumeratePropName("enumerate"); + std::string getPropName("get"), setPropName("set"), enumeratePropName("enumerate"); handlerObj.setProperty( *this, @@ -825,11 +718,8 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { createFunctionFromHostFunction( createPropNameIDFromAscii(getPropName.c_str(), getPropName.size()), 2, - [this]( - Runtime &rt, - const facebook::jsi::Value &thisVal, - const facebook::jsi::Value *args, - size_t count) -> facebook::jsi::Value { + [this](Runtime &rt, const facebook::jsi::Value &thisVal, const facebook::jsi::Value *args, size_t count) + -> facebook::jsi::Value { facebook::jsi::Object targetObj = args[0].getObject(*this); facebook::jsi::String propStr = args[1].getString(*this); @@ -842,11 +732,9 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { } ObjectWithExternalData extObject = - ObjectWithExternalData::fromExisting( - *this, std::move(targetObj)); + ObjectWithExternalData::fromExisting(*this, std::move(targetObj)); HostObjectProxy *externalData = extObject.getExternalData(); - return externalData->Get( - facebook::jsi::PropNameID::forString(*this, propStr)); + return externalData->Get(facebook::jsi::PropNameID::forString(*this, propStr)); })); handlerObj.setProperty( @@ -855,21 +743,16 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { createFunctionFromHostFunction( createPropNameIDFromAscii(setPropName.c_str(), setPropName.size()), 3, - [this]( - Runtime &rt, - const facebook::jsi::Value &thisVal, - const facebook::jsi::Value *args, - size_t count) -> facebook::jsi::Value { + [this](Runtime &rt, const facebook::jsi::Value &thisVal, const facebook::jsi::Value *args, size_t count) + -> facebook::jsi::Value { facebook::jsi::Object targetObj = args[0].getObject(*this); facebook::jsi::String propStr = args[1].getString(*this); const facebook::jsi::Value &propVal = args[2]; ObjectWithExternalData extObject = - ObjectWithExternalData::fromExisting( - *this, std::move(targetObj)); + ObjectWithExternalData::fromExisting(*this, std::move(targetObj)); HostObjectProxy *externalData = extObject.getExternalData(); - externalData->Set( - facebook::jsi::PropNameID::forString(*this, propStr), propVal); + externalData->Set(facebook::jsi::PropNameID::forString(*this, propStr), propVal); return facebook::jsi::Value::undefined(); })); @@ -877,19 +760,14 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { *this, enumeratePropName.c_str(), createFunctionFromHostFunction( - createPropNameIDFromAscii( - enumeratePropName.c_str(), enumeratePropName.size()), + createPropNameIDFromAscii(enumeratePropName.c_str(), enumeratePropName.size()), 1, - [this]( - Runtime &rt, - const facebook::jsi::Value &thisVal, - const facebook::jsi::Value *args, - size_t count) -> facebook::jsi::Value { + [this](Runtime &rt, const facebook::jsi::Value &thisVal, const facebook::jsi::Value *args, size_t count) + -> facebook::jsi::Value { facebook::jsi::Object targetObj = args[0].getObject(*this); ObjectWithExternalData extObject = - ObjectWithExternalData::fromExisting( - *this, std::move(targetObj)); + ObjectWithExternalData::fromExisting(*this, std::move(targetObj)); HostObjectProxy *externalData = extObject.getExternalData(); auto keys = externalData->Enumerator(); @@ -897,10 +775,7 @@ facebook::jsi::Object ChakraRuntime::createHostObjectProxyHandler() noexcept { for (size_t i = 0; i < count; i++) { std::string keyStr = keys[i].utf8(*this); - result.setValueAtIndex( - *this, - i, - facebook::jsi::String::createFromUtf8(*this, keyStr)); + result.setValueAtIndex(*this, i, facebook::jsi::String::createFromUtf8(*this, keyStr)); } return result; @@ -921,11 +796,8 @@ void ChakraRuntime::setupMemoryTracker() noexcept { JsSetRuntimeMemoryAllocationCallback( m_runtime, runtimeArgs().memoryTracker.get(), - [](void *callbackState, - JsMemoryEventType allocationEvent, - size_t allocationSize) -> bool { - auto memoryTrackerPtr = - static_cast(callbackState); + [](void *callbackState, JsMemoryEventType allocationEvent, size_t allocationSize) -> bool { + auto memoryTrackerPtr = static_cast(callbackState); switch (allocationEvent) { case JsMemoryAllocate: memoryTrackerPtr->OnAllocation(allocationSize); @@ -951,8 +823,7 @@ JsValueRef CALLBACK ChakraRuntime::HostFunctionCall( JsValueRef *argumentsIncThis, unsigned short argumentCountIncThis, void *callbackState) { - const HostFunctionProxy &hostFuncProxy = - *reinterpret_cast(callbackState); + const HostFunctionProxy &hostFuncProxy = *reinterpret_cast(callbackState); const unsigned maxStackArgCount = 8; facebook::jsi::Value stackArgs[maxStackArgCount]; @@ -966,27 +837,23 @@ JsValueRef CALLBACK ChakraRuntime::HostFunctionCall( heapArgs = std::make_unique(argumentCount); for (size_t i = 1; i < argumentCountIncThis; i++) { - heapArgs[i - 1] = hostFuncProxy.getRuntime().ToJsiValue( - ChakraObjectRef(argumentsIncThis[i])); + heapArgs[i - 1] = hostFuncProxy.getRuntime().ToJsiValue(ChakraObjectRef(argumentsIncThis[i])); } args = heapArgs.get(); } else { for (size_t i = 1; i < argumentCountIncThis; i++) { - stackArgs[i - 1] = hostFuncProxy.getRuntime().ToJsiValue( - ChakraObjectRef(argumentsIncThis[i])); + stackArgs[i - 1] = hostFuncProxy.getRuntime().ToJsiValue(ChakraObjectRef(argumentsIncThis[i])); } args = stackArgs; } JsValueRef res{JS_INVALID_REFERENCE}; - facebook::jsi::Value thisVal( - hostFuncProxy.getRuntime().MakePointer( - argumentsIncThis[0])); + facebook::jsi::Value thisVal(hostFuncProxy.getRuntime().MakePointer(argumentsIncThis[0])); try { - facebook::jsi::Value retVal = hostFuncProxy.getHostFunction()( - hostFuncProxy.getRuntime(), thisVal, args, argumentCount); + facebook::jsi::Value retVal = + hostFuncProxy.getHostFunction()(hostFuncProxy.getRuntime(), thisVal, args, argumentCount); res = hostFuncProxy.getRuntime().ToChakraObjectRef(retVal); } catch (const facebook::jsi::JSError &error) { @@ -1001,8 +868,7 @@ JsValueRef CALLBACK ChakraRuntime::HostFunctionCall( } catch (...) { std::string exceptionString("Exception in HostFunction: "); JsValueRef exn; - exn = ToJsString( - std::string_view{exceptionString.c_str(), exceptionString.size()}); + exn = ToJsString(std::string_view{exceptionString.c_str(), exceptionString.size()}); JsSetException(exn); } @@ -1012,8 +878,7 @@ JsValueRef CALLBACK ChakraRuntime::HostFunctionCall( /*static*/ std::once_flag ChakraRuntime::s_runtimeVersionInitFlag; /*static*/ uint64_t ChakraRuntime::s_runtimeVersion = 0; -std::unique_ptr makeChakraRuntime( - ChakraRuntimeArgs &&args) noexcept { +std::unique_ptr makeChakraRuntime(ChakraRuntimeArgs &&args) noexcept { return std::make_unique(std::move(args)); } diff --git a/vnext/JSI/Shared/ChakraRuntime.h b/vnext/JSI/Shared/ChakraRuntime.h index 33d7a471b97..e447e81fe14 100644 --- a/vnext/JSI/Shared/ChakraRuntime.h +++ b/vnext/JSI/Shared/ChakraRuntime.h @@ -45,8 +45,7 @@ class ChakraRuntime : public facebook::jsi::Runtime { std::string sourceURL) override; facebook::jsi::Value evaluatePreparedJavaScript( - const std::shared_ptr &js) - override; + const std::shared_ptr &js) override; facebook::jsi::Object global() override; @@ -70,49 +69,29 @@ class ChakraRuntime : public facebook::jsi::Runtime { PointerValue *cloneObject(const PointerValue *pointerValue) override; PointerValue *clonePropNameID(const PointerValue *pointerValue) override; - facebook::jsi::PropNameID createPropNameIDFromAscii( - const char *str, - size_t length) override; - facebook::jsi::PropNameID createPropNameIDFromUtf8( - const uint8_t *utf8, - size_t length) override; - facebook::jsi::PropNameID createPropNameIDFromString( - const facebook::jsi::String &str) override; + facebook::jsi::PropNameID createPropNameIDFromAscii(const char *str, size_t length) override; + facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t *utf8, size_t length) override; + facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String &str) override; std::string utf8(const facebook::jsi::PropNameID &id) override; - bool compare( - const facebook::jsi::PropNameID &lhs, - const facebook::jsi::PropNameID &rhs) override; + bool compare(const facebook::jsi::PropNameID &lhs, const facebook::jsi::PropNameID &rhs) override; std::string symbolToString(const facebook::jsi::Symbol &s) override; // Despite its name, createPropNameIDFromAscii is the same function as // createStringFromUtf8. - facebook::jsi::String createStringFromAscii(const char *str, size_t length) - override; - facebook::jsi::String createStringFromUtf8(const uint8_t *utf8, size_t length) - override; + facebook::jsi::String createStringFromAscii(const char *str, size_t length) override; + facebook::jsi::String createStringFromUtf8(const uint8_t *utf8, size_t length) override; std::string utf8(const facebook::jsi::String &str) override; facebook::jsi::Object createObject() override; - facebook::jsi::Object createObject( - std::shared_ptr ho) override; - std::shared_ptr getHostObject( - const facebook::jsi::Object &) override; - facebook::jsi::HostFunctionType &getHostFunction( - const facebook::jsi::Function &) override; - - facebook::jsi::Value getProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::PropNameID &name) override; - facebook::jsi::Value getProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::String &name) override; - bool hasProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::PropNameID &name) override; - bool hasProperty( - const facebook::jsi::Object &obj, - const facebook::jsi::String &name) override; + facebook::jsi::Object createObject(std::shared_ptr ho) override; + std::shared_ptr getHostObject(const facebook::jsi::Object &) override; + facebook::jsi::HostFunctionType &getHostFunction(const facebook::jsi::Function &) override; + + facebook::jsi::Value getProperty(const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) override; + facebook::jsi::Value getProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) override; + bool hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name) override; + bool hasProperty(const facebook::jsi::Object &obj, const facebook::jsi::String &name) override; void setPropertyValue( facebook::jsi::Object &obj, const facebook::jsi::PropNameID &name, @@ -129,13 +108,10 @@ class ChakraRuntime : public facebook::jsi::Runtime { bool isHostFunction(const facebook::jsi::Function &func) const override; // Returns the names of all enumerable properties of an object. This // corresponds the properties iterated through by the JavaScript for..in loop. - facebook::jsi::Array getPropertyNames( - const facebook::jsi::Object &obj) override; + facebook::jsi::Array getPropertyNames(const facebook::jsi::Object &obj) override; - facebook::jsi::WeakObject createWeakObject( - const facebook::jsi::Object &obj) override; - facebook::jsi::Value lockWeakObject( - const facebook::jsi::WeakObject &weakObj) override; + facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object &obj) override; + facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject &weakObj) override; facebook::jsi::Array createArray(size_t length) override; size_t size(const facebook::jsi::Array &arr) override; @@ -144,13 +120,8 @@ class ChakraRuntime : public facebook::jsi::Runtime { // ArrayBuffer. The returned buffer pointer does not count as a reference to // the ArrayBuffer for the purpose of garbage collection. uint8_t *data(const facebook::jsi::ArrayBuffer &arrBuf) override; - facebook::jsi::Value getValueAtIndex( - const facebook::jsi::Array &arr, - size_t index) override; - void setValueAtIndexImpl( - facebook::jsi::Array &arr, - size_t index, - const facebook::jsi::Value &value) override; + facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array &arr, size_t index) override; + void setValueAtIndexImpl(facebook::jsi::Array &arr, size_t index, const facebook::jsi::Value &value) override; facebook::jsi::Function createFunctionFromHostFunction( const facebook::jsi::PropNameID &name, @@ -161,29 +132,19 @@ class ChakraRuntime : public facebook::jsi::Runtime { const facebook::jsi::Value &jsThis, const facebook::jsi::Value *args, size_t count) override; - facebook::jsi::Value callAsConstructor( - const facebook::jsi::Function &func, - const facebook::jsi::Value *args, - size_t count) override; + facebook::jsi::Value + callAsConstructor(const facebook::jsi::Function &func, const facebook::jsi::Value *args, size_t count) override; // For now, pushing a scope does nothing, and popping a scope forces the // JavaScript garbage collector to run. ScopeState *pushScope() override; void popScope(ScopeState *) override; - bool strictEquals( - const facebook::jsi::Symbol &a, - const facebook::jsi::Symbol &b) const override; - bool strictEquals( - const facebook::jsi::String &a, - const facebook::jsi::String &b) const override; - bool strictEquals( - const facebook::jsi::Object &a, - const facebook::jsi::Object &b) const override; + bool strictEquals(const facebook::jsi::Symbol &a, const facebook::jsi::Symbol &b) const override; + bool strictEquals(const facebook::jsi::String &a, const facebook::jsi::String &b) const override; + bool strictEquals(const facebook::jsi::Object &a, const facebook::jsi::Object &b) const override; - bool instanceOf( - const facebook::jsi::Object &obj, - const facebook::jsi::Function &func) override; + bool instanceOf(const facebook::jsi::Object &obj, const facebook::jsi::Function &func) override; #pragma endregion Functions_inherited_from_Runtime @@ -191,9 +152,7 @@ class ChakraRuntime : public facebook::jsi::Runtime { // These three functions only performs shallow copies. facebook::jsi::Value ToJsiValue(ChakraObjectRef &&ref); ChakraObjectRef ToChakraObjectRef(const facebook::jsi::Value &value); - std::vector ToChakraObjectRefs( - const facebook::jsi::Value *value, - size_t count); + std::vector ToChakraObjectRefs(const facebook::jsi::Value *value, size_t count); protected: ChakraRuntimeArgs &runtimeArgs() { @@ -232,14 +191,10 @@ class ChakraRuntime : public facebook::jsi::Runtime { // Declaring ~ChakraPointerValueTemplate() private prevents the compiler // from implicitly generating the following functions, so we have to tell // the compiler to do so. - ChakraPointerValueTemplate( - const ChakraPointerValueTemplate &other) noexcept = default; - ChakraPointerValueTemplate(ChakraPointerValueTemplate &&other) noexcept = - default; - ChakraPointerValueTemplate &operator=( - const ChakraPointerValueTemplate &rhs) noexcept = default; - ChakraPointerValueTemplate &operator=( - ChakraPointerValueTemplate &&rhs) noexcept = default; + ChakraPointerValueTemplate(const ChakraPointerValueTemplate &other) noexcept = default; + ChakraPointerValueTemplate(ChakraPointerValueTemplate &&other) noexcept = default; + ChakraPointerValueTemplate &operator=(const ChakraPointerValueTemplate &rhs) noexcept = default; + ChakraPointerValueTemplate &operator=(ChakraPointerValueTemplate &&rhs) noexcept = default; inline void invalidate() noexcept override { delete this; @@ -274,17 +229,13 @@ class ChakraRuntime : public facebook::jsi::Runtime { } // The pointer passed to this function must point to a ChakraPointerValue. - inline static ChakraPointerValue *CloneChakraPointerValue( - const PointerValue *pointerValue) { - return new ChakraPointerValue( - *(static_cast(pointerValue))); + inline static ChakraPointerValue *CloneChakraPointerValue(const PointerValue *pointerValue) { + return new ChakraPointerValue(*(static_cast(pointerValue))); } // The jsi::Pointer passed to this function must hold a ChakraPointerValue. - inline static const ChakraObjectRef &GetChakraObjectRef( - const facebook::jsi::Pointer &p) { - return static_cast(getPointerValue(p)) - ->GetRef(); + inline static const ChakraObjectRef &GetChakraObjectRef(const facebook::jsi::Pointer &p) { + return static_cast(getPointerValue(p))->GetRef(); } class HostObjectProxy { @@ -293,9 +244,7 @@ class ChakraRuntime : public facebook::jsi::Runtime { return m_hostObject->get(m_runtime, propNameId); } - void Set( - const facebook::jsi::PropNameID &propNameId, - const facebook::jsi::Value &value) { + void Set(const facebook::jsi::PropNameID &propNameId, const facebook::jsi::Value &value) { m_hostObject->set(m_runtime, propNameId, value); } @@ -303,9 +252,7 @@ class ChakraRuntime : public facebook::jsi::Runtime { return m_hostObject->getPropertyNames(m_runtime); } - HostObjectProxy( - ChakraRuntime &rt, - const std::shared_ptr &hostObject) + HostObjectProxy(ChakraRuntime &rt, const std::shared_ptr &hostObject) : m_runtime(rt), m_hostObject(hostObject) {} std::shared_ptr getHostObject() { return m_hostObject; @@ -319,19 +266,14 @@ class ChakraRuntime : public facebook::jsi::Runtime { template class ObjectWithExternalData : public facebook::jsi::Object { public: - static facebook::jsi::Object create( - ChakraRuntime &runtime, - std::unique_ptr &&externalData); + static facebook::jsi::Object create(ChakraRuntime &runtime, std::unique_ptr &&externalData); - static ObjectWithExternalData fromExisting( - ChakraRuntime &runtime, - facebook::jsi::Object &&obj); + static ObjectWithExternalData fromExisting(ChakraRuntime &runtime, facebook::jsi::Object &&obj); public: T *getExternalData(); ObjectWithExternalData(const Runtime::PointerValue *value) - : Object(const_cast(value)) { - } // TODO :: const_cast + : Object(const_cast(value)) {} // TODO :: const_cast ObjectWithExternalData(ObjectWithExternalData &&other) = default; ObjectWithExternalData &operator=(ObjectWithExternalData &&other) = default; @@ -342,24 +284,17 @@ class ChakraRuntime : public facebook::jsi::Runtime { void VerifyJsErrorElseThrow(JsErrorCode error); - facebook::jsi::Object createProxy( - facebook::jsi::Object &&target, - facebook::jsi::Object &&handler) noexcept; + facebook::jsi::Object createProxy(facebook::jsi::Object &&target, facebook::jsi::Object &&handler) noexcept; facebook::jsi::Function createProxyConstructor() noexcept; facebook::jsi::Object createHostObjectProxyHandler() noexcept; // Promise Helpers + static void CALLBACK PromiseContinuationCallback(JsValueRef funcRef, void *callbackState) noexcept; static void CALLBACK - PromiseContinuationCallback(JsValueRef funcRef, void *callbackState) noexcept; - static void CALLBACK PromiseRejectionTrackerCallback( - JsValueRef promise, - JsValueRef reason, - bool handled, - void *callbackState); + PromiseRejectionTrackerCallback(JsValueRef promise, JsValueRef reason, bool handled, void *callbackState); void PromiseContinuation(JsValueRef value) noexcept; - void - PromiseRejectionTracker(JsValueRef promise, JsValueRef reason, bool handled); + void PromiseRejectionTracker(JsValueRef promise, JsValueRef reason, bool handled); void setupNativePromiseContinuation() noexcept; @@ -391,9 +326,7 @@ class ChakraRuntime : public facebook::jsi::Runtime { std::unique_ptr generatePreparedScript( const std::string &sourceURL, const facebook::jsi::Buffer &sourceBuffer) noexcept; - facebook::jsi::Value evaluateJavaScriptSimple( - const facebook::jsi::Buffer &buffer, - const std::string &sourceURL); + facebook::jsi::Value evaluateJavaScriptSimple(const facebook::jsi::Buffer &buffer, const std::string &sourceURL); bool evaluateSerializedScript( const facebook::jsi::Buffer &scriptBuffer, const facebook::jsi::Buffer &serializedScriptBuffer, @@ -427,13 +360,10 @@ class ChakraRuntime : public facebook::jsi::Runtime { // These buffers back the external array buffers that we handover to // ChakraCore. - std::vector> - m_pinnedPreparedScripts; + std::vector> m_pinnedPreparedScripts; - static constexpr const char *const s_proxyGetHostObjectTargetPropName = - "$$ProxyGetHostObjectTarget$$"; - static constexpr const char *const s_proxyIsHostObjectPropName = - "$$ProxyIsHostObject$$"; + static constexpr const char *const s_proxyGetHostObjectTargetPropName = "$$ProxyGetHostObjectTarget$$"; + static constexpr const char *const s_proxyIsHostObjectPropName = "$$ProxyIsHostObject$$"; std::string m_debugRuntimeName; int m_debugPort{0}; diff --git a/vnext/JSI/Shared/ChakraRuntimeFactory.h b/vnext/JSI/Shared/ChakraRuntimeFactory.h index 690a4a4e7d2..ed0702515a8 100644 --- a/vnext/JSI/Shared/ChakraRuntimeFactory.h +++ b/vnext/JSI/Shared/ChakraRuntimeFactory.h @@ -9,7 +9,6 @@ namespace Microsoft::JSI { struct ChakraRuntimeArgs; -std::unique_ptr makeChakraRuntime( - ChakraRuntimeArgs &&args) noexcept; +std::unique_ptr makeChakraRuntime(ChakraRuntimeArgs &&args) noexcept; } // namespace Microsoft::JSI diff --git a/vnext/JSI/Universal/ChakraJsiRuntime_edgemode.cpp b/vnext/JSI/Universal/ChakraJsiRuntime_edgemode.cpp index 54fb73e6e5c..c265adf7e6d 100644 --- a/vnext/JSI/Universal/ChakraJsiRuntime_edgemode.cpp +++ b/vnext/JSI/Universal/ChakraJsiRuntime_edgemode.cpp @@ -28,21 +28,16 @@ void ChakraRuntime::initRuntimeVersion() noexcept { // NOP } -std::unique_ptr -ChakraRuntime::generatePreparedScript( +std::unique_ptr ChakraRuntime::generatePreparedScript( const std::string &sourceURL, const facebook::jsi::Buffer &sourceBuffer) noexcept { - const std::wstring scriptUTF16 = Microsoft::Common::Unicode::Utf8ToUtf16( - reinterpret_cast(sourceBuffer.data()), sourceBuffer.size()); + const std::wstring scriptUTF16 = + Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast(sourceBuffer.data()), sourceBuffer.size()); unsigned long bytecodeSize = 0; - if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) == - JsNoError) { - std::unique_ptr bytecodeBuffer( - std::make_unique(bytecodeSize)); - if (JsSerializeScript( - scriptUTF16.c_str(), bytecodeBuffer->data(), &bytecodeSize) == - JsNoError) { + if (JsSerializeScript(scriptUTF16.c_str(), nullptr, &bytecodeSize) == JsNoError) { + std::unique_ptr bytecodeBuffer(std::make_unique(bytecodeSize)); + if (JsSerializeScript(scriptUTF16.c_str(), bytecodeBuffer->data(), &bytecodeSize) == JsNoError) { return bytecodeBuffer; } } @@ -53,19 +48,16 @@ ChakraRuntime::generatePreparedScript( facebook::jsi::Value ChakraRuntime::evaluateJavaScriptSimple( const facebook::jsi::Buffer &buffer, const std::string &sourceURL) { - const std::wstring script16 = Microsoft::Common::Unicode::Utf8ToUtf16( - reinterpret_cast(buffer.data()), buffer.size()); + const std::wstring script16 = + Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast(buffer.data()), buffer.size()); if (script16.empty()) throw facebook::jsi::JSINativeException("Script can't be empty."); const std::wstring url16 = Microsoft::Common::Unicode::Utf8ToUtf16(sourceURL); JsValueRef result; - VerifyJsErrorElseThrow(JsRunScript( - script16.c_str(), - JS_SOURCE_CONTEXT_NONE /*sourceContext*/, - url16.c_str(), - &result)); + VerifyJsErrorElseThrow( + JsRunScript(script16.c_str(), JS_SOURCE_CONTEXT_NONE /*sourceContext*/, url16.c_str(), &result)); return ToJsiValue(ChakraObjectRef(result)); } @@ -75,18 +67,14 @@ bool ChakraRuntime::evaluateSerializedScript( const facebook::jsi::Buffer &scriptBuffer, const facebook::jsi::Buffer &serializedScriptBuffer, const std::string &sourceURL) { - std::wstring script16 = Microsoft::Common::Unicode::Utf8ToUtf16( - reinterpret_cast(scriptBuffer.data()), scriptBuffer.size()); + std::wstring script16 = + Microsoft::Common::Unicode::Utf8ToUtf16(reinterpret_cast(scriptBuffer.data()), scriptBuffer.size()); std::wstring url16 = Microsoft::Common::Unicode::Utf8ToUtf16(sourceURL); // Note:: Bytecode caching on UWP is untested yet. JsValueRef result; JsErrorCode ret = JsRunSerializedScript( - script16.c_str(), - const_cast(serializedScriptBuffer.data()), - 0, - url16.c_str(), - &result); + script16.c_str(), const_cast(serializedScriptBuffer.data()), 0, url16.c_str(), &result); if (ret == JsNoError) { return true; diff --git a/vnext/Microsoft.ReactNative.Cxx/JSValueReader.h b/vnext/Microsoft.ReactNative.Cxx/JSValueReader.h index 166798a334d..a17c004a4bd 100644 --- a/vnext/Microsoft.ReactNative.Cxx/JSValueReader.h +++ b/vnext/Microsoft.ReactNative.Cxx/JSValueReader.h @@ -14,93 +14,60 @@ namespace Microsoft::ReactNative { template -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - T &value) noexcept { - static_assert( - sizeof(std::decay_t) == 0, "Implement ReadValue for the T type"); +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, T &value) noexcept { + static_assert(sizeof(std::decay_t) == 0, "Implement ReadValue for the T type"); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - bool &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, bool &value) noexcept { return reader.TryGetBoolen(value); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - int8_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, int8_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - int16_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, int16_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - int32_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, int32_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - int64_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, int64_t &value) noexcept { return reader.TryGetInt64(value); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - uint8_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, uint8_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - uint16_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, uint16_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - uint32_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, uint32_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - uint64_t &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, uint64_t &value) noexcept { int64_t result{}; - return reader.TryGetInt64(result) && - (value = static_cast(result), true); + return reader.TryGetInt64(result) && (value = static_cast(result), true); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - double &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, double &value) noexcept { return reader.TryGetDouble(value); } -inline bool ReadValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - float &value) noexcept { +inline bool ReadValue(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, float &value) noexcept { double result{}; - return reader.TryGetDouble(result) && - (value = static_cast(result), true); + return reader.TryGetDouble(result) && (value = static_cast(result), true); } inline bool ReadValue( @@ -114,14 +81,11 @@ inline bool ReadValue( winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, std::wstring &value) noexcept { winrt::hstring str; - return reader.TryGetString(str) && - (value = std::wstring{str.data(), str.size()}, true); + return reader.TryGetString(str) && (value = std::wstring{str.data(), str.size()}, true); } template -inline void ReadArgs( - winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, - TArgs &... args) noexcept { +inline void ReadArgs(winrt::Microsoft::ReactNative::Bridge::IJSValueReader const &reader, TArgs &... args) noexcept { if constexpr (sizeof...(args) > 0) { using winrt::Microsoft::ReactNative::Bridge::JSValueReaderState; JSValueReaderState state = reader.ReadNext(); @@ -129,9 +93,7 @@ inline void ReadArgs( // To read variadic template arguments in natural order we must use them // in an initializer list. [[maybe_unused]] int dummy[] = { - (state = reader.ReadNext(), - state != JSValueReaderState::ArrayEnd && ReadValue(reader, args), - 0)...}; + (state = reader.ReadNext(), state != JSValueReaderState::ArrayEnd && ReadValue(reader, args), 0)...}; } } } diff --git a/vnext/Microsoft.ReactNative.Cxx/JSValueWriter.h b/vnext/Microsoft.ReactNative.Cxx/JSValueWriter.h index a5c80a68c33..2640c5a1119 100644 --- a/vnext/Microsoft.ReactNative.Cxx/JSValueWriter.h +++ b/vnext/Microsoft.ReactNative.Cxx/JSValueWriter.h @@ -18,90 +18,61 @@ inline bool WriteProperty( winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, const std::string &name, T value) noexcept { - return writer.WritePropertyName(winrt::to_hstring(name)) && - WriteValue(writer, value); + return writer.WritePropertyName(winrt::to_hstring(name)) && WriteValue(writer, value); } template -inline bool WriteProperty( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - const char *name, - T value) noexcept { - return writer.WritePropertyName(winrt::to_hstring(name)) && - WriteValue(writer, value); +inline bool +WriteProperty(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, const char *name, T value) noexcept { + return writer.WritePropertyName(winrt::to_hstring(name)) && WriteValue(writer, value); } template -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - T value) noexcept { - static_assert( - sizeof(std::decay_t) == 0, "Implement WriteValue for the T type"); +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, T value) noexcept { + static_assert(sizeof(std::decay_t) == 0, "Implement WriteValue for the T type"); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - bool value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, bool value) noexcept { return writer.WriteBoolean(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - int8_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, int8_t value) noexcept { return writer.WriteInt64(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - int16_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, int16_t value) noexcept { return writer.WriteInt64(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - int32_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, int32_t value) noexcept { return writer.WriteInt64(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - int64_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, int64_t value) noexcept { return writer.WriteInt64(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - uint8_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, uint8_t value) noexcept { return writer.WriteInt64(static_cast(value)); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - uint16_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, uint16_t value) noexcept { return writer.WriteInt64(static_cast(value)); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - uint32_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, uint32_t value) noexcept { return writer.WriteInt64(static_cast(value)); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - uint64_t value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, uint64_t value) noexcept { return writer.WriteInt64(static_cast(value)); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - double value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, double value) noexcept { return writer.WriteDouble(value); } -inline bool WriteValue( - winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, - float value) noexcept { +inline bool WriteValue(winrt::Microsoft::ReactNative::Bridge::IJSValueWriter const &writer, float value) noexcept { return writer.WriteDouble(value); } diff --git a/vnext/Microsoft.ReactNative.Cxx/ModuleMemberRegistration.h b/vnext/Microsoft.ReactNative.Cxx/ModuleMemberRegistration.h index 424ae3fcee3..05319925e25 100644 --- a/vnext/Microsoft.ReactNative.Cxx/ModuleMemberRegistration.h +++ b/vnext/Microsoft.ReactNative.Cxx/ModuleMemberRegistration.h @@ -9,62 +9,38 @@ // Registration of a method relies on a TLS context that is setup when object is // created. The advantage is that we do zero work during static initialization. // The disadvantage is that we require to have one bool field per registration. -#define INTERNAL_REACT_METHOD_4_ARGS(methodType, isAsync, method, methodName) \ - bool REACT_reg##method{ \ - ::Microsoft::ReactNative::Module##methodType##MethodInfo::method)>:: \ - Register( \ - this, \ - methodName, \ - &std::remove_pointer_t::method, \ - isAsync)}; +#define INTERNAL_REACT_METHOD_4_ARGS(methodType, isAsync, method, methodName) \ + bool REACT_reg##method{ \ + ::Microsoft::ReactNative:: \ + Module##methodType##MethodInfo::method)>::Register( \ + this, methodName, &std::remove_pointer_t::method, isAsync)}; #define INTERNAL_REACT_METHOD_3_ARGS(methodType, isAsync, method) \ INTERNAL_REACT_METHOD_4_ARGS(methodType, isAsync, method, #method) #define INTERNAL_REACT_MEMBER_3RD_ARG(arg1, arg2, arg3, ...) arg3 -#define INTERNAL_REACT_MEMBER_RECOMPOSER(argsWithParentheses) \ - INTERNAL_REACT_MEMBER_3RD_ARG argsWithParentheses +#define INTERNAL_REACT_MEMBER_RECOMPOSER(argsWithParentheses) INTERNAL_REACT_MEMBER_3RD_ARG argsWithParentheses #define INTERNAL_REACT_METHOD_MACRO_CHOOSER(...) \ - INTERNAL_REACT_MEMBER_RECOMPOSER( \ - (__VA_ARGS__, \ - INTERNAL_REACT_METHOD_4_ARGS, \ - INTERNAL_REACT_METHOD_3_ARGS, )) + INTERNAL_REACT_MEMBER_RECOMPOSER((__VA_ARGS__, INTERNAL_REACT_METHOD_4_ARGS, INTERNAL_REACT_METHOD_3_ARGS, )) -#define INTERNAL_REACT_CONSTANT_2_ARGS(field, constantName) \ - bool REACT_reg##field{ \ - ::Microsoft::ReactNative::ModuleConstFieldInfo::field)>:: \ - Register( \ - this, \ - constantName, \ - &std::remove_pointer_t::field)}; +#define INTERNAL_REACT_CONSTANT_2_ARGS(field, constantName) \ + bool REACT_reg##field{ \ + ::Microsoft::ReactNative::ModuleConstFieldInfo::field)>:: \ + Register(this, constantName, &std::remove_pointer_t::field)}; -#define INTERNAL_REACT_CONSTANT_1_ARGS(field) \ - INTERNAL_REACT_CONSTANT_2_ARGS(field, #field) +#define INTERNAL_REACT_CONSTANT_1_ARGS(field) INTERNAL_REACT_CONSTANT_2_ARGS(field, #field) #define INTERNAL_REACT_CONSTANT_MACRO_CHOOSER(...) \ - INTERNAL_REACT_MEMBER_RECOMPOSER( \ - (__VA_ARGS__, \ - INTERNAL_REACT_CONSTANT_2_ARGS, \ - INTERNAL_REACT_CONSTANT_1_ARGS, )) + INTERNAL_REACT_MEMBER_RECOMPOSER((__VA_ARGS__, INTERNAL_REACT_CONSTANT_2_ARGS, INTERNAL_REACT_CONSTANT_1_ARGS, )) -#define INTERNAL_REACT_EVENT_2_ARGS(field, eventName) \ - bool REACT_reg##field{ \ - ::Microsoft::ReactNative::ModuleEventFieldInfo::field)>:: \ - Register( \ - this, \ - eventName, \ - &std::remove_pointer_t::field)}; +#define INTERNAL_REACT_EVENT_2_ARGS(field, eventName) \ + bool REACT_reg##field{ \ + ::Microsoft::ReactNative::ModuleEventFieldInfo::field)>:: \ + Register(this, eventName, &std::remove_pointer_t::field)}; -#define INTERNAL_REACT_EVENT_1_ARGS(field) \ - INTERNAL_REACT_EVENT_2_ARGS(field, #field) +#define INTERNAL_REACT_EVENT_1_ARGS(field) INTERNAL_REACT_EVENT_2_ARGS(field, #field) #define INTERNAL_REACT_EVENT_MACRO_CHOOSER(...) \ - INTERNAL_REACT_MEMBER_RECOMPOSER( \ - (__VA_ARGS__, \ - INTERNAL_REACT_EVENT_2_ARGS, \ - INTERNAL_REACT_EVENT_1_ARGS, )) + INTERNAL_REACT_MEMBER_RECOMPOSER((__VA_ARGS__, INTERNAL_REACT_EVENT_2_ARGS, INTERNAL_REACT_EVENT_1_ARGS, )) diff --git a/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp b/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp index 95e36341df0..90844afddf3 100644 --- a/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +++ b/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp @@ -8,23 +8,14 @@ namespace Microsoft::ReactNative { const ModuleRegistration *ModuleRegistration::s_head{nullptr}; -ModuleRegistration::ModuleRegistration( - const char *moduleName, - const char *eventEmitterName) noexcept - : m_moduleName{moduleName}, - m_eventEmitterName{eventEmitterName}, - m_next{s_head} { +ModuleRegistration::ModuleRegistration(const char *moduleName, const char *eventEmitterName) noexcept + : m_moduleName{moduleName}, m_eventEmitterName{eventEmitterName}, m_next{s_head} { s_head = this; } -void AddAttributedModules( - winrt::Microsoft::ReactNative::Bridge::IReactPackageBuilder const - &packageBuilder) noexcept { - for (const ModuleRegistration *reg = ModuleRegistration::Head(); - reg != nullptr; - reg = reg->Next()) { - packageBuilder.AddModule( - winrt::to_hstring(reg->ModuleName()), reg->MakeModuleProvider()); +void AddAttributedModules(winrt::Microsoft::ReactNative::Bridge::IReactPackageBuilder const &packageBuilder) noexcept { + for (const ModuleRegistration *reg = ModuleRegistration::Head(); reg != nullptr; reg = reg->Next()) { + packageBuilder.AddModule(winrt::to_hstring(reg->ModuleName()), reg->MakeModuleProvider()); } } diff --git a/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.h b/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.h index fb021e50467..7ea58954374 100644 --- a/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.h +++ b/vnext/Microsoft.ReactNative.Cxx/ModuleRegistration.h @@ -5,58 +5,44 @@ #include "winrt/Microsoft.ReactNative.Bridge.h" #include "winrt/Microsoft.ReactNative.h" -#define INTERNAL_REACT_MODULE_3_ARGS( \ - moduleClass, moduleName, eventEmitterName) \ - struct moduleClass; \ - \ - template \ - struct moduleClass##_ModuleRegistration final \ - : ::Microsoft::ReactNative::ModuleRegistration { \ - moduleClass##_ModuleRegistration() noexcept \ - : ::Microsoft::ReactNative::ModuleRegistration( \ - moduleName, \ - eventEmitterName) {} \ - \ - winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider \ - MakeModuleProvider() const noexcept override { \ - return ::Microsoft::ReactNative::MakeModuleProvider(); \ - } \ - \ - static const moduleClass##_ModuleRegistration Registration; \ - }; \ - \ - template \ - const moduleClass##_ModuleRegistration \ - moduleClass##_ModuleRegistration::Registration; \ +#define INTERNAL_REACT_MODULE_3_ARGS(moduleClass, moduleName, eventEmitterName) \ + struct moduleClass; \ + \ + template \ + struct moduleClass##_ModuleRegistration final : ::Microsoft::ReactNative::ModuleRegistration { \ + moduleClass##_ModuleRegistration() noexcept \ + : ::Microsoft::ReactNative::ModuleRegistration(moduleName, eventEmitterName) {} \ + \ + winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider MakeModuleProvider() const noexcept override { \ + return ::Microsoft::ReactNative::MakeModuleProvider(); \ + } \ + \ + static const moduleClass##_ModuleRegistration Registration; \ + }; \ + \ + template \ + const moduleClass##_ModuleRegistration moduleClass##_ModuleRegistration::Registration; \ template struct moduleClass##_ModuleRegistration; #define INTERNAL_REACT_MODULE_2_ARGS(moduleClass, moduleName) \ INTERNAL_REACT_MODULE_3_ARGS(moduleClass, moduleName, moduleName) -#define INTERNAL_REACT_MODULE_1_ARGS(moduleClass) \ - INTERNAL_REACT_MODULE_2_ARGS(moduleClass, #moduleClass) +#define INTERNAL_REACT_MODULE_1_ARGS(moduleClass) INTERNAL_REACT_MODULE_2_ARGS(moduleClass, #moduleClass) #define INTERNAL_REACT_MODULE_4TH_ARG(arg1, arg2, arg3, arg4, ...) arg4 -#define INTERNAL_REACT_MODULE_RECOMPOSER(argsWithParentheses) \ - INTERNAL_REACT_MODULE_4TH_ARG argsWithParentheses +#define INTERNAL_REACT_MODULE_RECOMPOSER(argsWithParentheses) INTERNAL_REACT_MODULE_4TH_ARG argsWithParentheses #define INTERNAL_REACT_MODULE_MACRO_CHOOSER(...) \ INTERNAL_REACT_MODULE_RECOMPOSER( \ - (__VA_ARGS__, \ - INTERNAL_REACT_MODULE_3_ARGS, \ - INTERNAL_REACT_MODULE_2_ARGS, \ - INTERNAL_REACT_MODULE_1_ARGS, )) + (__VA_ARGS__, INTERNAL_REACT_MODULE_3_ARGS, INTERNAL_REACT_MODULE_2_ARGS, INTERNAL_REACT_MODULE_1_ARGS, )) namespace Microsoft::ReactNative { struct ModuleRegistration { - ModuleRegistration( - const char *moduleName, - const char *eventEmitterName) noexcept; + ModuleRegistration(const char *moduleName, const char *eventEmitterName) noexcept; - virtual winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider - MakeModuleProvider() const noexcept = 0; + virtual winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider MakeModuleProvider() const noexcept = 0; static const ModuleRegistration *Head() noexcept { return s_head; @@ -78,8 +64,6 @@ struct ModuleRegistration { static const ModuleRegistration *s_head; }; -void AddAttributedModules( - winrt::Microsoft::ReactNative::Bridge::IReactPackageBuilder const - &packageBuilder) noexcept; +void AddAttributedModules(winrt::Microsoft::ReactNative::Bridge::IReactPackageBuilder const &packageBuilder) noexcept; } // namespace Microsoft::ReactNative diff --git a/vnext/Microsoft.ReactNative.Cxx/NativeModules.h b/vnext/Microsoft.ReactNative.Cxx/NativeModules.h index 68da4aba149..ad1914fe41b 100644 --- a/vnext/Microsoft.ReactNative.Cxx/NativeModules.h +++ b/vnext/Microsoft.ReactNative.Cxx/NativeModules.h @@ -19,8 +19,7 @@ // the moduleClass name. // - eventEmitterName (optional) - the event emitter name used in JavaScript. // Default is the moduleName. -#define REACT_MODULE( \ - /* moduleClass, [opt] moduleName, [opt] eventEmitterName */...) \ +#define REACT_MODULE(/* moduleClass, [opt] moduleName, [opt] eventEmitterName */...) \ INTERNAL_REACT_MODULE_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__) // The macro to annotate a method to export to JavaScript. @@ -56,16 +55,14 @@ // A method where we can define constants. // Constant definition relies on a TLS context that is setup when object is // created. -#define REACT_CONSTANT_PROVIDER(method) \ - INTERNAL_REACT_METHOD_4_ARGS(Const, false, method, "") +#define REACT_CONSTANT_PROVIDER(method) INTERNAL_REACT_METHOD_4_ARGS(Const, false, method, "") // Use with a field to provide a constant #define REACT_CONSTANT(/* field, [opt] constantName */...) \ INTERNAL_REACT_CONSTANT_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__) // Use with a field for events -#define REACT_EVENT(/* field, [opt] eventName */...) \ - INTERNAL_REACT_EVENT_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__) +#define REACT_EVENT(/* field, [opt] eventName */...) INTERNAL_REACT_EVENT_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__) namespace Microsoft::ReactNative { @@ -99,11 +96,8 @@ template struct GetCallbackCount> { using TupleType = std::tuple; constexpr static size_t TupleSize = std::tuple_size_v; - constexpr static size_t Value = - (IsCallback>::value ? 1 - : 0) + - (IsCallback>::value ? 1 - : 0); + constexpr static size_t Value = (IsCallback>::value ? 1 : 0) + + (IsCallback>::value ? 1 : 0); }; template @@ -130,20 +124,18 @@ template } // namespace Internal -using CurrentNativeModuleBuilder = Internal::ThreadLocalHolder< - const winrt::Microsoft::ReactNative::Bridge::IReactModuleBuilder>; +using CurrentNativeModuleBuilder = + Internal::ThreadLocalHolder; //============================================================================== // Module registration helpers //============================================================================== template -inline winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider -MakeModuleProvider() noexcept { +inline winrt::Microsoft::ReactNative::Bridge::ReactModuleProvider MakeModuleProvider() noexcept { using winrt::Microsoft::ReactNative::Bridge::IReactModuleBuilder; - return [module = std::shared_ptr{nullptr}]( - IReactModuleBuilder const &moduleBuilder) mutable noexcept { + return [module = std::shared_ptr{nullptr}](IReactModuleBuilder const &moduleBuilder) mutable noexcept { CurrentNativeModuleBuilder currentModuleBuilder{&moduleBuilder}; module = std::make_shared(); return winrt::Windows::Foundation::IInspectable{nullptr}; @@ -155,18 +147,16 @@ struct ModuleMethodInfo; template struct ModuleMethodInfo { - constexpr static size_t CallbackCount = Internal::GetCallbackCount< - std::tuple...>>::Value; + constexpr static size_t CallbackCount = + Internal::GetCallbackCount...>>::Value; using ModuleType = TModule; using MethodType = void (TModule::*)(TArgs...) noexcept; - using IndexSequence = - std::make_index_sequence; + using IndexSequence = std::make_index_sequence; using IJSValueReader = winrt::Microsoft::ReactNative::Bridge::IJSValueReader; using IJSValueWriter = winrt::Microsoft::ReactNative::Bridge::IJSValueWriter; using MethodDelegate = winrt::Microsoft::ReactNative::Bridge::MethodDelegate; - using MethodResultCallback = - winrt::Microsoft::ReactNative::Bridge::MethodResultCallback; + using MethodResultCallback = winrt::Microsoft::ReactNative::Bridge::MethodResultCallback; template struct Invoker; @@ -174,10 +164,7 @@ struct ModuleMethodInfo { template struct Invoker> { // Fire and forget method - static MethodDelegate GetFunc( - ModuleType *module, - MethodType method, - std::integral_constant) noexcept { + static MethodDelegate GetFunc(ModuleType *module, MethodType method, std::integral_constant) noexcept { return [ module, method ]( const IJSValueReader &argReader, const IJSValueWriter & /*argWriter*/, @@ -197,8 +184,7 @@ struct ModuleMethodInfo { static TCallback Create( const IJSValueWriter &argWriter, const MethodResultCallback &callback) noexcept { - return TCallback([ callback = std::move(callback), argWriter ]( - TArgs... args) noexcept { + return TCallback([ callback = std::move(callback), argWriter ](TArgs... args) noexcept { WriteArgs(argWriter, std::move(args)...); callback(argWriter); }); @@ -211,51 +197,37 @@ struct ModuleMethodInfo { template