From f7d23a1ae96f4d64806a697ccefbd18e0f0a395e Mon Sep 17 00:00:00 2001 From: Darrell Date: Sun, 7 Aug 2022 07:31:42 -0400 Subject: [PATCH] Add more ui, tweak memory usage, add device configs (#578) --- .clang-format | 214 + lib/BleFingerprint/BleFingerprint.cpp | 105 +- lib/BleFingerprint/BleFingerprint.h | 24 +- .../BleFingerprintCollection.cpp | 62 +- lib/BleFingerprint/BleFingerprintCollection.h | 23 +- lib/BleFingerprint/string_utils.cpp | 9 + lib/BleFingerprint/util.h | 46 +- src/Enrollment.cpp | 6 +- src/HttpServer.cpp | 65 +- src/ui_bundle_css.h | 212 +- src/ui_index_html.h | 5 +- src/ui_index_js.h | 1843 ++++---- ui/package-lock.json | 4199 +++++++++++++++++ ui/package.json | 9 + ui/postcss.config.cjs | 9 + ui/rollup.config.js | 13 +- ui/src/App.svelte | 135 +- ui/src/app.css | 20 +- ui/src/components/Icon.svelte | 31 + ui/src/components/Sidebar.svelte | 26 + ui/src/components/SidebarItem.svelte | 29 + ui/src/components/Stats.svelte | 22 + ui/src/routes.js | 10 + ui/src/routes/Devices.svelte | 137 + ui/src/routes/Home.svelte | 10 + ui/src/routes/NotFound.svelte | 11 + ui/src/stores.js | 25 + ui/svelte.config.js | 12 + ui/tailwind.config.cjs | 8 + 29 files changed, 6082 insertions(+), 1238 deletions(-) create mode 100644 .clang-format create mode 100644 ui/postcss.config.cjs create mode 100644 ui/src/components/Icon.svelte create mode 100644 ui/src/components/Sidebar.svelte create mode 100644 ui/src/components/SidebarItem.svelte create mode 100644 ui/src/components/Stats.svelte create mode 100644 ui/src/routes.js create mode 100644 ui/src/routes/Devices.svelte create mode 100644 ui/src/routes/Home.svelte create mode 100644 ui/src/routes/NotFound.svelte create mode 100644 ui/svelte.config.js create mode 100644 ui/tailwind.config.cjs diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..386b7a1 --- /dev/null +++ b/.clang-format @@ -0,0 +1,214 @@ +--- +Language: Cpp +# BasedOnStyle: LLVM +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignArrayOfStructures: None +AlignConsecutiveAssignments: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + PadOperators: true +AlignConsecutiveBitFields: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + PadOperators: false +AlignConsecutiveDeclarations: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + PadOperators: false +AlignConsecutiveMacros: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + PadOperators: false +AlignEscapedNewlines: Right +AlignOperands: Align +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortEnumsOnASingleLine: true +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: true +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: MultiLine +AttributeMacros: + - __capability +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeConceptDeclarations: Always +BreakBeforeBraces: Attach +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 999 +CommentPragmas: '^ IWYU pragma:' +QualifierAlignment: Leave +CompactNamespaces: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: false +DisableFormat: false +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: LogicalBlock +ExperimentalAutoDetectBinPacking: false +PackConstructorInitializers: BinPack +BasedOnStyle: '' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +AllowAllConstructorInitializersOnNextLine: true +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IfMacros: + - KJ_IF_MAYBE +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 1 + SortPriority: 0 + CaseSensitive: false +IncludeIsMainRegex: '(Test)?$' +IncludeIsMainSourceRegex: '' +IndentAccessModifiers: false +IndentCaseLabels: false +IndentCaseBlocks: false +IndentGotoLabels: true +IndentPPDirectives: None +IndentExternBlock: AfterExternBlock +IndentRequiresClause: true +IndentWidth: 4 +IndentWrappedFunctionNames: false +InsertBraces: false +InsertTrailingCommas: None +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +LambdaBodyIndentation: Signature +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakOpenParenthesis: 0 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PenaltyIndentedWhitespace: 0 +PointerAlignment: Right +PPIndentWidth: -1 +ReferenceAlignment: Pointer +ReflowComments: true +RemoveBracesLLVM: false +RequiresClausePosition: OwnLine +SeparateDefinitionBlocks: Leave +ShortNamespaceLines: 1 +SortIncludes: CaseSensitive +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeParensOptions: + AfterControlStatements: true + AfterForeachMacros: true + AfterFunctionDefinitionName: false + AfterFunctionDeclarationName: false + AfterIfMacros: true + AfterOverloadedOperator: false + AfterRequiresInClause: false + AfterRequiresInExpression: false + BeforeNonEmptyParentheses: false +SpaceAroundPointerQualifiers: Default +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: Never +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInLineCommentPrefix: + Minimum: 1 + Maximum: -1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +BitFieldColonSpacing: Both +Standard: Latest +StatementAttributeLikeMacros: + - Q_EMIT +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 8 +UseCRLF: false +UseTab: Never +WhitespaceSensitiveMacros: + - STRINGIZE + - PP_STRINGIZE + - BOOST_PP_STRINGIZE + - NS_SWIFT_NAME + - CF_SWIFT_NAME diff --git a/lib/BleFingerprint/BleFingerprint.cpp b/lib/BleFingerprint/BleFingerprint.cpp index 5042631..e8d644f 100644 --- a/lib/BleFingerprint/BleFingerprint.cpp +++ b/lib/BleFingerprint/BleFingerprint.cpp @@ -1,9 +1,9 @@ #include "BleFingerprint.h" #include "BleFingerprintCollection.h" +#include "mbedtls/aes.h" #include "rssi.h" #include "string_utils.h" #include "util.h" -#include "mbedtls/aes.h" class ClientCallbacks : public BLEClientCallbacks { @@ -15,21 +15,33 @@ class ClientCallbacks : public BLEClientCallbacks static ClientCallbacks clientCB; -bool BleFingerprint::shouldHide(const String& s) -{ +bool BleFingerprint::shouldHide(const String &s) { if (BleFingerprintCollection::include.length() > 0 && !prefixExists(BleFingerprintCollection::include, s)) return true; return (BleFingerprintCollection::exclude.length() > 0 && prefixExists(BleFingerprintCollection::exclude, s)); } -bool BleFingerprint::setId(const String& newId, short newIdType, const String& newName) -{ - if (newIdType < idType && idType > 0) return false; +bool BleFingerprint::setId(const String &newId, short newIdType, const String &newName) { + + if ((idType < 0 || newIdType < 0) ? newIdType >= idType : newIdType <= idType) return false; + //Serial.printf("setId: %s %d %s\n", newId.c_str(), newIdType, newName.c_str()); - hidden = shouldHide(newId); ignore = newIdType < 0; + idType = newIdType; - if ((idType != newIdType) || !id.equals(newId)) { + DeviceConfig dc; + if (BleFingerprintCollection::findDeviceConfig(newId, dc)) + { + if (!dc.alias.isEmpty()) + return setId(dc.alias, ID_TYPE_ALIAS, dc.name); + if (!dc.name.isEmpty()) + name = dc.name; + } else + if (!newName.isEmpty() && name!=newName) + name = newName; + if (id != newId) { + + hidden = shouldHide(newId); countable = !ignore && !hidden && !BleFingerprintCollection::countIds.isEmpty() && prefixExists(BleFingerprintCollection::countIds, newId); bool newQuery = !ignore && !BleFingerprintCollection::query.isEmpty() && prefixExists(BleFingerprintCollection::query, newId); if (newQuery != allowQuery) @@ -41,19 +53,16 @@ bool BleFingerprint::setId(const String& newId, short newIdType, const String& n { qryDelayMillis = 30000; lastQryMillis = millis(); - } else if (rssi < -70) - { + } else if (rssi < -70) { qryDelayMillis = 5000; lastQryMillis = millis(); } } } - id = newId; - idType = newIdType; added = false; } - if (!newName.isEmpty() && !name.equals(newName)) name = newName; + return true; } @@ -118,14 +127,12 @@ int bt_encrypt_be(const uint8_t *key, const uint8_t *plaintext, uint8_t *enc_dat struct encryption_block { - uint8_t key[16]; - uint8_t plain_text[16]; - uint8_t cipher_text[16]; + uint8_t key[16]; + uint8_t plain_text[16]; + uint8_t cipher_text[16]; }; -int ble_ll_resolv_rpa(const uint8_t *rpa, const uint8_t *irk) -{ - int rc; +bool ble_ll_resolv_rpa(const uint8_t *rpa, const uint8_t *irk) { struct encryption_block ecb; auto irk32 = (const uint32_t *)irk; @@ -137,7 +144,6 @@ int ble_ll_resolv_rpa(const uint8_t *rpa, const uint8_t *irk) key32[2] = irk32[2]; key32[3] = irk32[3]; - pt32[0] = 0; pt32[1] = 0; pt32[2] = 0; @@ -149,17 +155,11 @@ int ble_ll_resolv_rpa(const uint8_t *rpa, const uint8_t *irk) auto err = bt_encrypt_be(ecb.key, ecb.plain_text, ecb.cipher_text); - if ((ecb.cipher_text[15] == rpa[0]) && (ecb.cipher_text[14] == rpa[1]) && - (ecb.cipher_text[13] == rpa[2])) { + if (ecb.cipher_text[15] != rpa[0] || ecb.cipher_text[14] != rpa[1] || ecb.cipher_text[13] != rpa[2]) return false; - rc = 1; - } else { - rc = 0; - } + // Serial.printf("RPA resolved %d %02x%02x%02x %02x%02x%02x\n", err, rpa[0], rpa[1], rpa[2], ecb.cipher_text[15], ecb.cipher_text[14], ecb.cipher_text[13]); - //Serial.printf("RPA resolved %d %d %02x%02x%02x %02x%02x%02x\n", rc, err, rpa[0], rpa[1], rpa[2], ecb.cipher_text[15], ecb.cipher_text[14], ecb.cipher_text[13]); - - return rc; + return true; } void BleFingerprint::fingerprintAddress() @@ -171,26 +171,23 @@ void BleFingerprint::fingerprintAddress() { switch (addressType) { - case BLE_ADDR_PUBLIC: - case BLE_ADDR_PUBLIC_ID: - setId(mac, ID_TYPE_PUBLIC_MAC); + case BLE_ADDR_PUBLIC: + case BLE_ADDR_PUBLIC_ID: + setId(mac, ID_TYPE_PUBLIC_MAC); + break; + case BLE_ADDR_RANDOM: { + auto naddress = address.getNative(); + auto irks = BleFingerprintCollection::getIrks(); + auto it = std::find_if(irks.begin(), irks.end(), [naddress](uint8_t *irk) { return ble_ll_resolv_rpa(naddress, irk); }); + if (it != irks.end()) { + auto irk_hex = hexStr(*it, 16); + setId(String("irk:") + irk_hex.c_str(), ID_TYPE_KNOWN_IRK); break; - case BLE_ADDR_RANDOM: - { - auto naddress = address.getNative(); - auto irks = BleFingerprintCollection::irks; - auto it = std::find_if(irks.begin(), irks.end(), [naddress](std::pair &p) { - auto irk = std::get<0>(p); - return ble_ll_resolv_rpa(naddress, irk); - }); - if (it != irks.end()) { - setId(std::get<1>(*it), ID_TYPE_KNOWN_IRK); - break; - } } - default: - setId(mac, ID_TYPE_MAC); - break; + } + default: + setId(mac, ID_TYPE_RAND_MAC); + break; } } } @@ -295,7 +292,7 @@ void BleFingerprint::fingerprintServiceData(NimBLEAdvertisedDevice *advertisedDe { // found COVID-19 exposure tracker calRssi = BleFingerprintCollection::refRssi + EXPOSURE_TX; setId("exp:" + String(strServiceData.length()), ID_TYPE_EXPOSURE); - disc = hexStr(strServiceData).c_str(); + //disc = hexStr(strServiceData).c_str(); } else if (uuid == smartTagUUID) { // found Samsung smart tag @@ -392,7 +389,7 @@ void BleFingerprint::fingerprintManufactureData(NimBLEAdvertisedDevice *advertis BLEBeacon oBeacon = BLEBeacon(); oBeacon.setData(strManufacturerData); calRssi = oBeacon.getSignalPower(); - setId(Sprintf("iBeacon:%s-%u-%u", std::string(oBeacon.getProximityUUID()).c_str(), ENDIAN_CHANGE_U16(oBeacon.getMajor()), ENDIAN_CHANGE_U16(oBeacon.getMinor())), calRssi != 3 ? ID_TYPE_IBEACON : ID_TYPE_ECHO_LOST ); + setId(Sprintf("iBeacon:%s-%u-%u", std::string(oBeacon.getProximityUUID()).c_str(), ENDIAN_CHANGE_U16(oBeacon.getMajor()), ENDIAN_CHANGE_U16(oBeacon.getMinor())), calRssi != 3 ? ID_TYPE_IBEACON : ID_TYPE_ECHO_LOST); } else if (strManufacturerData.length() >= 4 && strManufacturerData[2] == 0x10) { @@ -440,11 +437,12 @@ void BleFingerprint::fingerprintManufactureData(NimBLEAdvertisedDevice *advertis { mdRssi = haveTxPower ? BleFingerprintCollection::refRssi + txPower : NO_RSSI; setId(Sprintf("msft:cdp:%02x%02x", strManufacturerData[3], strManufacturerData[5]), ID_TYPE_MSFT); - disc = Sprintf("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + /*disc = Sprintf("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", strManufacturerData[6], strManufacturerData[7], strManufacturerData[8], strManufacturerData[9], strManufacturerData[10], strManufacturerData[11], strManufacturerData[12], strManufacturerData[13], strManufacturerData[14], strManufacturerData[15], strManufacturerData[16], strManufacturerData[17], strManufacturerData[18], strManufacturerData[19], strManufacturerData[20], strManufacturerData[21], strManufacturerData[22], strManufacturerData[23], strManufacturerData[24], strManufacturerData[25]); + */ } else if (manuf == "0075") // samsung { @@ -549,7 +547,7 @@ void BleFingerprint::fill(JsonObject *doc) bool BleFingerprint::report(JsonObject *doc) { - if (ignore || idType == 0 || hidden) + if (ignore || idType <= ID_TYPE_RAND_MAC || hidden) return false; if (reported || !hasValue) @@ -666,3 +664,8 @@ bool BleFingerprint::shouldCount() return counting; } + +void BleFingerprint::expire() +{ + lastSeenMillis = 0; +} diff --git a/lib/BleFingerprint/BleFingerprint.h b/lib/BleFingerprint/BleFingerprint.h index 0cbcbed..ab8cdf6 100644 --- a/lib/BleFingerprint/BleFingerprint.h +++ b/lib/BleFingerprint/BleFingerprint.h @@ -16,18 +16,21 @@ #define ID_TYPE_TX_POW short(1) +#define NO_ID_TYPE short(0) + #define ID_TYPE_ECHO_LOST short(-10) #define ID_TYPE_MISC_APPLE short(-5) -#define ID_TYPE_MAC short(0) +#define ID_TYPE_RAND_MAC short(1) #define ID_TYPE_AD short(10) #define ID_TYPE_SD short(15) #define ID_TYPE_MD short(20) #define ID_TYPE_MISC short(30) #define ID_TYPE_FINDMY short(32) #define ID_TYPE_NAME short(35) -#define ID_TYPE_PUBLIC_MAC short(50) -#define ID_TYPE_MSFT short(100) +#define ID_TYPE_MSFT short(40) +#define ID_TYPE_UNIQUE short(50) +#define ID_TYPE_PUBLIC_MAC short(55) #define ID_TYPE_SONOS short(105) #define ID_TYPE_GARMIN short(107) #define ID_TYPE_MITHERM short(110) @@ -38,7 +41,7 @@ #define ID_TYPE_ITRACK short(127) #define ID_TYPE_NUT short(128) #define ID_TYPE_TRACKR short(130) -#define ID_TYPE_TILE short( 135) +#define ID_TYPE_TILE short(135) #define ID_TYPE_MEATER short(140) #define ID_TYPE_TRACTIVE short(142) #define ID_TYPE_VANMOOF short(145) @@ -51,7 +54,7 @@ #define ID_TYPE_EBEACON short(220) #define ID_TYPE_ABEACON short(230) #define ID_TYPE_IBEACON short(240) - +#define ID_TYPE_ALIAS short(250) class BleFingerprintCollection; @@ -79,6 +82,8 @@ public: String getMac() const { return SMacf(address); } + short getIdType() const { return idType; } + String const getDiscriminator() { return disc; } float getDistance() const { return output.value.position; } @@ -91,7 +96,7 @@ public: NimBLEAddress const getAddress() { return address; } - unsigned long getMsSinceLastSeen() const { return millis() - lastSeenMillis; }; + unsigned long getMsSinceLastSeen() const { return lastSeenMillis ? millis() - lastSeenMillis : 4294967295; }; unsigned long getMsSinceFirstSeen() const { return millis() - firstSeenMillis; }; @@ -115,6 +120,8 @@ public: bool shouldCount(); void fingerprintAddress(); + void expire(); + private: static bool shouldHide(const String &s); @@ -122,7 +129,7 @@ private: bool hasValue = false, added = false, close = false, reported = false, ignore = false, allowQuery = false, didQuery = false, rmAsst = false, hidden = false, connectable = false, countable = false, counting = false; NimBLEAddress address; String id, name, disc; - short int idType = 0; + short int idType = NO_ID_TYPE; int rssi = -100, calRssi = NO_RSSI, mdRssi = NO_RSSI, asRssi = NO_RSSI, newest = NO_RSSI, recent = NO_RSSI, oldest = NO_RSSI; unsigned int qryAttempts = 0, qryDelayMillis = 0; float raw = 0, lastReported = 0, temp = 0, humidity = 0; @@ -139,11 +146,8 @@ private: bool filter(); void fingerprint(NimBLEAdvertisedDevice *advertisedDevice); - void fingerprintServiceAdvertisements(NimBLEAdvertisedDevice *advertisedDevice, size_t serviceAdvCount, bool haveTxPower, int8_t txPower); - void fingerprintServiceData(NimBLEAdvertisedDevice *advertisedDevice, size_t serviceDataCount, bool haveTxPower, int8_t txPower); - void fingerprintManufactureData(NimBLEAdvertisedDevice *advertisedDevice, bool haveTxPower, int8_t txPower); }; diff --git a/lib/BleFingerprint/BleFingerprintCollection.cpp b/lib/BleFingerprint/BleFingerprintCollection.cpp index 0739548..1036731 100644 --- a/lib/BleFingerprint/BleFingerprintCollection.cpp +++ b/lib/BleFingerprint/BleFingerprintCollection.cpp @@ -5,22 +5,33 @@ String BleFingerprintCollection::include{}, BleFingerprintCollection::exclude{}, BleFingerprintCollection::query{}, BleFingerprintCollection::knownMacs{}, BleFingerprintCollection::knownIrks{}, BleFingerprintCollection::countIds{}; float BleFingerprintCollection::skipDistance = 0.0f, BleFingerprintCollection::maxDistance = 0.0f, BleFingerprintCollection::absorption = 3.5f, BleFingerprintCollection::countEnter = 2, BleFingerprintCollection::countExit = 4; int BleFingerprintCollection::refRssi = 0, BleFingerprintCollection::forgetMs = 0, BleFingerprintCollection::skipMs = 0, BleFingerprintCollection::countMs = 10000; -std::vector> BleFingerprintCollection::irks; +std::vector BleFingerprintCollection::deviceConfigs; +std::vector BleFingerprintCollection::irks; -bool BleFingerprintCollection::config(String& id, String& json) { +bool BleFingerprintCollection::config(String &id, String &json) { DynamicJsonDocument doc(1024); deserializeJson(doc, json); + + DeviceConfig config = {}; + config.id = id; + auto alias = doc["id"].as(); + if (alias != id) config.alias = alias; + config.calRssi = doc["rssi@1m"]; + config.name = doc["name"].as(); + deviceConfigs.push_back(config); + auto p = id.indexOf("irk:"); if (p == 0) { auto irk_hex = id.substring(4); - uint8_t* irk = new uint8_t[16]; + uint8_t *irk = new uint8_t[16]; if (!hextostr(irk_hex, irk, 16)) return false; - irks.push_back({irk, doc["id"]}); + irks.push_back(irk); - for(auto it = std::begin(fingerprints); it != std::end(fingerprints); ++it) + for (auto it = std::begin(fingerprints); it != std::end(fingerprints); ++it) (*it)->fingerprintAddress(); } + return true; } @@ -28,14 +39,14 @@ void BleFingerprintCollection::connectToWifi() { std::istringstream iss(BleFingerprintCollection::knownIrks.c_str()); std::string irk_hex; while (iss >> irk_hex) { - uint8_t* irk = new uint8_t[16]; + uint8_t *irk = new uint8_t[16]; if (!hextostr(irk_hex.c_str(), irk, 16)) continue; - irks.push_back({irk, String("irk:") + irk_hex.c_str()}); + irks.push_back(irk); } } -bool BleFingerprintCollection::command(String& command, String& pay) { +bool BleFingerprintCollection::command(String &command, String &pay) { if (command == "max_distance") { @@ -116,21 +127,22 @@ BleFingerprint *BleFingerprintCollection::getFingerprintInternal(BLEAdvertisedDe { auto mac = advertisedDevice->getAddress(); - auto it = std::find_if(fingerprints.begin(), fingerprints.end(), [mac](BleFingerprint *f) - { return f->getAddress() == mac; }); - if (it != fingerprints.end()) + auto it = std::find_if(fingerprints.rbegin(), fingerprints.rend(), [mac](BleFingerprint *f) { return f->getAddress() == mac; }); + if (it != fingerprints.rend()) return *it; auto created = new BleFingerprint(this, advertisedDevice, ONE_EURO_FCMIN, ONE_EURO_BETA, ONE_EURO_DCUTOFF); - auto it2 = std::find_if(fingerprints.begin(), fingerprints.end(), [created](BleFingerprint *f) - { return f->getId() == created->getId(); }); + auto it2 = std::find_if(fingerprints.begin(), fingerprints.end(), [created](BleFingerprint *f) { return f->getId() == created->getId(); }); if (it2 != fingerprints.end()) { auto found = *it2; + //Serial.printf("Detected mac switch for fingerprint id %s\n", found->getId().c_str()); created->setInitial(found->getRssi(), found->getDistance()); + if (found->getIdType()>ID_TYPE_UNIQUE) + found->expire(); } - fingerprints.push_front(created); + fingerprints.push_back(created); return created; } @@ -144,18 +156,28 @@ BleFingerprint *BleFingerprintCollection::getFingerprint(BLEAdvertisedDevice *ad return f; } -const std::list BleFingerprintCollection::getCopy() -{ +const std::vector BleFingerprintCollection::getCopy() { if (xSemaphoreTake(fingerprintSemaphore, 1000) != pdTRUE) log_e("Couldn't take semaphore!"); cleanupOldFingerprints(); - std::list copy(fingerprints); + std::vector copy(fingerprints); if (xSemaphoreGive(fingerprintSemaphore) != pdTRUE) log_e("Couldn't give semaphore!"); return std::move(copy); } -const std::list* const BleFingerprintCollection::getNative() -{ - return &fingerprints; +const std::vector *const BleFingerprintCollection::getNative() { return &fingerprints; } + +std::vector BleFingerprintCollection::getIrks() { return irks; } + +bool BleFingerprintCollection::findDeviceConfig(const String &id, DeviceConfig &config) { + auto it = std::find_if(deviceConfigs.begin(), deviceConfigs.end(), [id](DeviceConfig dc) { return dc.id == id; }); + if (it == deviceConfigs.end()) return false; + config = (*it); + return true; +} + +std::vector BleFingerprintCollection::getConfigs() +{ + return deviceConfigs; } diff --git a/lib/BleFingerprint/BleFingerprintCollection.h b/lib/BleFingerprint/BleFingerprintCollection.h index 26c8e26..a65ccc1 100644 --- a/lib/BleFingerprint/BleFingerprintCollection.h +++ b/lib/BleFingerprint/BleFingerprintCollection.h @@ -12,6 +12,13 @@ #define ALLOW_BLE_CONTROLLER_RESTART_AFTER_SECS 1800 #endif +struct DeviceConfig { + String id; + String alias; + String name; + uint8_t calRssi = 127; +}; + class BleFingerprintCollection : public BLEAdvertisedDeviceCallbacks { public: @@ -22,13 +29,12 @@ public: } BleFingerprint *getFingerprint(BLEAdvertisedDevice *advertisedDevice); void cleanupOldFingerprints(); - const std::list* const getNative(); - const std::list getCopy(); + const std::vector *const getNative(); + const std::vector getCopy(); void setDisable(bool disable) { _disable = disable; } void connectToWifi(); bool command(String& command, String& pay); - bool config(String& id, String& json); - static std::vector> irks; + bool config(String &id, String &json); static String knownMacs, knownIrks, include, exclude, query; static float skipDistance, maxDistance, absorption; static int refRssi, forgetMs, skipMs; @@ -36,13 +42,20 @@ public: static float countEnter, countExit; static int countMs; + static std::vector getIrks(); + static bool findDeviceConfig(const String &id, DeviceConfig &config); + + static std::vector getConfigs(); + private: + static std::vector deviceConfigs; + static std::vector irks; bool _disable = false; unsigned long lastCleanup = 0; SemaphoreHandle_t fingerprintSemaphore; - std::list fingerprints; + std::vector fingerprints; BleFingerprint *getFingerprintInternal(BLEAdvertisedDevice *advertisedDevice); void onResult(BLEAdvertisedDevice *advertisedDevice) override diff --git a/lib/BleFingerprint/string_utils.cpp b/lib/BleFingerprint/string_utils.cpp index 867b7c1..844b37f 100644 --- a/lib/BleFingerprint/string_utils.cpp +++ b/lib/BleFingerprint/string_utils.cpp @@ -46,6 +46,15 @@ String kebabify(const String &text) return kebabify(s).c_str(); } +std::string hexStr(const uint8_t *data, int len) { + std::string s(len * 2, ' '); + for (int i = 0; i < len; ++i) { + s[2 * i] = hexmap[(data[i] & 0xF0) >> 4]; + s[2 * i + 1] = hexmap[data[i] & 0x0F]; + } + return s; +} + std::string hexStr(const char *data, unsigned int len) { std::string s(len * 2, ' '); diff --git a/lib/BleFingerprint/util.h b/lib/BleFingerprint/util.h index 4422955..9b524e9 100644 --- a/lib/BleFingerprint/util.h +++ b/lib/BleFingerprint/util.h @@ -4,35 +4,35 @@ #define ENDIAN_CHANGE_U16(x) ((((x)&0xFF00) >> 8) + (((x)&0xFF) << 8)) -static BLEUUID eddystoneUUID((uint16_t)0xFEAA); -static BLEUUID tileUUID((uint16_t)0xFEED); -static BLEUUID exposureUUID((uint16_t)0xFD6F); -static BLEUUID smartTagUUID((uint16_t)0xFD5A); -static BLEUUID sonosUUID((uint16_t)0xFE07); -static BLEUUID itagUUID((uint16_t)0xffe0); -static BLEUUID miThermUUID(uint16_t(0x181A)); -static BLEUUID trackrUUID((uint16_t)0x0F3E); -static BLEUUID vanmoofUUID(0x6acc5540, 0xe631, 0x4069, 0x944db8ca7598ad50); -static BLEUUID tractiveUUID(0x20130001, 0x0719, 0x4b6e, 0xbe5d158ab92fa5a4); +const BLEUUID eddystoneUUID((uint16_t)0xFEAA); +const BLEUUID tileUUID((uint16_t)0xFEED); +const BLEUUID exposureUUID((uint16_t)0xFD6F); +const BLEUUID smartTagUUID((uint16_t)0xFD5A); +const BLEUUID sonosUUID((uint16_t)0xFE07); +const BLEUUID itagUUID((uint16_t)0xffe0); +const BLEUUID miThermUUID(uint16_t(0x181A)); +const BLEUUID trackrUUID((uint16_t)0x0F3E); +const BLEUUID vanmoofUUID(0x6acc5540, 0xe631, 0x4069, 0x944db8ca7598ad50); +const BLEUUID tractiveUUID(0x20130001, 0x0719, 0x4b6e, 0xbe5d158ab92fa5a4); -static BLEUUID nutUUID((uint16_t)0x1803); +const BLEUUID nutUUID((uint16_t)0x1803); -static BLEUUID fitbitUUID(0xadabfb00, 0x6e7d, 0x4601, 0xbda2bffaa68956ba); +const BLEUUID fitbitUUID(0xadabfb00, 0x6e7d, 0x4601, 0xbda2bffaa68956ba); -static BLEUUID roomAssistantService(0x5403c8a7, 0x5c96, 0x47e9, 0x9ab859e373d875a7); -static BLEUUID rootAssistantCharacteristic(0x21c46f33, 0xe813, 0x4407, 0x86012ad281030052); +const BLEUUID roomAssistantService(0x5403c8a7, 0x5c96, 0x47e9, 0x9ab859e373d875a7); +const BLEUUID rootAssistantCharacteristic(0x21c46f33, 0xe813, 0x4407, 0x86012ad281030052); -static BLEUUID meaterService(0xa75cc7fc, 0xc956, 0x488f, 0xac2a2dbc08b63a04); -static BLEUUID meaterCharacteristic(0x7edda774, 0x045e, 0x4bbf, 0x909b45d1991a2876); +const BLEUUID meaterService(0xa75cc7fc, 0xc956, 0x488f, 0xac2a2dbc08b63a04); +const BLEUUID meaterCharacteristic(0x7edda774, 0x045e, 0x4bbf, 0x909b45d1991a2876); -static BLEUUID genericAccessService(uint16_t(0x1800)); -static BLEUUID nameChar(uint16_t(0x2A00)); +const BLEUUID genericAccessService(uint16_t(0x1800)); +const BLEUUID nameChar(uint16_t(0x2A00)); -static BLEUUID deviceInformationService(uint16_t(0x180A)); -static BLEUUID modelChar(uint16_t(0x2A24)); -static BLEUUID fwRevChar(uint16_t(0x2A26)); -static BLEUUID hwRevChar(uint16_t(0x2A27)); -static BLEUUID manufChar(uint16_t(0x2A29)); +const BLEUUID deviceInformationService(uint16_t(0x180A)); +const BLEUUID modelChar(uint16_t(0x2A24)); +const BLEUUID fwRevChar(uint16_t(0x2A26)); +const BLEUUID hwRevChar(uint16_t(0x2A27)); +const BLEUUID manufChar(uint16_t(0x2A29)); static int median_of_3(int a, int b, int c) { diff --git a/src/Enrollment.cpp b/src/Enrollment.cpp index 32226db..25968fa 100644 --- a/src/Enrollment.cpp +++ b/src/Enrollment.cpp @@ -181,9 +181,7 @@ namespace Enrollment return true; } - void Setup() - { - //NimBLEDevice::setOwnAddrType(BLE_ADDR_RANDOM, true); + void Setup() { NimBLEDevice::setSecurityIOCap(BLE_HS_IO_NO_INPUT_OUTPUT); NimBLEDevice::setSecurityAuth(true, true, true); @@ -272,7 +270,7 @@ namespace Enrollment if (command == "enroll") { id = pay.equals("PRESS") ? "" : pay; - enrolling = !enrolling; + enrolling = true; return true; } return false; diff --git a/src/HttpServer.cpp b/src/HttpServer.cpp index 1794ed1..0a7ee60 100644 --- a/src/HttpServer.cpp +++ b/src/HttpServer.cpp @@ -15,8 +15,21 @@ namespace HttpServer { - bool deserializeState(JsonObject root ){return false;} - bool deserializeConfig(JsonObject doc, bool fromFS = false){return false;} + void serializeConfigs(JsonObject& root) + { + JsonArray devices = root.createNestedArray("configs"); + + auto f = BleFingerprintCollection::getConfigs(); + for (auto it = f.begin(); it != f.end(); ++it) + { + JsonObject node = devices.createNestedObject(); + node["id"]=it->id; + node["alias"] = it->alias; + node["name"]=it->name; + node["rss@1m"]=it->calRssi; + } + } + void serializeDevices(JsonObject& root) { JsonArray devices = root.createNestedArray("devices"); @@ -31,20 +44,30 @@ namespace HttpServer } } + bool servingJson = false; void serveJson(AsyncWebServerRequest* request) { - byte subJson = 0; + if (servingJson) request->send(429, "Too Many Requests", "Too Many Requests"); + servingJson = true; const String& url = request->url(); + short subJson = 0; if (url.indexOf("devices") > 0) subJson = 1; + if (url.indexOf("configs") > 0) subJson = 2; + AsyncJsonResponse* response = new AsyncJsonResponse(false, JSON_BUFFER_SIZE); JsonObject root = response->getRoot(); - //root["room"] = room; + root["room"] = room; switch (subJson) { case 1: - serializeDevices(root); break; + serializeDevices(root); + break; + case 2: + serializeConfigs(root); + break; } response->setLength(); request->send(response); + servingJson = false; } void serializeConfig(){}; @@ -60,14 +83,10 @@ namespace HttpServer request->send(response); }); - server->on("/devices", HTTP_GET, [](AsyncWebServerRequest *request) - { serveIndexHtml(request); }); - server->on("/bundle.css", HTTP_GET, [](AsyncWebServerRequest *request) - { serveBundleCss(request); }); - server->on("/index.js", HTTP_GET, [](AsyncWebServerRequest *request) - { serveIndexJs(request); }); - server->on("/json", HTTP_GET, [](AsyncWebServerRequest *request) - { serveJson(request); }); + server->on("/devices", HTTP_GET, serveIndexHtml); + server->on("/bundle.css", HTTP_GET, serveBundleCss); + server->on("/index.js", HTTP_GET, serveIndexJs); + server->on("/json", HTTP_GET, serveJson); AsyncCallbackJsonWebHandler *handler = new AsyncCallbackJsonWebHandler("/json", [](AsyncWebServerRequest *request, JsonVariant &json) { @@ -83,25 +102,9 @@ namespace HttpServer return; } const String& url = request->url(); - isConfig = url.indexOf("cfg") > -1; - if (!isConfig) - verboseResponse = deserializeState(root); - else - verboseResponse = deserializeConfig(root); } - if (verboseResponse) - { - if (!isConfig) - { - serveJson(request); - return; //if JSON contains "v" - } - else - { - serializeConfig(); //Save new settings to FS - } - } - request->send(200, "application/json", F("{\"success\":true}")); }); + request->send(200, "application/json", F("{\"success\":true}")); + }); server->addHandler(handler); } } diff --git a/src/ui_bundle_css.h b/src/ui_bundle_css.h index 81ecf28..5831b65 100644 --- a/src/ui_bundle_css.h +++ b/src/ui_bundle_css.h @@ -1,37 +1,193 @@ /* * Binary array for the Web UI. - * gzip is used for smaller size and improved speeds. - * - * Please see https://kno.wled.ge/advanced/custom-features/#changing-web-ui - * to find out how to easily modify the web UI source! + * Gzip is used for smaller size and improved speeds. */ // Autogenerated do not edit!! - const uint16_t BUNDLE_CSS_L = 356; + const uint16_t BUNDLE_CSS_L = 2904; const uint8_t BUNDLE_CSS[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x95, 0x51, 0xdb, 0x4a, 0x03, 0x31, - 0x10, 0x7d, 0xef, 0x57, 0x04, 0x44, 0x50, 0x68, 0xca, 0xb6, 0xb4, 0x56, 0xd2, 0x27, 0xf1, 0x45, - 0xc1, 0x37, 0xbf, 0x60, 0x36, 0x99, 0xdd, 0x1d, 0x9b, 0x4d, 0x96, 0x64, 0x7a, 0xa7, 0xff, 0x6e, - 0xb2, 0x5a, 0xb5, 0x0a, 0x8a, 0x04, 0x12, 0x32, 0x73, 0xce, 0xcc, 0x39, 0x33, 0x2d, 0x90, 0x1b, - 0xc5, 0x35, 0x5a, 0x46, 0xd9, 0xd4, 0x85, 0xaf, 0xe6, 0x87, 0x0e, 0x8c, 0x21, 0x57, 0xab, 0x71, - 0xc0, 0xf6, 0xd8, 0x8c, 0xbf, 0x65, 0x19, 0xb7, 0x2c, 0xc1, 0x52, 0xed, 0x94, 0x46, 0xc7, 0x18, - 0x8e, 0x2a, 0x78, 0xcf, 0xe2, 0x30, 0x10, 0x42, 0x7b, 0xeb, 0x83, 0x8c, 0xba, 0xc1, 0x16, 0x95, - 0x48, 0x98, 0x86, 0x85, 0x81, 0xb0, 0x5c, 0xa4, 0x5c, 0xe5, 0x1d, 0xcb, 0x0a, 0x5a, 0xb2, 0x3b, - 0x25, 0x1e, 0x33, 0x71, 0x28, 0xee, 0xd6, 0xe8, 0x28, 0xbd, 0x0f, 0x68, 0xd7, 0xc8, 0xa4, 0x21, - 0x85, 0x02, 0x81, 0x1d, 0x8a, 0x08, 0x2e, 0xca, 0x88, 0x81, 0xaa, 0x0f, 0x6e, 0xa4, 0x7d, 0x2a, - 0x3a, 0xbe, 0xe9, 0xb6, 0x39, 0x64, 0xc9, 0x25, 0x49, 0x98, 0x5b, 0x28, 0x31, 0x99, 0xe6, 0xe0, - 0x49, 0x80, 0x12, 0xa1, 0x2e, 0xe1, 0x6a, 0x32, 0x9b, 0x0d, 0xc5, 0xe7, 0x55, 0x8c, 0x6e, 0xe7, - 0xd7, 0x99, 0x59, 0x82, 0x5e, 0xd6, 0xc1, 0xaf, 0x9c, 0x91, 0xef, 0xf0, 0x8b, 0xc9, 0x34, 0x9f, - 0xbe, 0xc2, 0x5b, 0xab, 0x9d, 0xe3, 0x06, 0x23, 0x45, 0x25, 0x9c, 0x77, 0x98, 0x59, 0xbd, 0xed, - 0x80, 0xce, 0x24, 0x4d, 0x69, 0x36, 0xc2, 0x77, 0x4c, 0x6d, 0x52, 0xf4, 0x84, 0x35, 0x95, 0x64, - 0x89, 0x77, 0x19, 0x25, 0x37, 0x58, 0x2e, 0x29, 0xf9, 0xec, 0xab, 0xb4, 0x69, 0x2e, 0x4d, 0x8f, - 0x06, 0xc7, 0xc9, 0x16, 0x41, 0x44, 0xd3, 0xc3, 0x5a, 0xbf, 0x97, 0x3e, 0x6e, 0x7f, 0xe0, 0xea, - 0x00, 0xbb, 0xa8, 0xc1, 0xe2, 0xd7, 0x62, 0x7d, 0xeb, 0xec, 0x5e, 0x82, 0x79, 0x59, 0xc5, 0xe4, - 0x77, 0x5c, 0x14, 0x97, 0x8b, 0xc1, 0x71, 0xc0, 0x50, 0x5a, 0x3c, 0xed, 0xc7, 0x44, 0xa8, 0xe6, - 0x7c, 0xfe, 0x3b, 0x6c, 0xc8, 0x70, 0xa3, 0x32, 0xfe, 0x38, 0xa2, 0xf8, 0xec, 0xc3, 0xdf, 0x14, - 0xbd, 0x0a, 0x31, 0x4d, 0xa5, 0xf3, 0xd4, 0x6f, 0x37, 0xd1, 0xee, 0x2d, 0xe9, 0xe5, 0x7f, 0x79, - 0x1c, 0xce, 0xf3, 0x82, 0x1b, 0x11, 0xd1, 0xa2, 0xfe, 0x45, 0xe2, 0x2b, 0x4d, 0xc8, 0x83, 0x61, - 0x8d, 0x02, 0x00, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xed, 0x1a, 0x5d, 0x6f, 0xdc, 0xb8, + 0xf1, 0xb9, 0xf7, 0x2b, 0xd4, 0x0b, 0x02, 0xd8, 0x01, 0xa5, 0x48, 0xda, 0xd5, 0xae, 0xad, 0x45, + 0x8b, 0x5e, 0x0f, 0x77, 0xe8, 0x01, 0x97, 0x7b, 0xb8, 0xb4, 0x4f, 0x49, 0x1e, 0xb8, 0x12, 0x77, + 0xc5, 0x58, 0x12, 0x55, 0x4a, 0xb2, 0x77, 0xad, 0x6e, 0x7f, 0x7b, 0x87, 0xa4, 0x48, 0x51, 0x5a, + 0xd9, 0xeb, 0xb4, 0x3d, 0xa0, 0x05, 0x62, 0xc4, 0xb1, 0x38, 0x33, 0x1c, 0x0e, 0xe7, 0x8b, 0x9c, + 0x91, 0x7e, 0xf7, 0xf6, 0xcd, 0xef, 0x9d, 0x06, 0xd3, 0xfc, 0x81, 0x96, 0x69, 0x52, 0xd7, 0xce, + 0xfd, 0xc2, 0x0b, 0xbc, 0xb5, 0xf3, 0x0f, 0xe7, 0xdd, 0x4f, 0x7f, 0x75, 0x7e, 0xa6, 0x09, 0x29, + 0x6b, 0x02, 0xa3, 0xac, 0x69, 0xaa, 0x3a, 0x7e, 0xfb, 0xd6, 0x22, 0xf5, 0x12, 0x56, 0xbc, 0x79, + 0xfb, 0x06, 0xc5, 0x78, 0xd7, 0x10, 0x8e, 0xe2, 0x2d, 0xd9, 0x31, 0x4e, 0xba, 0x2d, 0xe3, 0x29, + 0xe1, 0xb1, 0xef, 0xd4, 0x2c, 0xa7, 0xa9, 0xf3, 0x8a, 0x44, 0x64, 0x4d, 0xb6, 0x9b, 0x2d, 0x3b, + 0xb8, 0x35, 0x7d, 0xa4, 0xe5, 0x3e, 0x56, 0x14, 0x2e, 0x40, 0x4e, 0x93, 0xb9, 0xae, 0xdb, 0x3c, + 0xb8, 0x09, 0x2b, 0x1b, 0x52, 0x36, 0xf1, 0xb7, 0xdf, 0x9e, 0xb2, 0xa6, 0xc8, 0x3b, 0xf7, 0x81, + 0x6c, 0xef, 0x68, 0xe3, 0x36, 0xe4, 0xd0, 0x08, 0x16, 0xc4, 0xc5, 0xe9, 0xe7, 0xb6, 0x6e, 0xe2, + 0xc0, 0xf7, 0x5f, 0x6f, 0x76, 0x40, 0xed, 0xee, 0x70, 0x41, 0xf3, 0x63, 0xdc, 0x52, 0xb7, 0xc6, + 0x65, 0xed, 0xd6, 0x84, 0xd3, 0x1d, 0xaa, 0x8f, 0x75, 0x43, 0x0a, 0xb7, 0xa5, 0xc8, 0xc5, 0x55, + 0x95, 0x13, 0x57, 0x01, 0xd0, 0x9f, 0x73, 0x5a, 0xde, 0xbd, 0xc3, 0xc9, 0x7b, 0x39, 0xfc, 0x11, + 0xe6, 0xa3, 0xf7, 0x64, 0xcf, 0x88, 0xf3, 0xb7, 0x9f, 0xd0, 0xaf, 0x6c, 0xcb, 0x1a, 0x86, 0xfe, + 0x42, 0xf2, 0x7b, 0xd2, 0xd0, 0x04, 0x3b, 0xbf, 0x90, 0x96, 0xa0, 0xef, 0x38, 0xc5, 0x39, 0xfa, + 0x05, 0x30, 0xce, 0x7b, 0xe0, 0x8f, 0xac, 0x45, 0xbe, 0x13, 0x9c, 0x9d, 0xef, 0x59, 0xce, 0xb8, + 0xf3, 0x43, 0xc1, 0x3e, 0x53, 0xc3, 0x6b, 0x3a, 0x7c, 0x7f, 0x2c, 0xb6, 0xac, 0xe7, 0x62, 0xd1, + 0x6f, 0x40, 0x1a, 0xe2, 0x66, 0x84, 0xee, 0x33, 0xd8, 0x91, 0x17, 0x6d, 0xdc, 0x82, 0x3d, 0xba, + 0x0d, 0xde, 0xca, 0xad, 0xc6, 0xcb, 0x8d, 0xcb, 0xec, 0xd1, 0xf0, 0x78, 0xda, 0xb2, 0xf4, 0xd8, + 0xd9, 0xb3, 0x69, 0x99, 0x81, 0x4c, 0xcd, 0xa6, 0xc0, 0x7c, 0x4f, 0xcb, 0xd8, 0x3f, 0x65, 0xbc, + 0xb7, 0x86, 0xdb, 0xb0, 0xca, 0x7d, 0xa0, 0x69, 0x93, 0xc5, 0x41, 0x75, 0xd8, 0x24, 0x62, 0x79, + 0x43, 0xde, 0xcf, 0xf6, 0x4f, 0x78, 0xbb, 0xe5, 0xf1, 0x03, 0x00, 0xc9, 0xd5, 0x87, 0x86, 0x36, + 0x39, 0xf9, 0x74, 0x3d, 0x56, 0x7e, 0x4a, 0x12, 0xc6, 0x71, 0x43, 0x59, 0x19, 0xb7, 0x25, 0xb0, + 0x15, 0x8b, 0x3b, 0x29, 0x6b, 0x1a, 0x92, 0x6e, 0x2e, 0x11, 0x9c, 0xb2, 0x00, 0x65, 0x21, 0xca, + 0x16, 0x28, 0x5b, 0xa2, 0x2c, 0x42, 0xd9, 0xaa, 0x93, 0xa6, 0x93, 0x9b, 0xd1, 0xa2, 0x48, 0xc8, + 0xc3, 0x68, 0x37, 0x27, 0xdc, 0x8d, 0xc5, 0x9d, 0x2e, 0xa4, 0xe9, 0xb6, 0xa8, 0x6e, 0x38, 0x2b, + 0xf7, 0x9d, 0xcd, 0x04, 0x34, 0x0e, 0x62, 0x9c, 0x12, 0x96, 0x12, 0x74, 0xb7, 0x4d, 0x51, 0xc5, + 0x09, 0x58, 0xaf, 0xa8, 0xba, 0x89, 0xdb, 0x14, 0xac, 0x64, 0x75, 0x85, 0x13, 0x82, 0xde, 0xff, + 0xf8, 0x0e, 0x9e, 0xdd, 0x5f, 0xc9, 0xbe, 0xcd, 0x31, 0x47, 0xef, 0x48, 0x99, 0x33, 0x04, 0x20, + 0x9c, 0x30, 0xf4, 0x3d, 0x2b, 0xc1, 0xa9, 0x71, 0x8d, 0x7e, 0xa6, 0x5b, 0xa2, 0x96, 0x77, 0x04, + 0x35, 0x20, 0x5a, 0x4e, 0x09, 0x07, 0x6f, 0x79, 0x40, 0x86, 0xd5, 0x66, 0xd8, 0x5f, 0x40, 0x8a, + 0x53, 0x5d, 0xe0, 0x3c, 0xb7, 0xf6, 0x7c, 0xe3, 0xbf, 0x3e, 0xd5, 0x2d, 0x48, 0xdd, 0x56, 0x16, + 0x74, 0x1d, 0xbd, 0x1e, 0x79, 0x84, 0xbf, 0xa9, 0x58, 0x4d, 0xe5, 0x46, 0x39, 0xc9, 0x61, 0xc9, + 0x7b, 0xb2, 0xb9, 0x27, 0x5c, 0xf8, 0x66, 0xee, 0xe2, 0x9c, 0xee, 0xcb, 0x78, 0x8b, 0x6b, 0x22, + 0xa6, 0x08, 0x6e, 0x60, 0xef, 0xa6, 0x61, 0x45, 0xec, 0x7a, 0x61, 0x24, 0xd6, 0x04, 0xde, 0x60, + 0x7a, 0x18, 0x8a, 0x11, 0xf8, 0x4e, 0xae, 0xe3, 0x13, 0xa2, 0x2c, 0xcf, 0x71, 0x55, 0x93, 0x58, + 0x3f, 0x6c, 0x06, 0xc4, 0x54, 0xdb, 0x10, 0xef, 0x22, 0x20, 0xfd, 0xd3, 0xb6, 0x05, 0xee, 0x25, + 0xa2, 0x65, 0xd5, 0x36, 0x88, 0x55, 0xcd, 0x9e, 0xb3, 0xb6, 0x42, 0xb0, 0x3c, 0x49, 0x1a, 0x24, + 0x48, 0x31, 0x27, 0x53, 0x7b, 0xd9, 0x9a, 0x1e, 0xc1, 0x94, 0x66, 0x4c, 0x0c, 0x8f, 0xcd, 0xbe, + 0x79, 0xce, 0xb1, 0x37, 0x15, 0x4e, 0x53, 0x91, 0x49, 0x8c, 0x44, 0x4a, 0x84, 0x4e, 0x4a, 0xdb, + 0x70, 0x08, 0x4f, 0x48, 0x27, 0x45, 0x5c, 0x32, 0xd0, 0xca, 0x87, 0xe6, 0x58, 0x91, 0x3f, 0x28, + 0xba, 0x4f, 0x48, 0x8d, 0x38, 0xa9, 0x49, 0xa3, 0x07, 0xa0, 0xb6, 0x82, 0xc2, 0x48, 0x91, 0x18, + 0x8f, 0x87, 0x9c, 0x41, 0x30, 0xb0, 0x4a, 0x48, 0xac, 0x30, 0x9b, 0x2d, 0x4e, 0xee, 0xc4, 0x8e, + 0xcb, 0xb4, 0x57, 0x92, 0x5c, 0xa9, 0x82, 0x3d, 0x97, 0x8d, 0x8d, 0xa4, 0x05, 0xde, 0x13, 0xb5, + 0x78, 0x2c, 0xa3, 0x79, 0xc7, 0x92, 0xb6, 0xe6, 0x20, 0x70, 0xc7, 0xda, 0x46, 0x6c, 0x2c, 0xc6, + 0x6d, 0xc3, 0x7a, 0x24, 0x78, 0x1f, 0x2d, 0xef, 0xc1, 0x94, 0x69, 0x27, 0x73, 0x64, 0x86, 0x53, + 0xf6, 0xa0, 0x66, 0x57, 0x9c, 0xed, 0x41, 0xd4, 0xba, 0x7b, 0xca, 0xe2, 0x71, 0xac, 0xa5, 0xa5, + 0x65, 0x09, 0xb6, 0xab, 0x2b, 0x5a, 0xba, 0xbd, 0x4a, 0x06, 0x1c, 0x2c, 0x3a, 0xc6, 0x75, 0xbd, + 0x5e, 0xa5, 0x14, 0xbd, 0x12, 0x60, 0xaf, 0x49, 0xf6, 0x69, 0x6e, 0xf7, 0x42, 0xa9, 0x3b, 0x4a, + 0xf2, 0x74, 0xd3, 0x4b, 0xef, 0xb2, 0xdd, 0x0e, 0xf4, 0x17, 0xbb, 0x61, 0x75, 0xb0, 0x44, 0x50, + 0x2c, 0xac, 0xd0, 0x9c, 0x63, 0xa6, 0xb4, 0x62, 0xe6, 0xec, 0x28, 0xe4, 0xe5, 0xb6, 0xca, 0x19, + 0x4e, 0xdd, 0x8b, 0xfa, 0x17, 0x6e, 0x62, 0xc2, 0xbd, 0x6e, 0x0b, 0x70, 0x87, 0x63, 0x97, 0xd2, + 0xba, 0xca, 0xf1, 0x31, 0xce, 0x69, 0x0d, 0x5a, 0x80, 0x84, 0x7e, 0xda, 0xe6, 0x2c, 0xb9, 0xfb, + 0x7b, 0xcb, 0x1a, 0x82, 0xd2, 0x14, 0xa5, 0x39, 0xda, 0xd1, 0x7d, 0x0b, 0x71, 0x7f, 0x96, 0x80, + 0x50, 0xc6, 0x51, 0x25, 0x52, 0x42, 0x67, 0x32, 0xa6, 0xdc, 0x27, 0xec, 0xed, 0x1c, 0x82, 0x72, + 0xb2, 0x27, 0x65, 0xda, 0x0d, 0xae, 0x57, 0x90, 0xb2, 0x45, 0x90, 0xd1, 0xdb, 0xbc, 0x93, 0x8b, + 0xd7, 0xcd, 0x31, 0x57, 0x1b, 0x9c, 0x73, 0x54, 0x13, 0x1d, 0x60, 0x50, 0xe1, 0xf8, 0xda, 0xa4, + 0x27, 0x19, 0x4c, 0xb1, 0xf2, 0x05, 0xd8, 0x49, 0x42, 0x32, 0x99, 0xb3, 0x4c, 0x38, 0x9d, 0xa3, + 0xfa, 0x00, 0x7b, 0x75, 0x9b, 0xe0, 0x05, 0xde, 0x6d, 0x18, 0x24, 0x1b, 0xda, 0x1c, 0xe3, 0x40, + 0xb3, 0x9a, 0xe7, 0xf2, 0x12, 0x06, 0x1f, 0x38, 0xcb, 0x87, 0x58, 0xe9, 0x0d, 0x92, 0xb4, 0xbc, + 0x06, 0xea, 0x8a, 0x51, 0x38, 0x97, 0xf9, 0x29, 0x06, 0x8d, 0x8b, 0x44, 0x92, 0x6a, 0x44, 0x4a, + 0x76, 0xb8, 0xcd, 0x21, 0x51, 0xb7, 0x29, 0x65, 0x28, 0xc1, 0xe0, 0xcc, 0x35, 0x22, 0xc5, 0x96, + 0xa4, 0x88, 0xee, 0x38, 0x2e, 0x08, 0xa2, 0xc5, 0x1e, 0xb1, 0xed, 0x67, 0x91, 0x24, 0xea, 0xfb, + 0x3d, 0xba, 0xa7, 0x29, 0x61, 0xc6, 0x70, 0xd2, 0x5c, 0xd3, 0x9c, 0x56, 0xd0, 0x34, 0xcd, 0xc9, + 0x49, 0x4c, 0x54, 0xd4, 0x96, 0xc7, 0x82, 0x76, 0x0f, 0xfa, 0x30, 0x83, 0xec, 0x71, 0x3a, 0xbb, + 0x81, 0xc8, 0x5b, 0x44, 0x9f, 0xcd, 0x44, 0x26, 0x06, 0x03, 0xb8, 0x07, 0x30, 0xc6, 0x1c, 0xfc, + 0xa8, 0xe1, 0x32, 0x96, 0x21, 0xc1, 0x92, 0x81, 0x74, 0x00, 0x19, 0x2a, 0xce, 0x1a, 0x18, 0xeb, + 0x51, 0x7d, 0x47, 0x1e, 0x06, 0x72, 0x39, 0x32, 0x94, 0x35, 0x6c, 0x46, 0xf0, 0x0a, 0xec, 0xe1, + 0x51, 0x0f, 0x2b, 0x5c, 0x02, 0xce, 0x19, 0x06, 0x47, 0x33, 0xa0, 0x25, 0x04, 0xd1, 0x23, 0x83, + 0x24, 0xee, 0xe8, 0xa9, 0x60, 0x95, 0xdc, 0xad, 0x4b, 0x5c, 0x81, 0x8f, 0x71, 0x9a, 0x34, 0x25, + 0xe4, 0x84, 0x18, 0x92, 0xc3, 0x81, 0x42, 0xe2, 0x3a, 0x2a, 0x2a, 0xd8, 0x16, 0x2d, 0x71, 0x6e, + 0x26, 0xc1, 0x31, 0x95, 0x91, 0xd4, 0x7d, 0x24, 0x9c, 0x69, 0x58, 0xd9, 0x16, 0x10, 0x3a, 0x89, + 0xab, 0xe2, 0x61, 0x0a, 0xed, 0x35, 0x72, 0x46, 0xcc, 0x71, 0x22, 0x8f, 0x9f, 0x1e, 0x2e, 0xd2, + 0x18, 0x64, 0x1b, 0x11, 0xff, 0x36, 0x44, 0xa5, 0x84, 0xde, 0x2c, 0x3e, 0xdc, 0x31, 0xce, 0x50, + 0xbd, 0xcf, 0xed, 0x76, 0x3b, 0x0b, 0xa7, 0x80, 0x7c, 0xbf, 0xc5, 0x57, 0xd1, 0x2d, 0x0a, 0x16, + 0x3e, 0x0a, 0x97, 0x2b, 0xe4, 0x45, 0xd7, 0xe7, 0xf3, 0xfb, 0xc4, 0xe8, 0x3b, 0xbe, 0xf3, 0xca, + 0x87, 0x1f, 0x8b, 0x62, 0x1e, 0xf5, 0x1c, 0x54, 0x2d, 0x4c, 0xd2, 0x29, 0x76, 0x9b, 0xb7, 0x5c, + 0xef, 0x6b, 0xcb, 0x85, 0xcb, 0x49, 0x5d, 0xf7, 0x10, 0x71, 0x33, 0xe5, 0xb8, 0x36, 0x3b, 0xdf, + 0x73, 0x7c, 0x94, 0x86, 0xd5, 0x80, 0xac, 0x25, 0xda, 0x45, 0x7a, 0x08, 0xa4, 0x76, 0xf0, 0x6c, + 0x63, 0x15, 0xdc, 0xb4, 0xdc, 0xc2, 0xd6, 0xa4, 0xa2, 0x58, 0x0f, 0x52, 0x0e, 0x97, 0xb4, 0x5e, + 0x68, 0x2d, 0x02, 0x1c, 0x2a, 0x12, 0x3c, 0x92, 0xcb, 0x00, 0xcf, 0x04, 0x34, 0xa8, 0xa9, 0xa4, + 0x06, 0x71, 0x26, 0xb2, 0xc1, 0x9c, 0xcb, 0x6e, 0x50, 0xe3, 0x4d, 0x18, 0xb0, 0xce, 0x1b, 0x53, + 0xf8, 0x74, 0x97, 0x03, 0x42, 0x6d, 0xd7, 0xca, 0xff, 0x1a, 0xf5, 0x35, 0x66, 0xbf, 0xc6, 0xec, + 0xd7, 0x98, 0xfd, 0xdf, 0x8e, 0xd9, 0xaf, 0xb1, 0xfa, 0x35, 0x56, 0xbf, 0xc6, 0xea, 0xff, 0x43, + 0xac, 0x7a, 0x42, 0x3c, 0x0c, 0x95, 0x1a, 0xef, 0xac, 0x7b, 0xf2, 0x9f, 0x0a, 0x92, 0x52, 0xec, + 0x5c, 0x15, 0x50, 0x07, 0x2a, 0xf0, 0x6a, 0x09, 0x9e, 0x74, 0xdd, 0x59, 0xe4, 0xc3, 0xd5, 0x5a, + 0xe2, 0x4e, 0x33, 0x93, 0xd6, 0xab, 0x9b, 0x27, 0x27, 0x49, 0xdc, 0xdc, 0xa4, 0xc0, 0x0f, 0x97, + 0x4f, 0xce, 0x52, 0xc8, 0xd9, 0x69, 0xe1, 0xcd, 0xd3, 0x12, 0x2a, 0xe4, 0xec, 0xb4, 0x68, 0xb1, + 0x7a, 0x7a, 0x9a, 0x44, 0x9e, 0x4e, 0x9e, 0xee, 0xa7, 0x74, 0x67, 0x1d, 0x96, 0x93, 0x57, 0xb8, + 0xa2, 0xd2, 0xd0, 0x55, 0xa0, 0xac, 0x93, 0x3d, 0xb7, 0x70, 0x97, 0x1a, 0xe2, 0x06, 0x1c, 0x2a, + 0x4d, 0xaf, 0x38, 0xd8, 0x74, 0x6e, 0x4e, 0x76, 0xa6, 0x44, 0x91, 0x00, 0x3e, 0x94, 0xd9, 0x82, + 0x76, 0x35, 0x22, 0x0c, 0xbc, 0x08, 0x98, 0x8c, 0x49, 0x15, 0x0c, 0x88, 0x8f, 0x03, 0x71, 0xdf, + 0xd2, 0x19, 0x93, 0x8b, 0xae, 0x8e, 0x21, 0x3e, 0x18, 0xc1, 0x7a, 0xce, 0xe7, 0x7c, 0x15, 0x61, + 0xe3, 0x06, 0x7e, 0x67, 0x71, 0x08, 0x35, 0x87, 0x7c, 0x86, 0xc3, 0xc9, 0xdb, 0xe5, 0xe4, 0x60, + 0xea, 0x34, 0x31, 0x38, 0x79, 0x99, 0x48, 0x97, 0x84, 0x98, 0x16, 0x02, 0x78, 0xd6, 0x7d, 0x26, + 0xc0, 0xc0, 0xb8, 0x07, 0x69, 0xa6, 0x19, 0x6c, 0x61, 0xe8, 0x6b, 0x4a, 0xd0, 0x83, 0xbb, 0x0e, + 0xb5, 0x4b, 0xde, 0xf4, 0x90, 0x95, 0x06, 0x18, 0x9a, 0xe0, 0xe3, 0x5b, 0x4d, 0x15, 0x81, 0xdf, + 0x7a, 0xd2, 0xb0, 0xee, 0xae, 0xcd, 0xf3, 0xce, 0xf6, 0x28, 0x89, 0x12, 0x66, 0x75, 0xd7, 0x87, + 0xdc, 0x32, 0xf0, 0x8d, 0x6f, 0x84, 0x87, 0x70, 0x64, 0x0f, 0x9d, 0x79, 0x82, 0x0a, 0xd7, 0x93, + 0x4d, 0x30, 0x65, 0x35, 0xf5, 0x08, 0x7b, 0x63, 0xad, 0x36, 0x92, 0x24, 0x85, 0xdc, 0xa5, 0xe6, + 0xa4, 0x94, 0x13, 0x95, 0x9c, 0x01, 0xd4, 0x16, 0x65, 0x8f, 0x7f, 0xe0, 0xb8, 0xea, 0xcc, 0x53, + 0x2c, 0xfe, 0x3b, 0x79, 0xa2, 0xf5, 0x50, 0xbb, 0x09, 0x11, 0x35, 0x72, 0x27, 0x8b, 0x58, 0xd9, + 0x8d, 0xa8, 0x63, 0x05, 0x3a, 0x79, 0xa2, 0x65, 0x4d, 0x77, 0x47, 0x38, 0x62, 0x30, 0x6f, 0x3a, + 0x3d, 0xd2, 0xcd, 0x6e, 0xc9, 0x4e, 0xa2, 0x4e, 0x5e, 0x4a, 0x45, 0xcd, 0xeb, 0x1e, 0xff, 0x18, + 0x97, 0xac, 0xb9, 0xfa, 0x90, 0x41, 0x2d, 0x4c, 0xca, 0x4f, 0xd7, 0xff, 0x1c, 0x0f, 0xd5, 0x31, + 0xac, 0x69, 0x5d, 0x4e, 0x20, 0x87, 0xd4, 0xe2, 0xe8, 0x34, 0xed, 0x75, 0xe1, 0x36, 0xbd, 0x4e, + 0x20, 0x23, 0x25, 0x57, 0x41, 0x75, 0x78, 0x73, 0x8f, 0xf9, 0xd5, 0xec, 0xc4, 0xeb, 0xeb, 0xcd, + 0x59, 0xaf, 0xd8, 0xcc, 0xba, 0x0a, 0x1c, 0xd7, 0x79, 0x66, 0xea, 0xb5, 0x11, 0x5a, 0xe4, 0x3f, + 0x37, 0xf4, 0xfd, 0x2f, 0x90, 0xdd, 0xb4, 0x1f, 0xc6, 0x1d, 0x48, 0x38, 0xb4, 0xae, 0xc2, 0xf0, + 0xd6, 0x09, 0x17, 0x01, 0xfc, 0x46, 0x6f, 0xa7, 0xcb, 0xf7, 0xd3, 0xc4, 0xda, 0x0f, 0x19, 0xa8, + 0x5a, 0xf6, 0x5c, 0xdd, 0x92, 0x49, 0xeb, 0x48, 0x88, 0x3c, 0x72, 0x45, 0x47, 0x46, 0x59, 0x48, + 0x36, 0xe7, 0xe0, 0xc8, 0xce, 0xf7, 0xba, 0x07, 0xca, 0x71, 0x4a, 0xdb, 0x3a, 0xee, 0x1d, 0x4f, + 0xe3, 0xa5, 0xa3, 0x8d, 0x29, 0x6e, 0xe1, 0x07, 0x72, 0x86, 0x21, 0x29, 0xd2, 0x29, 0x8b, 0xc5, + 0x7a, 0xc4, 0x64, 0x8a, 0x0e, 0x15, 0x56, 0x41, 0x35, 0xd2, 0x34, 0xe4, 0x01, 0xb1, 0x77, 0xa5, + 0xc8, 0xfd, 0xdd, 0x6a, 0x6f, 0x2b, 0x65, 0xda, 0x75, 0x94, 0x8a, 0x89, 0x22, 0xa7, 0xff, 0x1d, + 0x14, 0x33, 0x4c, 0x13, 0x4a, 0x81, 0x91, 0x34, 0x06, 0x04, 0xca, 0x8b, 0xb9, 0x2e, 0x17, 0x4e, + 0xb8, 0x5c, 0xc2, 0xef, 0xea, 0x19, 0xae, 0x70, 0xac, 0xbb, 0xd1, 0x17, 0x30, 0x5d, 0xdc, 0x3a, + 0xab, 0x1b, 0xf8, 0x77, 0x49, 0xd0, 0xf0, 0x0b, 0x78, 0xce, 0xf9, 0xc5, 0x19, 0x57, 0x38, 0xd4, + 0xc9, 0x97, 0x48, 0x1a, 0xdd, 0x3a, 0x70, 0x43, 0x7a, 0x6e, 0xf7, 0x95, 0x1b, 0x9a, 0x06, 0x60, + 0xef, 0x35, 0x95, 0x1b, 0x0c, 0xa0, 0x50, 0xc3, 0x96, 0x06, 0xa6, 0x32, 0x69, 0x75, 0x74, 0x6f, + 0x34, 0x48, 0x27, 0xf4, 0x50, 0x64, 0x69, 0x0d, 0x93, 0xd9, 0x58, 0x91, 0x8a, 0x73, 0x42, 0x83, + 0xed, 0x83, 0x42, 0xc3, 0xc6, 0x27, 0x05, 0x90, 0x47, 0x53, 0xf2, 0x70, 0x96, 0x5e, 0x0b, 0x07, + 0x9a, 0x5e, 0x4e, 0x65, 0x59, 0x4d, 0x65, 0x59, 0x69, 0xe6, 0xfe, 0x98, 0xb9, 0x3f, 0x61, 0xeb, + 0x4b, 0x86, 0xfe, 0x94, 0x9f, 0x3f, 0x62, 0xa6, 0x88, 0x16, 0x53, 0x22, 0x6f, 0x1d, 0x4d, 0x97, + 0xf5, 0xd6, 0x66, 0x57, 0x8b, 0xf1, 0xc2, 0x13, 0x62, 0xb5, 0xba, 0x21, 0x3f, 0x0e, 0x56, 0x30, + 0xdc, 0xc3, 0x73, 0xee, 0xa1, 0xe1, 0x1e, 0x4c, 0xb8, 0xcf, 0xa9, 0xcc, 0xd6, 0xd8, 0x19, 0xf7, + 0x73, 0xe6, 0x86, 0xf7, 0x72, 0x62, 0x8f, 0x19, 0x63, 0x48, 0x52, 0xf9, 0xb6, 0x42, 0x90, 0xa8, + 0xf7, 0x16, 0xaa, 0xf3, 0x29, 0xc6, 0x3d, 0xaa, 0x3f, 0x4c, 0x2c, 0xa4, 0x3e, 0x4b, 0x24, 0x48, + 0xb2, 0xb2, 0xb1, 0x12, 0xd0, 0x23, 0xc3, 0x83, 0xfd, 0xae, 0xa9, 0xf7, 0x20, 0xfb, 0x9d, 0x4a, + 0x68, 0x89, 0xb0, 0x1f, 0x91, 0x06, 0xe1, 0x19, 0x71, 0xa0, 0x15, 0x2d, 0xe9, 0x0f, 0xb5, 0x45, + 0xdf, 0xdb, 0x65, 0x44, 0x3d, 0x90, 0x2e, 0x26, 0x62, 0xdc, 0x9c, 0x53, 0x87, 0x5a, 0xcd, 0xea, + 0xfd, 0x6e, 0x61, 0xf3, 0x9e, 0x21, 0x37, 0x7e, 0x2c, 0xc9, 0xc4, 0xfb, 0xbd, 0xd1, 0x0b, 0xbf, + 0xb5, 0xef, 0xf7, 0xa8, 0x92, 0xf1, 0x02, 0xe7, 0x23, 0xe4, 0xd2, 0x20, 0xc5, 0x95, 0xb1, 0x2d, + 0x46, 0xc8, 0xc8, 0x20, 0x73, 0xa9, 0x58, 0x1b, 0xb7, 0x10, 0xb8, 0xb6, 0xaa, 0x08, 0x4f, 0x70, + 0x4d, 0xa6, 0xaf, 0x99, 0x0c, 0xe2, 0xe4, 0xe5, 0x04, 0x2b, 0x33, 0xc3, 0x4d, 0xf2, 0x00, 0xc7, + 0xc0, 0x58, 0xf2, 0x55, 0x18, 0x0d, 0x24, 0x51, 0x37, 0xbb, 0x2d, 0xc9, 0x5b, 0xe6, 0xc3, 0x95, + 0xce, 0x5c, 0x12, 0x34, 0xe4, 0xae, 0x21, 0x61, 0xad, 0x23, 0xe7, 0x26, 0x72, 0x6e, 0x6f, 0x87, + 0x74, 0x65, 0x93, 0x8a, 0x84, 0x35, 0x70, 0xbb, 0xb9, 0xc8, 0x0d, 0xf2, 0xe9, 0x32, 0x70, 0xec, + 0x03, 0x65, 0x96, 0x9b, 0x75, 0x4e, 0x3d, 0xc9, 0x6a, 0xf6, 0x78, 0x7a, 0x5a, 0xb6, 0xdb, 0x8b, + 0xb2, 0x05, 0x6b, 0x48, 0xcb, 0xce, 0xe2, 0x45, 0x3b, 0x8d, 0x2e, 0x73, 0xf3, 0xd7, 0x4e, 0x10, + 0x2c, 0x1d, 0xa8, 0x20, 0x9e, 0x66, 0x68, 0xbd, 0x2f, 0x31, 0x7c, 0x67, 0xde, 0xc5, 0xa8, 0xa6, + 0x82, 0x45, 0xfb, 0xe2, 0x05, 0x67, 0x26, 0x3d, 0xbd, 0xee, 0x6f, 0xba, 0xe4, 0x8e, 0xe6, 0x22, + 0xd1, 0xa8, 0x3f, 0xf1, 0x70, 0xf6, 0x41, 0x51, 0x7c, 0x3d, 0x5c, 0xfb, 0x86, 0x72, 0xd8, 0x02, + 0xea, 0x42, 0xd8, 0x02, 0x99, 0x12, 0xd8, 0x82, 0x0d, 0xc5, 0xaf, 0x05, 0x54, 0x65, 0xaf, 0x05, + 0xd0, 0x85, 0xad, 0x0d, 0x12, 0x25, 0xad, 0x35, 0xb6, 0x8a, 0x78, 0x61, 0x74, 0x11, 0x83, 0xb2, + 0x76, 0x53, 0xc7, 0x78, 0xdd, 0x59, 0x90, 0xb4, 0xed, 0xbf, 0x10, 0xf0, 0x82, 0xa8, 0xde, 0x58, + 0x88, 0x0a, 0x78, 0xc0, 0xc2, 0xc7, 0x58, 0xce, 0x41, 0xd3, 0xbb, 0x00, 0xb2, 0xaf, 0xa1, 0x08, + 0x94, 0x92, 0xcb, 0x2f, 0x0b, 0xee, 0x08, 0x7a, 0xe2, 0x63, 0x08, 0x45, 0xf9, 0x6f, 0xaf, 0x30, + 0xcb, 0xcd, 0x5e, 0xf7, 0xb7, 0xe3, 0xfc, 0xf2, 0x1d, 0x35, 0xb4, 0x10, 0x49, 0x6b, 0xd7, 0x96, + 0x7d, 0x41, 0xd4, 0x6e, 0x69, 0xe2, 0x6e, 0xc9, 0x23, 0x25, 0xfc, 0xca, 0x5b, 0x22, 0x1f, 0x79, + 0x21, 0x0a, 0x44, 0x1d, 0xd0, 0x6b, 0x5d, 0x5e, 0xe7, 0x66, 0xad, 0x11, 0xd6, 0x50, 0x1b, 0x32, + 0x30, 0xfd, 0xc7, 0xd8, 0xba, 0xa3, 0xc6, 0x12, 0xf4, 0x5f, 0xbc, 0xa9, 0x0e, 0x4b, 0xc8, 0x7b, + 0xe0, 0xfa, 0x8b, 0x97, 0xb8, 0x75, 0xd6, 0x37, 0x4e, 0x18, 0x5c, 0x5a, 0x60, 0x94, 0x62, 0xed, + 0x25, 0xfe, 0x83, 0x44, 0x2b, 0x3f, 0x18, 0xf8, 0x18, 0x3f, 0x82, 0x62, 0x62, 0xf9, 0xdc, 0x3d, + 0xca, 0x8f, 0x30, 0x0e, 0x50, 0xf6, 0x1a, 0xac, 0xae, 0xf3, 0xc4, 0xee, 0xe0, 0x80, 0xea, 0x09, + 0xed, 0x26, 0xec, 0x33, 0x95, 0x55, 0xb0, 0x84, 0xf4, 0x70, 0x0b, 0x59, 0x35, 0x5a, 0x58, 0xfb, + 0x1b, 0x4d, 0xb3, 0x04, 0xd1, 0x2f, 0xfe, 0xc5, 0xcb, 0xed, 0x7e, 0x1d, 0xfd, 0x25, 0x43, 0x58, + 0x1d, 0xfa, 0x2f, 0xbd, 0xec, 0xaf, 0x21, 0x26, 0x5f, 0x0a, 0x88, 0x0f, 0x05, 0x74, 0x9b, 0xa6, + 0xe2, 0x64, 0x07, 0x55, 0xa3, 0x92, 0xc5, 0xad, 0x93, 0x8c, 0x14, 0x24, 0x4e, 0x31, 0xbf, 0xbb, + 0xee, 0x3c, 0xf1, 0x67, 0xf0, 0x8a, 0x9b, 0x97, 0x5f, 0xdd, 0xcf, 0x55, 0x3a, 0xb6, 0xd5, 0x98, + 0xf1, 0xea, 0xe5, 0x8c, 0xcf, 0x8f, 0xd8, 0x39, 0xc6, 0x83, 0x0f, 0x2c, 0x2e, 0x1e, 0x3e, 0xa1, + 0x0f, 0xb5, 0x4b, 0x00, 0xee, 0x1b, 0x3c, 0x73, 0x9a, 0x4d, 0xd9, 0x06, 0x97, 0xd9, 0xce, 0x45, + 0xc4, 0x25, 0xb6, 0xcb, 0xcb, 0x47, 0x65, 0xb4, 0x72, 0x82, 0xd5, 0xc2, 0x09, 0xd6, 0xd1, 0x25, + 0xb6, 0x93, 0x98, 0x5e, 0x7d, 0x69, 0xc0, 0xbd, 0x4c, 0xd5, 0x76, 0xd4, 0xc9, 0xab, 0xc8, 0x8b, + 0x42, 0xee, 0x25, 0x17, 0x92, 0x67, 0x1a, 0xa4, 0x75, 0xf1, 0x31, 0x96, 0x7d, 0xa9, 0x65, 0xdf, + 0x97, 0x0a, 0xa3, 0xd7, 0x27, 0x09, 0x95, 0x7d, 0x1b, 0xd3, 0x64, 0x1a, 0x1a, 0x46, 0x00, 0x52, + 0x04, 0xba, 0xd1, 0x83, 0xe5, 0x76, 0xcf, 0xfa, 0x3e, 0xaa, 0x6b, 0xa1, 0x90, 0x6a, 0x82, 0xa8, + 0x65, 0xce, 0xea, 0xa9, 0xf0, 0xbc, 0xde, 0xd0, 0x6d, 0x36, 0x39, 0xe7, 0x60, 0xcf, 0x91, 0x55, + 0x47, 0x38, 0x57, 0x34, 0xda, 0x73, 0xe4, 0xee, 0x97, 0xa3, 0xfb, 0x79, 0x7f, 0x15, 0x9f, 0x5c, + 0xcf, 0x27, 0x53, 0xe6, 0x6e, 0xe8, 0x0a, 0x6d, 0x6e, 0xb6, 0x68, 0x44, 0x3d, 0x77, 0xcd, 0x7d, + 0xa6, 0xaf, 0x5c, 0xa4, 0x4a, 0x07, 0x67, 0x25, 0xd7, 0x62, 0xaa, 0x81, 0xc5, 0x13, 0x9c, 0x4c, + 0xb3, 0x39, 0xdf, 0x2b, 0xd5, 0x84, 0x63, 0xd5, 0x2c, 0xce, 0x15, 0xa3, 0x58, 0x7d, 0x23, 0x3b, + 0x82, 0x5e, 0x7d, 0x4f, 0xe0, 0x22, 0xe4, 0xa6, 0x35, 0xde, 0xad, 0x9b, 0xf1, 0xc8, 0xee, 0xa7, + 0x7b, 0xb4, 0xfe, 0x3e, 0xa7, 0xc9, 0xdd, 0xa5, 0x39, 0x08, 0x08, 0xdf, 0x33, 0x7e, 0x99, 0xf7, + 0xe4, 0x43, 0x9b, 0x86, 0x8f, 0xf1, 0x4e, 0x93, 0x39, 0xea, 0x3b, 0xb7, 0xa7, 0x65, 0xfa, 0xa6, + 0xc0, 0xb4, 0xd4, 0xe8, 0x6c, 0xef, 0xb3, 0xdd, 0x7a, 0xdc, 0x89, 0xc8, 0x82, 0x09, 0xf6, 0xbc, + 0xba, 0xfc, 0x66, 0xa0, 0x09, 0xf0, 0x22, 0x49, 0xf8, 0xb1, 0x33, 0xef, 0x96, 0x7c, 0x7f, 0xe9, + 0x5b, 0x5f, 0xef, 0x2d, 0x41, 0x91, 0x76, 0x9d, 0x04, 0x32, 0x6c, 0x9e, 0x2c, 0x8e, 0xfe, 0x05, + 0xb4, 0x46, 0x69, 0xaa, 0x6b, 0x2c, 0x00, 0x00 }; void serveBundleCss(AsyncWebServerRequest* request) { diff --git a/src/ui_index_html.h b/src/ui_index_html.h index 695f5f7..9b32ba4 100644 --- a/src/ui_index_html.h +++ b/src/ui_index_html.h @@ -1,9 +1,6 @@ /* * Binary array for the Web UI. - * gzip is used for smaller size and improved speeds. - * - * Please see https://kno.wled.ge/advanced/custom-features/#changing-web-ui - * to find out how to easily modify the web UI source! + * Gzip is used for smaller size and improved speeds. */ // Autogenerated do not edit!! diff --git a/src/ui_index_js.h b/src/ui_index_js.h index 28f7f7e..1921fc7 100644 --- a/src/ui_index_js.h +++ b/src/ui_index_js.h @@ -1,927 +1,934 @@ /* * Binary array for the Web UI. - * gzip is used for smaller size and improved speeds. - * - * Please see https://kno.wled.ge/advanced/custom-features/#changing-web-ui - * to find out how to easily modify the web UI source! + * Gzip is used for smaller size and improved speeds. */ // Autogenerated do not edit!! - const uint16_t INDEX_JS_L = 14607; + const uint16_t INDEX_JS_L = 14763; const uint8_t INDEX_JS[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xed, 0x7d, 0xdb, 0x72, 0xe3, 0x46, - 0xb2, 0xe0, 0xb3, 0xfc, 0x15, 0x68, 0x1d, 0x9d, 0x11, 0xd8, 0x46, 0x43, 0x04, 0xa9, 0x2b, 0xe5, - 0x76, 0x8f, 0xbb, 0xdd, 0x13, 0xe3, 0xd8, 0xb1, 0x7b, 0x62, 0xda, 0xc7, 0xbb, 0x11, 0x0a, 0x05, - 0x4d, 0x91, 0xa0, 0x88, 0x69, 0x8a, 0xe0, 0x00, 0xa0, 0x64, 0x9d, 0xb6, 0x7e, 0x63, 0x3f, 0x64, - 0x9f, 0xf7, 0x6b, 0xf6, 0x4b, 0x36, 0xb3, 0xee, 0x57, 0x00, 0xa4, 0xa8, 0x6e, 0xfb, 0x1c, 0x3b, - 0xc2, 0xb6, 0x58, 0x97, 0xac, 0xaa, 0xac, 0xac, 0xac, 0xbc, 0x55, 0xe2, 0x76, 0x54, 0x04, 0xa3, - 0xe5, 0x32, 0x78, 0x19, 0x84, 0xd3, 0xd5, 0x62, 0x5c, 0x65, 0xf9, 0x22, 0x08, 0x3b, 0xc1, 0xc7, - 0x2f, 0x02, 0xf8, 0x67, 0x7f, 0x55, 0xa6, 0x41, 0x59, 0x15, 0xd9, 0xb8, 0xda, 0x3f, 0xff, 0x82, - 0x14, 0x89, 0x46, 0x8b, 0x3c, 0x5f, 0x62, 0xc3, 0xe0, 0x41, 0x2f, 0x1f, 0x95, 0x65, 0x76, 0xbd, - 0x08, 0xab, 0x51, 0x11, 0x05, 0x65, 0x31, 0xe6, 0xa0, 0xf0, 0x9f, 0x83, 0x83, 0xe0, 0xcf, 0x55, - 0xf9, 0x02, 0xaa, 0xf3, 0x22, 0x15, 0xa5, 0xd3, 0xbc, 0x08, 0xc2, 0x71, 0xbe, 0x28, 0xab, 0xe0, - 0x43, 0x90, 0x2d, 0x48, 0x27, 0x51, 0x89, 0xff, 0x00, 0xa8, 0x8b, 0x0f, 0x97, 0x30, 0x43, 0xa8, - 0x81, 0x3f, 0xce, 0x45, 0x65, 0x91, 0x56, 0xab, 0x62, 0x81, 0xf5, 0xb4, 0xcc, 0x98, 0x49, 0xb1, - 0x5a, 0x84, 0xd3, 0x85, 0x3a, 0x01, 0xd6, 0x61, 0xba, 0x08, 0x3b, 0xce, 0x1e, 0x57, 0xf3, 0xd1, - 0xe2, 0xc3, 0x30, 0xbf, 0xfa, 0x67, 0x3a, 0xae, 0x42, 0x47, 0xc7, 0x77, 0xa4, 0x26, 0x1e, 0x17, - 0xe9, 0xa8, 0x4a, 0xc3, 0xc5, 0x6a, 0x3e, 0xef, 0xf8, 0x46, 0x1e, 0x8e, 0xe6, 0x73, 0x18, 0xbd, - 0x54, 0xa1, 0xc0, 0xcf, 0x18, 0x56, 0xfb, 0x76, 0x34, 0x9e, 0x85, 0xd0, 0xc4, 0xdd, 0x37, 0x2b, - 0x87, 0xfc, 0xef, 0xb0, 0x9a, 0x65, 0x8b, 0x6b, 0xc7, 0x3c, 0xaa, 0xfb, 0x65, 0x9a, 0x4f, 0x03, - 0x52, 0x1d, 0xbc, 0x7c, 0xf9, 0x32, 0xd8, 0xe7, 0x5d, 0xf6, 0x9d, 0x30, 0xcb, 0xd1, 0x34, 0x1d, - 0x2e, 0xf2, 0x6a, 0x98, 0xfe, 0x6b, 0x35, 0x9a, 0x87, 0xa3, 0x28, 0xb8, 0x72, 0x40, 0x1d, 0x05, - 0xcf, 0x5e, 0xc2, 0x7f, 0x5e, 0x05, 0x57, 0x00, 0x13, 0xfe, 0x33, 0x20, 0x25, 0xf8, 0xd7, 0xaf, - 0xbf, 0x06, 0x61, 0x38, 0x0a, 0xfe, 0xf4, 0x27, 0x3e, 0xf2, 0x88, 0x8e, 0x4a, 0x31, 0xb5, 0xdf, - 0xc1, 0x06, 0x7a, 0x8d, 0x98, 0x8f, 0x77, 0x91, 0xe9, 0xcd, 0xb2, 0xba, 0x0f, 0x01, 0x82, 0x1f, - 0xcf, 0x1f, 0xd2, 0xfb, 0x92, 0xb4, 0x88, 0xe7, 0xe9, 0xe2, 0xba, 0x9a, 0x11, 0xd0, 0x5d, 0xf7, - 0x0a, 0x57, 0x57, 0xe5, 0xb8, 0xc8, 0xae, 0xd2, 0xb0, 0xac, 0x80, 0xb8, 0xa2, 0x20, 0x8e, 0xe3, - 0x31, 0x6c, 0xc1, 0xd5, 0x68, 0xfc, 0x41, 0xdb, 0x83, 0x6c, 0x1a, 0xd0, 0x26, 0xb8, 0x46, 0xb2, - 0x83, 0x4a, 0xa5, 0x32, 0x05, 0x24, 0x6f, 0x49, 0x69, 0x0f, 0xe2, 0x2f, 0x4a, 0xa8, 0xab, 0x05, - 0x0c, 0x88, 0x14, 0x89, 0x90, 0x62, 0x39, 0xb8, 0x36, 0xaa, 0x45, 0xa8, 0xa4, 0x57, 0x4c, 0xfe, - 0x4b, 0xdb, 0x03, 0xae, 0x81, 0xcc, 0x5e, 0x7e, 0x6d, 0xd7, 0x40, 0xf1, 0x80, 0x96, 0x3a, 0x97, - 0x3b, 0xce, 0x6f, 0x96, 0xf9, 0x22, 0x5d, 0x54, 0x43, 0xd9, 0x43, 0x94, 0x45, 0x01, 0xc3, 0x01, - 0x9f, 0x8a, 0xba, 0x44, 0xd1, 0x2a, 0xde, 0xdb, 0x8b, 0xf3, 0xc5, 0x70, 0x92, 0xc2, 0xf9, 0xce, - 0xef, 0xe3, 0xe5, 0xaa, 0x9c, 0x85, 0x16, 0x16, 0x05, 0x04, 0xf7, 0x36, 0xd2, 0x83, 0x30, 0x2c, - 0xe7, 0x79, 0x15, 0x4e, 0xd2, 0x69, 0xb6, 0xc8, 0xb0, 0x18, 0xba, 0x55, 0xbf, 0x44, 0xc1, 0xde, - 0x5e, 0x39, 0xce, 0x97, 0x00, 0x44, 0x3f, 0x83, 0xb8, 0x01, 0xb2, 0xad, 0x89, 0x7d, 0x8a, 0x5e, - 0x04, 0x38, 0x04, 0x20, 0x80, 0xe1, 0xeb, 0xb4, 0x1a, 0xd2, 0x9f, 0xf9, 0xa2, 0x4a, 0x7f, 0x69, - 0x18, 0xe7, 0xdc, 0xb5, 0x95, 0xb2, 0xc7, 0x45, 0xf7, 0x32, 0xe4, 0xb0, 0x3b, 0xe6, 0xee, 0x1a, - 0x6b, 0x5b, 0x6f, 0x60, 0x9b, 0x86, 0x95, 0x51, 0x93, 0x4b, 0x3c, 0x3a, 0xd3, 0x85, 0x36, 0xb9, - 0x57, 0x9c, 0x53, 0x32, 0x30, 0x31, 0xc0, 0x8c, 0xcb, 0x79, 0x36, 0x86, 0xbd, 0x8f, 0xf4, 0xde, - 0xc0, 0x47, 0x42, 0x9c, 0x71, 0x47, 0xe7, 0x8b, 0x83, 0x40, 0xe9, 0x7a, 0x5e, 0xbf, 0x86, 0xd9, - 0x68, 0x71, 0x9d, 0x96, 0xda, 0x1a, 0xc4, 0xf4, 0x27, 0x59, 0x51, 0xdd, 0xd7, 0x6f, 0xd3, 0x45, - 0x8f, 0x2d, 0xc1, 0xbd, 0x5f, 0xf3, 0xb4, 0x2a, 0x61, 0xaf, 0xb4, 0xf6, 0x38, 0x69, 0x02, 0xb9, - 0x63, 0xec, 0x0a, 0x42, 0xe6, 0x13, 0x27, 0x0d, 0xc8, 0xb1, 0x5e, 0x2d, 0x48, 0xef, 0x74, 0x62, - 0x8e, 0xa0, 0xa0, 0x14, 0x87, 0xd1, 0x61, 0x3d, 0x58, 0x90, 0x19, 0x1b, 0xa2, 0x33, 0xd2, 0x78, - 0x94, 0x0d, 0x96, 0x4e, 0xfe, 0x26, 0x2d, 0xae, 0xd3, 0x09, 0x4c, 0xff, 0xe2, 0xf2, 0xdc, 0xd3, - 0x04, 0xd8, 0x0f, 0xd4, 0x7f, 0x3f, 0xaa, 0x66, 0xf1, 0xcd, 0xe8, 0x17, 0x7d, 0xf6, 0x8c, 0x37, - 0x45, 0x64, 0x48, 0xf6, 0xa3, 0x63, 0x03, 0x22, 0xb7, 0x1c, 0x34, 0x09, 0xb2, 0x00, 0x79, 0x18, - 0xfc, 0xef, 0x2b, 0x04, 0x8b, 0x7f, 0x7c, 0xf9, 0x32, 0x48, 0x5c, 0xd3, 0xc3, 0x7f, 0xe8, 0xe4, - 0x2e, 0x32, 0xbc, 0xfe, 0xb4, 0x61, 0xb1, 0xe8, 0x57, 0x32, 0x26, 0xfc, 0x65, 0x0f, 0xf7, 0xe0, - 0xc3, 0x21, 0x05, 0x58, 0x87, 0x45, 0xd6, 0x50, 0xdf, 0xa2, 0x5f, 0x0d, 0xe4, 0x3f, 0x7c, 0x51, - 0xd7, 0xdc, 0x49, 0x8c, 0xab, 0xe5, 0x84, 0x33, 0x8b, 0xe1, 0xd5, 0xa8, 0x4c, 0xc9, 0x49, 0x8c, - 0xe8, 0x59, 0xf7, 0x9f, 0x2d, 0x95, 0x7c, 0x23, 0xeb, 0x50, 0x0e, 0x6d, 0xa2, 0x55, 0x3b, 0xd4, - 0x71, 0x17, 0x0a, 0xc0, 0xc5, 0x61, 0x1a, 0x66, 0xe4, 0x9a, 0x83, 0x8e, 0x4f, 0xac, 0x8d, 0x97, - 0xa1, 0xda, 0x48, 0x5f, 0x48, 0x1b, 0xde, 0x03, 0x9c, 0x77, 0x48, 0x90, 0x39, 0x9c, 0x16, 0xf9, - 0xcd, 0x90, 0x0c, 0xce, 0x29, 0xcf, 0x5c, 0xb3, 0xca, 0x42, 0xd8, 0x55, 0xf9, 0x75, 0xd0, 0xef, - 0xb9, 0x97, 0xcf, 0xce, 0x9c, 0x45, 0xee, 0x82, 0xd4, 0xc9, 0x4d, 0x1b, 0x38, 0x60, 0x1e, 0x00, - 0x4c, 0xbd, 0x8f, 0x87, 0xaa, 0xa1, 0x31, 0xfc, 0xfd, 0xe5, 0x97, 0x2e, 0xaa, 0x16, 0xd4, 0xfb, - 0x32, 0x78, 0x91, 0xb4, 0xa0, 0x43, 0x85, 0xa0, 0x9c, 0x84, 0xc7, 0x81, 0x18, 0x28, 0xc4, 0xab, - 0x7d, 0x58, 0xe5, 0x4c, 0xcc, 0xb8, 0x1d, 0xcd, 0x57, 0xa9, 0x83, 0x49, 0x93, 0x72, 0x2e, 0x09, - 0x00, 0x4b, 0xde, 0xdf, 0x07, 0xae, 0x4a, 0x0a, 0x9d, 0x40, 0x41, 0x50, 0x4e, 0x17, 0x13, 0x94, - 0x6d, 0x61, 0x87, 0x22, 0x90, 0x11, 0x26, 0x1a, 0x50, 0x5a, 0x1e, 0xd3, 0x56, 0x6f, 0x66, 0xd9, - 0x7c, 0x12, 0x92, 0x26, 0x6e, 0x11, 0x68, 0x51, 0xa6, 0x45, 0xa5, 0xc1, 0x8a, 0x82, 0xd1, 0x62, - 0x3c, 0xcb, 0x0b, 0x07, 0x4c, 0xda, 0xfa, 0x75, 0x0a, 0x08, 0x4f, 0x43, 0xb5, 0x2d, 0x8a, 0x5e, - 0x7e, 0x41, 0x74, 0x92, 0x56, 0x28, 0x6c, 0x9a, 0x13, 0xc5, 0xdf, 0xf1, 0x72, 0x54, 0x80, 0x18, - 0xf0, 0x03, 0xfe, 0x59, 0xa4, 0x37, 0xf9, 0x6d, 0xda, 0x34, 0x63, 0x26, 0x2a, 0x0c, 0x53, 0x04, - 0x99, 0x55, 0x69, 0x31, 0xc2, 0xe2, 0x32, 0x62, 0xa3, 0x18, 0xa2, 0xaa, 0x8b, 0x34, 0x64, 0xa7, - 0x58, 0x50, 0x89, 0x93, 0xfd, 0x21, 0x51, 0xcb, 0xc6, 0x40, 0x2d, 0x1d, 0x8b, 0x8e, 0xb4, 0xea, - 0x78, 0x12, 0xca, 0x49, 0x34, 0x1c, 0xae, 0x74, 0x9e, 0xde, 0xc0, 0xc2, 0xc3, 0xc5, 0xe8, 0xc6, - 0x45, 0x12, 0x93, 0x7c, 0xbc, 0xc2, 0x7a, 0x26, 0xe5, 0xbf, 0x55, 0x5b, 0xbb, 0x45, 0xcf, 0xdb, - 0xeb, 0xe1, 0x46, 0x30, 0x7f, 0x78, 0x1f, 0xee, 0xcf, 0xaa, 0x6a, 0x39, 0x38, 0x38, 0xb8, 0xbb, - 0xbb, 0x8b, 0xef, 0xfa, 0x71, 0x5e, 0x5c, 0x1f, 0xf4, 0xba, 0xdd, 0xee, 0x01, 0xc0, 0xdc, 0x07, - 0x9a, 0xf0, 0x8e, 0x49, 0x05, 0x92, 0x51, 0x35, 0x6a, 0x1e, 0xec, 0x47, 0x68, 0x8a, 0x9b, 0x4c, - 0x9b, 0xbb, 0x57, 0xb0, 0x1c, 0xa1, 0xd4, 0xe1, 0xd0, 0x33, 0x70, 0x98, 0xfd, 0xc0, 0x23, 0xc4, - 0xd3, 0xa3, 0xe5, 0xed, 0xe6, 0xe9, 0x35, 0xcf, 0xca, 0x2a, 0x5d, 0x30, 0x1a, 0x4e, 0x6f, 0x89, - 0xbc, 0x0a, 0x5c, 0x71, 0x32, 0x4f, 0x41, 0x61, 0xcc, 0x97, 0x64, 0x47, 0x2d, 0x5a, 0x1d, 0x4d, - 0x26, 0x6f, 0xb1, 0xe9, 0xdf, 0x48, 0xe7, 0xb4, 0x08, 0x7d, 0x1d, 0x2d, 0x99, 0x9b, 0xca, 0xd7, - 0x0b, 0x49, 0xe5, 0xeb, 0xc0, 0x31, 0x8f, 0x7f, 0x55, 0x15, 0xfc, 0xf0, 0xc1, 0x9f, 0xd9, 0xd5, - 0xaa, 0x82, 0x3f, 0x2d, 0xde, 0x82, 0xc4, 0xab, 0x31, 0x16, 0x9d, 0x78, 0x95, 0xb9, 0x7c, 0xc3, - 0xa1, 0x84, 0x02, 0x9e, 0xb2, 0x82, 0x74, 0x0e, 0xda, 0x37, 0x02, 0x23, 0x3d, 0x80, 0x0b, 0xb8, - 0x9a, 0x13, 0x0d, 0x8d, 0x4e, 0xc1, 0x1e, 0xa5, 0x74, 0xf6, 0xe1, 0x53, 0x76, 0x8b, 0xf4, 0xc8, - 0x04, 0x80, 0x31, 0x84, 0x8c, 0xa4, 0x1d, 0xdb, 0xfb, 0x4d, 0x51, 0x8c, 0xee, 0x63, 0xbc, 0x95, - 0x78, 0xa3, 0x98, 0xf4, 0x42, 0x2a, 0xf3, 0x60, 0x0e, 0x26, 0x32, 0x44, 0xfa, 0x0b, 0xe9, 0x5d, - 0x68, 0x52, 0x2e, 0xfe, 0x06, 0x2e, 0x01, 0xdc, 0xf7, 0x4b, 0xf2, 0xf7, 0xb9, 0x86, 0x4b, 0xec, - 0x13, 0xdf, 0xcd, 0xf2, 0x39, 0xa1, 0x65, 0xb2, 0x60, 0x02, 0x40, 0x37, 0x12, 0x60, 0x23, 0x06, - 0x47, 0x82, 0x70, 0x4c, 0x23, 0x5b, 0x2c, 0x57, 0xd5, 0x90, 0x60, 0x20, 0x24, 0x7f, 0xbb, 0x76, - 0x10, 0xcb, 0x63, 0xb6, 0x87, 0xeb, 0x5e, 0x12, 0x25, 0x20, 0x65, 0x5c, 0x0d, 0x29, 0x25, 0x85, - 0xf4, 0x97, 0x63, 0x0c, 0x17, 0x7f, 0xa4, 0x8d, 0x63, 0x46, 0x84, 0x0d, 0x3c, 0x92, 0xde, 0xd7, - 0xb4, 0x2d, 0xaa, 0xa2, 0x5a, 0x5f, 0x4b, 0x28, 0x44, 0x44, 0xd2, 0xba, 0x78, 0x38, 0xe4, 0x2b, - 0x7a, 0x69, 0x4f, 0x8b, 0xff, 0xc3, 0xda, 0x52, 0xa8, 0x44, 0x3c, 0xae, 0x0a, 0xbe, 0x60, 0xfb, - 0x96, 0xf6, 0xdd, 0xe3, 0xf2, 0x2f, 0x36, 0x3d, 0x0e, 0xef, 0x3b, 0x10, 0xf7, 0x7f, 0xa1, 0x22, - 0x00, 0x9a, 0x85, 0x16, 0x39, 0x5f, 0x48, 0x39, 0xcb, 0x57, 0xf3, 0x49, 0x00, 0xba, 0x31, 0x6f, - 0x5a, 0x83, 0x63, 0xba, 0x8b, 0xf4, 0x87, 0xae, 0xe4, 0x12, 0x39, 0x8f, 0x01, 0x18, 0x9a, 0x38, - 0xfa, 0xd7, 0x2a, 0x2d, 0xee, 0xdf, 0x93, 0xbf, 0xf3, 0x22, 0xdc, 0x1f, 0x8c, 0x67, 0xe9, 0xf8, - 0x43, 0x3a, 0xa1, 0x76, 0x0c, 0x03, 0x8f, 0x5d, 0xdb, 0xde, 0x64, 0xc2, 0x05, 0xc5, 0xc8, 0x28, - 0xe2, 0x28, 0x76, 0x9f, 0xb0, 0x15, 0x28, 0xd7, 0x37, 0x43, 0xc2, 0x79, 0x88, 0xba, 0x42, 0x2f, - 0xd0, 0x6c, 0x1e, 0x05, 0x1f, 0x83, 0xab, 0xd5, 0xd5, 0xd5, 0x3c, 0x45, 0x65, 0x6a, 0x3a, 0x82, - 0xe3, 0x8f, 0x1a, 0xf8, 0x62, 0x9c, 0xce, 0x47, 0x50, 0xc8, 0xcb, 0x82, 0x07, 0xf8, 0xeb, 0xe3, - 0x83, 0xbd, 0x5e, 0x6c, 0x61, 0xde, 0x34, 0x64, 0x90, 0xfd, 0x37, 0x64, 0x48, 0xf2, 0x63, 0x5f, - 0x65, 0x30, 0x31, 0x8a, 0xb8, 0x4a, 0x25, 0x9b, 0x0e, 0x9b, 0x84, 0x3a, 0x38, 0x9f, 0xa3, 0xcd, - 0x60, 0xb5, 0x45, 0x8e, 0xe7, 0xa0, 0xd4, 0x06, 0x7f, 0xad, 0x6e, 0xe6, 0x3f, 0x8e, 0xae, 0xcd, - 0x09, 0x16, 0x2b, 0x82, 0xef, 0xac, 0x1c, 0xc2, 0xf5, 0xc6, 0x57, 0x63, 0xd2, 0x5e, 0x35, 0xcb, - 0xca, 0x58, 0x6f, 0x72, 0x5e, 0xd3, 0x80, 0xfe, 0xe1, 0x68, 0x81, 0xc8, 0x20, 0x7f, 0xe0, 0xbe, - 0xe3, 0xc1, 0x75, 0x1a, 0x73, 0xc2, 0x19, 0x4c, 0xd5, 0x39, 0x85, 0x19, 0xad, 0x72, 0xf5, 0xba, - 0x21, 0x55, 0x51, 0xc0, 0x45, 0x37, 0x26, 0x88, 0xb9, 0xcd, 0x49, 0x78, 0xee, 0x9e, 0xd1, 0x19, - 0xb9, 0x8e, 0x19, 0xe1, 0x6f, 0x72, 0x45, 0x1d, 0xa7, 0x12, 0x28, 0x16, 0xa4, 0x8a, 0x1a, 0x4c, - 0x30, 0x44, 0x3e, 0xff, 0x83, 0x94, 0x13, 0xd4, 0x7f, 0xf0, 0xfe, 0xa8, 0x87, 0xd7, 0x1e, 0x16, - 0xe9, 0x82, 0xda, 0x12, 0x6d, 0xea, 0x69, 0x30, 0x36, 0x91, 0x66, 0x4b, 0xf5, 0x74, 0xb1, 0x21, - 0x13, 0x74, 0x5d, 0xe8, 0x9d, 0xf9, 0x37, 0x05, 0x09, 0x16, 0x6e, 0xed, 0xbf, 0xfe, 0xf8, 0xfd, - 0xdf, 0x60, 0x2a, 0xd8, 0xcc, 0xb1, 0xf3, 0xb8, 0xe1, 0xca, 0x15, 0xc5, 0x3a, 0x5a, 0x37, 0x94, - 0x3e, 0xa8, 0x98, 0x91, 0x31, 0xac, 0x8b, 0x4b, 0xd3, 0x51, 0x1a, 0xb8, 0x33, 0xbd, 0x46, 0xa8, - 0x88, 0x4f, 0x70, 0x17, 0xb1, 0x7e, 0xc0, 0x99, 0x85, 0x9c, 0xdf, 0xcc, 0x36, 0x97, 0x7e, 0x64, - 0x4c, 0xc2, 0xce, 0x79, 0x0b, 0xba, 0x55, 0x90, 0x4e, 0xfe, 0x37, 0x72, 0xae, 0x7f, 0x12, 0x3a, - 0xc7, 0x58, 0x08, 0x7b, 0x35, 0x15, 0xaf, 0x1d, 0xb2, 0x35, 0xf9, 0x1f, 0x62, 0x68, 0xbc, 0x2a, - 0x50, 0xa1, 0x18, 0x0a, 0x0b, 0xe3, 0xb9, 0x7d, 0xf9, 0x5a, 0x6d, 0xa4, 0xd5, 0x52, 0xe3, 0x67, - 0x66, 0x33, 0x40, 0xbe, 0x01, 0xd6, 0xa1, 0x31, 0xdb, 0xc0, 0x4d, 0xa9, 0xec, 0x99, 0xd5, 0xc4, - 0x10, 0x22, 0x66, 0x45, 0x7e, 0x17, 0x2c, 0xd2, 0xbb, 0xe0, 0x6d, 0x51, 0xe0, 0xd5, 0xf0, 0x17, - 0xc1, 0xb4, 0x41, 0x1d, 0x87, 0x5b, 0x30, 0x5f, 0x55, 0x65, 0x36, 0x49, 0xe5, 0x64, 0x02, 0x62, - 0x24, 0x18, 0xcd, 0xb3, 0xff, 0x1c, 0xa9, 0xe6, 0x6e, 0x85, 0x3f, 0x7a, 0xd0, 0xe2, 0xb4, 0xa4, - 0x12, 0x26, 0xfc, 0x6d, 0x06, 0xf2, 0x78, 0x05, 0x77, 0x52, 0x11, 0xda, 0x3c, 0x5e, 0xc5, 0x88, - 0x67, 0xcd, 0xb6, 0x08, 0x6c, 0x5e, 0x32, 0x35, 0x77, 0x0a, 0xc8, 0xca, 0x2e, 0x29, 0x43, 0x18, - 0xb5, 0xd5, 0x8d, 0x40, 0x0b, 0xb2, 0xa8, 0xb8, 0xc0, 0x41, 0x1c, 0x32, 0x87, 0xd3, 0x08, 0xaf, - 0x38, 0x84, 0x7e, 0x7c, 0xf7, 0xed, 0xbb, 0x00, 0x34, 0x51, 0xc0, 0x7d, 0x0a, 0xff, 0x2d, 0xb3, - 0x6a, 0x45, 0xb5, 0xba, 0xe0, 0x8e, 0x14, 0x90, 0x6b, 0xb2, 0x84, 0x41, 0x99, 0x54, 0x30, 0xe1, - 0xd8, 0x99, 0xb8, 0xa0, 0x65, 0xe8, 0xc5, 0x80, 0x43, 0x77, 0x9b, 0x16, 0x28, 0x36, 0x2f, 0x5e, - 0x7c, 0xfb, 0xee, 0xfb, 0x4e, 0x90, 0x2e, 0x6e, 0xb3, 0x22, 0x5f, 0x20, 0xab, 0x7b, 0xe5, 0xb1, - 0xf0, 0x91, 0x61, 0x70, 0x71, 0x75, 0x97, 0xb3, 0x82, 0xb7, 0x07, 0x07, 0x8f, 0x14, 0x4b, 0xe5, - 0x66, 0x5c, 0x71, 0x78, 0xa6, 0x0b, 0x1b, 0xb1, 0xd2, 0x29, 0x44, 0x90, 0xa8, 0x9a, 0xef, 0xc9, - 0xe8, 0x8e, 0x01, 0x5c, 0x83, 0xb2, 0x3d, 0x7e, 0x46, 0xfa, 0xc4, 0x93, 0x74, 0x3a, 0x5a, 0xcd, - 0xab, 0xbf, 0x17, 0xe4, 0x67, 0x2b, 0x3b, 0x9f, 0x2e, 0xd6, 0x3d, 0x9c, 0xab, 0xc7, 0x5a, 0x31, - 0x18, 0x49, 0x0a, 0x2b, 0x15, 0xdb, 0x11, 0x6d, 0x70, 0x95, 0x2d, 0x26, 0xa0, 0x78, 0x0f, 0x55, - 0x2a, 0xd1, 0x5b, 0x00, 0x8d, 0x4e, 0xd2, 0xa2, 0xa6, 0xc1, 0x74, 0xbe, 0x2a, 0x67, 0xb5, 0x00, - 0xca, 0x7c, 0x7e, 0x0b, 0x02, 0xd6, 0x12, 0x78, 0x7a, 0x56, 0x22, 0xe1, 0xfe, 0x9d, 0xfe, 0x15, - 0xb3, 0x2a, 0x4e, 0xf8, 0xc8, 0x8a, 0xb8, 0xa9, 0x11, 0xc9, 0x64, 0x35, 0x27, 0xd2, 0xab, 0x22, - 0x49, 0x48, 0x8e, 0xc4, 0xea, 0x87, 0xb4, 0xbd, 0xcd, 0x2e, 0x4c, 0x38, 0x26, 0x0d, 0x3b, 0xc6, - 0xb1, 0xa5, 0x64, 0x73, 0xea, 0x31, 0x50, 0xfa, 0x22, 0x24, 0x0b, 0x6e, 0x32, 0x55, 0x80, 0xda, - 0x3b, 0x34, 0x50, 0x67, 0x79, 0x34, 0x75, 0xc4, 0x52, 0x3f, 0xce, 0xd4, 0xe3, 0x5b, 0x44, 0x78, - 0x3a, 0xa6, 0x0d, 0x70, 0xc6, 0x36, 0x38, 0xa1, 0xc1, 0x31, 0x23, 0xcd, 0x00, 0x5d, 0xd8, 0xb0, - 0x54, 0x98, 0x03, 0x1c, 0x3f, 0xbc, 0x36, 0x82, 0xbc, 0x80, 0x49, 0x0d, 0x78, 0xeb, 0x24, 0x0e, - 0xbe, 0x01, 0xc5, 0xe9, 0x8a, 0x18, 0xaf, 0xfe, 0x83, 0xa0, 0x4c, 0xf6, 0x89, 0xb0, 0x13, 0x6d, - 0x1f, 0x50, 0x8b, 0x54, 0xc9, 0x5a, 0x0a, 0x55, 0x94, 0xc3, 0xe9, 0x31, 0x38, 0x40, 0x6d, 0x03, - 0x32, 0x8c, 0x0e, 0x04, 0x69, 0xbe, 0x00, 0xca, 0x60, 0xc0, 0x78, 0x6f, 0x0e, 0x8d, 0x01, 0x8f, - 0x39, 0xb4, 0x3e, 0x85, 0x36, 0x9a, 0x56, 0x69, 0xb1, 0xc1, 0xa4, 0xe2, 0xe0, 0xed, 0xff, 0x7a, - 0xf3, 0xf6, 0xef, 0x3f, 0x72, 0x70, 0x4c, 0x56, 0x50, 0xc0, 0x95, 0xfc, 0xd2, 0x98, 0xac, 0x0a, - 0xf4, 0xd3, 0xc2, 0xb6, 0xf3, 0xdb, 0x22, 0xc8, 0x17, 0xdf, 0xe7, 0x2b, 0x3c, 0xea, 0x77, 0xb3, - 0x6c, 0x3c, 0x23, 0xfc, 0x8f, 0x35, 0xce, 0x16, 0x0a, 0xc4, 0x35, 0x97, 0xf4, 0x3e, 0x03, 0xfe, - 0xa4, 0x6c, 0xc7, 0x4d, 0x76, 0x3d, 0xe3, 0x87, 0x41, 0xb9, 0x39, 0x88, 0x6a, 0x52, 0xf2, 0xb1, - 0x29, 0x67, 0xad, 0x8a, 0xec, 0xfa, 0x1a, 0x98, 0xe6, 0x68, 0x91, 0x23, 0x23, 0xe6, 0x10, 0x11, - 0x56, 0x50, 0xe5, 0x7c, 0xc3, 0x23, 0xb2, 0x88, 0x69, 0x3e, 0x9f, 0xe7, 0x77, 0xb8, 0xa4, 0xb2, - 0x4a, 0x97, 0x65, 0x70, 0xbd, 0x1a, 0x15, 0x93, 0x60, 0x74, 0x3d, 0xca, 0xf0, 0xa4, 0xe2, 0xce, - 0xa8, 0x5b, 0xff, 0x2d, 0x5d, 0xbd, 0xba, 0xfb, 0x28, 0xff, 0xdc, 0xb3, 0x79, 0x4d, 0x02, 0x85, - 0xb1, 0xdc, 0x65, 0x84, 0x4e, 0x90, 0x4e, 0xa1, 0x02, 0xc6, 0x85, 0xe1, 0x14, 0x74, 0x58, 0x8c, - 0x68, 0x84, 0x62, 0x1e, 0x00, 0x9b, 0xd0, 0x9e, 0xe3, 0x11, 0xc6, 0x2b, 0x8c, 0x00, 0x6d, 0x50, - 0x5b, 0x8c, 0x16, 0x95, 0x39, 0xff, 0x38, 0x78, 0x9d, 0x92, 0x46, 0x0a, 0x50, 0xb2, 0x22, 0xac, - 0x06, 0xd4, 0xa3, 0x4e, 0x0a, 0x74, 0xf5, 0x21, 0x5d, 0x56, 0xe2, 0xaa, 0x27, 0xf5, 0xec, 0x00, - 0xd1, 0xf5, 0x1b, 0xe0, 0xc9, 0xd0, 0xcb, 0x6c, 0xfc, 0x41, 0x01, 0xba, 0x5a, 0xb2, 0xeb, 0x0b, - 0xdb, 0xa7, 0xa3, 0x62, 0x9e, 0x01, 0x6e, 0x49, 0xeb, 0x79, 0x3a, 0x05, 0xd8, 0xd3, 0x29, 0x99, - 0xf5, 0x75, 0x4e, 0x44, 0x8e, 0xd5, 0x35, 0x90, 0x00, 0xd4, 0x51, 0xcb, 0xbc, 0x5c, 0x5f, 0x1c, - 0xfc, 0xa8, 0xad, 0xdf, 0x16, 0x8b, 0xa8, 0x22, 0x0f, 0x53, 0x2e, 0x47, 0xc0, 0x61, 0x08, 0x4c, - 0x60, 0x37, 0xe8, 0xbb, 0x9d, 0x04, 0x25, 0x02, 0x1f, 0x55, 0xbe, 0x29, 0x2b, 0x70, 0x61, 0xcf, - 0x61, 0xf1, 0x40, 0xb8, 0x53, 0x9c, 0xf2, 0x5d, 0x56, 0xcd, 0x48, 0xa7, 0x5d, 0x4a, 0x5f, 0xbb, - 0xda, 0x71, 0x8f, 0x95, 0xd3, 0xe8, 0x38, 0x89, 0x78, 0x47, 0x22, 0x38, 0x4e, 0x4f, 0x28, 0x4b, - 0x69, 0xdc, 0x42, 0x3d, 0x7f, 0x8c, 0x34, 0x94, 0x33, 0x53, 0x4f, 0x19, 0x3f, 0xbc, 0xfb, 0x31, - 0x98, 0xc1, 0x42, 0x71, 0x76, 0x99, 0x76, 0xd6, 0x54, 0x24, 0xb1, 0xa9, 0xf0, 0x03, 0x85, 0xf2, - 0x00, 0xdc, 0x21, 0x40, 0x4e, 0xd9, 0x4d, 0x7a, 0x4e, 0x16, 0x56, 0x02, 0x36, 0x94, 0xbb, 0xa6, - 0x44, 0x25, 0x4e, 0xdb, 0x6e, 0x3a, 0x61, 0xf5, 0x68, 0x0b, 0x02, 0x40, 0x62, 0x07, 0x3c, 0xa6, - 0x70, 0xbc, 0xc9, 0xca, 0xaf, 0x52, 0x98, 0x51, 0x96, 0x17, 0xf1, 0x17, 0xaa, 0xe1, 0x41, 0x83, - 0xff, 0x92, 0x60, 0xe1, 0x7d, 0x5a, 0xa9, 0x57, 0x14, 0x19, 0x23, 0x9b, 0xfc, 0x42, 0xd5, 0x0a, - 0x18, 0xe5, 0xdb, 0x3c, 0x78, 0x0e, 0x98, 0x7b, 0x1e, 0xa0, 0x61, 0x90, 0xc2, 0x86, 0xf3, 0x64, - 0x4c, 0x49, 0x4c, 0x44, 0xe7, 0xeb, 0xbc, 0xd6, 0xb2, 0x80, 0x20, 0x55, 0xe8, 0x52, 0xb4, 0x5b, - 0x1a, 0x25, 0xa7, 0x2b, 0x37, 0x6e, 0x37, 0x64, 0xf4, 0x59, 0x51, 0x56, 0x34, 0x0c, 0x40, 0xe7, - 0xdf, 0x7c, 0xe8, 0xd2, 0xec, 0x81, 0x24, 0x68, 0x72, 0x1c, 0xbd, 0x11, 0xb0, 0x1d, 0x10, 0xa0, - 0x42, 0x81, 0x80, 0xaf, 0xac, 0x73, 0xcd, 0xbd, 0xa8, 0x5e, 0x97, 0xad, 0xba, 0x22, 0xb3, 0xf3, - 0x05, 0x07, 0xec, 0xf0, 0x8a, 0xf2, 0xaa, 0x2f, 0xbf, 0xb4, 0xeb, 0x9a, 0xd4, 0x13, 0xbb, 0x07, - 0x93, 0x1a, 0x54, 0x79, 0xb8, 0x56, 0xf5, 0x75, 0x8f, 0xa0, 0x38, 0x6f, 0x34, 0x17, 0x99, 0x8d, - 0x8f, 0x40, 0x04, 0xbf, 0x98, 0xeb, 0xb1, 0x6b, 0x18, 0x92, 0x2d, 0xc9, 0x8c, 0xa3, 0xd6, 0x5a, - 0x8c, 0xdd, 0x72, 0x89, 0xf1, 0x5d, 0xa6, 0x8e, 0x09, 0x3b, 0x8c, 0xe2, 0x0b, 0x9c, 0x17, 0x72, - 0xd5, 0xa8, 0xac, 0x38, 0xe5, 0xe7, 0x96, 0xd2, 0x8b, 0x45, 0x18, 0xca, 0x45, 0x2b, 0xa8, 0x07, - 0x39, 0x1c, 0x10, 0xfa, 0x0d, 0x70, 0x71, 0xc9, 0x97, 0x95, 0x4e, 0x18, 0x90, 0x92, 0xfe, 0x6b, - 0x85, 0x3b, 0x4d, 0x81, 0x97, 0x71, 0x1c, 0x37, 0x2a, 0xe8, 0x96, 0x50, 0xd4, 0xac, 0xaa, 0xeb, - 0x6a, 0x0e, 0x80, 0x32, 0x61, 0x38, 0xbd, 0xec, 0x44, 0x48, 0xd4, 0x4f, 0x7b, 0x3c, 0x1b, 0x95, - 0xa1, 0x0c, 0x9b, 0xf1, 0x08, 0xfd, 0xb0, 0x34, 0x58, 0x08, 0x70, 0x68, 0xfd, 0xee, 0xcc, 0x16, - 0xc4, 0xe9, 0x9c, 0x06, 0xf3, 0x3c, 0x5f, 0x96, 0xce, 0x9e, 0xc6, 0x68, 0x70, 0x53, 0xca, 0xd1, - 0xce, 0x9d, 0x3d, 0x84, 0xa8, 0xd7, 0x69, 0x0a, 0x13, 0x30, 0xf5, 0x03, 0x27, 0x16, 0x75, 0x5a, - 0x7b, 0xe0, 0x94, 0xe6, 0x3b, 0xc3, 0xb2, 0xa9, 0x7a, 0xee, 0x6d, 0x82, 0x34, 0xed, 0x2e, 0xa6, - 0x20, 0x6a, 0x12, 0xa3, 0x9c, 0x6b, 0xbd, 0xb0, 0xef, 0xc0, 0xd9, 0x78, 0x0e, 0x37, 0xb2, 0x0a, - 0xcb, 0x7d, 0x30, 0x0d, 0xe6, 0xd9, 0xa9, 0x09, 0x6a, 0x08, 0xe1, 0xe4, 0x5b, 0x2e, 0xf9, 0x78, - 0x5a, 0x8c, 0xae, 0x51, 0xe7, 0x24, 0x1e, 0x0b, 0x97, 0x6d, 0x10, 0xda, 0x70, 0xcd, 0xc3, 0x50, - 0x19, 0x58, 0xfc, 0x20, 0x34, 0xa0, 0x5c, 0x97, 0x69, 0x28, 0x9d, 0xf3, 0x1a, 0x7f, 0x3e, 0x34, - 0x36, 0x7c, 0xe5, 0x6c, 0x0c, 0xe1, 0xf0, 0x7f, 0x91, 0x5c, 0x5a, 0x95, 0x62, 0x92, 0x7f, 0xfa, - 0x93, 0xfa, 0x33, 0x5e, 0xe2, 0xe0, 0x24, 0xf0, 0x81, 0x06, 0xf1, 0x58, 0x1d, 0xc9, 0x79, 0x66, - 0xf3, 0x12, 0x8a, 0xae, 0x43, 0x61, 0xf1, 0xe8, 0x38, 0xcc, 0x7b, 0xb1, 0xaa, 0x8a, 0x9c, 0x04, - 0x31, 0xba, 0xee, 0x48, 0x52, 0x5b, 0x1a, 0x4a, 0xdb, 0x35, 0xc8, 0x4b, 0xcb, 0x21, 0xad, 0xd2, - 0xae, 0x3c, 0x5a, 0x84, 0x76, 0x0c, 0x1d, 0x97, 0x83, 0xa0, 0x1b, 0xe9, 0x68, 0x1b, 0x80, 0x72, - 0xa9, 0x17, 0x2d, 0x07, 0xbc, 0x3b, 0x9c, 0x4c, 0x2a, 0xf6, 0xd0, 0x81, 0x6c, 0xc5, 0xd8, 0xf0, - 0x96, 0xa5, 0xe3, 0x0f, 0xae, 0xc9, 0x10, 0xce, 0x40, 0xcb, 0x63, 0xcb, 0xa8, 0xc8, 0xb7, 0x97, - 0xd5, 0x8f, 0x9d, 0x64, 0x2d, 0x96, 0xc3, 0x5a, 0x2d, 0xdd, 0x8e, 0x60, 0x10, 0x46, 0x4a, 0x12, - 0xa6, 0x32, 0xcc, 0x16, 0xe1, 0xd5, 0x3c, 0x1f, 0x7f, 0x88, 0x80, 0x7b, 0x00, 0xf2, 0xcd, 0xd9, - 0x90, 0x3a, 0xdc, 0x65, 0xf2, 0x47, 0x9c, 0x99, 0x93, 0xe2, 0x5b, 0x11, 0x4f, 0x52, 0xc0, 0x7d, - 0x4a, 0xdb, 0x1b, 0xdb, 0xce, 0xba, 0x86, 0x74, 0x80, 0x06, 0xe5, 0x55, 0x99, 0x1a, 0xc0, 0xd6, - 0xe6, 0xc6, 0x43, 0x06, 0xdc, 0x21, 0x8a, 0x8e, 0xd9, 0xe6, 0x2e, 0xb3, 0xba, 0x98, 0x31, 0xb2, - 0x5c, 0x3a, 0xdd, 0x4e, 0x2b, 0xff, 0x94, 0xe8, 0x88, 0xdc, 0xd3, 0xb5, 0x4e, 0xbe, 0x31, 0x54, - 0xff, 0x0d, 0x3b, 0x6e, 0xeb, 0x4d, 0x1b, 0x8c, 0x99, 0x66, 0x30, 0xdf, 0x85, 0x40, 0xc3, 0xed, - 0x88, 0x89, 0xd5, 0x59, 0x2f, 0xb1, 0x3f, 0x09, 0x93, 0xc7, 0x33, 0x7a, 0xe7, 0xbe, 0xe6, 0x9e, - 0x7d, 0xd5, 0x7c, 0xd1, 0xbe, 0x85, 0xb8, 0x06, 0xd7, 0x4c, 0xc4, 0x7a, 0x50, 0xe2, 0xb2, 0x48, - 0x47, 0x13, 0x6e, 0x77, 0x99, 0x83, 0x9a, 0x3b, 0x07, 0x85, 0x94, 0x5d, 0xf1, 0xb6, 0x1c, 0xcb, - 0x04, 0x4a, 0x34, 0x51, 0x9e, 0x1b, 0x55, 0x55, 0x3e, 0x24, 0xa1, 0x3e, 0xb0, 0x19, 0xce, 0xfa, - 0xd1, 0x78, 0x8c, 0x9a, 0x36, 0x70, 0xf2, 0x29, 0xf1, 0xd1, 0x7c, 0xe4, 0x81, 0x4d, 0x83, 0x20, - 0x09, 0x94, 0xd6, 0x5c, 0x84, 0xa0, 0x73, 0xe1, 0x12, 0x83, 0x79, 0x79, 0x65, 0x2f, 0x5e, 0x78, - 0xdc, 0xb0, 0xa2, 0xab, 0x25, 0x28, 0xd0, 0x06, 0xe8, 0x95, 0x60, 0xeb, 0x73, 0xfa, 0x66, 0x17, - 0x2e, 0xca, 0x50, 0x43, 0xe3, 0xd3, 0x7b, 0x62, 0x94, 0xa8, 0x23, 0xa0, 0x67, 0x21, 0x6b, 0xb5, - 0xe8, 0xf8, 0xa9, 0x48, 0x41, 0xd8, 0x05, 0x34, 0xc7, 0x38, 0xac, 0xa4, 0x4d, 0xfc, 0xa0, 0x3d, - 0x97, 0x45, 0xed, 0x5c, 0x34, 0xc4, 0x93, 0x91, 0x7c, 0xcd, 0xe5, 0x25, 0xce, 0x27, 0xb4, 0x20, - 0x7f, 0x9c, 0x7b, 0x5b, 0xdb, 0xb0, 0xdd, 0xab, 0x70, 0xaf, 0xc4, 0x2e, 0x11, 0x3b, 0x87, 0x63, - 0xd7, 0x89, 0xf0, 0xe4, 0x18, 0x3c, 0x6a, 0x9f, 0xda, 0x4e, 0xfd, 0xa1, 0xd1, 0x35, 0x64, 0x0f, - 0xaa, 0x6c, 0xad, 0xd3, 0x0d, 0xc9, 0xc9, 0x83, 0x09, 0x13, 0x9d, 0x2f, 0xea, 0x77, 0x41, 0x84, - 0xe4, 0xd6, 0x44, 0xdf, 0xd1, 0x1e, 0xfe, 0xe0, 0x63, 0x7a, 0xce, 0xd9, 0x8b, 0x0a, 0xf6, 0x6b, - 0x59, 0x80, 0x70, 0xeb, 0x7f, 0xd5, 0xa0, 0xb6, 0xd2, 0x42, 0x78, 0x89, 0xa3, 0x5d, 0xad, 0x7c, - 0x26, 0x63, 0x32, 0xb4, 0xf2, 0x81, 0xe0, 0x03, 0x26, 0xef, 0x41, 0x2d, 0x47, 0xb5, 0xb4, 0x63, - 0x84, 0x95, 0x2f, 0x4e, 0x9e, 0x0a, 0xe4, 0x34, 0x4c, 0x41, 0xf3, 0x79, 0x90, 0x41, 0x2e, 0xb0, - 0xeb, 0xa5, 0x1e, 0xa8, 0x42, 0x5b, 0x3f, 0xab, 0x8b, 0x66, 0xd6, 0x00, 0x5d, 0x01, 0x25, 0x4c, - 0x2e, 0x48, 0x2f, 0xc4, 0x37, 0x9f, 0xc6, 0xb9, 0x9b, 0xb1, 0xea, 0x7e, 0x97, 0xea, 0x17, 0xd6, - 0xb1, 0xe9, 0x1a, 0x66, 0x31, 0xfa, 0x52, 0xae, 0xa5, 0xd7, 0x94, 0x32, 0x2f, 0xe3, 0xae, 0x1d, - 0x7b, 0x1e, 0xc7, 0xdc, 0x20, 0xdd, 0xba, 0x54, 0x63, 0xd3, 0x13, 0x1e, 0x31, 0x2f, 0xca, 0x5b, - 0x3b, 0x82, 0x88, 0x62, 0xf5, 0x63, 0xc0, 0xc5, 0x4c, 0xd4, 0x23, 0x87, 0x37, 0xd4, 0x14, 0x2a, - 0x1f, 0x23, 0x44, 0x81, 0x2a, 0x5c, 0x12, 0xdf, 0x94, 0xba, 0x78, 0xb9, 0x60, 0x55, 0x78, 0x15, - 0x92, 0xeb, 0x4d, 0xa8, 0x4f, 0xa7, 0x73, 0x6e, 0xfa, 0x00, 0x3d, 0x93, 0x63, 0x8a, 0x19, 0xb3, - 0xcd, 0x06, 0x33, 0x12, 0xc7, 0x29, 0x0c, 0xbf, 0xaa, 0xf9, 0xd6, 0xb4, 0x3c, 0x89, 0xc3, 0xed, - 0xb0, 0xd7, 0xfb, 0xa4, 0x07, 0x76, 0x2d, 0xa4, 0x77, 0x43, 0xb9, 0x70, 0x94, 0xf6, 0x18, 0x3e, - 0xe2, 0x9b, 0xd1, 0x92, 0x3c, 0x12, 0x8a, 0xa7, 0xd9, 0x1c, 0x46, 0x0b, 0x95, 0x77, 0x41, 0x1e, - 0x19, 0x43, 0xc2, 0xf1, 0x31, 0x1f, 0xf3, 0xbd, 0x07, 0xe8, 0xa0, 0xfa, 0x04, 0x3a, 0x6d, 0x6e, - 0x02, 0x0f, 0x13, 0x64, 0xe8, 0x7b, 0x3b, 0xb9, 0x46, 0x1b, 0x34, 0x34, 0x79, 0xa1, 0xd8, 0x69, - 0xee, 0x46, 0x25, 0x8f, 0x1f, 0x45, 0x23, 0xf7, 0xcd, 0x4d, 0x3a, 0xc9, 0x00, 0x7b, 0xf3, 0xfb, - 0xc8, 0x07, 0xe7, 0x26, 0xc7, 0x68, 0xe4, 0xec, 0x03, 0xb4, 0x09, 0xa0, 0x33, 0x5a, 0x75, 0xcb, - 0xd5, 0x1c, 0x6d, 0xa7, 0xf0, 0x37, 0xb3, 0x56, 0x08, 0xef, 0x6b, 0x09, 0x3f, 0x9c, 0x80, 0xb8, - 0xa8, 0xbd, 0xc1, 0x32, 0xcd, 0x97, 0x32, 0x64, 0x5b, 0x1c, 0x71, 0xd3, 0x0f, 0x4e, 0x81, 0x69, - 0x4d, 0xf5, 0xc8, 0x13, 0x6a, 0xeb, 0x3c, 0x6d, 0xce, 0x70, 0x5b, 0x4a, 0x4e, 0x7b, 0x7b, 0xde, - 0xb3, 0xd2, 0x56, 0x29, 0x55, 0x74, 0x4f, 0x2f, 0xc2, 0x6a, 0xf4, 0x46, 0x77, 0x20, 0xae, 0xea, - 0xec, 0x25, 0x1c, 0x1b, 0xc5, 0x35, 0xe2, 0x69, 0x80, 0x6d, 0x9d, 0x12, 0x7f, 0xcb, 0x78, 0xbe, - 0x22, 0x5b, 0xaa, 0xce, 0x1e, 0xf4, 0x80, 0x15, 0x9e, 0x11, 0xe2, 0x0c, 0x30, 0x81, 0x01, 0xc7, - 0x27, 0x9e, 0xde, 0x00, 0x18, 0x2d, 0x9c, 0xc9, 0xb2, 0x02, 0x4c, 0xbf, 0xea, 0x98, 0xf3, 0xd4, - 0x0e, 0x97, 0x3a, 0x6f, 0x33, 0x2a, 0x88, 0xb5, 0xa7, 0xaf, 0x8e, 0xd4, 0x3d, 0x76, 0x72, 0xd5, - 0x9b, 0xd1, 0x87, 0x94, 0x86, 0xe7, 0xab, 0x3b, 0x93, 0x99, 0x6a, 0x8c, 0x46, 0x43, 0x34, 0xf2, - 0xbd, 0x7b, 0x49, 0x2e, 0xb5, 0x17, 0x96, 0x19, 0xca, 0xb2, 0xa0, 0x90, 0x23, 0xea, 0x33, 0x40, - 0x5a, 0xbe, 0xcb, 0x73, 0xff, 0x3d, 0x43, 0xdf, 0xa9, 0x00, 0x1f, 0x99, 0x87, 0xdd, 0x8e, 0xfb, - 0x51, 0x9b, 0x35, 0xcd, 0x30, 0xc3, 0x70, 0x7f, 0x98, 0xe4, 0xaf, 0x01, 0xcc, 0xf8, 0xd7, 0x97, - 0x41, 0x98, 0x04, 0x5f, 0x7d, 0x05, 0x77, 0x5c, 0xf0, 0xef, 0x58, 0xec, 0x8b, 0x69, 0xcf, 0x34, - 0x4a, 0x65, 0x41, 0x74, 0xb8, 0xbd, 0xb0, 0x3d, 0x8b, 0x31, 0xde, 0xb5, 0xf4, 0x3a, 0x92, 0x17, - 0x80, 0x78, 0x96, 0x18, 0x05, 0xe4, 0x62, 0x8d, 0x58, 0x94, 0xfd, 0xb0, 0xac, 0xee, 0x49, 0x10, - 0x9a, 0x6a, 0xbe, 0xb0, 0x29, 0x9e, 0x2a, 0xeb, 0x6d, 0x6d, 0xdc, 0xed, 0x8d, 0xbc, 0x9e, 0xf3, - 0x64, 0x99, 0x17, 0xf8, 0x42, 0x06, 0x84, 0x9c, 0x0c, 0x43, 0x43, 0xf5, 0x8b, 0xab, 0x18, 0xed, - 0x9a, 0x95, 0x79, 0x75, 0xd0, 0xb5, 0x3b, 0xbc, 0xcb, 0x03, 0xf2, 0x14, 0x31, 0x32, 0x82, 0x7b, - 0x39, 0xce, 0x74, 0x35, 0x0e, 0xe5, 0x89, 0x81, 0xf1, 0x8a, 0xd5, 0x1a, 0x7b, 0x9e, 0x4d, 0xd3, - 0xf1, 0xfd, 0x78, 0xae, 0x8f, 0xcf, 0x19, 0x9c, 0x6d, 0x1b, 0x91, 0x27, 0xc8, 0x5d, 0x97, 0x81, - 0x3a, 0xb5, 0x58, 0xc0, 0x58, 0x76, 0xb5, 0x66, 0xbc, 0xb2, 0xab, 0x55, 0x1e, 0x69, 0xd7, 0xb2, - 0x97, 0x33, 0x03, 0x62, 0x19, 0xfa, 0x1e, 0x6e, 0x43, 0x1e, 0x16, 0xcb, 0x9f, 0xee, 0xe0, 0xab, - 0x54, 0x6b, 0xfb, 0x5f, 0x59, 0x14, 0x41, 0xc4, 0x25, 0xd6, 0x05, 0x47, 0xe9, 0xd8, 0x28, 0x41, - 0x37, 0xeb, 0x3d, 0x7d, 0x4d, 0x6b, 0x05, 0xcd, 0x09, 0xbb, 0x61, 0x3d, 0x62, 0xe9, 0x23, 0x3a, - 0xfd, 0x88, 0x7e, 0xc8, 0x96, 0x43, 0xb6, 0x27, 0x34, 0x9a, 0x53, 0x67, 0xb4, 0x79, 0x0e, 0x8b, - 0xe3, 0x8b, 0xa2, 0x32, 0x0b, 0xae, 0xc9, 0x35, 0x7f, 0x6c, 0x6b, 0x9a, 0xa2, 0x08, 0x06, 0xd5, - 0xa3, 0x82, 0xac, 0x58, 0x2b, 0x08, 0x59, 0xcf, 0x8e, 0xae, 0xe6, 0xa2, 0xa4, 0x7c, 0x6f, 0x5b, - 0x49, 0x05, 0xf3, 0xe3, 0x87, 0xd5, 0x78, 0xae, 0xc8, 0x8b, 0x1d, 0x07, 0x9c, 0x8a, 0xc4, 0x38, - 0xf9, 0x8f, 0x0f, 0x11, 0xf0, 0x88, 0x08, 0x45, 0x7a, 0xf2, 0x06, 0x17, 0xbd, 0x91, 0xb5, 0x02, - 0x10, 0x0f, 0xb2, 0xc6, 0x86, 0xdc, 0xc2, 0xfc, 0x8a, 0xfc, 0x42, 0x4e, 0x39, 0x40, 0x40, 0x6e, - 0x69, 0x87, 0x4d, 0x17, 0xd6, 0x2c, 0x1f, 0x36, 0x73, 0xc1, 0xf8, 0x32, 0x0a, 0xc4, 0x9f, 0x3c, - 0x80, 0xbb, 0x53, 0xab, 0xad, 0x42, 0x73, 0xb9, 0x5d, 0xec, 0x4e, 0x63, 0xe2, 0xf9, 0xa5, 0x5f, - 0x97, 0x56, 0x1a, 0x85, 0x6a, 0x4c, 0xbd, 0x6b, 0x08, 0x82, 0x75, 0x3f, 0x28, 0xdf, 0x85, 0xb2, - 0xc6, 0xd3, 0x3e, 0x0b, 0x55, 0x0f, 0xe6, 0x7b, 0x51, 0xf5, 0x5a, 0x73, 0x1a, 0x9f, 0x39, 0x69, - 0xe8, 0x51, 0x2c, 0x2d, 0xcc, 0xd1, 0x70, 0x88, 0x7e, 0x26, 0xf4, 0xf4, 0x33, 0x15, 0xd6, 0xca, - 0x65, 0x3a, 0x46, 0x49, 0x99, 0x08, 0x82, 0x20, 0xb2, 0x2d, 0xf2, 0xe0, 0xdb, 0x77, 0xdf, 0x4b, - 0x56, 0xfa, 0x85, 0x4b, 0x94, 0x78, 0x69, 0xde, 0x0e, 0x40, 0x09, 0x46, 0x09, 0xdb, 0x62, 0x7c, - 0x1d, 0x6d, 0x90, 0xaf, 0x0c, 0x70, 0xe7, 0x87, 0xc9, 0x69, 0x33, 0x64, 0x2d, 0x66, 0xf7, 0x93, - 0x02, 0x57, 0xe0, 0x17, 0xcc, 0x31, 0x54, 0x14, 0x67, 0xc4, 0xdf, 0x43, 0x18, 0xb0, 0xcf, 0x5d, - 0xe1, 0x67, 0x69, 0x39, 0xcf, 0x16, 0xd5, 0x0b, 0x60, 0x89, 0x18, 0x24, 0xf6, 0x62, 0x01, 0x2c, - 0xe7, 0x05, 0x94, 0xa4, 0xc1, 0x9f, 0x51, 0xb7, 0xc5, 0xa7, 0xd5, 0xcb, 0xea, 0x05, 0x6d, 0x74, - 0xb0, 0xc8, 0x5f, 0x60, 0x80, 0x1a, 0x5e, 0x0f, 0x2f, 0x46, 0x25, 0x06, 0x8a, 0x72, 0xb7, 0x6e, - 0x4b, 0x49, 0x6b, 0x4e, 0xde, 0x85, 0x94, 0x8e, 0x99, 0x90, 0x72, 0x7f, 0xe4, 0x66, 0x6b, 0xb3, - 0xc6, 0xa7, 0x5e, 0xd1, 0x38, 0xec, 0x34, 0x3d, 0xef, 0xe5, 0xbb, 0x00, 0xe3, 0x15, 0xb9, 0x7d, - 0x9a, 0x74, 0x73, 0xb8, 0xc6, 0x42, 0xf9, 0x28, 0xc6, 0x10, 0x35, 0x5a, 0xad, 0xbe, 0xe3, 0xf2, - 0x37, 0xd7, 0x72, 0xc5, 0x7d, 0xa4, 0x29, 0x94, 0x0e, 0x0f, 0xad, 0xdb, 0x6f, 0xe5, 0x96, 0x45, - 0x4c, 0xee, 0xaf, 0x87, 0x5e, 0x3d, 0x7f, 0x4e, 0xbb, 0x3f, 0x0f, 0x5e, 0xe3, 0xc1, 0xa2, 0xe1, - 0xf6, 0x68, 0x08, 0x7a, 0x7f, 0x9b, 0xce, 0x35, 0x97, 0x7b, 0x1c, 0xfc, 0x47, 0x09, 0x62, 0xf3, - 0xdd, 0x2c, 0x45, 0x6d, 0xe2, 0xf6, 0x25, 0x39, 0x2d, 0xcc, 0x75, 0xfa, 0xfc, 0x40, 0x09, 0xd6, - 0xa7, 0x3d, 0xdf, 0x88, 0x0b, 0x54, 0x92, 0xc1, 0x1e, 0xbb, 0xf6, 0xad, 0xd0, 0x60, 0x5b, 0x3b, - 0xc1, 0x70, 0x85, 0x28, 0x48, 0x5c, 0x61, 0xc7, 0x7b, 0x52, 0xfc, 0xf6, 0xe5, 0x54, 0xd8, 0xc3, - 0x54, 0x17, 0x24, 0xd6, 0xd2, 0x6b, 0x5d, 0xb6, 0xa2, 0x50, 0x69, 0x30, 0xb3, 0x1d, 0x81, 0x4a, - 0xa4, 0x02, 0x5f, 0xdd, 0x4b, 0x72, 0xfd, 0xbb, 0xed, 0x2b, 0x5c, 0xde, 0x76, 0x3b, 0x53, 0xb5, - 0xd7, 0x64, 0x3e, 0x9e, 0x21, 0xac, 0x45, 0x02, 0x24, 0x29, 0x79, 0x37, 0xad, 0x73, 0xd1, 0xea, - 0x86, 0x23, 0x50, 0x0b, 0x6a, 0x6d, 0xfb, 0x65, 0x5c, 0x2e, 0x49, 0x70, 0x29, 0xe9, 0x62, 0xa3, - 0xfc, 0xc1, 0x89, 0x5f, 0x20, 0x35, 0x60, 0x9c, 0x96, 0xdd, 0x4d, 0x7b, 0x80, 0xb0, 0x87, 0xad, - 0xf0, 0x44, 0x3e, 0x13, 0xc9, 0x39, 0x78, 0x17, 0x17, 0x97, 0xe4, 0x28, 0x56, 0x6e, 0x4d, 0xdf, - 0x13, 0x21, 0x09, 0x5e, 0x40, 0x3c, 0x6f, 0x07, 0xcf, 0xf1, 0xfc, 0xe3, 0xc1, 0xed, 0x5d, 0x60, - 0xf1, 0x2e, 0x3c, 0x7f, 0x45, 0x31, 0xfc, 0xd7, 0x2a, 0x25, 0x72, 0x05, 0xbf, 0xf2, 0x94, 0xa3, - 0xf3, 0x86, 0x5c, 0x29, 0x78, 0x4b, 0xfd, 0xfc, 0x0f, 0xb8, 0xef, 0x90, 0xb1, 0xfd, 0x4c, 0x53, - 0x66, 0xd0, 0x80, 0xa9, 0x11, 0x86, 0xb7, 0x95, 0xe4, 0x2e, 0x24, 0x91, 0x6b, 0xf7, 0x1c, 0x2e, - 0x7d, 0xdb, 0xc3, 0xc1, 0xfc, 0x19, 0x8e, 0xea, 0xe8, 0x86, 0x87, 0x60, 0x31, 0xcb, 0x10, 0xf9, - 0x65, 0xb4, 0xf8, 0xf8, 0x1e, 0x38, 0x48, 0xf5, 0xbe, 0xca, 0x97, 0x3f, 0xe4, 0x55, 0x36, 0xcd, - 0xd2, 0xe2, 0xa1, 0xc4, 0x92, 0x80, 0xfe, 0x17, 0x23, 0x66, 0x60, 0xf4, 0x25, 0xca, 0x31, 0x50, - 0x3b, 0x66, 0xe1, 0xcf, 0x78, 0xaa, 0xd5, 0x71, 0x4b, 0xed, 0xec, 0xca, 0x54, 0x33, 0x6c, 0x05, - 0x54, 0xfe, 0x88, 0x28, 0x4c, 0x87, 0x71, 0x55, 0xdf, 0x41, 0x81, 0xa8, 0x41, 0x70, 0x57, 0x64, - 0x95, 0x0d, 0x40, 0xe6, 0x34, 0x71, 0x7b, 0x40, 0x2d, 0x74, 0x22, 0x36, 0xff, 0x27, 0x03, 0xe5, - 0xc2, 0xe6, 0x15, 0x68, 0xfb, 0x54, 0xa3, 0x21, 0x21, 0x5f, 0x24, 0x50, 0xad, 0x15, 0x7e, 0x3f, - 0x3e, 0x7f, 0xf9, 0xb0, 0x09, 0x8e, 0x5f, 0x6e, 0x11, 0xc9, 0x4e, 0x1c, 0x31, 0x86, 0xa6, 0xe2, - 0x1a, 0xa5, 0x6b, 0x1c, 0xc5, 0x54, 0x23, 0x25, 0x5d, 0x3a, 0xa2, 0xc1, 0xcc, 0x47, 0x12, 0xc4, - 0x56, 0xe5, 0x7c, 0x97, 0x47, 0xd2, 0x1b, 0xe8, 0xa9, 0x7c, 0xd8, 0x84, 0x64, 0x17, 0xd7, 0x59, - 0xe5, 0x32, 0xb6, 0x68, 0xe5, 0xe6, 0x42, 0x38, 0x73, 0x4c, 0xe8, 0x44, 0xf4, 0x53, 0xdc, 0xbf, - 0x8c, 0x1e, 0x82, 0x7b, 0x37, 0x47, 0xa2, 0x71, 0xd9, 0x20, 0x1a, 0xf2, 0xa3, 0xf6, 0xcc, 0x3c, - 0x7e, 0x96, 0x17, 0xcd, 0xe3, 0x33, 0x91, 0xfd, 0x50, 0x54, 0x54, 0x90, 0x55, 0xe7, 0x31, 0x92, - 0xcd, 0x30, 0x43, 0x4a, 0xe7, 0xbc, 0x45, 0x43, 0x36, 0x2b, 0x3d, 0xd5, 0x4d, 0xa1, 0x3f, 0x87, - 0x6d, 0x96, 0xb6, 0x85, 0x40, 0xcf, 0x97, 0x5e, 0x37, 0x4b, 0xe7, 0x2b, 0x4f, 0x0f, 0x9a, 0x68, - 0x78, 0x52, 0xaf, 0x0e, 0x9c, 0x6b, 0x3d, 0xa0, 0x7c, 0x90, 0xbc, 0x36, 0x56, 0x71, 0xf0, 0x65, - 0x90, 0x5c, 0xd6, 0x20, 0xe6, 0xa1, 0x3d, 0xca, 0x7c, 0x01, 0x68, 0x6d, 0x9d, 0x6c, 0x4e, 0xff, - 0x95, 0x11, 0x43, 0x63, 0x27, 0x97, 0xc1, 0xc3, 0x30, 0x5d, 0x30, 0xcd, 0xca, 0x29, 0x43, 0x39, - 0xf2, 0x3f, 0xc1, 0xb6, 0xa0, 0xbd, 0x09, 0x3a, 0x65, 0xcc, 0x69, 0x6c, 0x9e, 0x52, 0xd7, 0xb9, - 0xc4, 0x9b, 0xc2, 0xe8, 0x69, 0x98, 0x79, 0x15, 0xb2, 0x24, 0x71, 0x03, 0xf2, 0xb7, 0x23, 0xbf, - 0x8d, 0xda, 0xb8, 0xcc, 0xfe, 0x93, 0xbe, 0xb5, 0x75, 0x06, 0x9e, 0x11, 0xa6, 0xf4, 0x92, 0x72, - 0x94, 0xb0, 0x44, 0xa5, 0x05, 0x13, 0x3a, 0x68, 0x82, 0x92, 0x23, 0x34, 0x6b, 0xb5, 0x70, 0xea, - 0x9b, 0x0d, 0x52, 0x8a, 0x3a, 0x2b, 0x16, 0xb3, 0xe0, 0x5d, 0x45, 0xed, 0x4a, 0xba, 0x3e, 0x1a, - 0xc5, 0xd5, 0xf8, 0xce, 0x22, 0x5b, 0xa9, 0x6d, 0x75, 0x75, 0x90, 0x4b, 0x8d, 0xc7, 0xf1, 0x23, - 0x8d, 0xd7, 0x5d, 0xb1, 0x78, 0x61, 0x99, 0x4b, 0xcb, 0xf9, 0x74, 0x25, 0xbd, 0x05, 0x61, 0xa9, - 0x24, 0xf6, 0x05, 0x76, 0x4f, 0x5e, 0x5c, 0x46, 0x0a, 0xd9, 0x48, 0xb4, 0xd3, 0x05, 0xed, 0xdc, - 0x8e, 0x8a, 0x20, 0xc5, 0xc7, 0x5f, 0xa5, 0xa4, 0xf6, 0x1d, 0x2e, 0xde, 0x55, 0x69, 0x01, 0x68, - 0x27, 0x0f, 0x89, 0xab, 0xef, 0xd8, 0x2f, 0xcd, 0xc1, 0xb3, 0xb3, 0x33, 0x4d, 0x2b, 0xd0, 0xb9, - 0x7e, 0x3e, 0xf8, 0x67, 0x99, 0x2f, 0x0e, 0xd8, 0xf0, 0x3f, 0x77, 0x58, 0xe5, 0x0e, 0x7d, 0xfb, - 0x31, 0xc1, 0x0e, 0x93, 0x18, 0x9b, 0x84, 0x1d, 0xa3, 0xae, 0x50, 0x81, 0xed, 0xec, 0x58, 0x53, - 0x81, 0x7f, 0xf0, 0x58, 0xf0, 0xed, 0x82, 0x9f, 0x0f, 0x12, 0xc2, 0x18, 0x5f, 0x46, 0x85, 0x61, - 0xfa, 0x4b, 0x47, 0x87, 0x82, 0x1b, 0xc9, 0x20, 0x7d, 0x1d, 0x1c, 0x75, 0xe8, 0x2d, 0x23, 0xe3, - 0x4e, 0xb1, 0x09, 0x2e, 0x31, 0x9f, 0xc3, 0x49, 0xcf, 0xaf, 0xb1, 0xbf, 0x02, 0x9d, 0xfd, 0xf9, - 0x00, 0xc2, 0x66, 0xb7, 0x8b, 0xf6, 0x63, 0xfa, 0x9b, 0xe7, 0xd2, 0x93, 0xa8, 0xa4, 0xf9, 0x00, - 0x59, 0x47, 0x12, 0x64, 0x27, 0x70, 0xc4, 0x51, 0x27, 0x80, 0xb1, 0xbd, 0xe2, 0xd0, 0x0e, 0x9e, - 0x13, 0xa5, 0x75, 0x78, 0x93, 0xa3, 0x4d, 0xbb, 0x3c, 0x28, 0x89, 0x52, 0xf2, 0x82, 0x5c, 0xba, - 0x07, 0x65, 0x31, 0x3e, 0xa0, 0x5a, 0xca, 0x8f, 0xf8, 0x3b, 0xa6, 0x95, 0xc1, 0x35, 0x26, 0x70, - 0x20, 0x71, 0xe2, 0x20, 0x41, 0x30, 0xfd, 0xe7, 0xb6, 0x1f, 0x1f, 0x9e, 0xc5, 0x5d, 0xbc, 0xc0, - 0x6d, 0x67, 0x34, 0xe6, 0x2d, 0x11, 0x49, 0x7e, 0x48, 0x68, 0x1b, 0xe6, 0xa2, 0x50, 0xac, 0xf6, - 0x6c, 0x9f, 0x89, 0xca, 0xcf, 0xd2, 0x8f, 0x29, 0x49, 0xb9, 0x38, 0x2d, 0xf0, 0xda, 0x8b, 0xa3, - 0x1e, 0x6a, 0x14, 0x08, 0x43, 0x44, 0x74, 0xa8, 0xb5, 0x87, 0x58, 0x9b, 0x9d, 0x6b, 0xd8, 0x12, - 0xd5, 0x0e, 0x5a, 0x25, 0x53, 0xfc, 0x65, 0x09, 0x92, 0x4a, 0x3a, 0xd1, 0xb2, 0x76, 0xf1, 0x20, - 0x67, 0xdc, 0xd3, 0xf0, 0x63, 0x50, 0xe4, 0x77, 0x83, 0x40, 0xf8, 0x12, 0xfe, 0x04, 0xb8, 0x1b, - 0x0f, 0xa1, 0xac, 0x7c, 0x7e, 0x10, 0x9c, 0x0a, 0x67, 0x94, 0x17, 0xa4, 0x48, 0x7b, 0x44, 0xd6, - 0x27, 0x01, 0x1e, 0x3c, 0x87, 0xff, 0x01, 0x08, 0xb6, 0x30, 0x10, 0x29, 0xb0, 0x6c, 0xc1, 0x4b, - 0x60, 0x31, 0x62, 0xb3, 0xbc, 0x48, 0x1d, 0x26, 0x5b, 0x41, 0xeb, 0x51, 0x2d, 0x5a, 0x4f, 0x36, - 0x40, 0x2b, 0x2c, 0x6d, 0x8b, 0x18, 0x95, 0xd0, 0x9e, 0x14, 0x99, 0xbd, 0xa7, 0x42, 0x66, 0x4b, - 0xa4, 0xcd, 0x80, 0x63, 0x82, 0x00, 0xe0, 0xc7, 0x1b, 0x85, 0x56, 0xe6, 0x45, 0xf5, 0x8e, 0xbe, - 0x4f, 0xd2, 0x50, 0x28, 0xca, 0x61, 0xd5, 0xbd, 0x48, 0xb6, 0x7d, 0x7d, 0xef, 0x68, 0xf8, 0xfa, - 0x1e, 0x5a, 0x25, 0x3a, 0x4f, 0xf0, 0xcc, 0xc4, 0xc6, 0xb9, 0x35, 0x0f, 0x7d, 0x70, 0x44, 0x43, - 0x72, 0x69, 0xcc, 0x40, 0x19, 0x16, 0xeb, 0xbb, 0x97, 0xfa, 0xd8, 0xfe, 0x5d, 0xe9, 0x3f, 0x3d, - 0x89, 0x1f, 0x77, 0x79, 0xad, 0x5d, 0x95, 0xb4, 0xa6, 0x7e, 0xff, 0x12, 0x0e, 0xb7, 0xb1, 0x84, - 0xe3, 0xde, 0x9a, 0x84, 0x05, 0x5a, 0x45, 0xd8, 0x3b, 0x49, 0x06, 0x87, 0x30, 0xe0, 0xbf, 0xc1, - 0x85, 0x54, 0xce, 0xf2, 0xbb, 0xbf, 0x90, 0xd0, 0x86, 0xbf, 0x92, 0xed, 0x75, 0x87, 0xad, 0x64, - 0xd3, 0x21, 0x89, 0x4a, 0x19, 0x1e, 0x93, 0x0c, 0x88, 0x7c, 0xae, 0x28, 0x51, 0x57, 0x2c, 0xeb, - 0x2b, 0xfd, 0xa1, 0xfc, 0x4d, 0x16, 0x4b, 0xc4, 0xa3, 0x61, 0x1f, 0xe6, 0x08, 0xa7, 0x39, 0x9f, - 0xaf, 0x6e, 0x16, 0x25, 0xdb, 0xeb, 0xc3, 0x4b, 0xb3, 0x2d, 0x19, 0x81, 0xbf, 0x39, 0xa5, 0x75, - 0x2e, 0xb9, 0x5d, 0x85, 0xeb, 0x79, 0x52, 0x00, 0x17, 0xb6, 0x04, 0x48, 0x9d, 0x0f, 0x6c, 0x21, - 0xb2, 0x1c, 0x48, 0xc8, 0x47, 0x55, 0xea, 0x08, 0xb8, 0x35, 0xe2, 0xba, 0xfc, 0x42, 0xce, 0x98, - 0x63, 0x84, 0xac, 0x0c, 0x91, 0xf8, 0x96, 0x30, 0xf8, 0xef, 0x00, 0x14, 0x27, 0xf6, 0x2e, 0x49, - 0xd6, 0x68, 0x62, 0xf0, 0x24, 0x34, 0xef, 0x6e, 0x71, 0x57, 0x2b, 0xf7, 0xf6, 0x4e, 0x55, 0x28, - 0x89, 0x21, 0x76, 0xab, 0x62, 0x57, 0xf4, 0xda, 0xf1, 0x63, 0x85, 0x2e, 0xd8, 0x8b, 0x14, 0x13, - 0x2d, 0xd2, 0xd2, 0x8b, 0x12, 0x86, 0x00, 0x8f, 0xa7, 0x9a, 0xe5, 0xa2, 0x12, 0xb5, 0xc4, 0x3c, - 0xc6, 0x96, 0xd0, 0x11, 0x8b, 0xd7, 0x00, 0x90, 0xb4, 0x4c, 0x15, 0xe8, 0x71, 0xbb, 0xc4, 0xa2, - 0xb9, 0x0b, 0x7f, 0x30, 0xf9, 0x61, 0x02, 0xda, 0xf2, 0x49, 0xb5, 0x2b, 0x9a, 0x3e, 0x30, 0x2e, - 0xb0, 0x63, 0xc5, 0x08, 0xc9, 0xa9, 0x1a, 0x79, 0xd9, 0x10, 0xae, 0x88, 0x23, 0xda, 0x3a, 0x1e, - 0x6e, 0xc8, 0xbc, 0x75, 0x51, 0x4c, 0xe2, 0x83, 0xa7, 0x9b, 0x83, 0x26, 0x55, 0x23, 0x46, 0x1c, - 0xa0, 0xc4, 0x72, 0x97, 0xa1, 0x12, 0xc9, 0xaf, 0x2c, 0x75, 0xca, 0xde, 0x6d, 0x70, 0x56, 0x3c, - 0x2a, 0xdf, 0x57, 0xf8, 0x24, 0x8f, 0xa4, 0xcf, 0x88, 0x02, 0x76, 0x6e, 0x22, 0x6a, 0x29, 0xc6, - 0xcc, 0x20, 0xdf, 0xd1, 0x84, 0x49, 0x34, 0x24, 0x89, 0x66, 0xd0, 0xa1, 0x0e, 0x7e, 0xd1, 0xe2, - 0x3d, 0xcb, 0x77, 0x44, 0x9b, 0xfc, 0x44, 0x9e, 0x9a, 0x02, 0x5d, 0xf6, 0x4f, 0x4e, 0xce, 0x4e, - 0xce, 0xba, 0xa7, 0x16, 0x2e, 0x5a, 0x9c, 0x53, 0xf8, 0x87, 0xe0, 0x5a, 0xe2, 0x9f, 0x6e, 0xc0, - 0xba, 0x47, 0x93, 0x49, 0xb9, 0x3a, 0x8f, 0x6b, 0x7b, 0x14, 0x95, 0xc1, 0xa9, 0x38, 0xad, 0x6d, - 0xa4, 0x36, 0x88, 0xb9, 0xc9, 0x80, 0x7d, 0x3e, 0xa0, 0xfe, 0x9a, 0x82, 0x34, 0x7e, 0x50, 0xbd, - 0x2f, 0xae, 0xfe, 0x1e, 0x1e, 0x22, 0x60, 0xaa, 0xc0, 0xea, 0xce, 0x99, 0x8f, 0xfa, 0x2a, 0x6d, - 0x36, 0xe2, 0xcf, 0x07, 0x03, 0xdb, 0xeb, 0x50, 0xb9, 0x39, 0x90, 0x8c, 0x59, 0x37, 0x20, 0xdb, - 0xe0, 0x90, 0xf9, 0x38, 0x36, 0xd3, 0x3e, 0x1c, 0xb8, 0x09, 0x7e, 0x06, 0xd8, 0x31, 0xb4, 0x1f, - 0x79, 0x60, 0xce, 0x2d, 0x7c, 0x2b, 0x1c, 0xd5, 0xc9, 0x33, 0xad, 0x86, 0x06, 0x5a, 0xeb, 0x8e, - 0xa0, 0x82, 0xd1, 0x07, 0x19, 0x44, 0x2f, 0x67, 0xa3, 0xce, 0x72, 0x68, 0x06, 0xf8, 0x1b, 0x93, - 0x93, 0x9a, 0xb3, 0x02, 0x56, 0x9c, 0x71, 0x35, 0xf0, 0xca, 0x38, 0xe2, 0xb2, 0x9c, 0xe5, 0x83, - 0xac, 0x14, 0xf5, 0x51, 0xcb, 0xea, 0xa8, 0xec, 0x87, 0x1a, 0x67, 0xd6, 0xc4, 0x7b, 0x26, 0x12, - 0x1f, 0x0f, 0xba, 0x82, 0xa7, 0xdc, 0xfd, 0xa7, 0xdd, 0xc1, 0x11, 0x9c, 0xff, 0xfa, 0x6b, 0xfe, - 0xcc, 0xba, 0xe6, 0x69, 0x6a, 0x2d, 0xe5, 0xca, 0xa6, 0x6e, 0xb7, 0x73, 0xb3, 0xc5, 0x90, 0xb0, - 0x20, 0xd5, 0xbe, 0x49, 0x2a, 0x6f, 0x68, 0xb4, 0xb5, 0x52, 0x82, 0x19, 0x44, 0xf2, 0x32, 0x75, - 0x0b, 0x0c, 0x87, 0x84, 0x11, 0x19, 0xcc, 0x0b, 0x69, 0xaa, 0xd7, 0xbb, 0xbc, 0x20, 0x1c, 0x8a, - 0x0b, 0xf1, 0x47, 0x97, 0xb1, 0x0c, 0x52, 0x7f, 0x8c, 0x2c, 0x71, 0xf8, 0x18, 0x59, 0xe2, 0x30, - 0xf4, 0x89, 0x77, 0xea, 0x08, 0x2e, 0x59, 0xc2, 0xcc, 0xa5, 0x46, 0x45, 0xfc, 0x21, 0xcb, 0x84, - 0xa8, 0x48, 0x04, 0x70, 0xc8, 0x5c, 0x2d, 0x38, 0x97, 0x3e, 0xbc, 0xa4, 0xf9, 0x4b, 0x78, 0xa2, - 0x3b, 0x03, 0x49, 0xe6, 0xb0, 0x75, 0xa2, 0x07, 0x05, 0xa1, 0x8a, 0x1f, 0xb4, 0x44, 0x5e, 0xe0, - 0x3b, 0x22, 0x95, 0x9b, 0x68, 0x42, 0x4b, 0x3e, 0xa1, 0x94, 0x62, 0x66, 0xd1, 0x33, 0xe3, 0xe4, - 0x65, 0x13, 0xde, 0xc0, 0x95, 0x14, 0x8e, 0xcb, 0x2d, 0x1c, 0x6d, 0x42, 0x76, 0xb1, 0xa9, 0x19, - 0x20, 0xec, 0xee, 0x06, 0x5f, 0x06, 0xa1, 0x9e, 0xd3, 0xd6, 0xb8, 0xae, 0x39, 0x9d, 0x1e, 0x5d, - 0x42, 0x8d, 0x71, 0x1d, 0x73, 0xbe, 0x78, 0x78, 0xd9, 0xe9, 0x00, 0xa0, 0xdd, 0xc0, 0x90, 0x8f, - 0xf4, 0x03, 0xce, 0xe9, 0x5f, 0xde, 0xef, 0x1c, 0xb6, 0xfb, 0x08, 0xd0, 0x44, 0x82, 0x79, 0x36, - 0x41, 0xbb, 0xa0, 0x2b, 0x04, 0xda, 0x49, 0x3f, 0x8f, 0x11, 0xca, 0x38, 0xd2, 0xb4, 0x00, 0x6f, - 0x29, 0x30, 0xf1, 0x6a, 0x8a, 0xf7, 0xa7, 0x91, 0xdb, 0xf8, 0x18, 0x3e, 0xd9, 0xcd, 0x9d, 0x05, - 0x72, 0x5d, 0xd4, 0x2a, 0x73, 0x27, 0x61, 0x4a, 0x8c, 0x9b, 0xa9, 0x33, 0x63, 0xec, 0x8c, 0x29, - 0x63, 0xe9, 0x42, 0xa1, 0x28, 0x82, 0x6f, 0x85, 0xa4, 0xdc, 0xf8, 0x07, 0xc4, 0x53, 0xa8, 0x9a, - 0x03, 0xd7, 0x75, 0xc5, 0x2c, 0x89, 0x6b, 0xca, 0x29, 0x4a, 0x52, 0x61, 0x8a, 0x55, 0xeb, 0x93, - 0xd6, 0x24, 0x4c, 0x95, 0xb3, 0x0a, 0x01, 0x13, 0x16, 0x7d, 0x98, 0x9c, 0x1d, 0xf6, 0x7b, 0x5d, - 0x8f, 0x78, 0xb8, 0x29, 0x57, 0x5e, 0x4f, 0x72, 0x3c, 0x7c, 0xa4, 0xe4, 0xe8, 0x61, 0xbc, 0xbf, - 0x31, 0xc9, 0xf1, 0x70, 0x3b, 0x92, 0xa3, 0x9b, 0xfe, 0x7f, 0x73, 0x02, 0xe4, 0x61, 0xbd, 0x00, - 0xa9, 0x1b, 0xfd, 0x2c, 0xa6, 0x99, 0x1c, 0xf7, 0x4f, 0x0f, 0x65, 0x7e, 0x4f, 0x8d, 0x29, 0x63, - 0xb4, 0x46, 0xf8, 0x59, 0x98, 0xb5, 0x8a, 0xa8, 0xb6, 0x77, 0x48, 0xa7, 0x0d, 0x02, 0x1c, 0x6a, - 0x1d, 0xd7, 0x00, 0x8d, 0xb3, 0x47, 0x8f, 0xeb, 0xa1, 0x3a, 0x93, 0xad, 0x31, 0xbc, 0x6d, 0x08, - 0xb8, 0x2c, 0x25, 0xec, 0x66, 0x42, 0xae, 0x64, 0x87, 0x4a, 0xfc, 0x89, 0xe4, 0xb4, 0x6d, 0x64, - 0xdd, 0x93, 0xa3, 0x41, 0xd2, 0x63, 0x86, 0x2e, 0x58, 0x64, 0x5c, 0xa6, 0xa3, 0x62, 0x3c, 0xfb, - 0x49, 0x10, 0x8e, 0x10, 0x19, 0x1a, 0xac, 0x5e, 0xa7, 0x96, 0x38, 0x4c, 0x52, 0x13, 0x9f, 0x1b, - 0xbf, 0xd7, 0x97, 0x7d, 0x0d, 0x19, 0x90, 0x42, 0xa1, 0xff, 0x75, 0x49, 0x80, 0x8e, 0x7a, 0x2e, - 0xff, 0xf5, 0x99, 0xfc, 0xc7, 0x72, 0x29, 0x3f, 0x42, 0xfc, 0x23, 0x10, 0x54, 0xd1, 0x8e, 0x14, - 0xec, 0x1a, 0x86, 0x1e, 0x36, 0x8e, 0xa0, 0x75, 0x0b, 0x01, 0x8f, 0x39, 0x81, 0xc4, 0xbe, 0xc1, - 0x0f, 0xe0, 0x51, 0x93, 0xb4, 0xb4, 0x81, 0xe4, 0xc2, 0x66, 0x6f, 0x0a, 0x2e, 0x9e, 0xc4, 0xd4, - 0x9f, 0x42, 0x5c, 0xe0, 0xf8, 0xa4, 0xc8, 0x8e, 0x5c, 0xa4, 0xf0, 0x79, 0x44, 0x05, 0x6b, 0x53, - 0xfa, 0xbd, 0x93, 0xe3, 0x53, 0xe4, 0xc6, 0xf6, 0x96, 0x13, 0x66, 0xfc, 0x19, 0x28, 0xc1, 0x62, - 0xc5, 0x8d, 0xd4, 0xf9, 0x34, 0x8c, 0x58, 0x60, 0x25, 0x96, 0xf8, 0x58, 0x9b, 0x78, 0x34, 0x66, - 0xbe, 0x2d, 0x7a, 0xdc, 0x06, 0x37, 0x27, 0xa3, 0x6f, 0x95, 0x3f, 0x9f, 0x1e, 0x0f, 0x92, 0x63, - 0xe4, 0xcf, 0x78, 0x17, 0x68, 0x38, 0xbd, 0x40, 0x76, 0x4d, 0xb4, 0x9a, 0x51, 0xc9, 0x14, 0x08, - 0x37, 0x8f, 0xd6, 0x45, 0x2a, 0x83, 0x4b, 0x5b, 0x36, 0x8a, 0x4a, 0x50, 0xe4, 0xc1, 0x73, 0x5a, - 0xc9, 0x50, 0x75, 0xdc, 0xbb, 0x8c, 0xf1, 0x29, 0x31, 0x92, 0xd7, 0xae, 0xc7, 0xa1, 0x41, 0x3b, - 0x30, 0x89, 0x86, 0x31, 0xf9, 0x66, 0x76, 0x5a, 0xa7, 0x2a, 0x2b, 0x06, 0x77, 0xe2, 0x0d, 0xaf, - 0x4c, 0xe2, 0xb4, 0x94, 0x5c, 0x7b, 0x0e, 0xee, 0xb5, 0xe8, 0x2a, 0x6e, 0x2b, 0x45, 0x78, 0x03, - 0x36, 0x4a, 0x01, 0x79, 0x15, 0x40, 0x5e, 0x5d, 0x6d, 0x6e, 0x0a, 0x6f, 0x50, 0x54, 0xc8, 0xb7, - 0xf0, 0x54, 0xe6, 0xd3, 0x6e, 0x83, 0x3b, 0x1d, 0xe5, 0x53, 0x08, 0x51, 0x20, 0xd1, 0xfe, 0x98, - 0x79, 0x38, 0xb6, 0x86, 0x4c, 0x69, 0xad, 0x2d, 0xd3, 0x58, 0x59, 0x8b, 0xdd, 0x3f, 0x37, 0x1b, - 0x37, 0x18, 0x3b, 0x1e, 0xc5, 0x00, 0x84, 0x22, 0xdf, 0x28, 0x77, 0xf5, 0x07, 0xa7, 0xe2, 0x58, - 0x33, 0x64, 0xe1, 0x41, 0x86, 0x3f, 0x1b, 0x4f, 0x71, 0xdf, 0xf6, 0x30, 0xce, 0xd4, 0x03, 0x39, - 0xd3, 0xa5, 0x2c, 0xb7, 0x15, 0x8d, 0x82, 0xc2, 0x68, 0x73, 0x27, 0x9d, 0x51, 0xf3, 0x8a, 0xce, - 0x28, 0xbd, 0xb2, 0x61, 0x47, 0xa4, 0x90, 0x36, 0xa5, 0xc2, 0x73, 0x0d, 0xdc, 0x1a, 0x7a, 0x71, - 0xcb, 0x01, 0xce, 0x1c, 0x7e, 0x47, 0xfe, 0x54, 0x41, 0xae, 0x50, 0x7c, 0x50, 0xc1, 0x58, 0x75, - 0xe7, 0xdc, 0xe9, 0xad, 0x74, 0x00, 0x40, 0x2f, 0xa5, 0x55, 0xca, 0x40, 0xb4, 0xf0, 0x54, 0xce, - 0x34, 0x4f, 0xe5, 0x6c, 0x77, 0x03, 0xaf, 0xe1, 0x4c, 0xb9, 0xab, 0xf5, 0x1d, 0x5e, 0x5b, 0x78, - 0xb0, 0x10, 0x4e, 0xc3, 0x16, 0xa8, 0x8f, 0xfb, 0x0d, 0x02, 0x7e, 0x02, 0x79, 0x12, 0x17, 0x60, - 0x32, 0x41, 0xbf, 0x83, 0x70, 0xb6, 0x81, 0x83, 0xd0, 0xb5, 0xef, 0xc8, 0x5d, 0xd6, 0xa0, 0x87, - 0x0e, 0x11, 0x4f, 0xea, 0x7c, 0x1e, 0xda, 0xf8, 0xe7, 0x86, 0xc7, 0xc4, 0xe7, 0xc9, 0x69, 0xf6, - 0x98, 0x6c, 0x44, 0x72, 0xd6, 0x38, 0x1f, 0xd7, 0xf2, 0x00, 0xcd, 0x6a, 0x3c, 0x40, 0x35, 0xc2, - 0x6e, 0xad, 0x7c, 0x47, 0xaf, 0x9b, 0x99, 0x2d, 0xf2, 0x7e, 0x36, 0x92, 0xb5, 0x04, 0xdf, 0x9a, - 0x93, 0xb4, 0x25, 0x29, 0x90, 0x24, 0x13, 0x74, 0xd3, 0xb8, 0xd3, 0x8b, 0xe6, 0x18, 0xd6, 0x7b, - 0x6f, 0x9c, 0xb1, 0x7b, 0x83, 0xc5, 0xa5, 0x48, 0x8f, 0x62, 0x83, 0x7e, 0x7e, 0xe2, 0xbc, 0x33, - 0x1e, 0xc3, 0xba, 0xb6, 0xc3, 0x03, 0x36, 0x47, 0x70, 0x03, 0xa6, 0xfa, 0x49, 0x32, 0xe8, 0x1f, - 0x35, 0x79, 0xf1, 0x8e, 0x2c, 0xb4, 0xe0, 0x47, 0x29, 0x86, 0xd5, 0xe8, 0xfa, 0xdc, 0x28, 0xa2, - 0xf3, 0x6e, 0x83, 0x32, 0x0e, 0x81, 0x3d, 0xa0, 0x60, 0xdf, 0x98, 0x09, 0xe9, 0x47, 0x64, 0xce, - 0xb5, 0x56, 0xe2, 0x83, 0x2c, 0xec, 0x0b, 0x65, 0xe7, 0x26, 0x8c, 0x78, 0xc4, 0x3e, 0x1f, 0x22, - 0xc6, 0x6f, 0x8f, 0x7c, 0x01, 0xe3, 0x06, 0x0e, 0x56, 0x06, 0x24, 0xf2, 0x3e, 0x2f, 0x48, 0x9c, - 0x2a, 0x3b, 0x46, 0x27, 0x97, 0x66, 0x3e, 0x1c, 0x85, 0x33, 0xeb, 0x1b, 0xa7, 0xcc, 0xc0, 0xbf, - 0x83, 0x6d, 0x05, 0x56, 0x63, 0x2a, 0x49, 0x0f, 0x08, 0x5a, 0xcc, 0x75, 0xe9, 0x9b, 0xeb, 0xe3, - 0x28, 0x46, 0x59, 0x80, 0x7e, 0xfd, 0x28, 0x4d, 0xc5, 0x1c, 0xda, 0x38, 0x89, 0xfb, 0xdd, 0x33, - 0x69, 0x38, 0xa3, 0x11, 0x7a, 0xe4, 0xb6, 0x61, 0x4a, 0x59, 0xc3, 0x69, 0x3c, 0xac, 0x21, 0x3b, - 0x59, 0x56, 0x8c, 0xee, 0x04, 0xbb, 0x0c, 0x5d, 0xa1, 0x82, 0x34, 0x58, 0x9f, 0x76, 0x78, 0xc5, - 0x30, 0xfb, 0x4d, 0x39, 0xe6, 0x6c, 0x92, 0x86, 0x0a, 0xee, 0x0c, 0x58, 0xcd, 0xb7, 0xa9, 0xa8, - 0x3a, 0xbe, 0xec, 0x30, 0x35, 0xee, 0xbf, 0x12, 0x95, 0x0b, 0x7c, 0x7d, 0x1e, 0xba, 0x16, 0xfb, - 0x13, 0x05, 0x6c, 0x23, 0xe8, 0x1f, 0x0c, 0xef, 0x67, 0xc4, 0x22, 0x24, 0xf7, 0x94, 0x5c, 0x8b, - 0x6b, 0x6d, 0xf1, 0x4e, 0xcd, 0x26, 0xef, 0xd4, 0x6d, 0x73, 0x47, 0x3b, 0x60, 0x62, 0xcc, 0xdf, - 0xdc, 0x91, 0xea, 0x6e, 0xae, 0x13, 0xf5, 0x1a, 0x74, 0xa2, 0xae, 0xa2, 0x57, 0xea, 0x92, 0x44, - 0x95, 0x55, 0x73, 0xdb, 0xa8, 0xd1, 0x55, 0x7f, 0x24, 0x35, 0xda, 0xd5, 0x06, 0x36, 0x6c, 0x4b, - 0xf6, 0xe4, 0xe1, 0xe8, 0x4e, 0x1d, 0xcc, 0x08, 0xff, 0x25, 0x04, 0xe1, 0xd0, 0x98, 0xbc, 0x2a, - 0xd2, 0xe1, 0x79, 0x9d, 0x4a, 0xc7, 0xd8, 0xac, 0xb7, 0xf7, 0xd1, 0xc6, 0x0a, 0x16, 0x5d, 0xd4, - 0x36, 0x55, 0x2c, 0xb9, 0xfd, 0xf3, 0x0c, 0xea, 0xb9, 0xf9, 0x3f, 0x8e, 0x63, 0x38, 0xce, 0xa5, - 0xc4, 0x1b, 0x5b, 0x0a, 0xda, 0x48, 0x95, 0x76, 0xdc, 0x0d, 0x40, 0xad, 0xa7, 0x2a, 0x16, 0x48, - 0xfe, 0x0f, 0x02, 0x62, 0x0d, 0x1f, 0x40, 0x8d, 0x4e, 0x57, 0x75, 0x85, 0xb5, 0xaa, 0x6b, 0x0a, - 0x96, 0x55, 0xf2, 0x98, 0xd0, 0xd1, 0xa7, 0x54, 0x02, 0x39, 0x29, 0x04, 0xaf, 0x82, 0xdd, 0xac, - 0xe4, 0xf7, 0xef, 0x6e, 0x30, 0x00, 0xc0, 0x96, 0xb7, 0x84, 0xc9, 0xdf, 0x9f, 0x52, 0x59, 0xe4, - 0x31, 0xa6, 0x50, 0x55, 0x75, 0xdd, 0xc5, 0xc9, 0x7a, 0xaa, 0xe5, 0xda, 0x1e, 0x08, 0x86, 0x7f, - 0x20, 0xaa, 0xdd, 0x48, 0x27, 0xc2, 0x27, 0x75, 0x3c, 0x34, 0xa8, 0x62, 0xc4, 0xfd, 0x4b, 0xf4, - 0xae, 0xae, 0xa6, 0x71, 0xb5, 0x61, 0x79, 0x9a, 0x99, 0xaf, 0x1b, 0x05, 0x0a, 0xc1, 0x6e, 0x4f, - 0xb5, 0x66, 0x9c, 0xe0, 0x0f, 0xe5, 0xfa, 0xf7, 0xa2, 0x5c, 0x6f, 0x9d, 0x15, 0xfc, 0xce, 0x94, - 0xf0, 0xed, 0xf9, 0x6f, 0xfa, 0xc9, 0xf1, 0x66, 0xfa, 0x7a, 0xff, 0xbf, 0x9b, 0xbe, 0xde, 0x3b, - 0x3b, 0x1d, 0x1c, 0x82, 0xbe, 0xce, 0xfe, 0x31, 0x3e, 0x1b, 0xc3, 0x02, 0xf4, 0x18, 0x72, 0x92, - 0x8d, 0x9e, 0xd8, 0xf4, 0x9e, 0xe8, 0x89, 0x4d, 0xef, 0x31, 0x61, 0xb1, 0xbd, 0xd0, 0xf7, 0x9c, - 0x4e, 0x1d, 0x61, 0xeb, 0x4f, 0x6c, 0xfa, 0xff, 0x45, 0x9f, 0xd8, 0xfc, 0xf1, 0x6e, 0x66, 0xb3, - 0x77, 0x33, 0x54, 0x8c, 0x79, 0x83, 0x22, 0xcd, 0x9b, 0x7c, 0x1e, 0x05, 0x75, 0xba, 0x6c, 0xc4, - 0xec, 0x1d, 0xb4, 0x44, 0xb5, 0xe4, 0x74, 0xbb, 0xc7, 0xc7, 0xfd, 0xa3, 0xfe, 0x99, 0x27, 0x38, - 0xb2, 0xb7, 0xbd, 0xb7, 0x33, 0xbd, 0x47, 0x46, 0x40, 0x7a, 0xce, 0xd8, 0x6f, 0x2c, 0x02, 0xb2, - 0xf7, 0xdf, 0xe3, 0xed, 0x4c, 0xef, 0x33, 0xbf, 0x9d, 0xe9, 0xff, 0xf1, 0x76, 0x66, 0x5b, 0x6f, - 0x67, 0xfa, 0x47, 0xa7, 0x83, 0x04, 0xa3, 0x2d, 0x07, 0x88, 0x06, 0x8f, 0xd5, 0x06, 0x6a, 0x28, - 0xc8, 0xbd, 0x64, 0x13, 0x3b, 0xa8, 0x2e, 0x7d, 0xd2, 0x10, 0xfe, 0x9f, 0x44, 0xa6, 0x25, 0x62, - 0x23, 0xf3, 0x36, 0x09, 0x8d, 0x07, 0xef, 0x1d, 0x69, 0x22, 0xd5, 0xfb, 0xdc, 0x3a, 0x5b, 0xff, - 0x61, 0x35, 0xdd, 0xba, 0xd5, 0x54, 0x3e, 0xdd, 0xe4, 0x99, 0x0c, 0x68, 0x90, 0x58, 0xbd, 0xa1, - 0xb4, 0x81, 0x06, 0x76, 0x36, 0xa2, 0x82, 0x9d, 0x35, 0xe9, 0xa0, 0xb5, 0x59, 0x35, 0x53, 0x53, - 0x23, 0xef, 0xec, 0xe4, 0xfa, 0xcf, 0xcf, 0x6b, 0x74, 0x3d, 0x4a, 0xe8, 0x81, 0xe5, 0x01, 0xc0, - 0x14, 0x4d, 0x22, 0xcb, 0x62, 0x83, 0x9a, 0x62, 0x9b, 0x5d, 0xcb, 0xbb, 0xac, 0x02, 0xf6, 0xc2, - 0x73, 0xf0, 0x9e, 0x7b, 0x6b, 0x74, 0xaa, 0x55, 0xec, 0x8a, 0xfc, 0x1c, 0xb1, 0xcc, 0x47, 0x46, - 0x2f, 0xf6, 0xfd, 0x0c, 0xfa, 0x21, 0x14, 0x14, 0xd3, 0x45, 0xe8, 0xaf, 0x6b, 0xbb, 0xc5, 0x3a, - 0xb4, 0xc4, 0xbf, 0xac, 0x8b, 0x3b, 0x07, 0x46, 0xa0, 0xd4, 0x03, 0x48, 0x8b, 0x24, 0x58, 0xa2, - 0x9f, 0x1d, 0xa1, 0x1e, 0x60, 0x22, 0x1e, 0x36, 0x4b, 0x9f, 0xc1, 0xc5, 0x9c, 0x8c, 0xcc, 0x02, - 0x0d, 0x13, 0x6a, 0x68, 0x6c, 0x9b, 0x8f, 0xe9, 0x58, 0x64, 0x41, 0x1a, 0xfa, 0x9d, 0x58, 0x66, - 0x5f, 0x27, 0x21, 0x1f, 0x1a, 0xe1, 0x99, 0x7f, 0x5c, 0xa9, 0xbe, 0xea, 0xd0, 0xec, 0x17, 0x02, - 0x7c, 0xa3, 0x81, 0x36, 0x9f, 0x5d, 0x2f, 0x42, 0x67, 0x75, 0x54, 0x3f, 0x18, 0x0a, 0x5a, 0x92, - 0x6c, 0x75, 0x93, 0xee, 0x47, 0x9a, 0x7d, 0x7c, 0xe0, 0x59, 0xe5, 0x83, 0xa1, 0x22, 0x91, 0xb4, - 0x50, 0xca, 0xce, 0xc8, 0x89, 0x1b, 0xfd, 0x19, 0x3b, 0x56, 0xdb, 0x86, 0x1a, 0x9a, 0x3b, 0x6b, - 0x85, 0x87, 0xcb, 0x61, 0xf9, 0x00, 0x1d, 0xfb, 0xeb, 0x26, 0x46, 0x0b, 0x47, 0xe6, 0x57, 0x07, - 0x7e, 0x7d, 0x97, 0x42, 0x2b, 0xbd, 0xc7, 0x35, 0xad, 0x8f, 0xba, 0xdd, 0xd2, 0x3f, 0x3f, 0xff, - 0xed, 0xa0, 0x48, 0x6b, 0xc6, 0xe3, 0x37, 0xe7, 0xe4, 0x6d, 0x00, 0xec, 0xdc, 0x1b, 0x16, 0xd3, - 0xa6, 0x9b, 0xc4, 0xcd, 0x1e, 0x64, 0xfe, 0x97, 0xe6, 0x6b, 0xa6, 0x23, 0x2f, 0x0b, 0xfb, 0x53, - 0x5f, 0xb5, 0x34, 0x1a, 0x09, 0xb6, 0x43, 0xac, 0x41, 0x35, 0x36, 0x59, 0xfb, 0xdb, 0x42, 0x6b, - 0x30, 0xaa, 0x4e, 0xe4, 0x1b, 0x45, 0x66, 0xfd, 0x81, 0x31, 0x9a, 0xf8, 0x58, 0xd3, 0x1c, 0xeb, - 0xf9, 0x1c, 0xfc, 0xa3, 0x5e, 0x90, 0x0a, 0x1f, 0xb1, 0xce, 0x17, 0x7b, 0x6a, 0xf4, 0x74, 0xbc, - 0xb0, 0x63, 0x4a, 0xfc, 0x35, 0xf4, 0xbc, 0xa3, 0x7f, 0x7f, 0xf1, 0xdc, 0xd4, 0x0f, 0xf3, 0xb9, - 0xfe, 0xc1, 0x61, 0xeb, 0xe2, 0x92, 0x1d, 0x8c, 0x0f, 0x04, 0x6a, 0x3d, 0xd5, 0x73, 0x1b, 0x05, - 0x49, 0x14, 0x74, 0xa3, 0x20, 0x34, 0xb2, 0x9a, 0x49, 0xf9, 0x5b, 0x1e, 0x2f, 0x0d, 0x88, 0x4c, - 0x8f, 0x4b, 0xf5, 0x33, 0x4d, 0x11, 0xd5, 0x3f, 0xdd, 0xe8, 0xd4, 0xb0, 0xfc, 0x8c, 0x6e, 0xe7, - 0x11, 0xbc, 0x8e, 0x0c, 0xbe, 0x11, 0xdb, 0xd2, 0x50, 0x96, 0x2d, 0xea, 0x3a, 0x19, 0x4b, 0x6f, - 0xe4, 0x42, 0x6e, 0xa6, 0x12, 0xd3, 0x6c, 0xd4, 0x3f, 0xe4, 0x13, 0x6f, 0x13, 0x15, 0x73, 0x96, - 0x76, 0xe8, 0xc0, 0x91, 0xaa, 0x87, 0x39, 0xf5, 0x3b, 0x1f, 0xc2, 0xad, 0xc5, 0x62, 0x12, 0x3b, - 0x0f, 0x9f, 0xaa, 0x31, 0x76, 0xf3, 0x8f, 0x57, 0x3a, 0x83, 0x1c, 0x3b, 0xda, 0xe7, 0x22, 0x7d, - 0x87, 0x61, 0x8d, 0x4d, 0x50, 0x3f, 0xa8, 0xd8, 0xcc, 0x92, 0x73, 0xe7, 0xdc, 0xea, 0xc6, 0xc7, - 0x73, 0xb3, 0xd9, 0x04, 0x34, 0xd3, 0xfb, 0x66, 0x6f, 0xec, 0x1a, 0xe8, 0xc1, 0x39, 0x77, 0xfb, - 0xc4, 0x5a, 0xa4, 0x68, 0xab, 0xce, 0x7e, 0x31, 0xbb, 0x0f, 0x7a, 0x71, 0xd7, 0x13, 0xdc, 0x40, - 0xec, 0x70, 0xdf, 0x61, 0x9a, 0xec, 0xc6, 0x30, 0x07, 0x87, 0xe5, 0x7b, 0x72, 0x5e, 0xe7, 0x99, - 0x1f, 0x92, 0xf4, 0xdb, 0x0e, 0x27, 0xbc, 0x6a, 0x2f, 0x9f, 0x78, 0x42, 0x1a, 0x84, 0x40, 0xde, - 0x3a, 0x49, 0x05, 0xcb, 0x3f, 0xc9, 0xd5, 0x03, 0xb2, 0x00, 0x9a, 0x16, 0xf2, 0xc2, 0x52, 0x1d, - 0x22, 0x97, 0x41, 0xe0, 0xd2, 0x09, 0xc8, 0xb0, 0xc7, 0xfb, 0x03, 0x29, 0x7a, 0xad, 0x83, 0xd9, - 0xcd, 0x9b, 0x85, 0x07, 0x40, 0x88, 0xf4, 0x95, 0xec, 0x77, 0x62, 0x08, 0x7e, 0x3e, 0x14, 0x3b, - 0x1d, 0x9f, 0x3d, 0x35, 0x04, 0x42, 0x31, 0xf2, 0x88, 0x75, 0x5d, 0xf8, 0xc0, 0x5d, 0x2a, 0xad, - 0x04, 0x1a, 0xfd, 0xad, 0x5b, 0xc4, 0x49, 0x00, 0xed, 0xb4, 0x8c, 0x94, 0x18, 0x26, 0xdc, 0x38, - 0x7b, 0x7c, 0x19, 0x5a, 0x19, 0x02, 0xb7, 0x12, 0x3c, 0x31, 0xd1, 0xfc, 0x0a, 0x13, 0x2d, 0x20, - 0x5e, 0x35, 0xbf, 0xe9, 0xe1, 0x0f, 0x13, 0xd5, 0x69, 0x38, 0x79, 0x9c, 0xcf, 0x53, 0xb0, 0x6b, - 0xf6, 0x31, 0x47, 0x93, 0x3e, 0xe8, 0x37, 0x07, 0xd0, 0xcb, 0xbd, 0x5b, 0x12, 0x08, 0xbb, 0xa2, - 0xc7, 0x2b, 0x77, 0x63, 0x51, 0xaf, 0x7e, 0x4a, 0xa9, 0xdd, 0x08, 0x7c, 0xc7, 0x1a, 0xc7, 0x70, - 0x6d, 0x87, 0x92, 0xad, 0x91, 0xed, 0x0e, 0xe1, 0x25, 0xbc, 0xf4, 0x44, 0x4a, 0x6f, 0xd6, 0xcc, - 0x94, 0x67, 0x84, 0x6f, 0xd2, 0x39, 0x1f, 0x2d, 0x39, 0x11, 0x41, 0x65, 0x4f, 0x11, 0xdb, 0x31, - 0x71, 0x3d, 0x04, 0x68, 0x3c, 0x0f, 0x68, 0x77, 0x9d, 0x98, 0x76, 0x57, 0xf3, 0x9a, 0x5a, 0x3f, - 0xa2, 0x63, 0xe2, 0x8b, 0xe8, 0x18, 0x26, 0x9f, 0x22, 0xa6, 0x03, 0x39, 0x28, 0x68, 0x07, 0xb7, - 0x59, 0xbe, 0x2a, 0xd9, 0x9a, 0xc5, 0xb7, 0x19, 0xea, 0x79, 0xf9, 0xce, 0x66, 0x9c, 0xa8, 0x3e, - 0xaa, 0x83, 0x03, 0x00, 0x9a, 0x74, 0xcd, 0xca, 0x65, 0xc9, 0xae, 0xdb, 0xb2, 0x96, 0xf1, 0x1c, - 0xa6, 0xa0, 0x2e, 0x0f, 0x8e, 0x2e, 0x3f, 0xc8, 0x21, 0x5d, 0x93, 0xbb, 0x24, 0xd2, 0x77, 0xe2, - 0x90, 0xbe, 0x1b, 0xfa, 0xd9, 0xc2, 0x9e, 0x3a, 0x07, 0x9f, 0xf4, 0xbd, 0x1e, 0x37, 0x37, 0xa2, - 0x4a, 0x9e, 0xd5, 0x86, 0x95, 0x3c, 0xe1, 0x05, 0xd1, 0xe0, 0xe5, 0x78, 0xf0, 0xba, 0x4d, 0x3c, - 0x7b, 0xa9, 0x2a, 0x21, 0xba, 0xb4, 0xc9, 0x3b, 0xea, 0xf2, 0xbd, 0xea, 0x45, 0x99, 0xf8, 0xfd, - 0xa2, 0xec, 0xf3, 0xa7, 0xf4, 0x70, 0x83, 0x5a, 0x58, 0xa7, 0xca, 0x2b, 0x29, 0xfd, 0x90, 0x87, - 0xd9, 0xb1, 0x33, 0xfd, 0xde, 0xd1, 0x61, 0x97, 0xc6, 0xce, 0x4c, 0x1c, 0xb1, 0x33, 0x7f, 0xdc, - 0x23, 0x9f, 0xf1, 0x1e, 0xb1, 0x03, 0x83, 0xfc, 0x77, 0xfc, 0xd6, 0x74, 0x25, 0x37, 0xa1, 0x3e, - 0x42, 0xf9, 0xf1, 0xf0, 0xa9, 0xa7, 0xd1, 0x66, 0xaa, 0xc9, 0x7a, 0xf7, 0xa6, 0x1a, 0xda, 0xb4, - 0x85, 0x80, 0xa6, 0xe3, 0x3e, 0x53, 0x64, 0xd6, 0x8d, 0x68, 0x72, 0xab, 0x2e, 0x5e, 0x2f, 0x9f, - 0x46, 0x9e, 0xf1, 0x1e, 0x4f, 0x0e, 0xae, 0x3f, 0x76, 0xa0, 0x83, 0xb3, 0x76, 0xa7, 0xc6, 0x7b, - 0x87, 0xb7, 0xac, 0x0b, 0xab, 0x3e, 0x73, 0xbc, 0x79, 0xf0, 0x6a, 0x3e, 0xed, 0x83, 0xb9, 0x75, - 0xa1, 0xa1, 0xd7, 0x5a, 0xc6, 0xee, 0x71, 0x19, 0xfb, 0xc4, 0x21, 0x63, 0x6f, 0x57, 0xa4, 0xde, - 0xbe, 0xf0, 0xbc, 0x9b, 0x95, 0x24, 0x56, 0x84, 0x84, 0x05, 0x46, 0x81, 0x71, 0xfc, 0xb5, 0x5d, - 0xe9, 0x25, 0x97, 0x9f, 0x48, 0x88, 0xac, 0x26, 0x71, 0xb6, 0x58, 0xa4, 0xc5, 0x5f, 0x7f, 0xfc, - 0xfe, 0x6f, 0xf8, 0x1d, 0x85, 0xd1, 0x9d, 0xfe, 0x02, 0x7a, 0x3b, 0x62, 0x61, 0xef, 0x33, 0xe5, - 0x18, 0x61, 0x77, 0x9d, 0x24, 0x6c, 0xf5, 0x6f, 0x42, 0xe4, 0x27, 0x27, 0xc7, 0xcd, 0x8e, 0xd3, - 0xda, 0x63, 0xb5, 0x53, 0x7f, 0xb0, 0x76, 0x9a, 0x8e, 0x16, 0xec, 0xb3, 0x7f, 0x13, 0x1a, 0xb3, - 0xa7, 0x68, 0xa4, 0xd3, 0xeb, 0x9e, 0x9d, 0x24, 0x47, 0xbd, 0xa7, 0xba, 0xb5, 0xb7, 0x43, 0xc0, - 0x5b, 0xba, 0xbd, 0x36, 0xe5, 0xfe, 0x5b, 0xe0, 0xe6, 0x27, 0x3d, 0x11, 0x9e, 0x0a, 0x94, 0x21, - 0xe9, 0xa1, 0x9e, 0x97, 0xef, 0x35, 0x05, 0x60, 0xaa, 0x8c, 0xb3, 0x2a, 0x5a, 0x59, 0x97, 0xa8, - 0xc1, 0x47, 0xff, 0x06, 0x44, 0x05, 0xfb, 0x38, 0xa7, 0x9f, 0xc6, 0x39, 0x78, 0xfe, 0x6f, 0x58, - 0x24, 0xc2, 0xc6, 0x80, 0x78, 0x79, 0x5b, 0x3f, 0x00, 0x19, 0xeb, 0x83, 0xbf, 0x42, 0x37, 0xf0, - 0x28, 0x20, 0x07, 0xf3, 0xe0, 0xf9, 0xde, 0x5e, 0x39, 0xce, 0x97, 0xfc, 0xc5, 0xe1, 0x61, 0x02, - 0x7c, 0xd8, 0xfb, 0x59, 0x8a, 0x8d, 0xa3, 0x27, 0xdb, 0x18, 0x40, 0x02, 0x7d, 0xa6, 0x1d, 0x7d, - 0x51, 0x8e, 0x67, 0x21, 0x84, 0xea, 0xf2, 0x79, 0x09, 0xad, 0x78, 0x7c, 0x36, 0xfe, 0xcd, 0x09, - 0xb8, 0x7f, 0x59, 0x97, 0x82, 0x5c, 0xdf, 0x9f, 0xc7, 0x64, 0x22, 0xe2, 0x5c, 0xe1, 0x0d, 0xe2, - 0x68, 0xc1, 0x73, 0x12, 0xf5, 0xba, 0x4f, 0xc1, 0xff, 0x0b, 0xff, 0x03, 0x11, 0x8c, 0x76, 0x9b, - 0x18, 0xaa, 0xae, 0x81, 0x50, 0x25, 0x3c, 0x51, 0x43, 0x6d, 0xbd, 0x56, 0xb2, 0x99, 0x9f, 0xb2, - 0x76, 0x78, 0xab, 0x32, 0x5e, 0x22, 0xcb, 0xab, 0x51, 0x7e, 0xa4, 0xe7, 0x8f, 0xd7, 0x24, 0xb4, - 0x46, 0x92, 0x6f, 0xd2, 0xed, 0x1d, 0x6a, 0xbc, 0x69, 0x87, 0xfa, 0x34, 0x29, 0x05, 0x5f, 0x8d, - 0x80, 0x35, 0xa8, 0xe1, 0x82, 0xea, 0xf0, 0x91, 0xaf, 0x42, 0x1e, 0x17, 0xa5, 0x05, 0xae, 0x57, - 0xf9, 0xe9, 0x3a, 0x42, 0x4a, 0x35, 0x5f, 0x93, 0x52, 0x44, 0x1d, 0xaf, 0x23, 0xa0, 0x34, 0xfa, - 0x4d, 0xf9, 0x69, 0x91, 0xdf, 0x0c, 0x09, 0x88, 0xd0, 0x01, 0xac, 0xa3, 0xf4, 0x1c, 0x50, 0xcf, - 0xaa, 0xf2, 0xc9, 0x0f, 0xef, 0xf1, 0x76, 0x9e, 0x6c, 0xfa, 0x15, 0x6c, 0xff, 0xa7, 0x6c, 0x54, - 0xd7, 0xeb, 0x8e, 0x97, 0x0d, 0xc8, 0x36, 0xcd, 0x0f, 0x3d, 0xea, 0xf4, 0x59, 0x76, 0x5a, 0x4f, - 0xfb, 0xa7, 0xa7, 0xc7, 0x7a, 0xea, 0xf9, 0xb5, 0x0f, 0x78, 0xdb, 0x41, 0xfd, 0x87, 0x36, 0xe9, - 0x1e, 0x9e, 0x1e, 0x51, 0x59, 0xc2, 0xe0, 0x0d, 0xf4, 0xea, 0xfd, 0x6c, 0xfc, 0xc2, 0xc6, 0x8b, - 0x9f, 0x8f, 0x3d, 0x91, 0xb2, 0xa8, 0x1f, 0x96, 0x47, 0x7b, 0xcd, 0x0c, 0xc5, 0xb1, 0x2d, 0xf4, - 0x2d, 0x28, 0x91, 0xc5, 0x1a, 0x17, 0x8e, 0x0a, 0xb8, 0x59, 0xa4, 0xe8, 0x1d, 0x0d, 0xfa, 0xfd, - 0x8e, 0xfc, 0x44, 0x5a, 0xdd, 0x4b, 0x8e, 0x06, 0x31, 0xa2, 0xdb, 0x46, 0x8c, 0xd0, 0x5f, 0xe7, - 0xf6, 0x1e, 0xe5, 0xbe, 0x32, 0x5e, 0x8c, 0x24, 0x4f, 0xf4, 0x62, 0x24, 0x79, 0xcc, 0x8b, 0x91, - 0x24, 0xf4, 0x7d, 0xcd, 0x4a, 0x1d, 0xc1, 0xf5, 0x62, 0x84, 0xc5, 0x3d, 0x90, 0xd4, 0x95, 0x19, - 0xda, 0x48, 0x4d, 0xf2, 0xd3, 0x06, 0x77, 0x9b, 0x53, 0xad, 0x09, 0x2a, 0xa6, 0x53, 0x69, 0x37, - 0x55, 0x1d, 0x8d, 0xdd, 0xb5, 0x1f, 0xa7, 0x24, 0x6d, 0xbc, 0x59, 0xfd, 0xd6, 0x9a, 0x76, 0x9f, - 0xef, 0xdc, 0x69, 0x7b, 0x4d, 0x5b, 0x5d, 0x00, 0xa5, 0x02, 0x8f, 0xe2, 0xe4, 0x98, 0xff, 0x5e, - 0xd2, 0x3e, 0x31, 0xd4, 0x67, 0x7c, 0x5f, 0xd3, 0x6d, 0x78, 0x60, 0xd3, 0x95, 0xa1, 0xdf, 0x5d, - 0x0d, 0x46, 0xe3, 0x13, 0xe6, 0x44, 0xf6, 0x4c, 0xf4, 0x9e, 0x3d, 0xb5, 0xe7, 0x93, 0x89, 0xa4, - 0x2e, 0x9b, 0x2c, 0xbf, 0x73, 0xfe, 0x21, 0xb6, 0x31, 0x39, 0xbe, 0xac, 0x31, 0xcb, 0x3a, 0xdb, - 0xb7, 0xb0, 0xcc, 0xd6, 0x8c, 0xe3, 0x31, 0xce, 0x3a, 0x7b, 0x34, 0xd8, 0x67, 0xfd, 0x96, 0xd8, - 0xa8, 0x96, 0x52, 0xf5, 0xe1, 0x0c, 0x2d, 0x3e, 0x39, 0xbb, 0x54, 0x2d, 0xba, 0x06, 0x18, 0xea, - 0x52, 0x72, 0x81, 0x79, 0xcf, 0x6a, 0x38, 0x98, 0xd3, 0x27, 0xf5, 0x1e, 0xfe, 0x46, 0x5e, 0x6b, - 0x75, 0x5b, 0x1c, 0x1a, 0x17, 0x34, 0x73, 0x39, 0x49, 0x7d, 0x56, 0x34, 0xed, 0x28, 0x59, 0x58, - 0xf2, 0x42, 0xed, 0x35, 0x07, 0x59, 0xae, 0x6f, 0x13, 0x2b, 0xbc, 0x36, 0xb1, 0xfe, 0xe7, 0xb1, - 0x89, 0x79, 0x3f, 0x02, 0xe5, 0xf6, 0x0b, 0xa9, 0x6f, 0xdc, 0xa8, 0x93, 0xe2, 0xe8, 0xa4, 0x7b, - 0x74, 0x74, 0x7c, 0x78, 0xe8, 0xcb, 0xe6, 0x9f, 0x6c, 0xef, 0xc1, 0x5a, 0xf2, 0xc8, 0x07, 0x6b, - 0x9e, 0x2b, 0xfe, 0xc9, 0x1e, 0xac, 0x99, 0x72, 0xaf, 0x29, 0x1a, 0x3c, 0xfe, 0x71, 0x5b, 0xb2, - 0xd1, 0xe3, 0xb6, 0x35, 0xa6, 0xe5, 0x79, 0x08, 0xd7, 0x6d, 0x7c, 0x09, 0xe7, 0xf5, 0x47, 0x8b, - 0xfd, 0xf5, 0x6c, 0x6c, 0xeb, 0x97, 0x73, 0xc4, 0x4b, 0xe4, 0xf6, 0xa2, 0x7a, 0xfc, 0xcd, 0x8f, - 0x7d, 0x12, 0xd7, 0x75, 0x7a, 0x9a, 0xbb, 0x5e, 0xb7, 0xae, 0xd7, 0x11, 0xdc, 0x75, 0x3c, 0xa0, - 0x4b, 0x7c, 0xde, 0xe5, 0xae, 0xe7, 0x11, 0x5d, 0x77, 0xfd, 0x57, 0x74, 0x5d, 0x57, 0xf0, 0x41, - 0xd7, 0xf3, 0x8e, 0xae, 0x6b, 0x3f, 0xa4, 0x5b, 0x4f, 0x2b, 0x86, 0x6b, 0xcd, 0xc1, 0x47, 0x94, - 0x3b, 0x53, 0x2f, 0x55, 0xae, 0xc0, 0xd3, 0xa3, 0xe4, 0xec, 0xc9, 0x94, 0xe7, 0x3f, 0x24, 0x9b, - 0xdf, 0xb8, 0x64, 0xb3, 0xa9, 0x89, 0x42, 0x3f, 0xdc, 0x9e, 0x75, 0xfa, 0xce, 0x76, 0xe2, 0x3c, - 0xdb, 0x89, 0x79, 0xb6, 0xf5, 0x9b, 0xc2, 0x63, 0x55, 0xd4, 0xaf, 0x0c, 0xb7, 0xa7, 0x3c, 0x31, - 0xf9, 0x7f, 0x0b, 0xb6, 0x91, 0xd8, 0x6c, 0x63, 0xcf, 0xcb, 0x36, 0x12, 0x83, 0x6d, 0xb4, 0x9b, - 0x86, 0x26, 0x28, 0xf5, 0xb4, 0x88, 0xf0, 0xaa, 0xd7, 0x92, 0xcb, 0x68, 0xa8, 0x5c, 0x37, 0x2e, - 0x29, 0x69, 0x8c, 0x40, 0x4a, 0x36, 0x8a, 0x35, 0xda, 0xd4, 0x82, 0xd5, 0x28, 0x1e, 0x37, 0x8b, - 0x26, 0x75, 0xd7, 0xad, 0x53, 0xab, 0x74, 0xef, 0xd4, 0x23, 0x4c, 0x64, 0xba, 0x89, 0x45, 0xbd, - 0x5f, 0x69, 0x9c, 0x4f, 0xf8, 0x3a, 0xcf, 0xe7, 0xe9, 0x68, 0x3b, 0x1f, 0xcf, 0xaa, 0x35, 0x88, - 0x34, 0xac, 0x57, 0xa3, 0x84, 0xa7, 0xb7, 0xda, 0x6d, 0xfc, 0xa2, 0x5b, 0x53, 0x51, 0x26, 0xa1, - 0xf7, 0x19, 0x29, 0x1f, 0x33, 0x69, 0xa1, 0x99, 0xb8, 0x2c, 0x84, 0x3e, 0x78, 0xbd, 0xad, 0x3a, - 0x30, 0x7b, 0x87, 0xf4, 0x3b, 0xcd, 0x34, 0xac, 0x9e, 0xb0, 0x31, 0x8c, 0xaa, 0x2f, 0xf0, 0xfe, - 0x6e, 0xfc, 0x1e, 0x82, 0x65, 0x7e, 0x74, 0xb9, 0x24, 0xc5, 0x47, 0xd4, 0xeb, 0xbd, 0x91, 0xd0, - 0xcc, 0xd9, 0xcd, 0xf0, 0x41, 0x5a, 0xd0, 0x9a, 0xdc, 0x8f, 0xe6, 0x37, 0xdc, 0x3b, 0xee, 0xc9, - 0xe5, 0xc5, 0x90, 0x9b, 0x56, 0xd1, 0xed, 0xce, 0x07, 0x07, 0x01, 0xc7, 0x61, 0x71, 0x3d, 0x6f, - 0xf9, 0x88, 0xd1, 0x05, 0xbd, 0xe3, 0x1c, 0x73, 0xed, 0x1c, 0x2c, 0x5e, 0xe8, 0xf2, 0x30, 0x3a, - 0xc7, 0xf1, 0xeb, 0xc0, 0xdb, 0xf0, 0xd3, 0xf1, 0x21, 0xcd, 0x9b, 0x96, 0x97, 0x7f, 0x7a, 0xef, - 0x1c, 0x1f, 0x39, 0x72, 0x94, 0xfd, 0x0e, 0x7c, 0x72, 0x0e, 0x72, 0x6f, 0x72, 0xc7, 0x49, 0x82, - 0xf7, 0x78, 0xe2, 0xcc, 0x13, 0xd1, 0xe0, 0x84, 0x73, 0x65, 0x8f, 0x73, 0x1e, 0x1b, 0x8c, 0x9d, - 0x71, 0x91, 0x5c, 0xd3, 0x9e, 0x7b, 0xdc, 0x59, 0xc4, 0x20, 0x81, 0x5e, 0x3a, 0xb7, 0x22, 0xb1, - 0x8e, 0x5a, 0x61, 0x98, 0x32, 0xec, 0xf8, 0x1f, 0x3d, 0x16, 0x28, 0x32, 0x02, 0xf3, 0x5c, 0xdf, - 0xc7, 0x66, 0x16, 0x90, 0xa4, 0x07, 0xea, 0x4a, 0x72, 0xd6, 0x5b, 0x87, 0x5c, 0xdd, 0x48, 0xa2, - 0x87, 0x4a, 0x60, 0xe9, 0x55, 0x70, 0xf1, 0x02, 0x24, 0x21, 0xfa, 0xef, 0x65, 0x30, 0x70, 0x04, - 0x0e, 0x3f, 0x85, 0x7f, 0xce, 0x35, 0xb7, 0xad, 0xbb, 0xe9, 0xd6, 0x1c, 0x64, 0xdd, 0x7b, 0x7f, - 0x0d, 0xae, 0xdb, 0xda, 0x33, 0x67, 0xde, 0x81, 0xfc, 0xdd, 0x9d, 0x2b, 0x92, 0x07, 0x63, 0xa2, - 0xb4, 0x84, 0xb7, 0xe9, 0x68, 0xe2, 0xf5, 0xca, 0x61, 0x65, 0x2b, 0xc7, 0xdc, 0x55, 0x3e, 0xb9, - 0x37, 0x7f, 0xfb, 0x3a, 0xe2, 0x0c, 0x5a, 0x3f, 0x49, 0xb3, 0x72, 0xa0, 0xd1, 0x8f, 0x02, 0xfc, - 0x95, 0x64, 0x25, 0xe4, 0xba, 0xf3, 0xa1, 0xd3, 0xd1, 0x74, 0xac, 0x2a, 0x20, 0xf4, 0x42, 0xa5, - 0xc9, 0x0c, 0xdb, 0x5c, 0xf8, 0xb4, 0xa5, 0xaf, 0xb3, 0x71, 0xed, 0xbb, 0xc0, 0x36, 0xdd, 0xfc, - 0x6a, 0x1f, 0xe7, 0xe5, 0xaf, 0x36, 0xd0, 0xef, 0x7f, 0x75, 0x22, 0x96, 0x08, 0x60, 0x27, 0xe6, - 0x95, 0xca, 0x00, 0x35, 0x78, 0xf2, 0x5b, 0x0c, 0xa7, 0xd3, 0x7f, 0xbc, 0xbf, 0xf3, 0x11, 0xde, - 0x4e, 0xcb, 0xd7, 0x69, 0x9a, 0x41, 0x3f, 0xaf, 0x9f, 0xb3, 0xd6, 0xb7, 0x47, 0x32, 0x68, 0xaa, - 0xee, 0x3d, 0x12, 0x6c, 0xa8, 0x78, 0xc3, 0x70, 0x97, 0xf4, 0x6c, 0x8d, 0x50, 0xb0, 0xde, 0xb7, - 0x61, 0xbc, 0x5e, 0x3c, 0x0f, 0x6d, 0x74, 0x7c, 0x44, 0xd3, 0xec, 0xe1, 0x23, 0x27, 0x56, 0x9b, - 0x2e, 0x16, 0x7c, 0x42, 0x8f, 0x25, 0x4b, 0x1c, 0x0a, 0xf3, 0xd7, 0x72, 0x87, 0x1a, 0x0c, 0xe8, - 0x31, 0x01, 0x29, 0x3f, 0x22, 0x30, 0x6e, 0xec, 0xe9, 0x35, 0x7e, 0x82, 0x9a, 0x4e, 0x08, 0xb1, - 0xa0, 0x4e, 0xc8, 0x64, 0x6c, 0x8f, 0x9a, 0x10, 0x02, 0xe3, 0x13, 0xea, 0xb7, 0x9c, 0x10, 0x92, - 0x99, 0x3a, 0x21, 0x93, 0x9b, 0x3e, 0x6a, 0x42, 0xca, 0x37, 0x19, 0x92, 0xe4, 0x29, 0xfc, 0x7b, - 0x74, 0xf6, 0xbe, 0xd8, 0x3e, 0x5a, 0x4b, 0x36, 0xbd, 0x55, 0xae, 0x67, 0x42, 0x2c, 0xba, 0x95, - 0x59, 0x24, 0x8c, 0x26, 0x75, 0xc4, 0x1d, 0xd0, 0xea, 0xe0, 0x48, 0x6a, 0xf5, 0x1d, 0x21, 0xcf, - 0x80, 0xb6, 0x03, 0x91, 0xad, 0x22, 0xf1, 0xae, 0x0f, 0xb7, 0xfd, 0x89, 0xfc, 0x9b, 0x94, 0x5c, - 0xb7, 0x1f, 0xe2, 0x58, 0x77, 0xf7, 0x2a, 0x9b, 0xe2, 0xb1, 0x49, 0x1a, 0x98, 0x37, 0xf5, 0x2f, - 0xa5, 0xaa, 0x49, 0x1c, 0x57, 0x32, 0x57, 0x8a, 0xcc, 0xf9, 0xfd, 0x6d, 0x69, 0x63, 0xca, 0x3c, - 0x22, 0x77, 0xf1, 0xef, 0x40, 0x27, 0x73, 0xcb, 0x22, 0x4d, 0x6a, 0x99, 0x26, 0x8d, 0x78, 0x34, - 0x33, 0x87, 0xc4, 0xb2, 0x81, 0x72, 0xe6, 0x13, 0x6b, 0x60, 0xdb, 0x7d, 0x27, 0xaf, 0x89, 0x26, - 0x7c, 0xea, 0xd0, 0x66, 0x69, 0x4e, 0x7b, 0xc7, 0x27, 0x3a, 0xc9, 0x78, 0xa7, 0xf5, 0x08, 0xa5, - 0x68, 0x3d, 0x7f, 0x15, 0xbf, 0xb9, 0x0e, 0xbb, 0x67, 0xd4, 0xf7, 0x64, 0x5d, 0x8b, 0x2c, 0x51, - 0xf8, 0x27, 0xbf, 0x2d, 0x1d, 0xa9, 0xbf, 0x1b, 0x6e, 0xf0, 0x56, 0x1f, 0x9e, 0x35, 0x7d, 0xff, - 0x9f, 0x42, 0x09, 0x57, 0x02, 0x08, 0xf4, 0xbe, 0xaa, 0x52, 0xae, 0x34, 0xda, 0x96, 0x9e, 0xee, - 0x0a, 0x5d, 0x38, 0x3b, 0x3d, 0x3a, 0x3a, 0x3b, 0x39, 0xe9, 0x75, 0x1b, 0x58, 0x9b, 0x33, 0xb0, - 0xa1, 0x46, 0xca, 0x5f, 0x2b, 0xaa, 0xe1, 0x71, 0x31, 0x0d, 0x2e, 0x51, 0xfe, 0xf7, 0x1b, 0xcf, - 0xf0, 0x19, 0xa2, 0x19, 0x5c, 0x57, 0xf9, 0x16, 0x42, 0x1a, 0x3e, 0x47, 0x40, 0x43, 0x0b, 0x0e, - 0xc7, 0x44, 0xe1, 0x53, 0xb4, 0x56, 0x21, 0x87, 0xb3, 0xe4, 0x6c, 0xca, 0xe1, 0x3e, 0xbd, 0xf8, - 0x6d, 0x73, 0xb8, 0x26, 0x95, 0xe0, 0x11, 0x58, 0x60, 0x77, 0x50, 0xaf, 0x7b, 0x48, 0x52, 0xbf, - 0xd9, 0xc2, 0x3d, 0xc5, 0xc2, 0xa7, 0x97, 0xf9, 0x6d, 0x2c, 0x34, 0xe9, 0x21, 0x4f, 0x14, 0xa2, - 0xef, 0xb9, 0x8c, 0xa5, 0x81, 0xae, 0x9d, 0x5b, 0x74, 0x8b, 0x4e, 0xd1, 0xc7, 0xda, 0x1b, 0x1b, - 0x57, 0xf4, 0xbb, 0x70, 0x95, 0x6e, 0xd5, 0x11, 0x4a, 0xbe, 0x59, 0xb5, 0x46, 0xc2, 0xea, 0xcd, - 0x6c, 0x22, 0x4e, 0xb7, 0xe6, 0x3a, 0x8e, 0xd7, 0x7a, 0x5b, 0x2c, 0xcf, 0x24, 0xb6, 0x97, 0x84, - 0x7b, 0x18, 0x85, 0x32, 0x8d, 0x82, 0xbd, 0x3d, 0x96, 0x22, 0x75, 0x6f, 0x2f, 0x5b, 0x00, 0x1d, - 0x66, 0xa8, 0x8b, 0xe8, 0x2e, 0x4a, 0x2a, 0xcf, 0x28, 0x46, 0xb9, 0x8f, 0xd0, 0x98, 0x18, 0x27, - 0x07, 0x01, 0xf9, 0x1f, 0x49, 0xf6, 0x8a, 0x10, 0x88, 0x20, 0x10, 0x3c, 0xc0, 0x6f, 0x06, 0x56, - 0xeb, 0xc4, 0x73, 0x90, 0xf9, 0xea, 0x89, 0x2b, 0xd5, 0xdb, 0x99, 0x7a, 0x5a, 0x95, 0x4f, 0x34, - 0x7b, 0x9b, 0x0a, 0x19, 0x9b, 0x98, 0x0c, 0x99, 0xe8, 0x5b, 0xd7, 0x18, 0xbf, 0xa4, 0x88, 0xdc, - 0xaa, 0x11, 0x20, 0x1a, 0xa9, 0x04, 0xf0, 0x57, 0x31, 0x32, 0x4b, 0x60, 0x9c, 0x89, 0xb7, 0x23, - 0x3d, 0x05, 0x54, 0x9e, 0x03, 0xfc, 0x53, 0x44, 0x79, 0x5b, 0x8b, 0xe8, 0x22, 0x34, 0x74, 0xfa, - 0x27, 0xc3, 0x83, 0x87, 0x6a, 0x5b, 0x51, 0x58, 0x20, 0x34, 0xfe, 0x8f, 0xf4, 0x9e, 0xd9, 0x12, - 0xeb, 0xf0, 0x4e, 0x5b, 0x69, 0x9d, 0xea, 0x21, 0xbf, 0x07, 0xa2, 0x23, 0xc6, 0x46, 0x72, 0xb4, - 0x1a, 0x26, 0xbb, 0x56, 0xe3, 0x77, 0x0b, 0x22, 0x75, 0x36, 0xb6, 0x66, 0xea, 0x13, 0xee, 0xdc, - 0xff, 0xfb, 0xdf, 0xff, 0x67, 0xb7, 0xb6, 0x1d, 0x6a, 0x57, 0xb4, 0xe1, 0xff, 0xad, 0x6f, 0xc8, - 0x95, 0xae, 0x7a, 0x7a, 0x90, 0x22, 0x75, 0x2b, 0xa0, 0x6f, 0xe5, 0xbe, 0xd6, 0x4f, 0x55, 0x17, - 0xce, 0x1b, 0x31, 0xa0, 0xdf, 0x97, 0xf5, 0x53, 0xd6, 0x75, 0xa8, 0xb6, 0x6d, 0x99, 0x01, 0xb6, - 0x4d, 0x5b, 0x4a, 0xe4, 0x2d, 0x1b, 0x7f, 0xb7, 0x58, 0xae, 0xda, 0xb6, 0x05, 0x72, 0x6c, 0x22, - 0x60, 0x4d, 0x77, 0x69, 0x0f, 0xf6, 0xbd, 0x3c, 0x49, 0xed, 0xc0, 0x2b, 0x1a, 0x5b, 0xeb, 0x3e, - 0x86, 0x7a, 0xd8, 0x72, 0x76, 0x52, 0xbf, 0xf3, 0x75, 0xa0, 0xda, 0x0e, 0xc6, 0xad, 0x8c, 0xaa, - 0xf1, 0x4c, 0xe8, 0x07, 0x6f, 0x6f, 0x61, 0x90, 0x6f, 0x59, 0x29, 0x5c, 0xc0, 0xe2, 0xe6, 0x3d, - 0x78, 0xfe, 0x3c, 0xf8, 0x33, 0xf9, 0x12, 0xd9, 0x47, 0x7e, 0x1d, 0x3c, 0x3c, 0x3f, 0x50, 0x72, - 0xa5, 0x03, 0xe5, 0xff, 0x85, 0xdf, 0x13, 0x2f, 0x99, 0x6f, 0x42, 0xe6, 0x2e, 0x39, 0x38, 0x08, - 0x7e, 0xa2, 0x97, 0x03, 0xd4, 0xcb, 0x5c, 0xd7, 0xcf, 0x88, 0x14, 0x17, 0x67, 0x25, 0xf9, 0xbf, - 0x78, 0xd4, 0x87, 0x69, 0x19, 0x66, 0xc0, 0x56, 0x82, 0xdd, 0x7d, 0x5e, 0xb4, 0x1f, 0x2c, 0xd2, - 0x74, 0x52, 0x06, 0x55, 0x1e, 0x5c, 0xa5, 0xc1, 0x68, 0x11, 0x8c, 0xb0, 0x87, 0x80, 0xef, 0x00, - 0xc6, 0x19, 0x9d, 0x02, 0xac, 0xe4, 0x9c, 0xb4, 0x05, 0x34, 0x8d, 0x99, 0xa1, 0x8c, 0x4a, 0xd4, - 0x16, 0xe9, 0x39, 0x01, 0xfc, 0x81, 0x6c, 0x12, 0xdf, 0x8d, 0x8a, 0x45, 0xc8, 0xa7, 0x49, 0x5b, - 0xef, 0x07, 0x59, 0x09, 0x57, 0xeb, 0xb2, 0xc8, 0xc6, 0x23, 0x24, 0x8f, 0x0c, 0x1f, 0x11, 0xde, - 0xe6, 0xab, 0x22, 0xc8, 0xa7, 0xc1, 0x3e, 0xe5, 0x96, 0xfb, 0xbb, 0x1d, 0x47, 0xea, 0x6f, 0x27, - 0x75, 0x81, 0xd0, 0xfc, 0x8c, 0x76, 0xea, 0x04, 0xc6, 0xa8, 0x85, 0x1c, 0x0f, 0xd7, 0x03, 0x8d, - 0x61, 0x41, 0x2b, 0x38, 0xf2, 0xfb, 0x2e, 0x48, 0xfb, 0xbb, 0xda, 0x73, 0x37, 0xd3, 0xfa, 0x19, - 0xbc, 0xe4, 0x37, 0x6c, 0x5c, 0xe6, 0x37, 0x69, 0x38, 0x56, 0xbd, 0x4b, 0xb0, 0x7f, 0x44, 0x2d, - 0xc2, 0xd8, 0xc3, 0x0a, 0x08, 0x03, 0x90, 0x86, 0xff, 0x2e, 0xee, 0xd9, 0x1d, 0x15, 0x80, 0x58, - 0x56, 0xa6, 0xa3, 0x02, 0x48, 0x89, 0xca, 0x26, 0xa5, 0xfe, 0xc4, 0x6d, 0xcc, 0x24, 0xba, 0x77, - 0x4b, 0x7a, 0x91, 0x21, 0x42, 0xe5, 0x4d, 0x0c, 0x97, 0xe0, 0x38, 0xa6, 0xdd, 0x7f, 0x12, 0x3a, - 0x81, 0xa8, 0x76, 0x3e, 0xd6, 0x53, 0x73, 0x66, 0x69, 0xc9, 0xe2, 0x15, 0x42, 0xfd, 0x47, 0x3a, - 0xce, 0x8b, 0xc9, 0x57, 0x34, 0xa8, 0x38, 0xf8, 0x15, 0x76, 0xf0, 0xe6, 0x0a, 0xa6, 0xfa, 0x6b, - 0x50, 0xde, 0xdf, 0x5c, 0x61, 0x16, 0x53, 0xc2, 0xf8, 0xde, 0x90, 0x45, 0x7f, 0x05, 0x6b, 0xf9, - 0xfa, 0x6b, 0x8d, 0xa4, 0x29, 0x36, 0x5e, 0xdf, 0x03, 0x8a, 0xf5, 0x0c, 0xff, 0x9a, 0x0a, 0x02, - 0x83, 0xdf, 0x22, 0xa6, 0x2e, 0x40, 0x57, 0xce, 0x17, 0xb0, 0xe3, 0xe1, 0x6d, 0x87, 0x8b, 0xaf, - 0xa4, 0xe2, 0x56, 0x50, 0x0f, 0xd1, 0x7f, 0x68, 0x78, 0xf2, 0xad, 0x16, 0xef, 0x8c, 0x15, 0xb4, - 0xd9, 0xee, 0x6e, 0x27, 0xfe, 0x67, 0x0e, 0x42, 0xfa, 0x6e, 0x20, 0x77, 0x8b, 0x59, 0x26, 0x46, - 0xf3, 0xf1, 0x0a, 0x4d, 0x9f, 0x7f, 0xd1, 0x97, 0xae, 0xbb, 0x01, 0x55, 0x31, 0x2c, 0xec, 0xf5, - 0x22, 0x1b, 0x51, 0x52, 0x98, 0xe6, 0xdb, 0x0d, 0x32, 0xf5, 0x5b, 0x94, 0x0d, 0xb5, 0x1d, 0x27, - 0x04, 0xc9, 0x66, 0x6b, 0xee, 0x9e, 0x1e, 0x43, 0xad, 0x0a, 0xd9, 0xb5, 0xc3, 0x5f, 0x8c, 0xf1, - 0xbb, 0xaf, 0xc4, 0x18, 0xa1, 0x03, 0xc4, 0x08, 0x82, 0xb2, 0xa3, 0x37, 0xb6, 0xd2, 0xef, 0xe1, - 0x7c, 0xf4, 0x13, 0x6e, 0x40, 0xd1, 0x34, 0x3a, 0x20, 0x58, 0xe8, 0x40, 0x8e, 0x35, 0x1e, 0x3b, - 0x8a, 0xe8, 0x12, 0x4f, 0x0a, 0x70, 0xc1, 0xdb, 0x8c, 0x18, 0xb3, 0xf0, 0xa4, 0x64, 0x40, 0x4a, - 0x40, 0xbb, 0x0b, 0x38, 0x2a, 0x01, 0xb2, 0xcb, 0x5b, 0xf5, 0x9b, 0x1c, 0x1b, 0x2e, 0x27, 0xbe, - 0x19, 0x2d, 0x43, 0xe8, 0x86, 0xe8, 0x0c, 0x3f, 0x12, 0xd8, 0x03, 0x04, 0x1c, 0x51, 0xe8, 0xe4, - 0xef, 0xe0, 0xa1, 0xe3, 0x5f, 0x30, 0x17, 0xc6, 0x05, 0x8f, 0xd0, 0x29, 0x81, 0x1a, 0xfc, 0xdf, - 0x2b, 0x52, 0x25, 0xec, 0x24, 0x11, 0xc1, 0xbe, 0x36, 0x9f, 0x96, 0xf2, 0x8a, 0x97, 0x2f, 0x99, - 0xa4, 0xca, 0xaa, 0x5f, 0x29, 0x82, 0xe8, 0x45, 0x28, 0xff, 0x86, 0x85, 0x80, 0xf4, 0x80, 0x79, - 0xb8, 0xc2, 0x1c, 0xc1, 0xe5, 0xa2, 0x2b, 0xa9, 0x47, 0x4d, 0x1a, 0x94, 0xaa, 0x7f, 0x57, 0x7a, - 0x33, 0x8d, 0x8b, 0x07, 0x9a, 0x0f, 0x54, 0xc0, 0xdd, 0x4b, 0xf7, 0x02, 0xf4, 0x8f, 0x77, 0x21, - 0x0d, 0xa7, 0xb7, 0xdc, 0xf6, 0xa9, 0x51, 0x33, 0x61, 0x8a, 0xf9, 0x5c, 0xf9, 0xea, 0xaf, 0xd8, - 0x61, 0x6d, 0x6b, 0x92, 0x48, 0x13, 0xb2, 0x0d, 0x04, 0x85, 0xec, 0x1b, 0xe7, 0x8a, 0xe3, 0x51, - 0xeb, 0xdd, 0x8d, 0xa4, 0x18, 0x2f, 0xc1, 0xbc, 0xe2, 0x9f, 0x46, 0x0f, 0x06, 0x92, 0x17, 0xd9, - 0x1f, 0x7a, 0xe0, 0x57, 0x68, 0x48, 0x9f, 0x9a, 0xc1, 0x7a, 0x76, 0x23, 0x14, 0x73, 0xc5, 0x82, - 0xa2, 0x00, 0x60, 0x0c, 0x04, 0x30, 0xdf, 0xa6, 0xea, 0xb6, 0x5a, 0x05, 0x27, 0x70, 0x36, 0x2c, - 0x9c, 0x68, 0xa2, 0xae, 0x99, 0xd4, 0x5a, 0x91, 0x99, 0x8d, 0x13, 0x51, 0xa4, 0xcb, 0xf9, 0x68, - 0x9c, 0x06, 0xe2, 0x1e, 0xa4, 0x37, 0xd5, 0x74, 0xb4, 0x9a, 0x57, 0x70, 0x11, 0xce, 0x46, 0x98, - 0x6b, 0xb2, 0xd0, 0x93, 0xb4, 0xb3, 0xcb, 0x23, 0xce, 0x16, 0xe3, 0xf9, 0x6a, 0x42, 0x23, 0xe4, - 0x2e, 0xe8, 0xc5, 0x73, 0xa9, 0x3b, 0x15, 0x34, 0x9c, 0xf6, 0x71, 0x4b, 0x54, 0x55, 0xa3, 0xf6, - 0xad, 0x4e, 0x6d, 0x57, 0x65, 0xc0, 0xcb, 0xd6, 0x3e, 0x99, 0x2d, 0xcd, 0x5b, 0x80, 0x61, 0x1c, - 0xbd, 0xc0, 0x9d, 0x28, 0x80, 0x55, 0x07, 0x1a, 0xb8, 0x8d, 0xd7, 0x16, 0xc7, 0x71, 0x29, 0xcc, - 0xf5, 0xea, 0x42, 0x09, 0xc9, 0x6b, 0x99, 0xed, 0xed, 0xf8, 0x33, 0x0f, 0x09, 0x02, 0xf9, 0xa8, - 0x24, 0x88, 0xa2, 0x4f, 0x0b, 0xa2, 0x13, 0xe2, 0xa2, 0x8f, 0xee, 0xb4, 0x74, 0x4b, 0xd0, 0xee, - 0x99, 0x56, 0x70, 0xae, 0xc8, 0x45, 0x15, 0x52, 0xfc, 0x4f, 0xc8, 0xff, 0xd4, 0x25, 0x89, 0x6b, - 0x47, 0x4a, 0x57, 0x4c, 0xb1, 0xa3, 0x71, 0x8c, 0xce, 0x67, 0x23, 0x3a, 0xf2, 0xe0, 0xa0, 0xaa, - 0x4a, 0x2e, 0x1d, 0x45, 0xf9, 0xf8, 0x8a, 0xbc, 0x28, 0x54, 0xf8, 0x6d, 0xc1, 0x39, 0x01, 0x3d, - 0xdb, 0x64, 0x66, 0xfc, 0x4f, 0x9b, 0x6a, 0xe8, 0x94, 0x3b, 0xe6, 0x48, 0xed, 0x26, 0x08, 0xc4, - 0x92, 0x0a, 0x4f, 0x8c, 0xb5, 0x78, 0x0f, 0x35, 0xd0, 0x7d, 0xdd, 0x80, 0x20, 0x98, 0x32, 0xa4, - 0x90, 0x03, 0x19, 0x54, 0xa3, 0x09, 0x93, 0xf9, 0x41, 0x17, 0x63, 0x24, 0xd2, 0xc7, 0x31, 0x9c, - 0x62, 0x53, 0x02, 0x5d, 0x6e, 0x48, 0xff, 0xcb, 0x3f, 0x90, 0x4e, 0xae, 0x01, 0x3e, 0x86, 0x69, - 0x04, 0xb9, 0x60, 0x9c, 0x14, 0x2f, 0xde, 0x6a, 0x96, 0x95, 0xb1, 0x96, 0xae, 0x4d, 0xbf, 0xb1, - 0x23, 0xcb, 0x84, 0xd2, 0x39, 0x6f, 0x23, 0x28, 0xb9, 0x5b, 0x1d, 0x0a, 0x7f, 0x97, 0x29, 0xbc, - 0x9b, 0x09, 0xde, 0xa9, 0xbf, 0x79, 0xfd, 0xf5, 0xb0, 0xee, 0xf4, 0x1b, 0x17, 0xb8, 0xb8, 0xce, - 0xe7, 0x5d, 0x17, 0x93, 0x3c, 0xd5, 0xb7, 0xd3, 0x48, 0x12, 0xe4, 0x56, 0x4b, 0x09, 0x25, 0xe8, - 0x57, 0x79, 0x98, 0xd2, 0x3b, 0xfc, 0xdc, 0xdf, 0x9f, 0xbc, 0x51, 0x0e, 0x09, 0x65, 0x28, 0x60, - 0x38, 0x72, 0x0c, 0xfa, 0x43, 0x78, 0xbc, 0x29, 0xb9, 0xc1, 0xdd, 0x54, 0x6b, 0x24, 0x3c, 0x14, - 0x03, 0x58, 0x53, 0xa4, 0x87, 0x81, 0x41, 0xad, 0x9d, 0x65, 0xdf, 0x00, 0xe2, 0x98, 0x20, 0xf0, - 0x59, 0x09, 0x49, 0x9f, 0x16, 0xb5, 0x8e, 0xc6, 0xf8, 0xbf, 0x4a, 0xaa, 0xde, 0xe6, 0x2d, 0xbe, - 0xcf, 0xb0, 0xbe, 0x8f, 0x2a, 0x22, 0x6b, 0xd3, 0x09, 0x3c, 0x5b, 0x23, 0xc1, 0xc4, 0xc6, 0x66, - 0x51, 0x58, 0x28, 0x42, 0xd7, 0x00, 0xea, 0xf7, 0xa2, 0x80, 0x59, 0x40, 0x39, 0x18, 0x22, 0x74, - 0x6b, 0x30, 0xa8, 0x91, 0xb4, 0x0e, 0x4a, 0x24, 0x0d, 0xa9, 0x62, 0x36, 0x43, 0x1b, 0x90, 0x94, - 0x01, 0xeb, 0x80, 0xf5, 0x23, 0xdd, 0xd6, 0xca, 0x21, 0xca, 0x42, 0x1b, 0xea, 0xeb, 0xfb, 0x1a, - 0x88, 0xaa, 0x20, 0xa7, 0x02, 0x7b, 0x7d, 0xef, 0x99, 0x5e, 0x0d, 0x2c, 0x43, 0xa4, 0xb4, 0xe6, - 0xa6, 0x43, 0x34, 0x8f, 0x63, 0x0d, 0x60, 0xc7, 0xe1, 0x55, 0xe0, 0x7b, 0xcf, 0x35, 0x19, 0x46, - 0x5a, 0x43, 0xfc, 0x58, 0xd5, 0x2f, 0x0d, 0x0e, 0x57, 0xdc, 0x60, 0x3a, 0x22, 0xb8, 0x69, 0xa0, - 0x06, 0x9e, 0x2e, 0xb1, 0x08, 0x3c, 0x70, 0xeb, 0x8a, 0x63, 0x7e, 0xc2, 0x0c, 0xe2, 0x85, 0x79, - 0x18, 0x99, 0x16, 0x66, 0x7d, 0x9e, 0xb4, 0xd8, 0x22, 0xf0, 0x06, 0xa8, 0x47, 0x91, 0xb4, 0x45, - 0x2b, 0x44, 0x6e, 0x41, 0x52, 0x85, 0x83, 0x3a, 0x78, 0xc7, 0x91, 0x69, 0xad, 0xd6, 0x67, 0xc9, - 0xc4, 0x0b, 0x07, 0x46, 0x9b, 0x61, 0x9f, 0x44, 0xa6, 0x71, 0x5b, 0xc7, 0xac, 0x1f, 0x36, 0x93, - 0xfa, 0xeb, 0x80, 0x9f, 0x46, 0x96, 0x31, 0x5c, 0x87, 0xce, 0x35, 0x07, 0x0d, 0x3c, 0xb3, 0x88, - 0xd7, 0x00, 0x3e, 0x8a, 0x14, 0xb3, 0x39, 0x87, 0xc8, 0x4a, 0x6c, 0x58, 0x68, 0x35, 0xaf, 0x01, - 0x76, 0x1c, 0xa9, 0xb6, 0x75, 0x15, 0x1a, 0x16, 0xd9, 0xe0, 0xb8, 0x6d, 0xbd, 0x06, 0xe4, 0x49, - 0x64, 0x5a, 0xe1, 0x55, 0xb0, 0xbc, 0xd8, 0x06, 0x4d, 0xaf, 0x85, 0x1a, 0xc0, 0xa7, 0x91, 0x6e, - 0xb4, 0x57, 0xc1, 0xd2, 0x42, 0x1f, 0xd0, 0xda, 0xb3, 0x75, 0x16, 0x99, 0x06, 0x7e, 0x1b, 0xb0, - 0x75, 0x64, 0x35, 0x23, 0x7f, 0x1d, 0x03, 0xeb, 0x46, 0xb6, 0x47, 0x40, 0x90, 0x81, 0x56, 0x61, - 0xdc, 0x02, 0x9a, 0x5f, 0xa0, 0x6e, 0x84, 0x24, 0xb2, 0x9d, 0x08, 0xe2, 0x5a, 0xd0, 0x2a, 0x7c, - 0x23, 0xa0, 0xb1, 0xb0, 0x6e, 0x84, 0x5e, 0x64, 0xbb, 0x1e, 0xec, 0x11, 0xb4, 0xe8, 0x5a, 0x63, - 0x04, 0xf4, 0x41, 0xd4, 0x8d, 0xd0, 0x8f, 0x6c, 0x87, 0x85, 0x3d, 0x02, 0x8b, 0x6f, 0x75, 0x8d, - 0x40, 0x79, 0x75, 0xdd, 0x10, 0x87, 0x91, 0xc3, 0xcf, 0x61, 0x8d, 0x41, 0x6b, 0x3c, 0x83, 0x10, - 0x8f, 0x47, 0xdd, 0x18, 0x47, 0x91, 0xed, 0x1e, 0xb1, 0x86, 0x20, 0x15, 0x9e, 0x11, 0x80, 0xe5, - 0xd6, 0xc1, 0x3f, 0x8e, 0x4c, 0x97, 0x8a, 0x05, 0xfd, 0x1f, 0x52, 0x10, 0x32, 0x60, 0xa3, 0x28, - 0x57, 0x07, 0xfc, 0x24, 0xb2, 0x7c, 0x30, 0x16, 0x74, 0x2c, 0xf7, 0x4f, 0xfd, 0x7d, 0xf3, 0x45, - 0x96, 0x9c, 0x46, 0x3e, 0xf7, 0x8d, 0x6b, 0x29, 0xef, 0x9d, 0x17, 0x9c, 0xcb, 0x97, 0x53, 0x37, - 0xe6, 0x59, 0xe4, 0x73, 0xff, 0xb8, 0xc6, 0x74, 0x9f, 0x78, 0x9f, 0x2f, 0xa8, 0x4e, 0xc6, 0xe8, - 0x46, 0x75, 0x2e, 0x24, 0x6b, 0x6c, 0xa3, 0x49, 0xcd, 0x36, 0x36, 0xb2, 0xca, 0x5e, 0x12, 0x79, - 0xfc, 0x50, 0xce, 0x2d, 0x75, 0x71, 0x4f, 0x16, 0x08, 0x50, 0x27, 0x16, 0x27, 0x32, 0x5c, 0x40, - 0x02, 0x66, 0x25, 0x7e, 0x69, 0x3c, 0xa6, 0x86, 0x41, 0xcb, 0x68, 0x8e, 0xa3, 0xca, 0x46, 0xde, - 0x4f, 0x4f, 0x2a, 0xda, 0xbf, 0xc7, 0xe2, 0x7d, 0xd8, 0x8d, 0x54, 0xb7, 0x81, 0x61, 0x6f, 0x77, - 0x58, 0xdc, 0xf3, 0xb9, 0x91, 0x78, 0xa1, 0x0e, 0x9c, 0xaa, 0x29, 0xf2, 0xaf, 0xb0, 0xf1, 0xba, - 0x8e, 0x9e, 0xa1, 0xc1, 0x67, 0x2a, 0xaa, 0x59, 0xa9, 0x27, 0xb4, 0x93, 0xe6, 0x57, 0xed, 0xfa, - 0x2c, 0x1f, 0xbd, 0xbe, 0x88, 0x58, 0x45, 0xb4, 0x1a, 0x17, 0xce, 0xab, 0x20, 0x09, 0x06, 0x41, - 0x17, 0xcd, 0xc6, 0x7c, 0xe9, 0xd4, 0x5c, 0x6c, 0x9b, 0x2d, 0xea, 0x66, 0xc6, 0xc3, 0xe2, 0x93, - 0xe0, 0xd7, 0xc0, 0x6c, 0x93, 0xa8, 0xfb, 0x44, 0x50, 0x81, 0x79, 0xb2, 0x92, 0x9e, 0x73, 0xb3, - 0x98, 0x5b, 0x47, 0xb8, 0xba, 0x28, 0x5a, 0x29, 0x7c, 0xf3, 0x93, 0x37, 0xd8, 0x4e, 0x77, 0x53, - 0xe1, 0x83, 0x3c, 0xc5, 0x18, 0x4d, 0x4c, 0xe3, 0x18, 0x20, 0xa5, 0xf8, 0x75, 0xb0, 0x9e, 0xc5, - 0xaf, 0x79, 0x7d, 0x24, 0x86, 0x91, 0xe7, 0x2c, 0x32, 0x9d, 0xa7, 0xc4, 0x5c, 0x24, 0x20, 0x85, - 0x45, 0x3b, 0x2b, 0x60, 0x0d, 0x02, 0x4d, 0xa5, 0x42, 0x6a, 0x08, 0x32, 0x66, 0x5c, 0x28, 0x36, - 0x64, 0xc3, 0x4f, 0xfa, 0x27, 0x87, 0xc9, 0x69, 0xbf, 0x06, 0xe1, 0x2c, 0x36, 0x59, 0xa2, 0x51, - 0x5f, 0x06, 0x17, 0xc5, 0xa5, 0xf2, 0x80, 0x09, 0xff, 0x4f, 0x4f, 0xbc, 0x16, 0x34, 0x45, 0xb3, - 0xc4, 0xff, 0x69, 0xa6, 0x33, 0xcd, 0x88, 0x7d, 0x8d, 0xbe, 0x4b, 0xea, 0x6a, 0x44, 0xbe, 0xc2, - 0xfc, 0x8f, 0x45, 0x5a, 0xae, 0xe6, 0x55, 0x79, 0x70, 0x43, 0x1c, 0xd7, 0xf2, 0x93, 0x34, 0xcc, - 0x0f, 0xf2, 0x8e, 0x7c, 0xca, 0x16, 0x0f, 0x4f, 0x19, 0x5a, 0x2a, 0x56, 0x9c, 0xde, 0xa6, 0xc5, - 0x7d, 0x38, 0x35, 0x8e, 0xa2, 0xf0, 0x79, 0xb2, 0xd1, 0x42, 0x8c, 0x01, 0xa6, 0xf6, 0xaa, 0x4e, - 0x60, 0x8e, 0x43, 0xbf, 0x08, 0x92, 0x96, 0xef, 0x69, 0xdb, 0x97, 0x96, 0x8e, 0x77, 0x31, 0x65, - 0xb9, 0x87, 0x76, 0x89, 0xbb, 0x53, 0x21, 0xbf, 0xe9, 0xa5, 0xe6, 0xfb, 0xc4, 0x87, 0x01, 0xfe, - 0xea, 0xb0, 0x60, 0x5f, 0x2e, 0x88, 0xab, 0xfc, 0x6f, 0x18, 0x4d, 0x97, 0xfe, 0x2d, 0xbf, 0x4b, - 0x8b, 0x37, 0xf8, 0xee, 0xa3, 0x13, 0x93, 0x2f, 0xa8, 0xbc, 0x9b, 0x86, 0xa1, 0x6b, 0x74, 0x6f, - 0xb7, 0x4e, 0xf0, 0x35, 0xc6, 0xd2, 0x7d, 0xe1, 0x58, 0x3a, 0xc3, 0x6e, 0x38, 0x01, 0x06, 0x3b, - 0xc9, 0xef, 0x16, 0xfe, 0x85, 0x53, 0xaf, 0x24, 0xee, 0x9e, 0x40, 0x02, 0x3e, 0xe4, 0xf4, 0x60, - 0x41, 0xf3, 0xfd, 0xc2, 0x68, 0xdc, 0x09, 0x51, 0xe5, 0xd4, 0x47, 0x16, 0x62, 0x54, 0x9c, 0x6a, - 0xba, 0x82, 0x82, 0x45, 0x5e, 0x09, 0xe7, 0x1d, 0x5e, 0x0d, 0x80, 0x24, 0x39, 0x0b, 0xdf, 0x40, - 0xa1, 0x3c, 0x98, 0x2a, 0x46, 0x15, 0xc8, 0xbe, 0x8c, 0x50, 0x3b, 0xaf, 0x6a, 0x3a, 0xc1, 0x36, - 0xc8, 0x86, 0x03, 0xb3, 0xa1, 0x72, 0x6e, 0x95, 0x57, 0xe8, 0x94, 0x12, 0x05, 0xaa, 0xdc, 0x0c, - 0xbb, 0x43, 0x9c, 0x87, 0x84, 0xea, 0x19, 0xcd, 0xb2, 0x2f, 0x93, 0x63, 0x84, 0x5c, 0x11, 0x19, - 0x1e, 0x4e, 0xb8, 0xad, 0x8b, 0xc5, 0x68, 0x4e, 0x4c, 0xba, 0x78, 0x07, 0xa6, 0x70, 0x40, 0x89, - 0x3f, 0x13, 0x8f, 0x62, 0x90, 0xe3, 0x71, 0x96, 0x17, 0x15, 0x39, 0xe1, 0x8b, 0x81, 0x76, 0x4c, - 0x61, 0x92, 0x51, 0x3b, 0x88, 0xc2, 0xa6, 0x80, 0xa7, 0x53, 0x02, 0xe5, 0xc5, 0x03, 0xae, 0x7a, - 0xab, 0xce, 0x6e, 0x61, 0x07, 0xe7, 0x74, 0x59, 0x08, 0x97, 0x09, 0x21, 0xb9, 0x48, 0x99, 0x1c, - 0xe3, 0x12, 0x4e, 0x38, 0x8a, 0x33, 0xc7, 0x09, 0x47, 0x62, 0xaf, 0x43, 0xfd, 0x26, 0xe1, 0x28, - 0x0a, 0xae, 0x8c, 0x9c, 0x46, 0xc4, 0x9a, 0xcf, 0xac, 0x41, 0xf2, 0xdb, 0x99, 0xd2, 0xd2, 0x3f, - 0x8a, 0x19, 0x86, 0x82, 0xaf, 0x83, 0x2b, 0xfe, 0xb7, 0x68, 0x29, 0xd8, 0xa3, 0xb3, 0xc7, 0x57, - 0x8e, 0x1e, 0x2f, 0x64, 0x17, 0x93, 0x1b, 0x75, 0x95, 0xfd, 0x5e, 0xeb, 0x26, 0xd4, 0x3e, 0x84, - 0x5d, 0xcb, 0x9a, 0x31, 0xe4, 0xda, 0x79, 0x05, 0x52, 0xc7, 0x38, 0x25, 0xe5, 0x92, 0x44, 0x71, - 0xa4, 0x0b, 0xbc, 0xcd, 0xe0, 0x2a, 0xb8, 0x23, 0xa1, 0x40, 0x34, 0x23, 0x0d, 0x70, 0x56, 0x36, - 0x98, 0xee, 0x56, 0x33, 0x83, 0x46, 0xe8, 0x9d, 0x48, 0x0c, 0x94, 0xd4, 0x8d, 0x53, 0xea, 0x8f, - 0x2a, 0x5c, 0x41, 0x0b, 0x61, 0xfd, 0x7d, 0xa6, 0x0b, 0x6f, 0x0c, 0x65, 0x3c, 0x91, 0x1c, 0xbb, - 0xae, 0x94, 0x5f, 0xf4, 0x39, 0x94, 0xc7, 0xb8, 0xce, 0xcb, 0xd9, 0x5b, 0x1a, 0x3d, 0xf0, 0x41, - 0x04, 0x6f, 0xb3, 0x97, 0x54, 0xca, 0x4f, 0xf2, 0x9e, 0x4a, 0xf9, 0xcd, 0x6d, 0x07, 0x6a, 0x19, - 0x7b, 0x21, 0x63, 0x95, 0xa4, 0xa2, 0xcc, 0x10, 0xa9, 0xf8, 0xe8, 0x9a, 0x66, 0x6c, 0x97, 0x92, - 0xe7, 0x46, 0x56, 0x29, 0x09, 0xd1, 0x37, 0x4b, 0xe9, 0x42, 0xad, 0x62, 0xa2, 0xe7, 0x59, 0xa5, - 0xf8, 0x04, 0xc8, 0x2c, 0x23, 0xaf, 0x75, 0x1c, 0x0d, 0xc5, 0x1b, 0x22, 0x47, 0x9d, 0xb9, 0x4a, - 0xef, 0x53, 0x26, 0xd7, 0x60, 0x3a, 0xd2, 0x54, 0xdf, 0x84, 0xb2, 0x39, 0xe4, 0xfd, 0x93, 0x82, - 0x43, 0x95, 0xe2, 0x78, 0xb9, 0xfe, 0x9e, 0xca, 0xe1, 0x3e, 0xc8, 0xe7, 0x91, 0xd3, 0x66, 0xef, - 0x28, 0xd5, 0x27, 0x65, 0xf8, 0x20, 0x78, 0x71, 0x6a, 0x6e, 0xae, 0x81, 0x22, 0x95, 0xc0, 0xa4, - 0x05, 0x5b, 0xef, 0x4d, 0xed, 0x9a, 0x4a, 0x0f, 0xe5, 0x97, 0x6a, 0x53, 0xd4, 0xc7, 0x70, 0x95, - 0x31, 0x0b, 0x9e, 0x3a, 0xa0, 0x10, 0xbd, 0x34, 0x2a, 0xa7, 0xb2, 0x99, 0x70, 0xfb, 0x10, 0x0d, - 0x49, 0xf4, 0xc2, 0xe8, 0x6b, 0x41, 0xc0, 0xb6, 0x23, 0x4e, 0x1f, 0xd2, 0xf0, 0x6a, 0xc9, 0xed, - 0x55, 0xfc, 0x26, 0xce, 0xc2, 0x61, 0xe2, 0x2e, 0xee, 0xb9, 0x8b, 0xfb, 0xb4, 0xf4, 0x52, 0x8b, - 0x41, 0xa7, 0xdf, 0x0c, 0x7c, 0x4f, 0xde, 0x70, 0x50, 0x53, 0x13, 0x08, 0x63, 0xe9, 0x62, 0xc2, - 0xcb, 0xc4, 0x77, 0x91, 0x39, 0xf7, 0x21, 0x4e, 0x9d, 0x62, 0x35, 0xae, 0xf2, 0x22, 0xcc, 0x59, - 0x80, 0x90, 0xe0, 0x4c, 0xe5, 0x6a, 0xa9, 0x06, 0x37, 0xc2, 0xda, 0xb3, 0x2a, 0x94, 0x69, 0x0e, - 0x32, 0x81, 0x94, 0x1d, 0xd6, 0x35, 0x52, 0x5e, 0x7f, 0xb3, 0x10, 0x78, 0x51, 0x64, 0x65, 0x28, - 0x11, 0x35, 0xe5, 0x68, 0x9a, 0x0e, 0x41, 0x6c, 0x19, 0xa6, 0xff, 0x5a, 0x8d, 0x64, 0x66, 0xc8, - 0x8f, 0xa6, 0x3e, 0x38, 0x08, 0x0e, 0x23, 0x35, 0x8b, 0x14, 0x14, 0xf4, 0x7b, 0xb2, 0x84, 0x32, - 0x2f, 0x28, 0x93, 0x45, 0x92, 0xc0, 0xa0, 0xd8, 0x28, 0x7f, 0x7d, 0x3f, 0x50, 0xaf, 0x56, 0xd1, - 0x74, 0x10, 0xc8, 0x99, 0x59, 0x8c, 0x72, 0x10, 0x28, 0x03, 0xca, 0x4b, 0xbd, 0xaf, 0x02, 0x12, - 0x57, 0x74, 0x3f, 0x31, 0xdb, 0x52, 0xc2, 0x86, 0x1a, 0x7d, 0x21, 0xb4, 0xec, 0xc8, 0x6c, 0x4d, - 0x09, 0x1a, 0x6a, 0x8e, 0x4d, 0xe8, 0xa2, 0xe6, 0xc4, 0xac, 0x61, 0x04, 0x0f, 0x55, 0xa7, 0xb2, - 0x8a, 0x71, 0xee, 0x41, 0x70, 0xa4, 0x97, 0x21, 0xfb, 0x1e, 0x04, 0xc7, 0x7a, 0x21, 0xe7, 0xe1, - 0x83, 0xe0, 0x44, 0xaf, 0xa0, 0xc7, 0x7f, 0x10, 0x9c, 0xba, 0x8a, 0x71, 0xbd, 0x67, 0xca, 0x64, - 0x34, 0x96, 0x0e, 0x28, 0x55, 0x10, 0xa4, 0x33, 0x76, 0xa8, 0x4b, 0x5c, 0x75, 0xc8, 0xde, 0xa1, - 0xae, 0xe7, 0xaa, 0x43, 0x26, 0x0f, 0x75, 0x7d, 0x47, 0x1d, 0xdd, 0x2a, 0xa8, 0x3c, 0x74, 0x54, - 0x12, 0x86, 0x0f, 0x75, 0x47, 0x8e, 0x3a, 0xd8, 0x1a, 0xa8, 0x39, 0x76, 0xd4, 0x20, 0x77, 0x83, - 0xaa, 0x13, 0x77, 0xa7, 0xf7, 0x62, 0xbb, 0x93, 0x53, 0x77, 0x0b, 0x89, 0xa0, 0xe4, 0xcc, 0xd1, - 0xc2, 0xb8, 0x0e, 0x80, 0xc2, 0xba, 0x9e, 0x49, 0xf0, 0x0d, 0xe8, 0x25, 0x42, 0x1a, 0x10, 0x2d, - 0xb5, 0x9c, 0xaa, 0xea, 0x6b, 0x64, 0x56, 0x26, 0x5d, 0xd6, 0x6a, 0xa6, 0xbd, 0xe7, 0x41, 0x59, - 0x8c, 0x0f, 0xbe, 0x59, 0x2e, 0x63, 0xfa, 0xec, 0x0b, 0xb4, 0xc6, 0x45, 0x5a, 0x90, 0x70, 0xdc, - 0xab, 0x7b, 0xc6, 0x32, 0x82, 0xdb, 0x7e, 0x7c, 0x78, 0x16, 0x77, 0x83, 0xe7, 0x07, 0xee, 0x9c, - 0x43, 0xf2, 0x33, 0xef, 0x56, 0xce, 0xa1, 0x59, 0xd2, 0x26, 0xa3, 0xca, 0x2c, 0x51, 0xd3, 0x8f, - 0xcc, 0x12, 0x25, 0x55, 0xca, 0x2c, 0x89, 0x51, 0x9d, 0x54, 0xc2, 0xba, 0xdf, 0x16, 0x05, 0x88, - 0xd9, 0x77, 0xb3, 0x0c, 0x78, 0xdb, 0x3c, 0x1f, 0x4d, 0x30, 0x66, 0x75, 0x92, 0xde, 0x66, 0xe3, - 0xb4, 0xdc, 0xd5, 0x13, 0x66, 0xcc, 0x12, 0xe5, 0x95, 0xda, 0x2e, 0x7b, 0xd7, 0x36, 0xbb, 0xee, - 0xe6, 0xd3, 0x93, 0xdd, 0xc7, 0xa4, 0xb2, 0x98, 0xd9, 0xb9, 0xdd, 0x65, 0x22, 0x85, 0x01, 0xe8, - 0x5f, 0xf9, 0x52, 0x5c, 0x16, 0xfa, 0xcf, 0x5c, 0xff, 0xb9, 0xce, 0xcb, 0xa8, 0x59, 0xd2, 0x9c, - 0x34, 0x31, 0xe9, 0x9e, 0x0c, 0xf8, 0x27, 0x3c, 0xf7, 0x18, 0x4e, 0x5e, 0xc5, 0xec, 0x0f, 0x0c, - 0xab, 0xa1, 0xb1, 0xf4, 0xb5, 0x9f, 0x80, 0xb3, 0xb6, 0x90, 0xe2, 0xcd, 0x4c, 0x1e, 0x45, 0x2c, - 0x84, 0x30, 0xbf, 0xa1, 0xc9, 0x20, 0x5d, 0x6d, 0x28, 0xb7, 0xf5, 0xd5, 0xa8, 0xb2, 0xbf, 0x96, - 0x09, 0xca, 0x8c, 0x19, 0x91, 0x13, 0xb1, 0x46, 0x1d, 0x5e, 0x81, 0xca, 0x03, 0x00, 0x43, 0xfa, - 0x00, 0x51, 0xc6, 0x63, 0x3f, 0x6f, 0xd3, 0x8b, 0xe7, 0xe4, 0xbd, 0x0c, 0xb5, 0xf7, 0x8b, 0x0f, - 0x75, 0x33, 0xa0, 0x6b, 0x6a, 0x37, 0xae, 0xde, 0x96, 0x8d, 0x76, 0xbc, 0xee, 0x68, 0x04, 0x4f, - 0xed, 0x07, 0xd4, 0x9a, 0xb3, 0x31, 0x4f, 0x3c, 0x63, 0x1a, 0xfb, 0x3c, 0x64, 0x61, 0x18, 0x4a, - 0x14, 0x3f, 0xbb, 0x7f, 0xed, 0xa4, 0xf9, 0xaa, 0x58, 0x87, 0xf5, 0x9c, 0xee, 0xc4, 0xfb, 0x73, - 0x4e, 0x7f, 0x86, 0xbe, 0x42, 0x53, 0x8b, 0x98, 0x3b, 0xc2, 0x7a, 0x81, 0x1a, 0x87, 0x7a, 0xed, - 0x6d, 0x9e, 0x4d, 0x02, 0xc5, 0xa4, 0x6a, 0x4d, 0x31, 0x76, 0x44, 0x08, 0xd4, 0x00, 0x75, 0x3c, - 0x25, 0x50, 0xac, 0xa6, 0xe4, 0x19, 0x6c, 0xdb, 0x81, 0x45, 0xfc, 0x84, 0x05, 0xc0, 0x3b, 0x08, - 0xb7, 0x1a, 0x92, 0x97, 0xb8, 0xeb, 0x8c, 0xc3, 0x63, 0x2b, 0x5c, 0x60, 0x8c, 0xd1, 0x14, 0x00, - 0xf4, 0x4b, 0x0b, 0xaa, 0x28, 0x18, 0x7e, 0x24, 0xa6, 0x0a, 0x7c, 0x4e, 0x68, 0xed, 0xb5, 0xb0, - 0xad, 0x30, 0x82, 0x19, 0x8e, 0xd9, 0x5b, 0xc9, 0x32, 0x5e, 0xae, 0xca, 0x59, 0x48, 0x1d, 0x01, - 0x58, 0x19, 0x2a, 0x9d, 0xa3, 0xc0, 0x8e, 0xe8, 0x88, 0x5a, 0x1d, 0xd4, 0xce, 0xa6, 0xe3, 0xb1, - 0xe0, 0x96, 0xa8, 0xe6, 0x30, 0x3e, 0x0a, 0x36, 0x8d, 0x77, 0x89, 0xea, 0x4f, 0x5f, 0xa7, 0x55, - 0xa2, 0x30, 0xc6, 0x59, 0xc7, 0x5c, 0xe4, 0x56, 0x47, 0x43, 0x63, 0x04, 0x97, 0x84, 0xd7, 0xba, - 0x8b, 0x48, 0x6a, 0x5d, 0x37, 0x4c, 0x7c, 0x8a, 0xed, 0x4e, 0xa1, 0xba, 0x59, 0xf6, 0x1f, 0x1a, - 0xef, 0xa5, 0x22, 0x82, 0xe5, 0x87, 0x61, 0x0f, 0x49, 0xcc, 0x14, 0x1e, 0x34, 0x4d, 0x85, 0x3c, - 0xff, 0xa7, 0x1d, 0x57, 0xe7, 0x98, 0x59, 0xaf, 0x6b, 0x58, 0x85, 0xf1, 0x11, 0x13, 0xef, 0x5d, - 0x83, 0xa6, 0x14, 0x39, 0xb2, 0xe3, 0xd8, 0x6b, 0x0f, 0x9b, 0xfd, 0x60, 0x8c, 0x4f, 0x9a, 0xec, - 0xb8, 0x66, 0xbd, 0x11, 0xa7, 0x41, 0x49, 0x64, 0x32, 0x19, 0x4e, 0xe7, 0x40, 0x76, 0x82, 0x0a, - 0x19, 0xfd, 0xd5, 0x4d, 0x87, 0x3c, 0x48, 0xf4, 0x26, 0x13, 0x30, 0xee, 0x55, 0x1d, 0x0b, 0x82, - 0x1b, 0xf5, 0x9c, 0x6b, 0x17, 0x7c, 0xab, 0x79, 0xc5, 0x8d, 0x2c, 0xae, 0xd5, 0xea, 0x04, 0x94, - 0x35, 0xd6, 0x44, 0x19, 0x9e, 0xb5, 0x2c, 0xce, 0xf9, 0x0e, 0xbd, 0x2b, 0xe3, 0x9c, 0xb2, 0xdd, - 0xe2, 0x5a, 0xf0, 0xd5, 0xd6, 0x4b, 0xe4, 0xb0, 0xbc, 0xab, 0xd4, 0xce, 0x7e, 0x99, 0x6a, 0x07, - 0x57, 0xe4, 0x5d, 0x3a, 0xdf, 0x66, 0xbe, 0x04, 0x0f, 0xb7, 0xd9, 0x7a, 0xd6, 0xd4, 0xf5, 0xc7, - 0x59, 0x27, 0x4f, 0x00, 0x7f, 0x95, 0xef, 0xe1, 0x78, 0x8f, 0x4c, 0x93, 0x6a, 0x49, 0xbb, 0x37, - 0xa3, 0x6c, 0x61, 0xcb, 0xa2, 0x2c, 0xbf, 0x26, 0xfa, 0x48, 0x86, 0xc4, 0xb6, 0xee, 0x48, 0x53, - 0xda, 0xf0, 0x01, 0x64, 0x91, 0x9b, 0x94, 0xcc, 0x20, 0xa7, 0x8f, 0xe6, 0x0d, 0xd9, 0x3b, 0xb2, - 0x35, 0xaa, 0x4b, 0x27, 0x10, 0x23, 0x49, 0xa7, 0x11, 0x55, 0x2d, 0x27, 0xeb, 0xe4, 0xeb, 0x54, - 0x22, 0xb1, 0x98, 0xaf, 0xa5, 0x28, 0x28, 0xd6, 0x7f, 0xfd, 0xb1, 0x54, 0x62, 0x46, 0x3f, 0x7b, - 0x90, 0x24, 0x03, 0xb5, 0xf5, 0x19, 0xf1, 0xad, 0x52, 0x12, 0xbc, 0x8a, 0x85, 0x5d, 0xf8, 0x80, - 0x5d, 0x2a, 0xad, 0x04, 0x0e, 0xfd, 0xad, 0x5b, 0xa7, 0x43, 0xc7, 0x0d, 0x57, 0xb5, 0x4f, 0xfc, - 0xad, 0xa5, 0xea, 0x74, 0x24, 0xe7, 0x24, 0xda, 0x25, 0x36, 0x7c, 0x1a, 0xfd, 0x92, 0x42, 0xb6, - 0xbf, 0x1e, 0xd6, 0x88, 0xa2, 0xf8, 0x86, 0xcd, 0x4a, 0x4f, 0x1d, 0xd4, 0xee, 0xf6, 0xbf, 0x20, - 0x64, 0xa2, 0xa6, 0x62, 0x42, 0x52, 0x5e, 0x16, 0x29, 0x3e, 0x76, 0x2a, 0xd9, 0x60, 0x7c, 0x5f, - 0x1b, 0xce, 0xc5, 0xce, 0x26, 0x34, 0xe1, 0xe0, 0x70, 0x8e, 0xee, 0x20, 0x35, 0xbb, 0xe6, 0xe4, - 0xfa, 0x88, 0x50, 0x1d, 0xa6, 0xdc, 0x9f, 0x47, 0xb2, 0x5e, 0x25, 0xad, 0xfb, 0xa5, 0x90, 0xf2, - 0xc2, 0x35, 0xb9, 0xcb, 0xc6, 0xef, 0x87, 0x78, 0xfa, 0x6d, 0xf4, 0x55, 0x91, 0x35, 0xcf, 0x95, - 0x11, 0xce, 0xf1, 0x4c, 0xe6, 0x5b, 0x71, 0xcc, 0xf3, 0x09, 0x8f, 0xaa, 0x35, 0x96, 0x9e, 0x53, - 0xcb, 0xff, 0x05, 0x1a, 0xef, 0xa7, 0xae, 0xbe, 0xf0, 0x24, 0xf6, 0x91, 0xec, 0xd6, 0xf5, 0x89, - 0x29, 0xcf, 0x21, 0xda, 0x6a, 0x2a, 0x23, 0x81, 0xe3, 0xad, 0x5d, 0xc2, 0x75, 0x10, 0x1f, 0x9f, - 0x96, 0x07, 0x11, 0xb2, 0x1e, 0x27, 0x9a, 0x84, 0x6b, 0xe6, 0xca, 0x59, 0x23, 0x53, 0xce, 0x9e, - 0x50, 0x13, 0xd8, 0xd5, 0xc8, 0x24, 0x83, 0x61, 0xb9, 0xba, 0x2a, 0xc7, 0x45, 0x76, 0x25, 0x81, - 0xb1, 0x96, 0x08, 0x8c, 0x85, 0x1b, 0x7d, 0x6d, 0xbd, 0xd4, 0xe0, 0xe0, 0x48, 0x84, 0x1c, 0x35, - 0x8f, 0xf0, 0xb9, 0xdf, 0x8e, 0x0a, 0x77, 0x72, 0x19, 0xa5, 0x5e, 0x66, 0xb6, 0x99, 0x64, 0x74, - 0x29, 0xbb, 0x46, 0x2d, 0x97, 0x0d, 0x13, 0xe3, 0x21, 0x8d, 0x78, 0xb0, 0xc2, 0x9d, 0xb6, 0x62, - 0x17, 0xc8, 0x4b, 0x58, 0x09, 0x4f, 0xd8, 0x75, 0xab, 0xac, 0x42, 0x83, 0xf9, 0xee, 0xb7, 0x56, - 0x0d, 0x7f, 0x31, 0x4d, 0x5e, 0xd2, 0xc7, 0xbc, 0xa7, 0xa8, 0x86, 0x5d, 0x9a, 0x30, 0x07, 0x22, - 0x6b, 0xf4, 0xf3, 0xde, 0x47, 0xd9, 0x4e, 0x44, 0xbb, 0x50, 0x5f, 0x61, 0x28, 0xc2, 0x4e, 0xf0, - 0x91, 0xda, 0x4d, 0xb6, 0xc8, 0x6e, 0x56, 0x37, 0x7f, 0x29, 0x46, 0x04, 0x01, 0xdf, 0x66, 0xd7, - 0x19, 0xa6, 0x24, 0xea, 0x05, 0x0f, 0x9d, 0x87, 0x9b, 0x9f, 0xa5, 0x13, 0x47, 0xb8, 0x0d, 0x90, - 0x82, 0x4d, 0x6a, 0x33, 0x96, 0x96, 0x4d, 0xec, 0x45, 0x7d, 0xf7, 0xad, 0x6f, 0x39, 0xd9, 0xc4, - 0x33, 0x8a, 0x28, 0xd6, 0xde, 0x95, 0x0f, 0xd8, 0x0b, 0x1e, 0x95, 0xd3, 0x52, 0x94, 0x03, 0x93, - 0x9d, 0x66, 0xbf, 0x90, 0xad, 0x26, 0xb6, 0x11, 0x10, 0xc3, 0x55, 0x86, 0x4a, 0x03, 0xaa, 0x58, - 0xcc, 0x21, 0x46, 0x76, 0xe8, 0xcc, 0x1a, 0xf7, 0x93, 0x42, 0xa0, 0xc1, 0x57, 0x30, 0xaf, 0x18, - 0x49, 0x8e, 0xe2, 0xac, 0x1b, 0xf1, 0x32, 0x1e, 0x7d, 0xb1, 0x3b, 0xd8, 0xa5, 0x0f, 0xc1, 0xcd, - 0xe4, 0x87, 0x14, 0x08, 0x0b, 0xf1, 0x0b, 0xbe, 0x0e, 0xf4, 0x6f, 0xf8, 0xed, 0xf0, 0x59, 0xc6, - 0xa0, 0x7a, 0xb0, 0xb6, 0x9e, 0x3c, 0x80, 0xda, 0xe4, 0xa9, 0x90, 0x43, 0x9f, 0xfe, 0x63, 0x1e, - 0xd9, 0x90, 0xc3, 0x61, 0xc1, 0x1e, 0x34, 0x64, 0x66, 0xc4, 0x5e, 0xdb, 0xef, 0xe2, 0x73, 0xfb, - 0xdd, 0x41, 0x30, 0x02, 0xd1, 0x85, 0x60, 0x1b, 0xff, 0x0e, 0x94, 0x38, 0x0b, 0xc5, 0xb7, 0xa0, - 0xb8, 0x9f, 0x95, 0x3d, 0xd1, 0xd7, 0x7e, 0xeb, 0x5c, 0xb9, 0x00, 0x41, 0xb3, 0x5d, 0xbc, 0x41, - 0x61, 0x09, 0xb6, 0x1a, 0x4d, 0xfa, 0x2f, 0xe6, 0xe9, 0xb4, 0xda, 0x6d, 0xa0, 0x13, 0x32, 0x49, - 0x8b, 0x52, 0x7e, 0xd0, 0x4a, 0x75, 0x5a, 0x21, 0x19, 0x0a, 0x5e, 0xbd, 0x0a, 0x76, 0x77, 0x1f, - 0x4d, 0x33, 0xc8, 0x6b, 0xe0, 0xdf, 0x42, 0x4f, 0x9c, 0xd1, 0x4c, 0x27, 0xbc, 0x1f, 0xa3, 0x12, - 0x9c, 0xd1, 0xab, 0x18, 0x54, 0xbc, 0xe2, 0x9b, 0x2a, 0xec, 0x5a, 0xc4, 0x40, 0x5a, 0x82, 0xae, - 0x4b, 0x46, 0xba, 0xc0, 0xff, 0x1a, 0xa1, 0x5f, 0x1d, 0xbd, 0x4a, 0x23, 0x15, 0x9a, 0x33, 0x01, - 0xce, 0x32, 0x56, 0xc2, 0x29, 0xfe, 0x8f, 0xe5, 0x92, 0x47, 0xab, 0x3d, 0xfc, 0xac, 0x66, 0xf1, - 0x65, 0x48, 0x62, 0xcd, 0x94, 0xa0, 0x36, 0x85, 0xae, 0x3c, 0x62, 0xc6, 0xc1, 0x41, 0x80, 0x24, - 0xaf, 0x47, 0x49, 0x71, 0xbc, 0xb0, 0xe0, 0x2b, 0xe0, 0xbe, 0x45, 0x96, 0x96, 0x64, 0x31, 0x92, - 0xde, 0x8a, 0x74, 0xb2, 0x02, 0xce, 0x1e, 0xe6, 0x20, 0x5d, 0xc2, 0x6d, 0x7b, 0x7b, 0x49, 0xc4, - 0x9f, 0x30, 0xbf, 0xf8, 0x80, 0xeb, 0xb8, 0x8d, 0x82, 0xbc, 0x13, 0x19, 0x91, 0xbf, 0x7a, 0x1c, - 0xe2, 0x2d, 0x8d, 0x83, 0xa1, 0x50, 0x5b, 0x12, 0xa6, 0x81, 0x6e, 0xe7, 0x6a, 0x7d, 0xe4, 0x76, - 0x33, 0x1a, 0xdb, 0xd4, 0xf6, 0xfd, 0x37, 0x6f, 0x7c, 0xc4, 0x06, 0xed, 0x1f, 0x4d, 0x65, 0x80, - 0x5e, 0x4c, 0xb0, 0x31, 0xcd, 0x8a, 0x92, 0x90, 0x0d, 0xc9, 0x12, 0x33, 0x0d, 0xe0, 0xa4, 0x54, - 0x43, 0x42, 0xcc, 0x55, 0x2e, 0xbc, 0x72, 0xec, 0x32, 0xda, 0x36, 0x85, 0xc2, 0x32, 0xea, 0xe9, - 0xf3, 0x0f, 0xba, 0x7c, 0x3c, 0x5d, 0x6a, 0x48, 0x5e, 0x8b, 0x2a, 0x8b, 0xb2, 0xcc, 0x6c, 0xb2, - 0xfc, 0x87, 0x56, 0xaa, 0xd3, 0x25, 0xf6, 0xa8, 0xb9, 0xfb, 0x69, 0x03, 0x0c, 0x74, 0x9d, 0xbc, - 0xbe, 0xd9, 0xdd, 0xec, 0x06, 0x47, 0x08, 0x7f, 0x4e, 0x6e, 0xdc, 0xf3, 0xd2, 0x2a, 0xb4, 0xa9, - 0x5d, 0x88, 0x8e, 0x97, 0x75, 0x13, 0x54, 0x9a, 0x3d, 0x6e, 0x9a, 0x24, 0x50, 0x13, 0x66, 0xe0, - 0x10, 0x37, 0xac, 0x1a, 0x43, 0xe8, 0x60, 0xf5, 0xb5, 0x78, 0xe4, 0x8d, 0x70, 0x92, 0x37, 0x65, - 0xd3, 0x1c, 0x45, 0xc0, 0xce, 0x16, 0x3c, 0x9b, 0x0e, 0xb1, 0xd4, 0xff, 0xc0, 0xbf, 0xeb, 0x7f, - 0x08, 0xff, 0x08, 0x27, 0xa7, 0x90, 0x7c, 0xfd, 0x03, 0x27, 0x3c, 0x70, 0x7e, 0x3b, 0x5e, 0x4e, - 0x55, 0x9a, 0xae, 0x4d, 0x67, 0x60, 0x3d, 0x3f, 0x7e, 0x70, 0x87, 0x49, 0xfa, 0xe2, 0x20, 0x1b, - 0xc2, 0x27, 0xb9, 0xca, 0xe0, 0x09, 0x94, 0x6c, 0xb3, 0x9f, 0xae, 0xb6, 0x3a, 0xba, 0x7d, 0x2d, - 0x34, 0x0c, 0xf9, 0x63, 0xc0, 0xbe, 0x59, 0x2e, 0xb7, 0x13, 0xfb, 0xa5, 0x84, 0x7e, 0x91, 0x90, - 0xaf, 0x80, 0xc7, 0x7a, 0x09, 0xdd, 0x2d, 0x32, 0xcd, 0xaa, 0xb0, 0x01, 0x7a, 0x48, 0x17, 0xe5, - 0xa6, 0x76, 0x00, 0x0a, 0x4b, 0x14, 0x06, 0x53, 0xa5, 0x12, 0x39, 0x4c, 0x3a, 0xa4, 0x13, 0x08, - 0x98, 0x33, 0x6b, 0x10, 0x4c, 0xf2, 0xf1, 0x0a, 0x81, 0xc6, 0xf0, 0xeb, 0x2d, 0x35, 0xd3, 0xbd, - 0xbe, 0xff, 0x6e, 0x12, 0xee, 0x43, 0xb7, 0x7d, 0xca, 0x3b, 0x05, 0xab, 0x66, 0xdb, 0x0b, 0x35, - 0x50, 0xf0, 0xd0, 0xc1, 0xe9, 0xff, 0x7f, 0x64, 0xe0, 0x1c, 0xfa, 0x5f, 0x42, 0x01, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x7d, 0xd9, 0x62, 0xdb, 0x48, + 0x92, 0xe0, 0xfb, 0x7e, 0x05, 0x84, 0xf6, 0xd0, 0x40, 0x2b, 0x09, 0x13, 0xbc, 0x09, 0x1a, 0xe6, + 0xda, 0xb2, 0x5d, 0xed, 0xae, 0x72, 0xb9, 0xc6, 0x76, 0x57, 0x75, 0x95, 0x46, 0xe3, 0x81, 0xc8, + 0x94, 0x08, 0x1b, 0x04, 0x68, 0x00, 0xd4, 0x61, 0x89, 0xfd, 0x19, 0xfb, 0x21, 0xfb, 0xbc, 0x5f, + 0xb3, 0x5f, 0xb2, 0x11, 0x91, 0x07, 0x12, 0x20, 0xe5, 0xa3, 0xb7, 0x7a, 0xae, 0xea, 0xb6, 0x08, + 0xe4, 0x19, 0x19, 0x19, 0x19, 0x57, 0x66, 0x06, 0x2e, 0xa2, 0xdc, 0x8a, 0xd6, 0xeb, 0xf0, 0x6c, + 0x93, 0xce, 0xcb, 0x38, 0x4b, 0x1d, 0xf7, 0xc6, 0xde, 0x14, 0xdc, 0x2a, 0xca, 0x3c, 0x9e, 0x97, + 0xf6, 0x54, 0xa5, 0x5b, 0x1c, 0x72, 0xb6, 0xfa, 0xad, 0x74, 0x38, 0x2b, 0xdd, 0x9b, 0xb3, 0x2c, + 0x77, 0xe6, 0x59, 0x5a, 0x94, 0x56, 0x6a, 0xc5, 0x90, 0xea, 0xf2, 0xe3, 0xf4, 0x24, 0x2c, 0xe1, + 0xcf, 0x34, 0xe7, 0xe5, 0x26, 0x87, 0x6a, 0x55, 0x9d, 0xd4, 0xe1, 0xee, 0x8d, 0x4a, 0x76, 0xdc, + 0x2a, 0xa3, 0x70, 0x74, 0xfa, 0xab, 0xd3, 0xf7, 0x7c, 0x5e, 0x7a, 0xf3, 0x9c, 0x47, 0x25, 0x77, + 0xd2, 0x4d, 0x92, 0x18, 0xe5, 0x72, 0x6c, 0x80, 0x7b, 0xd0, 0xe9, 0xb3, 0x68, 0xbe, 0x74, 0x52, + 0x23, 0x2b, 0xa9, 0xda, 0xb6, 0x55, 0xa2, 0x1d, 0x86, 0xe5, 0xf5, 0x9a, 0x67, 0x67, 0x26, 0x10, + 0x99, 0x00, 0x5c, 0x81, 0x71, 0x10, 0xf2, 0x59, 0x09, 0xe5, 0x02, 0x78, 0x0a, 0xcb, 0xdb, 0x5b, + 0xde, 0x6a, 0xd9, 0x19, 0xc1, 0x60, 0xd4, 0xbe, 0xbd, 0xfd, 0x7c, 0x9b, 0x73, 0xa7, 0x64, 0x9e, + 0xe7, 0xa5, 0xee, 0x4d, 0x7c, 0x46, 0x30, 0x43, 0x21, 0x57, 0xf5, 0x30, 0x15, 0xf8, 0x29, 0xc2, + 0xd2, 0x2b, 0x36, 0xa7, 0xc5, 0x3c, 0x8f, 0x4f, 0xb9, 0x43, 0xa5, 0x15, 0x8a, 0x0a, 0x6f, 0x93, + 0xea, 0xac, 0x99, 0xe3, 0x86, 0x8f, 0x6a, 0x29, 0x8e, 0x1b, 0x14, 0x55, 0x5f, 0x11, 0xc2, 0xcf, + 0x52, 0x56, 0x50, 0x67, 0x30, 0x68, 0xd1, 0x7c, 0x1e, 0xc6, 0x3a, 0x43, 0xa3, 0xfe, 0xb8, 0x73, + 0xe2, 0xe4, 0xee, 0xb6, 0xaa, 0x8c, 0x65, 0xa0, 0x04, 0xcb, 0x2b, 0x04, 0x1c, 0xfb, 0x27, 0xad, + 0x56, 0x3e, 0x2b, 0x9d, 0xc2, 0x9b, 0x97, 0x57, 0x5e, 0x91, 0xc4, 0x73, 0xe8, 0x91, 0x61, 0xba, + 0x93, 0x03, 0x8a, 0x5d, 0xe8, 0x1d, 0x73, 0xaa, 0x46, 0x36, 0x75, 0x08, 0x8e, 0xbb, 0xd0, 0x40, + 0x51, 0xc1, 0x81, 0x09, 0x4e, 0x81, 0x35, 0xa7, 0x90, 0x7d, 0x91, 0xc5, 0x0b, 0xab, 0x13, 0x02, + 0x42, 0xbc, 0x45, 0x9c, 0x97, 0xd7, 0x0a, 0x2d, 0x39, 0x66, 0xee, 0x60, 0x3a, 0x57, 0xcd, 0xf0, + 0xf0, 0xf8, 0x84, 0xa5, 0xe1, 0xcb, 0xa8, 0x5c, 0x7a, 0xab, 0xe8, 0xca, 0x91, 0xb5, 0xbd, 0x84, + 0xa7, 0xe7, 0xe5, 0x92, 0xe5, 0xf2, 0xc1, 0x9d, 0x22, 0x01, 0x26, 0x1c, 0xd1, 0xdb, 0x99, 0x16, + 0x0f, 0xd3, 0x69, 0x71, 0x18, 0xfa, 0x40, 0x84, 0xc5, 0x89, 0xea, 0x10, 0x1e, 0x6f, 0x73, 0xf8, + 0x53, 0xd1, 0xa3, 0x7c, 0x90, 0xf9, 0xb7, 0x79, 0x23, 0xa1, 0x1a, 0xe8, 0x42, 0x0d, 0x94, 0xe5, + 0x2c, 0xa1, 0xc1, 0x6a, 0xf8, 0x32, 0x40, 0xb7, 0xc8, 0x4a, 0xdc, 0x29, 0xf7, 0xd6, 0x4e, 0xc6, + 0x6a, 0x88, 0xa6, 0x99, 0x41, 0xec, 0x10, 0x52, 0x05, 0xb0, 0x8f, 0x7a, 0x5d, 0x55, 0xbd, 0x14, + 0xc3, 0x33, 0x73, 0x1f, 0xf4, 0xba, 0x7a, 0x30, 0x1c, 0x06, 0xc3, 0x61, 0x30, 0xfc, 0xf0, 0xd0, + 0x2d, 0x8f, 0xf9, 0x49, 0xd8, 0xf6, 0x15, 0xf8, 0xa5, 0x84, 0xb6, 0xed, 0x57, 0x9d, 0xad, 0x2b, + 0x32, 0x28, 0xc3, 0x9b, 0xed, 0xb4, 0xb1, 0x28, 0xb9, 0x6b, 0xdf, 0xb3, 0x81, 0xba, 0x53, 0x20, + 0x87, 0x56, 0xcb, 0xc1, 0xc5, 0x19, 0xe2, 0x32, 0x75, 0xab, 0x36, 0x75, 0x53, 0x4b, 0x63, 0x89, + 0x0a, 0x42, 0xe6, 0x33, 0xdb, 0x0e, 0x0c, 0x5a, 0x5f, 0x39, 0xd5, 0xea, 0x29, 0x5b, 0xad, 0x04, + 0xa7, 0x86, 0x03, 0xb3, 0xc8, 0xae, 0xdd, 0x99, 0x7e, 0x34, 0x2b, 0x9c, 0x8b, 0x05, 0xc7, 0x3d, + 0xe0, 0x32, 0x3c, 0x5d, 0x1c, 0x2d, 0xe3, 0x64, 0x01, 0x6d, 0x54, 0x05, 0x2e, 0x04, 0x9a, 0xb1, + 0x48, 0x9c, 0x16, 0x3c, 0x2f, 0x9f, 0x70, 0x18, 0x01, 0x47, 0xfc, 0xde, 0xde, 0x36, 0x38, 0xc0, + 0xb5, 0xe0, 0x00, 0xeb, 0x28, 0xe7, 0x69, 0xf9, 0x63, 0xb6, 0xe0, 0x5e, 0xce, 0x57, 0xd9, 0x05, + 0x17, 0xad, 0x72, 0xa3, 0xe4, 0x55, 0xc5, 0xa0, 0x10, 0xa5, 0x29, 0xa0, 0x34, 0x7d, 0xc8, 0x25, + 0xb2, 0xa7, 0xa9, 0x20, 0x93, 0x14, 0x10, 0x82, 0x7f, 0xbd, 0x3a, 0x44, 0xf7, 0x0c, 0x2c, 0x2c, + 0xb2, 0xf9, 0x66, 0x05, 0x9d, 0x49, 0x96, 0xf4, 0x2c, 0xe1, 0xf8, 0x56, 0xeb, 0xea, 0xf2, 0x8b, + 0xc5, 0x7f, 0x7c, 0xe3, 0xd8, 0xcb, 0xb2, 0x5c, 0x07, 0x0f, 0x1e, 0x5c, 0x5e, 0x5e, 0x7a, 0x97, + 0x3d, 0x2f, 0xcb, 0xcf, 0x1f, 0x74, 0x3b, 0x9d, 0xce, 0x83, 0xe2, 0xe2, 0xdc, 0x66, 0x66, 0x6b, + 0xa7, 0x77, 0xb7, 0xf6, 0x96, 0x5f, 0xd1, 0xa0, 0x6b, 0xbd, 0xff, 0x58, 0x31, 0xcf, 0x53, 0xc7, + 0xb6, 0x6c, 0x23, 0xeb, 0x5d, 0x2d, 0xcb, 0xcc, 0xf9, 0x50, 0xad, 0x61, 0xb5, 0x2e, 0xbc, 0x68, + 0xb1, 0x78, 0x76, 0x01, 0x9d, 0xfd, 0x10, 0x17, 0x25, 0x4f, 0x79, 0x2e, 0x08, 0xdc, 0x65, 0xc8, + 0x90, 0x14, 0x9e, 0xf7, 0x15, 0xa8, 0x5a, 0x7d, 0xa6, 0x66, 0x52, 0x90, 0x4e, 0x3a, 0x53, 0xd5, + 0x1e, 0x97, 0x20, 0x4d, 0x4e, 0x37, 0xc0, 0xd1, 0x4b, 0x37, 0xe0, 0xde, 0x39, 0x2f, 0xcd, 0x14, + 0xa4, 0x4d, 0x98, 0x07, 0xaf, 0xa8, 0x25, 0x33, 0x93, 0xbd, 0x1f, 0x89, 0xd9, 0x2c, 0x43, 0xdb, + 0x3e, 0x2c, 0x19, 0xf7, 0x2e, 0x97, 0x59, 0x42, 0xe8, 0x40, 0xae, 0x0d, 0x44, 0xcd, 0xbd, 0x45, + 0x54, 0x46, 0xa1, 0x39, 0x89, 0xaf, 0x14, 0xdd, 0x5d, 0x44, 0xc9, 0x86, 0x87, 0x92, 0x2d, 0x23, + 0x35, 0x1b, 0xf4, 0xfe, 0x71, 0x3f, 0x95, 0x64, 0x6b, 0xcc, 0x2d, 0x6a, 0xd4, 0x72, 0xa3, 0xf8, + 0xb8, 0xce, 0x46, 0x29, 0x07, 0x6b, 0xbc, 0xf0, 0xde, 0xbd, 0x13, 0x7d, 0x18, 0x6c, 0x1f, 0xf9, + 0x1e, 0xe4, 0x14, 0x3c, 0x01, 0x06, 0xc7, 0x17, 0xe1, 0x41, 0xc7, 0xdd, 0x72, 0xfd, 0xfa, 0x22, + 0x5d, 0xf0, 0x2b, 0x58, 0xd5, 0xdb, 0x79, 0x12, 0x15, 0x85, 0xf5, 0x46, 0xb4, 0x9d, 0x6f, 0xe6, + 0x25, 0x00, 0xc2, 0xc3, 0x03, 0xe8, 0xad, 0x5c, 0xc6, 0x85, 0x17, 0x17, 0xef, 0x80, 0x3e, 0xe0, + 0x9d, 0x99, 0xaf, 0x5c, 0xbc, 0xf1, 0x90, 0x7e, 0x52, 0x1a, 0xda, 0x76, 0x8e, 0x64, 0x43, 0x09, + 0xb8, 0x86, 0xb7, 0x2b, 0x31, 0x15, 0x94, 0x27, 0xd3, 0x41, 0x8c, 0x39, 0x46, 0x33, 0x33, 0xd9, + 0xc8, 0x25, 0xac, 0xe0, 0x14, 0x88, 0xea, 0xc7, 0x68, 0xc5, 0xdd, 0x40, 0x26, 0xde, 0x33, 0x13, + 0x45, 0x77, 0x65, 0x58, 0x8a, 0x07, 0xec, 0x49, 0xa6, 0xc5, 0x28, 0x83, 0x97, 0xba, 0x67, 0x5c, + 0xc0, 0x40, 0x17, 0x7f, 0x7a, 0xfb, 0xf2, 0x07, 0x05, 0x64, 0x1a, 0x3e, 0xce, 0xf3, 0xe8, 0xda, + 0x3b, 0xcb, 0xb3, 0x95, 0x23, 0x0b, 0xcd, 0x71, 0xb1, 0x22, 0x1d, 0x03, 0xed, 0xc4, 0x58, 0x59, + 0xa1, 0xbf, 0x04, 0xf4, 0x97, 0x0f, 0x45, 0x3d, 0x85, 0xfb, 0x12, 0x71, 0x7f, 0x21, 0xaa, 0x4a, + 0x00, 0xd2, 0xe3, 0xf2, 0x04, 0x97, 0xcc, 0x5a, 0x77, 0xbc, 0x70, 0x24, 0x40, 0x08, 0x8b, 0x02, + 0x8d, 0x7e, 0x22, 0x77, 0x0b, 0x99, 0x37, 0xb2, 0x4d, 0xa5, 0x39, 0x5c, 0x03, 0xaf, 0xc6, 0x0e, + 0x1f, 0x57, 0xea, 0xcd, 0x7b, 0x6c, 0xec, 0x71, 0x68, 0x30, 0xae, 0xd7, 0x0e, 0xb1, 0xf0, 0x83, + 0xc7, 0x6e, 0xb9, 0xcc, 0xb3, 0x4b, 0x2b, 0xe5, 0x97, 0xd6, 0xb3, 0x3c, 0x07, 0x58, 0xed, 0xe7, + 0x5a, 0xf2, 0x47, 0x49, 0xc2, 0x17, 0x56, 0xb6, 0x29, 0x8b, 0x78, 0xc1, 0xad, 0x79, 0xb6, 0x5a, + 0x67, 0x29, 0x2c, 0x11, 0xe0, 0xbb, 0x71, 0x19, 0x47, 0x49, 0xfc, 0x29, 0x22, 0xad, 0x41, 0xf3, + 0xda, 0xc7, 0x55, 0xfb, 0x3f, 0x38, 0x95, 0xb4, 0x83, 0xbe, 0x64, 0x09, 0x5a, 0x54, 0x37, 0xf3, + 0x28, 0x9d, 0xf3, 0x24, 0x3a, 0x4d, 0x78, 0x50, 0xc0, 0xf4, 0x6f, 0x81, 0xad, 0xc3, 0x2a, 0xac, + 0x64, 0xac, 0x77, 0xef, 0x9e, 0x87, 0x7d, 0x9f, 0x46, 0xf3, 0x0f, 0x05, 0xa0, 0x63, 0x6a, 0x0a, + 0xa7, 0xa4, 0x52, 0xe6, 0x90, 0x08, 0x6e, 0x4e, 0x37, 0xa7, 0xd0, 0x50, 0x11, 0xa4, 0x48, 0x48, + 0xfb, 0x5a, 0xd6, 0xed, 0x36, 0xb9, 0x17, 0xae, 0x76, 0xc7, 0x3e, 0xda, 0x14, 0x65, 0xb6, 0xa2, + 0x97, 0x6a, 0x20, 0xb9, 0x87, 0x43, 0x34, 0xb2, 0xa4, 0x6a, 0x51, 0xba, 0x2c, 0xdf, 0xee, 0x0e, + 0x62, 0x6b, 0x54, 0x94, 0x3a, 0x86, 0x9e, 0x0d, 0xa7, 0x84, 0xa1, 0x95, 0x34, 0x1e, 0x68, 0x04, + 0xd8, 0x3d, 0x90, 0xd7, 0x41, 0x02, 0xb2, 0xe4, 0x2c, 0xda, 0x24, 0xe5, 0x4f, 0x39, 0xc7, 0xe6, + 0xf9, 0x42, 0x4a, 0xbe, 0x83, 0x8e, 0x21, 0x67, 0xdf, 0x8a, 0xf5, 0x2b, 0xa5, 0xdd, 0x0e, 0x5e, + 0x3c, 0xd4, 0x2b, 0x4e, 0xa6, 0xc0, 0x5d, 0xd2, 0xdd, 0x5e, 0x39, 0xb2, 0x35, 0xea, 0x14, 0xa9, + 0x03, 0x9a, 0x71, 0xdd, 0xad, 0x68, 0xe8, 0x13, 0x8a, 0xe7, 0x17, 0xf8, 0xe7, 0x25, 0xfe, 0xf9, + 0x19, 0xff, 0x3c, 0x09, 0x7f, 0x02, 0x12, 0x8e, 0x0b, 0x64, 0x69, 0x45, 0x96, 0x5c, 0x40, 0x53, + 0x53, 0x24, 0xa1, 0xa7, 0x80, 0xc4, 0x8a, 0x8a, 0xbe, 0x87, 0x39, 0x7d, 0x0a, 0xeb, 0x0c, 0x52, + 0x3b, 0xec, 0x89, 0x57, 0x2e, 0x79, 0xea, 0xfc, 0xc5, 0x35, 0xb8, 0xd2, 0x73, 0x24, 0xb3, 0x97, + 0xde, 0x7a, 0x53, 0x2c, 0x6b, 0x5c, 0xfc, 0x4f, 0x98, 0xfe, 0xb3, 0x4e, 0x17, 0x70, 0xfc, 0x14, + 0x22, 0xcd, 0xbd, 0xe1, 0x25, 0xf5, 0xf4, 0x2b, 0xac, 0x0e, 0x5d, 0xfe, 0x2f, 0x06, 0xf1, 0x3c, + 0x9e, 0x2e, 0x32, 0x5a, 0x43, 0xd3, 0x5f, 0x1f, 0x7e, 0x52, 0xeb, 0xa6, 0xca, 0xfe, 0x74, 0xfc, + 0xeb, 0xc9, 0xf4, 0xd7, 0xc3, 0x43, 0x86, 0x24, 0xce, 0xfe, 0xea, 0x20, 0x92, 0xa0, 0x67, 0x28, + 0xff, 0x5e, 0x28, 0xd8, 0x4c, 0x55, 0x0a, 0x3b, 0x0c, 0x3b, 0x79, 0xa1, 0xdb, 0x78, 0xe1, 0xad, + 0xb3, 0xb5, 0xe3, 0x3a, 0x6e, 0x43, 0x35, 0x79, 0xa9, 0x4a, 0x70, 0x83, 0x33, 0x96, 0xe1, 0x4b, + 0xd0, 0x55, 0xa6, 0x3f, 0x79, 0xcb, 0xa8, 0x00, 0xae, 0x0e, 0x58, 0xf8, 0x09, 0x65, 0x0a, 0x3c, + 0xb2, 0xd2, 0x01, 0x1c, 0xbc, 0xd4, 0xbd, 0x6c, 0x2f, 0x81, 0x03, 0x70, 0xe7, 0x53, 0x4d, 0x8b, + 0x9b, 0xfe, 0xac, 0xbb, 0xfd, 0x59, 0x77, 0x8b, 0xd8, 0x65, 0x3f, 0x79, 0xf3, 0x84, 0x47, 0x39, + 0xac, 0xf1, 0xf7, 0x35, 0x9c, 0xfd, 0x55, 0x2a, 0x59, 0x38, 0x08, 0x90, 0x03, 0x60, 0x18, 0xe4, + 0xd1, 0x39, 0x92, 0x2f, 0x72, 0xfd, 0xcd, 0x7a, 0x81, 0x16, 0x04, 0x50, 0x23, 0x0c, 0xf8, 0x94, + 0x34, 0x8a, 0x77, 0x22, 0xcd, 0x9d, 0x2a, 0x78, 0xb9, 0xd0, 0xf8, 0xa6, 0xf2, 0x37, 0x3c, 0x6e, + 0xfb, 0xc0, 0x58, 0x74, 0x33, 0x28, 0x93, 0xd4, 0x33, 0xa8, 0x78, 0xa4, 0xad, 0x21, 0x7d, 0x83, + 0xa8, 0x3c, 0x2b, 0x79, 0x2e, 0x9b, 0xd3, 0x04, 0xf5, 0x1c, 0x98, 0x8a, 0x68, 0xf9, 0x97, 0xda, + 0xbc, 0x7d, 0x57, 0xcd, 0xda, 0x9f, 0x61, 0xd6, 0xbe, 0x0b, 0x6f, 0xf2, 0xa0, 0xc3, 0xe6, 0x01, + 0x10, 0xd5, 0x3a, 0xf8, 0xce, 0x20, 0xe6, 0x7f, 0xc6, 0x5c, 0x2f, 0xbf, 0xbd, 0xcd, 0x9d, 0xef, + 0xbc, 0xb9, 0xcb, 0xbe, 0x0b, 0xbf, 0xf3, 0xd6, 0x55, 0xf6, 0x6f, 0x52, 0xa0, 0x21, 0x58, 0x31, + 0xc8, 0xbc, 0x5f, 0x60, 0x85, 0x40, 0xfb, 0xa8, 0x0d, 0x00, 0x48, 0xc0, 0xef, 0x4c, 0x3a, 0xe3, + 0xbc, 0xae, 0xa5, 0x63, 0xa5, 0x8c, 0x1e, 0x7f, 0xa1, 0xf9, 0x01, 0x16, 0x2e, 0x96, 0xd3, 0xf4, + 0x17, 0x9a, 0x24, 0x68, 0x03, 0xfa, 0x14, 0xf4, 0xe7, 0xa0, 0xc4, 0xbf, 0x31, 0x9b, 0x2f, 0xa0, + 0x3b, 0x12, 0xd1, 0x0b, 0xc7, 0x87, 0x37, 0x9c, 0x4d, 0x17, 0x3b, 0xcd, 0x50, 0x6d, 0xe2, 0x09, + 0x9a, 0x8b, 0x60, 0x03, 0x98, 0x26, 0x5d, 0xc9, 0xeb, 0x2b, 0xf3, 0x66, 0xcb, 0x0a, 0xfc, 0x93, + 0x87, 0x37, 0xf7, 0xee, 0x15, 0xf3, 0x6c, 0xcd, 0x03, 0x7f, 0x4b, 0xe8, 0x49, 0x42, 0xad, 0x95, + 0x11, 0x19, 0x24, 0xed, 0xf6, 0xb4, 0x52, 0xb3, 0xf9, 0x71, 0x72, 0xc2, 0xe6, 0x60, 0x51, 0x26, + 0xc4, 0xe3, 0xe6, 0xa6, 0xc9, 0xc9, 0x51, 0xbb, 0xcd, 0x5c, 0xfa, 0x99, 0x03, 0xb9, 0x15, 0xa8, + 0x2a, 0xfb, 0xee, 0xb4, 0x51, 0x62, 0xee, 0xe6, 0x90, 0x01, 0xf9, 0x29, 0xe6, 0xcf, 0xe1, 0x0f, + 0xcb, 0x65, 0x49, 0x6c, 0x3d, 0x9c, 0x8b, 0x11, 0xec, 0xb4, 0x2b, 0x0a, 0x6d, 0x1b, 0xe9, 0x85, + 0xe8, 0x2f, 0x55, 0xed, 0x09, 0x03, 0x47, 0x73, 0xb7, 0xd4, 0x30, 0x77, 0xb9, 0x61, 0x93, 0xee, + 0xd8, 0x94, 0xc0, 0x92, 0x24, 0xd9, 0xce, 0x78, 0x70, 0x63, 0x50, 0x41, 0xc1, 0x95, 0x16, 0x55, + 0x29, 0x1c, 0xc0, 0xd5, 0xd6, 0x79, 0xb6, 0x26, 0x4e, 0x2f, 0x3a, 0x84, 0x8a, 0x05, 0xe9, 0x3d, + 0x90, 0x75, 0x9a, 0x6d, 0xd2, 0x05, 0x9a, 0x3c, 0x29, 0x4b, 0x45, 0x0a, 0x10, 0x2a, 0xbc, 0x9b, + 0xf4, 0x90, 0x13, 0x30, 0x44, 0x06, 0x73, 0x73, 0x9e, 0x12, 0xd1, 0x5b, 0xc1, 0x32, 0xd9, 0xdf, + 0x8d, 0xa2, 0xf8, 0x60, 0xce, 0xb2, 0xf4, 0xdd, 0x0a, 0xda, 0x2e, 0x83, 0x08, 0x1f, 0x95, 0x6e, + 0x1f, 0x33, 0x93, 0xfc, 0x83, 0xcd, 0x96, 0x00, 0x9c, 0xce, 0x5b, 0xad, 0xb9, 0x07, 0x32, 0x1e, + 0x55, 0xc6, 0xec, 0xf6, 0xf6, 0xb9, 0x24, 0x23, 0xb5, 0xd6, 0x22, 0xb0, 0xe3, 0xd6, 0xa0, 0x2e, + 0x78, 0x67, 0x71, 0x02, 0xb5, 0x1d, 0xb0, 0x9b, 0xe2, 0x59, 0x2c, 0x08, 0x0e, 0xac, 0x61, 0xd0, + 0x0b, 0x73, 0x87, 0xd6, 0x16, 0x80, 0xaf, 0xfa, 0x05, 0xbe, 0x8b, 0x74, 0xb6, 0x31, 0x97, 0x58, + 0x65, 0xc8, 0xf3, 0x5d, 0xde, 0x3f, 0x95, 0x38, 0x4d, 0x8d, 0x35, 0x8c, 0x56, 0xac, 0x57, 0x81, + 0xef, 0x32, 0x33, 0xb3, 0x7a, 0x26, 0x13, 0x80, 0x99, 0x25, 0x8d, 0x56, 0x48, 0x8d, 0x82, 0x4c, + 0xc0, 0x2b, 0xc0, 0x64, 0x00, 0x31, 0x27, 0x45, 0x95, 0x25, 0x2c, 0x63, 0x73, 0x16, 0xb1, 0x98, + 0x6d, 0x88, 0x89, 0x28, 0xa8, 0x16, 0xc0, 0x9b, 0xdf, 0x43, 0xbb, 0x92, 0xe3, 0x9c, 0x81, 0x51, + 0x7a, 0xef, 0x5e, 0x58, 0xa1, 0x98, 0x9a, 0x85, 0x46, 0xc5, 0x03, 0x4d, 0x31, 0xe0, 0x5a, 0x22, + 0x16, 0xe4, 0x69, 0x56, 0xbe, 0xe3, 0x1f, 0x37, 0x51, 0x02, 0x73, 0x41, 0x93, 0x1c, 0xc0, 0x1a, + 0xab, 0x66, 0x05, 0x18, 0x88, 0x31, 0x2d, 0xf2, 0x2d, 0x86, 0xc5, 0x05, 0x4a, 0xd8, 0x9c, 0xb2, + 0x6b, 0x7c, 0x0f, 0x13, 0x6a, 0x33, 0x07, 0xef, 0x50, 0xb6, 0x04, 0x2d, 0x3a, 0x40, 0x7e, 0xf5, + 0x12, 0xe7, 0xc7, 0x93, 0x29, 0x40, 0xde, 0x8b, 0xd9, 0x82, 0x68, 0x49, 0x16, 0x81, 0x71, 0xbb, + 0x4c, 0xcb, 0x56, 0x82, 0x84, 0xb8, 0x66, 0xb0, 0x61, 0xc5, 0x87, 0x78, 0xfd, 0x4e, 0x00, 0x08, + 0xec, 0x3a, 0xcf, 0x32, 0x68, 0xd0, 0x2b, 0xa3, 0x1c, 0xf4, 0xfc, 0xdb, 0x5b, 0x6a, 0x04, 0xd3, + 0xb6, 0x53, 0xe0, 0x5a, 0xb1, 0x73, 0x46, 0x2f, 0x42, 0x78, 0xae, 0x51, 0x78, 0xc2, 0xb2, 0x3e, + 0x23, 0xcc, 0x26, 0xb3, 0x04, 0xb1, 0x29, 0x48, 0xfd, 0xf6, 0x16, 0xb8, 0x85, 0x43, 0x4a, 0x05, + 0x90, 0x47, 0x61, 0x6a, 0x3f, 0x4a, 0x2f, 0x9f, 0x15, 0x60, 0xd1, 0x06, 0xa9, 0x5a, 0x7a, 0xd4, + 0x08, 0x10, 0xa1, 0x68, 0x0d, 0x97, 0xb9, 0x7a, 0x08, 0x73, 0x17, 0xe8, 0xe0, 0xe0, 0xcc, 0xab, + 0x00, 0x6d, 0xb5, 0xce, 0xe4, 0xba, 0xe1, 0x27, 0xe6, 0x33, 0x68, 0x51, 0x6c, 0x0d, 0x09, 0x86, + 0x02, 0xe5, 0xde, 0xb4, 0xfd, 0x30, 0x14, 0xab, 0x50, 0xb8, 0x14, 0xc8, 0x8e, 0xfe, 0xa4, 0x84, + 0x35, 0xfb, 0xde, 0x91, 0x74, 0x2b, 0x7c, 0x14, 0x40, 0xe0, 0x89, 0xd3, 0x71, 0xcd, 0xb4, 0xe3, + 0xf2, 0x41, 0xcf, 0xbf, 0xed, 0x9c, 0xdc, 0x86, 0xfe, 0xc3, 0x87, 0xe5, 0x3f, 0xf5, 0x7c, 0xd4, + 0x90, 0x50, 0x8b, 0x4e, 0x81, 0xbe, 0x71, 0x1e, 0xce, 0x2a, 0x79, 0xb5, 0x46, 0xd5, 0x21, 0x87, + 0x41, 0xd4, 0x85, 0x16, 0x14, 0xd1, 0xd4, 0x78, 0x70, 0x90, 0xb5, 0x5a, 0x99, 0x18, 0x27, 0xd2, + 0xac, 0x40, 0xb5, 0x90, 0x85, 0xde, 0xf2, 0x7a, 0x91, 0x63, 0x05, 0x2d, 0xff, 0xab, 0xb1, 0x68, + 0x63, 0xcf, 0xd0, 0xc9, 0xeb, 0xea, 0xb8, 0xa3, 0x1b, 0x9b, 0x9e, 0x19, 0xcb, 0xa4, 0x7a, 0xf6, + 0x12, 0x21, 0x6e, 0x0c, 0x4d, 0x5a, 0x70, 0xcf, 0xfd, 0xa5, 0x81, 0xd7, 0x4c, 0x53, 0xd0, 0x14, + 0x81, 0x42, 0x5b, 0xad, 0xdf, 0x1c, 0x24, 0xff, 0x4a, 0x4a, 0xb3, 0x84, 0x56, 0x8f, 0xec, 0x11, + 0x1e, 0x40, 0x5f, 0x5c, 0x66, 0x39, 0xae, 0x33, 0xa1, 0x56, 0x0a, 0xe3, 0xd9, 0x65, 0xa0, 0xec, + 0x6c, 0xdf, 0x3b, 0x0b, 0x57, 0x9a, 0x4b, 0x11, 0xbf, 0xb9, 0x27, 0xa9, 0x1e, 0x24, 0x26, 0xf0, + 0x01, 0xd2, 0xdf, 0x7c, 0xa9, 0xf8, 0xab, 0x2c, 0x50, 0xe5, 0xef, 0xa9, 0x09, 0x54, 0x3c, 0x42, + 0x14, 0x30, 0x55, 0x44, 0x12, 0x0c, 0xfb, 0x92, 0x71, 0x9d, 0x6b, 0xa6, 0x2e, 0xa6, 0xba, 0x14, + 0xb6, 0xb0, 0x46, 0x2c, 0x0e, 0x0c, 0xec, 0xb8, 0x57, 0x67, 0xb8, 0xc2, 0xdb, 0x3e, 0xf2, 0x72, + 0x52, 0x34, 0xd7, 0xa4, 0x69, 0x72, 0x80, 0x68, 0xbb, 0xbd, 0x07, 0x46, 0x2d, 0x22, 0xfe, 0x22, + 0xca, 0xad, 0x72, 0x2a, 0x3b, 0x82, 0x34, 0x74, 0xc4, 0x80, 0x8d, 0x84, 0x7c, 0x5c, 0xba, 0x3c, + 0x3f, 0xf0, 0x6b, 0x54, 0x9b, 0x94, 0x4e, 0x84, 0x05, 0x24, 0x58, 0x15, 0xd5, 0x22, 0x69, 0x54, + 0x6d, 0x68, 0x5b, 0xa7, 0x51, 0xc6, 0xd7, 0x8a, 0x48, 0x8c, 0x7e, 0xb4, 0x4a, 0xfd, 0xd8, 0x70, + 0xd3, 0xf9, 0x79, 0xa3, 0x3d, 0x8c, 0xc1, 0x42, 0x64, 0x54, 0x0e, 0x4a, 0x43, 0x1e, 0x2d, 0x68, + 0x92, 0x42, 0x18, 0x03, 0xf9, 0xd9, 0xa6, 0x6a, 0x15, 0x2a, 0x15, 0xa7, 0xee, 0x82, 0x05, 0x12, + 0xcc, 0x88, 0xb6, 0xe5, 0x00, 0x0b, 0xb7, 0x22, 0xc4, 0x83, 0xb8, 0x26, 0xe9, 0x95, 0x50, 0x25, + 0xbf, 0x1f, 0xf9, 0x1b, 0x5d, 0x06, 0x25, 0xc4, 0xaa, 0x02, 0x68, 0xa6, 0xc2, 0xbf, 0x59, 0xd7, + 0x3c, 0xab, 0x26, 0x40, 0xf5, 0xec, 0xba, 0x31, 0x87, 0xa9, 0x42, 0x37, 0x27, 0x3e, 0x1c, 0x02, + 0xe3, 0x9d, 0xea, 0x02, 0xa0, 0x66, 0x6e, 0xb7, 0x6a, 0xa4, 0xbc, 0x0c, 0x12, 0xc5, 0x57, 0xcd, + 0xf5, 0x00, 0x30, 0x93, 0xde, 0xc4, 0x2a, 0x5c, 0xe8, 0x6c, 0x60, 0xe9, 0xa1, 0x5e, 0x46, 0x51, + 0x78, 0x0c, 0xef, 0x27, 0x95, 0x11, 0x83, 0x4a, 0x53, 0xe4, 0x32, 0xe4, 0x0c, 0x60, 0xd1, 0xc4, + 0x9f, 0x60, 0xea, 0x9d, 0x22, 0x4c, 0x41, 0xae, 0xdd, 0xde, 0xc2, 0xbc, 0x64, 0x9a, 0x5a, 0x72, + 0xa5, 0x47, 0x41, 0xe9, 0x4e, 0xad, 0x34, 0x8c, 0xb7, 0x10, 0x06, 0x3a, 0x40, 0x6a, 0xf8, 0x0e, + 0xb9, 0x74, 0xac, 0x68, 0x25, 0xe8, 0x40, 0xac, 0xd7, 0xb8, 0xa0, 0x5f, 0x6c, 0x39, 0x0a, 0xb3, + 0x19, 0x28, 0x03, 0x41, 0xc9, 0xe2, 0x50, 0x99, 0xca, 0x0f, 0xbb, 0x0a, 0x3a, 0x98, 0xe7, 0x82, + 0x91, 0x55, 0x25, 0x5c, 0xa3, 0xc0, 0x64, 0x45, 0x53, 0x1b, 0x24, 0x07, 0x4c, 0x5b, 0x80, 0xaa, + 0x7f, 0x16, 0x2a, 0xdf, 0xf4, 0x3a, 0x24, 0x48, 0x01, 0xdf, 0x0b, 0xa5, 0x15, 0x9e, 0x39, 0xae, + 0x76, 0x5c, 0x03, 0x2a, 0x66, 0x1b, 0x64, 0xb5, 0x1b, 0x9a, 0x15, 0xf4, 0x15, 0xbb, 0xc1, 0x59, + 0x98, 0xc0, 0xcf, 0xac, 0x08, 0xf8, 0x96, 0x2d, 0xa5, 0x74, 0x77, 0x68, 0xde, 0xc2, 0x47, 0x73, + 0xf8, 0x45, 0xf3, 0xea, 0x66, 0x03, 0x30, 0x02, 0x11, 0x2c, 0x5a, 0xe1, 0xdf, 0x1c, 0xe4, 0x7c, + 0xa4, 0x49, 0x82, 0x66, 0xbf, 0x05, 0xdc, 0x50, 0x97, 0x0b, 0xc1, 0x11, 0x81, 0x0b, 0xba, 0x95, + 0x3b, 0x1c, 0xa9, 0x1c, 0x0a, 0x31, 0x63, 0x4b, 0x22, 0x77, 0x96, 0xf0, 0x0e, 0x15, 0xb7, 0xa6, + 0x52, 0xb3, 0x96, 0xf4, 0x8c, 0x84, 0x02, 0x4a, 0x59, 0x51, 0xa2, 0xc1, 0x09, 0xe4, 0xf4, 0x9a, + 0x9f, 0x3f, 0xbb, 0x5a, 0xcb, 0xa1, 0xdc, 0xe0, 0xc2, 0x42, 0xb9, 0xb4, 0x8e, 0x4a, 0x10, 0x7e, + 0x29, 0x00, 0x3c, 0xc5, 0xd5, 0x28, 0xfd, 0xba, 0x2c, 0x43, 0xeb, 0x6e, 0x1e, 0xda, 0x36, 0x20, + 0x95, 0xd3, 0xe2, 0x05, 0x93, 0xf7, 0x81, 0x2d, 0xd4, 0xc8, 0x08, 0x86, 0x7d, 0x7b, 0x1b, 0x79, + 0xc5, 0x32, 0x3e, 0x2b, 0xd1, 0x46, 0x0f, 0xab, 0x67, 0xd7, 0xfe, 0x23, 0xe8, 0x73, 0xa1, 0x93, + 0x86, 0x39, 0x94, 0x72, 0x67, 0x4e, 0x26, 0x68, 0xd7, 0xbe, 0x04, 0x7e, 0x6a, 0x83, 0xac, 0x3c, + 0x0c, 0xed, 0x07, 0x8e, 0xf7, 0x47, 0xd7, 0x76, 0x03, 0x3b, 0xc0, 0xa2, 0xe9, 0x0c, 0x48, 0x24, + 0xd7, 0x5c, 0xc3, 0x9e, 0xd9, 0xc8, 0xb5, 0x12, 0x33, 0xc9, 0xa3, 0x24, 0xd9, 0x52, 0x4e, 0x0b, + 0xb2, 0xcc, 0xe3, 0xf4, 0xdc, 0xf1, 0xd9, 0xdf, 0x0a, 0xc0, 0xf6, 0xdf, 0x40, 0x48, 0x06, 0xda, + 0xfd, 0x4d, 0x9d, 0xfc, 0x0d, 0x70, 0x7a, 0x00, 0xe9, 0xb6, 0x33, 0x0b, 0x1e, 0x38, 0xc7, 0xff, + 0xfa, 0xe0, 0xe4, 0x70, 0xe6, 0xba, 0x33, 0xe8, 0x52, 0xbf, 0xd9, 0xec, 0x6f, 0x09, 0x50, 0x1c, + 0x14, 0x76, 0xa0, 0x15, 0x1b, 0xf3, 0x6c, 0xf7, 0xd0, 0xfe, 0x97, 0x7f, 0xb1, 0x0f, 0xcd, 0x3e, + 0x12, 0xf4, 0xf6, 0x13, 0xd8, 0x90, 0x3e, 0x35, 0xd1, 0x97, 0x69, 0xec, 0xe1, 0xb2, 0x17, 0xf8, + 0x75, 0xec, 0x7f, 0xb5, 0x0f, 0xe7, 0x87, 0x4e, 0x89, 0x3d, 0x87, 0xf7, 0x6e, 0x1f, 0xb8, 0xd8, + 0xe5, 0xec, 0x1e, 0x0c, 0xdd, 0x8e, 0x6d, 0xd3, 0x1b, 0xbe, 0x24, 0xe5, 0x93, 0x1c, 0x6c, 0x88, + 0xf4, 0xa9, 0x72, 0x53, 0x1c, 0xe3, 0x5e, 0xc1, 0x09, 0xcd, 0x06, 0x6a, 0xfa, 0x1d, 0x83, 0x55, + 0xcd, 0x75, 0x0d, 0xe5, 0xd1, 0xae, 0x78, 0x40, 0x52, 0xb3, 0x3e, 0x81, 0xab, 0x3b, 0xa0, 0x81, + 0x01, 0x1f, 0x50, 0x14, 0x74, 0x23, 0x14, 0xa9, 0x54, 0x2d, 0x7f, 0x2b, 0x43, 0xf3, 0x85, 0x18, + 0x56, 0xe6, 0x80, 0x44, 0x42, 0x91, 0x89, 0xa2, 0xc1, 0xce, 0xb3, 0x8d, 0x74, 0x72, 0xd8, 0x8c, + 0x1f, 0x8f, 0x50, 0xc1, 0xb9, 0x81, 0xfc, 0x1b, 0x30, 0x75, 0x40, 0x5f, 0x4e, 0xeb, 0xc2, 0xaa, + 0x08, 0xdf, 0x01, 0xfd, 0xb1, 0x95, 0x20, 0x39, 0x28, 0x02, 0xd2, 0x2b, 0x65, 0xf8, 0xc2, 0xd0, + 0x83, 0x2d, 0x3c, 0x1f, 0x40, 0xba, 0x5b, 0xa0, 0x5d, 0x43, 0xe8, 0xe4, 0x61, 0xbf, 0x55, 0xce, + 0x60, 0xf9, 0x27, 0xec, 0x18, 0x2d, 0x02, 0x18, 0xb1, 0x7b, 0xe2, 0x82, 0xc6, 0x8f, 0xec, 0x2d, + 0x03, 0xf6, 0xef, 0x88, 0xa1, 0xbb, 0x42, 0x7c, 0xbb, 0x37, 0x7f, 0xd6, 0x2b, 0x0f, 0x24, 0xcc, + 0x14, 0xed, 0x38, 0x13, 0x0e, 0xe6, 0xb3, 0x8e, 0x5c, 0x3b, 0x99, 0x94, 0x31, 0x00, 0x35, 0x58, + 0x8e, 0xdb, 0x6c, 0xf6, 0x75, 0x63, 0x64, 0xbb, 0x43, 0xfb, 0xad, 0x9e, 0x40, 0x44, 0x89, 0x83, + 0x2b, 0x0c, 0x47, 0x3b, 0x72, 0xf2, 0x40, 0xfa, 0x1a, 0x49, 0xe2, 0x67, 0x28, 0xeb, 0x48, 0x0c, + 0xe5, 0x80, 0x16, 0xf2, 0xe3, 0xe5, 0x68, 0x14, 0xa1, 0x9c, 0xaf, 0x37, 0xc7, 0x05, 0x62, 0xa0, + 0x54, 0x86, 0xa5, 0xd0, 0x90, 0xe4, 0x7b, 0x8b, 0xf8, 0x5b, 0xb6, 0x90, 0x66, 0xca, 0x35, 0x30, + 0x17, 0x06, 0x25, 0x33, 0x42, 0xb2, 0x6b, 0xf2, 0xc7, 0xd5, 0x5d, 0xd4, 0x74, 0x03, 0xd0, 0x46, + 0x2b, 0xe0, 0x48, 0x20, 0x4b, 0xb6, 0xec, 0x3f, 0x15, 0x6d, 0x0d, 0xff, 0x41, 0xb4, 0x35, 0xd4, + 0xb4, 0xd5, 0x6d, 0x81, 0x4e, 0x51, 0xc7, 0x40, 0x1f, 0x93, 0xfe, 0xe3, 0x69, 0x6e, 0xf8, 0xdf, + 0x80, 0xe6, 0xce, 0x35, 0xcd, 0xc9, 0x0d, 0xc1, 0x8a, 0xea, 0x56, 0x9c, 0x2d, 0xc1, 0xd6, 0xc8, + 0x6a, 0x9a, 0xd6, 0xbc, 0xbe, 0xcb, 0x0c, 0xd3, 0x31, 0xeb, 0x04, 0xbe, 0xde, 0x69, 0x0c, 0x91, + 0x04, 0x41, 0xa9, 0xca, 0x50, 0x3e, 0x26, 0xf0, 0x07, 0x5f, 0x05, 0x79, 0xa0, 0xca, 0x6c, 0xd2, + 0x03, 0xcc, 0x0e, 0x96, 0xf2, 0xc4, 0xb3, 0x24, 0x87, 0xd4, 0x24, 0x87, 0xe3, 0xfc, 0x44, 0x80, + 0x16, 0x85, 0xa0, 0x61, 0x8a, 0xa6, 0x4b, 0x90, 0x36, 0xd1, 0x8c, 0x2a, 0x62, 0x91, 0xdc, 0x0d, + 0x9c, 0x3f, 0xa3, 0x95, 0xc2, 0x9d, 0xec, 0x38, 0x3a, 0x81, 0x09, 0xf5, 0xd5, 0x84, 0xc2, 0xab, + 0x40, 0xb0, 0x98, 0x52, 0x09, 0x14, 0x4b, 0x67, 0xa9, 0xae, 0xd9, 0x80, 0x93, 0x40, 0xa4, 0x09, + 0xc4, 0x49, 0x4b, 0x01, 0xb2, 0xe6, 0x9c, 0x19, 0x53, 0x03, 0xa5, 0xea, 0x33, 0x81, 0xd3, 0x50, + 0x43, 0x3c, 0x01, 0x49, 0x0e, 0x28, 0x39, 0x05, 0x26, 0xde, 0xd1, 0xcd, 0xaa, 0xf5, 0xc7, 0x4b, + 0x90, 0x92, 0xd9, 0xa5, 0x97, 0x64, 0x73, 0x72, 0xaa, 0x7b, 0xcb, 0x9c, 0x9f, 0x55, 0x92, 0xf3, + 0x0f, 0x28, 0xb3, 0xc5, 0x2e, 0x02, 0x7f, 0xd4, 0xf6, 0x67, 0x7b, 0x4b, 0x0b, 0x59, 0xe7, 0x80, + 0xaa, 0x08, 0x32, 0xf9, 0x81, 0x3d, 0xd5, 0x86, 0x81, 0x29, 0x94, 0x45, 0x33, 0x05, 0xa8, 0x04, + 0xda, 0x00, 0x80, 0x06, 0x49, 0xbf, 0x2b, 0x55, 0x0b, 0xe9, 0x21, 0xda, 0x1b, 0xd5, 0x7b, 0x07, + 0xe6, 0x04, 0xa6, 0x50, 0xf5, 0x06, 0x8a, 0xd9, 0xc7, 0x0d, 0xcf, 0xaf, 0x85, 0x60, 0x0d, 0x0a, + 0xa5, 0x90, 0x5f, 0xf3, 0x70, 0x23, 0x8e, 0x35, 0x30, 0xc7, 0xd4, 0x43, 0xb9, 0x83, 0x23, 0xad, + 0x3c, 0x93, 0x34, 0x37, 0x32, 0x71, 0xab, 0xa0, 0x90, 0x23, 0xda, 0xd9, 0xa7, 0xb3, 0x97, 0x51, + 0xb1, 0x9c, 0x2f, 0xa3, 0xf4, 0x9c, 0xdb, 0xac, 0x64, 0xa0, 0xff, 0x9b, 0xaa, 0x93, 0xac, 0xb5, + 0x6f, 0xff, 0x6e, 0xb7, 0x22, 0xea, 0x57, 0x53, 0x50, 0x40, 0xaf, 0x85, 0x02, 0xc7, 0x35, 0xfa, + 0x60, 0x70, 0x66, 0xb2, 0x31, 0x38, 0x0d, 0xf5, 0x15, 0x0f, 0xc1, 0x56, 0x50, 0xfe, 0xb0, 0x6a, + 0x33, 0xb5, 0x52, 0xd2, 0xca, 0xf0, 0x14, 0xd5, 0x6d, 0x76, 0xc0, 0x6f, 0x6f, 0x0f, 0x38, 0xd8, + 0x7d, 0xe7, 0xb8, 0xbf, 0x74, 0x7b, 0x6b, 0x47, 0xf6, 0x41, 0xa8, 0xdf, 0xbd, 0x32, 0xfb, 0x21, + 0xbb, 0xe4, 0xf9, 0x51, 0x54, 0xe0, 0xf0, 0xc5, 0xe6, 0x8b, 0xd8, 0x78, 0xb9, 0xff, 0x58, 0xb4, + 0x69, 0x27, 0x71, 0xfa, 0xc1, 0xb6, 0xe6, 0x11, 0xf0, 0xdf, 0x34, 0xb9, 0xb6, 0x4e, 0xb9, 0xb5, + 0x29, 0xf8, 0x02, 0x30, 0x54, 0x2e, 0xad, 0x87, 0xd1, 0x23, 0x0b, 0x9a, 0x2a, 0xee, 0x6b, 0x8d, + 0xf2, 0x52, 0x80, 0xc0, 0x6e, 0xa4, 0x91, 0x4d, 0x3b, 0x89, 0x02, 0x14, 0x99, 0x65, 0xd2, 0x9c, + 0x4c, 0x92, 0x12, 0xa2, 0x24, 0xc2, 0x01, 0x9d, 0xbe, 0xbe, 0x6b, 0x69, 0x63, 0xaa, 0x4d, 0x36, + 0x0a, 0x70, 0x0c, 0x20, 0x25, 0x74, 0x3a, 0x01, 0x2a, 0xf3, 0xc7, 0x25, 0xda, 0xfe, 0x69, 0x68, + 0xff, 0xc1, 0x3e, 0x04, 0x56, 0x8a, 0x5c, 0x0b, 0x37, 0x91, 0x70, 0x2b, 0x5b, 0xeb, 0xe9, 0x30, + 0x62, 0xa0, 0xd6, 0x83, 0x50, 0x6d, 0x4a, 0x74, 0x58, 0xb7, 0x31, 0xce, 0x17, 0xe9, 0x45, 0x94, + 0x00, 0x22, 0x69, 0x5f, 0x11, 0x5d, 0x93, 0x96, 0xe8, 0xd0, 0x8a, 0x14, 0x04, 0x81, 0x75, 0xff, + 0x30, 0xc5, 0xb3, 0x07, 0xc5, 0x2e, 0x58, 0xc8, 0x1f, 0xf6, 0xec, 0xe7, 0xda, 0x73, 0xe8, 0xed, + 0x83, 0x2d, 0x54, 0x73, 0x30, 0xb4, 0xc4, 0xc6, 0xca, 0x53, 0xb1, 0xcd, 0x82, 0x3b, 0x68, 0xde, + 0x22, 0x2e, 0x70, 0xbb, 0x66, 0x71, 0x7b, 0x6b, 0x12, 0x27, 0x98, 0x98, 0x65, 0x96, 0x5f, 0x03, + 0x09, 0xad, 0x93, 0x68, 0xce, 0xdf, 0x94, 0x88, 0xc3, 0x1b, 0xcf, 0xf3, 0x54, 0x46, 0x81, 0x29, + 0xec, 0xdd, 0xbb, 0xe2, 0x82, 0x27, 0x25, 0x7f, 0x57, 0xac, 0xa3, 0x77, 0x24, 0x02, 0xf2, 0x77, + 0x60, 0x53, 0x65, 0x49, 0xf2, 0xd7, 0x40, 0x12, 0xa1, 0x7c, 0xfd, 0x4c, 0xd1, 0x5f, 0xeb, 0x45, + 0x7f, 0xdd, 0x32, 0x41, 0x50, 0xf2, 0x07, 0x26, 0xac, 0xb9, 0xac, 0x81, 0x84, 0xc1, 0xd4, 0x47, + 0x3f, 0xc6, 0x26, 0x47, 0x26, 0xf4, 0x96, 0xbc, 0x09, 0x7b, 0x67, 0xcb, 0xad, 0x59, 0x0f, 0xa7, + 0xdc, 0x3c, 0x8f, 0x04, 0x93, 0x28, 0xe8, 0xd9, 0xf0, 0xd1, 0xce, 0x6e, 0xb0, 0x1e, 0x18, 0x0c, + 0x01, 0x47, 0x77, 0x94, 0xb1, 0xe7, 0xae, 0x7d, 0xb4, 0x40, 0x24, 0x37, 0x34, 0x80, 0x22, 0x40, + 0xff, 0xf6, 0x36, 0x2c, 0x19, 0xa8, 0x08, 0xfc, 0x2c, 0xbe, 0x0a, 0x72, 0x60, 0x20, 0xf4, 0x9e, + 0x73, 0x44, 0x13, 0x7f, 0x43, 0x23, 0x22, 0xec, 0x05, 0x09, 0x6d, 0xbd, 0x95, 0x53, 0xe1, 0xd0, + 0xc8, 0xea, 0xfb, 0xbf, 0x72, 0xb5, 0x1c, 0x94, 0xe6, 0xb9, 0xa3, 0x03, 0x05, 0x15, 0xba, 0x0e, + 0x94, 0x3b, 0xb9, 0x4a, 0x84, 0x05, 0x85, 0xbe, 0x84, 0xd2, 0x93, 0x98, 0x05, 0xc4, 0x0a, 0xbc, + 0xd6, 0x09, 0xcb, 0x56, 0x84, 0x55, 0xed, 0x54, 0xca, 0xa6, 0x88, 0x94, 0x71, 0x61, 0xee, 0xa2, + 0x81, 0xfc, 0xcc, 0x92, 0x76, 0x7d, 0x28, 0xf0, 0x80, 0x56, 0xab, 0x26, 0x76, 0xc0, 0xdc, 0x1f, + 0xeb, 0x29, 0x60, 0x02, 0xef, 0x73, 0x78, 0x1f, 0xec, 0xb5, 0xd2, 0xbe, 0x48, 0xf8, 0x60, 0x79, + 0x2c, 0x81, 0xf0, 0xf3, 0x73, 0xda, 0x9a, 0xb4, 0xda, 0x96, 0x00, 0xb0, 0xb0, 0x56, 0x1b, 0x34, + 0x4f, 0xcb, 0x28, 0x2f, 0xc5, 0xc2, 0x7f, 0x60, 0x41, 0xf1, 0x3f, 0xde, 0x97, 0xfc, 0xe8, 0x46, + 0x5b, 0x2c, 0x8c, 0x4c, 0x98, 0x62, 0x1b, 0xa2, 0xbd, 0xe8, 0x0a, 0x27, 0x0c, 0x36, 0x0a, 0x96, + 0xe9, 0x0e, 0x98, 0x80, 0xdd, 0x03, 0x71, 0x5c, 0xa9, 0x89, 0xc8, 0x99, 0xf0, 0xc7, 0x68, 0xc4, + 0x41, 0x11, 0xfd, 0x2c, 0x37, 0xc6, 0xb3, 0x74, 0x11, 0xd3, 0xc9, 0x00, 0xca, 0x53, 0x2f, 0xb7, + 0xb7, 0x60, 0x60, 0x52, 0x01, 0xe0, 0x51, 0xf9, 0x53, 0x3a, 0xa7, 0xa0, 0x1f, 0x45, 0x06, 0x29, + 0x95, 0x90, 0xaa, 0x3d, 0x9f, 0x20, 0x75, 0x1b, 0xbd, 0xa1, 0x44, 0x68, 0xee, 0x40, 0x96, 0xee, + 0x4e, 0xc7, 0xaa, 0x2b, 0xd1, 0x22, 0x34, 0x24, 0x5e, 0xdf, 0x49, 0x64, 0x84, 0xa9, 0x7c, 0x47, + 0x94, 0x84, 0xc5, 0x76, 0x15, 0x95, 0xf3, 0xa5, 0xf4, 0xdb, 0xe4, 0x2e, 0x1e, 0xc9, 0x6a, 0xce, + 0x7e, 0x2e, 0x68, 0x91, 0x7b, 0x84, 0xe8, 0xe2, 0x17, 0x40, 0x34, 0x94, 0x74, 0x8d, 0x33, 0x42, + 0x53, 0x8e, 0x76, 0xb3, 0x10, 0x83, 0xda, 0x32, 0x25, 0x32, 0xd9, 0x2a, 0xf6, 0x97, 0xef, 0x99, + 0xf7, 0x9b, 0x6a, 0x17, 0x4e, 0x40, 0x91, 0x0b, 0x12, 0x44, 0x52, 0x2e, 0x51, 0x39, 0xbd, 0xa3, + 0x0b, 0xcc, 0xab, 0xf7, 0xa2, 0x1a, 0xaa, 0x8d, 0xd4, 0xe3, 0x57, 0x1c, 0x55, 0xa1, 0xa9, 0x3e, + 0x92, 0x57, 0x1d, 0xce, 0xa0, 0x26, 0xb1, 0x2f, 0xf4, 0xde, 0x54, 0xf8, 0x50, 0xd9, 0xe5, 0xb4, + 0xda, 0xb5, 0x9a, 0xaa, 0xc3, 0x65, 0xb4, 0x37, 0x55, 0x3c, 0xac, 0x4a, 0x57, 0x1b, 0xad, 0x65, + 0x7e, 0x7d, 0x93, 0x1e, 0x57, 0x39, 0xc7, 0xc5, 0xc9, 0x09, 0x88, 0xc2, 0x39, 0x68, 0x43, 0x7f, + 0x79, 0xfd, 0xe2, 0x48, 0x4d, 0x21, 0x40, 0x5e, 0x1c, 0xfa, 0x27, 0x00, 0xb3, 0xed, 0x8a, 0x83, + 0x4d, 0xdb, 0xb9, 0x42, 0xff, 0x4e, 0x75, 0xca, 0x2e, 0x0e, 0x0f, 0xb7, 0x7a, 0x5f, 0x29, 0x2a, + 0xae, 0xd3, 0xb9, 0x35, 0x5f, 0xf2, 0xf9, 0x87, 0x23, 0x3d, 0xdf, 0x77, 0x9c, 0x9e, 0xa8, 0x08, + 0xa2, 0x3a, 0x46, 0x71, 0x88, 0xd3, 0x7b, 0x10, 0x5d, 0x46, 0x31, 0x14, 0xad, 0x17, 0x12, 0x8a, + 0x9d, 0x1c, 0xfe, 0x81, 0x3a, 0x6b, 0x86, 0x1b, 0xed, 0x02, 0x11, 0x73, 0xd4, 0x6d, 0x0b, 0x73, + 0x0e, 0x5f, 0x46, 0xeb, 0x59, 0x51, 0x6d, 0xa5, 0x4b, 0xbf, 0xcf, 0x8d, 0xdc, 0x40, 0x14, 0x16, + 0x01, 0x79, 0xb8, 0xd1, 0xbf, 0x6d, 0x3a, 0x38, 0x8b, 0xfa, 0x06, 0x7c, 0xbd, 0x06, 0x28, 0x8f, + 0x68, 0x6a, 0x61, 0xa5, 0xa9, 0x50, 0x68, 0x49, 0x53, 0x8a, 0xc5, 0xcf, 0x06, 0xa7, 0x43, 0xed, + 0xab, 0xfc, 0x00, 0x16, 0x8b, 0xc0, 0x88, 0x79, 0xe6, 0x0e, 0x39, 0x27, 0x8d, 0xd0, 0x41, 0x9f, + 0xfc, 0x13, 0x97, 0x2d, 0x84, 0x74, 0x17, 0x7b, 0x0d, 0xd4, 0xca, 0x92, 0x7e, 0xc8, 0x2e, 0x5c, + 0x4d, 0xd1, 0x29, 0x02, 0x6c, 0x00, 0xe0, 0x58, 0x87, 0x5c, 0x88, 0x31, 0x3a, 0x88, 0x84, 0x0f, + 0xde, 0x67, 0x84, 0xd4, 0x4c, 0x96, 0xa1, 0x7d, 0x9b, 0x2d, 0xbb, 0x53, 0x31, 0x5b, 0xc3, 0x22, + 0xc4, 0x72, 0x36, 0x5b, 0xba, 0x6c, 0x25, 0xb4, 0xba, 0xf5, 0xac, 0x26, 0xe1, 0xde, 0x66, 0xce, + 0xfa, 0x33, 0x5d, 0xfd, 0x95, 0x7d, 0x2e, 0xf7, 0x57, 0x37, 0x68, 0x36, 0xd6, 0x61, 0xa8, 0x6a, + 0xbf, 0x76, 0x5c, 0xb4, 0x75, 0x6a, 0xfb, 0xd4, 0x84, 0xe8, 0x95, 0x44, 0xed, 0xb9, 0xc0, 0xc6, + 0x85, 0xc0, 0x86, 0x54, 0x4e, 0xc3, 0x6b, 0x6e, 0x9c, 0x51, 0x75, 0x04, 0x7e, 0x11, 0x3b, 0xe7, + 0x21, 0x9f, 0x2a, 0x12, 0xa3, 0x85, 0x50, 0x3e, 0x9c, 0x37, 0x0f, 0x1a, 0x14, 0xe1, 0x9c, 0xec, + 0x14, 0x41, 0xd2, 0x95, 0xe2, 0x48, 0x0b, 0xad, 0x80, 0x55, 0x72, 0x78, 0x88, 0xfd, 0x94, 0x71, + 0xba, 0xe1, 0x5b, 0x65, 0xbf, 0x0a, 0xd9, 0x19, 0x50, 0x4d, 0x64, 0xc9, 0x4c, 0x2b, 0xd0, 0x55, + 0x0b, 0x35, 0x4d, 0xba, 0xa6, 0x7a, 0x32, 0xc5, 0x45, 0x45, 0x03, 0x9a, 0xa7, 0x4a, 0x2b, 0xb8, + 0xd8, 0x73, 0x96, 0x17, 0xd2, 0x1a, 0xe4, 0xa8, 0xf6, 0x92, 0xc4, 0x5c, 0x4e, 0xab, 0x45, 0x42, + 0x6d, 0x36, 0xd7, 0x9b, 0xc1, 0xfa, 0x00, 0xd5, 0x82, 0x40, 0x5d, 0x89, 0x46, 0xa1, 0xa3, 0x00, + 0x0f, 0xad, 0x56, 0xd6, 0xf3, 0x28, 0x06, 0x75, 0xca, 0x06, 0x33, 0x6a, 0x7a, 0x26, 0xed, 0xe2, + 0x1f, 0xb2, 0x68, 0x81, 0x1c, 0x96, 0x49, 0x38, 0x40, 0x01, 0x88, 0xcf, 0x53, 0x07, 0xf7, 0xc6, + 0xb5, 0x2a, 0x9d, 0x08, 0x5c, 0x6a, 0xee, 0x4f, 0x27, 0x69, 0x0f, 0xc2, 0x04, 0xf4, 0x0d, 0x40, + 0x0b, 0xd5, 0x07, 0xcb, 0x9b, 0x00, 0xd0, 0x09, 0x08, 0x45, 0xc2, 0x52, 0xc7, 0x87, 0xf5, 0xa2, + 0x13, 0x7f, 0x22, 0x4c, 0x80, 0x95, 0xe6, 0x74, 0x69, 0xfd, 0xa0, 0x13, 0xb5, 0x02, 0x03, 0x21, + 0xdb, 0x85, 0x02, 0x0c, 0x51, 0xd5, 0x6f, 0x10, 0xb1, 0x14, 0x34, 0xf2, 0x20, 0xf2, 0xf0, 0x47, + 0xe1, 0x35, 0x46, 0x77, 0x6d, 0xe0, 0xec, 0x22, 0xa0, 0xb2, 0x5f, 0x04, 0x06, 0x13, 0x47, 0x38, + 0xf1, 0x0f, 0xc2, 0x73, 0xe5, 0x57, 0x16, 0x95, 0x40, 0xca, 0x96, 0xea, 0x7c, 0xcf, 0xed, 0x6d, + 0x49, 0xa0, 0x2b, 0x4e, 0xf7, 0x4d, 0xb3, 0x26, 0x86, 0x5b, 0xb8, 0x81, 0x78, 0x10, 0xc0, 0x88, + 0xc1, 0x0a, 0x9a, 0x42, 0x31, 0xe8, 0xea, 0x89, 0xf9, 0x3d, 0x46, 0x2e, 0x0e, 0xf5, 0x08, 0xeb, + 0xf9, 0x8a, 0xd4, 0x6f, 0x27, 0x26, 0xc5, 0x72, 0x0f, 0x41, 0xc8, 0x7c, 0xa9, 0xbb, 0x6e, 0x2b, + 0x1f, 0xb7, 0xa9, 0x5e, 0xcb, 0xb5, 0x5a, 0x6d, 0xe5, 0xea, 0x53, 0x40, 0xb2, 0x97, 0x6b, 0xe0, + 0x65, 0xcb, 0x56, 0xeb, 0x73, 0x86, 0x9c, 0xc9, 0x68, 0xb6, 0x72, 0xeb, 0x11, 0x7a, 0x26, 0xd6, + 0x26, 0x46, 0x5d, 0xd8, 0x31, 0x69, 0xb9, 0xa9, 0xd3, 0x63, 0x78, 0xa4, 0x40, 0x24, 0xba, 0xcc, + 0x16, 0xda, 0xaa, 0xce, 0xed, 0x33, 0x3c, 0x5e, 0x26, 0x12, 0x21, 0x77, 0x57, 0x77, 0xd5, 0x25, + 0x07, 0x0c, 0x8f, 0x6e, 0xec, 0x16, 0x00, 0xf6, 0x43, 0xee, 0x23, 0xc1, 0x76, 0x04, 0xd3, 0xeb, + 0x75, 0x5b, 0xd5, 0x6e, 0x28, 0x32, 0x5d, 0x65, 0x39, 0x50, 0xb5, 0xd7, 0xd4, 0x06, 0x2d, 0xf6, + 0x30, 0x99, 0xd9, 0xab, 0x28, 0xdd, 0x44, 0x89, 0x1d, 0xd8, 0xd1, 0xa6, 0xcc, 0x6c, 0x68, 0xee, + 0x98, 0x76, 0xd6, 0xa5, 0xbf, 0x5e, 0xa3, 0x0e, 0x78, 0xfd, 0x5b, 0xe3, 0xfc, 0x16, 0x31, 0xfa, + 0xcf, 0xe7, 0x9e, 0xc8, 0x0d, 0xc4, 0x77, 0xdc, 0xe2, 0x57, 0x80, 0xb9, 0x05, 0xed, 0x25, 0xd6, + 0x74, 0x6f, 0xf7, 0xa6, 0xd8, 0xac, 0x39, 0x9e, 0x35, 0x9a, 0x73, 0x55, 0xf3, 0x47, 0xce, 0xce, + 0x39, 0xcb, 0x98, 0x52, 0xf4, 0x7b, 0x4c, 0x6a, 0xf8, 0x80, 0xab, 0x5d, 0xd5, 0x7e, 0xb0, 0x35, + 0x5d, 0xdf, 0x1f, 0xc8, 0xda, 0x94, 0xce, 0xca, 0x50, 0x1c, 0x4f, 0x28, 0x8f, 0x7b, 0x27, 0xe6, + 0x16, 0xb3, 0xe1, 0x58, 0x0a, 0x39, 0xe4, 0x79, 0xc5, 0xc5, 0xf9, 0xa1, 0x76, 0x3e, 0x90, 0x5b, + 0xa8, 0x0c, 0x2f, 0x41, 0x35, 0xbb, 0x38, 0xb7, 0x5d, 0xf6, 0x0c, 0x04, 0xab, 0x8d, 0x7b, 0xcc, + 0x36, 0xb3, 0xa5, 0xc9, 0x73, 0x94, 0x25, 0x59, 0xae, 0xb2, 0x68, 0x88, 0x36, 0xee, 0xd8, 0x1d, + 0xf7, 0x81, 0x85, 0xe0, 0x1b, 0xa8, 0x1c, 0xab, 0xb6, 0x40, 0xa6, 0xac, 0x9e, 0xcd, 0x37, 0x64, + 0xe9, 0xd9, 0xe4, 0x26, 0x95, 0xa9, 0x97, 0xf1, 0x02, 0x34, 0x6d, 0x46, 0x9e, 0x41, 0x91, 0xb2, + 0xe4, 0xf1, 0xf9, 0x92, 0x9c, 0x78, 0xbe, 0x4a, 0xba, 0x88, 0xf9, 0xe5, 0x93, 0xec, 0x0a, 0x3a, + 0xef, 0x58, 0x1d, 0xcb, 0x3e, 0x24, 0x80, 0x2f, 0x0f, 0x6d, 0xf5, 0xb8, 0xac, 0xfc, 0x56, 0xea, + 0x60, 0x37, 0x2b, 0x8d, 0x73, 0xa1, 0x85, 0x70, 0x5a, 0x81, 0x40, 0xf0, 0x87, 0x2d, 0x58, 0xd7, + 0xe9, 0x01, 0x6d, 0xa1, 0xec, 0x05, 0xb6, 0xd5, 0xaa, 0x8d, 0xc8, 0x65, 0x7d, 0xac, 0xb1, 0x7f, + 0x04, 0xbe, 0xce, 0xaa, 0x0d, 0xa3, 0xab, 0x93, 0x6b, 0x63, 0x31, 0x9d, 0x7e, 0x64, 0xfd, 0xe3, + 0x16, 0xae, 0x81, 0x6f, 0x3c, 0xce, 0x44, 0x9e, 0xb8, 0xb4, 0xe6, 0x99, 0xa5, 0x64, 0xf1, 0x4c, + 0x9e, 0xb8, 0x94, 0x68, 0x8e, 0x9c, 0x70, 0xe5, 0x89, 0x38, 0xf6, 0x7c, 0x40, 0x53, 0x88, 0xe5, + 0x84, 0xab, 0x76, 0xcb, 0xe2, 0x00, 0x88, 0x07, 0xfe, 0x51, 0x8f, 0xd4, 0x42, 0xe5, 0xed, 0x4a, + 0x6b, 0x9e, 0x87, 0x67, 0x5c, 0x1c, 0xa2, 0x14, 0x66, 0x25, 0xf1, 0x9f, 0x7c, 0x0b, 0x2a, 0xfb, + 0x0d, 0x0d, 0x09, 0x8c, 0x46, 0xdb, 0x87, 0xd5, 0x6f, 0x53, 0x92, 0x18, 0x4e, 0x90, 0x99, 0x69, + 0x1a, 0x29, 0xc1, 0x9c, 0xec, 0xcb, 0x14, 0xf8, 0xd1, 0xf1, 0xcd, 0x65, 0xd0, 0xed, 0xf4, 0xc7, + 0x6c, 0x19, 0xf8, 0xa3, 0x49, 0x57, 0x70, 0x35, 0x94, 0x50, 0x65, 0x04, 0x1c, 0x96, 0x01, 0x4d, + 0x05, 0xf7, 0x1f, 0xa2, 0xe8, 0x05, 0xa5, 0xca, 0x7e, 0xe9, 0x77, 0xba, 0x7d, 0xcb, 0xf7, 0x7b, + 0xfe, 0xc7, 0x4e, 0x7b, 0xd8, 0x6f, 0x4f, 0xda, 0xbe, 0x3f, 0xf2, 0x06, 0x65, 0xbb, 0x3b, 0xf1, + 0x06, 0x6d, 0xbf, 0xd3, 0x6b, 0x0f, 0x3b, 0xf0, 0x30, 0x1a, 0xb7, 0x27, 0xa3, 0x76, 0x77, 0xec, + 0x0d, 0x3e, 0xb6, 0x87, 0x56, 0xbf, 0xdd, 0xeb, 0x58, 0xfe, 0xb8, 0x6c, 0xf7, 0xa0, 0xa8, 0xd5, + 0xf5, 0xa1, 0x40, 0x6f, 0x00, 0x4f, 0x58, 0xb3, 0xdd, 0xef, 0x59, 0x7e, 0x1f, 0x7f, 0xbb, 0x96, + 0xf8, 0x69, 0xd3, 0x4f, 0xaf, 0x4d, 0xa9, 0x58, 0xae, 0x4d, 0xe5, 0xb0, 0x6e, 0x5b, 0xd4, 0xed, + 0xb4, 0xfd, 0xf1, 0xc7, 0xf6, 0x60, 0x64, 0x75, 0xa0, 0x17, 0x0b, 0x7b, 0x29, 0xa9, 0x5b, 0x0b, + 0xba, 0x45, 0x38, 0x2c, 0x84, 0x63, 0x62, 0x11, 0x64, 0x56, 0x6f, 0x04, 0xaf, 0x43, 0x78, 0x98, + 0xf8, 0x56, 0xbf, 0xeb, 0x0d, 0x96, 0x03, 0xbf, 0xfb, 0x71, 0xd0, 0x07, 0xd2, 0x9c, 0xf8, 0x6d, + 0x4c, 0x28, 0x7b, 0xa3, 0x36, 0x95, 0xf8, 0xb4, 0x6a, 0xfb, 0x83, 0x51, 0x7b, 0xd0, 0xed, 0xc0, + 0xd8, 0x26, 0xfd, 0xf6, 0x70, 0x88, 0x7d, 0x63, 0xc3, 0xa5, 0xf8, 0x31, 0x52, 0x2c, 0x7a, 0xc4, + 0x3f, 0x56, 0xf5, 0x2e, 0x1f, 0x9b, 0x09, 0xa2, 0x58, 0x55, 0xf7, 0xd3, 0x6a, 0xd2, 0x1d, 0x58, + 0x83, 0xce, 0xe4, 0x02, 0x30, 0x08, 0x5d, 0xf9, 0x88, 0xc6, 0x6e, 0x0f, 0x70, 0x08, 0x50, 0x2f, + 0x61, 0x5c, 0xc3, 0x8f, 0x90, 0x06, 0x83, 0xeb, 0xf6, 0xac, 0x49, 0x09, 0x03, 0xe9, 0xf6, 0x2e, + 0xb0, 0x20, 0xe0, 0xc9, 0xc2, 0x97, 0x12, 0xd3, 0x97, 0x58, 0x0c, 0x4b, 0x59, 0x58, 0xab, 0xc4, + 0x06, 0x3e, 0xad, 0xa0, 0xca, 0xb0, 0x73, 0xd1, 0x1e, 0x0c, 0xb1, 0x55, 0x9c, 0x0e, 0x44, 0xd9, + 0x80, 0xa6, 0x87, 0xf0, 0x08, 0xef, 0xd0, 0xfe, 0x10, 0x90, 0xe7, 0x0f, 0xb0, 0x7d, 0x9a, 0x04, + 0x31, 0x3e, 0x04, 0x19, 0xdf, 0x2f, 0xb0, 0xb2, 0xe5, 0x8b, 0x74, 0x4a, 0x29, 0x75, 0xb1, 0x25, + 0x56, 0xc5, 0x9a, 0x96, 0x6e, 0xae, 0xd4, 0x7d, 0x50, 0xef, 0x83, 0xee, 0xef, 0x3e, 0xa6, 0xee, + 0x60, 0xd8, 0xee, 0x75, 0x3b, 0x17, 0x7e, 0xd7, 0x47, 0xc8, 0x86, 0xc3, 0x76, 0x7f, 0x84, 0x04, + 0x08, 0x30, 0xfb, 0x3d, 0xab, 0x3f, 0x5a, 0x02, 0x8d, 0x40, 0xaf, 0x93, 0xe1, 0x6e, 0xaf, 0xd0, + 0xc1, 0x4e, 0xa7, 0x93, 0xe1, 0xb2, 0x3d, 0x1a, 0x8e, 0xbf, 0xad, 0x02, 0xf4, 0x00, 0x74, 0x3c, + 0x84, 0x0c, 0xe8, 0x13, 0xfa, 0x2f, 0xe1, 0x1f, 0x3e, 0x5e, 0xb4, 0x05, 0x54, 0x98, 0x27, 0x52, + 0x4a, 0x51, 0x60, 0xe9, 0x8f, 0xba, 0xe3, 0x8f, 0x58, 0xc3, 0x12, 0x50, 0x96, 0x02, 0xe8, 0x4f, + 0xf6, 0x83, 0x47, 0xf7, 0xb7, 0xb0, 0x5c, 0x83, 0x5e, 0x17, 0xd6, 0x5b, 0x4f, 0xad, 0xb6, 0x32, + 0x8f, 0x8a, 0xe5, 0xee, 0x5a, 0xeb, 0x5a, 0x7e, 0x77, 0xd9, 0x85, 0xa1, 0x2f, 0xdb, 0xdd, 0x4f, + 0xb6, 0xf5, 0xe0, 0x91, 0x91, 0x37, 0xbe, 0x3b, 0xaf, 0x6f, 0x0d, 0x2f, 0x30, 0xaf, 0xdb, 0x89, + 0xba, 0x56, 0xd7, 0xea, 0xd0, 0xff, 0xe0, 0x69, 0xe9, 0x0f, 0xcd, 0x84, 0x76, 0xf7, 0xe7, 0xf1, + 0xb2, 0xfb, 0xf3, 0xf0, 0xd3, 0xaa, 0x6f, 0x75, 0xf1, 0xd9, 0x87, 0x6a, 0x9d, 0x66, 0x3f, 0x58, + 0x6f, 0x0c, 0xcd, 0xb5, 0xc7, 0x94, 0x83, 0xd0, 0x0b, 0x98, 0x17, 0xfc, 0x22, 0x9e, 0x03, 0x77, + 0xad, 0x73, 0x8f, 0xc6, 0x10, 0x86, 0xe3, 0x81, 0xd5, 0x1f, 0xf7, 0x3e, 0xfa, 0x88, 0x8a, 0x2e, + 0x2e, 0x61, 0xdf, 0x47, 0xaa, 0xc1, 0x75, 0xac, 0x5f, 0xc5, 0x93, 0xf9, 0x6a, 0xd1, 0xaf, 0xef, + 0x53, 0x15, 0x4b, 0xfd, 0xca, 0x74, 0x80, 0xb7, 0x0b, 0x83, 0x50, 0x6d, 0xaa, 0x16, 0x55, 0x03, + 0xaa, 0xb5, 0xaa, 0x69, 0xd5, 0x1a, 0x35, 0x21, 0x5f, 0x55, 0x8b, 0xf2, 0x15, 0xd6, 0xfe, 0x18, + 0xd1, 0x3d, 0xee, 0x7f, 0xec, 0x23, 0x82, 0x46, 0x5d, 0xab, 0xd7, 0x29, 0x7b, 0xf8, 0x70, 0xd1, + 0xef, 0x01, 0x43, 0xb0, 0x80, 0x23, 0x11, 0x6f, 0x19, 0x01, 0xb5, 0x8c, 0xba, 0xc8, 0x58, 0x3a, + 0xed, 0x51, 0x0f, 0x99, 0x11, 0x3d, 0x5c, 0xb4, 0xa9, 0x18, 0xb2, 0x31, 0x7c, 0xef, 0x96, 0x94, + 0xf7, 0x69, 0x05, 0x9c, 0x05, 0x68, 0x60, 0x72, 0x31, 0x1c, 0x22, 0xf5, 0xf6, 0x91, 0x96, 0x81, + 0x4d, 0x41, 0x13, 0x23, 0xab, 0x07, 0x48, 0x1d, 0x0d, 0x2e, 0xba, 0xdd, 0x91, 0x68, 0x1e, 0x7b, + 0xc3, 0xc6, 0x7b, 0x3b, 0x4d, 0x43, 0x91, 0x65, 0xdb, 0xef, 0x8d, 0xf7, 0x97, 0xfd, 0x88, 0x9d, + 0x62, 0x9f, 0x90, 0x5a, 0x8a, 0x2a, 0x49, 0xdb, 0x17, 0x95, 0x46, 0x40, 0xd1, 0x7d, 0x24, 0x5c, + 0x60, 0x8d, 0xbd, 0x2e, 0xe4, 0x76, 0xe1, 0x09, 0xd6, 0xe8, 0x70, 0xb8, 0x9c, 0xf8, 0x63, 0x18, + 0x75, 0x17, 0x52, 0xfa, 0x9d, 0xc1, 0x47, 0xbf, 0x33, 0xb2, 0x06, 0xc8, 0x92, 0x7d, 0x58, 0xfc, + 0x3d, 0x40, 0xe8, 0x10, 0x88, 0xc2, 0x1f, 0x20, 0xc3, 0x00, 0x6e, 0x85, 0x4b, 0xc5, 0x1f, 0x59, + 0xc0, 0xf0, 0x29, 0xad, 0x04, 0xf2, 0x6e, 0x53, 0xb1, 0xa4, 0x3d, 0xf2, 0xdb, 0x28, 0x0d, 0xda, + 0x80, 0xef, 0x9e, 0x05, 0xf8, 0x86, 0xd1, 0x82, 0x10, 0xb0, 0xe0, 0x77, 0x98, 0x00, 0x16, 0xfd, + 0x5e, 0xf7, 0xe3, 0x84, 0xb8, 0x7b, 0xb7, 0x83, 0xfc, 0xb6, 0x84, 0x1f, 0xe0, 0xc3, 0x09, 0x36, + 0x00, 0x59, 0x50, 0x0b, 0x73, 0xa0, 0x02, 0xfc, 0x02, 0x04, 0xf0, 0x0c, 0xd3, 0x0b, 0xc8, 0xe9, + 0x8f, 0xc7, 0x15, 0xe2, 0xbf, 0x30, 0x5a, 0x8d, 0x7b, 0x81, 0x39, 0xe4, 0xe9, 0x90, 0x8d, 0xb3, + 0xf5, 0x11, 0x92, 0xb0, 0xae, 0x85, 0x2f, 0x62, 0x3a, 0x61, 0xae, 0x69, 0x11, 0x9e, 0x78, 0x67, + 0xa0, 0x2e, 0xcb, 0x43, 0xfe, 0x48, 0xd1, 0x78, 0xf2, 0xa6, 0xd2, 0xbf, 0x4d, 0xfd, 0xb8, 0x00, + 0x9d, 0x17, 0x37, 0x7a, 0x4b, 0xb4, 0x01, 0x40, 0xc9, 0xc0, 0x6b, 0x25, 0xa0, 0x42, 0xdb, 0x58, + 0x4b, 0x2a, 0xbb, 0x05, 0x28, 0xbb, 0xa8, 0x16, 0xa7, 0x74, 0x1d, 0x46, 0x6a, 0x18, 0x2a, 0xab, + 0x43, 0x7a, 0x30, 0xa5, 0xb9, 0x5a, 0xcd, 0x50, 0x99, 0x3e, 0xcb, 0x20, 0x53, 0x24, 0xba, 0xa6, + 0xda, 0xa2, 0x0a, 0x74, 0xf1, 0x94, 0x91, 0xa7, 0xd3, 0x41, 0x5f, 0x48, 0x43, 0x3c, 0x27, 0xcb, + 0x8e, 0xd5, 0xa1, 0xd2, 0x94, 0xe5, 0x4a, 0x71, 0x3d, 0xfa, 0x36, 0xc5, 0xf5, 0x19, 0x67, 0x1f, + 0x48, 0x71, 0xa5, 0x25, 0x3d, 0x60, 0x42, 0x8d, 0xe8, 0x30, 0xa9, 0x3b, 0xf8, 0xac, 0x52, 0x18, + 0xba, 0x5b, 0x7d, 0x68, 0xec, 0x15, 0x57, 0xa7, 0x84, 0x3e, 0xf2, 0x6a, 0x1b, 0xe7, 0x0d, 0x37, + 0x6f, 0x19, 0xe2, 0x15, 0x3c, 0xe1, 0x66, 0x03, 0x85, 0xb8, 0x74, 0x3e, 0x72, 0x77, 0xfa, 0x18, + 0x95, 0x17, 0x2e, 0x74, 0x38, 0xdc, 0xc6, 0x41, 0x1d, 0x49, 0xa6, 0xc5, 0x29, 0xe8, 0x1a, 0xf1, + 0x05, 0x3f, 0xd2, 0x79, 0x07, 0xe6, 0x4d, 0xad, 0xc7, 0xda, 0x9b, 0xee, 0x94, 0xe4, 0x1d, 0x53, + 0xa7, 0x70, 0x2c, 0xbb, 0x79, 0x49, 0x84, 0x5c, 0xd1, 0x78, 0x31, 0x49, 0xf4, 0x83, 0x06, 0x90, + 0x34, 0x88, 0xe8, 0xf4, 0x2e, 0x3a, 0x6f, 0x1a, 0xb9, 0xe2, 0x06, 0x42, 0xdd, 0xf3, 0xff, 0xbe, + 0xda, 0x92, 0x3a, 0x80, 0x76, 0xc9, 0xa3, 0xde, 0xf4, 0x7b, 0x96, 0x7b, 0x7c, 0xd8, 0x68, 0xb6, + 0xee, 0xf1, 0x64, 0xce, 0xd0, 0xd5, 0xbc, 0x0c, 0xca, 0x6d, 0x50, 0x92, 0xef, 0x96, 0x3c, 0x19, + 0x08, 0xca, 0x32, 0x2a, 0x76, 0xf6, 0x20, 0xf0, 0x5c, 0x9c, 0xf4, 0x3e, 0xef, 0xdd, 0xa3, 0x60, + 0xa5, 0xac, 0x2e, 0x7e, 0xd5, 0xdd, 0x51, 0x1f, 0xac, 0xe2, 0x3f, 0x20, 0x24, 0x22, 0xd5, 0x70, + 0xbe, 0xab, 0xe6, 0x64, 0x8e, 0x71, 0x62, 0x08, 0xa9, 0xb8, 0xac, 0x26, 0x04, 0x0f, 0x3a, 0x56, + 0x6f, 0xa1, 0x2d, 0xe6, 0x04, 0x7a, 0x3c, 0x10, 0x55, 0xf7, 0xb8, 0xfe, 0x15, 0x2c, 0x4e, 0x0d, + 0x18, 0xbd, 0x09, 0xb0, 0x0b, 0x0c, 0xed, 0x04, 0x34, 0x93, 0xbf, 0xd5, 0xc5, 0xbf, 0xeb, 0xc1, + 0xdf, 0x86, 0x77, 0x80, 0x36, 0x5b, 0x73, 0x09, 0x9b, 0x1b, 0xe8, 0xe2, 0x22, 0x81, 0x2e, 0x1c, + 0x20, 0x31, 0x80, 0xea, 0xad, 0x47, 0x1d, 0x18, 0x18, 0x60, 0x3b, 0x64, 0x19, 0x94, 0x7b, 0x48, + 0xb5, 0x02, 0x42, 0x31, 0x8f, 0x57, 0xd2, 0x97, 0x06, 0xd6, 0x33, 0xac, 0x0a, 0xf8, 0x7b, 0x53, + 0x9d, 0x46, 0x7d, 0xc5, 0xd5, 0xf9, 0xcf, 0x57, 0x5c, 0xef, 0x29, 0x43, 0x11, 0xbf, 0xa6, 0xe8, + 0xbf, 0xae, 0xac, 0x42, 0xd3, 0xea, 0x48, 0xc3, 0x7b, 0x40, 0x88, 0xeb, 0x28, 0x25, 0x3b, 0x2d, + 0xd5, 0x96, 0x8f, 0x7d, 0x96, 0xf0, 0xab, 0xf6, 0x39, 0xe2, 0x10, 0x8f, 0x62, 0xb7, 0x73, 0x62, + 0x31, 0x95, 0x59, 0x62, 0x98, 0x22, 0xca, 0xce, 0xd8, 0x63, 0x5d, 0xfc, 0xb0, 0x73, 0x86, 0xa1, + 0x66, 0x60, 0x56, 0x5d, 0x13, 0x18, 0x40, 0x93, 0x25, 0x5e, 0x5c, 0x03, 0x2c, 0x56, 0x39, 0x79, + 0x78, 0xea, 0xa0, 0x79, 0x83, 0xe0, 0x15, 0x15, 0x78, 0xeb, 0xb6, 0xaf, 0x20, 0xc6, 0xd9, 0x81, + 0x14, 0x5d, 0xbb, 0x36, 0x8c, 0x4b, 0x10, 0x04, 0xa0, 0x86, 0x89, 0x41, 0x5c, 0x15, 0x56, 0x8e, + 0xe7, 0x55, 0xf9, 0xa2, 0x7d, 0x06, 0x76, 0x93, 0x48, 0xbc, 0x5c, 0xc6, 0x25, 0xb7, 0x4e, 0xcf, + 0xdb, 0x39, 0x24, 0x0f, 0x3a, 0x9d, 0x86, 0x51, 0xfb, 0x59, 0x44, 0x24, 0xca, 0xe2, 0x4c, 0x5c, + 0x76, 0x4e, 0xf7, 0x47, 0xe1, 0x87, 0x6e, 0xb0, 0x9e, 0x3b, 0x78, 0xe5, 0x5d, 0x1f, 0x9e, 0x19, + 0xe3, 0xb9, 0x98, 0x23, 0x27, 0x67, 0x34, 0x94, 0x1d, 0x53, 0xb0, 0xba, 0x5c, 0xd6, 0x40, 0x98, + 0x71, 0xca, 0x7f, 0x5a, 0xbf, 0x24, 0x6e, 0x9c, 0xf4, 0xe8, 0x9d, 0x3c, 0xea, 0xcc, 0x7e, 0xe0, + 0xc1, 0x6b, 0xbe, 0x15, 0x47, 0x63, 0x8e, 0xb8, 0x23, 0x0f, 0x0d, 0x09, 0x36, 0x4c, 0x67, 0x73, + 0xb6, 0xc2, 0x0b, 0x7b, 0x16, 0x92, 0x29, 0xb8, 0x0e, 0xf1, 0xa4, 0xeb, 0xce, 0x74, 0x44, 0xf6, + 0xbe, 0x83, 0x33, 0x45, 0xf8, 0xa3, 0x83, 0x87, 0x06, 0xab, 0x59, 0xc9, 0x68, 0x56, 0xd0, 0xda, + 0x9d, 0x53, 0xde, 0x9a, 0x2c, 0xd7, 0x67, 0x4e, 0x52, 0xe1, 0x6d, 0x75, 0xd5, 0xee, 0x0b, 0x94, + 0x25, 0xe7, 0xb0, 0xe4, 0xd2, 0xb2, 0x9d, 0x66, 0xf9, 0x2a, 0x4a, 0x9a, 0xf8, 0x5d, 0x02, 0x27, + 0xcd, 0x03, 0x2a, 0x78, 0x9e, 0x47, 0xd7, 0xed, 0x71, 0xa7, 0x63, 0x89, 0x34, 0x98, 0x13, 0x4a, + 0xf1, 0x21, 0x05, 0x67, 0xc1, 0x82, 0x89, 0x5a, 0x15, 0xed, 0x39, 0x5e, 0xcd, 0xcb, 0xad, 0x75, + 0xbb, 0x6b, 0xad, 0xae, 0x71, 0x6a, 0xf3, 0x28, 0x2d, 0xc8, 0xf7, 0xd9, 0x9e, 0xa3, 0x57, 0xa2, + 0xb0, 0x16, 0x51, 0xfe, 0x21, 0x30, 0xda, 0x15, 0x53, 0x6c, 0xa4, 0xaa, 0x96, 0x87, 0xd0, 0xf2, + 0x62, 0x23, 0xdc, 0x40, 0xa0, 0x68, 0x74, 0xac, 0x0a, 0x0c, 0xca, 0xc2, 0x1a, 0x55, 0x52, 0x1f, + 0x92, 0x14, 0xfd, 0x24, 0xda, 0x2f, 0x22, 0xb6, 0xbf, 0xc9, 0x23, 0x20, 0x88, 0x22, 0x57, 0x44, + 0x91, 0xcb, 0xf3, 0x45, 0x30, 0x95, 0xe4, 0xa1, 0x3b, 0x17, 0x37, 0x55, 0xf0, 0x87, 0xde, 0x60, + 0x72, 0xc5, 0xdb, 0x1c, 0x11, 0x88, 0xf7, 0x58, 0x44, 0xb9, 0x08, 0x4f, 0xa3, 0xc6, 0xc0, 0x3b, + 0x37, 0xe1, 0xf1, 0xca, 0xb9, 0x27, 0x6f, 0x0c, 0x92, 0x77, 0x0f, 0xc4, 0x0a, 0xf4, 0xf1, 0xbe, + 0x96, 0xc4, 0x6e, 0x2a, 0x5e, 0x63, 0xd7, 0xf1, 0xd8, 0x18, 0x80, 0x5f, 0x1b, 0x80, 0x65, 0xe2, + 0x97, 0x4a, 0x1a, 0x68, 0xb1, 0xf7, 0xb0, 0x2a, 0xfb, 0x5b, 0xb0, 0x03, 0xd2, 0xef, 0x84, 0xc5, + 0xe2, 0x14, 0x0e, 0x79, 0x2b, 0x8a, 0x93, 0xea, 0x0c, 0xd9, 0xcd, 0x76, 0x4a, 0x5e, 0x12, 0x27, + 0x17, 0x8a, 0x92, 0x70, 0xf6, 0xe8, 0x73, 0x56, 0xcc, 0x39, 0x88, 0x6e, 0x6f, 0xfd, 0x56, 0xe1, + 0xe2, 0xa2, 0xc9, 0xa4, 0x5f, 0xe5, 0x0c, 0x4f, 0xbe, 0x0a, 0xf2, 0x85, 0xf4, 0xf5, 0x6c, 0xed, + 0x09, 0xaf, 0x4e, 0xe0, 0xac, 0xc5, 0x25, 0x31, 0x41, 0xd3, 0x78, 0x97, 0xc2, 0x11, 0xf4, 0x68, + 0x20, 0xd5, 0x95, 0x8d, 0xf6, 0xa9, 0xd1, 0xdd, 0x89, 0xa3, 0xd3, 0x43, 0x91, 0x38, 0x3d, 0xd4, + 0x3c, 0xb2, 0x15, 0x35, 0xce, 0x12, 0xed, 0xc9, 0xf7, 0xeb, 0x4b, 0x9a, 0x65, 0x74, 0xe4, 0x68, + 0x4d, 0xb7, 0x84, 0x63, 0xbc, 0x50, 0x98, 0x3b, 0x9b, 0xda, 0x42, 0xff, 0x54, 0xdb, 0xce, 0x2f, + 0xe3, 0x92, 0x2e, 0xc7, 0xda, 0x6f, 0xf1, 0x41, 0x6c, 0xe1, 0xc7, 0x80, 0xac, 0x6a, 0x43, 0x9f, + 0x4e, 0x05, 0x24, 0x78, 0x4c, 0x96, 0x5e, 0xe7, 0x74, 0x1b, 0x27, 0x0b, 0x3b, 0xb8, 0xa3, 0xbf, + 0x47, 0xc1, 0xb4, 0xa9, 0x45, 0xed, 0x37, 0xed, 0x90, 0xff, 0x95, 0xd2, 0xf0, 0xa4, 0x2c, 0xb4, + 0xac, 0xb3, 0x7c, 0xd2, 0x32, 0x31, 0xc9, 0x95, 0x28, 0x51, 0x39, 0x5d, 0x52, 0x32, 0x31, 0x09, + 0x72, 0xa8, 0x43, 0xc3, 0x9f, 0x8b, 0x2a, 0x26, 0xa5, 0xa1, 0xaf, 0x54, 0x9e, 0x6a, 0x3e, 0xd9, + 0xd6, 0x37, 0x73, 0x10, 0x90, 0x8f, 0xb8, 0x8d, 0xaa, 0xb6, 0x55, 0x0e, 0x9d, 0xda, 0x5e, 0x0a, + 0x9e, 0x0a, 0x3e, 0xac, 0xa5, 0xe0, 0x19, 0x61, 0xf6, 0x8a, 0xd3, 0xc9, 0xee, 0x37, 0x9c, 0xbc, + 0xd7, 0x42, 0x0b, 0x7d, 0xf1, 0x6d, 0x5a, 0xe8, 0x27, 0xce, 0xde, 0x92, 0x16, 0x2a, 0x10, 0x0b, + 0xab, 0x09, 0x91, 0xe9, 0x33, 0xc2, 0x22, 0xa8, 0xbf, 0x84, 0xbd, 0x5e, 0xcd, 0x6b, 0xfa, 0xd2, + 0xf4, 0x9a, 0x8a, 0xf1, 0x28, 0xce, 0xcb, 0x16, 0x0a, 0xc5, 0x11, 0xb1, 0xd7, 0x17, 0x15, 0x7b, + 0xa5, 0x76, 0xb5, 0xe1, 0x2a, 0x7a, 0xb3, 0x9f, 0xd2, 0x2b, 0xf0, 0x36, 0xea, 0x0e, 0xa7, 0x6c, + 0xeb, 0xb2, 0xcd, 0xfe, 0xaa, 0xda, 0x2b, 0x26, 0xeb, 0x3e, 0x07, 0x2c, 0xf0, 0x7c, 0x0d, 0xc8, + 0x28, 0xab, 0x06, 0xce, 0xcc, 0x44, 0x6c, 0xac, 0x12, 0xdd, 0x8b, 0xf8, 0x42, 0x09, 0x4c, 0xf1, + 0x98, 0x57, 0x8f, 0x89, 0xf1, 0x68, 0xb8, 0x43, 0xef, 0x3f, 0x04, 0x93, 0xda, 0x22, 0xbc, 0x86, + 0x36, 0x58, 0x81, 0x1d, 0xdb, 0x5a, 0xe7, 0xbc, 0xe0, 0xf9, 0x05, 0x7f, 0x5c, 0xac, 0x41, 0xfb, + 0x7c, 0x8d, 0x93, 0x15, 0xda, 0x57, 0x2f, 0xe3, 0xc5, 0xaf, 0xf0, 0xcf, 0xb6, 0x80, 0x65, 0x16, + 0xe8, 0x28, 0xb7, 0x7d, 0x0f, 0x0a, 0x5f, 0xad, 0x92, 0x14, 0x6b, 0xde, 0x1d, 0x5c, 0xc2, 0x92, + 0x1e, 0xdb, 0x90, 0x1c, 0xb6, 0x60, 0xcc, 0xe3, 0x3f, 0xfb, 0xd1, 0xc3, 0x79, 0x9c, 0xcf, 0x13, + 0x6e, 0xcd, 0x21, 0xc3, 0xef, 0x74, 0x6d, 0x6b, 0x7e, 0x2d, 0x1f, 0x72, 0xf9, 0x8b, 0x3e, 0xe6, + 0xd0, 0xfe, 0xc3, 0xd9, 0xd9, 0x19, 0x94, 0x7e, 0x20, 0x8a, 0x1b, 0xae, 0x83, 0x9e, 0x07, 0x96, + 0x1a, 0x14, 0xf4, 0xfc, 0xde, 0xbc, 0xed, 0x41, 0xb3, 0x83, 0x91, 0xe7, 0x8f, 0xad, 0xfe, 0xc8, + 0xeb, 0x0d, 0xac, 0xc9, 0xd8, 0x03, 0x8b, 0x6f, 0x32, 0xf1, 0xba, 0xf8, 0xd8, 0x99, 0x60, 0x26, + 0x58, 0xc7, 0x5e, 0x8f, 0xde, 0xc1, 0x26, 0x85, 0x9c, 0x89, 0x35, 0x19, 0x79, 0xa3, 0x41, 0x1b, + 0x13, 0x7a, 0xd0, 0x42, 0x0f, 0x3d, 0x8a, 0x7d, 0xf4, 0x3b, 0x0d, 0xc1, 0xa2, 0x84, 0xc6, 0xfa, + 0xe4, 0x1a, 0x1c, 0xb4, 0x07, 0x43, 0x68, 0xb2, 0x0d, 0xed, 0x8e, 0xdb, 0x13, 0x0f, 0x0c, 0xd2, + 0xa1, 0xd7, 0x41, 0xc3, 0x12, 0xdf, 0xa1, 0xc0, 0xa8, 0xdf, 0xf6, 0x46, 0xdd, 0x04, 0xb2, 0x7a, + 0x16, 0xfc, 0x9b, 0x77, 0xfb, 0xd0, 0x69, 0x0f, 0x72, 0x7d, 0x18, 0x28, 0xc2, 0x38, 0xf4, 0xbd, + 0x2e, 0x18, 0xf6, 0xde, 0xd0, 0x1a, 0xf7, 0xbc, 0x91, 0x70, 0x8b, 0xf5, 0x06, 0x5e, 0x0f, 0x81, + 0x18, 0x62, 0xc9, 0xb1, 0xf1, 0x34, 0xf6, 0x86, 0x3d, 0xf4, 0x86, 0x4d, 0xba, 0xe8, 0xa1, 0x1c, + 0x0e, 0xf1, 0x19, 0xcc, 0xe2, 0x3e, 0x42, 0xde, 0x85, 0x51, 0x82, 0x49, 0xea, 0x0d, 0x26, 0x6d, + 0xdf, 0x1b, 0x8f, 0xdb, 0x03, 0x30, 0xba, 0xfb, 0xde, 0xa0, 0xdf, 0x1e, 0x4c, 0x60, 0xb4, 0xed, + 0x21, 0x8c, 0x69, 0xd0, 0x06, 0x74, 0xa0, 0x2f, 0x02, 0xed, 0x5e, 0x6f, 0x0c, 0x66, 0x6a, 0xc7, + 0xeb, 0x8c, 0x2d, 0xc0, 0xc6, 0xa0, 0x8d, 0x30, 0x0d, 0x61, 0x18, 0x7d, 0xb4, 0x8d, 0xbd, 0xf1, + 0xa4, 0x8d, 0xa3, 0x02, 0x68, 0xfc, 0x3e, 0xd8, 0xe4, 0x08, 0x58, 0xcf, 0x23, 0xef, 0x1b, 0x3a, + 0x14, 0xbc, 0x81, 0x4f, 0x83, 0x07, 0x63, 0xba, 0x0f, 0x50, 0xf9, 0x63, 0xea, 0x1f, 0x10, 0x85, + 0x5d, 0x77, 0x87, 0xd6, 0xa0, 0x83, 0xf8, 0x83, 0x64, 0xa8, 0x6c, 0x3c, 0x27, 0x80, 0x00, 0x40, + 0x44, 0x7f, 0x0e, 0x50, 0x8f, 0x11, 0x93, 0x13, 0x84, 0x7f, 0x88, 0xc3, 0x9a, 0x40, 0x83, 0x1e, + 0x9a, 0xe5, 0x30, 0xc2, 0x2e, 0x40, 0x09, 0x1d, 0xc2, 0x23, 0xfa, 0x51, 0x86, 0x98, 0x00, 0x48, + 0x82, 0x81, 0xc0, 0x73, 0xaf, 0x0f, 0x86, 0x36, 0xa4, 0x7b, 0x5d, 0xc0, 0x36, 0x0c, 0x13, 0x6c, + 0x75, 0x74, 0xaf, 0xc0, 0xe3, 0x04, 0xa7, 0x6e, 0x38, 0xfa, 0x84, 0xd4, 0x80, 0x54, 0x60, 0xd0, + 0xc2, 0x64, 0x88, 0x40, 0xf5, 0xa0, 0x97, 0xee, 0x1c, 0x67, 0x66, 0xd8, 0xc5, 0xae, 0x60, 0x6c, + 0xa3, 0x3e, 0x8c, 0x1d, 0xd0, 0x00, 0xf8, 0x06, 0x0a, 0x01, 0x8c, 0xf6, 0x87, 0x80, 0x97, 0x3e, + 0x7a, 0xb7, 0xbc, 0x5e, 0xaf, 0x4d, 0xee, 0x62, 0xe8, 0x11, 0x9d, 0xc1, 0x63, 0x7c, 0xf6, 0x01, + 0x7a, 0xf4, 0x53, 0x8c, 0x61, 0x92, 0x87, 0x7d, 0xab, 0x07, 0xbd, 0x8e, 0xcc, 0x47, 0x98, 0xe3, + 0x1e, 0xba, 0x77, 0x7a, 0x40, 0x08, 0xe8, 0xb0, 0xf0, 0x46, 0x63, 0x6b, 0x80, 0x94, 0x60, 0x0d, + 0x00, 0x7b, 0x90, 0xe2, 0x4d, 0xa0, 0x38, 0xcc, 0x60, 0xcf, 0xeb, 0x0c, 0xdb, 0x03, 0x4c, 0x02, + 0x64, 0x4e, 0x60, 0x1a, 0x81, 0xc6, 0xc8, 0xcb, 0xd9, 0xb3, 0xfa, 0xde, 0x04, 0xd6, 0xc0, 0x10, + 0xfb, 0x1f, 0xe3, 0xe4, 0xf4, 0x7a, 0x34, 0xf4, 0x01, 0x96, 0xe8, 0x76, 0xd1, 0x09, 0x3d, 0xb1, + 0xba, 0x88, 0xf5, 0x01, 0xc0, 0x0f, 0x2d, 0x8e, 0x40, 0x7a, 0x7b, 0xc3, 0xa4, 0xdd, 0x43, 0xba, + 0x05, 0x62, 0xc0, 0xf6, 0xe1, 0x9f, 0xfc, 0xed, 0xce, 0x91, 0x4e, 0x06, 0xd8, 0x0d, 0x50, 0xcb, + 0x08, 0xe7, 0x09, 0xf0, 0x37, 0x36, 0x9e, 0x80, 0x0e, 0xc6, 0x38, 0x74, 0xa0, 0x16, 0x7c, 0x42, + 0x5a, 0x1a, 0xd0, 0x8c, 0xd2, 0x88, 0x47, 0x63, 0x24, 0x97, 0xc9, 0x00, 0xf0, 0x04, 0x84, 0x01, + 0xf4, 0xd4, 0xed, 0x03, 0x19, 0x03, 0x1c, 0xfd, 0x31, 0x82, 0x85, 0xd3, 0x00, 0xe3, 0x87, 0x8e, + 0x7b, 0x6d, 0x22, 0x45, 0x98, 0x02, 0x44, 0x17, 0xcd, 0x15, 0x41, 0x0d, 0xb8, 0x82, 0x11, 0xf8, + 0x13, 0x0b, 0x8b, 0x01, 0x46, 0xfa, 0x38, 0x0f, 0x63, 0x7c, 0x1a, 0x22, 0x1a, 0xc6, 0x80, 0xee, + 0x11, 0x52, 0x07, 0x8c, 0xbc, 0xeb, 0x09, 0x87, 0xfa, 0x18, 0x7b, 0x48, 0x60, 0x0a, 0x06, 0x6d, + 0xfa, 0x83, 0xcd, 0xc1, 0xe8, 0xe6, 0x48, 0x97, 0x7d, 0x5c, 0x63, 0xe8, 0x57, 0x1b, 0xfa, 0x98, + 0x39, 0xee, 0xa3, 0x17, 0x1d, 0xc0, 0xf1, 0xbb, 0x7b, 0x27, 0xde, 0x47, 0x0c, 0x0e, 0xa1, 0x34, + 0xd4, 0x1e, 0x89, 0xc1, 0x22, 0x78, 0x3d, 0x18, 0xff, 0x04, 0x07, 0x39, 0xb0, 0x04, 0xb0, 0x3e, + 0x42, 0x83, 0x69, 0x03, 0x78, 0xe8, 0x03, 0x75, 0x22, 0x6c, 0x5d, 0x0b, 0x08, 0x1c, 0xe8, 0x06, + 0x1e, 0x86, 0x90, 0x02, 0x9d, 0x5b, 0x48, 0x81, 0xf4, 0x30, 0x06, 0x1a, 0xa5, 0x85, 0xd8, 0x16, + 0x6d, 0x00, 0x4c, 0x9e, 0xd8, 0x43, 0x00, 0x8e, 0x03, 0xbf, 0x43, 0xf8, 0xc5, 0x92, 0xd8, 0x22, + 0x0c, 0xc3, 0xc3, 0x95, 0x35, 0xc0, 0x9a, 0xb4, 0xb8, 0xd0, 0xeb, 0xe7, 0x8b, 0x27, 0x6c, 0xac, + 0x03, 0x7f, 0xc7, 0x48, 0x3c, 0xd8, 0x8e, 0x98, 0x93, 0x01, 0x60, 0x12, 0x71, 0x09, 0x53, 0x20, + 0xa6, 0x15, 0xf0, 0x32, 0x49, 0x70, 0x8d, 0x40, 0xc3, 0x43, 0x40, 0x02, 0x22, 0x69, 0x8c, 0x83, + 0x9a, 0xd0, 0x58, 0x00, 0x2b, 0x08, 0x4e, 0x97, 0x72, 0x00, 0x31, 0x40, 0x8b, 0x04, 0x35, 0x34, + 0xd3, 0xc7, 0x0c, 0xdc, 0xd1, 0x80, 0x77, 0xe4, 0x4e, 0x5d, 0x1f, 0x60, 0xea, 0xe3, 0x4a, 0x15, + 0x13, 0xe4, 0x5b, 0x03, 0x04, 0x66, 0x40, 0xf0, 0xfa, 0x00, 0x4c, 0x9f, 0x20, 0xf6, 0xb1, 0x19, + 0xec, 0x69, 0x48, 0x64, 0x0b, 0x2b, 0x0e, 0x68, 0x00, 0x6a, 0x75, 0x90, 0x5d, 0xb4, 0xc5, 0xd0, + 0x81, 0x65, 0x22, 0xc0, 0x7d, 0x1c, 0x2c, 0x12, 0x1c, 0x3c, 0x23, 0x27, 0xf4, 0x89, 0x18, 0xfd, + 0x31, 0xcd, 0x1b, 0xb1, 0x34, 0x78, 0xf3, 0x7a, 0xc6, 0x0c, 0x49, 0xee, 0x0e, 0xbc, 0x7c, 0x28, + 0x59, 0x3b, 0x50, 0xfc, 0x68, 0x60, 0x0b, 0x7e, 0x0f, 0xac, 0x68, 0x60, 0x32, 0xf5, 0x9a, 0x2c, + 0x80, 0xf5, 0x25, 0xab, 0x0c, 0x47, 0xb6, 0x68, 0x61, 0x7f, 0x51, 0xa0, 0xd0, 0x91, 0x2c, 0x3a, + 0xec, 0xd0, 0x63, 0xb3, 0x30, 0x0a, 0xa0, 0x47, 0xd6, 0xbf, 0xa4, 0x96, 0xfc, 0xef, 0x21, 0x5a, + 0x2c, 0x4a, 0xda, 0x7d, 0x56, 0x81, 0xed, 0x41, 0xd2, 0x2a, 0x51, 0x46, 0x4b, 0xf7, 0x2a, 0x11, + 0x56, 0xcb, 0x69, 0x96, 0x2c, 0xec, 0x47, 0xcf, 0xde, 0xfc, 0x84, 0x32, 0x32, 0x2d, 0x38, 0xf4, + 0x00, 0x2d, 0x3e, 0xba, 0x0f, 0x2a, 0x10, 0x5a, 0x3e, 0x73, 0x14, 0xb2, 0x69, 0x74, 0x21, 0x0c, + 0xa7, 0xa8, 0x6e, 0x38, 0xc5, 0x54, 0x04, 0xd2, 0x37, 0xf5, 0xf4, 0x9a, 0xa1, 0xb4, 0x6b, 0xda, + 0xbc, 0xdf, 0x14, 0x65, 0x7c, 0x76, 0xdd, 0x16, 0x07, 0x0d, 0xc1, 0x90, 0x1a, 0x5a, 0x2b, 0xdc, + 0x51, 0x21, 0x93, 0x63, 0x6e, 0x98, 0x58, 0x98, 0x68, 0xad, 0x31, 0x9f, 0xb2, 0x72, 0xd3, 0xee, + 0x1d, 0x75, 0xc1, 0xf0, 0x05, 0x55, 0x8c, 0x73, 0x61, 0x14, 0x17, 0x8d, 0x1e, 0xc9, 0xae, 0x05, + 0x83, 0xc9, 0x2a, 0x56, 0x01, 0x3d, 0xa3, 0x89, 0x0b, 0xcf, 0xaa, 0xf3, 0x88, 0x94, 0xf9, 0xa6, + 0x3d, 0x9d, 0xf3, 0x24, 0x42, 0xab, 0x00, 0x8d, 0x07, 0xc3, 0xac, 0x52, 0x96, 0xc3, 0x18, 0xed, + 0xe7, 0x1d, 0x27, 0x41, 0xdd, 0x28, 0x86, 0x9f, 0x5c, 0x18, 0x40, 0xb9, 0x30, 0x80, 0x72, 0x34, + 0x80, 0xc0, 0x52, 0x8a, 0x40, 0xe1, 0x52, 0x96, 0xd2, 0x9c, 0xc5, 0x94, 0xb6, 0xd1, 0x69, 0x0b, + 0x71, 0xfb, 0x20, 0xe0, 0x42, 0x57, 0x5f, 0x90, 0xae, 0x1e, 0x35, 0x75, 0xf1, 0xdf, 0xea, 0xa8, + 0xc6, 0xa4, 0x45, 0x5d, 0x7d, 0xdf, 0xa9, 0xc2, 0xf9, 0xde, 0x3a, 0x35, 0x95, 0x3e, 0x25, 0x95, + 0x3e, 0xa2, 0xbf, 0xa4, 0xc8, 0x0b, 0xb5, 0xf4, 0xe7, 0x6f, 0x53, 0x4b, 0xc9, 0x5e, 0x7b, 0x49, + 0x8a, 0x69, 0x4d, 0xf7, 0x7c, 0xf2, 0x39, 0xdf, 0x0c, 0x17, 0x87, 0x71, 0xd1, 0x3c, 0x32, 0x75, + 0x38, 0xd0, 0xeb, 0x14, 0x55, 0x93, 0x0e, 0x19, 0xa7, 0x68, 0x13, 0x5f, 0x81, 0x7c, 0x5b, 0x5f, + 0x83, 0xf2, 0x80, 0x54, 0x43, 0x3b, 0xda, 0x8f, 0xcc, 0x92, 0xd5, 0xc4, 0x5f, 0xe6, 0xd1, 0xda, + 0x6a, 0xaf, 0x14, 0xb5, 0x0b, 0xc2, 0xab, 0x17, 0x5e, 0x43, 0x26, 0xd0, 0xc3, 0x65, 0xdb, 0x7f, + 0xd0, 0xb7, 0xf0, 0x6f, 0x17, 0xf2, 0x97, 0x5d, 0xbd, 0x96, 0x50, 0x61, 0x6d, 0xe3, 0x12, 0x11, + 0xeb, 0x64, 0xc5, 0x17, 0xf1, 0x66, 0x85, 0x35, 0xa8, 0xc5, 0xfe, 0x95, 0xf4, 0xaf, 0xf4, 0xd4, + 0x03, 0x11, 0xc8, 0x04, 0x08, 0xe4, 0x11, 0xb0, 0xb2, 0xef, 0x1f, 0x3e, 0x58, 0x76, 0x6b, 0xeb, + 0x74, 0xad, 0x1a, 0x4e, 0x38, 0x9d, 0x23, 0x6a, 0x23, 0xa9, 0x5d, 0x71, 0x58, 0x7b, 0x7f, 0x01, + 0xdd, 0xb4, 0x00, 0x2e, 0x03, 0x8b, 0x1b, 0xc0, 0xab, 0x2a, 0xfd, 0xfb, 0x00, 0x0b, 0x0a, 0xc9, + 0xb7, 0x00, 0xfb, 0x46, 0xd9, 0x3f, 0xff, 0x71, 0x10, 0xf7, 0x06, 0xdf, 0x00, 0xef, 0xd3, 0xec, + 0x32, 0xc5, 0x93, 0x5b, 0xff, 0x71, 0xe0, 0xf6, 0xbf, 0x01, 0xda, 0x9f, 0xf2, 0x6c, 0x01, 0x0b, + 0xcc, 0x00, 0xd6, 0xfc, 0x7b, 0xbf, 0xce, 0xab, 0xea, 0xdc, 0xfe, 0x34, 0x5b, 0x5c, 0x13, 0x80, + 0x77, 0x7a, 0x31, 0x6b, 0xa7, 0x26, 0x2a, 0x6f, 0xa6, 0x58, 0xea, 0x4f, 0xff, 0x8e, 0xa5, 0xfe, + 0x64, 0x77, 0xa9, 0x7f, 0x7f, 0x97, 0x99, 0xa9, 0xef, 0xfd, 0x90, 0x9d, 0xf8, 0x14, 0xec, 0x44, + 0x65, 0xe7, 0xdd, 0xe5, 0x8f, 0x23, 0x4b, 0x2f, 0x89, 0x4e, 0x39, 0xba, 0xd4, 0x72, 0x0f, 0x47, + 0x7b, 0x84, 0x81, 0x33, 0xd2, 0x32, 0xb4, 0xd1, 0x5f, 0x63, 0x83, 0x01, 0x88, 0xe5, 0x32, 0x2c, + 0x17, 0xa7, 0xeb, 0x4d, 0x69, 0x2b, 0x77, 0x5d, 0x54, 0x73, 0xb7, 0x46, 0xf5, 0xba, 0xcf, 0x52, + 0x3c, 0x59, 0x64, 0x0b, 0x79, 0x72, 0x96, 0xe5, 0xb6, 0xdc, 0x97, 0x42, 0x49, 0x90, 0x31, 0x1b, + 0x0c, 0xc2, 0x7a, 0x82, 0xf4, 0xbf, 0x62, 0x1b, 0x2a, 0x49, 0xcd, 0x80, 0x12, 0x0b, 0xe8, 0x5a, + 0x53, 0x92, 0x43, 0x95, 0xa1, 0x8b, 0x1d, 0x4b, 0x10, 0xae, 0x1c, 0x7b, 0xf8, 0x51, 0x35, 0x18, + 0xd5, 0x6a, 0x9f, 0x26, 0x1b, 0x8e, 0x4e, 0xd9, 0xca, 0x23, 0x48, 0x29, 0x23, 0xe5, 0xaa, 0x13, + 0x22, 0x48, 0xcb, 0x69, 0xe2, 0x7d, 0xc8, 0x05, 0xfb, 0xca, 0x15, 0x65, 0x4c, 0xf6, 0x9e, 0x0b, + 0x8e, 0xf8, 0x90, 0xab, 0x87, 0x44, 0x3d, 0x64, 0xea, 0x61, 0xae, 0x1e, 0x22, 0x46, 0xc2, 0xbc, + 0x26, 0x80, 0xe2, 0xfd, 0xce, 0xa2, 0xf8, 0x0b, 0xce, 0xa2, 0xd8, 0xb8, 0x86, 0x26, 0x2e, 0xfd, + 0xa9, 0x4b, 0x68, 0xe2, 0x37, 0x97, 0xbf, 0x89, 0xfc, 0xcd, 0xe4, 0xef, 0x5c, 0xfe, 0x46, 0x44, + 0x92, 0xe4, 0x47, 0x7b, 0x4e, 0x37, 0xbb, 0x8e, 0x4f, 0xea, 0xf7, 0xba, 0x28, 0xec, 0x43, 0xd8, + 0x61, 0x69, 0x75, 0x07, 0xbf, 0x08, 0x0b, 0x5e, 0xbe, 0x40, 0x0e, 0x7f, 0x11, 0x25, 0xf2, 0x84, + 0x1f, 0x45, 0x13, 0x42, 0x47, 0xe3, 0x19, 0xc7, 0xd3, 0xb3, 0xf6, 0x83, 0xf7, 0x45, 0x96, 0x3e, + 0x58, 0x48, 0xd7, 0x85, 0x3a, 0x72, 0x48, 0x7b, 0x99, 0x98, 0xe3, 0xb8, 0xfa, 0x18, 0x62, 0x81, + 0xb5, 0x29, 0x40, 0x20, 0xf4, 0x82, 0x9b, 0x11, 0x78, 0x42, 0x51, 0x1c, 0x2b, 0x37, 0xf2, 0x1e, + 0x0d, 0x5a, 0x2d, 0x19, 0x4d, 0x17, 0x43, 0xbe, 0x14, 0x59, 0x82, 0x7e, 0xa0, 0x73, 0x51, 0x1c, + 0x6f, 0xe3, 0xfb, 0xbc, 0xb7, 0x7b, 0x36, 0xd1, 0xbd, 0xa1, 0xb8, 0x5b, 0x1a, 0xd6, 0x42, 0x5e, + 0x0f, 0xd3, 0x31, 0xcb, 0xf6, 0x44, 0x2a, 0x92, 0x51, 0xd6, 0xf4, 0x5d, 0xfe, 0xe3, 0x41, 0x57, + 0xc4, 0x03, 0x66, 0xf0, 0xd8, 0xc7, 0x10, 0x45, 0x85, 0x0a, 0x6e, 0xc6, 0xd1, 0x39, 0xe6, 0xdc, + 0x80, 0xa6, 0x13, 0x8c, 0x5b, 0xe8, 0x55, 0x04, 0x38, 0x7e, 0x35, 0x12, 0x39, 0xd6, 0x65, 0x29, + 0xfe, 0xf6, 0x21, 0xcf, 0x88, 0x7d, 0xf6, 0x55, 0xfd, 0x0e, 0xaa, 0x7e, 0x47, 0x66, 0xbf, 0x7f, + 0xdd, 0xd7, 0xef, 0x2f, 0x5f, 0xd3, 0xef, 0x77, 0xdf, 0xd6, 0xaf, 0xec, 0xef, 0xcf, 0xb2, 0xe9, + 0x22, 0xcb, 0xcb, 0x57, 0x39, 0x2c, 0xb0, 0xa0, 0x4b, 0xbd, 0x32, 0x4c, 0x78, 0x72, 0x1d, 0xf8, + 0x0a, 0x86, 0x7f, 0xde, 0x29, 0x88, 0x9e, 0x58, 0x55, 0x4c, 0x14, 0xaa, 0x80, 0xf9, 0xed, 0x1b, + 0x91, 0x30, 0xec, 0xc0, 0x23, 0xfe, 0xfa, 0x02, 0x19, 0x55, 0xa4, 0xb0, 0xf2, 0x2b, 0x1a, 0x1a, + 0xea, 0x59, 0x34, 0x42, 0x7c, 0x95, 0x8d, 0xfd, 0x24, 0x0a, 0xa6, 0xc0, 0x8f, 0xbb, 0xdd, 0x93, + 0x63, 0x8e, 0x5d, 0xe3, 0x61, 0x5d, 0x0c, 0xad, 0x80, 0x17, 0x63, 0x6b, 0x77, 0x14, 0xb2, 0x5a, + 0x70, 0x47, 0x3c, 0xa8, 0x1b, 0x16, 0xd0, 0x58, 0x29, 0x97, 0xbb, 0x31, 0xca, 0x08, 0x88, 0x90, + 0x1f, 0xf7, 0xf1, 0x6c, 0x20, 0x1d, 0xe5, 0x64, 0xd4, 0xb0, 0xbb, 0xdd, 0xd9, 0xb9, 0xa2, 0xc0, + 0x9a, 0x6a, 0xef, 0x4a, 0xc4, 0xe7, 0xb4, 0x9b, 0x51, 0xeb, 0xe6, 0xb5, 0xbb, 0xdd, 0x18, 0x08, + 0x4c, 0xc6, 0xa7, 0x51, 0xf1, 0x3b, 0xe5, 0x55, 0xb3, 0x54, 0x85, 0x0c, 0x55, 0x19, 0xb5, 0x3d, + 0x92, 0x22, 0x5c, 0xe2, 0x8d, 0xea, 0xc1, 0x09, 0xfc, 0xf5, 0xfb, 0x27, 0xae, 0x7b, 0x68, 0x5b, + 0xe2, 0x7c, 0x7e, 0x7b, 0x51, 0x44, 0x67, 0x23, 0x84, 0x42, 0x47, 0x3d, 0x46, 0x87, 0xb6, 0x81, + 0x8c, 0x56, 0xeb, 0x39, 0xf2, 0x0c, 0x60, 0x82, 0x14, 0x70, 0xeb, 0x02, 0x7e, 0x4a, 0xb5, 0xef, + 0x90, 0x7e, 0x05, 0xb8, 0xda, 0x83, 0x3e, 0xfd, 0x48, 0xb8, 0xa8, 0x35, 0x0e, 0x72, 0x07, 0xd8, + 0x48, 0x12, 0x7e, 0x20, 0x60, 0xe5, 0xad, 0xce, 0x48, 0xdf, 0xbe, 0x5d, 0x03, 0x7f, 0x13, 0x97, + 0x79, 0x60, 0x64, 0xac, 0xef, 0x4f, 0xfa, 0xbd, 0x6e, 0xa7, 0x45, 0xa1, 0x2b, 0xa4, 0xb6, 0x8b, + 0xdd, 0xef, 0x99, 0x40, 0x11, 0x14, 0x35, 0xbb, 0x23, 0x18, 0xaa, 0x98, 0x34, 0x00, 0x7e, 0x0e, + 0xe4, 0x31, 0xc3, 0x3f, 0xde, 0x9a, 0x2c, 0x8b, 0xc0, 0xc1, 0x17, 0x9c, 0x58, 0xe0, 0xa6, 0x94, + 0x8e, 0xbb, 0x00, 0xf4, 0x50, 0x6d, 0x04, 0x50, 0x74, 0x35, 0x68, 0x7d, 0x5e, 0x6b, 0x7d, 0x2e, + 0x42, 0xf2, 0xfa, 0xd0, 0xa8, 0x0a, 0xe6, 0xa2, 0xba, 0xdf, 0xfa, 0xc3, 0xde, 0xb8, 0x4f, 0x60, + 0xb7, 0x5a, 0x05, 0x9e, 0x1d, 0xfd, 0x8a, 0xf9, 0xa8, 0x9f, 0x23, 0x05, 0x70, 0xc4, 0xe8, 0x55, + 0x33, 0xfb, 0x70, 0xd9, 0xd8, 0x42, 0xb8, 0x02, 0x1b, 0x48, 0xde, 0x17, 0x67, 0x89, 0x53, 0xdb, + 0x3c, 0x48, 0x9b, 0xcb, 0xc0, 0x8c, 0x88, 0x43, 0xd4, 0xdb, 0xfb, 0x12, 0xf5, 0x2a, 0x7d, 0xa0, + 0x7e, 0x7e, 0xd7, 0x18, 0xd6, 0x60, 0xef, 0xb0, 0x90, 0x8e, 0x52, 0x41, 0x47, 0xa9, 0xa0, 0xa3, + 0x57, 0xfb, 0xa8, 0xa2, 0x00, 0xaa, 0xc8, 0x05, 0x55, 0x88, 0x8e, 0xd0, 0xde, 0x2b, 0x14, 0x51, + 0x50, 0x30, 0x70, 0x1e, 0x16, 0xac, 0xd7, 0x1d, 0x0d, 0xc7, 0x12, 0x23, 0xf2, 0x50, 0xee, 0x17, + 0x21, 0xd8, 0x3d, 0xa0, 0x5b, 0x43, 0x6c, 0x29, 0x16, 0xd2, 0xc1, 0x9e, 0x75, 0xf0, 0xea, 0xcb, + 0x38, 0x2f, 0xc4, 0x56, 0x4d, 0x0d, 0xd9, 0x45, 0x13, 0xd9, 0xd0, 0x32, 0xf0, 0x26, 0xda, 0xb8, + 0xda, 0x39, 0x32, 0x6d, 0x70, 0x02, 0x40, 0xe7, 0x29, 0x4a, 0xf3, 0x52, 0xaf, 0xf5, 0x42, 0xd6, + 0x14, 0x0b, 0x5c, 0x42, 0x1a, 0xea, 0x7c, 0xa1, 0xa8, 0x14, 0x6a, 0xf7, 0xb0, 0x50, 0x6b, 0x54, + 0xec, 0x9f, 0x25, 0xee, 0x8d, 0x5a, 0x40, 0x09, 0x8d, 0x34, 0x47, 0x84, 0x35, 0x80, 0xa1, 0xfd, + 0x32, 0x5c, 0x73, 0xac, 0x5e, 0x56, 0x52, 0xad, 0xd1, 0xbd, 0x38, 0xc5, 0xa1, 0x21, 0xdb, 0x85, + 0xe6, 0x33, 0x9b, 0xd4, 0xb9, 0x89, 0x91, 0xa9, 0x11, 0x52, 0xdf, 0xdc, 0x96, 0xd6, 0x31, 0x03, + 0x05, 0xb6, 0x0b, 0x90, 0xea, 0xf3, 0xe5, 0xcf, 0xd8, 0xf2, 0x2c, 0x2d, 0x03, 0x23, 0xb7, 0xbe, + 0xf4, 0x67, 0xa5, 0xca, 0xa4, 0x1b, 0x54, 0x79, 0x88, 0xf7, 0xcd, 0x30, 0x5e, 0x0d, 0x0c, 0x78, + 0xdf, 0x86, 0x75, 0xb9, 0xc4, 0xdd, 0x8d, 0x56, 0x2b, 0x91, 0x1b, 0xd0, 0xfb, 0xa8, 0x59, 0x36, + 0xbf, 0x04, 0x63, 0x82, 0xe7, 0xcf, 0x29, 0x16, 0x20, 0x6d, 0x6a, 0xde, 0x49, 0xe1, 0xf5, 0xa3, + 0xe4, 0xd4, 0xba, 0xe6, 0x1f, 0x62, 0x36, 0x60, 0x05, 0xe4, 0x21, 0xe1, 0xbf, 0x10, 0xdb, 0x91, + 0xc9, 0x2c, 0xf1, 0x44, 0x46, 0xe0, 0x50, 0x05, 0xda, 0x91, 0xd4, 0x70, 0x63, 0x23, 0x8e, 0x80, + 0x31, 0xa9, 0x6d, 0x4a, 0xaa, 0x79, 0xca, 0xf6, 0x2d, 0x82, 0x6f, 0x02, 0xbc, 0xb9, 0x30, 0x1a, + 0xa4, 0x2d, 0x81, 0xaa, 0x4d, 0x64, 0x52, 0x4d, 0xe4, 0x5e, 0xc4, 0xee, 0xe0, 0xe2, 0x6e, 0x9a, + 0xc8, 0x6a, 0x34, 0x51, 0x6b, 0x8c, 0xa2, 0x76, 0x39, 0x18, 0x22, 0x80, 0x4e, 0xb6, 0x03, 0xa9, + 0x45, 0x61, 0x2a, 0x04, 0x12, 0xf0, 0x81, 0x12, 0x0f, 0xb7, 0x1f, 0x8f, 0x4e, 0xe8, 0x13, 0x01, + 0x0c, 0xc5, 0x53, 0xaa, 0x0f, 0x4e, 0x40, 0xcf, 0x7e, 0x77, 0xdc, 0x4a, 0xe5, 0xca, 0x5e, 0x53, + 0x41, 0xb7, 0xe1, 0x97, 0xe1, 0x74, 0xb1, 0xa7, 0x3e, 0xb0, 0x79, 0x7d, 0xcd, 0x86, 0x0e, 0x45, + 0xd3, 0xc3, 0x90, 0x18, 0x80, 0xd1, 0x93, 0x80, 0x02, 0x84, 0xec, 0xac, 0xdd, 0x3b, 0xe1, 0xe4, + 0x0a, 0x4e, 0x34, 0xec, 0x72, 0x75, 0x0c, 0xdf, 0x00, 0x72, 0xa2, 0x60, 0x94, 0xeb, 0xec, 0x8e, + 0xee, 0x5c, 0x31, 0x88, 0xe2, 0x6b, 0x46, 0x10, 0xed, 0xd3, 0x74, 0xf0, 0xdc, 0x1e, 0x51, 0x04, + 0x59, 0xdb, 0x38, 0x80, 0xfa, 0x37, 0x1a, 0x8c, 0x33, 0x21, 0xa0, 0x7a, 0xa9, 0xa5, 0x07, 0xcb, + 0x6a, 0x36, 0x2f, 0x03, 0xb9, 0x0e, 0x41, 0xb5, 0xc3, 0xd3, 0x77, 0xb3, 0xac, 0xb6, 0xce, 0xe2, + 0x30, 0x42, 0x2a, 0xdd, 0x84, 0x14, 0x2f, 0x91, 0xbb, 0xe6, 0x61, 0x13, 0x0a, 0x95, 0x59, 0xb5, + 0xdc, 0x27, 0xee, 0x0c, 0x6d, 0x31, 0xca, 0xd8, 0xee, 0x5d, 0x91, 0xc8, 0xfb, 0xe6, 0xca, 0x50, + 0xdd, 0xb4, 0x5a, 0x9b, 0x9d, 0xe5, 0x99, 0x37, 0xa9, 0x5c, 0x43, 0x66, 0xc7, 0xc5, 0x1b, 0xf9, + 0x8c, 0x41, 0xa3, 0x98, 0xb9, 0x08, 0xbe, 0xb4, 0x6e, 0xcd, 0xb3, 0x17, 0xfa, 0x40, 0x0e, 0xf1, + 0x52, 0x02, 0xa2, 0x3a, 0x63, 0x91, 0x80, 0x84, 0xca, 0xa4, 0xde, 0x22, 0x42, 0x14, 0x2c, 0x70, + 0xb9, 0x6a, 0x09, 0x95, 0x08, 0x09, 0xe5, 0x0f, 0x25, 0x07, 0x9d, 0xe3, 0xcc, 0x36, 0xd1, 0x2f, + 0xd9, 0xed, 0x1c, 0xad, 0x3a, 0xc8, 0x16, 0x48, 0x84, 0xc4, 0xcd, 0x6c, 0xe3, 0x09, 0x9e, 0x1d, + 0x38, 0xd4, 0x2f, 0x31, 0x03, 0x8d, 0x5c, 0x84, 0xc5, 0x11, 0x18, 0xd9, 0xec, 0x65, 0x06, 0x35, + 0x06, 0xff, 0xfb, 0xa2, 0xa9, 0xce, 0x25, 0xf2, 0x26, 0x97, 0x90, 0xd0, 0x12, 0x2a, 0x7c, 0x30, + 0x62, 0x6b, 0x34, 0x19, 0xff, 0x7e, 0xec, 0x62, 0x53, 0xd6, 0xdc, 0x20, 0xa1, 0x53, 0x12, 0xf4, + 0x39, 0x07, 0x9b, 0x3d, 0x17, 0x52, 0x62, 0x27, 0x05, 0xcb, 0x74, 0x4f, 0xdc, 0x40, 0x64, 0x5c, + 0x18, 0x49, 0xcd, 0xb5, 0x9c, 0x1a, 0x6b, 0x99, 0xe2, 0xda, 0x60, 0xa0, 0x47, 0xbc, 0x06, 0xa4, + 0xa2, 0x1d, 0x01, 0xd6, 0xf3, 0xba, 0x2b, 0x40, 0x9f, 0xd4, 0x02, 0x4d, 0xa2, 0x34, 0xd1, 0x2f, + 0x68, 0xbd, 0x06, 0xd9, 0x4e, 0x8a, 0xc3, 0x05, 0x64, 0xdc, 0x80, 0x8c, 0x6b, 0xc8, 0x5c, 0x8c, + 0x20, 0xb4, 0x16, 0xe1, 0x83, 0x76, 0x3c, 0x4c, 0xc2, 0xec, 0x4f, 0x9b, 0xcb, 0x7f, 0x51, 0xde, + 0x19, 0xbe, 0xac, 0xea, 0x5b, 0x5f, 0xf3, 0x36, 0xc2, 0x97, 0x56, 0xe6, 0xe4, 0x16, 0x4f, 0x89, + 0x24, 0x02, 0xa6, 0x6d, 0x15, 0x95, 0x6a, 0x5f, 0x75, 0x7d, 0x05, 0xf1, 0xf6, 0x76, 0x6f, 0x81, + 0x7f, 0xa7, 0x38, 0x56, 0xff, 0x90, 0x70, 0x55, 0x72, 0x3e, 0x65, 0xc8, 0x2a, 0x58, 0xcf, 0x62, + 0x76, 0x29, 0x46, 0xd5, 0x67, 0x51, 0xe9, 0xb2, 0xb1, 0x2c, 0x6b, 0xe2, 0x54, 0x37, 0x60, 0x22, + 0x77, 0x27, 0xce, 0xd5, 0xdf, 0x83, 0xe4, 0xdf, 0x3d, 0x32, 0xd6, 0x7f, 0xf5, 0x00, 0x58, 0x67, + 0xfb, 0x45, 0xe0, 0x54, 0x47, 0xc7, 0x5c, 0x94, 0x6c, 0x53, 0xe2, 0x21, 0xb3, 0x5a, 0xc0, 0xd1, + 0x86, 0x20, 0xdc, 0x83, 0x69, 0x8a, 0x8b, 0xf5, 0x19, 0x01, 0x37, 0x3c, 0x11, 0xab, 0x97, 0xed, + 0x8a, 0x39, 0xa0, 0xfb, 0x0d, 0x45, 0x27, 0x0f, 0x63, 0xb4, 0x34, 0x23, 0xf8, 0xa3, 0xe3, 0x68, + 0x09, 0x3e, 0x88, 0x3b, 0x66, 0xc5, 0xe7, 0xa4, 0xdd, 0x6e, 0xb0, 0x13, 0x82, 0x91, 0x0a, 0xce, + 0x8c, 0x67, 0x11, 0xa0, 0x79, 0xdf, 0x57, 0xa0, 0xf6, 0x97, 0xaf, 0x60, 0xee, 0xd3, 0x5f, 0xd0, + 0x94, 0x44, 0x13, 0xa0, 0x88, 0x8c, 0x4e, 0x3e, 0x23, 0x33, 0x4d, 0x8b, 0x23, 0xae, 0xd9, 0xca, + 0x24, 0x10, 0x31, 0xb2, 0x36, 0x48, 0xbe, 0x86, 0xa8, 0xcc, 0x94, 0xa8, 0x84, 0x19, 0x11, 0x93, + 0xb4, 0x00, 0x62, 0x25, 0xec, 0x84, 0x19, 0xca, 0xff, 0x30, 0x5c, 0xcc, 0x62, 0x61, 0x9a, 0x73, + 0x28, 0xa2, 0x83, 0x81, 0xc5, 0xc7, 0x0b, 0x33, 0x18, 0x18, 0xbe, 0xd6, 0x82, 0x81, 0x09, 0xcc, + 0xb2, 0x62, 0x56, 0xe8, 0x9a, 0x0d, 0x64, 0x17, 0x2a, 0x18, 0x18, 0x05, 0xe0, 0x2d, 0x0c, 0x09, + 0xca, 0x9c, 0x03, 0x90, 0xeb, 0x20, 0x42, 0x07, 0xfd, 0x4e, 0xa7, 0x35, 0xdf, 0x2b, 0x45, 0xff, + 0x13, 0xa1, 0x7f, 0x8f, 0x30, 0xa6, 0xe5, 0x95, 0x90, 0x67, 0xb9, 0xd0, 0xfa, 0x88, 0xf2, 0x25, + 0x8b, 0x94, 0xe6, 0x51, 0xc3, 0x58, 0x78, 0x2e, 0x68, 0x4a, 0x7c, 0x36, 0xaf, 0xcb, 0x91, 0xf5, + 0xee, 0x1a, 0x0a, 0x05, 0xa4, 0xde, 0x3d, 0x7e, 0xb5, 0x8e, 0xd0, 0x45, 0x0e, 0xa3, 0x18, 0xa3, + 0x92, 0x3a, 0x11, 0x3a, 0xb1, 0xf1, 0xd9, 0xb2, 0xe6, 0xc2, 0x18, 0xa9, 0x85, 0x71, 0x87, 0xe6, + 0xb7, 0xb8, 0xd3, 0xa1, 0x70, 0x0c, 0xda, 0xca, 0x11, 0x12, 0x8f, 0xbe, 0x3f, 0xeb, 0x9f, 0x7c, + 0xa5, 0xf9, 0x65, 0xde, 0xe4, 0x4d, 0x4c, 0xcf, 0x82, 0x24, 0xc6, 0x6c, 0x9f, 0x67, 0x61, 0x34, + 0x1a, 0x4a, 0x87, 0x00, 0xc6, 0x66, 0x77, 0xbe, 0x34, 0x68, 0x61, 0x0d, 0x1b, 0xfd, 0xb8, 0xac, + 0xdb, 0x99, 0x8c, 0xfc, 0x41, 0x77, 0xbf, 0x77, 0xe2, 0xab, 0x87, 0xf3, 0x05, 0xa3, 0x6c, 0x9f, + 0xbf, 0x61, 0x59, 0xde, 0x15, 0xf7, 0x0f, 0x66, 0x00, 0x86, 0xa0, 0x46, 0x00, 0xf3, 0x1d, 0x81, + 0x48, 0xe3, 0xd0, 0x7b, 0xdf, 0x3f, 0x61, 0xbf, 0xee, 0x33, 0x8e, 0x73, 0xe5, 0x9e, 0xa4, 0xa9, + 0xc1, 0x08, 0xde, 0x92, 0x33, 0xe1, 0x2e, 0x59, 0x96, 0xd0, 0x61, 0x6e, 0x84, 0xbe, 0x77, 0xe2, + 0xde, 0xe9, 0x70, 0xec, 0x76, 0xbe, 0x92, 0x77, 0x48, 0x7d, 0x9b, 0x7a, 0x41, 0x2f, 0x91, 0x60, + 0x21, 0x95, 0x50, 0x06, 0x3e, 0x41, 0x79, 0x78, 0x3e, 0xf7, 0x00, 0x44, 0xc8, 0x98, 0x56, 0xe8, + 0x2d, 0xde, 0xff, 0x85, 0x27, 0xff, 0x04, 0x90, 0xb5, 0x00, 0x76, 0x52, 0x0d, 0x29, 0x9f, 0x6d, + 0x70, 0x80, 0xf4, 0x3c, 0x67, 0x3f, 0x71, 0x37, 0xc0, 0x6f, 0xbf, 0xf5, 0xf1, 0xa8, 0x30, 0x8c, + 0x96, 0x89, 0x46, 0x7a, 0xe3, 0xf1, 0xb0, 0x23, 0x9a, 0x22, 0x6c, 0xef, 0x19, 0x19, 0x15, 0xf4, + 0x3b, 0xfd, 0xf1, 0x00, 0xa8, 0x62, 0xbe, 0xdf, 0x8d, 0x77, 0xc7, 0x28, 0x77, 0xfc, 0x78, 0xb5, + 0x38, 0x83, 0x59, 0x53, 0xe4, 0x61, 0xb0, 0xc3, 0x7d, 0x32, 0xae, 0x94, 0x68, 0xa1, 0xef, 0x85, + 0x99, 0x71, 0x45, 0x0d, 0x8d, 0x5a, 0x7f, 0x54, 0x80, 0x66, 0x19, 0x54, 0x0e, 0x98, 0x85, 0x88, + 0x74, 0x1c, 0x81, 0x81, 0x5f, 0xa8, 0xdd, 0xa2, 0x1e, 0x27, 0x6d, 0x47, 0x3a, 0xe2, 0x56, 0x22, + 0xdd, 0x6c, 0x67, 0x9b, 0x5d, 0x27, 0x78, 0x5c, 0x73, 0x82, 0x53, 0xa4, 0x64, 0x10, 0xb2, 0xb4, + 0xb7, 0x11, 0x93, 0x13, 0x5c, 0x85, 0xba, 0xc1, 0x6d, 0x1f, 0xee, 0x6c, 0x30, 0xa0, 0x7d, 0xc5, + 0xaa, 0xf1, 0x55, 0xb1, 0x6a, 0x79, 0x95, 0x00, 0x78, 0x1b, 0x62, 0x93, 0xb8, 0xcc, 0xd4, 0xf8, + 0x38, 0x5c, 0x93, 0x71, 0x8c, 0xeb, 0x8c, 0x03, 0x2b, 0xaf, 0xc2, 0xc6, 0x8a, 0x6c, 0xb5, 0x88, + 0xf2, 0xf7, 0x12, 0x71, 0x43, 0xd3, 0xdc, 0xd4, 0x34, 0xcd, 0x8d, 0xf6, 0xaa, 0x93, 0xb5, 0x79, + 0x86, 0xd1, 0xe0, 0xe7, 0xb4, 0x3f, 0x8a, 0xaf, 0xab, 0x56, 0x6b, 0x25, 0xfc, 0x2e, 0xf4, 0xba, + 0x9f, 0xca, 0xf7, 0x49, 0x05, 0x7f, 0x88, 0xe6, 0x3b, 0xfc, 0xfd, 0x8c, 0x24, 0xd0, 0x65, 0x4c, + 0xee, 0x2f, 0xf9, 0x3e, 0xdb, 0x19, 0x1f, 0x94, 0x9c, 0x9c, 0xa8, 0x64, 0xf5, 0x5d, 0x2e, 0x4a, + 0x1e, 0x7f, 0xa5, 0x7c, 0xfe, 0x32, 0x1e, 0x2a, 0x77, 0xbd, 0x5c, 0x8e, 0x84, 0x8e, 0x4a, 0xa2, + 0x8b, 0x1d, 0xcf, 0x42, 0xe2, 0x45, 0x34, 0x2f, 0x77, 0x3f, 0x0b, 0x21, 0xd5, 0x19, 0x7e, 0xd7, + 0x24, 0xaa, 0xb1, 0xd8, 0x35, 0xee, 0x1b, 0x4b, 0x16, 0x8b, 0x87, 0x75, 0x84, 0x47, 0x3f, 0x67, + 0x83, 0x51, 0x67, 0x30, 0x18, 0xf6, 0xfb, 0x42, 0xd6, 0xaa, 0x68, 0xed, 0x08, 0xa3, 0xa4, 0x41, + 0xf1, 0x89, 0x44, 0x4d, 0x76, 0x85, 0xe1, 0xc7, 0xcf, 0x43, 0x49, 0x77, 0x30, 0xaa, 0xcd, 0x71, + 0x71, 0x32, 0x73, 0xf0, 0xaf, 0x27, 0x3a, 0xc0, 0x63, 0x3c, 0xf0, 0x06, 0xf2, 0x1d, 0x2d, 0x68, + 0xfc, 0xce, 0xc8, 0x19, 0xdd, 0x0b, 0xa0, 0x22, 0x38, 0x99, 0x3a, 0x5f, 0x24, 0xd1, 0xf8, 0xa4, + 0x6b, 0xff, 0xcf, 0x42, 0x89, 0xd0, 0x7d, 0x56, 0x58, 0xa2, 0xee, 0x17, 0x20, 0x46, 0xa7, 0xa8, + 0x2e, 0x13, 0xed, 0xce, 0xce, 0x66, 0x67, 0x5a, 0xcf, 0x38, 0x0b, 0x89, 0x90, 0x99, 0x20, 0x1f, + 0x03, 0x6b, 0xc0, 0x78, 0x80, 0x67, 0x9d, 0x09, 0x33, 0xfe, 0x4c, 0xc6, 0x5b, 0x71, 0x0e, 0x40, + 0x31, 0x1a, 0x0f, 0xfc, 0xc9, 0x5d, 0x4c, 0xe5, 0x3f, 0x29, 0x51, 0xed, 0x6e, 0x4d, 0x34, 0x45, + 0xe3, 0x6a, 0xe6, 0xac, 0x24, 0x52, 0xd8, 0x58, 0x8e, 0xed, 0x37, 0x67, 0x25, 0x66, 0x63, 0x15, + 0xd2, 0x32, 0x65, 0x2b, 0x39, 0x0f, 0x98, 0xcc, 0x90, 0x92, 0x12, 0xd3, 0x88, 0x40, 0x9c, 0x01, + 0x85, 0x29, 0xa5, 0x6f, 0x65, 0xb0, 0x91, 0x95, 0xa9, 0xee, 0x29, 0x7e, 0x8a, 0xd7, 0x22, 0xb3, + 0x9d, 0xc0, 0xfb, 0x35, 0xf2, 0xfe, 0x8d, 0xf8, 0x91, 0x3b, 0x85, 0x2e, 0x05, 0xa1, 0x6e, 0x25, + 0xd3, 0xdd, 0x84, 0x1b, 0xf5, 0x85, 0x97, 0x27, 0x59, 0x96, 0xf0, 0x28, 0xfd, 0xfc, 0x3a, 0x91, + 0x9c, 0xcd, 0x45, 0xd3, 0x4a, 0x34, 0xe5, 0xef, 0x6c, 0xbd, 0x6c, 0x90, 0x8b, 0xd3, 0xd2, 0x41, + 0xcd, 0x4a, 0x6d, 0xcc, 0xd3, 0x9a, 0xa9, 0x22, 0x69, 0x24, 0xb4, 0x2c, 0x7c, 0x16, 0x91, 0x00, + 0x6f, 0xf0, 0x2e, 0x74, 0xfc, 0xd2, 0x77, 0x6f, 0x94, 0x42, 0x43, 0x09, 0x32, 0xa4, 0x6e, 0xa9, + 0x85, 0x62, 0xe2, 0xde, 0x90, 0xaa, 0x8b, 0x32, 0xb1, 0x44, 0x99, 0x98, 0x68, 0x99, 0x98, 0x28, + 0x99, 0x88, 0x2e, 0x51, 0x25, 0x05, 0x4a, 0x90, 0x89, 0xa9, 0x7c, 0x4e, 0xd8, 0x5f, 0x4d, 0x99, + 0x08, 0x02, 0x22, 0xa0, 0x4e, 0x54, 0x63, 0x7e, 0x17, 0xa8, 0xd3, 0x9f, 0x74, 0x77, 0xdb, 0xcc, + 0x45, 0xa4, 0x90, 0x59, 0x12, 0x1c, 0xb7, 0x7d, 0x46, 0xff, 0xd7, 0x97, 0x60, 0x4a, 0x12, 0x6d, + 0x39, 0xe3, 0x02, 0x4c, 0x43, 0xb4, 0xa9, 0x34, 0x85, 0x2e, 0xea, 0xac, 0x29, 0xd2, 0xce, 0xf7, + 0x5b, 0x6d, 0xb0, 0xd0, 0xd7, 0x0c, 0x79, 0x7e, 0xb7, 0xff, 0x99, 0x40, 0x34, 0xc0, 0x32, 0xf2, + 0x5d, 0xb1, 0x55, 0xd4, 0xc4, 0x56, 0x8e, 0x62, 0x2b, 0x2f, 0x1d, 0xda, 0x8d, 0xa6, 0x6f, 0xa8, + 0xa9, 0x6f, 0x3a, 0x09, 0x61, 0x94, 0x94, 0xce, 0x57, 0x09, 0x91, 0xbc, 0x46, 0x14, 0x79, 0x5d, + 0x88, 0xec, 0xdd, 0x51, 0xb0, 0xbf, 0x91, 0x3d, 0xef, 0xe9, 0x61, 0x87, 0x3d, 0xdf, 0xb1, 0xb9, + 0x00, 0xeb, 0xa1, 0x37, 0x1a, 0x4d, 0x46, 0x13, 0x50, 0x6d, 0x32, 0xcd, 0x5b, 0x13, 0xea, 0x40, + 0x22, 0x2a, 0x81, 0x3e, 0x92, 0x0a, 0x37, 0x89, 0xc1, 0x5b, 0xe7, 0xa1, 0x44, 0x0e, 0xf4, 0x93, + 0x1f, 0x27, 0x27, 0x33, 0xfc, 0x03, 0x53, 0x3e, 0xa7, 0xed, 0x09, 0x7c, 0x41, 0x04, 0xc2, 0xea, + 0xa6, 0x74, 0x92, 0x95, 0xf8, 0x60, 0x72, 0x51, 0x68, 0x3a, 0xaf, 0x35, 0x4d, 0x25, 0x68, 0x83, + 0x54, 0xa5, 0xeb, 0x8f, 0xe2, 0x48, 0x56, 0x9a, 0xd0, 0x56, 0x30, 0x85, 0x75, 0xdd, 0xdd, 0xe9, + 0x08, 0xc4, 0x06, 0x88, 0xdc, 0x15, 0x91, 0x83, 0x6d, 0x2c, 0x3a, 0xa2, 0x2f, 0x63, 0x9f, 0xc2, + 0xd1, 0xdf, 0x4d, 0xbb, 0x94, 0x5a, 0x91, 0xf0, 0x6e, 0xb2, 0x53, 0x50, 0x8c, 0x2e, 0xf5, 0x92, + 0xf8, 0x67, 0xa8, 0xf5, 0x2e, 0x3c, 0xbd, 0x43, 0x31, 0xfa, 0x16, 0xaa, 0x8a, 0x4a, 0xe7, 0xbb, + 0x3b, 0xa8, 0x2a, 0xfe, 0x3d, 0xa9, 0xea, 0x1f, 0x4b, 0x38, 0x7e, 0xa7, 0x33, 0x1c, 0xf6, 0x06, + 0xbd, 0xc9, 0xdf, 0x45, 0x39, 0xdf, 0x7d, 0x89, 0x72, 0xa2, 0x7f, 0x14, 0xe5, 0xc4, 0xbf, 0x2f, + 0xe5, 0xe0, 0xb0, 0x3f, 0x50, 0x64, 0x24, 0x76, 0xb4, 0x3b, 0xfb, 0x1f, 0x6a, 0xb3, 0x7f, 0x84, + 0xb3, 0x0f, 0xca, 0x38, 0x1d, 0x2f, 0xfa, 0x60, 0xa8, 0xc2, 0xaf, 0xa4, 0x2a, 0x7c, 0x54, 0x57, + 0x85, 0x8f, 0x4c, 0x55, 0x78, 0x87, 0x2a, 0xc8, 0x28, 0x54, 0x86, 0x17, 0x92, 0xac, 0x6d, 0xa8, + 0xa1, 0x62, 0x4b, 0xe4, 0x5d, 0xab, 0xf5, 0xce, 0xd0, 0x4a, 0xe9, 0x88, 0x5e, 0x89, 0x27, 0x14, + 0x77, 0x08, 0xea, 0xa8, 0x46, 0x0b, 0x47, 0x8a, 0xa0, 0xcc, 0x83, 0x8e, 0xb9, 0xb9, 0x6b, 0xde, + 0xdd, 0x7f, 0x3c, 0xc4, 0x3c, 0x96, 0x37, 0x37, 0xcb, 0xf7, 0xee, 0x2a, 0x5f, 0xf1, 0xbd, 0xd8, + 0x2c, 0xef, 0x7f, 0xdb, 0xee, 0x8b, 0x54, 0x33, 0x53, 0x7d, 0xb0, 0x9b, 0x0e, 0x82, 0xd3, 0xf0, + 0xcd, 0x54, 0x7d, 0x83, 0x3a, 0xfb, 0x8a, 0xf1, 0xaf, 0x60, 0x2c, 0x62, 0x2d, 0xac, 0xb5, 0x1c, + 0xd5, 0x5f, 0x06, 0x47, 0xf1, 0xb2, 0x92, 0x37, 0x43, 0xd9, 0xe9, 0xec, 0x54, 0x48, 0xc3, 0xf5, + 0xed, 0x6d, 0xaf, 0x55, 0x68, 0x31, 0x58, 0x28, 0xd1, 0x7a, 0xca, 0x2a, 0x3e, 0xb2, 0x06, 0xd1, + 0x7a, 0x29, 0x9f, 0x0b, 0xf6, 0x67, 0x53, 0xb4, 0x02, 0x8b, 0x09, 0x08, 0x66, 0xd5, 0x98, 0xdf, + 0x1d, 0x8e, 0xa8, 0x3d, 0x97, 0x52, 0xa1, 0xb7, 0xf5, 0xac, 0x30, 0x85, 0x29, 0xa3, 0x62, 0xfd, + 0xce, 0x64, 0x48, 0xc5, 0x76, 0xfc, 0x50, 0x77, 0xce, 0x94, 0x36, 0x62, 0x95, 0x53, 0x88, 0x4d, + 0xc6, 0x83, 0xc1, 0x64, 0x34, 0xea, 0x76, 0x9a, 0x03, 0x90, 0x86, 0x23, 0xe2, 0x4b, 0x12, 0xfa, + 0x3e, 0xda, 0xd6, 0x5f, 0xa2, 0xd2, 0xc4, 0x3d, 0x45, 0x72, 0x9f, 0x39, 0x47, 0x22, 0x54, 0x3f, + 0x4d, 0xc8, 0x6f, 0xf4, 0x26, 0x34, 0x3c, 0xb5, 0x18, 0x60, 0xf6, 0xa8, 0x88, 0xd0, 0xf3, 0x64, + 0xbe, 0x48, 0xd2, 0x33, 0x50, 0xa9, 0xdc, 0x65, 0x58, 0x75, 0x5b, 0x4d, 0x1a, 0x41, 0xf0, 0x0a, + 0x23, 0x9d, 0xa1, 0xca, 0x4d, 0x38, 0x19, 0xa3, 0x46, 0x52, 0x98, 0x9b, 0x6a, 0x5f, 0xa4, 0x46, + 0xc2, 0x89, 0x41, 0xbf, 0x12, 0xbb, 0x18, 0x25, 0x48, 0xb6, 0x14, 0x1f, 0xd0, 0xfe, 0xdb, 0x17, + 0xe9, 0xb4, 0xa1, 0xfc, 0xc6, 0xa6, 0xfe, 0xb9, 0x76, 0x6f, 0x7e, 0x73, 0xde, 0x31, 0xde, 0xa4, + 0xc0, 0x0f, 0x0d, 0x35, 0xf4, 0x88, 0x94, 0xc7, 0xb5, 0xa1, 0x81, 0x02, 0x83, 0xc0, 0x7a, 0xc0, + 0x67, 0x8e, 0xbe, 0xa0, 0x89, 0x1e, 0x35, 0x35, 0x51, 0xdd, 0x58, 0x53, 0x07, 0x95, 0xba, 0xa6, + 0x5c, 0x2b, 0xa4, 0x74, 0x5e, 0x39, 0x47, 0x0d, 0x17, 0xf9, 0x45, 0x69, 0xdc, 0x22, 0xb6, 0x0a, + 0x86, 0x1f, 0xba, 0x4c, 0xb2, 0xb2, 0x08, 0xf0, 0x8a, 0x35, 0x53, 0x5f, 0xbd, 0x4c, 0xe4, 0x95, + 0xe1, 0x64, 0xb3, 0x4a, 0x8b, 0x20, 0x13, 0x01, 0xc2, 0xb3, 0xcb, 0x22, 0x98, 0x8b, 0x8c, 0x77, + 0xf4, 0x12, 0xd1, 0x8b, 0x3e, 0x09, 0x58, 0x04, 0x71, 0x78, 0x4c, 0xb4, 0xac, 0xd3, 0x9f, 0x5c, + 0x07, 0x1b, 0x75, 0x1f, 0xb9, 0x3a, 0x31, 0xb8, 0x08, 0xe3, 0x99, 0x47, 0xdf, 0x2c, 0xf2, 0x29, + 0x47, 0x20, 0xe0, 0x0d, 0x59, 0x22, 0x18, 0x8f, 0x34, 0x38, 0x53, 0x41, 0xca, 0x95, 0x81, 0x11, + 0xac, 0xf1, 0x2b, 0x8b, 0xd4, 0x8a, 0xb4, 0x57, 0x82, 0xa5, 0x4a, 0x11, 0x65, 0x5e, 0x67, 0x97, + 0xdf, 0xf3, 0xeb, 0x40, 0x9a, 0x0a, 0x12, 0x5e, 0x4c, 0x39, 0x0f, 0x57, 0x46, 0xb1, 0x37, 0x60, + 0x5d, 0x25, 0x3c, 0xb8, 0x10, 0x91, 0xcd, 0x55, 0x73, 0x32, 0xf5, 0xba, 0x9e, 0xfa, 0x2a, 0x25, + 0x87, 0x5d, 0x70, 0xa5, 0x92, 0xf1, 0xfe, 0xed, 0xe3, 0x62, 0x1e, 0xdc, 0x0b, 0xed, 0xff, 0xfb, + 0xbf, 0xfe, 0x77, 0x75, 0xe7, 0xfa, 0x29, 0x87, 0xc4, 0x4b, 0x4c, 0xfc, 0x3f, 0x55, 0xa2, 0xda, + 0x69, 0x0d, 0x4e, 0x15, 0x02, 0x30, 0xf5, 0x19, 0x41, 0x11, 0xfc, 0xd8, 0x28, 0xfc, 0x4c, 0x8d, + 0xf3, 0x9d, 0xd1, 0x74, 0xb1, 0xcc, 0x2e, 0x45, 0xc6, 0x0b, 0xbc, 0xf8, 0xfb, 0x41, 0x81, 0xa1, + 0xef, 0xee, 0xbf, 0xa5, 0xf6, 0x9f, 0xa9, 0xf6, 0xab, 0x74, 0x94, 0x20, 0xc1, 0xd1, 0x6e, 0x3a, + 0x8a, 0x8b, 0xe0, 0xd5, 0x4e, 0xba, 0xc0, 0x7c, 0xf0, 0x71, 0x27, 0xe3, 0x05, 0x9e, 0xc4, 0x0a, + 0xde, 0xec, 0xa4, 0x03, 0xb2, 0x83, 0xc7, 0x15, 0xa6, 0x75, 0xfa, 0x11, 0x4f, 0x92, 0xe0, 0xfd, + 0xbe, 0xe2, 0x6f, 0xd4, 0xb4, 0xbd, 0xde, 0x53, 0xed, 0xb5, 0x1a, 0x27, 0xe4, 0xbf, 0xdd, 0x93, + 0xaf, 0x32, 0xe5, 0x79, 0xf3, 0xe0, 0xd3, 0x4e, 0x0f, 0xd8, 0xb1, 0x44, 0xed, 0x0b, 0x91, 0x29, + 0xa5, 0xf1, 0x4b, 0x8a, 0xc1, 0x8c, 0xa4, 0xfe, 0x33, 0xc5, 0xf8, 0xb4, 0x6d, 0x8a, 0x9d, 0x5b, + 0xff, 0x54, 0x99, 0x0a, 0xef, 0x6e, 0xdf, 0x57, 0xf4, 0x76, 0xdf, 0x4a, 0x39, 0x5f, 0x14, 0x56, + 0x99, 0xe1, 0x57, 0x1b, 0xa2, 0xd4, 0x8a, 0xb0, 0xe0, 0xbe, 0xba, 0x4b, 0x5d, 0xb7, 0x50, 0xf4, + 0x7b, 0x57, 0x65, 0xf9, 0xd9, 0x4f, 0x58, 0xa6, 0xea, 0x74, 0xf3, 0x65, 0x94, 0xa7, 0x8e, 0xea, + 0x55, 0x50, 0xf0, 0x7d, 0x2b, 0x2e, 0xac, 0x05, 0x5f, 0xe7, 0xf1, 0x3c, 0x02, 0x7c, 0xe1, 0x57, + 0x5c, 0xcf, 0xa2, 0x8b, 0x6c, 0x93, 0xe3, 0x17, 0xe8, 0xee, 0x0b, 0x9a, 0xbe, 0x0f, 0xd2, 0xf6, + 0x75, 0xab, 0x75, 0x70, 0xbe, 0xd3, 0x52, 0x5e, 0xb5, 0x81, 0x30, 0x40, 0x7d, 0x00, 0x62, 0x53, + 0x70, 0xeb, 0xfe, 0xbe, 0xc9, 0xb8, 0x2f, 0x3f, 0x22, 0xf2, 0x84, 0x3d, 0x0d, 0x33, 0xaf, 0xc8, + 0x56, 0xe2, 0x06, 0x7e, 0x75, 0xd2, 0x4a, 0xb2, 0xa6, 0x57, 0x6b, 0x19, 0x22, 0xde, 0xc8, 0x31, + 0x4e, 0x67, 0x81, 0x5d, 0xfe, 0x7d, 0x15, 0xf5, 0xfa, 0x79, 0xa8, 0xe2, 0x6c, 0xe3, 0xfe, 0x71, + 0x31, 0x2d, 0xf5, 0xf9, 0x03, 0xdc, 0xbb, 0x75, 0x40, 0x1f, 0xc2, 0x18, 0xf2, 0x1f, 0xf8, 0x35, + 0x5b, 0x84, 0x45, 0x18, 0x86, 0x9b, 0x59, 0x7c, 0xec, 0xc4, 0x14, 0x08, 0x8b, 0x3e, 0x38, 0x2f, + 0x4e, 0x90, 0xe3, 0x66, 0x10, 0x70, 0x63, 0xdf, 0xfd, 0x27, 0x65, 0xd2, 0x9f, 0x04, 0x31, 0x7d, + 0x0c, 0x88, 0x61, 0x6c, 0x82, 0x4d, 0xb8, 0x98, 0x51, 0x23, 0xf2, 0x44, 0x0a, 0x24, 0xbf, 0x94, + 0x5f, 0x8e, 0x38, 0xca, 0x12, 0x1b, 0x56, 0x3b, 0x46, 0x9e, 0xc5, 0x98, 0x3a, 0x59, 0x12, 0x94, + 0x18, 0x5a, 0x3f, 0xa0, 0xe2, 0x5b, 0xe0, 0xde, 0x7f, 0xd2, 0x00, 0x5e, 0x01, 0x44, 0xd7, 0xb3, + 0xa5, 0x17, 0xa7, 0xf3, 0x64, 0xb3, 0xe0, 0x85, 0x53, 0x1e, 0x9f, 0x9f, 0xb8, 0xb3, 0xd4, 0xe9, + 0xf9, 0x0c, 0xd9, 0x0b, 0x06, 0xec, 0x15, 0x8f, 0x98, 0x01, 0xaf, 0x77, 0x15, 0x5d, 0x2a, 0x1e, + 0x4e, 0xb0, 0x63, 0xec, 0x54, 0xc8, 0x74, 0xab, 0xea, 0xf8, 0x15, 0x0a, 0x46, 0x6d, 0x10, 0x32, + 0x68, 0xe3, 0x5a, 0xc1, 0x0b, 0xf3, 0x61, 0xc0, 0x8b, 0xfb, 0xc6, 0x25, 0x42, 0xf9, 0x93, 0x86, + 0xb2, 0xac, 0xfc, 0x2c, 0xe1, 0x81, 0xf1, 0xa2, 0x4f, 0xea, 0x63, 0xc3, 0xd3, 0x0b, 0x3c, 0x11, + 0x54, 0x39, 0x64, 0xa0, 0xe7, 0x0e, 0x03, 0xa6, 0x59, 0x00, 0xd4, 0x17, 0xfa, 0x0d, 0x8f, 0x42, + 0xec, 0x29, 0x04, 0xe0, 0xad, 0x59, 0x21, 0x86, 0x8b, 0x09, 0xeb, 0xc6, 0x70, 0x0a, 0x13, 0x5e, + 0xb1, 0xcc, 0xf6, 0x81, 0xfc, 0x6b, 0x28, 0x45, 0x0b, 0x00, 0xad, 0x67, 0x83, 0x27, 0x49, 0xb3, + 0x2c, 0x4d, 0x47, 0xba, 0xad, 0x3e, 0x19, 0x53, 0x0b, 0x43, 0x21, 0x85, 0x8e, 0x11, 0xea, 0x57, + 0x04, 0x8e, 0xa0, 0x54, 0x8c, 0xf5, 0x0b, 0x92, 0xa7, 0x8a, 0x2a, 0x21, 0x02, 0x93, 0x61, 0x1a, + 0x46, 0x9c, 0x78, 0x57, 0xcf, 0xa4, 0x6f, 0xe5, 0x89, 0x44, 0xc8, 0xad, 0xe4, 0x54, 0x55, 0xa2, + 0x87, 0xae, 0x6f, 0xaf, 0xca, 0x91, 0xc5, 0x9e, 0x5c, 0x1b, 0x71, 0x30, 0x36, 0xb2, 0xc4, 0x93, + 0x6b, 0xb3, 0x11, 0x23, 0x1a, 0xc6, 0xc2, 0x6c, 0xc2, 0xa5, 0xb0, 0xb7, 0x35, 0x71, 0x66, 0x84, + 0xc7, 0x38, 0xd3, 0x6b, 0xaa, 0xca, 0x86, 0x1a, 0x6a, 0x46, 0x2a, 0xc0, 0x70, 0x1a, 0xb8, 0xde, + 0xb8, 0xc1, 0x8e, 0xe5, 0x9a, 0xad, 0x8a, 0x20, 0x65, 0xe1, 0x3a, 0x14, 0xe9, 0xba, 0x15, 0xc1, + 0x46, 0xaa, 0x62, 0x7d, 0xf4, 0xa1, 0x78, 0x66, 0x9e, 0x40, 0x62, 0xad, 0xd0, 0x80, 0x9d, 0x0b, + 0x34, 0x8a, 0x6c, 0x53, 0x56, 0x56, 0x85, 0x86, 0xec, 0x42, 0xb7, 0x24, 0xf2, 0x34, 0x5c, 0xcd, + 0xa2, 0x23, 0x76, 0xad, 0x61, 0x6b, 0x14, 0x95, 0x52, 0xb5, 0x2a, 0x3b, 0x66, 0x57, 0xba, 0xac, + 0xcc, 0x94, 0x11, 0x47, 0x40, 0xd6, 0x1a, 0x71, 0x9c, 0xef, 0xc9, 0xa0, 0x23, 0x90, 0x2a, 0xf3, + 0x51, 0xee, 0xea, 0x02, 0x43, 0x76, 0x29, 0x0b, 0x60, 0xb2, 0x2c, 0xa1, 0x8f, 0x3b, 0xa9, 0x52, + 0x23, 0x76, 0x2a, 0x4b, 0xa9, 0x2c, 0x59, 0x52, 0x92, 0xb5, 0x2a, 0x37, 0x66, 0x3f, 0xca, 0x72, + 0x22, 0xa3, 0x56, 0xca, 0x98, 0x85, 0x09, 0x7b, 0x57, 0x2b, 0x27, 0xe6, 0xaa, 0x26, 0xb8, 0x2b, + 0x4a, 0xe9, 0xb0, 0x0f, 0x38, 0xd2, 0x5a, 0xae, 0x2b, 0x35, 0x4b, 0x2d, 0xcf, 0xab, 0xe2, 0x3e, + 0x7b, 0x16, 0x1a, 0xa1, 0xea, 0xde, 0x4a, 0x68, 0xeb, 0x62, 0xbe, 0x2a, 0xde, 0x05, 0x65, 0xd2, + 0x2c, 0x8e, 0xb9, 0xb5, 0xe2, 0x64, 0x2c, 0xea, 0xe2, 0x3d, 0xf6, 0xaa, 0x56, 0x1c, 0x73, 0xcd, + 0xe2, 0x82, 0x40, 0xab, 0xf2, 0x7d, 0xf6, 0xd1, 0x2c, 0x2f, 0xb2, 0xcd, 0x0a, 0xa4, 0x2c, 0x54, + 0xe5, 0x07, 0xec, 0x8d, 0x59, 0x9e, 0x72, 0xcd, 0xe2, 0xc8, 0xf7, 0x74, 0xe1, 0x21, 0x7b, 0x6c, + 0x16, 0x86, 0x3c, 0xb3, 0x28, 0x31, 0x11, 0x5d, 0x76, 0xc4, 0xde, 0x9b, 0x65, 0x31, 0xb3, 0xd1, + 0xee, 0x9b, 0xe6, 0x5a, 0xf1, 0xc7, 0xec, 0x75, 0xa3, 0xfd, 0x37, 0xd5, 0xba, 0xd9, 0xa7, 0x87, + 0x54, 0x55, 0x27, 0xec, 0x6d, 0xa3, 0xaa, 0x31, 0xd3, 0x77, 0xa9, 0x28, 0xd5, 0x92, 0xef, 0xb0, + 0x4f, 0x66, 0xf5, 0x46, 0xb9, 0xe6, 0x28, 0x1b, 0x54, 0xd8, 0xf5, 0xd9, 0x8b, 0xe6, 0x58, 0x35, + 0x3d, 0x4a, 0x5d, 0xbd, 0x62, 0x94, 0x3e, 0x45, 0xdf, 0x91, 0xc9, 0xfb, 0xe2, 0x9b, 0xa3, 0xa7, + 0x67, 0xd8, 0x6a, 0x7e, 0x22, 0x1a, 0x6a, 0x76, 0xd8, 0x13, 0x0a, 0xbb, 0x9f, 0xd5, 0x3f, 0x7b, + 0x21, 0x72, 0x8e, 0x39, 0x1d, 0xb3, 0x0e, 0x39, 0x7b, 0x42, 0x17, 0xb1, 0x98, 0xdf, 0xe9, 0x77, + 0x9a, 0xad, 0x00, 0xac, 0x18, 0xb1, 0xdd, 0xf9, 0x30, 0xf3, 0x83, 0x8e, 0x7b, 0xa8, 0x2e, 0x42, + 0x60, 0xc4, 0xeb, 0x5a, 0xc9, 0xdb, 0x81, 0x6f, 0x06, 0x59, 0xd7, 0x36, 0x29, 0x0f, 0x9f, 0x1c, + 0x6f, 0x8c, 0xcf, 0xc6, 0x73, 0xf9, 0x85, 0x1b, 0x6e, 0x68, 0x0f, 0xfb, 0xb6, 0x3e, 0xc4, 0xd1, + 0x39, 0xe2, 0x23, 0x13, 0xf6, 0x73, 0x58, 0xe2, 0xe5, 0x33, 0x79, 0xce, 0x0f, 0x2c, 0x4d, 0xbf, + 0x33, 0xea, 0x8d, 0xfa, 0xfe, 0xb8, 0xd7, 0x84, 0x62, 0x34, 0x1e, 0xd5, 0xa1, 0x50, 0xf2, 0x62, + 0x6e, 0x8a, 0x3e, 0x33, 0x9a, 0xff, 0x99, 0xeb, 0x81, 0x10, 0xcb, 0xaf, 0x29, 0xc4, 0xa3, 0x8d, + 0xdf, 0x49, 0x3d, 0x03, 0xb3, 0xf6, 0xf6, 0xf6, 0x09, 0x1a, 0xb7, 0x86, 0x32, 0x04, 0x08, 0x6d, + 0x26, 0x81, 0x21, 0x86, 0x07, 0x06, 0xe8, 0x8b, 0x61, 0xf3, 0x28, 0xe1, 0xc6, 0x77, 0xc3, 0x74, + 0xf0, 0x3d, 0x07, 0x5b, 0xbb, 0xab, 0x94, 0xfb, 0x28, 0xec, 0x28, 0xe5, 0x4b, 0x77, 0x8c, 0x7f, + 0xf1, 0x08, 0xe9, 0x1e, 0xac, 0x10, 0x00, 0x62, 0x1c, 0xe2, 0xf8, 0x61, 0x33, 0x01, 0x20, 0x0a, + 0x28, 0x4d, 0x1e, 0x3c, 0x74, 0xe9, 0x3f, 0xf1, 0x75, 0xdc, 0x6a, 0xdc, 0xd5, 0x37, 0x07, 0x38, + 0x98, 0x89, 0x24, 0xe1, 0xd2, 0xe0, 0x67, 0x34, 0x2b, 0xb5, 0x0a, 0x11, 0x48, 0x9d, 0x16, 0x34, + 0xd1, 0xb5, 0x1e, 0x0b, 0x47, 0xed, 0x07, 0x40, 0x66, 0x7a, 0x73, 0xc9, 0x28, 0xb6, 0xdc, 0x29, + 0x86, 0x34, 0x25, 0xd4, 0x22, 0xf5, 0x85, 0x96, 0xcd, 0x0c, 0xe6, 0x46, 0xf4, 0xf7, 0xa8, 0x54, + 0x4f, 0xb3, 0x45, 0xa0, 0x53, 0x1f, 0x56, 0xa9, 0xed, 0x45, 0xd0, 0x09, 0x3a, 0x44, 0x96, 0x0d, + 0xd2, 0xbe, 0xed, 0x36, 0xa7, 0xf8, 0x69, 0xab, 0x95, 0x81, 0xca, 0x4c, 0x34, 0xdf, 0xed, 0x92, + 0xd2, 0xba, 0x43, 0xf3, 0x7b, 0x89, 0xac, 0xa6, 0x06, 0xcf, 0x44, 0x65, 0xbd, 0x2c, 0xea, 0xb9, + 0xe8, 0xe9, 0xfc, 0xde, 0x0d, 0xea, 0x46, 0x42, 0xa3, 0x8c, 0x4b, 0xeb, 0xe5, 0xee, 0x36, 0xf4, + 0x44, 0x38, 0x32, 0x18, 0x1f, 0xa3, 0x79, 0x0a, 0x38, 0x2d, 0xbf, 0xef, 0xc5, 0x75, 0x48, 0x76, + 0xbc, 0x61, 0x0b, 0x76, 0xc6, 0x22, 0x96, 0xb1, 0x7b, 0xec, 0x92, 0x9d, 0xb2, 0x1f, 0xd9, 0x3b, + 0xf6, 0x81, 0x3d, 0x63, 0x47, 0xec, 0x15, 0xfb, 0xc8, 0xde, 0xb0, 0xc7, 0xec, 0x3d, 0x7b, 0xcd, + 0xde, 0xb2, 0x4f, 0xec, 0x05, 0xfb, 0x9e, 0x15, 0xec, 0x29, 0x83, 0x26, 0x8f, 0xf1, 0x83, 0x1d, + 0xe9, 0x9c, 0x0e, 0x8b, 0x9b, 0xb4, 0x2e, 0x67, 0x68, 0xef, 0x17, 0xc6, 0x20, 0xcd, 0xc6, 0x3c, + 0x98, 0xa7, 0xf7, 0x59, 0x9c, 0x52, 0xc8, 0x53, 0xf6, 0x9c, 0xfd, 0x89, 0xfd, 0xc4, 0x7e, 0x65, + 0x6b, 0xb6, 0xa4, 0xbd, 0x9a, 0x15, 0x3b, 0x67, 0x17, 0xec, 0x9a, 0x5d, 0xb1, 0x9f, 0xd9, 0x13, + 0x96, 0xb0, 0x9c, 0x99, 0xce, 0xf5, 0x33, 0x35, 0x54, 0xfa, 0xa8, 0x8f, 0xb8, 0xce, 0x42, 0x0a, + 0x11, 0x7d, 0x08, 0x03, 0x50, 0x81, 0xbf, 0xa0, 0xea, 0x99, 0x1f, 0x47, 0x30, 0xab, 0x99, 0x89, + 0x55, 0x78, 0x57, 0x8a, 0x03, 0x26, 0x38, 0x39, 0x7e, 0x36, 0x2c, 0xa0, 0xef, 0xa0, 0xe0, 0x0d, + 0x5e, 0xfc, 0x12, 0x9e, 0xb8, 0x55, 0x83, 0xce, 0x1e, 0xa5, 0x67, 0xd2, 0x07, 0x3d, 0xd4, 0xd5, + 0x19, 0xba, 0x76, 0xed, 0xde, 0x05, 0x84, 0xa4, 0xc4, 0xe7, 0xf4, 0x7d, 0x20, 0x56, 0xe9, 0xb5, + 0xbf, 0x8a, 0x23, 0xa4, 0x08, 0x54, 0x55, 0xea, 0xa7, 0xaa, 0x14, 0x96, 0xf9, 0x13, 0xbd, 0xea, + 0xef, 0x38, 0x5c, 0x97, 0xdf, 0x74, 0x0d, 0xfc, 0xa2, 0x64, 0xe7, 0x25, 0x5e, 0x02, 0x57, 0xde, + 0x97, 0x3e, 0x23, 0x67, 0x0b, 0xaa, 0xba, 0xc2, 0xed, 0xd2, 0x63, 0x86, 0xcb, 0xa5, 0xd7, 0x53, + 0x77, 0x2f, 0x3b, 0x55, 0x32, 0x06, 0xcd, 0x6d, 0xfa, 0x54, 0xba, 0x4c, 0x2f, 0x5a, 0xd0, 0x2e, + 0xf5, 0xca, 0x04, 0x35, 0xb2, 0xe6, 0x40, 0xe9, 0x51, 0x77, 0xf4, 0x34, 0x60, 0x35, 0x9f, 0x09, + 0xe8, 0x7f, 0x35, 0x6f, 0x09, 0x28, 0x79, 0x75, 0x3f, 0x09, 0x68, 0x72, 0xca, 0x43, 0x32, 0x60, + 0xda, 0x2f, 0x32, 0x64, 0x35, 0x6f, 0xc8, 0x88, 0x19, 0x6e, 0x90, 0x31, 0xab, 0x39, 0x3f, 0x26, + 0xac, 0xe1, 0xf2, 0x00, 0x8d, 0xa9, 0xe1, 0xec, 0x00, 0xa5, 0xa8, 0xe1, 0xe6, 0x00, 0xbd, 0xa7, + 0xe1, 0xe0, 0x00, 0xd5, 0xa6, 0xe9, 0xda, 0x00, 0xed, 0xa5, 0xe1, 0xd4, 0x00, 0xfd, 0xa4, 0xe6, + 0xce, 0x00, 0x15, 0xa4, 0xee, 0xc6, 0x00, 0x3d, 0x63, 0xaf, 0x03, 0x03, 0x74, 0x89, 0xbd, 0x8e, + 0x0b, 0x50, 0x14, 0xee, 0x74, 0x58, 0x74, 0x3b, 0x6c, 0x9f, 0xab, 0xa2, 0xeb, 0x6f, 0xc5, 0xad, + 0x7f, 0x73, 0x4b, 0xb5, 0x72, 0xd5, 0x5d, 0x95, 0x77, 0xc7, 0xf8, 0x58, 0xfa, 0x14, 0xde, 0xa3, + 0x7e, 0x0b, 0x1f, 0x23, 0xd7, 0x5a, 0x97, 0xcb, 0x38, 0xe1, 0x96, 0xfc, 0xb2, 0x8e, 0xa5, 0x6e, + 0x67, 0xd7, 0xc3, 0x1c, 0x48, 0x17, 0xe7, 0xf2, 0xbc, 0x93, 0x9d, 0x8d, 0xbe, 0x35, 0xb8, 0x41, + 0xf5, 0xcd, 0xcc, 0xdd, 0x7d, 0x5b, 0xf3, 0x28, 0x60, 0x89, 0xd7, 0x0a, 0x07, 0x27, 0x8e, 0x19, + 0x44, 0x79, 0x2e, 0x52, 0x87, 0xf5, 0xd4, 0x48, 0xa4, 0x8e, 0x28, 0x55, 0xdc, 0x2d, 0xd1, 0xd4, + 0x2f, 0xf6, 0xe2, 0x90, 0xec, 0xe9, 0xc3, 0x1d, 0x72, 0x3c, 0x4d, 0xb2, 0xb0, 0x57, 0x71, 0xda, + 0xbe, 0x14, 0x21, 0x5a, 0x17, 0xf1, 0x45, 0xbc, 0xe0, 0xed, 0x6b, 0xf5, 0xa0, 0xc3, 0x09, 0x10, + 0x01, 0x8a, 0x10, 0x27, 0x4d, 0x22, 0xb2, 0x29, 0x2a, 0x40, 0xb1, 0x8e, 0xe6, 0xbc, 0x9d, 0x66, + 0x14, 0xe9, 0x44, 0xc4, 0x21, 0xe5, 0x67, 0xa5, 0x0e, 0x04, 0x6b, 0x46, 0xa9, 0xa8, 0x02, 0x45, + 0x60, 0xa8, 0x81, 0xcd, 0x1a, 0x56, 0xf1, 0x1c, 0x64, 0xb5, 0xdd, 0xa4, 0x45, 0xbb, 0x0a, 0x7a, + 0x73, 0x07, 0x58, 0x76, 0x83, 0xee, 0xec, 0xf5, 0x55, 0xbb, 0x87, 0x51, 0x09, 0x7c, 0xab, 0x06, + 0x54, 0xbb, 0x82, 0xaa, 0x58, 0x59, 0x2a, 0xcc, 0xc5, 0x40, 0x40, 0x95, 0x60, 0x88, 0xd9, 0x46, + 0x94, 0x8c, 0x26, 0xc5, 0x63, 0xc3, 0xbe, 0x68, 0xf8, 0x34, 0x43, 0x2e, 0xa1, 0x63, 0x6f, 0xae, + 0x16, 0x77, 0xb5, 0xbb, 0x33, 0x5a, 0x68, 0xd8, 0x32, 0xc2, 0x30, 0x54, 0x28, 0xa0, 0x20, 0xdd, + 0x41, 0xb6, 0x29, 0x93, 0x38, 0x45, 0x70, 0x53, 0x2e, 0x93, 0x8a, 0x65, 0xb4, 0xc8, 0x2e, 0xdb, + 0x2a, 0xe7, 0x54, 0x84, 0x53, 0xc6, 0x1c, 0x01, 0x85, 0x08, 0xcf, 0xd0, 0xd3, 0x4d, 0x7c, 0xc2, + 0x00, 0x45, 0x2a, 0x08, 0x48, 0x41, 0xf1, 0x40, 0x34, 0x50, 0xf6, 0xce, 0xc2, 0xfe, 0xef, 0x30, + 0x28, 0xed, 0x07, 0x31, 0xae, 0x38, 0x92, 0x66, 0x1e, 0xef, 0xf8, 0x0a, 0xc4, 0x07, 0xb1, 0x99, + 0x51, 0xd0, 0x17, 0x05, 0x85, 0x0c, 0x90, 0x51, 0x51, 0xcd, 0xab, 0x92, 0x55, 0x36, 0x49, 0x86, + 0x50, 0x7c, 0x87, 0x46, 0x5c, 0x5d, 0xbb, 0x2e, 0x55, 0x68, 0xc9, 0x18, 0x14, 0xa1, 0x17, 0x22, + 0x5e, 0x34, 0x6d, 0x57, 0x82, 0xd6, 0x59, 0xee, 0x71, 0x64, 0x80, 0x68, 0x74, 0xf7, 0x15, 0x94, + 0x3e, 0x13, 0x36, 0xbf, 0x3b, 0x5b, 0x38, 0x4d, 0x58, 0xa4, 0xef, 0x6c, 0xe4, 0x18, 0x13, 0xdb, + 0xbc, 0x6b, 0xa0, 0x8f, 0xbd, 0x24, 0x58, 0x89, 0x0e, 0xbd, 0x24, 0xe6, 0xa1, 0x17, 0x21, 0xf6, + 0x33, 0xf4, 0x34, 0x8e, 0x5b, 0xb8, 0xc3, 0x9b, 0x91, 0xdf, 0x27, 0x34, 0xf9, 0x82, 0xcb, 0x0e, + 0xd2, 0x56, 0xcb, 0xa7, 0x6c, 0x0a, 0x55, 0x91, 0xed, 0x47, 0x21, 0xfb, 0x93, 0x80, 0x0f, 0x03, + 0x4f, 0x20, 0x44, 0x07, 0x45, 0xab, 0xd5, 0xa5, 0x5a, 0x85, 0xa8, 0x65, 0xe0, 0x53, 0x95, 0x2d, + 0x54, 0xd9, 0xbc, 0xd5, 0xea, 0x53, 0xd9, 0xbc, 0x2a, 0x5b, 0x21, 0x57, 0x15, 0xcf, 0x65, 0xf1, + 0x52, 0xdc, 0x84, 0xc8, 0xea, 0x47, 0xb5, 0xcb, 0xe6, 0x1d, 0x87, 0xc6, 0xc1, 0xed, 0x7d, 0xf9, + 0x46, 0x10, 0x90, 0xb2, 0xb1, 0xab, 0x73, 0x79, 0xe7, 0x09, 0xe0, 0xe3, 0x7b, 0x25, 0xbb, 0x2a, + 0x3f, 0xff, 0xe5, 0xef, 0xea, 0x8b, 0x40, 0x33, 0x85, 0x48, 0xf3, 0x43, 0xe0, 0xa9, 0xf8, 0x5a, + 0x77, 0x11, 0x66, 0x78, 0xa6, 0x3e, 0xd9, 0xb9, 0xc0, 0xb0, 0x8a, 0xe2, 0x74, 0xef, 0x15, 0x86, + 0xfd, 0x72, 0xc6, 0x3c, 0x00, 0x9c, 0xd5, 0x2f, 0x0f, 0xec, 0xfd, 0x5c, 0x38, 0xde, 0x11, 0x90, + 0x5f, 0x22, 0x17, 0x9f, 0x0b, 0x4f, 0xbf, 0xf9, 0x73, 0xe1, 0x02, 0x74, 0x7d, 0x43, 0x20, 0xa7, + 0x1b, 0x02, 0xb5, 0xd1, 0xdc, 0x7d, 0x43, 0xa0, 0x76, 0x7c, 0xb7, 0xd8, 0x39, 0xbc, 0x5b, 0xec, + 0x3f, 0xba, 0x2b, 0x4f, 0xd8, 0x9b, 0x73, 0x74, 0x5a, 0xdf, 0x79, 0xa3, 0xeb, 0x55, 0x28, 0x32, + 0xf3, 0xf0, 0x39, 0x47, 0xcb, 0x1d, 0xa8, 0x51, 0x7c, 0xf5, 0x4c, 0x7c, 0x18, 0x6d, 0xe7, 0x53, + 0x6b, 0x73, 0x8a, 0x81, 0xe6, 0xca, 0x6b, 0x59, 0x60, 0x95, 0x45, 0xa1, 0xbd, 0x88, 0x45, 0x98, + 0x7f, 0xdc, 0x71, 0x57, 0x5f, 0xc4, 0x3c, 0xce, 0x28, 0x06, 0x6d, 0xc1, 0x8e, 0x6f, 0xd0, 0xd1, + 0x6a, 0x94, 0x51, 0xc1, 0x66, 0x21, 0xc1, 0x56, 0x26, 0x05, 0x1a, 0xcc, 0xaa, 0x04, 0x33, 0x2e, + 0xa8, 0x61, 0xce, 0xbf, 0xdd, 0xbb, 0xa9, 0x32, 0xb5, 0x61, 0xfa, 0x46, 0x04, 0xee, 0x97, 0x61, + 0x28, 0x6e, 0x40, 0xf2, 0xc6, 0xab, 0xcd, 0xea, 0x79, 0x1e, 0xd1, 0x30, 0x9f, 0xc6, 0xe7, 0x71, + 0x59, 0xd0, 0x97, 0x1a, 0x56, 0xff, 0xc6, 0x94, 0xf1, 0x1e, 0x1c, 0x48, 0x0d, 0x88, 0x18, 0x76, + 0x07, 0x19, 0x76, 0xc7, 0xda, 0x91, 0xb9, 0xf6, 0x96, 0x09, 0x90, 0x31, 0x60, 0x90, 0x04, 0xf6, + 0xc5, 0xd3, 0x1a, 0xa8, 0xf1, 0xa2, 0xd6, 0x66, 0xcd, 0x6c, 0x0a, 0xe8, 0x53, 0x9d, 0xd2, 0x38, + 0xa0, 0xeb, 0x7c, 0xdc, 0x88, 0x74, 0x5c, 0xb3, 0xf2, 0x10, 0x87, 0x29, 0x3a, 0xee, 0x16, 0xc6, + 0xa7, 0x08, 0x3a, 0x8c, 0x12, 0xf4, 0x37, 0xd6, 0x03, 0x1b, 0x37, 0x20, 0xa6, 0xea, 0x8b, 0xd8, + 0x8f, 0x3a, 0x68, 0x3e, 0xe0, 0x97, 0x1a, 0x52, 0xba, 0x40, 0x25, 0x4c, 0xbc, 0xb3, 0x3c, 0x03, + 0x5a, 0x91, 0x06, 0xac, 0xfb, 0x59, 0xcb, 0x6d, 0xcb, 0x0c, 0x13, 0x5c, 0x0d, 0xe7, 0x8b, 0xfd, + 0x33, 0xe3, 0x7e, 0xa6, 0x8c, 0xa7, 0x4d, 0x5a, 0x09, 0xc5, 0xf0, 0x03, 0x3c, 0xf6, 0x34, 0xd6, + 0x28, 0xc2, 0x92, 0xc2, 0x9b, 0x08, 0xe7, 0x64, 0x60, 0x0e, 0x73, 0x67, 0x33, 0xdb, 0xfe, 0x02, + 0xfe, 0xc4, 0x79, 0x97, 0x9b, 0xed, 0x1d, 0x88, 0x13, 0x17, 0xf9, 0x64, 0x6b, 0xd5, 0xc7, 0x13, + 0xa6, 0xc0, 0x75, 0xb5, 0x7f, 0x02, 0x43, 0xb0, 0xe0, 0xed, 0x08, 0x5c, 0x5f, 0x02, 0x0d, 0x40, + 0x48, 0xa0, 0xab, 0x66, 0x7f, 0x41, 0x35, 0x49, 0xb8, 0x34, 0xb6, 0xff, 0x26, 0x61, 0x4b, 0xeb, + 0x1f, 0x52, 0xdf, 0x12, 0x6a, 0xcb, 0x50, 0xba, 0x20, 0x80, 0xf9, 0xe5, 0x31, 0xee, 0xb6, 0x68, + 0x04, 0xe7, 0x7c, 0xb1, 0x01, 0x63, 0xc9, 0xa1, 0xaf, 0x99, 0xb1, 0xf4, 0x04, 0xd6, 0xbb, 0xc3, + 0xd1, 0x15, 0x82, 0x77, 0xc1, 0x5c, 0x0c, 0x9d, 0xa5, 0x3e, 0x99, 0x48, 0xed, 0x63, 0xd5, 0x3d, + 0x78, 0x6f, 0x80, 0x5f, 0x87, 0xe1, 0xeb, 0x31, 0xbe, 0x8a, 0xe6, 0x1a, 0xe1, 0x2f, 0x1f, 0x1f, + 0xd5, 0xf0, 0x0d, 0x79, 0xbf, 0x0f, 0xaa, 0xa1, 0x21, 0x03, 0xd1, 0xff, 0x95, 0xb0, 0x5c, 0x83, + 0xfc, 0xef, 0xc5, 0x71, 0x5e, 0x14, 0xb1, 0x46, 0xf2, 0x6b, 0x7a, 0x31, 0xb0, 0x8c, 0xb9, 0x4d, + 0xb6, 0x25, 0x52, 0x0f, 0xed, 0xc5, 0x93, 0x55, 0x9d, 0xda, 0xbf, 0xa9, 0xcf, 0xff, 0xe9, 0xaf, + 0x6a, 0xdd, 0xd2, 0x7b, 0xd5, 0xf3, 0xb1, 0x2e, 0x74, 0xb2, 0xd3, 0xbf, 0x91, 0xf7, 0xff, 0x03, + 0x45, 0x2c, 0x43, 0x5a, 0x55, 0xbc, 0x50, 0x27, 0x98, 0x1c, 0x51, 0x26, 0xee, 0x62, 0x41, 0xe5, + 0x1c, 0xda, 0xab, 0xe2, 0x5b, 0x41, 0x38, 0xa9, 0xb9, 0x61, 0x70, 0x1b, 0x2c, 0x0b, 0x79, 0xc3, + 0x39, 0x83, 0x7b, 0x5f, 0xd1, 0x9e, 0xd4, 0x2e, 0x6e, 0xaa, 0xa1, 0xff, 0xa3, 0xfa, 0x12, 0x7d, + 0xfd, 0xee, 0xf6, 0x57, 0x59, 0xb3, 0x3f, 0x66, 0xa5, 0xf5, 0x9c, 0xe2, 0x89, 0x9a, 0xc1, 0xeb, + 0xd6, 0xbb, 0x81, 0xeb, 0xde, 0x2e, 0x63, 0xfa, 0x48, 0x07, 0xda, 0x58, 0x19, 0x2f, 0xd2, 0xfb, + 0xe8, 0x6f, 0xc1, 0x8f, 0xea, 0xec, 0x37, 0x7a, 0xfd, 0xa8, 0x37, 0x9f, 0xe7, 0xd7, 0xfb, 0x62, + 0x8e, 0xee, 0x04, 0x79, 0xbb, 0xdb, 0x0e, 0x6e, 0x46, 0x60, 0x03, 0x41, 0x8f, 0x32, 0xe5, 0x1d, + 0xac, 0x67, 0xfb, 0x81, 0x1d, 0x08, 0xcf, 0xcf, 0x37, 0x47, 0xff, 0xfb, 0x5e, 0x47, 0xff, 0x63, + 0x8d, 0x10, 0xee, 0x7f, 0x47, 0x8b, 0xa7, 0x25, 0xbb, 0x2c, 0xab, 0xf6, 0xfe, 0xf8, 0x77, 0x43, + 0xf5, 0xa3, 0x6e, 0x65, 0x5b, 0x69, 0x90, 0x1f, 0xca, 0x2f, 0x44, 0x25, 0x4c, 0x48, 0x04, 0xff, + 0x2c, 0xa2, 0x12, 0x8a, 0x28, 0xf8, 0xef, 0xaa, 0x50, 0xf6, 0xf2, 0x23, 0xa5, 0xef, 0xca, 0xaf, + 0x89, 0x4d, 0xaf, 0x63, 0xe5, 0x26, 0xf5, 0xcb, 0xc9, 0x46, 0x38, 0x5d, 0xa9, 0x83, 0xee, 0xc6, + 0xd3, 0xad, 0x47, 0xbf, 0x8d, 0xae, 0xda, 0x97, 0xed, 0xd1, 0x55, 0xa2, 0x62, 0x9d, 0x22, 0xb5, + 0x8f, 0xd1, 0x1a, 0x43, 0x0b, 0xb2, 0x63, 0xad, 0x16, 0xf4, 0xd0, 0xa5, 0x94, 0x2b, 0x4c, 0x49, + 0xce, 0xe9, 0xa1, 0xbb, 0x2f, 0x1e, 0xee, 0x97, 0xc3, 0xd6, 0x26, 0x78, 0x83, 0x3c, 0xd7, 0x47, + 0x16, 0x0b, 0x11, 0x45, 0xab, 0xd8, 0x09, 0x5e, 0xbb, 0x37, 0x4e, 0x60, 0xb2, 0x1b, 0xa8, 0x36, + 0xfa, 0x42, 0xe8, 0xc0, 0x64, 0x4f, 0xa0, 0xda, 0xe8, 0x33, 0xe1, 0x04, 0x8d, 0x40, 0xb5, 0x89, + 0x0c, 0x57, 0xbb, 0xd5, 0x77, 0xed, 0x71, 0xc6, 0xfe, 0x4e, 0x8a, 0xf9, 0xa0, 0x29, 0xc6, 0xb9, + 0x29, 0xa3, 0xfc, 0x9c, 0x97, 0xc1, 0x02, 0xec, 0x60, 0x84, 0x00, 0x3f, 0x27, 0xf5, 0x2c, 0xe1, + 0xf8, 0xf8, 0xe4, 0xfa, 0xc5, 0xc2, 0xb1, 0xa3, 0x35, 0xac, 0x69, 0x28, 0xea, 0xb8, 0xd3, 0xff, + 0xf1, 0xff, 0x00, 0x8b, 0x15, 0x90, 0x42, 0xe7, 0xa7, 0x00, 0x00 }; void serveIndexJs(AsyncWebServerRequest* request) { diff --git a/ui/package-lock.json b/ui/package-lock.json index c1ed7fe..1548a31 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -8,23 +8,222 @@ "name": "espresense-ui", "version": "0.0.0", "dependencies": { + "svelte-spa-router": "^3.2.0", "svelte-table": "^0.5.0" }, "devDependencies": { "@rollup/plugin-image": "^2.1.1", "@rollup/plugin-node-resolve": "^13.3.0", "@sveltejs/vite-plugin-svelte": "^1.0.1", + "autoprefixer": "^10.4.8", "concurrently": "^7.3.0", + "cssnano": "^5.1.12", "mime": "^3.0.0", "pascal-case": "^3.1.2", + "postcss": "^8.4.14", + "postcss-load-config": "^4.0.1", "rollup": "^2.77.2", "rollup-plugin-css-only": "^3.1.0", "rollup-plugin-generate-html-template": "^1.7.0", + "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-svelte": "^7.1.0", + "rollup-plugin-terser": "^7.0.2", "svelte": "^3.49.0", + "svelte-preprocess": "^4.10.7", + "tailwindcss": "^3.1.7", "vite": "^3.0.0" } }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@rollup/plugin-image": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-image/-/plugin-image-2.1.1.tgz", @@ -156,6 +355,15 @@ } } }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -168,6 +376,53 @@ "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", "dev": true }, + "node_modules/@types/pug": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", + "dev": true + }, + "node_modules/@types/sass": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", + "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -192,6 +447,144 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", @@ -204,6 +597,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001374", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz", + "integrity": "sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -232,6 +662,45 @@ "node": ">=8" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -261,6 +730,36 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, "node_modules/concurrently": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.3.0.tgz", @@ -284,6 +783,168 @@ "node": "^12.20.0 || ^14.13.0 || >=16.0.0" } }, + "node_modules/css-declaration-sorter": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz", + "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.12.tgz", + "integrity": "sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/date-fns": { "version": "2.29.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.1.tgz", @@ -323,12 +984,132 @@ "node": ">=0.10.0" } }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", + "dev": true + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.211", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz", + "integrity": "sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A==", + "dev": true + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, "node_modules/esbuild": { "version": "0.14.51", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", @@ -693,12 +1474,89 @@ "node": ">=6" } }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, "node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -713,6 +1571,12 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -733,6 +1597,15 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dev": true, + "dependencies": { + "loader-utils": "^3.2.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -742,6 +1615,38 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -769,6 +1674,76 @@ "node": ">=8" } }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", + "dev": true + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-builtin-module": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", @@ -793,6 +1768,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -802,12 +1786,65 @@ "node": ">=8" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -826,12 +1863,48 @@ "node": ">=6" } }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -853,6 +1926,40 @@ "node": ">=12" } }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", @@ -865,6 +1972,15 @@ "node": ">=10.0.0" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/mini-svg-data-uri": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", @@ -874,6 +1990,36 @@ "mini-svg-data-uri": "cli.js" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -902,6 +2048,109 @@ "tslib": "^2.0.3" } }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/pascal-case": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", @@ -912,6 +2161,15 @@ "tslib": "^2.0.3" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -936,6 +2194,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss": { "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", @@ -960,6 +2227,671 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", + "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "dev": true, + "dependencies": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/promise.series": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz", + "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regexparam": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-2.0.0.tgz", + "integrity": "sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==", + "engines": { + "node": ">=8" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -992,6 +2924,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/rollup": { "version": "2.77.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", @@ -1034,6 +2997,83 @@ "rollup": ">=1.1.2" } }, + "node_modules/rollup-plugin-postcss": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", + "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "concat-with-sourcemaps": "^1.1.0", + "cssnano": "^5.0.1", + "import-cwd": "^3.0.0", + "p-queue": "^6.6.2", + "pify": "^5.0.0", + "postcss-load-config": "^3.0.0", + "postcss-modules": "^4.0.0", + "promise.series": "^0.2.0", + "resolve": "^1.19.0", + "rollup-pluginutils": "^2.8.2", + "safe-identifier": "^0.4.2", + "style-inject": "^0.3.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "8.x" + } + }, + "node_modules/rollup-plugin-postcss/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup-plugin-postcss/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-postcss/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/rollup-plugin-svelte": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", @@ -1051,6 +3091,21 @@ "svelte": ">=3.5.0" } }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, "node_modules/rollup-pluginutils": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", @@ -1066,6 +3121,29 @@ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/rxjs": { "version": "7.5.6", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", @@ -1075,12 +3153,83 @@ "tslib": "^2.1.0" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-identifier": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", + "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", + "dev": true + }, + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/shell-quote": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", "dev": true }, + "node_modules/sorcery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", + "integrity": "sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==", + "dev": true, + "dependencies": { + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0", + "sourcemap-codec": "^1.3.0" + }, + "bin": { + "sorcery": "bin/index.js" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -1090,6 +3239,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -1102,6 +3261,19 @@ "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", "dev": true }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", + "dev": true + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -1128,6 +3300,40 @@ "node": ">=8" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-inject": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz", + "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", + "dev": true + }, + "node_modules/stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -1176,11 +3382,244 @@ "svelte": ">=3.19.0" } }, + "node_modules/svelte-preprocess": { + "version": "4.10.7", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.7.tgz", + "integrity": "sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.4", + "@types/sass": "^1.16.0", + "detect-indent": "^6.0.0", + "magic-string": "^0.25.7", + "sorcery": "^0.10.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 9.11.2" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0", + "svelte": "^3.23.0", + "typescript": "^3.9.5 || ^4.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/svelte-preprocess/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/svelte-spa-router": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz", + "integrity": "sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==", + "dependencies": { + "regexparam": "2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ItalyPaleAle" + } + }, "node_modules/svelte-table": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/svelte-table/-/svelte-table-0.5.0.tgz", "integrity": "sha512-wh4PzJq4R6iA0YCv0tgyc4oR8xVAC2ZwzkzT+tqZTHscH+Vu8srzP4eeIRklKPggSO2yN4sDABVHriVbM5PDQQ==" }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz", + "integrity": "sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -1205,6 +3644,38 @@ "node": ">= 4.0.0" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/vite": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/vite/-/vite-3.0.4.tgz", @@ -1263,6 +3734,21 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -1272,6 +3758,15 @@ "node": ">=10" } }, + "node_modules/yaml": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.5.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", @@ -1301,6 +3796,159 @@ } }, "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@rollup/plugin-image": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-image/-/plugin-image-2.1.1.tgz", @@ -1396,6 +4044,12 @@ "svelte-hmr": "^0.14.12" } }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -1408,6 +4062,44 @@ "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", "dev": true }, + "@types/pug": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", + "dev": true + }, + "@types/sass": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", + "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1423,12 +4115,127 @@ "color-convert": "^2.0.1" } }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001374", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz", + "integrity": "sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==", + "dev": true + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1450,6 +4257,33 @@ } } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -1476,6 +4310,33 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, "concurrently": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.3.0.tgz", @@ -1493,6 +4354,120 @@ "yargs": "^17.3.1" } }, + "css-declaration-sorter": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz", + "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.12.tgz", + "integrity": "sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "dependencies": { + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } + }, + "cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, "date-fns": { "version": "2.29.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.1.tgz", @@ -1514,12 +4489,102 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "electron-to-chromium": { + "version": "1.4.211", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz", + "integrity": "sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, "esbuild": { "version": "0.14.51", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", @@ -1694,12 +4759,72 @@ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, "estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -1711,6 +4836,12 @@ "universalify": "^0.1.0" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -1724,12 +4855,44 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dev": true, + "requires": { + "loader-utils": "^3.2.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -1751,6 +4914,62 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-builtin-module": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", @@ -1769,18 +4988,67 @@ "has": "^1.0.3" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -1796,12 +5064,42 @@ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "dev": true }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true + }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -1820,18 +5118,76 @@ "sourcemap-codec": "^1.4.8" } }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "mini-svg-data-uri": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", "dev": true }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1854,6 +5210,79 @@ "tslib": "^2.0.3" } }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, "pascal-case": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", @@ -1864,6 +5293,12 @@ "tslib": "^2.0.3" } }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -1882,6 +5317,12 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, "postcss": { "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", @@ -1893,6 +5334,414 @@ "source-map-js": "^1.0.2" } }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + } + }, + "postcss-merge-longhand": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", + "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + } + }, + "postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "dev": true, + "requires": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "promise.series": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz", + "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexparam": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-2.0.0.tgz", + "integrity": "sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==" + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -1916,6 +5765,27 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "rollup": { "version": "2.77.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz", @@ -1943,6 +5813,51 @@ "fs-extra": "^7.0.1" } }, + "rollup-plugin-postcss": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", + "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "concat-with-sourcemaps": "^1.1.0", + "cssnano": "^5.0.1", + "import-cwd": "^3.0.0", + "p-queue": "^6.6.2", + "pify": "^5.0.0", + "postcss-load-config": "^3.0.0", + "postcss-modules": "^4.0.0", + "promise.series": "^0.2.0", + "resolve": "^1.19.0", + "rollup-pluginutils": "^2.8.2", + "safe-identifier": "^0.4.2", + "style-inject": "^0.3.0" + }, + "dependencies": { + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } + }, "rollup-plugin-svelte": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", @@ -1953,6 +5868,18 @@ "rollup-pluginutils": "^2.8.2" } }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, "rollup-pluginutils": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", @@ -1970,6 +5897,15 @@ } } }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "rxjs": { "version": "7.5.6", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", @@ -1979,18 +5915,79 @@ "tslib": "^2.1.0" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-identifier": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", + "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", + "dev": true + }, + "sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "requires": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "shell-quote": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", "dev": true }, + "sorcery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", + "integrity": "sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0", + "sourcemap-codec": "^1.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -2003,6 +6000,18 @@ "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", "dev": true }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", + "dev": true + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -2023,6 +6032,31 @@ "ansi-regex": "^5.0.1" } }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "style-inject": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz", + "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", + "dev": true + }, + "stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -2051,11 +6085,142 @@ "dev": true, "requires": {} }, + "svelte-preprocess": { + "version": "4.10.7", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.7.tgz", + "integrity": "sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==", + "dev": true, + "requires": { + "@types/pug": "^2.0.4", + "@types/sass": "^1.16.0", + "detect-indent": "^6.0.0", + "magic-string": "^0.25.7", + "sorcery": "^0.10.0", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "svelte-spa-router": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz", + "integrity": "sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==", + "requires": { + "regexparam": "2.0.0" + } + }, "svelte-table": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/svelte-table/-/svelte-table-0.5.0.tgz", "integrity": "sha512-wh4PzJq4R6iA0YCv0tgyc4oR8xVAC2ZwzkzT+tqZTHscH+Vu8srzP4eeIRklKPggSO2yN4sDABVHriVbM5PDQQ==" }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "tailwindcss": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz", + "integrity": "sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } + }, + "terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -2074,6 +6239,22 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "vite": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/vite/-/vite-3.0.4.tgz", @@ -2098,12 +6279,30 @@ "strip-ansi": "^6.0.0" } }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, + "yaml": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "dev": true + }, "yargs": { "version": "17.5.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", diff --git a/ui/package.json b/ui/package.json index 6d7f983..2b439d1 100644 --- a/ui/package.json +++ b/ui/package.json @@ -14,17 +14,26 @@ "@rollup/plugin-image": "^2.1.1", "@rollup/plugin-node-resolve": "^13.3.0", "@sveltejs/vite-plugin-svelte": "^1.0.1", + "autoprefixer": "^10.4.8", "concurrently": "^7.3.0", + "cssnano": "^5.1.12", "mime": "^3.0.0", "pascal-case": "^3.1.2", + "postcss": "^8.4.14", + "postcss-load-config": "^4.0.1", "rollup": "^2.77.2", "rollup-plugin-css-only": "^3.1.0", "rollup-plugin-generate-html-template": "^1.7.0", + "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-svelte": "^7.1.0", + "rollup-plugin-terser": "^7.0.2", "svelte": "^3.49.0", + "svelte-preprocess": "^4.10.7", + "tailwindcss": "^3.1.7", "vite": "^3.0.0" }, "dependencies": { + "svelte-spa-router": "^3.2.0", "svelte-table": "^0.5.0" } } diff --git a/ui/postcss.config.cjs b/ui/postcss.config.cjs new file mode 100644 index 0000000..b323a7c --- /dev/null +++ b/ui/postcss.config.cjs @@ -0,0 +1,9 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + cssnano: { + preset: 'default', + } + } +} diff --git a/ui/rollup.config.js b/ui/rollup.config.js index 30ed9c3..37b39cf 100644 --- a/ui/rollup.config.js +++ b/ui/rollup.config.js @@ -1,7 +1,8 @@ import svelte from 'rollup-plugin-svelte'; -import css from 'rollup-plugin-css-only'; import image from '@rollup/plugin-image'; import resolve from '@rollup/plugin-node-resolve'; +import { terser } from "rollup-plugin-terser"; +import postcss from 'rollup-plugin-postcss' import htmlTemplate from 'rollup-plugin-generate-html-template'; import { readFile, writeFile } from 'fs'; import { basename } from 'path'; @@ -41,10 +42,7 @@ function cppGzipped(html, fileName, contentType) { const array = hexdump(result); const src = `/* * Binary array for the Web UI. - * gzip is used for smaller size and improved speeds. - * - * Please see https://kno.wled.ge/advanced/custom-features/#changing-web-ui - * to find out how to easily modify the web UI source! + * Gzip is used for smaller size and improved speeds. */ // Autogenerated do not edit!! @@ -59,7 +57,6 @@ function cppGzipped(html, fileName, contentType) { request->send(response); } `; - resolve(src); })); } @@ -176,15 +173,15 @@ export default { svelte({}), resolve(), image(), - css({ output: 'bundle.css' }), + postcss({ extract: 'bundle.css' }), htmlTemplate({ template: 'src/template.html', target: 'index.html', }), + terser(), cpp({ additionalFiles: ['dist/index.html'], fileName: function(a) { return "../src/ui_" + basename(a).replace(".", "_") + ".h"; } }) ] }; - diff --git a/ui/src/App.svelte b/ui/src/App.svelte index d03cfd0..a1a2b50 100644 --- a/ui/src/App.svelte +++ b/ui/src/App.svelte @@ -1,125 +1,16 @@ -
- -{#if $devices?.devices != null } - -{:else} -

Error while loading devices

-{/if} -
- - +
+
+ +
+ +
+
+
diff --git a/ui/src/app.css b/ui/src/app.css index 1dbfaf0..37315a3 100644 --- a/ui/src/app.css +++ b/ui/src/app.css @@ -1,15 +1,7 @@ -:root { - color-scheme: light dark; - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 24px; + /* Only apply purgecss on utilities, per the Tailwind documentation. */ + /* purgecss start ignore */ + @tailwind base; + @tailwind components; + /* purgecss end ignore */ - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} + @tailwind utilities; diff --git a/ui/src/components/Icon.svelte b/ui/src/components/Icon.svelte new file mode 100644 index 0000000..bc7b001 --- /dev/null +++ b/ui/src/components/Icon.svelte @@ -0,0 +1,31 @@ + + +{#if displayIcon != null} + {@html displayIcon.svg} +{/if} diff --git a/ui/src/components/Sidebar.svelte b/ui/src/components/Sidebar.svelte new file mode 100644 index 0000000..7b75e3c --- /dev/null +++ b/ui/src/components/Sidebar.svelte @@ -0,0 +1,26 @@ + + +
+
+
+
+ + + + + + + + + + ESPresense +
+ +
+
+
diff --git a/ui/src/components/SidebarItem.svelte b/ui/src/components/SidebarItem.svelte new file mode 100644 index 0000000..bdd7915 --- /dev/null +++ b/ui/src/components/SidebarItem.svelte @@ -0,0 +1,29 @@ + + + + + + {title} + + + {#if count > 0} + + + + {:else} + + {/if} + diff --git a/ui/src/components/Stats.svelte b/ui/src/components/Stats.svelte new file mode 100644 index 0000000..c4ac2f2 --- /dev/null +++ b/ui/src/components/Stats.svelte @@ -0,0 +1,22 @@ +
+
+
+
+

2.7K

+

Users

+
+
+

1.8K

+

Subscribes

+
+
+

35

+

Downloads

+
+
+

4

+

Products

+
+
+
+
diff --git a/ui/src/routes.js b/ui/src/routes.js new file mode 100644 index 0000000..87854c0 --- /dev/null +++ b/ui/src/routes.js @@ -0,0 +1,10 @@ +import Home from './routes/Home.svelte'; +import Devices from './routes/Devices.svelte'; +import NotFound from './routes/NotFound.svelte'; + +export default { + '/': Home, + '/fingerprints': Devices, + // The catch-all route must always be last + '*': NotFound +}; diff --git a/ui/src/routes/Devices.svelte b/ui/src/routes/Devices.svelte new file mode 100644 index 0000000..dfcf371 --- /dev/null +++ b/ui/src/routes/Devices.svelte @@ -0,0 +1,137 @@ + + +
+ +{#if $devices?.devices != null } + +{:else} +

Error while loading devices

+{/if} +
+ + diff --git a/ui/src/routes/Home.svelte b/ui/src/routes/Home.svelte new file mode 100644 index 0000000..1930c4b --- /dev/null +++ b/ui/src/routes/Home.svelte @@ -0,0 +1,10 @@ + + + + + + diff --git a/ui/src/routes/NotFound.svelte b/ui/src/routes/NotFound.svelte new file mode 100644 index 0000000..4797fc7 --- /dev/null +++ b/ui/src/routes/NotFound.svelte @@ -0,0 +1,11 @@ +

Not Found

+

This route doesn't exist.

+ + diff --git a/ui/src/stores.js b/ui/src/stores.js index 8c700e3..dadf738 100644 --- a/ui/src/stores.js +++ b/ui/src/stores.js @@ -1,15 +1,21 @@ import { readable } from 'svelte/store'; +import { writable } from 'svelte/store'; export const devices = readable([], function start(set) { var errors = 0; + var outstanding = false; const interval = setInterval(() => { + if (outstanding) return; + outstanding = true; fetch(`/json/devices`) .then(d => d.json()) .then(r => { + outstanding = false; errors = 0; set(r); }) .catch((ex) => { + outstanding = false; if (errors > 5) set(null); console.log(ex); }); @@ -19,3 +25,22 @@ export const devices = readable([], function start(set) { clearInterval(interval); }; }); + +var initialValue = {}; +export const events = readable(initialValue, function start(set) { + const socket = new WebSocket(`ws://${location.hostname}/ws`); + + socket.addEventListener('open', function (event) { + console.log("It's open"); + }); + + socket.addEventListener('message', function (event) { + initialValue = JSON.parse(event.data); + set(initialValue); + }); + + return function stop() { + socket.close(); + }; +}); + diff --git a/ui/svelte.config.js b/ui/svelte.config.js new file mode 100644 index 0000000..f0ac199 --- /dev/null +++ b/ui/svelte.config.js @@ -0,0 +1,12 @@ +/** @type {import('@sveltejs/kit').Config} */ +import preprocess from "svelte-preprocess"; + +const config = { + preprocess: [ + preprocess({ + postcss: true, + }), + ], +} + +export default config; diff --git a/ui/tailwind.config.cjs b/ui/tailwind.config.cjs new file mode 100644 index 0000000..34dd889 --- /dev/null +++ b/ui/tailwind.config.cjs @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./src/**/*.{html,js,svelte,ts}'], + theme: { + extend: {} + }, + plugins: [] + };