From 95f5abeb7f2c0c72cdde4803df0688b0970533e3 Mon Sep 17 00:00:00 2001 From: "WorkBuddy (DeepSeek)" Date: Wed, 4 Nov 2026 06:26:03 +0800 Subject: [PATCH 1/6] feat(desk): Add credentials and strategies pages with retry states --- .../console_desk_loading_retry_validation.mjs | 54 +++ tests/console_desk_mock_validation.mjs | 67 +++- tests/console_desk_pages_validation.mjs | 193 ++++++++++ tests/console_desk_shell_validation.mjs | 3 +- .../frontend/package.json | 2 +- .../frontend/src/app/app.css | 40 +-- .../frontend/src/desk/DeskApp.tsx | 42 ++- .../frontend/src/desk/api/endpoints.ts | 36 +- .../src/desk/api/fixtures/accounts.ts | 105 ++++++ .../src/desk/api/fixtures/credentials.ts | 107 ++++++ .../src/desk/api/fixtures/overview.ts | 6 +- .../src/desk/api/fixtures/switchStrategies.ts | 105 ++++++ .../src/desk/api/fixtures/switchTargets.ts | 121 +++++++ .../frontend/src/desk/api/guards.ts | 102 +++++- .../frontend/src/desk/api/mock.ts | 4 + .../desk/components/CredentialExpiryRow.tsx | 30 ++ .../components/CredentialsReminderStrip.tsx | 44 +++ .../frontend/src/desk/components/DeskTabs.tsx | 71 ++++ .../src/desk/components/FlexRotationCard.tsx | 63 ++++ .../src/desk/components/NeedsYouCard.tsx | 36 ++ .../src/desk/components/StateBlocks.tsx | 114 ++++++ .../src/desk/components/deskStyles.ts | 79 +++++ .../src/desk/components/stateModel.ts | 72 ++++ .../src/desk/components/useDeskLoad.ts | 32 ++ .../frontend/src/desk/components/useNarrow.ts | 16 + .../frontend/src/desk/credentials/model.ts | 116 ++++++ .../frontend/src/desk/i18n/en.ts | 168 ++++++++- .../frontend/src/desk/i18n/zh-CN.ts | 168 ++++++++- .../frontend/src/desk/pages/AccountsPage.tsx | 158 +++++++++ .../frontend/src/desk/pages/AuthPage.tsx | 39 +++ .../src/desk/pages/CredentialsTab.tsx | 105 ++++++ .../frontend/src/desk/pages/OverviewPage.tsx | 46 +++ .../src/desk/pages/StrategiesPage.tsx | 329 ++++++++++++++++++ .../frontend/src/desk/shell/DeskShell.tsx | 12 +- .../frontend/src/desk/shell/TopBar.tsx | 7 +- .../frontend/src/desk/shell/access.ts | 34 +- .../frontend/src/desk/strategies/model.ts | 109 ++++++ .../frontend/src/desk/styles/desk.css | 20 +- 38 files changed, 2781 insertions(+), 74 deletions(-) create mode 100644 tests/console_desk_loading_retry_validation.mjs create mode 100644 tests/console_desk_pages_validation.mjs create mode 100644 web/strategy-switch-console/frontend/src/desk/api/fixtures/accounts.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/api/fixtures/credentials.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/api/fixtures/switchStrategies.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/api/fixtures/switchTargets.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/components/CredentialExpiryRow.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/CredentialsReminderStrip.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/DeskTabs.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/FlexRotationCard.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/NeedsYouCard.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/StateBlocks.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/components/deskStyles.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/components/stateModel.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/components/useDeskLoad.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/components/useNarrow.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/credentials/model.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/pages/AccountsPage.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/pages/AuthPage.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/pages/CredentialsTab.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/pages/OverviewPage.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/pages/StrategiesPage.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/strategies/model.ts diff --git a/tests/console_desk_loading_retry_validation.mjs b/tests/console_desk_loading_retry_validation.mjs new file mode 100644 index 00000000..62922bcd --- /dev/null +++ b/tests/console_desk_loading_retry_validation.mjs @@ -0,0 +1,54 @@ +// LoadingState retry timeout lifecycle: a pending retry is a new read +// generation, so an expired flag from the previous attempt must not hide the +// loading state. Pure helpers plus source wiring; synthetic timestamps only. +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { + isReadExpired, + readGeneration, + readTimedOut, +} from "../web/strategy-switch-console/frontend/src/desk/components/stateModel.ts"; + +const stateBlocks = readFileSync( + new URL("../web/strategy-switch-console/frontend/src/desk/components/StateBlocks.tsx", import.meta.url), + "utf8", +); + +const timeoutMs = 10_000; + +// First attempt times out. +const firstStartedAt = 1_000; +const firstGeneration = readGeneration(firstStartedAt, timeoutMs); +assert.equal(readTimedOut(firstStartedAt, firstStartedAt + timeoutMs, timeoutMs), true); +let expiredGeneration = firstGeneration; +assert.equal(isReadExpired(expiredGeneration, firstGeneration), true); + +// A retry passes a new startedAt and is still pending: it must show loading, +// not the previous read failure. +const retryStartedAt = 25_000; +const retryGeneration = readGeneration(retryStartedAt, timeoutMs); +assert.notEqual(retryGeneration, firstGeneration); +assert.equal(readTimedOut(retryStartedAt, retryStartedAt + 1, timeoutMs), false); +assert.equal( + isReadExpired(expiredGeneration, retryGeneration), + false, + "a pending retry shows loading, not the previous error", +); + +// The retry keeps its own timeout window; the previous marker never matches it. +expiredGeneration = retryGeneration; +assert.equal(isReadExpired(expiredGeneration, retryGeneration), true); +assert.equal(isReadExpired(firstGeneration, retryGeneration), false); +assert.equal(isReadExpired(null, retryGeneration), false); + +// A changed timeout is also a new generation, so a stale expiry cannot leak in. +assert.equal(isReadExpired(firstGeneration, readGeneration(firstStartedAt, timeoutMs * 2)), false); + +// Source wiring: the component keys the expired flag by read generation and no +// longer gates the effect on a mount-only boolean. +assert.match(stateBlocks, /const generation = readGeneration\(startedAt, timeoutMs\)/); +assert.match(stateBlocks, /isReadExpired\(expiredGeneration, generation\)/); +assert.match(stateBlocks, /setExpiredGeneration\(generation\)/); +assert.doesNotMatch(stateBlocks, /setTimedOut/); + +console.log("console_desk_loading_retry_validation: PASS (pending retry clears an expired timeout)"); diff --git a/tests/console_desk_mock_validation.mjs b/tests/console_desk_mock_validation.mjs index d3bb5fba..c6aa141c 100644 --- a/tests/console_desk_mock_validation.mjs +++ b/tests/console_desk_mock_validation.mjs @@ -6,8 +6,14 @@ import { createRequire } from "node:module"; import * as session from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/session.ts"; import * as ribbon from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/ribbon.ts"; import * as overview from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/overview.ts"; +import * as accounts from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/accounts.ts"; +import * as credentials from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/credentials.ts"; +import * as switchTargets from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/switchTargets.ts"; +import * as switchStrategies from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/switchStrategies.ts"; import { days } from "../web/strategy-switch-console/frontend/src/desk/api/fixtures/shared.ts"; -import { isOverview, isRead, isRibbon, isSession } from "../web/strategy-switch-console/frontend/src/desk/api/guards.ts"; +import { + isAccounts, isCredentials, isOverview, isRead, isRibbon, isSession, isSwitchStrategies, isSwitchTargets, +} from "../web/strategy-switch-console/frontend/src/desk/api/guards.ts"; import { MOCK_FAILURE, loadMock, resolveMockScenario } from "../web/strategy-switch-console/frontend/src/desk/api/mock.ts"; import { DESK_SOURCES, DeskContractError, createDeskApi } from "../web/strategy-switch-console/frontend/src/desk/api/endpoints.ts"; import { HttpError } from "../web/strategy-switch-console/frontend/src/api/client.ts"; @@ -33,6 +39,14 @@ const fixtures = { session, ribbon, overview }; for (const [name, module] of Object.entries(fixtures)) { for (const scenario of ["ok", "degraded"]) validate(name, module[scenario], `${name}.${scenario}`); } +const schemaFixtures = [ + ["accounts", accounts], + ["switch-targets", switchTargets], + ["switch-strategies", switchStrategies], +]; +for (const [schemaName, module] of schemaFixtures) { + for (const scenario of ["ok", "degraded", "empty"]) validate(schemaName, module[scenario], `${schemaName}.${scenario}`); +} validate("error", MOCK_FAILURE, "fail scenario body"); // 2. Guards accept every fixture and reject shapes the UI must not render. @@ -40,6 +54,16 @@ for (const scenario of ["ok", "degraded"]) { assert.ok(isSession(session[scenario]), `session.${scenario}`); assert.ok(isRibbon(ribbon[scenario]), `ribbon.${scenario}`); assert.ok(isOverview(overview[scenario]), `overview.${scenario}`); + assert.ok(isAccounts(accounts[scenario]), `accounts.${scenario}`); + assert.ok(isCredentials(credentials[scenario]), `credentials.${scenario}`); + assert.ok(isSwitchTargets(switchTargets[scenario]), `switchTargets.${scenario}`); + assert.ok(isSwitchStrategies(switchStrategies[scenario]), `switchStrategies.${scenario}`); +} +for (const scenario of ["empty"]) { + assert.ok(isAccounts(accounts[scenario]), `accounts.${scenario}`); + assert.ok(isCredentials(credentials[scenario]), `credentials.${scenario}`); + assert.ok(isSwitchTargets(switchTargets[scenario]), `switchTargets.${scenario}`); + assert.ok(isSwitchStrategies(switchStrategies[scenario]), `switchStrategies.${scenario}`); } const clone = value => structuredClone(value); assert.equal(isRead({ status: "unknown", reason: "read_failed", value: "0" }), false, "unknown never carries a value"); @@ -124,9 +148,24 @@ for (const scenario of ["ok", "degraded"]) for (const row of overview[scenario]. assert.match(row.account_ref, /^[A-Z]{1,2}•••000[1-6]$/, "fake masked refs only"); assert.equal(row.account_ref.slice(-4), row.account_suffix); } -const text = JSON.stringify(fixtures, (_k, v) => v) + JSON.stringify([session, ribbon, overview]); +for (const scenario of ["ok", "degraded"]) { + for (const broker of accounts[scenario].brokers) { + for (const target of broker.targets) assert.match(target.account_ref, /^[A-Z]{1,2}•••000[1-6]$/, "fake masked refs only"); + } + for (const target of switchTargets[scenario].targets) assert.match(target.account_ref, /^[A-Z]{1,2}•••000[1-6]$/, "fake masked refs only"); + for (const item of credentials[scenario].items) { + assert.notEqual(item.phase, "14", "the desk reminder enum has no 14"); + assert.ok(["unknown", "not_due", "30", "7", "1", "expired"].includes(item.phase), `credential phase ${item.phase}`); + } +} +const allFixtures = { session, ribbon, overview, accounts, credentials, switchTargets, switchStrategies }; +const text = JSON.stringify(allFixtures); assert.doesNotMatch(text, /@|https?:\/\/(?!example)/, "no emails or real hosts"); -for (const match of text.matchAll(/"(\d{4}-\d{2}-\d{2})T/g)) assert.ok(match[1] >= "2026-09-01" && match[1] <= "2026-11-03", `synthetic time ${match[1]}`); +const coreText = JSON.stringify({ session, ribbon, overview }); +for (const match of coreText.matchAll(/"(\d{4}-\d{2}-\d{2})T/g)) assert.ok(match[1] >= "2026-09-01" && match[1] <= "2026-11-03", `synthetic time ${match[1]}`); +// Expiry fixtures may sit in the future; they are still synthetic. +const extraText = JSON.stringify({ accounts, credentials, switchTargets, switchStrategies }); +for (const match of extraText.matchAll(/"(\d{4}-\d{2}-\d{2})T/g)) assert.ok(match[1] >= "2026-09-01" && match[1] <= "2026-12-31", `synthetic time ${match[1]}`); // 4. Mock switch: ?mock= beats storage; 0/unknown values turn it off. assert.equal(resolveMockScenario("", null), null); @@ -136,8 +175,11 @@ assert.equal(resolveMockScenario("?mock=0", "ok"), null); assert.equal(resolveMockScenario("?page=overview", "fail"), "fail"); assert.equal(resolveMockScenario("?mock=\n \n \n \n \n
\n \n\n"; +export const V2_BUILD_ID = "4a6748e50a731926e3f3e6e95b1f61a54b0f6f00d16d2501ba20e6979eab19c9"; +export const V2_PAGE_HTML = "\n\n \n \n \n \n \n \n 总览 · QuantStrategyLab\n \n \n \n \n \n
\n \n\n"; export const V2_ASSETS = Object.freeze({ - "/v2/assets/AccountsPage-BlEI1a7k.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgeixqIGFzIG4sQiBhcyBiZSxuIGFzIFosQSBhcyBBZSx6IGFzIEplLEQgYXMgWmUseCBhcyB4ZSxaIGFzIHZ0LCQgYXMgX3QsYTAgYXMgd2UscSBhcyBZZSxyIGFzIFIsTCBhcyBSZSxFIGFzIGZlLGExIGFzIFhlLGEyIGFzIGllLGEzIGFzIHl0LEggYXMgaHQsYTQgYXMgZ3QsWCBhcyBuZSxhNSBhcyAkZSxmIGFzIFFlLFMgYXMgbGUsZSBhcyBldCxhNiBhcyBMZSxhNyBhcyBidCxhOCBhcyB4dCxhOSBhcyBrdCxhYSBhcyBqdCxnIGFzIE50LG8gYXMgd3QsYWIgYXMgU3QsYWMgYXMgVHR9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtpbXBvcnR7RSBhcyBPdH1mcm9tIi4vRXhlY3V0aW9uRXZpZGVuY2UtQ1dhcWVEYUEuanMiO2ltcG9ydHt1IGFzIFF9ZnJvbSIuL2hvb2tzLUNNbkExbE9QLmpzIjtpbXBvcnR7UiBhcyBDdCxjIGFzIEF0fWZyb20iLi9jb2NrcGl0LUMtTkNMWm5LLmpzIjtpbXBvcnR7dSBhcyBSdCxDIGFzIER0fWZyb20iLi9EaWFsb2ctRGNkZ3JjV3guanMiO2ltcG9ydHtUIGFzIEV0fWZyb20iLi9UYWJzLUNGb1gxeHpNLmpzIjtpbXBvcnR7ZyBhcyBEZSxzIGFzIEVlLGYgYXMgU2UsZCBhcyBUZSxlIGFzIEl0LGkgYXMgRmUsaiBhcyBCdCxrIGFzIFB0LGwgYXMgTXQsbSBhcyBxZSxEIGFzICR0LHQgYXMgcGUsVCBhcyBMdCxuIGFzIGVlLHEgYXMgRnQsdSBhcyBxdCx2IGFzIFZ0LHcgYXMgS3QseCBhcyBHdH1mcm9tIi4vaGVscGVycy1YSUlHTDBKOS5qcyI7aW1wb3J0Ii4vcnVudGltZV9kYWlseV9jb250cmFjdC14VzQzbVpRWS5qcyI7Y29uc3QgVXQ9L14tPyg/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvO2Z1bmN0aW9uIEllKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyImJlV0LnRlc3QodCl9ZnVuY3Rpb24gdWUodCl7cmV0dXJuIEllKHQpP3Q6bnVsbH1mdW5jdGlvbiB0dCh0LGEpe2lmKCFJZSh0KSlyZXR1cm4i4oCUIjtjb25zdCBzPXQuc3RhcnRzV2l0aCgiLSIpLGU9cz90LnNsaWNlKDEpOnQsW28sYz0iIl09ZS5zcGxpdCgiLiIpLGk9by5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCIsIiksaz1gJHtzPyItIjoiIn0ke2l9LiR7Yz9jLnBhZEVuZCgyLCIwIik6IjAwIn1gO3JldHVybiBhP2Ake2F9ICR7a31gOmt9ZnVuY3Rpb24gVmUodCl7aWYoIXQubGVuZ3RofHwhdC5ldmVyeShJZSkpcmV0dXJuIiI7Y29uc3QgYT1NYXRoLm1heCguLi50Lm1hcChvPT4oby5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RoKSkscz10LnJlZHVjZSgobyxjKT0+e2NvbnN0W2ksaz0iIl09Yy5yZXBsYWNlKC9eLS8sIiIpLnNwbGl0KCIuIikscj1CaWdJbnQoaStrLnBhZEVuZChhLCIwIikpO3JldHVybiBvKyhjLnN0YXJ0c1dpdGgoIi0iKT8tcjpyKX0sMG4pLGU9KHM8MG4/LXM6cykudG9TdHJpbmcoKS5wYWRTdGFydChhKzEsIjAiKTtyZXR1cm5gJHtzPDBuPyItIjoiIn0ke2E/YCR7ZS5zbGljZSgwLC1hKX0uJHtlLnNsaWNlKC1hKX1gLnJlcGxhY2UoL1wuPzArJC8sIiIpOmV9YH1mdW5jdGlvbiBCZSh0LGEscyl7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LmZpbHRlcihvPT5vJiZvLnBsYXRmb3JtPT09YSYmby5hY2NvdW50X2tleT09PXMpO3JldHVybiBlLmxlbmd0aD09PTE/ZVswXTpudWxsfWZ1bmN0aW9uIE9lKHQpe3JldHVybiEhdCYmdC5iaW5kaW5nX3N0YXR1cz09PSJib3VuZCImJnQuaWRlbnRpdHlfbWlzbWF0Y2ghPT0hMCYmKHQuZGF0YV9zdGF0dXM9PT0iZnJlc2gifHx0LmRhdGFfc3RhdHVzPT09InN0YWxlIil9ZnVuY3Rpb24gbnQodCl7cmV0dXJuIGF0KHQpPT09InBhcGVyIn1mdW5jdGlvbiBQZSh0KXtpZighdClyZXR1cm4gbnVsbDtjb25zdCBhPVt0LmJyb2tlcl9lbnZpcm9ubWVudCx0LmFjY291bnRfc2NvcGUsdC5iaW5kaW5nX2Vudmlyb25tZW50XS5maWx0ZXIocz0+cz09PSJwYXBlciJ8fHM9PT0ibGl2ZSIpO3JldHVybiBuZXcgU2V0KGEpLnNpemU9PT0xP2FbMF06bnVsbH1mdW5jdGlvbiBhdCh0KXtpZighdClyZXR1cm4gbnVsbDtjb25zdCBhPVBlKHQpO3JldHVybiBhfHwoWyJsaXZlIiwicGFwZXIiXS5pbmNsdWRlcyh0LmJyb2tlcl9lbnZpcm9ubWVudD8/IiIpfHxbImxpdmUiLCJwYXBlciJdLmluY2x1ZGVzKHQuYWNjb3VudF9zY29wZT8/IiIpfHxbImxpdmUiLCJwYXBlciJdLmluY2x1ZGVzKHQuYmluZGluZ19lbnZpcm9ubWVudD8/IiIpP251bGw6eWUodCk/LmVudmlyb25tZW50Pz9udWxsKX1mdW5jdGlvbiBzdCh0LGEpe2NvbnN0IHM9KEFycmF5LmlzQXJyYXkodC5jYXNoKT90LmNhc2g6W10pLmZpbmQobz0+bz8uY3VycmVuY3k9PT1hKTtpZihzJiZ0eXBlb2Ygcy5jYXNoX2JhbGFuY2U9PSJzdHJpbmciKXJldHVybiB1ZShzLmNhc2hfYmFsYW5jZSk7Y29uc3QgZT0oQXJyYXkuaXNBcnJheSh0LmJhbGFuY2VzKT90LmJhbGFuY2VzOltdKS5maW5kKG89Pm8/LmN1cnJlbmN5PT09YSk7cmV0dXJuIGUmJnR5cGVvZiBlLnRvdGFsX2Nhc2g9PSJzdHJpbmciP3VlKGUudG90YWxfY2FzaCk6bnVsbH1mdW5jdGlvbiB6dCh0KXtpZighdHx8dC5iaW5kaW5nX3N0YXR1cz09PSJtaXNzaW5nIilyZXR1cm57a2luZDoibm90X2Nvbm5lY3RlZCJ9O2lmKHQuYmluZGluZ19zdGF0dXM9PT0iZHVwbGljYXRlInx8dC5pZGVudGl0eV9taXNtYXRjaD09PSEwKXJldHVybntraW5kOiJpZGVudGl0eV91bnZlcmlmaWVkIn07aWYodC5iaW5kaW5nX3N0YXR1cyE9PSJib3VuZCIpcmV0dXJue2tpbmQ6InVua25vd24ifTtpZih0LmRhdGFfc3RhdHVzPT09InVuYXZhaWxhYmxlIilyZXR1cm57a2luZDoibm9fZGF0YSJ9O2lmKHQuZGF0YV9zdGF0dXMhPT0iZnJlc2giJiZ0LmRhdGFfc3RhdHVzIT09InN0YWxlIilyZXR1cm57a2luZDoidW5rbm93biJ9O2NvbnN0IGE9QXJyYXkuaXNBcnJheSh0LmJhbGFuY2VzKT90LmJhbGFuY2VzOltdLHM9QXJyYXkuaXNBcnJheSh0LmNhc2gpP3QuY2FzaDpbXSxlPW5ldyBTZXQ7Zm9yKGNvbnN0IG8gb2YgcylvJiZ0eXBlb2Ygby5jdXJyZW5jeT09InN0cmluZyImJnR5cGVvZiBvLmNhc2hfYmFsYW5jZT09InN0cmluZyImJmUuYWRkKG8uY3VycmVuY3kpO2Zvcihjb25zdCBvIG9mIGEpbyYmdHlwZW9mIG8uY3VycmVuY3k9PSJzdHJpbmciJiZ0eXBlb2Ygby50b3RhbF9jYXNoPT0ic3RyaW5nIiYmZS5hZGQoby5jdXJyZW5jeSk7cmV0dXJue2tpbmQ6InJlYWR5IixzdGFsZTp0LmRhdGFfc3RhdHVzPT09InN0YWxlIixhc09mOnR5cGVvZiB0Lm9ic2VydmVkX2ZpbmlzaGVkX2F0PT0ic3RyaW5nIj90Lm9ic2VydmVkX2ZpbmlzaGVkX2F0Om51bGwsYmFsYW5jZXM6YS5maWx0ZXIobz0+byYmdHlwZW9mIG8uY3VycmVuY3k9PSJzdHJpbmciKS5tYXAobz0+KHtjdXJyZW5jeTpvLmN1cnJlbmN5LG5ldEFzc2V0czp1ZShvLm5ldF9hc3NldHMpfSkpLGNhc2g6Wy4uLlsuLi5lXS5zb3J0KCkubWFwKG89Pih7Y3VycmVuY3k6byxjYXNoQmFsYW5jZTpzdCh0LG8pfSkpLC4uLnQucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSI/cy5maWx0ZXIobz0+dHlwZW9mIG8/LmN1cnJlbmN5PT0ic3RyaW5nIiYmdHlwZW9mIG8uYXZhaWxhYmxlX2Nhc2g9PSJzdHJpbmciKS5tYXAobz0+KHtjdXJyZW5jeTpvLmN1cnJlbmN5LGNhc2hCYWxhbmNlOnVlKG8uYXZhaWxhYmxlX2Nhc2gpLGF2YWlsYWJsZTohMH0pKTpbXV19fWZ1bmN0aW9uIEh0KHQsYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodC5iYWxhbmNlcykmJnQuYmFsYW5jZXMuc29tZShzPT5zPy5jdXJyZW5jeT09PWEpfHxBcnJheS5pc0FycmF5KHQuY2FzaCkmJnQuY2FzaC5zb21lKHM9PnM/LmN1cnJlbmN5PT09YSl9ZnVuY3Rpb24gV3QodCxhKXtpZighdC5sZW5ndGh8fGE8MSlyZXR1cm5bXTtjb25zdCBzPVsuLi5uZXcgU2V0KHQpXSxlPXMuZmlsdGVyKGQ9PmQuYWdncmVnYXRpb25fc3RhdHVzIT09ImR1cGxpY2F0ZSImJiFudChkKSksbz1NYXRoLm1heCgwLGEtKHMubGVuZ3RoLWUubGVuZ3RoKSksYz1lLmZpbHRlcihPZSksaT1jLmZpbHRlcihkPT5kLmFnZ3JlZ2F0aW9uX3N0YXR1cz09PSJpbmNsdWRlZCImJmF0KGQpPT09ImxpdmUiKSxrPWMuc29tZShkPT5kLmFnZ3JlZ2F0aW9uX3N0YXR1cz09PSJjb25mbGljdCIpO2lmKCFpLmxlbmd0aClyZXR1cm5bXTtjb25zdCByPW5ldyBTZXQ7Zm9yKGNvbnN0IGQgb2YgaSl7Zm9yKGNvbnN0IHUgb2YgQXJyYXkuaXNBcnJheShkLmJhbGFuY2VzKT9kLmJhbGFuY2VzOltdKXUmJnR5cGVvZiB1LmN1cnJlbmN5PT0ic3RyaW5nIiYmci5hZGQodS5jdXJyZW5jeSk7Zm9yKGNvbnN0IHUgb2YgQXJyYXkuaXNBcnJheShkLmNhc2gpP2QuY2FzaDpbXSl1JiZ0eXBlb2YgdS5jdXJyZW5jeT09InN0cmluZyImJnR5cGVvZiB1LmNhc2hfYmFsYW5jZT09InN0cmluZyImJnIuYWRkKHUuY3VycmVuY3kpfXJldHVyblsuLi5yXS5zb3J0KCkubWFwKGQ9Pntjb25zdCB1PWkuZmlsdGVyKGc9Pkh0KGcsZCkpLHA9dS5maWx0ZXIoZz0+dHlwZW9mIGcub2JzZXJ2YXRpb25fZGF0ZT09InN0cmluZyImJmcub2JzZXJ2YXRpb25fZGF0ZS5sZW5ndGg+MCksbD1wLmxlbmd0aD9wLm1hcChnPT5nLm9ic2VydmF0aW9uX2RhdGUpLnNvcnQoKS5wb3AoKTpudWxsLHY9bD9wLmZpbHRlcihnPT5nLm9ic2VydmF0aW9uX2RhdGU9PT1sKTpbXSx5PWc9PihBcnJheS5pc0FycmF5KGcuYmFsYW5jZXMpP2cuYmFsYW5jZXM6W10pLmZpbmQoRT0+RT8uY3VycmVuY3k9PT1kKSxiPXYubWFwKGc9PnVlKHkoZyk/Lm5ldF9hc3NldHMpKSxtPXYubGVuZ3RoPjAmJmIuZXZlcnkoZz0+ZyE9PW51bGwpP1ZlKGIpOm51bGwsaD12Lm1hcChnPT5zdChnLGQpKSxUPXYubGVuZ3RoPjAmJmguZXZlcnkoZz0+ZyE9PW51bGwpP1ZlKGgpOm51bGwsXz1tIT09bnVsbHx8VCE9PW51bGw/di5sZW5ndGg6MDtyZXR1cm57Y3VycmVuY3k6ZCxuZXRBc3NldHM6bSxjYXNoQmFsYW5jZTpULGNvdmVyZWQ6XyxleHBlY3RlZDpvLGNvbXBsZXRlOiFrJiZvPjAmJl89PT1vJiZ2Lmxlbmd0aD09PXUubGVuZ3RoJiZtIT09bnVsbCxzdGFsZTp2LnNvbWUoZz0+Zy5kYXRhX3N0YXR1cz09PSJzdGFsZSIpLG9ic2VydmF0aW9uRGF0ZTpsfX0pfWZ1bmN0aW9uIHllKHQpe2NvbnN0IGE9dD8udXNlcl9kZWNsYXJhdGlvbjtpZighYXx8YS5zb3VyY2UhPT0idXNlcl9kZWNsYXJlZCIpcmV0dXJuIG51bGw7Y29uc3Qgcz1hLmVudmlyb25tZW50PT09ImxpdmUifHxhLmVudmlyb25tZW50PT09InBhcGVyIj9hLmVudmlyb25tZW50Om51bGwsZT1hLmFjY291bnRfdHlwZT09PSJjYXNoInx8YS5hY2NvdW50X3R5cGU9PT0ibWFyZ2luIj9hLmFjY291bnRfdHlwZTpudWxsO3JldHVybiBzPT09bnVsbCYmZT09PW51bGw/bnVsbDp7ZW52aXJvbm1lbnQ6cyxhY2NvdW50VHlwZTplfX1mdW5jdGlvbiBKdCh0KXtjb25zdCBhPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgZT15ZShzKT8uZW52aXJvbm1lbnQ7ZSYmYS5hZGQoZSl9cmV0dXJuIGEuc2l6ZT4xP3t2YWx1ZTpudWxsLGNvbmZsaWN0OiEwfTp0LnNvbWUocz0+IXllKHMpPy5lbnZpcm9ubWVudCk/e3ZhbHVlOm51bGwsY29uZmxpY3Q6ITF9Ont2YWx1ZTphLnNpemU9PT0xP1suLi5hXVswXTpudWxsLGNvbmZsaWN0OiExfX1jb25zdCBadD0iR0VUIC9zYXBpL3YxL2Fzc2V0L3dhbGxldC9iYWxhbmNlIixZdD0icHJvdmlkZXJfcmV0dXJuZWRfd2FsbGV0X3Jvd3MiLFh0PSJzcG90K2ZsZXhpYmxlX2Vhcm4iLFF0PS9eKD86MHxbMS05XVxkKikoPzpcLlxkKyk/JC8sZW49L14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KSg/OlwuXGR7MSw5fSk/KFp8WystXVxkezJ9OlxkezJ9KSQvO2Z1bmN0aW9uIGRlKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyImJlF0LnRlc3QodCl9ZnVuY3Rpb24gdG4odCl7cmV0dXJuL1sxLTldLy50ZXN0KHQpfWZ1bmN0aW9uIHJ0KHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIilyZXR1cm4gbnVsbDtjb25zdCBhPWVuLmV4ZWModCk7aWYoIWF8fE51bWJlcihhWzRdKT4yM3x8TnVtYmVyKGFbNV0pPjU5fHxOdW1iZXIoYVs2XSk+NTkpcmV0dXJuIG51bGw7aWYoYVs3XSE9PSJaIil7Y29uc3RbZSxvXT1hWzddLnNsaWNlKDEpLnNwbGl0KCI6Iik7aWYoTnVtYmVyKGUpPjIzfHxOdW1iZXIobyk+NTkpcmV0dXJuIG51bGx9Y29uc3Qgcz1EYXRlLnBhcnNlKHQpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUocyk/czpudWxsfWZ1bmN0aW9uIG5uKHQpe2lmKCF0fHx0eXBlb2YgdCE9Im9iamVjdCJ8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuITE7Y29uc3QgYT10O3JldHVybiB0eXBlb2YgYS5hc3NldD09InN0cmluZyImJmEuYXNzZXQubGVuZ3RoPjAmJmRlKGEucXVhbnRpdHkpJiZkZShhLnNwb3RfZnJlZSkmJmRlKGEuc3BvdF9sb2NrZWQpJiZkZShhLmZsZXhpYmxlX2Vhcm4pfWZ1bmN0aW9uIGFuKHQsYSl7aWYodD09PXZvaWQgMClyZXR1cm57a2luZDoibm9uZSJ9O2lmKCF0fHx0eXBlb2YgdCE9Im9iamVjdCJ8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJue2tpbmQ6Im5vbmUiLGludmFsaWQ6ITB9O2NvbnN0IHM9dDtpZihzLnN0YXR1cz09PSJ1bmF2YWlsYWJsZSIpcmV0dXJue2tpbmQ6Im5vbmUiLHJlYXNvbjp0eXBlb2Ygcy5yZWFzb25fY29kZT09InN0cmluZyI/cy5yZWFzb25fY29kZTp2b2lkIDB9O2lmKHMuc3RhdHVzIT09ImF2YWlsYWJsZSIpcmV0dXJue2tpbmQ6Im5vbmUiLGludmFsaWQ6ITB9O2NvbnN0IGU9cy5hbW91bnQsbz1zLndhbGxldF9jb3VudCxjPXR5cGVvZiBzLm9ic2VydmVkX2F0PT0ic3RyaW5nIj9zLm9ic2VydmVkX2F0Om51bGwsaT1jPT09bnVsbD9udWxsOnJ0KGMpO3JldHVybiBzLnNvdXJjZSE9PVp0fHxzLnNjb3BlIT09WXR8fHMuY3VycmVuY3khPT0iVVNEVCJ8fCFkZShlKXx8dHlwZW9mIG8hPSJudW1iZXIifHwhTnVtYmVyLmlzSW50ZWdlcihvKXx8bzwxfHxvPjMyfHxjPT09bnVsbHx8aT09PW51bGx8fGk+YT97a2luZDoibm9uZSIsaW52YWxpZDohMH06e2tpbmQ6ImF2YWlsYWJsZSIsYW1vdW50OmUsY3VycmVuY3k6IlVTRFQiLG9ic2VydmVkQXQ6Y319ZnVuY3Rpb24gc24odCxhKXtjb25zdCBzPW5ldyBTZXQodC5maWx0ZXIoZT0+ZS5wbGF0Zm9ybT09PWEpLm1hcChlPT5lLmFjY291bnRfYWxpYXMpKTtyZXR1cm4gcy5zaXplPT09MT9bLi4uc11bMF06bnVsbH1mdW5jdGlvbiBybih0LGEscyl7aWYoYSE9PSJiaW5hbmNlIilyZXR1cm57a2luZDoibm9fZGF0YSJ9O2lmKHQucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJue2tpbmQ6ImxvYWRpbmcifTtpZih0LnBoYXNlPT09ImVycm9yIilyZXR1cm57a2luZDoicmVhZF9mYWlsZWQifTtpZih0LnN0YXR1cz09PSJtaXNzaW5nIilyZXR1cm57a2luZDoibm9fZGF0YSJ9O2lmKHQuc3RhdHVzPT09ImV4cGlyZWQiKXJldHVybntraW5kOiJwZW5kaW5nIn07aWYodC5zdGF0dXMhPT0iYXZhaWxhYmxlIilyZXR1cm57a2luZDoidW5hdmFpbGFibGUifTtjb25zdCBlPXQucmVwb3J0O2lmKCFlfHx0eXBlb2YgZSE9Im9iamVjdCIpcmV0dXJue2tpbmQ6InVuYXZhaWxhYmxlIn07aWYoIXMpcmV0dXJue2tpbmQ6InVuYXZhaWxhYmxlIn07aWYoZS5wbGF0Zm9ybSE9PSJiaW5hbmNlIilyZXR1cm57a2luZDoidW5hdmFpbGFibGUifTtpZihlLmFjY291bnRfa2V5IT09cylyZXR1cm57a2luZDoibm9fZGF0YSJ9O2lmKGUuc2NvcGUhPT1YdClyZXR1cm57a2luZDoidW5hdmFpbGFibGUifTtjb25zdCBvPXJ0KGUub2JzZXJ2ZWRfZmluaXNoZWRfYXQpO3JldHVybiBvPT09bnVsbHx8IUFycmF5LmlzQXJyYXkoZS5hc3NldHMpP3traW5kOiJ1bmF2YWlsYWJsZSJ9OmUuYXNzZXRzLmV2ZXJ5KG5uKT97a2luZDoicmVhZHkiLGFzc2V0Q291bnQ6ZS5hc3NldHMuZmlsdGVyKGM9PnRuKGMucXVhbnRpdHkpKS5sZW5ndGgsb2JzZXJ2ZWRBdDplLm9ic2VydmVkX2ZpbmlzaGVkX2F0LHZhbHVhdGlvbjphbihlLndhbGxldF92YWx1YXRpb24sbyl9OntraW5kOiJ1bmF2YWlsYWJsZSJ9fWZ1bmN0aW9uIGN0KHtlbnZpcm9ubWVudDp0fSl7Y29uc3QgYT16KCk7cmV0dXJuIHQ/bi5qc3goYmUse3RvbmU6dD09PSJwYXBlciI/ImFjY2VudCI6Indhcm4iLGNoaWxkcmVuOmEodD09PSJwYXBlciI/ImNvbW1vbi5wYXBlcl9iYWRnZSI6InN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxpdmUiKX0pOm51bGx9ZnVuY3Rpb24gY24odCxhPW51bGwpe2lmKCF0Lmxlbmd0aClyZXR1cm4gYTtjb25zdCBzPXQubWFwKFBlKSxlPW5ldyBTZXQocy5maWx0ZXIobz0+byE9PW51bGwpKTtyZXR1cm4gcy5ldmVyeShvPT5vIT09bnVsbCkmJmUuc2l6ZT09PTE/Wy4uLmVdWzBdOm51bGx9Y29uc3Qgb249bmV3IFNldChbInN0YXRlLnJlYWRfZmFpbGVkIiwic3RhdGUubm90X2Nvbm5lY3RlZCIsInN0YXRlLm5vX2RhdGEiLCJzdGF0ZS51bmtub3duX3N0YXR1cyJdKTtmdW5jdGlvbiBKKHtsYWJlbDp0LHN0YXRlS2V5OmF9KXtjb25zdCBzPXooKSxlPW9uLmhhcyhhKTtyZXR1cm4gbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cyBhY2NvdW50LWZhY3RzLXN0YXRlIiwiZGF0YS1zdGF0ZSI6YSxjaGlsZHJlbjpuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjp0fSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzLXN0YXRlLXZhbHVlIixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IGZsYXQiLGNoaWxkcmVuOiLigJQifSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtc3RhdGUtbGFiZWwiLGNoaWxkcmVuOnMoZT9hOiJmYWN0cy5hbW91bnRfdW5hdmFpbGFibGUiKX0pXX0pXX0pfSl9ZnVuY3Rpb24gaGUoe3ZhbHVlOnQsY3VycmVuY3k6YX0pe2NvbnN0e3ByZWZzOnN9PUplKCk7cmV0dXJuIHQ9PT1udWxsP24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjoi4oCUIn0pOnMuaGlkZUFtb3VudHM/bi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IixjaGlsZHJlbjpaZSh0KX0pOm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjp0dCh0LGE/P251bGwpfSl9ZnVuY3Rpb24gb3Qoe2ZhY3Q6dCxwaGFzZTphLGNvbmZsaWN0OnM9ITEsYW1iaWd1b3VzOmU9ITF9KXtjb25zdCBvPXooKTtpZihhPT09ImxvYWRpbmciKXJldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIixjaGlsZHJlbjpuLmpzeChaLHtoZWlnaHQ6MTR9KX0pO2lmKGE9PT0iZXJyb3IiKXJldHVybiBuLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToic3RhdGUucmVhZF9mYWlsZWQifSk7aWYocylyZXR1cm4gbi5qc3goSix7bGFiZWw6bygiZmFjdHMuYXNzZXRzIiksc3RhdGVLZXk6ImZhY3RzLm9ic2VydmF0aW9uX2NvbmZsaWN0In0pO2lmKGUpcmV0dXJuIG4uanN4KEose2xhYmVsOm8oImZhY3RzLmFzc2V0cyIpLHN0YXRlS2V5OiJmYWN0cy5pZGVudGl0eV91bnZlcmlmaWVkIn0pO2NvbnN0IGM9enQodCk7cmV0dXJuIGMua2luZD09PSJub3RfY29ubmVjdGVkIj9uLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToic3RhdGUubm90X2Nvbm5lY3RlZCJ9KTpjLmtpbmQ9PT0iaWRlbnRpdHlfdW52ZXJpZmllZCI/bi5qc3goSix7bGFiZWw6bygiZmFjdHMuYXNzZXRzIiksc3RhdGVLZXk6ImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQifSk6Yy5raW5kPT09InVua25vd24iP24uanN4KEose2xhYmVsOm8oImZhY3RzLmFzc2V0cyIpLHN0YXRlS2V5OiJzdGF0ZS51bmtub3duX3N0YXR1cyJ9KTpjLmtpbmQ9PT0ibm9fZGF0YSI/bi5qc3goSix7bGFiZWw6bygiZmFjdHMuYXNzZXRzIiksc3RhdGVLZXk6InN0YXRlLm5vX2RhdGEifSk6IWMuYmFsYW5jZXMubGVuZ3RoJiYhYy5jYXNoLmxlbmd0aD9uLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToic3RhdGUubm9fZGF0YSJ9KTpuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cyIsY2hpbGRyZW46W2MuYmFsYW5jZXMubWFwKGk9Pm4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3cgYWNjb3VudC1mYWN0cy1hc3NldHMiLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbbygiZmFjdHMuYXNzZXRzIiksIiDCtyAiLGkuY3VycmVuY3ldfSksbi5qc3goaGUse3ZhbHVlOmkubmV0QXNzZXRzLGN1cnJlbmN5OmkuY3VycmVuY3l9KV19LGBhc3NldHMtJHtpLmN1cnJlbmN5fWApKSxjLmNhc2gubWFwKGk9Pm4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3cgYWNjb3VudC1mYWN0cy1jYXNoIixjaGlsZHJlbjpbbi5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W28oaS5hdmFpbGFibGU/ImZhY3RzLmF2YWlsYWJsZV9jYXNoIjoiZmFjdHMuY2FzaCIpLCIgwrcgIixpLmN1cnJlbmN5XX0pLG4uanN4KGhlLHt2YWx1ZTppLmNhc2hCYWxhbmNlLGN1cnJlbmN5OmkuY3VycmVuY3l9KV19LGBjYXNoLSR7aS5hdmFpbGFibGU/ImF2YWlsYWJsZS0iOiIifSR7aS5jdXJyZW5jeX1gKSksKGMuYXNPZnx8Yy5zdGFsZSkmJm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImtwaS1mb290IGFjY291bnQtZmFjdHMtZnJlc2huZXNzIixjaGlsZHJlbjpjLmFzT2Y/bi5qc3goQWUse3ZhbHVlOmMuYXNPZixwcmVmaXg6Yy5zdGFsZT8iZmFjdHMuYXNfb2Zfc3RhbGUiOiJjb21tb24uYXNfb2YifSk6bi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOm8oImZhY3RzLnN0YWxlX3BlbmRpbmciKX0pfSldfSl9ZnVuY3Rpb24gbG4oe3Jvd3M6dCxleHBlY3RlZDphLHBoYXNlOnN9KXtjb25zdCBlPXooKTtpZihzPT09ImxvYWRpbmciKXJldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIixjaGlsZHJlbjpuLmpzeChaLHtoZWlnaHQ6MTR9KX0pO2lmKHM9PT0iZXJyb3IiKXJldHVybiBuLmpzeChKLHtsYWJlbDplKCJmYWN0cy5wbGF0Zm9ybV90b3RhbF9saXZlIiksc3RhdGVLZXk6InN0YXRlLnJlYWRfZmFpbGVkIn0pO2NvbnN0IG89V3QodCxhKTtpZighby5sZW5ndGgpe2NvbnN0IGM9dC5maWx0ZXIoZD0+IW50KGQpKSxpPWMuc29tZShkPT5PZShkKSYmZC5hZ2dyZWdhdGlvbl9zdGF0dXM9PT0iaW5jbHVkZWQiKSxrPWMuc29tZShPZSkscj10Lmxlbmd0aD9pPyJzdGF0ZS5ub19kYXRhIjprPyJmYWN0cy5wbGF0Zm9ybV9pZGVudGl0eV91bnZlcmlmaWVkIjoic3RhdGUubm9fZGF0YSI6InN0YXRlLm5vdF9jb25uZWN0ZWQiO3JldHVybiBuLmpzeChKLHtsYWJlbDplKCJmYWN0cy5wbGF0Zm9ybV90b3RhbF9saXZlIiksc3RhdGVLZXk6cn0pfXJldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIGFjY291bnQtZmFjdHMtcGxhdGZvcm0iLGNoaWxkcmVuOm8ubWFwKGM9Pm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzLWN1cnJlbmN5IixjaGlsZHJlbjpbbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWFzc2V0cyIsY2hpbGRyZW46W24uanN4cygic3BhbiIse3RpdGxlOmUoImZhY3RzLnBsYXRmb3JtX3Njb3BlX25vdGUiKSxjaGlsZHJlbjpbZShjLmNvbXBsZXRlPyJmYWN0cy5wbGF0Zm9ybV90b3RhbF9saXZlIjoiZmFjdHMucGxhdGZvcm1fc3VidG90YWxfbGl2ZSIpLCIgwrcgIixjLmN1cnJlbmN5XX0pLG4uanN4KGhlLHt2YWx1ZTpjLm5ldEFzc2V0cyxjdXJyZW5jeTpjLmN1cnJlbmN5fSldfSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWNhc2giLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbZSgiZmFjdHMuY2FzaCIpLCIgwrcgIixjLmN1cnJlbmN5XX0pLG4uanN4KGhlLHt2YWx1ZTpjLmNhc2hCYWxhbmNlLGN1cnJlbmN5OmMuY3VycmVuY3l9KV19KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToia3BpLWZvb3QgYWNjb3VudC1mYWN0cy1mcmVzaG5lc3MiLGNoaWxkcmVuOltjLmNvdmVyZWQ8Yy5leHBlY3RlZCYmbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmUoImZhY3RzLmNvdmVyYWdlIix7Y292ZXJlZDpjLmNvdmVyZWQsZXhwZWN0ZWQ6Yy5leHBlY3RlZH0pfSksYy5vYnNlcnZhdGlvbkRhdGU/bi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmUoYy5zdGFsZT8iZmFjdHMuYXNfb2Zfc3RhbGUiOiJjb21tb24uYXNfb2YiLHt2YWx1ZTpjLm9ic2VydmF0aW9uRGF0ZX0pfSk6Yy5zdGFsZSYmbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmUoImZhY3RzLnN0YWxlX3BlbmRpbmciKX0pXX0pXX0sYy5jdXJyZW5jeSkpfSl9Y29uc3QgZG49e3JlYWRfZmFpbGVkOiJmYWN0cy53YWxsZXRfcmVhZF9mYWlsZWQiLG5vX2RhdGE6ImZhY3RzLndhbGxldF9ub19kYXRhIixwZW5kaW5nOiJmYWN0cy53YWxsZXRfcGVuZGluZyIsdW5hdmFpbGFibGU6ImZhY3RzLndhbGxldF91bmF2YWlsYWJsZSJ9O2Z1bmN0aW9uIHVuKHthbW91bnQ6dH0pe2NvbnN0e3ByZWZzOmF9PUplKCk7cmV0dXJuIGEuaGlkZUFtb3VudHM/bi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IixjaGlsZHJlbjpaZSh0KX0pOm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjp0dCh0LG51bGwpfSl9ZnVuY3Rpb24gaXQoe3BsYXRmb3JtOnQsYWNjb3VudEtleTphLHZpZXc6c30pe2NvbnN0IGU9eigpO2lmKHQhPT0iYmluYW5jZSJ8fCFzKXJldHVybiBudWxsO2NvbnN0IG89cm4ocyx0LGEpO2lmKG8ua2luZD09PSJsb2FkaW5nIilyZXR1cm4gbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cyBhY2NvdW50LWZhY3RzLWJpbmFuY2UiLCJkYXRhLXN0YXRlIjoibG9hZGluZyIsImRhdGEtc2NvcGUiOiJzcG90K2ZsZXhpYmxlX2Vhcm4iLGNoaWxkcmVuOm4uanN4KFose2hlaWdodDoxNH0pfSk7aWYoby5raW5kIT09InJlYWR5IilyZXR1cm4gbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cyBhY2NvdW50LWZhY3RzLWJpbmFuY2UiLCJkYXRhLXN0YXRlIjpvLmtpbmQsImRhdGEtc2NvcGUiOiJzcG90K2ZsZXhpYmxlX2Vhcm4iLGNoaWxkcmVuOm4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3cgYWNjb3VudC1mYWN0cy1hc3NldHMiLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHt0aXRsZTplKCJmYWN0cy53YWxsZXRfc2NvcGVfbm90ZSIpLGNoaWxkcmVuOltlKCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIiksIiDCtyBVU0RUIl19KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMtc3RhdGUtdmFsdWUiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibW9uZXkgZmxhdCIsY2hpbGRyZW46IuKAlCJ9KSxuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1zdGF0ZS1sYWJlbCIsY2hpbGRyZW46ZShkbltvLmtpbmRdKX0pXX0pXX0pfSk7Y29uc3R7dmFsdWF0aW9uOmN9PW8saT1jLmtpbmQ9PT0iYXZhaWxhYmxlIjtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMgYWNjb3VudC1mYWN0cy1iaW5hbmNlIiwiZGF0YS1zdGF0ZSI6aT8iYXZhaWxhYmxlIjoidmFsdWF0aW9uX3VuYXZhaWxhYmxlIiwiZGF0YS1zY29wZSI6InNwb3QrZmxleGlibGVfZWFybiIsImRhdGEtd2FsbGV0LXNjb3BlIjoicHJvdmlkZXJfcmV0dXJuZWRfd2FsbGV0X3Jvd3MiLCJkYXRhLXJlYXNvbiI6aT92b2lkIDA6Yy5pbnZhbGlkPyJpbnZhbGlkX3ZhbHVhdGlvbiI6Yy5yZWFzb24sY2hpbGRyZW46WyFpJiZuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3cgYWNjb3VudC1mYWN0cy1iaW5hbmNlLWhvbGRpbmdzIix0aXRsZTplKCJmYWN0cy53YWxsZXRfaG9sZGluZ3Nfc2NvcGVfbm90ZSIpLGNoaWxkcmVuOm4uanN4KCJzcGFuIix7Y2hpbGRyZW46ZSgiZmFjdHMud2FsbGV0X2hvbGRpbmdzIix7Y291bnQ6by5hc3NldENvdW50fSl9KX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3cgYWNjb3VudC1mYWN0cy1hc3NldHMiLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHt0aXRsZTplKCJmYWN0cy53YWxsZXRfc2NvcGVfbm90ZSIpLGNoaWxkcmVuOltlKCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIiksIiDCtyBVU0RUIl19KSxpP24uanN4KHVuLHthbW91bnQ6Yy5hbW91bnR9KTpuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMtc3RhdGUtdmFsdWUiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibW9uZXkgZmxhdCIsY2hpbGRyZW46IuKAlCJ9KSxuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1zdGF0ZS1sYWJlbCIsY2hpbGRyZW46ZSgiZmFjdHMud2FsbGV0X3VuYXZhaWxhYmxlIil9KV19KV19KSxuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJrcGktZm9vdCBhY2NvdW50LWZhY3RzLWZyZXNobmVzcyIsY2hpbGRyZW46bi5qc3goQWUse3ZhbHVlOmk/Yy5vYnNlcnZlZEF0Om8ub2JzZXJ2ZWRBdH0pfSldfSl9Y29uc3QgZm49WyJsaXZlIiwicGFwZXIiLCJ1bmtub3duIl07ZnVuY3Rpb24gcG4odCl7cmV0dXJuIHQ/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciJ8fHQ/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJsaXZlIj90LmJyb2tlcl9lbnZpcm9ubWVudDpudWxsfWZ1bmN0aW9uIG1uKHQsYSl7Y29uc3Qgcz1uZXcgU2V0LGU9bmV3IFNldDtmb3IoY29uc3QgbyBvZiB0KWZvcihjb25zdCBjIG9mIG8ucm93cyl7Y29uc3QgaT1CZShhLGMucGxhdGZvcm0sYy5hY2NvdW50X2FsaWFzKTtpP3MuYWRkKGkpOmUuYWRkKHdlKGMpKX1yZXR1cm57cm93czpbLi4uc10sZXhwZWN0ZWQ6cy5zaXplK2Uuc2l6ZX19ZnVuY3Rpb24gdm4odCl7cmV0dXJuIHQ/PyJ1bmtub3duIn1mdW5jdGlvbiBfbih7YWNjb3VudHM6dCxjb25maWc6YSxmYWN0czpzLG9uU2VsZWN0OmV9KXtjb25zdCBvPXhlKGEpLGM9eigpO3JldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWN0aW9uLXN0YWNrIGFjY291bnQtZ3JvdXBzIixjaGlsZHJlbjp2dCh0LGEpLm1hcChpPT57Y29uc3Qgaz1zP21uKGkuYWNjb3VudHMscy5yb3dzKTpudWxsLHI9aS5hY2NvdW50cy5tYXAodT0+e2NvbnN0IHA9Wy4uLm5ldyBTZXQodS5yb3dzLm1hcChTPT5CZShzPy5yb3dzPz9bXSxTLnBsYXRmb3JtLFMuYWNjb3VudF9hbGlhcykpLmZpbHRlcihTPT4hIVMpKV0sbD1wLmZpbHRlcihTPT5TLmFnZ3JlZ2F0aW9uX3N0YXR1cyE9PSJkdXBsaWNhdGUiKSx2PWwubGVuZ3RoPT09MT9sWzBdOmwubGVuZ3RoPT09MCYmcC5sZW5ndGg9PT0xP3BbMF06bnVsbCx5PW5ldyBTZXQodS5yb3dzLm1hcChTPT5wbihhPy5jdXJyZW50U3RyYXRlZ2llcz8uW1MucGxhdGZvcm1dPy5bUy5hY2NvdW50X2FsaWFzXT8uZXhlY3V0aW9uX2V2aWRlbmNlKSkuZmlsdGVyKFM9PlMhPT1udWxsKSksYj1wLnNvbWUoUz0+Uy5icm9rZXJfZW52aXJvbm1lbnQ9PT0icGFwZXIifHxTLmJyb2tlcl9lbnZpcm9ubWVudD09PSJsaXZlInx8Uy5hY2NvdW50X3Njb3BlPT09InBhcGVyInx8Uy5hY2NvdW50X3Njb3BlPT09ImxpdmUifHxTLmJpbmRpbmdfZW52aXJvbm1lbnQ9PT0icGFwZXIifHxTLmJpbmRpbmdfZW52aXJvbm1lbnQ9PT0ibGl2ZSIpLG09Y24ocCksaD15LnNpemU9PT0xP1suLi55XVswXTpudWxsLFQ9bSYmaCYmbSE9PWg/bnVsbDptPz8oIWImJnkuc2l6ZT09PTE/aDpudWxsKSxfPWJ8fHkuc2l6ZT4wLGc9SnQocCksRT1UPz8oXz9udWxsOmcudmFsdWUpLEk9ISEoVCYmZy52YWx1ZSYmVCE9PWcudmFsdWV8fGcuY29uZmxpY3QmJiFfKSxQPWkucGxhdGZvcm09PT0iYmluYW5jZSI/c24odS5yb3dzLGkucGxhdGZvcm0pOm51bGw7cmV0dXJue2FjY291bnQ6dSxjYW5vbmljYWw6bCxyZXByZXNlbnRhdGl2ZTp2LGVudmlyb25tZW50OkUsZGVjbGFyYXRpb25Db25mbGljdDpJLGJpbmFuY2VLZXk6UH19KSxkPWZuLm1hcCh1PT4oe2Vudmlyb25tZW50OnUsY2FyZHM6ci5maWx0ZXIocD0+dm4ocC5lbnZpcm9ubWVudCk9PT11KX0pKS5maWx0ZXIodT0+dS5jYXJkcy5sZW5ndGg+MCk7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiYWNjb3VudC1wbGF0Zm9ybS1ncm91cCIsY2hpbGRyZW46W24uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtcGxhdGZvcm0taGVhZCIsY2hpbGRyZW46bi5qc3goImgyIix7Y2xhc3NOYW1lOiJhY2NvdW50LXBsYXRmb3JtLXRpdGxlIixjaGlsZHJlbjpvLnBsYXRmb3JtKGkucGxhdGZvcm0pfSl9KSxkLm1hcCh1PT5uLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImFjY291bnQtZW52aXJvbm1lbnQtc2VjdGlvbiIsImRhdGEtZW52aXJvbm1lbnQiOnUuZW52aXJvbm1lbnQsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWVudmlyb25tZW50LWhlYWQiLGNoaWxkcmVuOltuLmpzeCgiaDMiLHtjbGFzc05hbWU6ImFjY291bnQtZW52aXJvbm1lbnQtdGl0bGUiLGNoaWxkcmVuOmMoYGFjY291bnRzLmVudmlyb25tZW50LiR7dS5lbnZpcm9ubWVudH1gKX0pLG4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOmMoImFjY291bnRzLmVudmlyb25tZW50X2NvdW50Iix7Y291bnQ6dS5jYXJkcy5sZW5ndGh9KX0pLHUuZW52aXJvbm1lbnQ9PT0ibGl2ZSImJnMmJmsmJmkucGxhdGZvcm0hPT0iYmluYW5jZSI/bi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1wbGF0Zm9ybS1zdW1tYXJ5IixjaGlsZHJlbjpuLmpzeChsbix7cm93czprLnJvd3MsZXhwZWN0ZWQ6ay5leHBlY3RlZCxwaGFzZTpzLnBoYXNlfSl9KTpudWxsXX0pLHUuZW52aXJvbm1lbnQhPT0ibGl2ZSImJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUgYWNjb3VudC1lbnZpcm9ubWVudC1ub3RlIixjaGlsZHJlbjpjKGBhY2NvdW50cy5lbnZpcm9ubWVudC4ke3UuZW52aXJvbm1lbnR9X25vdGVgKX0pLG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZ3JpZCIsY2hpbGRyZW46dS5jYXJkcy5tYXAoKHthY2NvdW50OnAsY2Fub25pY2FsOmwscmVwcmVzZW50YXRpdmU6dixlbnZpcm9ubWVudDp5LGRlY2xhcmF0aW9uQ29uZmxpY3Q6YixiaW5hbmNlS2V5Om19KT0+bi5qc3hzKCJhcnRpY2xlIix7Y2xhc3NOYW1lOiJjYXJkIGFjY291bnQtZ3JvdXAtY2FyZCIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWNhcmQtaGVhZCIsY2hpbGRyZW46W24uanN4KCJoMyIse2NsYXNzTmFtZToiYWNjb3VudC1icm9rZXItdGl0bGUiLGNoaWxkcmVuOm8uYWNjb3VudChwLnJvd3NbMF0uYWNjb3VudF9hbGlhcyxpLnBsYXRmb3JtKX0pLG4uanN4KGN0LHtlbnZpcm9ubWVudDp5fSldfSksYiYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46YygiYWNjb3VudHMuZGVjbGFyYXRpb24uY29uZmxpY3Rfbm90aWNlIil9KSxzJiZuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWNhcmQtZmFjdHMiLGNoaWxkcmVuOmkucGxhdGZvcm09PT0iYmluYW5jZSI/bi5qc3goaXQse3BsYXRmb3JtOmkucGxhdGZvcm0sYWNjb3VudEtleTptLHZpZXc6cy5iaW5hbmNlfSk6bi5qc3gob3Qse2ZhY3Q6dixwaGFzZTpzLnBoYXNlLGFtYmlndW91czpsLmxlbmd0aD4xfSl9KSxwLnJvd3MubWFwKGg9Pntjb25zdCBUPW8uY3VycmVudFN0cmF0ZWd5KGgpLF89YT8uY3VycmVudFN0cmF0ZWdpZXM/LltoLnBsYXRmb3JtXT8uW2guYWNjb3VudF9hbGlhc10/LmV4ZWN1dGlvbl9ldmlkZW5jZSxnPWE/LmN1cnJlbnRTdHJhdGVnaWVzPy5baC5wbGF0Zm9ybV0/LltoLmFjY291bnRfYWxpYXNdPy5ydW50aW1lX3RhcmdldF9lbmFibGVkO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1zdHJhdGVneS1ibG9jayIsY2hpbGRyZW46W24uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnQtc3RyYXRlZ3ktbGluayIsImFyaWEtbGFiZWwiOmMoImFjY291bnRzLm9wZW5fc3RyYXRlZ3kiLHthY2NvdW50Om8uYWNjb3VudChoLmFjY291bnRfYWxpYXMsaC5wbGF0Zm9ybSksc3RyYXRlZ3k6VD9vLnN0cmF0ZWd5KFQpOmMoImNvbW1vbi51bmtub3duIil9KSxvbkNsaWNrOigpPT5lKHdlKGgpKSxjaGlsZHJlbjpbbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0cmF0ZWd5LWhlYWQiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1zdHJhdGVneS1uYW1lIixjaGlsZHJlbjpUP28uc3RyYXRlZ3koVCk6YygiY29tbW9uLnVua25vd24iKX0pLG4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0cmF0ZWd5LWNoZXZyb24iLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiLigLoifSldfSksdHlwZW9mIGc9PSJib29sZWFuIiYmbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7dGl0bGU6YygiYWNjb3VudHMuZXhlY3V0aW9uLnJ1bnRpbWVfdGFyZ2V0X25vdGUiKSxjaGlsZHJlbjpjKCJhY2NvdW50cy5hY3RpdmF0aW9uX3NldHRpbmciKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46YyhnPyJvdmVydmlldy5ydW50aW1lX2VuYWJsZWQiOiJvdmVydmlldy5ydW50aW1lX2Rpc2FibGVkIil9KV19KSxoLnBlbmRpbmdfZHJhZnRfY291bnQ+MCYmbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46YygiYWNjb3VudHMuY29sLmRyYWZ0cyIpfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpoLnBlbmRpbmdfZHJhZnRfY291bnR9KV19KSxoLnBlbmRpbmdfZGVjaXNpb25fY291bnQhPT1udWxsJiZoLnBlbmRpbmdfZGVjaXNpb25fY291bnQ+MCYmbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46YygiYWNjb3VudHMuY29sLnRvZG9zIil9KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOmgucGVuZGluZ19kZWNpc2lvbl9jb3VudH0pXX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOmMoImFjY291bnRzLmNvbC5sYXN0X2NoYW5nZSIpfSksbi5qc3goX3Qse3ZhbHVlOmgubGFzdF9jaGFuZ2VfYXR9KV19KV19KSxuLmpzeChPdCx7ZXZpZGVuY2U6Xyxjb21wYWN0OiEwfSldfSx3ZShoKSl9KV19LHAuaWRlbnRpdHkpKX0pXX0sdS5lbnZpcm9ubWVudCkpXX0saS5wbGF0Zm9ybSl9KX0pfWNvbnN0IGtlPVsiZGNhX21vZGUiLCJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCJdO2Z1bmN0aW9uIG1lKHQsYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGEpfWZ1bmN0aW9uIGx0KHtyb3dzOnQsdDphfSl7Y29uc3Qgcz1ZZSgpO3JldHVybiBuLmpzeChuLkZyYWdtZW50LHtjaGlsZHJlbjpEZSh0KS5tYXAoZT0+bi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1kaWZmLXNlY3Rpb24iLGNoaWxkcmVuOltuLmpzeCgiaDMiLHtjaGlsZHJlbjpFZShhLGUuc2VjdGlvbil9KSxuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1yb3dzIixjaGlsZHJlbjplLnJvd3MubWFwKG89Pm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtbGFiZWwiLGNoaWxkcmVuOlNlKGEsbyl9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtYm9keSIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC12YWx1ZSIsY2hpbGRyZW46VGUoYSxvLmZpZWxkLG8uY3VycmVudCxvLmN1cnJlbnRfc3RhdHVzPT09InVua25vd24iLHMpfSksby5vdmVycmlkZGVuJiZuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY3VycmVudCIsY2hpbGRyZW46YSgiYWNjb3VudHMuZHJhZnRfdmFsdWUiLHt2YWx1ZTpUZShhLG8uZmllbGQsby5kcmFmdCwhMSxzKX0pfSldfSldfSxvLmZpZWxkKSl9KV19LGUuc2VjdGlvbikpfSl9ZnVuY3Rpb24geW4oe3Jvd3M6dCx0OmF9KXtyZXR1cm4gbi5qc3gobi5GcmFnbWVudCx7Y2hpbGRyZW46RGUodCkubWFwKHM9Pm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1kaWZmLXNlY3Rpb24iLGNoaWxkcmVuOltuLmpzeCgiaDMiLHtjaGlsZHJlbjpFZShhLHMuc2VjdGlvbil9KSxuLmpzeCgkdCx7cm93czpzLnJvd3N9KV19LHMuc2VjdGlvbikpfSl9ZnVuY3Rpb24gaG4oe2FjY291bnQ6dCxkaWZmU3RhdGU6YSxjb25maWc6cyxlZGl0aW5nOmUsc2V0RWRpdGluZzpvLGVkaXRzOmMsc2V0RWRpdHM6aSxjb25maXJtOmt9KXtjb25zdCByPVllKCksZD14ZShzKSx1PVIudXNlSWQoKSxwPWY9PmAke3V9LSR7Zn1gLGw9eigpLHY9UmUoKSxbeSxiXT1SLnVzZVN0YXRlKCExKSxbbSxoXT1SLnVzZVN0YXRlKCExKSxbVCxfXT1SLnVzZVN0YXRlKG51bGwpLFtnLEVdPVIudXNlU3RhdGUoe30pO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KFose2hlaWdodDoyMjB9KTtpZihhLnBoYXNlPT09ImVycm9yIilyZXR1cm4gbi5qc3goZmUse29uUmV0cnk6YS5yZWxvYWR9KTtjb25zdCBJPWEuZGF0YSxQPUkucm93cyxTPVAuc29tZShmPT5mLmZpZWxkPT09Im9wdGlvbl9vdmVybGF5X2VuYWJsZWQiJiZmLm92ZXJyaWRkZW4pLCQ9SS5pZGVudGl0eV9zdGF0dXM9PT0iaWRlbnRpdHlfY29uZmxpY3QiLEM9SXQocyxyKSxNPU9iamVjdC5rZXlzKGMpLmxlbmd0aD4wLHE9KGYsTik9PntFKEE9Pih7Li4uQSxbZl06dm9pZCAwfSkpLGkoQT0+e2NvbnN0IHc9ey4uLkEsW2ZdOk59O2lmKGtlLmluY2x1ZGVzKGYpKXtjb25zdCBCPWY9PT0iZGNhX21vZGUiPyJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCI6ImRjYV9tb2RlIjtpZighbWUodyxCKSl7Y29uc3QgSz1QLmZpbmQoRz0+Ry5maWVsZD09PUIpO0smJih3W0JdPUsub3ZlcnJpZGRlbj9LLmRyYWZ0OksuY3VycmVudCl9fXJldHVybiB3fSl9LEw9Zj0+e0UoTj0+KHsuLi5OLFtmXTp2b2lkIDB9KSksaShOPT57Y29uc3QgQT17Li4uTn07cmV0dXJuIGRlbGV0ZSBBW2ZdLGtlLmluY2x1ZGVzKGYpJiZkZWxldGUgQVtmPT09ImRjYV9tb2RlIj8iZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiOiJkY2FfbW9kZSJdLEF9KX0sVj1mPT57aWYoa2UuaW5jbHVkZXMoZikpe0UoTj0+KHsuLi5OLGRjYV9tb2RlOnZvaWQgMCxkY2FfYmFzZV9pbnZlc3RtZW50X3VzZDp2b2lkIDB9KSksaShOPT4oey4uLk4sZGNhX21vZGU6bnVsbCxkY2FfYmFzZV9pbnZlc3RtZW50X3VzZDpudWxsfSkpO3JldHVybn1xKGYsbnVsbCl9LHg9KCk9Pntjb25zdCBmPXt9O2Zvcihjb25zdCBCIG9mIE9iamVjdC5rZXlzKGMpKXtjb25zdCBLPWNbQl07aWYoSz09bnVsbCljb250aW51ZTtjb25zdCBHPVN0cmluZyhLKTtCPT09InN0cmF0ZWd5X3Byb2ZpbGUiJiYhRy50cmltKCkmJihmW0JdPWwoImFjY291bnRzLmZvcm0uc2VsZWN0X3Byb2ZpbGUiKSksQj09PSJyZXNlcnZlZF9jYXNoX2Zsb29yIiYmIUJ0KEcpJiYoZltCXT1sKCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGVjaW1hbCIpKSxCPT09InJlc2VydmVkX2Nhc2hfcmF0aW8iJiYhUHQoRykmJihmW0JdPWwoImFjY291bnRzLmZvcm0uaW52YWxpZF9yYXRpbyIpKSxCPT09ImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIiYmIU10KEcpJiYoZltCXT1sKCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGNhX2Ftb3VudCIpKX1jb25zdCBOPXFlKFAsYyksQT10eXBlb2YgTi5kY2FfbW9kZT09InN0cmluZyImJk4uZGNhX21vZGUubGVuZ3RoPjAsdz10eXBlb2YgTi5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZD09InN0cmluZyImJk4uZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QubGVuZ3RoPjA7cmV0dXJuIEEhPT13JiYoZi5kY2FfbW9kZT1sKCJhY2NvdW50cy5mb3JtLmRjYV9wYWlyX3JlcXVpcmVkIikpLEUoZiksT2JqZWN0LmtleXMoZikubGVuZ3RoPT09MH0saj1hc3luYyBmPT57aCghMCksXyhudWxsKTtsZXQgTjt0cnl7Y29uc3QgQT1hd2FpdCBpZSh0LnBsYXRmb3JtLHQuYWNjb3VudF9hbGlhcyk7aWYoIUEuaWRlbnRpdHl8fHR5cGVvZiBBLmlkZW50aXR5IT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShBLmlkZW50aXR5KSl0aHJvdyBuZXcgRXJyb3IoImlkZW50aXR5X21pc3NpbmciKTtOPUEuaWRlbnRpdHl9Y2F0Y2h7Xyh7a2luZDoiZXJyb3IiLHRleHQ6bCgiZXJyb3IuZ2VuZXJpYyIpfSksaCghMSk7cmV0dXJufXRyeXthd2FpdCB5dCh7cGxhdGZvcm06dC5wbGF0Zm9ybSxrZXk6dC5hY2NvdW50X2FsaWFzLGlkZW50aXR5Ok4sZXhwZWN0ZWRfZHJhZnRfcmV2aXNpb246Zi5kcmFmdF9yZXZpc2lvbixvdmVycmlkZXM6cWUoZi5yb3dzLGMpfSksaSh7fSksbyghMSksXyh7a2luZDoic3VjY2VzcyIsdGV4dDpgJHtsKCJhY2NvdW50cy5kcmFmdF9zYXZlZCIpfSAke2woImFjY291bnRzLmRyYWZ0X25vdGUiKX1gfSksYS5yZWxvYWQoKX1jYXRjaChBKXtpZihBIGluc3RhbmNlb2YgaHQmJkEuc3RhdHVzPT09NDA5KXtjb25zdCB3PUEucGF5bG9hZD8uZXJyb3IsQj1sKHc9PT0iYWNjb3VudF9zZXR0aW5nc19kcmFmdF9yZXZpc2lvbl9jb25mbGljdCI/ImFjY291bnRzLmNvbmZsaWN0Ijp3PT09ImFjY291bnRfc2V0dGluZ3NfaWRlbnRpdHlfY29uZmxpY3QiPyJhY2NvdW50cy5pZGVudGl0eV9jb25mbGljdCI6ImVycm9yLmNvbmZsaWN0Iik7Xyh7a2luZDoiZXJyb3IiLHRleHQ6Qn0pLGEucmVsb2FkKCl9ZWxzZSBfKHtraW5kOiJlcnJvciIsdGV4dDpsKCJhY2NvdW50cy5zYXZlX3Vua25vd24iKX0pfWZpbmFsbHl7aCghMSl9fSxPPWFzeW5jKCk9PntpZih4KCkpe2IoITApLF8obnVsbCk7dHJ5e2NvbnN0IGY9YXdhaXQgWGUodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pO2lmKGYuaWRlbnRpdHlfc3RhdHVzPT09ImlkZW50aXR5X2NvbmZsaWN0Iil7Xyh7a2luZDoiZXJyb3IiLHRleHQ6bCgiYWNjb3VudHMuaWRlbnRpdHlfY29uZmxpY3QiKX0pLGEucmVsb2FkKCk7cmV0dXJufWNvbnN0IE49Zi5yb3dzLmZpbHRlcih3PT57Y29uc3QgQj13Lm92ZXJyaWRkZW4/dy5kcmFmdDp3LmN1cnJlbnQsSz1tZShjLHcuZmllbGQpP2Nbdy5maWVsZF06QjtyZXR1cm4gU3RyaW5nKEs/PyIiKSE9PVN0cmluZyhCPz8iIil9KS5tYXAodz0+e2NvbnN0IEI9bWUoYyx3LmZpZWxkKSYmY1t3LmZpZWxkXT09PW51bGwsSz1CP3cuY3VycmVudDpGZSh3LGMpO3JldHVybntzZWN0aW9uOncuc2VjdGlvbixmaWVsZDp3LmZpZWxkLGxhYmVsOlNlKGwsdyksYmVmb3JlOncuY3VycmVudF9zdGF0dXM9PT0idW5rbm93biI/bnVsbDp3LmN1cnJlbnQsYWZ0ZXI6Qj9sKCJhY2NvdW50cy5mb3JtLmluaGVyaXQiKTpLLGFmZmVjdHNMaXZlOncuYWZmZWN0c19saXZlfX0pO2lmKCFOLmxlbmd0aCl7dih7a2luZDoiaW5mbyIsdGV4dDpsKCJhY2NvdW50cy5ub19jaGFuZ2VzIil9KTtyZXR1cm59YXdhaXQgayh7dGl0bGU6bCgiYWNjb3VudHMuZGlmZl9kaWFsb2dfdGl0bGUiKSx0YXJnZXQ6ZC5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKSxzdW1tYXJ5OmwoImFjY291bnRzLmRyYWZ0X25vdGUiKSxib2R5Om4uanN4KHluLHtyb3dzOk4sdDpsfSksYWNrTGFiZWw6Ti5zb21lKHc9PncuYWZmZWN0c0xpdmUpP2woImFjY291bnRzLmFja19saXZlIik6dm9pZCAwLGNvbmZpcm1MYWJlbDpsKCJhY2NvdW50cy5zYXZlX2RyYWZ0IiksdG9uZToibm9ybWFsIn0pJiZhd2FpdCBqKGYpfWNhdGNoe3Yoe2tpbmQ6ImVycm9yIix0ZXh0OmwoImVycm9yLmdlbmVyaWMiKX0pfWZpbmFsbHl7YighMSl9fX0sRD1hc3luYygpPT57TSYmIWF3YWl0IGsoe3RpdGxlOmwoImNvbW1vbi51bnNhdmVkX2d1YXJkX3RpdGxlIiksc3VtbWFyeTpsKCJjb21tb24udW5zYXZlZF9ndWFyZF9ib2R5IiksdG9uZToibm9ybWFsIn0pfHwoaSh7fSksRSh7fSksbyghMSkpfSxGPWY9Pntjb25zdCBOPUZlKGYsYyksQT1tZShjLGYuZmllbGQpLHc9Tj09bnVsbD8iIjpTdHJpbmcoTiksQj1nW2YuZmllbGRdLEs9e2lkOnAoZi5maWVsZCksImFyaWEtaW52YWxpZCI6ISFCLCJhcmlhLWRlc2NyaWJlZGJ5IjpCP2Ake3AoZi5maWVsZCl9LWVycm9yYDp2b2lkIDB9O2xldCBHO2lmKGYuZmllbGQ9PT0ic3RyYXRlZ3lfcHJvZmlsZSIpe2NvbnN0IEg9Qy5zb21lKFc9PlcucHJvZmlsZT09PXcpO0c9bi5qc3hzKCJzZWxlY3QiLHsuLi5LLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOncsb25DaGFuZ2U6Vz0+cShmLmZpZWxkLFcudGFyZ2V0LnZhbHVlKSxjaGlsZHJlbjpbIXcmJm4uanN4KCJvcHRpb24iLHt2YWx1ZToiIixkaXNhYmxlZDohMCxjaGlsZHJlbjpsKCJhY2NvdW50cy5mb3JtLnNlbGVjdF9wcm9maWxlIil9KSx3JiYhSCYmbi5qc3goIm9wdGlvbiIse3ZhbHVlOncsY2hpbGRyZW46d30pLEMubWFwKFc9Pm4uanN4KCJvcHRpb24iLHt2YWx1ZTpXLnByb2ZpbGUsY2hpbGRyZW46Vy5sYWJlbH0sVy5wcm9maWxlKSldfSl9ZWxzZSBmLmZpZWxkPT09ImRjYV9tb2RlIj9HPW4uanN4cygic2VsZWN0Iix7Li4uSyxjbGFzc05hbWU6ImlucHV0Iix2YWx1ZTp3LG9uQ2hhbmdlOkg9PnEoZi5maWVsZCxILnRhcmdldC52YWx1ZSksY2hpbGRyZW46WyF3JiZuLmpzeCgib3B0aW9uIix7dmFsdWU6IiIsZGlzYWJsZWQ6ITAsY2hpbGRyZW46bCgiY29tbW9uLm5hIil9KSxuLmpzeCgib3B0aW9uIix7dmFsdWU6ImZpeGVkIixjaGlsZHJlbjpsKCJhY2NvdW50cy5kY2FfbW9kZS5maXhlZCIpfSksbi5qc3goIm9wdGlvbiIse3ZhbHVlOiJzbWFydCIsY2hpbGRyZW46bCgiYWNjb3VudHMuZGNhX21vZGUuc21hcnQiKX0pXX0pOmYuZmllbGQ9PT0iaW5jb21lX2xheWVyX2VuYWJsZWQiP0c9bi5qc3hzKCJzZWxlY3QiLHsuLi5LLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOncsb25DaGFuZ2U6SD0+cShmLmZpZWxkLEgudGFyZ2V0LnZhbHVlPT09InRydWUiKSxjaGlsZHJlbjpbIXcmJm4uanN4KCJvcHRpb24iLHt2YWx1ZToiIixkaXNhYmxlZDohMCxjaGlsZHJlbjpsKCJjb21tb24ubmEiKX0pLG4uanN4KCJvcHRpb24iLHt2YWx1ZToidHJ1ZSIsY2hpbGRyZW46bCgiYWNjb3VudHMuYm9vbC5vbiIpfSksbi5qc3goIm9wdGlvbiIse3ZhbHVlOiJmYWxzZSIsY2hpbGRyZW46bCgiYWNjb3VudHMuYm9vbC5vZmYiKX0pXX0pOkc9bi5qc3goImlucHV0Iix7Li4uSyxjbGFzc05hbWU6ImlucHV0Iix2YWx1ZTp3LGlucHV0TW9kZToiZGVjaW1hbCIsbWF4TGVuZ3RoOjMyLG9uQ2hhbmdlOkg9PnEoZi5maWVsZCxILnRhcmdldC52YWx1ZSl9KTtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWJvZHkiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY29udHJvbCIsY2hpbGRyZW46W0csQSYmbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6KCk9PkwoZi5maWVsZCksY2hpbGRyZW46bCgiYWNjb3VudHMuZm9ybS51bmRvIil9KSwhQSYmZi5vdmVycmlkZGVuJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+VihmLmZpZWxkKSxjaGlsZHJlbjpsKCJhY2NvdW50cy5mb3JtLmNsZWFyX292ZXJyaWRlIil9KV19KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWN1cnJlbnQiLGNoaWxkcmVuOltsKCJkZWNpc2lvbnMuY29sLmN1cnJlbnQiKSwiIMK3ICIsVGUobCxmLmZpZWxkLGYuY3VycmVudCxmLmN1cnJlbnRfc3RhdHVzPT09InVua25vd24iLHIpXX0pLEImJm4uanN4KCJzcGFuIix7aWQ6YCR7cChmLmZpZWxkKX0tZXJyb3JgLGNsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtZXJyb3IiLGNoaWxkcmVuOkJ9KV19KX07cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy10b29sYmFyIixjaGlsZHJlbjpbbi5qc3goYmUse3RvbmU6ZT8iYWNjZW50IjoidW5rbm93biIsY2hpbGRyZW46bChlPyJhY2NvdW50cy5lZGl0aW5nIjoiYWNjb3VudHMudmlld2luZyIpfSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmwoImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIix7dmFsdWU6SS5kcmFmdF9yZXZpc2lvbn0pfSksbi5qc3goInNwYW4iLHtzdHlsZTp7ZmxleDoxfX0pLCFlJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOigpPT5vKCEwKSxjaGlsZHJlbjpsKCJhY2NvdW50cy5lZGl0Iil9KSxlJiZuLmpzeHMobi5GcmFnbWVudCx7Y2hpbGRyZW46W24uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDp5fHxtfHwkLG9uQ2xpY2s6KCk9PntPKCl9LGNoaWxkcmVuOmwoeT8iYWNjb3VudHMuY2hlY2tpbmciOiJhY2NvdW50cy5jaGVja19jaGFuZ2VzIil9KSxuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixkaXNhYmxlZDp5fHxtLG9uQ2xpY2s6KCk9PntEKCl9LGNoaWxkcmVuOmwoImNvbW1vbi5jYW5jZWwiKX0pXX0pXX0pLFMmJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSIsY2hpbGRyZW46bCgiYWNjb3VudHMucmV0aXJlZF9vcHRpb25fZHJhZnQiKX0pLCQmJm4uanN4cygicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpbbCgiYWNjb3VudHMuaWRlbnRpdHlfY29uZmxpY3QiKSwiICIsbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6YS5yZWxvYWQsY2hpbGRyZW46bCgiY29tbW9uLnJlZnJlc2giKX0pXX0pLFQmJm4uanN4cygicCIse2NsYXNzTmFtZTpgYWNjb3VudHMtaW5saW5lLW5vdGUgJHtULmtpbmR9YCxyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOltULnRleHQsIiAiLFQua2luZD09PSJlcnJvciImJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOmEucmVsb2FkLGNoaWxkcmVuOmwoImNvbW1vbi5yZWZyZXNoIil9KV19KSxtJiZuLmpzeCgicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46bCgiYWNjb3VudHMuc2F2aW5nIil9KSxlP0RlKFApLm1hcChmPT5uLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImFjY291bnRzLWRpZmYtc2VjdGlvbiIsY2hpbGRyZW46W24uanN4KCJoMyIse2NoaWxkcmVuOkVlKGwsZi5zZWN0aW9uKX0pLG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvd3MiLGNoaWxkcmVuOmYucm93cy5tYXAoTj0+bi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvdyIsY2hpbGRyZW46W24uanN4KCJsYWJlbCIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtbGFiZWwiLGh0bWxGb3I6cChOLmZpZWxkKSxjaGlsZHJlbjpTZShsLE4pfSksRihOKV19LE4uZmllbGQpKX0pXX0sZi5zZWN0aW9uKSk6bi5qc3gobHQse3Jvd3M6UCx0Omx9KV19KX1mdW5jdGlvbiBnbih7Y2hpbGRyZW46dH0pe2NvbnN0IGE9eigpO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImRhbmdlci16b25lIiwiYXJpYS1sYWJlbCI6YSgiY29udHJvbHMudGl0bGUiKSxjaGlsZHJlbjpbbi5qc3goImgzIix7Y2xhc3NOYW1lOiJkYW5nZXItem9uZS10aXRsZSIsY2hpbGRyZW46YSgiY29udHJvbHMudGl0bGUiKX0pLG4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLHN0eWxlOnttYXJnaW46MH0sY2hpbGRyZW46YSgiY29udHJvbHMuZGFuZ2VyX25vdGUiKX0pLHRdfSl9ZnVuY3Rpb24gYm4oe3RpdGxlOnQsc3VtbWFyeTphLGFjdGlvbjpzLHVuYXZhaWxhYmxlUmVhc29uOmV9KXtjb25zdCBvPXooKTtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRhbmdlci1yb3ciLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGFuZ2VyLXJvdy10ZXh0IixjaGlsZHJlbjpbbi5qc3goInN0cm9uZyIse2NoaWxkcmVuOnR9KSxuLmpzeCgicCIse2NoaWxkcmVuOmF9KSxlJiZuLmpzeCgicCIse2NoaWxkcmVuOm8oImNvbnRyb2xzLnVuYXZhaWxhYmxlIix7cmVhc29uOmV9KX0pXX0pLG4uanN4KCJkaXYiLHtjaGlsZHJlbjpzfSldfSl9Y29uc3QgeG49bmV3IFNldChbImlia3IiLCJzY2h3YWIiXSksS2U9bmV3IFNldChbInJlc2VydmVkIiwiYWNjZXB0ZWQiLCJ1bmtub3duIiwicGFydGlhbCJdKSxrbj1uZXcgU2V0KFsiYXBwbGllZCIsInByb3RlY3RlZCIsInJlamVjdGVkIl0pLGpuPVt7bmFtZToiZW5hYmxlIix0aXRsZUtleToiY29udHJvbHMuZW5hYmxlIixzdW1tYXJ5S2V5OiJjb250cm9scy5lbmFibGVfc3VtbWFyeSJ9LHtuYW1lOiJzdG9wIix0aXRsZUtleToiY29udHJvbHMuc3RvcCIsc3VtbWFyeUtleToiY29udHJvbHMuc3RvcF9zdW1tYXJ5In0se25hbWU6InJlc3VtZSIsdGl0bGVLZXk6ImNvbnRyb2xzLnJlc3VtZSIsc3VtbWFyeUtleToiY29udHJvbHMucmVzdW1lX3N1bW1hcnkifSx7bmFtZToiYXBwcm92ZV9hcHBsaWNhdGlvbiIsdGl0bGVLZXk6ImNvbnRyb2xzLmFwcHJvdmVfYXBwbGljYXRpb24iLHN1bW1hcnlLZXk6ImNvbnRyb2xzLmFwcHJvdmVfc3VtbWFyeSJ9XTtmdW5jdGlvbiBObih7YWNjb3VudDp0LGNvbmZpZzphLGNvbmZpcm06c30pe2NvbnN0IGU9eigpLG89UmUoKSxjPXhlKGEpLGk9USgoKT0+Z3QodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLFt0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybV0pLFtrLHJdPVIudXNlU3RhdGUobnVsbCksW2QsdV09Ui51c2VTdGF0ZSh7fSkscD1gJHt0LnBsYXRmb3JtfToke3QuYWNjb3VudF9hbGlhc31gLFtsLHZdPVIudXNlU3RhdGUobnVsbCksW3ksYl09Ui51c2VTdGF0ZShudWxsKTtpZihSLnVzZUVmZmVjdCgoKT0+e2lmKGkucGhhc2UhPT0icmVhZHkifHwhbHx8bC50YXJnZXRLZXkhPT1wfHxpLmRhdGEuYWNjb3VudF9hbGlhcyE9PXQuYWNjb3VudF9hbGlhc3x8aS5kYXRhLnBsYXRmb3JtIT09dC5wbGF0Zm9ybSlyZXR1cm47Y29uc3Qgaj1pLmRhdGEucnVudGltZV9jb250cm9sOyFqfHxqLnJlcXVlc3RfaWQhPT1sLnJlcXVlc3RJZHx8a24uaGFzKGoucGhhc2V8fCIiKSYmdihudWxsKX0sW2ksbCxwXSksaS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gbi5qc3goWix7aGVpZ2h0OjIwMH0pO2lmKGkucGhhc2U9PT0iZXJyb3IiKXJldHVybiBuLmpzeChmZSx7b25SZXRyeTppLnJlbG9hZH0pO2NvbnN0IG09aS5kYXRhO2lmKG0uYWNjb3VudF9hbGlhcyE9PXQuYWNjb3VudF9hbGlhc3x8bS5wbGF0Zm9ybSE9PXQucGxhdGZvcm0pcmV0dXJuIG4uanN4KFose2hlaWdodDoyMDB9KTtjb25zdCBoPXhuLmhhcyh0LnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkpLFQ9aj0+ZShgcmVhc29uLiR7an1gKSxfPW0ucnVudGltZV9jb250cm9sLGc9bD8udGFyZ2V0S2V5PT09cHx8ISEoXyYmS2UuaGFzKF8ucGhhc2V8fCIiKSksRT1fPy51bmF2YWlsYWJsZV9yZWFzb24/VChfLnVuYXZhaWxhYmxlX3JlYXNvbik6XyYmKF8ucGhhc2U9PT0idW5rbm93biJ8fF8ucGhhc2U9PT0icGFydGlhbCIpP2UoImNvbnRyb2xzLnVua25vd25fcmVzdWx0Iik6ZSgiY29udHJvbHMuc3VibWl0dGVkIiksST1fPy5waGFzZT09PSJhcHBsaWVkIiYmXy5wbGF0Zm9ybV9hcHBsaWVkPT09ITAmJihfLmFjdGlvbj09PSJlbmFibGUifHxfLmFjdGlvbj09PSJkaXNhYmxlIik/ZShfLmFjdGlvbj09PSJlbmFibGUiPyJjb250cm9scy5yZXN1bHQuZW5hYmxlIjoiY29udHJvbHMucmVzdWx0LmRpc2FibGUiKTpudWxsLFA9YXN5bmMoKT0+e3RyeXthd2FpdCBuZSgiL2FwaS9ydW50aW1lLXN0b3AiLHtwbGF0Zm9ybTp0LnBsYXRmb3JtLHRhcmdldF9uYW1lOnBlKGEsdC5wbGF0Zm9ybSx0LmFjY291bnRfYWxpYXMpLG9wZXJhdGlvbjoiaW5zcGVjdCIsY29uZmlybToiUkVBRF9PTkxZIn0pfWNhdGNoe31maW5hbGx5e2kucmVsb2FkKCl9fSxTPSgpPT57aWYodSh7fSksIWh8fCFffHwhS2UuaGFzKF8ucGhhc2V8fCIiKSl7aS5yZWxvYWQoKTtyZXR1cm59UCgpfSwkPShqLE8pPT57dShEPT4oey4uLkQsW2pdOk8/InN1Ym1pdHRlZCI6InVua25vd24ifSkpLG8oe2tpbmQ6Tz8ic3VjY2VzcyI6ImVycm9yIix0ZXh0OmUoTz8iY29udHJvbHMuc3VibWl0dGVkIjoiY29udHJvbHMudW5rbm93bl9yZXN1bHQiKX0pfSxDPWFzeW5jKCk9PntpZihoKXthd2FpdCBMKCJkaXNhYmxlIik7cmV0dXJufWlmKGF3YWl0IHMoe3RpdGxlOmUoImNvbnRyb2xzLnN0b3BfY29uZmlybV90aXRsZSIpLHRhcmdldDpjLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLHN1bW1hcnk6ZSgiY29udHJvbHMuc3RvcF9zdW1tYXJ5IiksY29uc2VxdWVuY2U6ZSgiY29udHJvbHMuc3RvcF9jb25zZXF1ZW5jZSIpLHRvbmU6ImRhbmdlciIsY29uZmlybUxhYmVsOmUoImNvbnRyb2xzLnN0b3AiKSx0eXBlVG9Db25maXJtOntsYWJlbDplKCJjb250cm9scy5zdG9wX3R5cGVfYWxpYXMiLHthbGlhczp0LmFjY291bnRfYWxpYXN9KSxleHBlY3RlZDp0LmFjY291bnRfYWxpYXMsbWlzbWF0Y2g6ZSgiY29udHJvbHMuYWxpYXNfbWlzbWF0Y2giKX19KSl7cigic3RvcCIpO3RyeXthd2FpdCBuZSgiL2FwaS9ydW50aW1lLXN0b3AiLHtwbGF0Zm9ybTp0LnBsYXRmb3JtLHRhcmdldF9uYW1lOnBlKGEsdC5wbGF0Zm9ybSx0LmFjY291bnRfYWxpYXMpLGNvbmZpcm06IlNUT1BfT05MWSJ9KSwkKCJzdG9wIiwhMCl9Y2F0Y2h7JCgic3RvcCIsITEpfWZpbmFsbHl7cihudWxsKX19fSxNPWFzeW5jKCk9Pntjb25zdCBqPW0ucmVzdW1lX2JpbmRpbmc/LnJ1bnRpbWVfdGFyZ2V0X3NoYTI1NjtpZighKHR5cGVvZiBqIT0ic3RyaW5nInx8IWp8fCFhd2FpdCBzKHt0aXRsZTplKCJjb250cm9scy5jb25maXJtLnJlc3VtZV90aXRsZSIpLHRhcmdldDpjLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLHN1bW1hcnk6ZSgiY29udHJvbHMucmVzdW1lX3N1bW1hcnkiKSx0b25lOiJkYW5nZXIiLGNvbmZpcm1MYWJlbDplKCJjb250cm9scy5yZXN1bWUiKX0pKSl7cigicmVzdW1lIik7dHJ5e2F3YWl0IG5lKCIvYXBpL3J1bnRpbWUtcmVzdW1lIix7cGxhdGZvcm06dC5wbGF0Zm9ybSx0YXJnZXRfbmFtZTpwZShhLHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKSxydW50aW1lX3RhcmdldF9zaGEyNTY6aixjb25maXJtOiJSRVNVTUVfRVhJU1RJTkcifSksJCgicmVzdW1lIiwhMCl9Y2F0Y2h7JCgicmVzdW1lIiwhMSl9ZmluYWxseXtyKG51bGwpfX19LHE9YXN5bmMoKT0+e2lmKGF3YWl0IHMoe3RpdGxlOmUoImNvbnRyb2xzLmNvbmZpcm0uYXBwcm92ZV90aXRsZSIpLHRhcmdldDpjLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLHN1bW1hcnk6ZSgiY29udHJvbHMuYXBwcm92ZV9zdW1tYXJ5IiksdG9uZToiZGFuZ2VyIixjb25maXJtTGFiZWw6ZSgiY29udHJvbHMuYXBwcm92ZV9hcHBsaWNhdGlvbiIpfSkpe3IoImFwcHJvdmVfYXBwbGljYXRpb24iKTt0cnl7Y29uc3QgTz1hd2FpdCBpZSh0LnBsYXRmb3JtLHQuYWNjb3VudF9hbGlhcyksRD1PLmRyYWZ0Py5vdmVycmlkZXN8fHt9LEY9T2JqZWN0LmtleXMoRCksZj10eXBlb2YgRC5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj9ELnN0cmF0ZWd5X3Byb2ZpbGUudHJpbSgpOiIiLE49Ty5lZmZlY3RpdmU/LnN0cmF0ZWd5X3Byb2ZpbGUsQT1OPy5zdGF0dXM9PT0ia25vd24iJiZ0eXBlb2YgTi52YWx1ZT09InN0cmluZyI/Ti52YWx1ZS50cmltKCk6IiI7aWYoISEhKE8uaWRlbnRpdHkmJk51bWJlci5pc1NhZmVJbnRlZ2VyKE8uaW5zdGFuY2VfcmV2aXNpb24pJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihPLmRyYWZ0Py5yZXZpc2lvbikmJkYubGVuZ3RoPT09MSYmRlswXT09PSJzdHJhdGVneV9wcm9maWxlIiYmZiYmQSYmZiE9PUEpKXtvKHtraW5kOiJlcnJvciIsdGV4dDplKCJjb250cm9scy5hcHByb3ZlX25vdF9yZWFkeSIpfSk7cmV0dXJufWF3YWl0IG5lKCIvYXBpL2FjY291bnQtc2V0dGluZ3MvcHJvZmlsZS1hcHBsaWNhdGlvbi9hcHByb3ZlIix7cGxhdGZvcm06dC5wbGF0Zm9ybSxrZXk6dC5hY2NvdW50X2FsaWFzLHJlcXVlc3Rfa2V5OmNyeXB0by5yYW5kb21VVUlEKCksaWRlbnRpdHk6Ty5pZGVudGl0eSxleHBlY3RlZF9pbnN0YW5jZV9yZXZpc2lvbjpPLmluc3RhbmNlX3JldmlzaW9uLGV4cGVjdGVkX2RyYWZ0X3JldmlzaW9uOk8uZHJhZnQ/LnJldmlzaW9uLG9sZF9wcm9maWxlOkEsbmV3X3Byb2ZpbGU6Zn0pLCQoImFwcHJvdmVfYXBwbGljYXRpb24iLCEwKX1jYXRjaHskKCJhcHByb3ZlX2FwcGxpY2F0aW9uIiwhMSl9ZmluYWxseXtyKG51bGwpfX19LEw9YXN5bmMgaj0+e2NvbnN0IE89aj09PSJlbmFibGUiPyJlbmFibGUiOiJzdG9wIjtpZighYXdhaXQgcyhqPT09ImVuYWJsZSI/e3RpdGxlOmUoImNvbnRyb2xzLmNvbmZpcm0uZW5hYmxlX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5lbmFibGVfc3VtbWFyeSIpLGNvbnNlcXVlbmNlOmUoImNvbnRyb2xzLmVuYWJsZV9jb250cm9sX25vdGUiKSx0b25lOiJub3JtYWwiLGNvbmZpcm1MYWJlbDplKCJjb250cm9scy5lbmFibGUiKX06e3RpdGxlOmUoImNvbnRyb2xzLnN0b3BfY29uZmlybV90aXRsZSIpLHRhcmdldDpjLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLHN1bW1hcnk6ZSgiY29udHJvbHMuc3RvcF9zdW1tYXJ5IiksY29uc2VxdWVuY2U6ZSgiY29udHJvbHMuc3RvcF9jb25zZXF1ZW5jZSIpLHRvbmU6ImRhbmdlciIsY29uZmlybUxhYmVsOmUoImNvbnRyb2xzLnN0b3AiKSx0eXBlVG9Db25maXJtOntsYWJlbDplKCJjb250cm9scy5zdG9wX3R5cGVfYWxpYXMiLHthbGlhczp0LmFjY291bnRfYWxpYXN9KSxleHBlY3RlZDp0LmFjY291bnRfYWxpYXMsbWlzbWF0Y2g6ZSgiY29udHJvbHMuYWxpYXNfbWlzbWF0Y2giKX19KSlyZXR1cm47Y29uc3QgRj1jcnlwdG8ucmFuZG9tVVVJRCgpO3Yoe3JlcXVlc3RJZDpGLHRhcmdldEtleTpwfSksYih7bmFtZTpPLHRhcmdldEtleTpwfSk7dHJ5e2F3YWl0IG5lKCIvYXBpL3J1bnRpbWUtc3RvcCIse3BsYXRmb3JtOnQucGxhdGZvcm0sdGFyZ2V0X25hbWU6cGUoYSx0LnBsYXRmb3JtLHQuYWNjb3VudF9hbGlhcyksb3BlcmF0aW9uOmoscmVxdWVzdF9pZDpGLGNvbmZpcm06IkNPTlRST0xfT05MWSJ9KSxvKHtraW5kOiJzdWNjZXNzIix0ZXh0OmUoImNvbnRyb2xzLnN1Ym1pdHRlZCIpfSl9Y2F0Y2h7byh7a2luZDoiZXJyb3IiLHRleHQ6ZSgiY29udHJvbHMudW5rbm93bl9yZXN1bHQiKX0pfWZpbmFsbHl7YihmPT5mPy50YXJnZXRLZXk9PT1wP251bGw6ZiksaS5yZWxvYWQoKX19LHg9e2VuYWJsZTphc3luYygpPT57aWYoaCl7YXdhaXQgTCgiZW5hYmxlIik7cmV0dXJufWF3YWl0IHMoe3RpdGxlOmUoImNvbnRyb2xzLmNvbmZpcm0uZW5hYmxlX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5lbmFibGVfc3VtbWFyeSIpLGNvbnNlcXVlbmNlOmUoImNvbnRyb2xzLmVuYWJsZV9ub3RlIiksdG9uZToibm9ybWFsIixjb25maXJtTGFiZWw6ZSgiY29tbW9uLmNsb3NlIil9KX0sc3RvcDpDLHJlc3VtZTpNLGFwcHJvdmVfYXBwbGljYXRpb246cX07cmV0dXJuIG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWN0aW9uLXN0YWNrIixjaGlsZHJlbjpbaCYmXz8ucGhhc2U9PT0icmVqZWN0ZWQiJiZfLnVuYXZhaWxhYmxlX3JlYXNvbiYmbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46VChfLnVuYXZhaWxhYmxlX3JlYXNvbil9KSxoJiZfPy5waGFzZT09PSJwcm90ZWN0ZWQiJiZuLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjplKCJjb250cm9scy5wcm90ZWN0ZWQiKX0pLGgmJkkmJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOkl9KSxuLmpzeChnbix7Y2hpbGRyZW46am4ubWFwKCh7bmFtZTpqLHRpdGxlS2V5Ok8sc3VtbWFyeUtleTpEfSk9Pntjb25zdCBGPW0uYWN0aW9uc1tqXSxmPWRbal0sTj1nJiYoaj09PSJlbmFibGUifHxqPT09InN0b3AiKSxBPWshPT1udWxsfHx5Py50YXJnZXRLZXk9PT1wfHwhIWZ8fE58fCFGLmVuYWJsZWQsdz1mP2UoZj09PSJzdWJtaXR0ZWQiPyJjb250cm9scy5zdWJtaXR0ZWQiOiJjb250cm9scy51bmtub3duX3Jlc3VsdCIpOk4/RTpGLmVuYWJsZWQ/bnVsbDpUKEYucmVhc29uKTtyZXR1cm4gbi5qc3goYm4se3RpdGxlOmUoTyksc3VtbWFyeTplKEQpLHVuYXZhaWxhYmxlUmVhc29uOncsYWN0aW9uOm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgYnV0dG9uICR7aj09PSJzdG9wInx8aj09PSJyZXN1bWUiPyJidXR0b24tZGFuZ2VyLW91dGxpbmUiOiJidXR0b24tc2Vjb25kYXJ5In1gLGRpc2FibGVkOkEsb25DbGljazooKT0+e3hbal0oKX0sY2hpbGRyZW46az09PWp8fHk/LnRhcmdldEtleT09PXAmJnkubmFtZT09PWo/ZSgiY29udHJvbHMuc3VibWl0dGluZyIpOmUoTyl9KX0sail9KX0pLG4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOlMsY2hpbGRyZW46ZSgiY29tbW9uLnJlZnJlc2giKX0pfSldfSl9ZnVuY3Rpb24gd24oe2FjY291bnQ6dH0pe2NvbnN0IGE9eigpLHM9UmUoKSxlPVEoKCk9PiRlKHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKSxbdC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm1dKSxbbyxjXT1SLnVzZVN0YXRlKFtdKSxbaSxrXT1SLnVzZVN0YXRlKG51bGwpLFtyLGRdPVIudXNlU3RhdGUobnVsbCksW3UscF09Ui51c2VTdGF0ZSghMSk7aWYoUi51c2VFZmZlY3QoKCk9PntlLnBoYXNlPT09InJlYWR5IiYmKGMoZS5kYXRhLml0ZW1zKSxrKGUuZGF0YS5uZXh0X2N1cnNvciksZChlLmRhdGEuYXZhaWxhYmlsaXR5KSl9LFtlLnBoYXNlLGUuZGF0YV0pLGUucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KFose2hlaWdodDoyMDB9KTtpZihlLnBoYXNlPT09ImVycm9yIilyZXR1cm4gbi5qc3goZmUse29uUmV0cnk6ZS5yZWxvYWR9KTtjb25zdCBsPWFzeW5jKCk9PntpZihpKXtwKCEwKTt0cnl7Y29uc3QgbT1hd2FpdCAkZSh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSwyNSxpKTtjKGg9PlsuLi5oLC4uLm0uaXRlbXNdKSxrKG0ubmV4dF9jdXJzb3IpLGQobS5hdmFpbGFiaWxpdHkpfWNhdGNoe3Moe2tpbmQ6ImVycm9yIix0ZXh0OmEoImVycm9yLmdlbmVyaWMiKX0pfWZpbmFsbHl7cCghMSl9fX0sdj1tPT5tLmV2ZW50PT09ImRyYWZ0X3NhdmVkIj9hKCJhY2NvdW50cy5ldmVudC5kcmFmdF9zYXZlZCIpOm0uZXZlbnQ9PT0iYXBwcm92ZWQiP2EoImFjY291bnRzLmV2ZW50LmFwcHJvdmVkIik6YSgiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCIpLHk9by5tYXAobT0+e2NvbnN0IGg9W20uYWN0b3JfYWxpYXN8fGEoImFjY291bnRzLmV2ZW50LnVucmVjb3JkZWQiKSxtLmRyYWZ0X3JldmlzaW9uPT09bnVsbD9udWxsOmEoImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIix7dmFsdWU6bS5kcmFmdF9yZXZpc2lvbn0pLG0uc291cmNlP251bGw6YSgiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCIpLGEoImRlY2lzaW9ucy5yZWYiLHtpZDptLnNob3J0X2lkfSldLmZpbHRlcihCb29sZWFuKSxUPWguZmlsdGVyKChfLGcpPT5fIT09aFtnLTFdKS5qb2luKCIgwrcgIik7cmV0dXJue2lkOm0uaWQsdGltZTptLnRpbWUsdGl0bGU6dihtKSxkZXRhaWw6VH19KSxiPXI/LmVmZmVjdF92ZXJpZmljYXRpb247cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W24uanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46YSgiYWNjb3VudHMudGFiLmhpc3RvcnkiKX0pLG8ubGVuZ3RoPT09MD9uLmpzeChRZSx7dGl0bGU6YSgiYWNjb3VudHMuaGlzdG9yeS5lbXB0eSIpfSk6bi5qc3goTHQse2l0ZW1zOnl9KSxpJiZuLmpzeCgiZGl2Iix7c3R5bGU6e21hcmdpblRvcDoxMn0sY2hpbGRyZW46bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsZGlzYWJsZWQ6dSxvbkNsaWNrOigpPT57bCgpfSxjaGlsZHJlbjphKHU/ImNvbW1vbi5sb2FkaW5nIjoiY29tbW9uLmxvYWRfbW9yZSIpfSl9KSxiJiZiLnN0YXR1cyE9PSJvayImJm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLHJvbGU6InN0YXR1cyIsImRhdGEtc3RhdGUiOmIuc3RhdHVzLGNoaWxkcmVuOltuLmpzeCgicCIse2NoaWxkcmVuOmEoImFjY291bnRzLmVmZmVjdF91bmNvbmZpcm1lZCIpfSksbi5qc3gobGUse3N0YXR1czpiLnN0YXR1cyxyZWFzb246Yi51bmF2YWlsYWJsZV9yZWFzb259KSxiLnVuYXZhaWxhYmxlX3JlYXNvbiYmbi5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjphKGByZWFzb24uJHtiLnVuYXZhaWxhYmxlX3JlYXNvbn1gKX0pXX0pXX0pfWZ1bmN0aW9uIFNuKCl7bGV0IHQ9MDtyZXR1cm57YmVnaW4oKXtyZXR1cm4gdCs9MSx0fSxpc0N1cnJlbnQoYSl7cmV0dXJuIGE9PT10fSxpbnZhbGlkYXRlKCl7dCs9MX19fWFzeW5jIGZ1bmN0aW9uIGR0KHQsYSxzKXt0cnl7Y29uc3QgZT1hd2FpdCBzKCk7cmV0dXJuIHQuaXNDdXJyZW50KGEpP3QuYXBwbHlSZWZyZXNoKGEsZSk/e3N0YXR1czoicmVhZHkifToodC5hYmFuZG9uKGEpLHtzdGF0dXM6ImZhaWxlZCIsbWVzc2FnZToi6K6+572u6K+75Zue5LiO5omA6YCJ6LSm5oi35LiN5LiA6Ie077yM6K+36YeN5paw6K+75Y+W44CCIn0pOntzdGF0dXM6InN1cGVyc2VkZWQifX1jYXRjaChlKXtpZighdC5pc0N1cnJlbnQoYSkpcmV0dXJue3N0YXR1czoic3VwZXJzZWRlZCJ9O3QuYWJhbmRvbihhKTtjb25zdCBvPU51bWJlcihlPy5zdGF0dXN8fDApO3JldHVybntzdGF0dXM6ImZhaWxlZCIsbWVzc2FnZTpvPT09NDAxfHxvPT09NDAzPyLmsqHmnInmnYPpmZDor7vlj5bov5npobnorr7nva7jgIIiOiLotKbmiLforr7nva7mmoLml7bor7vkuI3liLDjgIIifX19ZnVuY3Rpb24gVSh0KXtyZXR1cm4hIXQmJnR5cGVvZiB0PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gcmUodCl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodCkpfWZ1bmN0aW9uIFgodCxhKXtjb25zdCBzPWU9PkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAocyk6VShlKT9PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMoZSkuc29ydCgpLm1hcChvPT5bbyxzKGVbb10pXSkpOmU7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHModCkpPT09SlNPTi5zdHJpbmdpZnkocyhhKSl9ZnVuY3Rpb24gdXQodCl7cmV0dXJuIFUodCkmJlsiZW1wdHkiLCJjdXJyZW50IiwiaWRlbnRpdHlfY29uZmxpY3QiXS5pbmNsdWRlcyh0LnN0YXR1cykmJnQuc291cmNlPT09InVzZXJfZGVjbGFyZWQiJiZOdW1iZXIuaXNTYWZlSW50ZWdlcih0LnJldmlzaW9uKSYmdC5yZXZpc2lvbj49MCYmW251bGwsImxpdmUiLCJwYXBlciJdLmluY2x1ZGVzKHQuZW52aXJvbm1lbnQpJiZbbnVsbCwiY2FzaCIsIm1hcmdpbiJdLmluY2x1ZGVzKHQuYWNjb3VudF90eXBlKX1mdW5jdGlvbiBqZSh0LGEpe2NvbnN0IHM9dC5ib2R5O2lmKCFVKGEpfHxhLm9rIT09ITB8fGEucGxhdGZvcm0hPT1zLnBsYXRmb3JtfHxhLmtleSE9PXMua2V5fHwhVShhLmlkZW50aXR5KXx8IVgoYS5pZGVudGl0eSxzLmlkZW50aXR5KXx8YS5hZG9wdGVkIT09ITF8fGEubm9fb3JkZXIhPT0hMHx8YS5leGVjdXRpb25fYXV0aG9yaXR5X2dyYW50ZWQhPT0hMXx8IVUoYS5kcmFmdCl8fCFbImVtcHR5IiwiY3VycmVudCIsImlkZW50aXR5X2NvbmZsaWN0Il0uaW5jbHVkZXMoYS5kcmFmdC5zdGF0dXMpfHwhTnVtYmVyLmlzU2FmZUludGVnZXIoYS5kcmFmdC5yZXZpc2lvbil8fGEuZHJhZnQucmV2aXNpb248MHx8IVUoYS5kcmFmdC5vdmVycmlkZXMpfHwhVShhLmRyYWZ0LmN1cnJlbnRfaWRlbnRpdHkpfHwhWChhLmRyYWZ0LmN1cnJlbnRfaWRlbnRpdHkscy5pZGVudGl0eSl8fCFVKGEucmlzayl8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihhLnJpc2sucmV2aXNpb24pfHxhLnJpc2sucmV2aXNpb248MHx8dHlwZW9mIHQucmlzay5zY29wZV9pZCE9InN0cmluZyJ8fCF0LnJpc2suc2NvcGVfaWR8fGEucmlzay5zY29wZV9pZCE9PXQucmlzay5zY29wZV9pZHx8IVtudWxsLCJDQVBJVEFMX1BSRVNFUlZBVElPTiIsIkJBTEFOQ0VEX0NPTVBPVU5ESU5HIiwiR1JPV1RIX0NPTVBPVU5ESU5HIl0uaW5jbHVkZXMoYS5yaXNrLnByZWZlcmVuY2UpKXJldHVybiExO2NvbnN0IGU9YS5kZWNsYXJhdGlvbixvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJkZWNsYXJhdGlvbiIpO2lmKHQuZGVjbGFyYXRpb24ucHJlc2VudHx8byl7aWYoIXV0KGUpKXJldHVybiExO2lmKG8pe2lmKCFVKHMuZGVjbGFyYXRpb24pfHxlLnN0YXR1cyE9PSJjdXJyZW50Inx8ZS5yZXZpc2lvbiE9PXQuZGVjbGFyYXRpb24ucmV2aXNpb24rMXx8ZS5lbnZpcm9ubWVudCE9PXMuZGVjbGFyYXRpb24uZW52aXJvbm1lbnR8fGUuYWNjb3VudF90eXBlIT09cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUpcmV0dXJuITF9ZWxzZSBpZihlLnJldmlzaW9uPHQuZGVjbGFyYXRpb24ucmV2aXNpb258fGUucmV2aXNpb249PT10LmRlY2xhcmF0aW9uLnJldmlzaW9uJiYhWCh7c3RhdHVzOmUuc3RhdHVzLHJldmlzaW9uOmUucmV2aXNpb24sZW52aXJvbm1lbnQ6ZS5lbnZpcm9ubWVudCxhY2NvdW50X3R5cGU6ZS5hY2NvdW50X3R5cGUsc291cmNlOmUuc291cmNlfSx7c3RhdHVzOnQuZGVjbGFyYXRpb24uc3RhdHVzLHJldmlzaW9uOnQuZGVjbGFyYXRpb24ucmV2aXNpb24sZW52aXJvbm1lbnQ6dC5kZWNsYXJhdGlvbi5lbnZpcm9ubWVudCxhY2NvdW50X3R5cGU6dC5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUsc291cmNlOnQuZGVjbGFyYXRpb24uc291cmNlfSkpcmV0dXJuITF9aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJvdmVycmlkZXMiKSl7Y29uc3QgYz1hLmRyYWZ0O2lmKGMucmV2aXNpb248dC5kcmFmdC5yZXZpc2lvbnx8Yy5yZXZpc2lvbj09PXQuZHJhZnQucmV2aXNpb24mJiFYKHtzdGF0dXM6Yy5zdGF0dXMscmV2aXNpb246Yy5yZXZpc2lvbixpZGVudGl0eTpjLmlkZW50aXR5LGN1cnJlbnRfaWRlbnRpdHk6Yy5jdXJyZW50X2lkZW50aXR5LG92ZXJyaWRlczpjLm92ZXJyaWRlc30sdC5kcmFmdCkpcmV0dXJuITF9aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJyaXNrX3ByZWZlcmVuY2UiKSl7Y29uc3QgYz1hLnJpc2s7aWYoYy5yZXZpc2lvbjx0LnJpc2sucmV2aXNpb258fGMucmV2aXNpb249PT10LnJpc2sucmV2aXNpb24mJmMucHJlZmVyZW5jZSE9PXQucmlzay5wcmVmZXJlbmNlKXJldHVybiExfWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJvdmVycmlkZXMiKSl7Y29uc3QgYz1hLmRyYWZ0O2lmKCFVKGMpfHxjLnN0YXR1cyE9PSJjdXJyZW50Inx8IVUoYy5vdmVycmlkZXMpfHwhVShjLmlkZW50aXR5KXx8IVgoYy5pZGVudGl0eSxzLmlkZW50aXR5KXx8IVUoYy5jdXJyZW50X2lkZW50aXR5KXx8IVgoYy5jdXJyZW50X2lkZW50aXR5LHMuaWRlbnRpdHkpKXJldHVybiExO2NvbnN0IGk9dC5kcmFmdC5zdGF0dXM9PT0iaWRlbnRpdHlfY29uZmxpY3QiJiZzLmFja25vd2xlZGdlX2lkZW50aXR5X2NvbmZsaWN0PT09ITAsaz1pP3t9OnsuLi50LmRyYWZ0Lm92ZXJyaWRlc307Zm9yKGNvbnN0W3UscF1vZiBPYmplY3QuZW50cmllcyhzLm92ZXJyaWRlcykpcD09PW51bGw/ZGVsZXRlIGtbdV06a1t1XT1wO2NvbnN0IHI9dC5kcmFmdC5zdGF0dXM9PT0iZW1wdHkifHxpfHwhWChrLHQuZHJhZnQub3ZlcnJpZGVzKSxkPXQuZHJhZnQucmV2aXNpb24rKHI/MTowKTtpZighTnVtYmVyLmlzU2FmZUludGVnZXIoZCl8fGQ8MHx8Yy5yZXZpc2lvbiE9PWR8fCFYKGMub3ZlcnJpZGVzLGspKXJldHVybiExfWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJyaXNrX3ByZWZlcmVuY2UiKSl7Y29uc3QgYz1hLnJpc2s7aWYoIVUoYyl8fHR5cGVvZiB0LnJpc2suc2NvcGVfaWQhPSJzdHJpbmcifHwhdC5yaXNrLnNjb3BlX2lkfHxjLnNjb3BlX2lkIT09dC5yaXNrLnNjb3BlX2lkfHxjLnByZWZlcmVuY2UhPT1zLnJpc2tfcHJlZmVyZW5jZXx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKGMucmV2aXNpb24pfHxjLnJldmlzaW9uPDApcmV0dXJuITE7Y29uc3QgaT1zLnJpc2tfcHJlZmVyZW5jZSE9PXQucmlzay5wcmVmZXJlbmNlLGs9dC5yaXNrLnJldmlzaW9uKyhpPzE6MCkscj0haSYmcy5yaXNrX3ByZWZlcmVuY2UhPT1udWxsJiZjLnJldmlzaW9uPT09aysxO2lmKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihrKXx8Yy5yZXZpc2lvbiE9PWsmJiFyKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGZ0KCl7cmV0dXJue3N0cmF0ZWd5OiIiLGZsb29yOiIiLHJhdGlvOiIiLHBlcmNlbnQ6IiIsaW5jb21lOiIiLG9wdGlvbjoiIixkY2FNb2RlOiIiLGRjYUFtb3VudDoiIixkY2FQcm9maWxlOiIiLHN0cmF0ZWd5VG91Y2hlZDohMSxpbmNvbWVUb3VjaGVkOiExLG9wdGlvblRvdWNoZWQ6ITEsZmxvb3JUb3VjaGVkOiExLHJhdGlvVG91Y2hlZDohMSxkY2FUb3VjaGVkOiExLGNsZWFyU3RyYXRlZ3k6ITEsY2xlYXJGbG9vcjohMSxjbGVhclJhdGlvOiExLGNsZWFyRGNhOiExLGNhc2hNb2RlOiIiLGFja25vd2xlZGdlOiExfX1mdW5jdGlvbiBDZSgpe3JldHVybntkcmFmdDohMSxyaXNrOiExLGRlY2xhcmF0aW9uOiExfX1mdW5jdGlvbiBfZSh0LGEpe3JldHVybiF0fHwhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsYSk/IiI6dFthXT09PSEwPyJ0cnVlIjp0W2FdPT09ITE/ImZhbHNlIjoiIn1mdW5jdGlvbiBHZSh0KXtyZXR1cm4gX2UodCwiaW5jb21lX2xheWVyX2VuYWJsZWQiKX1mdW5jdGlvbiBZKHQsYSl7Y29uc3Qgcz10Py5lZmZlY3RpdmU/LlthXTtyZXR1cm4gcz8uc3RhdHVzPT09Imtub3duIiYmdHlwZW9mIHMudmFsdWU9PSJzdHJpbmciP3MudmFsdWU6IiJ9ZnVuY3Rpb24gZ2UodCxhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodD8/bnVsbCk9PT1KU09OLnN0cmluZ2lmeShhPz9udWxsKX1mdW5jdGlvbiB0ZSh0KXtjb25zdCBhPVUodCk/dDp7fTtyZXR1cm57ZW52aXJvbm1lbnQ6YS5lbnZpcm9ubWVudD09PSJsaXZlInx8YS5lbnZpcm9ubWVudD09PSJwYXBlciI/YS5lbnZpcm9ubWVudDoiIixhY2NvdW50VHlwZTphLmFjY291bnRfdHlwZT09PSJjYXNoInx8YS5hY2NvdW50X3R5cGU9PT0ibWFyZ2luIj9hLmFjY291bnRfdHlwZToiIn19ZnVuY3Rpb24gY2UodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCJyaXNrX3ByZWZlcmVuY2UiKT8icmlzayI6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlY2xhcmF0aW9uIik/ImRlY2xhcmF0aW9uIjoiZHJhZnQifWZ1bmN0aW9uIFVlKHQpe2lmKHQuYm9keSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQuYm9keSwiZGVjbGFyYXRpb24iKSlyZXR1cm4iZGVjbGFyYXRpb24iO2lmKHQuYm9keSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQuYm9keSwicmlza19wcmVmZXJlbmNlIikpcmV0dXJuInJpc2siO2NvbnN0IGE9dC5ib2R5Py5vdmVycmlkZXM7aWYoIWF8fHR5cGVvZiBhIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShhKSlyZXR1cm4iIjtjb25zdCBzPWE7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJzdHJhdGVneV9wcm9maWxlIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJkY2FfbW9kZSIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywiZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiKT8ic3RyYXRlZ3kiOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJvcHRpb25fb3ZlcmxheV9lbmFibGVkIik/Im9wdGlvbiI6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsImluY29tZV9sYXllcl9lbmFibGVkIik/ImluY29tZSI6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsInJlc2VydmVkX2Nhc2hfZmxvb3IiKXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsInJlc2VydmVkX2Nhc2hfcmF0aW8iKT8iY2FzaCI6IiJ9ZnVuY3Rpb24gemUoKXtyZXR1cm57YWNjb3VudDpudWxsLHNldHRpbmdzOm51bGwscHJlZmVyZW5jZToiIixkZWNsYXJhdGlvbjp7ZW52aXJvbm1lbnQ6IiIsYWNjb3VudFR5cGU6IiJ9LG5vdGljZToiIixub3RpY2VHcm91cDoiIix1bmF2YWlsYWJsZToiIixzYXZpbmc6IiIscmV2aWV3OkNlKCksZHJhZnQ6ZnQoKX19ZnVuY3Rpb24gTmUodCl7cmV0dXJuL15cZCsoPzpcLlxkKyk/JC8udGVzdCh0KSYmTnVtYmVyLmlzRmluaXRlKE51bWJlcih0KSl9ZnVuY3Rpb24gVG4odCl7cmV0dXJuIHQubGVuZ3RoPD0zMiYmL14oPzowfFsxLTldXGQqKSg/OlwuXGQrKT8kLy50ZXN0KHQpJiZOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKHQpKSYmTnVtYmVyKHQpPjB9ZnVuY3Rpb24gb2UodCl7cmV0dXJuIHQuc3RyYXRlZ3lUb3VjaGVkPT09ITB8fHQuZGNhVG91Y2hlZD09PSEwfHx0LmNsZWFyRGNhPT09ITB9ZnVuY3Rpb24gSGUodCl7cmV0dXJuIHQuY2FzaE1vZGU9PT0icmF0aW8ifHx0LmNhc2hNb2RlPT09ImJvdGgifHx0LnBlcmNlbnQhPT0iIj9GdCh0LnBlcmNlbnQpOnF0KHQucmF0aW8pfWZ1bmN0aW9uIFdlKHQsYT0iYWxsIil7Y29uc3Qgcz17fSxlPWE9PT0iYWxsInx8YT09PSJzdHJhdGVneSIsbz1hPT09ImFsbCJ8fGE9PT0iaW5jb21lIixjPWE9PT0iYWxsInx8YT09PSJjYXNoIjtpZihlKXtpZih0LmNsZWFyRGNhKXMuZGNhX21vZGU9bnVsbCxzLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPW51bGw7ZWxzZSBpZih0LmRjYVRvdWNoZWQpe2lmKHQuZGNhTW9kZSE9PSJmaXhlZCImJnQuZGNhTW9kZSE9PSJzbWFydCJ8fCFUbih0LmRjYUFtb3VudCkpcmV0dXJuIG51bGw7cy5kY2FfbW9kZT10LmRjYU1vZGUscy5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZD10LmRjYUFtb3VudH10LmNsZWFyU3RyYXRlZ3k/cy5zdHJhdGVneV9wcm9maWxlPW51bGw6dC5zdHJhdGVneVRvdWNoZWQmJnQuc3RyYXRlZ3k/cy5zdHJhdGVneV9wcm9maWxlPXQuc3RyYXRlZ3k6KHQuZGNhVG91Y2hlZHx8dC5jbGVhckRjYSkmJnQuZGNhUHJvZmlsZSYmKHMuc3RyYXRlZ3lfcHJvZmlsZT10LmRjYVByb2ZpbGUpfWlmKG8mJih0LmluY29tZVRvdWNoZWQmJnQuaW5jb21lPT09InRydWUiP3MuaW5jb21lX2xheWVyX2VuYWJsZWQ9ITA6dC5pbmNvbWVUb3VjaGVkJiZ0LmluY29tZT09PSJmYWxzZSI/cy5pbmNvbWVfbGF5ZXJfZW5hYmxlZD0hMTp0LmluY29tZVRvdWNoZWQmJnQuaW5jb21lPT09ImNsZWFyIiYmKHMuaW5jb21lX2xheWVyX2VuYWJsZWQ9bnVsbCkpLGMpaWYodC5jYXNoTW9kZT09PSJpbmhlcml0IilzLnJlc2VydmVkX2Nhc2hfZmxvb3I9bnVsbCxzLnJlc2VydmVkX2Nhc2hfcmF0aW89bnVsbDtlbHNlIGlmKHQuY2FzaE1vZGU9PT0iZmxvb3IiKXtpZighTmUodC5mbG9vcikpcmV0dXJuIG51bGw7cy5yZXNlcnZlZF9jYXNoX2Zsb29yPXQuZmxvb3Iscy5yZXNlcnZlZF9jYXNoX3JhdGlvPSIwIn1lbHNlIGlmKHQuY2FzaE1vZGU9PT0icmF0aW8ifHx0LmNhc2hNb2RlPT09ImJvdGgiKXtjb25zdCBpPUhlKHQpO2lmKCFpfHx0LmNhc2hNb2RlPT09ImJvdGgiJiYhTmUodC5mbG9vcikpcmV0dXJuIG51bGw7cy5yZXNlcnZlZF9jYXNoX2Zsb29yPXQuY2FzaE1vZGU9PT0icmF0aW8iPyIwIjp0LmZsb29yLHMucmVzZXJ2ZWRfY2FzaF9yYXRpbz1pfWVsc2V7aWYodC5jbGVhckZsb29yKXMucmVzZXJ2ZWRfY2FzaF9mbG9vcj1udWxsO2Vsc2UgaWYodC5mbG9vclRvdWNoZWQpe2lmKCFOZSh0LmZsb29yKSlyZXR1cm4gbnVsbDtzLnJlc2VydmVkX2Nhc2hfZmxvb3I9dC5mbG9vcn1pZih0LmNsZWFyUmF0aW8pcy5yZXNlcnZlZF9jYXNoX3JhdGlvPW51bGw7ZWxzZSBpZih0LnJhdGlvVG91Y2hlZCl7Y29uc3QgaT1IZSh0KTtpZighaSlyZXR1cm4gbnVsbDtzLnJlc2VydmVkX2Nhc2hfcmF0aW89aX19cmV0dXJuIHN9ZnVuY3Rpb24gcHQodD1uZXcgTWFwKXtjb25zdCBhPVNuKCk7bGV0IHM9bnVsbCxlPXplKCksbz1udWxsLGM9bnVsbDtjb25zdCBpPXI9PiEhKHMmJnImJnMucGxhdGZvcm09PT1yLnBsYXRmb3JtJiZzLmtleT09PXIua2V5KSxrPXI9PiEhKHImJmEuaXNDdXJyZW50KHIudG9rZW4pJiZpKHIuYWNjb3VudCkpO3JldHVybntzZWxlY3RlZElkKCl7cmV0dXJuIHM/YCR7cy5wbGF0Zm9ybX06JHtzLmtleX1gOiIifSx2aWV3KCl7Y29uc3Qgcj10LmdldCh0aGlzLnNlbGVjdGVkSWQoKSk7aWYocil7Y29uc3QgZD1jZShyLmJvZHkpO2U9ey4uLmUscmV2aWV3OnsuLi5lLnJldmlldyxbZF06ITB9fX1yZXR1cm4gZX0scmlza0RpcnR5KCl7Y29uc3Qgcj1lLnNldHRpbmdzfHxvO3JldHVybihlLnByZWZlcmVuY2V8fCIiKSE9PSh0eXBlb2Ygcj8ucmlzaz8ucHJlZmVyZW5jZT09InN0cmluZyI/ci5yaXNrLnByZWZlcmVuY2U6IiIpfSxkZWNsYXJhdGlvbkRpcnR5KCl7Y29uc3Qgcj1lLnNldHRpbmdzfHxvLGQ9dGUocj8uZGVjbGFyYXRpb24pO3JldHVybiBlLmRlY2xhcmF0aW9uLmVudmlyb25tZW50IT09ZC5lbnZpcm9ubWVudHx8ZS5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZSE9PWQuYWNjb3VudFR5cGV9LHNlbGVjdChyKXtjb25zdCBkPSFpKHIpO3JldHVybiBzPXtwbGF0Zm9ybTpyLnBsYXRmb3JtLGtleTpyLmtleX0sZCYmKGEuaW52YWxpZGF0ZSgpLGU9ey4uLnplKCksYWNjb3VudDpzfSxvPW51bGwsYz1udWxsKSx0aGlzLnN0YXJ0KCJyZWFkIil9LHN0YXJ0KHIpe2lmKCFzKXRocm93IG5ldyBFcnJvcigiYWNjb3VudF9zZXR0aW5nc19hY2NvdW50X3JlcXVpcmVkIik7cmV0dXJue3Rva2VuOmEuYmVnaW4oKSxhY2NvdW50OntwbGF0Zm9ybTpzLnBsYXRmb3JtLGtleTpzLmtleX0sa2luZDpyfX0saXNDdXJyZW50KHIpe3JldHVybiBrKHIpfSxhYmFuZG9uKHIpe2socikmJmEuaW52YWxpZGF0ZSgpfSxhcHBseVJlYWQocixkLHU9e30pe2lmKCFrKHIpfHxkPy5wbGF0Zm9ybSE9PXIuYWNjb3VudC5wbGF0Zm9ybXx8ZD8ua2V5IT09ci5hY2NvdW50LmtleSlyZXR1cm4hMTtjb25zdCBwPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtpZigoVSgoZS5zZXR0aW5nc3x8byk/LmRlY2xhcmF0aW9uKXx8cD8uZGVjbGFyYXRpb24ucHJlc2VudHx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsImRlY2xhcmF0aW9uIikpJiYhdXQoZC5kZWNsYXJhdGlvbikpcmV0dXJuITE7Y29uc3Qgdj1wJiZqZShwLGQpO3YmJnQuZGVsZXRlKHRoaXMuc2VsZWN0ZWRJZCgpKTtjb25zdCB5PWQuZHJhZnQ/Lm92ZXJyaWRlc3x8e30sYj10eXBlb2YoZS5zZXR0aW5nc3x8byk/LnJpc2s/LnByZWZlcmVuY2U9PSJzdHJpbmciPyhlLnNldHRpbmdzfHxvKS5yaXNrLnByZWZlcmVuY2U6IiIsbT11LmtlZXBDYXNoPT09ITAmJmVlKGUuZHJhZnQpLGg9dGUoKGUuc2V0dGluZ3N8fG8pPy5kZWNsYXJhdGlvbiksVD11LmtlZXBEZWNsYXJhdGlvbj09PSEwJiYoZS5kZWNsYXJhdGlvbi5lbnZpcm9ubWVudCE9PWguZW52aXJvbm1lbnR8fGUuZGVjbGFyYXRpb24uYWNjb3VudFR5cGUhPT1oLmFjY291bnRUeXBlKSxfPXUua2VlcFByZWZlcmVuY2U9PT0hMCYmKGUucHJlZmVyZW5jZXx8IiIpIT09YixnPXUua2VlcEluY29tZT09PSEwJiZlLmRyYWZ0LmluY29tZVRvdWNoZWQ9PT0hMCxFPXUua2VlcFN0cmF0ZWd5PT09ITAmJm9lKGUuZHJhZnQpLEk9dS5rZWVwT3B0aW9uPT09ITAmJmUuZHJhZnQub3B0aW9uVG91Y2hlZD09PSEwO2lmKG89ZCxlPXthY2NvdW50OntwbGF0Zm9ybTpyLmFjY291bnQucGxhdGZvcm0sa2V5OnIuYWNjb3VudC5rZXl9LHNldHRpbmdzOmQscHJlZmVyZW5jZTpfP2UucHJlZmVyZW5jZTpkLnJpc2s/LnByZWZlcmVuY2V8fCIiLGRlY2xhcmF0aW9uOlQ/ZS5kZWNsYXJhdGlvbjp0ZShkLmRlY2xhcmF0aW9uKSxub3RpY2U6dS5wcmVzZXJ2ZU5vdGljZT9lLm5vdGljZToiIixub3RpY2VHcm91cDp1LnByZXNlcnZlTm90aWNlP2Uubm90aWNlR3JvdXA6IiIsdW5hdmFpbGFibGU6IiIsc2F2aW5nOiIiLHJldmlldzpDZSgpLGRyYWZ0OntzdHJhdGVneTpFP2UuZHJhZnQuc3RyYXRlZ3k6dHlwZW9mIHkuc3RyYXRlZ3lfcHJvZmlsZT09InN0cmluZyI/eS5zdHJhdGVneV9wcm9maWxlOiIiLGZsb29yOm0/ZS5kcmFmdC5mbG9vcjp0eXBlb2YgeS5yZXNlcnZlZF9jYXNoX2Zsb29yPT0ic3RyaW5nIj95LnJlc2VydmVkX2Nhc2hfZmxvb3I6IiIscmF0aW86bT9lLmRyYWZ0LnJhdGlvOnR5cGVvZiB5LnJlc2VydmVkX2Nhc2hfcmF0aW89PSJzdHJpbmciP3kucmVzZXJ2ZWRfY2FzaF9yYXRpbzoiIixwZXJjZW50Om0/ZS5kcmFmdC5wZXJjZW50OiIiLGluY29tZTpnP2UuZHJhZnQuaW5jb21lOkdlKHkpLG9wdGlvbjpJP2UuZHJhZnQub3B0aW9uOl9lKHksIm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiKSxkY2FNb2RlOkU/ZS5kcmFmdC5kY2FNb2RlOnkuZGNhX21vZGU9PT0iZml4ZWQifHx5LmRjYV9tb2RlPT09InNtYXJ0Ij95LmRjYV9tb2RlOmQuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WShkLCJkY2FfbW9kZSIpOiIiLGRjYUFtb3VudDpFP2UuZHJhZnQuZGNhQW1vdW50OnR5cGVvZiB5LmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPT0ic3RyaW5nIj95LmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkOmQuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WShkLCJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCIpOiIiLGRjYVByb2ZpbGU6RT9lLmRyYWZ0LmRjYVByb2ZpbGU6dHlwZW9mIHkuc3RyYXRlZ3lfcHJvZmlsZT09InN0cmluZyI/eS5zdHJhdGVneV9wcm9maWxlOmQuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WShkLCJzdHJhdGVneV9wcm9maWxlIik6IiIsc3RyYXRlZ3lUb3VjaGVkOkU/ZS5kcmFmdC5zdHJhdGVneVRvdWNoZWQ6ITEsaW5jb21lVG91Y2hlZDpnLG9wdGlvblRvdWNoZWQ6SSxmbG9vclRvdWNoZWQ6bT9lLmRyYWZ0LmZsb29yVG91Y2hlZDohMSxyYXRpb1RvdWNoZWQ6bT9lLmRyYWZ0LnJhdGlvVG91Y2hlZDohMSxkY2FUb3VjaGVkOkU/ZS5kcmFmdC5kY2FUb3VjaGVkOiExLGNsZWFyU3RyYXRlZ3k6RT9lLmRyYWZ0LmNsZWFyU3RyYXRlZ3k6ITEsY2xlYXJEY2E6RT9lLmRyYWZ0LmNsZWFyRGNhOiExLGNsZWFyRmxvb3I6bT9lLmRyYWZ0LmNsZWFyRmxvb3I6ITEsY2xlYXJSYXRpbzptP2UuZHJhZnQuY2xlYXJSYXRpbzohMSxjYXNoTW9kZTptP2UuZHJhZnQuY2FzaE1vZGU6IiIsYWNrbm93bGVkZ2U6ITF9fSxwKXtjb25zdCBQPWNlKHAuYm9keSk7ZT17Li4uZSxub3RpY2U6dj9QPT09InJpc2siPyLlgY/lpb3lt7Lkv53lrZgiOlA9PT0iZGVjbGFyYXRpb24iPyLlo7DmmI7lt7Lkv53lrZgiOiLojYnmoYjlt7Lkv53lrZgiOiLnirbmgIHmnKrnn6UiLG5vdGljZUdyb3VwOnY/VWUoey4uLnIsYm9keTpwLmJvZHl9KToiIixyZXZpZXc6ey4uLmUucmV2aWV3LFtQXTohdn19fXJldHVybiEwfSxhcHBseVVuYXZhaWxhYmxlKHIsZCl7cmV0dXJuIGsocik/KGU9ey4uLmUsc2V0dGluZ3M6bnVsbCx1bmF2YWlsYWJsZTpkLHNhdmluZzoiIn0sITApOiExfSxlZGl0KHIpe2lmKCFlLnNldHRpbmdzfHwhaShlLmFjY291bnQpKXJldHVybiExO2NvbnN0e3ByZWZlcmVuY2U6ZCwuLi51fT1yO3JldHVybiBlPXsuLi5lLHByZWZlcmVuY2U6ZD09PXZvaWQgMD9lLnByZWZlcmVuY2U6ZCxkcmFmdDp7Li4uZS5kcmFmdCwuLi51fX0sITB9LGVkaXREZWNsYXJhdGlvbihyKXtyZXR1cm4hZS5zZXR0aW5nc3x8IWkoZS5hY2NvdW50KT8hMTooZT17Li4uZSxkZWNsYXJhdGlvbjp7Li4uZS5kZWNsYXJhdGlvbiwuLi5yfX0sITApfSxzdGFydFNhdmUocil7aWYoZS5zYXZpbmd8fHQuaGFzKHRoaXMuc2VsZWN0ZWRJZCgpKXx8IXN8fCFlLnNldHRpbmdzfHwhaShlLmFjY291bnQpfHxlLnNldHRpbmdzLnBsYXRmb3JtIT09cy5wbGF0Zm9ybXx8ZS5zZXR0aW5ncy5rZXkhPT1zLmtleXx8IWUuc2V0dGluZ3MuaWRlbnRpdHl8fHR5cGVvZiBlLnNldHRpbmdzLmlkZW50aXR5IT0ib2JqZWN0IilyZXR1cm4gbnVsbDtjb25zdCBkPXtwbGF0Zm9ybTpzLnBsYXRmb3JtLGtleTpzLmtleX07bGV0IHU7aWYocj09PSJkZWNsYXJhdGlvbiIpe2lmKGUuc2V0dGluZ3Mub3BlcmF0aW9ucz8uc2F2ZV9kZWNsYXJhdGlvbiE9PSEwfHxlLnJldmlldz8uZGVjbGFyYXRpb258fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihlLnNldHRpbmdzLmRlY2xhcmF0aW9uPy5yZXZpc2lvbikpcmV0dXJuIG51bGw7Y29uc3QgbD10ZShlLnNldHRpbmdzLmRlY2xhcmF0aW9uKTtpZihlLmRlY2xhcmF0aW9uLmVudmlyb25tZW50PT09bC5lbnZpcm9ubWVudCYmZS5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZT09PWwuYWNjb3VudFR5cGUpcmV0dXJuIG51bGw7dT17cGxhdGZvcm06ZC5wbGF0Zm9ybSxrZXk6ZC5rZXksaWRlbnRpdHk6ZS5zZXR0aW5ncy5pZGVudGl0eSxleHBlY3RlZF9kZWNsYXJhdGlvbl9yZXZpc2lvbjplLnNldHRpbmdzLmRlY2xhcmF0aW9uLnJldmlzaW9uLGRlY2xhcmF0aW9uOntlbnZpcm9ubWVudDplLmRlY2xhcmF0aW9uLmVudmlyb25tZW50fHxudWxsLGFjY291bnRfdHlwZTplLmRlY2xhcmF0aW9uLmFjY291bnRUeXBlfHxudWxsfX19ZWxzZSBpZihyPT09InJpc2siKXtpZihlLnNldHRpbmdzLm9wZXJhdGlvbnM/LnNhdmVfcmlza19wcmVmZXJlbmNlIT09ITB8fGUucmV2aWV3Py5yaXNrfHwhTnVtYmVyLmlzU2FmZUludGVnZXIoZS5zZXR0aW5ncy5yaXNrPy5yZXZpc2lvbikpcmV0dXJuIG51bGw7dT17cGxhdGZvcm06ZC5wbGF0Zm9ybSxrZXk6ZC5rZXksaWRlbnRpdHk6ZS5zZXR0aW5ncy5pZGVudGl0eSxleHBlY3RlZF9yaXNrX3JldmlzaW9uOmUuc2V0dGluZ3Mucmlzay5yZXZpc2lvbixyaXNrX3ByZWZlcmVuY2U6ZS5wcmVmZXJlbmNlfHxudWxsfX1lbHNle2lmKGUuc2V0dGluZ3Mub3BlcmF0aW9ucz8uc2F2ZV9kcmFmdCE9PSEwfHxyPT09Im9wdGlvbiImJihlLmRyYWZ0Lm9wdGlvbj09PSJ0cnVlInx8ZS5kcmFmdC5vcHRpb249PT0iZmFsc2UiKSYmZS5zZXR0aW5ncy5vcGVyYXRpb25zPy5zYXZlX29wdGlvbl9kcmFmdCE9PSEwfHxlLnJldmlldz8uZHJhZnR8fGUuc2V0dGluZ3MuZHJhZnQ/LnN0YXR1cz09PSJpZGVudGl0eV9jb25mbGljdCImJiFlLmRyYWZ0LmFja25vd2xlZGdlKXJldHVybiBudWxsO2NvbnN0IGw9cj09PSJpbmNvbWUifHxyPT09ImNhc2gifHxyPT09Im9wdGlvbiJ8fHI9PT0ic3RyYXRlZ3kiP3I6ImFsbCIsdj1XZShlLmRyYWZ0LGwpO2lmKHI9PT0ic3RyYXRlZ3kiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZ8fHt9LCJzdHJhdGVneV9wcm9maWxlIil8fCF2fHwhT2JqZWN0LmtleXModikubGVuZ3RofHwhTnVtYmVyLmlzU2FmZUludGVnZXIoZS5zZXR0aW5ncy5kcmFmdD8ucmV2aXNpb24pKXJldHVybiBudWxsO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnNldHRpbmdzLmRyYWZ0Py5vdmVycmlkZXN8fHt9LCJvcHRpb25fb3ZlcmxheV9lbmFibGVkIikmJih2Lm9wdGlvbl9vdmVybGF5X2VuYWJsZWQ9bnVsbCksdT17cGxhdGZvcm06ZC5wbGF0Zm9ybSxrZXk6ZC5rZXksLi4uVnQoe2V4cGVjdGVkRHJhZnRSZXZpc2lvbjplLnNldHRpbmdzLmRyYWZ0LnJldmlzaW9uLGlkZW50aXR5OmUuc2V0dGluZ3MuaWRlbnRpdHksb3ZlcnJpZGVzOnYsYWNrbm93bGVkZ2VJZGVudGl0eUNvbmZsaWN0OmUuc2V0dGluZ3MuZHJhZnQ/LnN0YXR1cz09PSJpZGVudGl0eV9jb25mbGljdCImJmUuZHJhZnQuYWNrbm93bGVkZ2V9KX19aWYodS5wbGF0Zm9ybSE9PWQucGxhdGZvcm18fHUua2V5IT09ZC5rZXkpcmV0dXJuIG51bGw7Y29uc3QgcD1hLmJlZ2luKCk7cmV0dXJuIGM9e3Rva2VuOnAsYm9keTpyZSh1KSxkcmFmdDpyZSh7c3RhdHVzOmUuc2V0dGluZ3MuZHJhZnQuc3RhdHVzLHJldmlzaW9uOmUuc2V0dGluZ3MuZHJhZnQucmV2aXNpb24saWRlbnRpdHk6ZS5zZXR0aW5ncy5kcmFmdC5pZGVudGl0eSxjdXJyZW50X2lkZW50aXR5OmUuc2V0dGluZ3MuZHJhZnQuY3VycmVudF9pZGVudGl0eSxvdmVycmlkZXM6ZS5zZXR0aW5ncy5kcmFmdC5vdmVycmlkZXN8fHt9fSkscmlzazpyZSh7cmV2aXNpb246ZS5zZXR0aW5ncy5yaXNrLnJldmlzaW9uLHNjb3BlX2lkOmUuc2V0dGluZ3Mucmlzay5zY29wZV9pZCxwcmVmZXJlbmNlOmUuc2V0dGluZ3Mucmlzay5wcmVmZXJlbmNlfHxudWxsfSksZGVjbGFyYXRpb246cmUoe3ByZXNlbnQ6VShlLnNldHRpbmdzLmRlY2xhcmF0aW9uKSxzdGF0dXM6dHlwZW9mIGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LnN0YXR1cz09InN0cmluZyI/ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbi5zdGF0dXM6ImVtcHR5Iixzb3VyY2U6dHlwZW9mIGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LnNvdXJjZT09InN0cmluZyI/ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbi5zb3VyY2U6bnVsbCxyZXZpc2lvbjpOdW1iZXIuaXNTYWZlSW50ZWdlcihlLnNldHRpbmdzLmRlY2xhcmF0aW9uPy5yZXZpc2lvbik/ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbi5yZXZpc2lvbjowLGVudmlyb25tZW50OmUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LmVudmlyb25tZW50PT09ImxpdmUifHxlLnNldHRpbmdzLmRlY2xhcmF0aW9uPy5lbnZpcm9ubWVudD09PSJwYXBlciI/ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbi5lbnZpcm9ubWVudDpudWxsLGFjY291bnRfdHlwZTplLnNldHRpbmdzLmRlY2xhcmF0aW9uPy5hY2NvdW50X3R5cGU9PT0iY2FzaCJ8fGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LmFjY291bnRfdHlwZT09PSJtYXJnaW4iP2Uuc2V0dGluZ3MuZGVjbGFyYXRpb24uYWNjb3VudF90eXBlOm51bGx9KX0se3Rva2VuOnAsYWNjb3VudDpkLGtpbmQ6InNhdmUiLGJvZHk6cmUodSl9fSxyZXF1ZXN0Qm9keShyKXtyZXR1cm4hcj8uYm9keXx8IWsocil8fHIuYm9keS5wbGF0Zm9ybSE9PXIuYWNjb3VudC5wbGF0Zm9ybXx8ci5ib2R5LmtleSE9PXIuYWNjb3VudC5rZXk/bnVsbDpyLmJvZHl9LG1hcmtTYXZpbmcocixkKXtyZXR1cm4gZS5zYXZpbmd8fCFrKHIpPyExOihjPy50b2tlbj09PXIudG9rZW4mJnQuc2V0KHRoaXMuc2VsZWN0ZWRJZCgpLGMpLGU9ey4uLmUsc2F2aW5nOmQsbm90aWNlOiIifSwhMCl9LGFwcGx5U2F2ZShyLGQsdSl7aWYoIWsocikpcmV0dXJuITE7Y29uc3QgcD10LmdldCh0aGlzLnNlbGVjdGVkSWQoKSk7aWYocCYmcCE9PWN8fGUuc2F2aW5nJiYhcClyZXR1cm4hMTtpZighY3x8Yy50b2tlbiE9PXIudG9rZW58fCFYKHIuYm9keSxjLmJvZHkpfHwhamUoYyxkKSl7Yz8udG9rZW49PT1yLnRva2VuJiZ0LnNldCh0aGlzLnNlbGVjdGVkSWQoKSxjKTtjb25zdCBzZT1jPy50b2tlbj09PXIudG9rZW4/Y2UoYy5ib2R5KToiZHJhZnQiO3JldHVybiBlPXsuLi5lLG5vdGljZToi54q25oCB5pyq55+lIixub3RpY2VHcm91cDoiIixyZXZpZXc6ey4uLmUucmV2aWV3LFtzZV06ITB9fSwhMX10LmRlbGV0ZSh0aGlzLnNlbGVjdGVkSWQoKSk7Y29uc3QgbD1yLmJvZHk/Lm92ZXJyaWRlcyx2PVdlKGUuZHJhZnQsImNhc2giKSx5PSEhKGwmJihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCwicmVzZXJ2ZWRfY2FzaF9mbG9vciIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCwicmVzZXJ2ZWRfY2FzaF9yYXRpbyIpKSksYj0hIShsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCwiaW5jb21lX2xheWVyX2VuYWJsZWQiKSksbT0hIShsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCwib3B0aW9uX292ZXJsYXlfZW5hYmxlZCIpKSxoPSEhKGwmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJzdHJhdGVneV9wcm9maWxlIikpLFQ9ISEobCYmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJkY2FfbW9kZSIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCwiZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiKSkpLF89ISEoci5ib2R5JiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoci5ib2R5LCJyaXNrX3ByZWZlcmVuY2UiKSksZz0hIShyLmJvZHkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLmJvZHksImRlY2xhcmF0aW9uIikpLEU9ZS5kcmFmdC5pbmNvbWU9PT0idHJ1ZSI/ITA6ZS5kcmFmdC5pbmNvbWU9PT0iZmFsc2UiPyExOm51bGwsST1lLmRyYWZ0Lm9wdGlvbj09PSJ0cnVlIj8hMDplLmRyYWZ0Lm9wdGlvbj09PSJmYWxzZSI/ITE6bnVsbCxQPWVlKGUuZHJhZnQpJiYodj09PW51bGx8fFsicmVzZXJ2ZWRfY2FzaF9mbG9vciIsInJlc2VydmVkX2Nhc2hfcmF0aW8iXS5zb21lKHNlPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodixzZSk/IWx8fCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxzZSl8fGxbc2VdIT09dltzZV06ITEpKSxTPWUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwJiYhKGImJmw/LmluY29tZV9sYXllcl9lbmFibGVkPT09RSksJD1lLmRyYWZ0Lm9wdGlvblRvdWNoZWQ9PT0hMCYmIShtJiZsPy5vcHRpb25fb3ZlcmxheV9lbmFibGVkPT09SSksQz1oJiYoZS5kcmFmdC5jbGVhclN0cmF0ZWd5JiZsPy5zdHJhdGVneV9wcm9maWxlPT09bnVsbHx8ZS5kcmFmdC5zdHJhdGVneVRvdWNoZWQmJmw/LnN0cmF0ZWd5X3Byb2ZpbGU9PT1lLmRyYWZ0LnN0cmF0ZWd5fHwoZS5kcmFmdC5kY2FUb3VjaGVkfHxlLmRyYWZ0LmNsZWFyRGNhKSYmbD8uc3RyYXRlZ3lfcHJvZmlsZT09PWUuZHJhZnQuZGNhUHJvZmlsZSksTT1lLmRyYWZ0LnN0cmF0ZWd5VG91Y2hlZD09PSEwJiYhQyxxPVQmJihlLmRyYWZ0LmNsZWFyRGNhJiZsPy5kY2FfbW9kZT09PW51bGwmJmw/LmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPT09bnVsbHx8IWUuZHJhZnQuY2xlYXJEY2EmJmw/LmRjYV9tb2RlPT09ZS5kcmFmdC5kY2FNb2RlJiZsPy5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZD09PWUuZHJhZnQuZGNhQW1vdW50KSxMPShlLmRyYWZ0LmRjYVRvdWNoZWQ9PT0hMHx8ZS5kcmFmdC5jbGVhckRjYT09PSEwKSYmIXEsVj1NfHxMLHg9dHlwZW9mKGUuc2V0dGluZ3N8fG8pPy5yaXNrPy5wcmVmZXJlbmNlPT0ic3RyaW5nIj8oZS5zZXR0aW5nc3x8bykucmlzay5wcmVmZXJlbmNlOiIiLGo9Xz8oZS5wcmVmZXJlbmNlfHwiIikhPT0oci5ib2R5Py5yaXNrX3ByZWZlcmVuY2V8fCIiKTooZS5wcmVmZXJlbmNlfHwiIikhPT14LE89ZS5yZXZpZXd8fENlKCksRD1lLnNldHRpbmdzfHxvLEY9IWdlKEQ/LmlkZW50aXR5LGQ/LmlkZW50aXR5KSxmPWVlKGUuZHJhZnQpfHxlLmRyYWZ0LmluY29tZVRvdWNoZWQ9PT0hMHx8ZS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITB8fG9lKGUuZHJhZnQpLE49IXkmJiFiJiYhbSYmIWgmJiFUJiZmJiYoRnx8RD8uZHJhZnQ/LnJldmlzaW9uIT09ZD8uZHJhZnQ/LnJldmlzaW9uKSxBPSFfJiZqJiYoRnx8RD8ucmlzaz8ucmV2aXNpb24hPT1kPy5yaXNrPy5yZXZpc2lvbiksdz1yLmJvZHk/LmRlY2xhcmF0aW9uJiZ0eXBlb2Ygci5ib2R5LmRlY2xhcmF0aW9uPT0ib2JqZWN0Ij9yLmJvZHkuZGVjbGFyYXRpb246e30sQj10eXBlb2Ygdy5lbnZpcm9ubWVudD09InN0cmluZyI/dy5lbnZpcm9ubWVudDoiIixLPXR5cGVvZiB3LmFjY291bnRfdHlwZT09InN0cmluZyI/dy5hY2NvdW50X3R5cGU6IiIsRz10ZShEPy5kZWNsYXJhdGlvbiksSD1nP2UuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQhPT1CfHxlLmRlY2xhcmF0aW9uLmFjY291bnRUeXBlIT09SzplLmRlY2xhcmF0aW9uLmVudmlyb25tZW50IT09Ry5lbnZpcm9ubWVudHx8ZS5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZSE9PUcuYWNjb3VudFR5cGUsVz0hZyYmSCYmKEZ8fEQ/LmRlY2xhcmF0aW9uPy5yZXZpc2lvbiE9PWQ/LmRlY2xhcmF0aW9uPy5yZXZpc2lvbik7aWYoIXRoaXMuYXBwbHlSZWFkKHIsZCx7a2VlcENhc2g6eT9QOmVlKGUuZHJhZnQpLGtlZXBJbmNvbWU6Yj9TOmUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwLGtlZXBPcHRpb246bT8kOmUuZHJhZnQub3B0aW9uVG91Y2hlZD09PSEwLGtlZXBTdHJhdGVneTpofHxUP1Y6b2UoZS5kcmFmdCksa2VlcFByZWZlcmVuY2U6aixrZWVwRGVjbGFyYXRpb246SH0pKXJldHVybiExO2NvbnN0IGFlPXl8fGJ8fG18fGh8fFQsTWU9eSYmKFN8fCR8fFYpfHxiJiYoUHx8JHx8Vil8fG0mJihQfHxTfHxWKXx8KGh8fFQpJiYoUHx8U3x8JCk7cmV0dXJuIGU9ey4uLmUsbm90aWNlOnUsbm90aWNlR3JvdXA6VWUociksc2F2aW5nOiIiLHJldmlldzp7ZHJhZnQ6YWU/ISEoRiYmTWUpOk8uZHJhZnR8fE4scmlzazpfPyExOk8ucmlza3x8QSxkZWNsYXJhdGlvbjpnPyExOk8uZGVjbGFyYXRpb258fFd9fSwhMH0sZmFpbChyLGQsdT0hMSl7aWYoIWsocikpcmV0dXJuITE7Y29uc3QgcD10LmdldCh0aGlzLnNlbGVjdGVkSWQoKSk7aWYocCYmcCE9PWN8fHUmJiFwKXJldHVybiExO3U/Yz8udG9rZW49PT1yLnRva2VuJiZ0LnNldCh0aGlzLnNlbGVjdGVkSWQoKSxjKTp0LmRlbGV0ZSh0aGlzLnNlbGVjdGVkSWQoKSk7Y29uc3QgbD1jP2NlKGMuYm9keSk6ImRyYWZ0IjtyZXR1cm4gZT17Li4uZSxub3RpY2U6dT8i54q25oCB5pyq55+lIjpkLG5vdGljZUdyb3VwOiIiLHNhdmluZzoiIixyZXZpZXc6dT97Li4uZS5yZXZpZXcsW2xdOiEwfTplLnJldmlld30sITB9LGFwcGx5UmVmcmVzaChyLGQpe2lmKCFrKHIpKXJldHVybiExO2NvbnN0IHU9ZSxwPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtpZihwJiZqZShwLGQpKXtjPXsuLi5wLHRva2VuOnIudG9rZW59LHQuc2V0KHRoaXMuc2VsZWN0ZWRJZCgpLGMpO2NvbnN0IEM9Y2UocC5ib2R5KTtyZXR1cm4gdGhpcy5hcHBseVNhdmUoey4uLnIsYm9keTpyZShwLmJvZHkpfSxkLEM9PT0icmlzayI/IuWBj+WlveW3suS/neWtmCI6Qz09PSJkZWNsYXJhdGlvbiI/IuWjsOaYjuW3suS/neWtmCI6IuiNieahiOW3suS/neWtmCIpfWNvbnN0IGw9cD8i54q25oCB5pyq55+lIjp1Lm5vdGljZSx2PXUuc2V0dGluZ3N8fG8seT1lZSh1LmRyYWZ0KSxiPXUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwLG09dS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITAsaD1vZSh1LmRyYWZ0KSxUPXR5cGVvZiB2Py5yaXNrPy5wcmVmZXJlbmNlPT0ic3RyaW5nIj92LnJpc2sucHJlZmVyZW5jZToiIixfPSh1LnByZWZlcmVuY2V8fCIiKSE9PVQsZz10ZSh2Py5kZWNsYXJhdGlvbiksRT11LmRlY2xhcmF0aW9uLmVudmlyb25tZW50IT09Zy5lbnZpcm9ubWVudHx8dS5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZSE9PWcuYWNjb3VudFR5cGUsST0hZ2Uodj8uaWRlbnRpdHksZD8uaWRlbnRpdHkpLFA9TnVtYmVyKHY/LmRyYWZ0Py5yZXZpc2lvbikhPT1OdW1iZXIoZD8uZHJhZnQ/LnJldmlzaW9uKSxTPU51bWJlcih2Py5yaXNrPy5yZXZpc2lvbikhPT1OdW1iZXIoZD8ucmlzaz8ucmV2aXNpb24pLCQ9TnVtYmVyKHY/LmRlY2xhcmF0aW9uPy5yZXZpc2lvbikhPT1OdW1iZXIoZD8uZGVjbGFyYXRpb24/LnJldmlzaW9uKTtyZXR1cm4gdGhpcy5hcHBseVJlYWQocixkLHtwcmVzZXJ2ZU5vdGljZTohMCxrZWVwQ2FzaDohMCxrZWVwUHJlZmVyZW5jZTohMCxrZWVwSW5jb21lOiEwLGtlZXBPcHRpb246ITAsa2VlcFN0cmF0ZWd5OiEwLGtlZXBEZWNsYXJhdGlvbjohMH0pPyhlPXsuLi5lLG5vdGljZTpsLHNhdmluZzoiIixyZXZpZXc6e2RyYWZ0OiEhdS5yZXZpZXc/LmRyYWZ0fHwoeXx8Ynx8bXx8aCkmJihJfHxQKSxyaXNrOiEhdS5yZXZpZXc/LnJpc2t8fF8mJihJfHxTKSxkZWNsYXJhdGlvbjohIXUucmV2aWV3Py5kZWNsYXJhdGlvbnx8RSYmKEl8fCQpfX0sITApOiExfSxhY2tub3dsZWRnZVJldmlldyhyKXtjb25zdCBkPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtyZXR1cm4gZCYmY2UoZC5ib2R5KT09PXJ8fCFlLnJldmlldz8uW3JdPyExOihlPXsuLi5lLHJldmlldzp7Li4uZS5yZXZpZXcsW3JdOiExfX0sITApfSxyZXZlcnREcmFmdCgpe2lmKCFlLnNldHRpbmdzKXJldHVybiExO2NvbnN0IHI9ZS5zZXR0aW5ncy5kcmFmdD8ub3ZlcnJpZGVzfHx7fTtyZXR1cm4gZT17Li4uZSxyZXZpZXc6e2RyYWZ0OiExLHJpc2s6ISFlLnJldmlldz8ucmlzayxkZWNsYXJhdGlvbjohIWUucmV2aWV3Py5kZWNsYXJhdGlvbn0sZHJhZnQ6ey4uLmZ0KCksc3RyYXRlZ3k6dHlwZW9mIHIuc3RyYXRlZ3lfcHJvZmlsZT09InN0cmluZyI/ci5zdHJhdGVneV9wcm9maWxlOiIiLGRjYU1vZGU6ci5kY2FfbW9kZT09PSJmaXhlZCJ8fHIuZGNhX21vZGU9PT0ic21hcnQiP3IuZGNhX21vZGU6ZS5zZXR0aW5ncy5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9ZKGUuc2V0dGluZ3MsImRjYV9tb2RlIik6IiIsZGNhQW1vdW50OnR5cGVvZiByLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPT0ic3RyaW5nIj9yLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkOmUuc2V0dGluZ3MuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WShlLnNldHRpbmdzLCJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCIpOiIiLGRjYVByb2ZpbGU6dHlwZW9mIHIuc3RyYXRlZ3lfcHJvZmlsZT09InN0cmluZyI/ci5zdHJhdGVneV9wcm9maWxlOmUuc2V0dGluZ3MuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WShlLnNldHRpbmdzLCJzdHJhdGVneV9wcm9maWxlIik6IiIsZmxvb3I6dHlwZW9mIHIucmVzZXJ2ZWRfY2FzaF9mbG9vcj09InN0cmluZyI/ci5yZXNlcnZlZF9jYXNoX2Zsb29yOiIiLHJhdGlvOnR5cGVvZiByLnJlc2VydmVkX2Nhc2hfcmF0aW89PSJzdHJpbmciP3IucmVzZXJ2ZWRfY2FzaF9yYXRpbzoiIixpbmNvbWU6R2Uociksb3B0aW9uOl9lKHIsIm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiKX19LCEwfSxyZXZlcnRDYXNoKCl7aWYoIWUuc2V0dGluZ3MpcmV0dXJuITE7Y29uc3Qgcj1lLnNldHRpbmdzLmRyYWZ0Py5vdmVycmlkZXN8fHt9LGQ9ZS5kcmFmdC5pbmNvbWVUb3VjaGVkPT09ITB8fGUuZHJhZnQub3B0aW9uVG91Y2hlZD09PSEwfHxvZShlLmRyYWZ0KTtyZXR1cm4gZT17Li4uZSxyZXZpZXc6e2RyYWZ0OmQ/ISFlLnJldmlldz8uZHJhZnQ6ITEscmlzazohIWUucmV2aWV3Py5yaXNrLGRlY2xhcmF0aW9uOiEhZS5yZXZpZXc/LmRlY2xhcmF0aW9ufSxkcmFmdDp7Li4uZS5kcmFmdCxmbG9vcjp0eXBlb2Ygci5yZXNlcnZlZF9jYXNoX2Zsb29yPT0ic3RyaW5nIj9yLnJlc2VydmVkX2Nhc2hfZmxvb3I6IiIscmF0aW86dHlwZW9mIHIucmVzZXJ2ZWRfY2FzaF9yYXRpbz09InN0cmluZyI/ci5yZXNlcnZlZF9jYXNoX3JhdGlvOiIiLHBlcmNlbnQ6IiIsZmxvb3JUb3VjaGVkOiExLHJhdGlvVG91Y2hlZDohMSxjbGVhckZsb29yOiExLGNsZWFyUmF0aW86ITEsY2FzaE1vZGU6IiJ9fSwhMH0scmV2ZXJ0U3RyYXRlZ3koKXtpZighZS5zZXR0aW5ncylyZXR1cm4hMTtjb25zdCByPWUuc2V0dGluZ3MuZHJhZnQ/Lm92ZXJyaWRlc3x8e30sZD1lZShlLmRyYWZ0KXx8ZS5kcmFmdC5pbmNvbWVUb3VjaGVkPT09ITB8fGUuZHJhZnQub3B0aW9uVG91Y2hlZD09PSEwLHU9ZS5zZXR0aW5ncy5kcmFmdD8ub3ZlcnJpZGVzfHx7fTtyZXR1cm4gZT17Li4uZSxyZXZpZXc6e2RyYWZ0OmQ/ISFlLnJldmlldz8uZHJhZnQ6ITEscmlzazohIWUucmV2aWV3Py5yaXNrLGRlY2xhcmF0aW9uOiEhZS5yZXZpZXc/LmRlY2xhcmF0aW9ufSxkcmFmdDp7Li4uZS5kcmFmdCxzdHJhdGVneTp0eXBlb2Ygci5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj9yLnN0cmF0ZWd5X3Byb2ZpbGU6IiIsZGNhTW9kZTp1LmRjYV9tb2RlPT09ImZpeGVkInx8dS5kY2FfbW9kZT09PSJzbWFydCI/dS5kY2FfbW9kZTplLnNldHRpbmdzLmN1cnJlbnRfZGNhX3N1cHBvcnRlZD09PSEwP1koZS5zZXR0aW5ncywiZGNhX21vZGUiKToiIixkY2FBbW91bnQ6dHlwZW9mIHUuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9PSJzdHJpbmciP3UuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q6ZS5zZXR0aW5ncy5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9ZKGUuc2V0dGluZ3MsImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIik6IiIsZGNhUHJvZmlsZTp0eXBlb2YgdS5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj91LnN0cmF0ZWd5X3Byb2ZpbGU6ZS5zZXR0aW5ncy5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9ZKGUuc2V0dGluZ3MsInN0cmF0ZWd5X3Byb2ZpbGUiKToiIixzdHJhdGVneVRvdWNoZWQ6ITEsZGNhVG91Y2hlZDohMSxjbGVhclN0cmF0ZWd5OiExLGNsZWFyRGNhOiExfX0sITB9LHJldmVydE9wdGlvbigpe2lmKCFlLnNldHRpbmdzKXJldHVybiExO2NvbnN0IHI9ZS5zZXR0aW5ncy5kcmFmdD8ub3ZlcnJpZGVzfHx7fSxkPWVlKGUuZHJhZnQpfHxlLmRyYWZ0LmluY29tZVRvdWNoZWQ9PT0hMHx8b2UoZS5kcmFmdCk7cmV0dXJuIGU9ey4uLmUscmV2aWV3OntkcmFmdDpkPyEhZS5yZXZpZXc/LmRyYWZ0OiExLHJpc2s6ISFlLnJldmlldz8ucmlzayxkZWNsYXJhdGlvbjohIWUucmV2aWV3Py5kZWNsYXJhdGlvbn0sZHJhZnQ6ey4uLmUuZHJhZnQsb3B0aW9uOl9lKHIsIm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiKSxvcHRpb25Ub3VjaGVkOiExfX0sITB9LHJldmVydFJpc2soKXtyZXR1cm4gZS5zZXR0aW5ncz8oZT17Li4uZSxwcmVmZXJlbmNlOnR5cGVvZiBlLnNldHRpbmdzLnJpc2s/LnByZWZlcmVuY2U9PSJzdHJpbmciP2Uuc2V0dGluZ3Mucmlzay5wcmVmZXJlbmNlOiIiLHJldmlldzp7ZHJhZnQ6ISFlLnJldmlldz8uZHJhZnQscmlzazohMSxkZWNsYXJhdGlvbjohIWUucmV2aWV3Py5kZWNsYXJhdGlvbn19LCEwKTohMX0scmV2ZXJ0RGVjbGFyYXRpb24oKXtyZXR1cm4gZS5zZXR0aW5ncz8oZT17Li4uZSxkZWNsYXJhdGlvbjp0ZShlLnNldHRpbmdzLmRlY2xhcmF0aW9uKSxyZXZpZXc6ey4uLmUucmV2aWV3LGRlY2xhcmF0aW9uOiExfX0sITApOiExfSxmaW5pc2gocil7cmV0dXJuIGsocik/KGU9ey4uLmUsc2F2aW5nOiIifSwhMCk6ITF9fX1jb25zdCBPbj1uZXcgTWFwO2Z1bmN0aW9uIENuKHtwbGF0Zm9ybTp0LGFjY291bnRLZXk6YX0pe2NvbnN0IHM9eigpLGU9Ui51c2VSZWYocHQoT24pKS5jdXJyZW50LFssb109Ui51c2VTdGF0ZSgwKSxbYyxpXT1SLnVzZVN0YXRlKDApLFtrLHJdPVIudXNlU3RhdGUoImxvYWRpbmciKSxbZCx1XT1SLnVzZVN0YXRlKCIiKSxbcCxsXT1SLnVzZVN0YXRlKCIiKSx2PSgpPT5vKEM9PkMrMSkseT1lLnZpZXcoKSxiPXkuc2V0dGluZ3M7Ui51c2VFZmZlY3QoKCk9Pntjb25zdCBDPWAke3R9OiR7YX1gLE09ZS5zZWxlY3RlZElkKCk9PT1DO2lmKE0mJmUudmlldygpLnNhdmluZylyZXR1cm47Y29uc3QgcT1NJiYhIWUudmlldygpLnNldHRpbmdzLEw9TT9lLnN0YXJ0KCJyZWZyZXNoIik6ZS5zZWxlY3Qoe3BsYXRmb3JtOnQsa2V5OmF9KTtyKHE/InJlZnJlc2hpbmciOiJsb2FkaW5nIiksdSgiIiksbCgiIik7bGV0IFY9ITE7cmV0dXJuKGFzeW5jKCk9Pnt0cnl7Y29uc3QgeD1hd2FpdCBpZSh0LGEpO2lmKFYpcmV0dXJuO2lmKCEoTT9lLmFwcGx5UmVmcmVzaChMLHgpOmUuYXBwbHlSZWFkKEwseCkpKXtpZihlLmlzQ3VycmVudChMKSl0aHJvdyBuZXcgRXJyb3IoImFjY291bnRfc2V0dGluZ3NfcmVhZGJhY2tfbWlzbWF0Y2giKTtyZXR1cm59cigicmVhZHkiKSx2KCl9Y2F0Y2goeCl7aWYoVilyZXR1cm47Y29uc3Qgaj1OdW1iZXIoeD8uc3RhdHVzfHwwKSxPPWo9PT00MDF8fGo9PT00MDM/ImRlbmllZCI6eD8ubWVzc2FnZT09PSJhY2NvdW50X3NldHRpbmdzX3JlYWRiYWNrX21pc21hdGNoIj8ibWlzbWF0Y2giOiJ1bmF2YWlsYWJsZSI7aWYocSl7aWYoIWUuaXNDdXJyZW50KEwpKXJldHVybjtlLmFiYW5kb24oTCksdShPKSxyKCJzdGFsZSIpLHYoKTtyZXR1cm59aWYoIWUuYXBwbHlVbmF2YWlsYWJsZShMLCIiKSlyZXR1cm47cigiZmFpbGVkIiksdigpfX0pKCksKCk9PntWPSEwLGUuYWJhbmRvbihMKX19LFt0LGEsYyxlXSk7Y29uc3QgbT1hc3luYygpPT57Y29uc3QgQz1lLnN0YXJ0U2F2ZSgicmlzayIpLE09ZS5yZXF1ZXN0Qm9keShDKTtpZighQ3x8IU18fCFlLm1hcmtTYXZpbmcoQywicmlzayIpKXJldHVybjtsKCIiKSx2KCk7bGV0IHE9ITEsTD0iIixWPW51bGw7dHJ5e2NvbnN0IGY9YXdhaXQgbmUoIi9hcGkvYWNjb3VudC1zZXR0aW5ncyIsTSk7aWYoIWUuaXNDdXJyZW50KEMpKXJldHVybjtxPWUuYXBwbHlTYXZlKEMsZiwiIikscSYmKFY9Zi5yaXNrPy5yZXZpc2lvbikscXx8KEw9InVua25vd24iKX1jYXRjaChmKXtmPy5zdGF0dXM9PT00MDk/KEw9ImNvbmZsaWN0IixlLmZhaWwoQywiIiwhMSkpOihMPSJ1bmtub3duIixlLmZhaWwoQywiIiwhMCkpfWZpbmFsbHl7ZS5maW5pc2goQykmJnYoKX1pZighZS5pc0N1cnJlbnQoQykpcmV0dXJuO3YoKTtjb25zdCB4PWUuc3RhcnQoInJlZnJlc2giKSxqPWF3YWl0IGR0KGUseCwoKT0+aWUodCxhKSk7aWYodigpLGouc3RhdHVzPT09InN1cGVyc2VkZWQiKXJldHVybjtpZihqLnN0YXR1cz09PSJmYWlsZWQiKXtsKHE/InVudmVyaWZpZWQiOkw9PT0iY29uZmxpY3QiPyJjb25mbGljdCI6IiIpO3JldHVybn1pZihMPT09ImNvbmZsaWN0Iil7bCgiY29uZmxpY3QiKTtyZXR1cm59aWYoIXEpe2UudmlldygpLnJldmlldy5yaXNrfHxsKCJzYXZlZCIpO3JldHVybn1jb25zdCBPPWUudmlldygpLnNldHRpbmdzLEQ9dHlwZW9mIE8/LnJpc2s/LnByZWZlcmVuY2U9PSJzdHJpbmciP08/LnJpc2s/LnByZWZlcmVuY2U6IiIsRj1NLnJpc2tfcHJlZmVyZW5jZT09PW51bGx8fE0ucmlza19wcmVmZXJlbmNlPT09dm9pZCAwPyIiOlN0cmluZyhNLnJpc2tfcHJlZmVyZW5jZSk7bChEPT09RiYmZ2UoTz8uaWRlbnRpdHksTS5pZGVudGl0eSkmJk8/LnJpc2s/LnJldmlzaW9uPT09Vj8ic2F2ZWQiOiJtaXNtYXRjaCIpfSxoPWI/Lm9wZXJhdGlvbnM/LnNhdmVfcmlza19wcmVmZXJlbmNlPT09ITAsVD10eXBlb2YgYj8ucmlzaz8ucHJlZmVyZW5jZT09InN0cmluZyI/Yj8ucmlzaz8ucHJlZmVyZW5jZToiIixfPXkucHJlZmVyZW5jZSE9PSIiJiYhWyJDQVBJVEFMX1BSRVNFUlZBVElPTiIsIkJBTEFOQ0VEX0NPTVBPVU5ESU5HIiwiR1JPV1RIX0NPTVBPVU5ESU5HIl0uaW5jbHVkZXMoeS5wcmVmZXJlbmNlKSxnPWUucmlza0RpcnR5KCksRT0hIShiPy5pZGVudGl0eSYmdHlwZW9mIGIuaWRlbnRpdHk9PSJvYmplY3QiJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihiPy5yaXNrPy5yZXZpc2lvbikpLEk9az09PSJyZWFkeSImJmgmJiF5LnNhdmluZyYmcCE9PSJ1bnZlcmlmaWVkIiYmcCE9PSJtaXNtYXRjaCIsUD1JJiZFJiZnJiYheS5yZXZpZXcucmlzayYmIV8sUz1wPT09ImNvbmZsaWN0Ij97dG9uZToiZXJyb3IiLHRleHQ6cygicmlzay5jb25mbGljdCIpfTpwPT09Im1pc21hdGNoIj97dG9uZToiZXJyb3IiLHRleHQ6cygicmlzay5taXNtYXRjaCIpfTpwPT09InVudmVyaWZpZWQiP3t0b25lOiJlcnJvciIsdGV4dDpzKCJyaXNrLnVudmVyaWZpZWQiKX06cD09PSJzYXZlZCI/e3RvbmU6InN1Y2Nlc3MiLHRleHQ6cygicmlzay5zYXZlZCIpfTp5LnJldmlldy5yaXNrP3t0b25lOiJlcnJvciIsdGV4dDpzKCJyaXNrLnJldmlldyIpfTpudWxsLCQ9cyhkPT09ImRlbmllZCI/InJpc2suZGVuaWVkIjpkPT09Im1pc21hdGNoIj8icmlzay5yZWFkTWlzbWF0Y2giOiJyaXNrLnJlYWRGYWlsZWQiKTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJyaXNrLnRpdGxlIil9KSxuLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpzKCJyaXNrLm5vdGUiKX0pLGs9PT0ibG9hZGluZyImJm4uanN4KFose2hlaWdodDo5Nn0pLGs9PT0iZmFpbGVkIiYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSBlcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOlskLCIgIixuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnRzLWFsaWFzLWJ1dHRvbiIsb25DbGljazooKT0+aShDPT5DKzEpLGNoaWxkcmVuOnMoInJpc2sucmVyZWFkIil9KV19KSxrPT09InN0YWxlIiYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSBlcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOlskLCIgIixzKCJyaXNrLnN0YWxlIiksIiAiLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOigpPT5pKEM9PkMrMSksY2hpbGRyZW46cygicmlzay5yZXJlYWQiKX0pXX0pLFMmJm4uanN4cygicCIse2NsYXNzTmFtZTpgYWNjb3VudHMtaW5saW5lLW5vdGUgJHtTLnRvbmV9YCxyb2xlOlMudG9uZT09PSJzdWNjZXNzIj8ic3RhdHVzIjoiYWxlcnQiLGNoaWxkcmVuOltTLnRleHQsIiAiLFMudG9uZSE9PSJzdWNjZXNzIiYmbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6KCk9PmkoQz0+QysxKSxjaGlsZHJlbjpzKCJyaXNrLnJlcmVhZCIpfSldfSkseS5zYXZpbmcmJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpzKCJyaXNrLnNhdmluZyIpfSksayE9PSJsb2FkaW5nIiYmYiYmbi5qc3hzKG4uRnJhZ21lbnQse2NoaWxkcmVuOltuLmpzeChDdCx7c2NvcGU6YCR7dH06JHthfWAsdmFsdWU6eS5wcmVmZXJlbmNlLHNhdmVkVmFsdWU6VCxzZWxlY3Rpb25SZXZpc2lvbjp0eXBlb2YgYj8ucmlzaz8ucmV2aXNpb249PSJudW1iZXIiP2Iucmlzay5yZXZpc2lvbjpudWxsLG1hcHBpbmdBdmFpbGFibGU6IV8sZGlzYWJsZWQ6IUksc2F2aW5nOiEheS5zYXZpbmcsZGlydHk6ZyxvbkNoYW5nZTpDPT57bCgiIiksZS5lZGl0KHtwcmVmZXJlbmNlOkN9KSx2KCl9LG9uU2F2ZTooKT0+e1AmJm0oKX19KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtdG9vbGJhciIsY2hpbGRyZW46W2cmJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PntlLnJldmVydFJpc2soKSxsKCIiKSx2KCl9LGNoaWxkcmVuOnMoInJpc2suZGlzY2FyZCIpfSksIWgmJm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnMoInJpc2suZ2F0ZSIpfSldfSkseS5yZXZpZXcucmlzayYmbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6KCk9PntlLmFja25vd2xlZGdlUmV2aWV3KCJyaXNrIil8fGkoQz0+QysxKSx2KCl9LGNoaWxkcmVuOnMoInJpc2suYWNrIil9KV19KV19KX1jb25zdCBBbj1uZXcgTWFwLFJuPVsibGl2ZSIsInBhcGVyIl0sRG49WyJjYXNoIiwibWFyZ2luIl07ZnVuY3Rpb24gdmUodCl7cmV0dXJuIHQ9PT0ibGl2ZSJ8fHQ9PT0icGFwZXIifHx0PT09ImNhc2gifHx0PT09Im1hcmdpbiI/dDoiIn1mdW5jdGlvbiBFbih7cGxhdGZvcm06dCxhY2NvdW50S2V5OmEsb25TYXZlZDpzfSl7Y29uc3QgZT16KCksbz1SLnVzZUlkKCksYz1SLnVzZUlkKCksaT1SLnVzZVJlZihwdChBbikpLmN1cnJlbnQsWyxrXT1SLnVzZVN0YXRlKDApLFtyLGRdPVIudXNlU3RhdGUoMCksW3UscF09Ui51c2VTdGF0ZSgibG9hZGluZyIpLFtsLHZdPVIudXNlU3RhdGUoIiIpLFt5LGJdPVIudXNlU3RhdGUoIiIpLG09KCk9PmsoeD0+eCsxKSxoPWkudmlldygpLFQ9aC5zZXR0aW5ncztSLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHg9YCR7dH06JHthfWAsaj1pLnNlbGVjdGVkSWQoKT09PXg7aWYoaiYmaS52aWV3KCkuc2F2aW5nKXJldHVybjtjb25zdCBPPWomJiEhaS52aWV3KCkuc2V0dGluZ3MsRD1qP2kuc3RhcnQoInJlZnJlc2giKTppLnNlbGVjdCh7cGxhdGZvcm06dCxrZXk6YX0pO3AoTz8icmVmcmVzaGluZyI6ImxvYWRpbmciKSx2KCIiKSxiKCIiKTtsZXQgRj0hMTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtjb25zdCBmPWF3YWl0IGllKHQsYSk7aWYoRilyZXR1cm47aWYoIShqP2kuYXBwbHlSZWZyZXNoKEQsZik6aS5hcHBseVJlYWQoRCxmKSkpe2lmKGkuaXNDdXJyZW50KEQpKXRocm93IG5ldyBFcnJvcigiYWNjb3VudF9zZXR0aW5nc19yZWFkYmFja19taXNtYXRjaCIpO3JldHVybn1wKCJyZWFkeSIpLG0oKX1jYXRjaChmKXtpZihGKXJldHVybjtjb25zdCBOPU51bWJlcihmPy5zdGF0dXN8fDApLEE9Tj09PTQwMXx8Tj09PTQwMz8iZGVuaWVkIjpmPy5tZXNzYWdlPT09ImFjY291bnRfc2V0dGluZ3NfcmVhZGJhY2tfbWlzbWF0Y2giPyJtaXNtYXRjaCI6InVuYXZhaWxhYmxlIjtpZihPKXtpZighaS5pc0N1cnJlbnQoRCkpcmV0dXJuO2kuYWJhbmRvbihEKSx2KEEpLHAoInN0YWxlIiksbSgpO3JldHVybn1pZighaS5hcHBseVVuYXZhaWxhYmxlKEQsIiIpKXJldHVybjtwKCJmYWlsZWQiKSxtKCl9fSkoKSwoKT0+e0Y9ITAsaS5hYmFuZG9uKEQpfX0sW3QsYSxyLGldKTtjb25zdCBfPWFzeW5jKCk9Pntjb25zdCB4PWkuc3RhcnRTYXZlKCJkZWNsYXJhdGlvbiIpLGo9aS5yZXF1ZXN0Qm9keSh4KTtpZigheHx8IWp8fCFpLm1hcmtTYXZpbmcoeCwiZGVjbGFyYXRpb24iKSlyZXR1cm47YigiIiksbSgpO2xldCBPPSExLEQ9IiIsRj1udWxsO3RyeXtjb25zdCBhZT1hd2FpdCBuZSgiL2FwaS9hY2NvdW50LXNldHRpbmdzIixqKTtpZighaS5pc0N1cnJlbnQoeCkpcmV0dXJuO089aS5hcHBseVNhdmUoeCxhZSwiIiksTyYmKEY9YWUuZGVjbGFyYXRpb24/LnJldmlzaW9uKSxPfHwoRD0idW5rbm93biIpfWNhdGNoKGFlKXthZT8uc3RhdHVzPT09NDA5PyhEPSJjb25mbGljdCIsaS5mYWlsKHgsIiIsITEpKTooRD0idW5rbm93biIsaS5mYWlsKHgsIiIsITApKX1maW5hbGx5e2kuZmluaXNoKHgpJiZtKCl9aWYoIWkuaXNDdXJyZW50KHgpKXJldHVybjttKCk7Y29uc3QgZj1pLnN0YXJ0KCJyZWZyZXNoIiksTj1hd2FpdCBkdChpLGYsKCk9PmllKHQsYSkpO2lmKG0oKSxOLnN0YXR1cz09PSJzdXBlcnNlZGVkIilyZXR1cm47aWYoTi5zdGF0dXM9PT0iZmFpbGVkIil7YihPPyJ1bnZlcmlmaWVkIjpEPT09ImNvbmZsaWN0Ij8iY29uZmxpY3QiOiIiKTtyZXR1cm59aWYoRD09PSJjb25mbGljdCIpe2IoImNvbmZsaWN0Iik7cmV0dXJufWlmKCFPKXtpLnZpZXcoKS5yZXZpZXcuZGVjbGFyYXRpb258fChiKCJzYXZlZCIpLHMoKSk7cmV0dXJufWNvbnN0IEE9aS52aWV3KCkuc2V0dGluZ3Msdz1qLmRlY2xhcmF0aW9uLEI9dy5lbnZpcm9ubWVudD8/IiIsSz13LmFjY291bnRfdHlwZT8/IiIsRz12ZShBPy5kZWNsYXJhdGlvbj8uZW52aXJvbm1lbnQpLEg9dmUoQT8uZGVjbGFyYXRpb24/LmFjY291bnRfdHlwZSksVz1HPT09QiYmSD09PUsmJmdlKEE/LmlkZW50aXR5LGouaWRlbnRpdHkpJiZBPy5kZWNsYXJhdGlvbj8ucmV2aXNpb249PT1GO2IoVz8ic2F2ZWQiOiJtaXNtYXRjaCIpLFcmJnMoKX0sZz1UPy5vcGVyYXRpb25zPy5zYXZlX2RlY2xhcmF0aW9uPT09ITAsRT12ZShUPy5kZWNsYXJhdGlvbj8uZW52aXJvbm1lbnQpLEk9dmUoVD8uZGVjbGFyYXRpb24/LmFjY291bnRfdHlwZSksUD1pLmRlY2xhcmF0aW9uRGlydHkoKSxTPSEhKFQ/LmlkZW50aXR5JiZ0eXBlb2YgVC5pZGVudGl0eT09Im9iamVjdCImJk51bWJlci5pc1NhZmVJbnRlZ2VyKFQ/LmRlY2xhcmF0aW9uPy5yZXZpc2lvbikpLCQ9dT09PSJyZWFkeSImJlQ/LmRlY2xhcmF0aW9uPy5zdGF0dXMhPT0iaWRlbnRpdHlfY29uZmxpY3QiJiZnJiYhaC5zYXZpbmcmJnkhPT0idW52ZXJpZmllZCImJnkhPT0ibWlzbWF0Y2giLEM9JCYmUyYmUCYmIWgucmV2aWV3LmRlY2xhcmF0aW9uLE09eT09PSJjb25mbGljdCI/e3RvbmU6ImVycm9yIix0ZXh0OmUoImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0Iil9Onk9PT0ibWlzbWF0Y2giP3t0b25lOiJlcnJvciIsdGV4dDplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5taXNtYXRjaCIpfTp5PT09InVudmVyaWZpZWQiP3t0b25lOiJlcnJvciIsdGV4dDplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnZlcmlmaWVkIil9Onk9PT0ic2F2ZWQiP3t0b25lOiJzdWNjZXNzIix0ZXh0OmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkIil9OmgucmV2aWV3LmRlY2xhcmF0aW9uP3t0b25lOiJlcnJvciIsdGV4dDplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXZpZXciKX06bnVsbCxxPWUobD09PSJkZW5pZWQiPyJhY2NvdW50cy5kZWNsYXJhdGlvbi5kZW5pZWQiOmw9PT0ibWlzbWF0Y2giPyJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZWFkTWlzbWF0Y2giOiJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZWFkRmFpbGVkIiksTD14PT5lKHg9PT0ibGl2ZSI/ImFjY291bnRzLmRlY2xhcmF0aW9uLmVudi5saXZlIjp4PT09InBhcGVyIj8iYWNjb3VudHMuZGVjbGFyYXRpb24uZW52LnBhcGVyIjoiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiKSxWPXg9PmUoeD09PSJjYXNoIj8iYWNjb3VudHMuZGVjbGFyYXRpb24udHlwZS5jYXNoIjp4PT09Im1hcmdpbiI/ImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUubWFyZ2luIjoiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiKTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi50aXRsZSIpfSksbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24ubm90ZSIpfSksdT09PSJsb2FkaW5nIiYmbi5qc3goWix7aGVpZ2h0Ojk2fSksdT09PSJmYWlsZWQiJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46W3EsIiAiLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOigpPT5kKHg9PngrMSksY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24ucmVyZWFkIil9KV19KSx1PT09InN0YWxlIiYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSBlcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOltxLCIgIixlKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zdGFsZSIpLCIgIixuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnRzLWFsaWFzLWJ1dHRvbiIsb25DbGljazooKT0+ZCh4PT54KzEpLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnJlcmVhZCIpfSldfSksTSYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOmBhY2NvdW50cy1pbmxpbmUtbm90ZSAke00udG9uZX1gLHJvbGU6TS50b25lPT09InN1Y2Nlc3MiPyJzdGF0dXMiOiJhbGVydCIsY2hpbGRyZW46W00udGV4dCwiICIsTS50b25lIT09InN1Y2Nlc3MiJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnRzLWFsaWFzLWJ1dHRvbiIsb25DbGljazooKT0+ZCh4PT54KzEpLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnJlcmVhZCIpfSldfSksaC5zYXZpbmcmJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZpbmciKX0pLHUhPT0ibG9hZGluZyImJlQmJm4uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvd3MiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtcm93IixjaGlsZHJlbjpbbi5qc3goImxhYmVsIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1sYWJlbCIsaHRtbEZvcjpvLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLmVudmlyb25tZW50Iil9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtYm9keSIsY2hpbGRyZW46W24uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWNvbnRyb2wiLGNoaWxkcmVuOm4uanN4cygic2VsZWN0Iix7aWQ6byxjbGFzc05hbWU6ImlucHV0Iix2YWx1ZTpoLmRlY2xhcmF0aW9uLmVudmlyb25tZW50LGRpc2FibGVkOiEkLG9uQ2hhbmdlOng9PntiKCIiKSxpLmVkaXREZWNsYXJhdGlvbih7ZW52aXJvbm1lbnQ6eC50YXJnZXQudmFsdWV9KSxtKCl9LGNoaWxkcmVuOltuLmpzeCgib3B0aW9uIix7dmFsdWU6IiIsY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiKX0pLFJuLm1hcCh4PT5uLmpzeCgib3B0aW9uIix7dmFsdWU6eCxjaGlsZHJlbjpMKHgpfSx4KSldfSl9KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWN1cnJlbnQiLGNoaWxkcmVuOltlKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlZFZhbHVlIiksIiDCtyAiLEU9PT0iIj9lKCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCIpOkwoRSldfSldfSldfSksdCE9PSJiaW5hbmNlIiYmbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvdyIsY2hpbGRyZW46W24uanN4KCJsYWJlbCIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtbGFiZWwiLGh0bWxGb3I6YyxjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiKX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1ib2R5IixjaGlsZHJlbjpbbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY29udHJvbCIsY2hpbGRyZW46bi5qc3hzKCJzZWxlY3QiLHtpZDpjLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOmguZGVjbGFyYXRpb24uYWNjb3VudFR5cGUsZGlzYWJsZWQ6ISQsb25DaGFuZ2U6eD0+e2IoIiIpLGkuZWRpdERlY2xhcmF0aW9uKHthY2NvdW50VHlwZTp4LnRhcmdldC52YWx1ZX0pLG0oKX0sY2hpbGRyZW46W24uanN4KCJvcHRpb24iLHt2YWx1ZToiIixjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCIpfSksRG4ubWFwKHg9Pm4uanN4KCJvcHRpb24iLHt2YWx1ZTp4LGNoaWxkcmVuOlYoeCl9LHgpKV19KX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY3VycmVudCIsY2hpbGRyZW46W2UoImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkVmFsdWUiKSwiIMK3ICIsST09PSIiP2UoImFjY291bnRzLmRlY2xhcmF0aW9uLnVuc2V0Iik6VihJKV19KV19KV19KV19KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtdG9vbGJhciIsY2hpbGRyZW46W24uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDohQyxvbkNsaWNrOigpPT57XygpfSxjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlIil9KSxQJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOigpPT57aS5yZXZlcnREZWNsYXJhdGlvbigpLGIoIiIpLG0oKX0sY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uZGlzY2FyZCIpfSksIWcmJm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLmdhdGUiKX0pXX0pLGgucmV2aWV3LmRlY2xhcmF0aW9uJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+e2kuYWNrbm93bGVkZ2VSZXZpZXcoImRlY2xhcmF0aW9uIil8fGQoeD0+eCsxKSxtKCl9LGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLmFjayIpfSldfSldfSl9Y29uc3QgbXQ9WyJvdmVydmlldyIsInN0cmF0ZWd5IiwiY29udHJvbHMiLCJoaXN0b3J5Il07ZnVuY3Rpb24gSW4odCl7cmV0dXJuIG10LmluY2x1ZGVzKHR8fCIiKT90OiJvdmVydmlldyJ9ZnVuY3Rpb24gQm4oe3BsYXRmb3JtOnQsYWNjb3VudEtleTphfSl7Y29uc3Qgcz1gJHt0fToke2F9YCxlPVEoKCk9Pnh0KHMsITEpLFtzXSksbz1lLnBoYXNlPT09ImxvYWRpbmciPyJsb2FkaW5nIjplLnBoYXNlPT09ImVycm9yIj8iZXJyb3IiOmUuZGF0YS5zdGF0dXM9PT0ibm90X3JlYWR5Ij8ibm90X3JlYWR5IjoicmVhZHkiLGM9ZS5waGFzZT09PSJyZWFkeSImJmUuZGF0YS5zdGF0dXM9PT0icmVhZHkiP2UuZGF0YS5kYXRhOm51bGw7cmV0dXJuIG4uanN4KEF0LHtiaW5kaW5nOmMsc3RhdHVzOm8sb25SZXRyeTplLnJlbG9hZH0pfWZ1bmN0aW9uIFBuKHthY2NvdW50OnQsdGFiOmEsY29uZmlnOnMsdG9kYXlSdW46ZSx0b2RheUZhaWxlZDpvLGZhY3RzOmMsb25CYWNrOmksb25EZWNsYXJhdGlvblNhdmVkOmt9KXtjb25zdCByPXooKSxkPXhlKHMpLHU9ZXQoKSx7Y29uZmlybVJlcXVlc3Q6cCxjb25maXJtOmwscmVzb2x2ZUNvbmZpcm06dn09UnQoKSxbeSxiXT1SLnVzZVN0YXRlKCExKSxbbSxoXT1SLnVzZVN0YXRlKHt9KSxUPXkmJk9iamVjdC5rZXlzKG0pLmxlbmd0aD4wLF89USgoKT0+WGUodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLFt0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybV0pLGc9Ui51c2VSZWYobCk7Zy5jdXJyZW50PWw7Y29uc3QgRT1SLnVzZVJlZihyKTtFLmN1cnJlbnQ9cixSLnVzZUVmZmVjdCgoKT0+e2lmKFQpcmV0dXJuIExlKCgpPT5nLmN1cnJlbnQoe3RpdGxlOkUuY3VycmVudCgiY29tbW9uLnVuc2F2ZWRfZ3VhcmRfdGl0bGUiKSxzdW1tYXJ5OkUuY3VycmVudCgiY29tbW9uLnVuc2F2ZWRfZ3VhcmRfYm9keSIpLHRvbmU6Im5vcm1hbCJ9KSksKCk9PkxlKG51bGwpfSxbVF0pO2NvbnN0IEk9SW4oYSksUD1idChzLHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKT8uYWNjb3VudF9zZWxlY3Rvcj8udHJpbSgpLFM9QmUoYy5yb3dzLHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKSwkPXM/LmN1cnJlbnRTdHJhdGVnaWVzPy5bdC5wbGF0Zm9ybV0/Llt0LmFjY291bnRfYWxpYXNdPy5leGVjdXRpb25fZXZpZGVuY2U/LmJyb2tlcl9lbnZpcm9ubWVudCxDPVBlKFMpLE09JD09PSJwYXBlciJ8fCQ9PT0ibGl2ZSI/JDpudWxsLHE9Uz8uYnJva2VyX2Vudmlyb25tZW50PT09ImxpdmUifHxTPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0icGFwZXIifHxTPy5hY2NvdW50X3Njb3BlPT09ImxpdmUifHxTPy5hY2NvdW50X3Njb3BlPT09InBhcGVyInx8Uz8uYmluZGluZ19lbnZpcm9ubWVudD09PSJsaXZlInx8Uz8uYmluZGluZ19lbnZpcm9ubWVudD09PSJwYXBlciIsTD1DJiZNJiZDIT09TT9udWxsOkM/PyhxP251bGw6TSksVj15ZShTKSx4PUw/PyhxfHxNP251bGw6Vj8uZW52aXJvbm1lbnQ/P251bGwpLGo9S3QodC5wbGF0Zm9ybSxTPy5kYXRhX3N0YXR1cyxTPy5icm9rZXJfYWNjb3VudF90eXBlKT8udG9Mb3dlckNhc2UoKSxPPWo9PT0iY2FzaCJ8fGo9PT0ibWFyZ2luIj9qOm51bGwsRD1PPz9WPy5hY2NvdW50VHlwZT8/bnVsbCxGPSEhKEwmJlY/LmVudmlyb25tZW50JiZMIT09Vi5lbnZpcm9ubWVudHx8TyYmVj8uYWNjb3VudFR5cGUmJk8hPT1WLmFjY291bnRUeXBlKSxmPW8/bi5qc3gobGUse3N0YXR1czoicmVhZF9mYWlsZWQifSk6ZT9uLmpzeHMobi5GcmFnbWVudCx7Y2hpbGRyZW46W24uanN4KGxlLHtzdGF0dXM6ZS5zdGF0dXMscmVhc29uOmUudW5hdmFpbGFibGVfcmVhc29ufSksbi5qc3goQWUse3ZhbHVlOmUuYXNfb2Z9KV19KTpuLmpzeChsZSx7c3RhdHVzOiJub19kYXRhIn0pO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZGV0YWlsIHNlY3Rpb24tc3RhY2siLGNoaWxkcmVuOltuLmpzeCgiZGl2Iix7Y2hpbGRyZW46bi5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIGFjY291bnRzLW1vYmlsZS1iYWNrIixvbkNsaWNrOmksY2hpbGRyZW46WyLihpAgIixyKCJhY2NvdW50cy5iYWNrX3RvX2xpc3QiKV19KX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1kZXRhaWwtaGVhZCIsY2hpbGRyZW46W24uanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46ZC5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKX0pLG4uanN4KGN0LHtlbnZpcm9ubWVudDp4fSldfSksRiYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46cigiYWNjb3VudHMuZGVjbGFyYXRpb24uY29uZmxpY3Rfbm90aWNlIil9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtc3VtbWFyeS1yb3dzIixjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLXN1bW1hcnktcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjpyKCJjb21tb24ucGxhdGZvcm0iKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46R3Qocyx0LnBsYXRmb3JtKX0pXX0pLFAmJm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1zdW1tYXJ5LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46cigiYWNjb3VudHMuaWRlbnRpdHkiKX0pLG4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJudW0iLGNoaWxkcmVuOlB9KV19KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtc3VtbWFyeS1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoImFjY291bnRzLnJ1bl9zdGF0ZSIpfSksbi5qc3goInNwYW4iLHtzdHlsZTp7ZGlzcGxheToiaW5saW5lLWZsZXgiLGdhcDo4LGFsaWduSXRlbXM6ImNlbnRlciIsZmxleFdyYXA6IndyYXAifSxjaGlsZHJlbjpmfSldfSksdC5wbGF0Zm9ybSE9PSJiaW5hbmNlIiYmRCYmbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLXN1bW1hcnktcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjpyKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46cihgYWNjb3VudHMuZGVjbGFyYXRpb24udHlwZS4ke0R9YCl9KV19KV19KSx0LnBsYXRmb3JtPT09ImJpbmFuY2UiP24uanN4KGl0LHtwbGF0Zm9ybTp0LnBsYXRmb3JtLGFjY291bnRLZXk6dC5hY2NvdW50X2FsaWFzLHZpZXc6Yy5iaW5hbmNlfSk6bi5qc3gob3Qse2ZhY3Q6UyxwaGFzZTpjLnBoYXNlfSldfSksbi5qc3goRXQse2lkOiJhY2NvdW50LWRldGFpbCIsaXRlbXM6bXQubWFwKE49Pih7aWQ6TixsYWJlbDpyKGBhY2NvdW50cy50YWIuJHtOfWApfSkpLGFjdGl2ZTpJLG9uQ2hhbmdlOk49PnUoe3RhYjpOfSksYXJpYUxhYmVsOnIoImFjY291bnRzLnRpdGxlIil9KSxuLmpzeHMoImRpdiIse2lkOiJhY2NvdW50LWRldGFpbC1wYW5lbCIsY2xhc3NOYW1lOiJzZWN0aW9uLXN0YWNrIixyb2xlOiJ0YWJwYW5lbCIsImFyaWEtbGFiZWxsZWRieSI6YGFjY291bnQtZGV0YWlsLXRhYi0ke0l9YCx0YWJJbmRleDowLGNoaWxkcmVuOltJPT09Im92ZXJ2aWV3IiYmbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpyKCJhY2NvdW50cy50YWIub3ZlcnZpZXciKX0pLF8ucGhhc2U9PT0ibG9hZGluZyImJm4uanN4KCJkaXYiLHtjbGFzc05hbWU6InNrZWxldG9uIixzdHlsZTp7aGVpZ2h0OjIwMH0sImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSxfLnBoYXNlPT09ImVycm9yIiYmbi5qc3goZmUse29uUmV0cnk6Xy5yZWxvYWR9KSxfLnBoYXNlPT09InJlYWR5IiYmbi5qc3hzKG4uRnJhZ21lbnQse2NoaWxkcmVuOltfLmRhdGEuaWRlbnRpdHlfc3RhdHVzPT09ImlkZW50aXR5X2NvbmZsaWN0IiYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46cigiYWNjb3VudHMuaWRlbnRpdHlfY29uZmxpY3QiKX0pLG4uanN4KGx0LHtyb3dzOl8uZGF0YS5yb3dzLHQ6cn0pLG4uanN4cygicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjgsYWxpZ25JdGVtczoiY2VudGVyIixmbGV4V3JhcDoid3JhcCJ9LGNoaWxkcmVuOltuLmpzeChiZSx7dG9uZToidW5rbm93biIsY2hpbGRyZW46cigiYWNjb3VudHMuZHJhZnRfcmV2aXNpb24iLHt2YWx1ZTpfLmRhdGEuZHJhZnRfcmV2aXNpb259KX0pLF8uZGF0YS5zdGF0dXMhPT0ib2siJiZuLmpzeChsZSx7c3RhdHVzOl8uZGF0YS5zdGF0dXN9KV19KV19KV19KSxJPT09Im92ZXJ2aWV3IiYmbi5qc3goQ24se3BsYXRmb3JtOnQucGxhdGZvcm0sYWNjb3VudEtleTp0LmFjY291bnRfYWxpYXN9KSxJPT09Im92ZXJ2aWV3IiYmbi5qc3goQm4se3BsYXRmb3JtOnQucGxhdGZvcm0sYWNjb3VudEtleTp0LmFjY291bnRfYWxpYXN9KSxJPT09Im92ZXJ2aWV3IiYmbi5qc3goRW4se3BsYXRmb3JtOnQucGxhdGZvcm0sYWNjb3VudEtleTp0LmFjY291bnRfYWxpYXMsb25TYXZlZDprfSksST09PSJzdHJhdGVneSImJm4uanN4KGhuLHthY2NvdW50OnQsZGlmZlN0YXRlOl8sY29uZmlnOnMsZWRpdGluZzp5LHNldEVkaXRpbmc6YixlZGl0czptLHNldEVkaXRzOmgsY29uZmlybTpsfSksST09PSJjb250cm9scyImJm4uanN4KE5uLHthY2NvdW50OnQsY29uZmlnOnMsY29uZmlybTpsfSksST09PSJoaXN0b3J5IiYmbi5qc3god24se2FjY291bnQ6dH0pXX0pLHAmJm4uanN4KER0LHtyZXF1ZXN0OnAsb25SZXNvbHZlOnZ9KV19KX1mdW5jdGlvbiBVbih7YWNjb3VudDp0LHRhYjphfSl7Y29uc3Qgcz16KCksZT1ldCgpLFtvLGNdPVIudXNlU3RhdGUoMCksaT1RKCgpPT5qdCgpLFtvXSksaz1RKCgpPT5OdCgiL2FwaS9jb25maWciKS5jYXRjaCgoKT0+bnVsbCksW29dKSxyPVEoKCk9Pnd0KCksW29dKSxkPVEoKCk9PlN0KCksW29dKSx1PVEoKCk9PlR0KCksW29dKSxwPWsucGhhc2U9PT0icmVhZHkiP2suZGF0YTpudWxsLGw9aS5waGFzZT09PSJyZWFkeSI/aS5kYXRhLmFjY291bnRzOltdLHY9dD9rdChsLHQpOnZvaWQgMCx5PXUucGhhc2U9PT0icmVhZHkiP3twaGFzZToicmVhZHkiLHN0YXR1czp1LmRhdGEucmVwb3J0X3N0YXR1cyxyZXBvcnQ6dS5kYXRhLnJlcG9ydH06e3BoYXNlOnUucGhhc2Usc3RhdHVzOm51bGwscmVwb3J0Om51bGx9LGI9ZC5waGFzZT09PSJyZWFkeSI/e3Jvd3M6ZC5kYXRhLmFjY291bnRzLHBoYXNlOiJyZWFkeSIsYmluYW5jZTp5fTp7cm93czpbXSxwaGFzZTpkLnBoYXNlLGJpbmFuY2U6eX0sbT1yLnBoYXNlPT09ImVycm9yInx8ci5waGFzZT09PSJyZWFkeSImJnIuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiLGg9diYmci5waGFzZT09PSJyZWFkeSImJiFtP3IuZGF0YS5hY2NvdW50cy5maW5kKGc9PmcuYWNjb3VudF9hbGlhcz09PXYuYWNjb3VudF9hbGlhcyYmZy5wbGF0Zm9ybT09PXYucGxhdGZvcm0pOnZvaWQgMCxUPWc9PmUoe2FjY291bnQ6Z30pO2xldCBfO3JldHVybiBpLnBoYXNlPT09ImxvYWRpbmciP189bi5qc3goWix7aGVpZ2h0OjI0MH0pOmkucGhhc2U9PT0iZXJyb3IiP189bi5qc3goZmUse29uUmV0cnk6aS5yZWxvYWR9KTpsLmxlbmd0aD09PTA/Xz1uLmpzeChRZSx7dGl0bGU6cygib3ZlcnZpZXcubm9fYWNjb3VudHMiKX0pOl89bi5qc3goX24se2FjY291bnRzOmwsY29uZmlnOnAsZmFjdHM6YixvblNlbGVjdDpUfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltuLmpzeHMoImhlYWRlciIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltuLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOnMoImFjY291bnRzLnRpdGxlIil9KSxpLnBoYXNlPT09InJlYWR5IiYmaS5kYXRhLnN0YXR1cz09PSJwYXJ0aWFsIiYmbi5qc3goYmUse3RvbmU6Indhcm4iLGNoaWxkcmVuOnMoInN0YXRlLnBhcnRpYWxfdmFsdWF0aW9uIil9KSxuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlLWhlYWRlci1hY3Rpb25zIixjaGlsZHJlbjpuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOigpPT5jKGc9PmcrMSksY2hpbGRyZW46cygiY29tbW9uLnJlZnJlc2giKX0pfSldfSksIXYmJmkucGhhc2U9PT0icmVhZHkiJiZpLmRhdGEudW5hc3NpZ25lZF9kZWNpc2lvbl9jb3VudD4wJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBhY2NvdW50cy11bmFzc2lnbmVkIixjaGlsZHJlbjpbcygiYWNjb3VudHMudW5hc3NpZ25lZF9ub3RlIix7Y291bnQ6aS5kYXRhLnVuYXNzaWduZWRfZGVjaXNpb25fY291bnR9KSxuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+ZSh7cGFnZToiZGVjaXNpb25zIixkZWNpc2lvbjpudWxsfSksY2hpbGRyZW46cygiYWNjb3VudHMuZ29fdG9kb3MiKX0pXX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOmBhY2NvdW50cy1zcGxpdCR7dj8iIGRldGFpbC1vcGVuIjoiIn1gLGNoaWxkcmVuOltuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1saXN0IixjaGlsZHJlbjpffSksdiYmbi5qc3goUG4se2FjY291bnQ6dix0YWI6YSxjb25maWc6cCx0b2RheVJ1bjpoLHRvZGF5RmFpbGVkOm0sZmFjdHM6YixvbkRlY2xhcmF0aW9uU2F2ZWQ6ZC5yZWxvYWQsb25CYWNrOigpPT5lKHthY2NvdW50Om51bGx9KX0sYCR7di5wbGF0Zm9ybX0vJHt2LmFjY291bnRfYWxpYXN9YCldfSldfSl9ZXhwb3J0e1VuIGFzIGRlZmF1bHR9Owo=" }, "/v2/assets/AccountsPage-CaB9EVDF.css": { contentType: "text/css; charset=utf-8", base64: "LmFjY291bnQtZmFjdHN7ZGlzcGxheTpncmlkO2dhcDo1cHg7bWluLXdpZHRoOjA7bWFyZ2luLXRvcDo4cHg7cGFkZGluZy10b3A6OHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpfS5hY2NvdW50LWZhY3RzIC5hY2NvdW50LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOjRweCAxMnB4O2ZsZXgtd3JhcDp3cmFwO21pbi1oZWlnaHQ6MjJweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQ1fS5hY2NvdW50LWZhY3RzIC5hY2NvdW50LXJvdz5zcGFue21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmFjY291bnQtZmFjdHMgLmFjY291bnQtcm93PnNwYW46Zmlyc3QtY2hpbGR7Y29sb3I6dmFyKC0tbXV0ZWQpfS5hY2NvdW50LWZhY3RzIC5hY2NvdW50LXJvdz5zcGFuOmxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0bzt0ZXh0LWFsaWduOnJpZ2h0fS5hY2NvdW50LWZhY3RzIC5rcGktZm9vdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uYWNjb3VudC1mYWN0cy1mcmVzaG5lc3N7Z2FwOjNweCAxMnB4O2xpbmUtaGVpZ2h0OjEuNH0uYWNjb3VudC1mYWN0cy1zdGF0ZS12YWx1ZXtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmJhc2VsaW5lO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6M3B4IDZweH0uYWNjb3VudC1zdGF0ZS1sYWJlbHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmFjY291bnQtZmFjdHMtZGV0YWlsc3ttYXJnaW4tdG9wOjJweH0uYWNjb3VudC1mYWN0cy1zdGF0ZT4uYnV0dG9ue2p1c3RpZnktc2VsZjpzdGFydDttYXJnaW4tdG9wOjJweH0uYWNjb3VudC1mYWN0cy1hc3NldHMgLm1vbmV5e2NvbG9yOnZhcigtLWluayk7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjUwfS5hY2NvdW50LWZhY3RzLWNhc2ggLm1vbmV5e2ZvbnQtc2l6ZToxM3B4fS5hY2NvdW50LWdyb3VwLWNhcmR7bWluLXdpZHRoOjA7cGFkZGluZzoxNnB4fS5hY2NvdW50LWNhcmQtaGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHggMTJweDttYXJnaW4tYm90dG9tOjEwcHh9LmFjY291bnQtY2FyZC1oZWFkIC5hY2NvdW50LWJyb2tlci10aXRsZXttYXJnaW46MDttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfUBtZWRpYShtaW4td2lkdGg6OTAwcHgpey5hY2NvdW50LWdyb3VwLWNhcmQ6b25seS1jaGlsZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgbWlubWF4KDAsMWZyKTtjb2x1bW4tZ2FwOjI4cHg7YWxpZ24taXRlbXM6c3RhcnR9LmFjY291bnQtZ3JvdXAtY2FyZDpvbmx5LWNoaWxkIC5hY2NvdW50LWNhcmQtaGVhZHtncmlkLWNvbHVtbjoxIC8gLTF9LmFjY291bnQtZ3JvdXAtY2FyZDpvbmx5LWNoaWxkIC5hY2NvdW50LWNhcmQtZmFjdHN7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzoyO2FsaWduLXNlbGY6c3RhcnR9LmFjY291bnQtZ3JvdXAtY2FyZDpvbmx5LWNoaWxkIC5hY2NvdW50LXN0cmF0ZWd5LWJsb2NrLC5hY2NvdW50LWdyb3VwLWNhcmQ6b25seS1jaGlsZCAuYWNjb3VudC1jYXJkLWNhdmVhdHtncmlkLWNvbHVtbjoxfX0uYWNjb3VudC1jYXJkLWZhY3Rze21hcmdpbi1ib3R0b206NHB4fS5hY2NvdW50LWNhcmQtZmFjdHMgLmFjY291bnQtZmFjdHN7bWFyZ2luOjAgMCA4cHg7cGFkZGluZzowIDAgMTJweDtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tc29mdC1saW5lLCB2YXIoLS1saW5lKSl9LmFjY291bnQtY2FyZC1mYWN0cyAuYWNjb3VudC1mYWN0czpub3QoLmFjY291bnQtZmFjdHMtc3RhdGUpe2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtnYXA6NXB4fS5hY2NvdW50LWNhcmQtZmFjdHMgLmFjY291bnQtZmFjdHMtYXNzZXRzIC5tb25leXtmb250LXNpemU6MThweH0uYWNjb3VudC1jYXJkLWNhdmVhdHttYXJnaW46NnB4IDAgMH0uYWNjb3VudC1wbGF0Zm9ybS1oZWFke2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpiYXNlbGluZTtnYXA6OHB4IDIwcHg7bWFyZ2luLWJvdHRvbToxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tc29mdC1saW5lLCB2YXIoLS1saW5lKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdXJmYWNlLTIpIDYyJSx2YXIoLS1zdXJmYWNlKSl9LmFjY291bnQtcGxhdGZvcm0taGVhZCAuYWNjb3VudC1wbGF0Zm9ybS10aXRsZXtmbGV4OjAgMCBhdXRvO21hcmdpbjowO2ZvbnQtc2l6ZToxNXB4O2xldHRlci1zcGFjaW5nOi0uMDFlbX0uYWNjb3VudC1wbGF0Zm9ybS1zdW1tYXJ5e2ZsZXg6MSAxIDI4MHB4O21pbi13aWR0aDowfS5hY2NvdW50LXBsYXRmb3JtLXN1bW1hcnkgLmFjY291bnQtZmFjdHN7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowfS5hY2NvdW50LWVudmlyb25tZW50LXNlY3Rpb24rLmFjY291bnQtZW52aXJvbm1lbnQtc2VjdGlvbnttYXJnaW4tdG9wOjE0cHh9LmFjY291bnQtZW52aXJvbm1lbnQtaGVhZHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOjZweCAxNnB4O21hcmdpbjoxMHB4IDAgOHB4fS5hY2NvdW50LWVudmlyb25tZW50LXRpdGxle21hcmdpbjowO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjY1MDtsZXR0ZXItc3BhY2luZzouMDFlbX0uYWNjb3VudC1lbnZpcm9ubWVudC1oZWFkIC5jYXJkLW5vdGV7bWFyZ2luOjB9LmFjY291bnQtZW52aXJvbm1lbnQtaGVhZCAuYWNjb3VudC1wbGF0Zm9ybS1zdW1tYXJ5e2ZsZXg6MSAxIDI4MHB4O21pbi13aWR0aDowfS5hY2NvdW50LWVudmlyb25tZW50LW5vdGV7bWFyZ2luOjAgMCA4cHh9LmFjY291bnQtZmFjdHMtcGxhdGZvcm17ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpzdGFydDtnYXA6MTBweCAyMHB4fS5hY2NvdW50LWZhY3RzLWN1cnJlbmN5e2Rpc3BsYXk6Z3JpZDthbGlnbi1jb250ZW50OnN0YXJ0O2ZsZXg6MCAxIDI2MHB4O2dhcDo0cHg7bWluLXdpZHRoOjB9LmFjY291bnQtZmFjdHMtcGxhdGZvcm0gLmFjY291bnQtcm93e21pbi1oZWlnaHQ6MjBweH0uYWNjb3VudC1mYWN0cy1wbGF0Zm9ybSAuYWNjb3VudC1wbGF0Zm9ybS1ub3Rlc3tmbGV4LWJhc2lzOjEwMCV9LmFjY291bnQtZmFjdHMtcGxhdGZvcm0tc3RhdGV7anVzdGlmeS1pdGVtczpzdGFydH0uYWNjb3VudC1wbGF0Zm9ybS1zdW1tYXJ5IC5idXR0b257bWFyZ2luLXRvcDo0cHh9LmFjY291bnQtZ3JvdXAtY2FyZCAuYWNjb3VudC1yb3csLmFjY291bnQtY2FyZC1mYWN0cyAuYWNjb3VudC1mYWN0cyAuYWNjb3VudC1yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDoycHggMTJweH0uYWNjb3VudC1ncm91cC1jYXJkIC5hY2NvdW50LXJvdz5zcGFuLC5hY2NvdW50LWNhcmQtZmFjdHMgLmFjY291bnQtZmFjdHMgLmFjY291bnQtcm93PnNwYW57bWluLXdpZHRoOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uYWNjb3VudC1ncm91cC1jYXJkIC5hY2NvdW50LXJvdz5zcGFuOmxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0bzt0ZXh0LWFsaWduOnJpZ2h0fS5hY2NvdW50LXN0cmF0ZWd5LWJsb2Nre21pbi13aWR0aDowO3BhZGRpbmc6OHB4IDB9LmFjY291bnQtc3RyYXRlZ3ktYmxvY2srLmFjY291bnQtc3RyYXRlZ3ktYmxvY2t7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tc29mdC1saW5lLCB2YXIoLS1saW5lKSl9LmFjY291bnQtc3RyYXRlZ3ktYmxvY2sgLmFjY291bnQtc3RyYXRlZ3ktbGlua3tnYXA6NHB4O3BhZGRpbmc6NHB4IDAgOHB4fS5hY2NvdW50LXN0cmF0ZWd5LWJsb2NrIC5hY2NvdW50LXJvd3tsaW5lLWhlaWdodDoxLjQ1fS5leGVjdXRpb24tZXZpZGVuY2UtY29tcGFjdHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTJweDttYXJnaW4tdG9wOjJweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS40NX0uZXhlY3V0aW9uLWV2aWRlbmNlLWNvbXBhY3QgLmFjY291bnQtcm93e3dpZHRoOjEwMCU7Z2FwOjhweH0uZXhlY3V0aW9uLW1vZGUtcm93PnNwYW46bGFzdC1jaGlsZHtjb2xvcjp2YXIoLS1pbmspO2ZvbnQtd2VpZ2h0OjU1MH0uZXhlY3V0aW9uLW1vZGUtcm93PnNwYW4uZXhlY3V0aW9uLXZhbHVlLXVua25vd257Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjQwMH0uZXhlY3V0aW9uLWVudmlyb25tZW50e292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmV4ZWN1dGlvbi1ldmlkZW5jZS1ub3Rlc3tmbGV4LWJhc2lzOjEwMCU7bWFyZ2luLXRvcDoycHh9LmFjY291bnQtY2FyZC1ub3Rlc3ttYXJnaW4tdG9wOjhweH0uZXhlY3V0aW9uLWV2aWRlbmNlLW5vdGV7ZGlzcGxheTpncmlkO2dhcDozcHg7bWFyZ2luLXRvcDo2cHh9LmV4ZWN1dGlvbi1ldmlkZW5jZS1ub3RlIC5hY2NvdW50LXJvd3tmb250LXNpemU6MTJweH0uZXhlY3V0aW9uLWV2aWRlbmNlLW5vdGUgcHttYXJnaW46MnB4IDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNX0uYWNjb3VudC1mYWN0cy1ub3RlcyBwe21hcmdpbjo0cHggMCAwfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5hY2NvdW50LXBsYXRmb3JtLWhlYWR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjhweH0uYWNjb3VudC1wbGF0Zm9ybS1zdW1tYXJ5e2ZsZXgtYmFzaXM6YXV0b30uYWNjb3VudC1mYWN0cy1wbGF0Zm9ybXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaH0uYWNjb3VudC1mYWN0cy1jdXJyZW5jeXtmbGV4LWJhc2lzOmF1dG99fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5hY2NvdW50LXBsYXRmb3JtLWhlYWR7cGFkZGluZzoxMHB4IDEycHh9LmFjY291bnQtZ3JvdXAtY2FyZHtwYWRkaW5nOjE0cHh9LmFjY291bnQtY2FyZC1mYWN0cyAuYWNjb3VudC1mYWN0cy1hc3NldHMgLm1vbmV5e2ZvbnQtc2l6ZToxNnB4fS5hY2NvdW50LWNhcmQtZmFjdHMgLmFjY291bnQtZmFjdHM6bm90KC5hY2NvdW50LWZhY3RzLXN0YXRlKXtkaXNwbGF5OmdyaWR9fS5hY2NvdW50cy1zcGxpdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgzMjBweCw0MDBweCkgbWlubWF4KDAsMWZyKTtnYXA6MThweDthbGlnbi1pdGVtczpzdGFydH0uYWNjb3VudHMtbGlzdC1jYXJkc3tkaXNwbGF5Om5vbmV9LmFjY291bnRzLXNwbGl0Om5vdCguZGV0YWlsLW9wZW4pe2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5hY2NvdW50cy1saXN0LC5hY2NvdW50cy1kZXRhaWx7bWluLXdpZHRoOjB9LmFjY291bnRzLWFsaWFzLWJ1dHRvbntjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzowfS5hY2NvdW50cy1hbGlhcy1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYWNjb3VudHMtbW9iaWxlLWJhY2t7ZGlzcGxheTpub25lO21hcmdpbi1ib3R0b206MTJweH0uYWNjb3VudHMtdW5hc3NpZ25lZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luOjB9LmFjY291bnRzLWRldGFpbC1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweCAxMnB4O21hcmdpbi1ib3R0b206MTBweH0uYWNjb3VudHMtZGV0YWlsLWhlYWQ+LmNhcmQtdGl0bGV7bWFyZ2luOjA7Zm9udC1zaXplOjE5cHg7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmFjY291bnRzLXN1bW1hcnktcm93c3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDowfS5hY2NvdW50cy1zdW1tYXJ5LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7bWluLWhlaWdodDozOHB4O3BhZGRpbmc6OXB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tc29mdC1saW5lLCB2YXIoLS1saW5lKSk7Zm9udC1zaXplOjEzcHg7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZmxleC13cmFwOndyYXB9LmFjY291bnRzLXN1bW1hcnktcm93Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTowfS5hY2NvdW50cy1zdW1tYXJ5LXJvdz5zcGFuOmZpcnN0LWNoaWxke2NvbG9yOnZhcigtLW11dGVkKX0uYWNjb3VudHMtc3VtbWFyeS1yb3c+c3BhbjpsYXN0LWNoaWxke3RleHQtYWxpZ246cmlnaHQ7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5hY2NvdW50cy1maWVsZC1yb3dze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmFjY291bnRzLWZpZWxkLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgxNDBweCwyMjBweCkgMWZyO2dhcDoxMnB4O2FsaWduLWl0ZW1zOnN0YXJ0O3BhZGRpbmc6MTBweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpfS5hY2NvdW50cy1maWVsZC1yb3c6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9LmFjY291bnRzLWZpZWxkLWxhYmVse2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDtwYWRkaW5nLXRvcDo4cHh9LmFjY291bnRzLWZpZWxkLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O21pbi13aWR0aDowfS5hY2NvdW50cy1maWVsZC12YWx1ZXtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uYWNjb3VudHMtZmllbGQtY29udHJvbHtkaXNwbGF5OmZsZXg7Z2FwOjhweDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXB9LmFjY291bnRzLWZpZWxkLWNvbnRyb2wgLmlucHV0e21heC13aWR0aDoyODBweH0uYWNjb3VudHMtZmllbGQtZXJyb3J7Y29sb3I6dmFyKC0tc3RhdHVzLWVycm9yKTtmb250LXNpemU6MTJweH0uYWNjb3VudHMtZmllbGQtY3VycmVudHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmFjY291bnRzLXRvb2xiYXJ7ZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MTJweDtmbGV4LXdyYXA6d3JhcH0uYWNjb3VudHMtaW5saW5lLW5vdGV7Zm9udC1zaXplOjEzcHg7bWFyZ2luOjhweCAwfS5hY2NvdW50cy1pbmxpbmUtbm90ZS5lcnJvcntjb2xvcjp2YXIoLS1zdGF0dXMtZXJyb3IpfS5hY2NvdW50cy1pbmxpbmUtbm90ZS5zdWNjZXNze2NvbG9yOnZhcigtLXN0YXR1cy1vayl9LmFjY291bnRzLWRpZmYtc2VjdGlvbisuYWNjb3VudHMtZGlmZi1zZWN0aW9ue21hcmdpbi10b3A6MTJweH0uYWNjb3VudHMtZGlmZi1zZWN0aW9uIGgze21hcmdpbjowIDAgNnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW11dGVkKX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuYWNjb3VudHMtc3BsaXR7ZGlzcGxheTpibG9ja30uYWNjb3VudHMtbGlzdC10YWJsZXtkaXNwbGF5Om5vbmV9LmFjY291bnRzLWxpc3QtY2FyZHN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5hY2NvdW50cy1zcGxpdC5kZXRhaWwtb3BlbiAuYWNjb3VudHMtbGlzdHtkaXNwbGF5Om5vbmV9LmFjY291bnRzLXNwbGl0Om5vdCguZGV0YWlsLW9wZW4pIC5hY2NvdW50cy1kZXRhaWx7ZGlzcGxheTpub25lfS5hY2NvdW50cy1tb2JpbGUtYmFja3tkaXNwbGF5OmlubGluZS1mbGV4fS5hY2NvdW50cy1kZXRhaWwtaGVhZD4uY2FyZC10aXRsZXtmb250LXNpemU6MThweH0uYWNjb3VudHMtZmllbGQtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjRweH0uYWNjb3VudHMtZmllbGQtbGFiZWx7cGFkZGluZy10b3A6MH0uYWNjb3VudHMtZmllbGQtY29udHJvbCAuaW5wdXR7bWF4LXdpZHRoOm5vbmV9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5hY2NvdW50cy1zdW1tYXJ5LXJvd3twYWRkaW5nOjhweCAwfX0K" }, - "/v2/assets/DataTable-CnFumfs-.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgZyxyIGFzIHUsaiBhcyB0LGYgYXMgTn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2Z1bmN0aW9uIHYoe2NvbHVtbnM6Yyxyb3dzOm4scm93S2V5OmgsZW1wdHlLZXk6bT0ic3RhdGUubm9fZGF0YSIsZGVmYXVsdFNvcnQ6eCxjYXB0aW9uOm8sc2Nyb2xsSGludDpiPSExfSl7Y29uc3QgZD1nKCksW3MsZl09dS51c2VTdGF0ZSh4fHxudWxsKSxqPXUudXNlTWVtbygoKT0+e2lmKCFzKXJldHVybiBuO2NvbnN0IGU9Yy5maW5kKGE9PmEuaWQ9PT1zLmNvbHVtbik7aWYoIWU/LnNvcnRWYWx1ZSlyZXR1cm4gbjtjb25zdCByPXMuZGlyZWN0aW9uPT09ImFzYyI/MTotMTtyZXR1cm5bLi4ubl0uc29ydCgoYSxwKT0+e2NvbnN0IGk9ZS5zb3J0VmFsdWUoYSksbD1lLnNvcnRWYWx1ZShwKTtyZXR1cm4gaT09PW51bGwmJmw9PT1udWxsPzA6aT09PW51bGw/MTpsPT09bnVsbD8tMTp0eXBlb2YgaT09Im51bWJlciImJnR5cGVvZiBsPT0ibnVtYmVyIj8oaS1sKSpyOlN0cmluZyhpKS5sb2NhbGVDb21wYXJlKFN0cmluZyhsKSkqcn0pfSxbbixzLGNdKTtyZXR1cm4gbi5sZW5ndGg/dC5qc3hzKHQuRnJhZ21lbnQse2NoaWxkcmVuOltiJiZ0LmpzeCgicCIse2NsYXNzTmFtZToidGFibGUtc2Nyb2xsLWhpbnQiLGNoaWxkcmVuOmQoImNvbW1vbi50YWJsZV9zY3JvbGxfaGludCIpfSksdC5qc3goImRpdiIse2NsYXNzTmFtZToidGFibGUtd3JhcCIsdGFiSW5kZXg6MCxyb2xlOiJyZWdpb24iLCJhcmlhLWxhYmVsIjpvLGNoaWxkcmVuOnQuanN4cygidGFibGUiLHtjbGFzc05hbWU6ImRhdGEtdGFibGUiLGNoaWxkcmVuOltvJiZ0LmpzeCgiY2FwdGlvbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46b30pLHQuanN4KCJ0aGVhZCIse2NoaWxkcmVuOnQuanN4KCJ0ciIse2NoaWxkcmVuOmMubWFwKGU9Pntjb25zdCByPSEhZS5zb3J0VmFsdWUsYT1zPy5jb2x1bW49PT1lLmlkO3JldHVybiB0LmpzeCgidGgiLHtjbGFzc05hbWU6YCR7ZS5udW1lcmljPyJudW0gIjoiIn0ke3I/InNvcnRhYmxlIjoiIn1gLCJhcmlhLXNvcnQiOmE/cy5kaXJlY3Rpb249PT0iYXNjIj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyI6dm9pZCAwLGNoaWxkcmVuOnI/dC5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToidGFibGUtc29ydCIsb25DbGljazooKT0+Zih7Y29sdW1uOmUuaWQsZGlyZWN0aW9uOmEmJnMuZGlyZWN0aW9uPT09ImRlc2MiPyJhc2MiOiJkZXNjIn0pLGNoaWxkcmVuOltlLmhlYWRlcixhP3MuZGlyZWN0aW9uPT09ImFzYyI/IiDilrIiOiIg4pa8IjoiIl19KTplLmhlYWRlcn0sZS5pZCl9KX0pfSksdC5qc3goInRib2R5Iix7Y2hpbGRyZW46ai5tYXAoZT0+dC5qc3goInRyIix7Y2hpbGRyZW46Yy5tYXAocj0+dC5qc3goInRkIix7Y2xhc3NOYW1lOnIubnVtZXJpYz8ibnVtIjoiIixjaGlsZHJlbjpyLmNlbGwoZSl9LHIuaWQpKX0saChlKSkpfSldfSl9KV19KTp0LmpzeChOLHt0aXRsZTpkKG0pfSl9ZXhwb3J0e3YgYXMgRH07Cg==" }, - "/v2/assets/DecisionsPage-B_UQxQVe.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgY2UscSBhcyBmZSxqIGFzIGUsdCBhcyBvZSxCIGFzIEgsSyBhcyBUZSx4IGFzIFhlLGUgYXMgZW4sTCBhcyBubixyIGFzIHUsZyBhcyBlZSxTIGFzIHRuLGkgYXMgc24sTiBhcyBhbixuIGFzIHJlLGYgYXMgemUsTyBhcyBybixRIGFzIG9uLFQgYXMgSWUsVSBhcyBjbixBIGFzIGxuLFYgYXMgZG4sVyBhcyBSZSxYIGFzIEJlLFkgYXMgdW4sSCBhcyBwbn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2ltcG9ydHtpIGFzIG1ufWZyb20iLi9pbmJveEZhaWx1cmUtRF8zZnRsQnQuanMiO2ltcG9ydHtjIGFzIGZuLGEgYXMgX24sVCBhcyBobixmIGFzIExlLHAgYXMgT2UsRCBhcyBNZSxvIGFzIHluLHIgYXMgeG4saCBhcyBnbixiIGFzIGpufWZyb20iLi9oZWxwZXJzLVhJSUdMMEo5LmpzIjtpbXBvcnR7dSBhcyBwZSxjIGFzIGJufWZyb20iLi9ob29rcy1DTW5BMWxPUC5qcyI7aW1wb3J0e1QgYXMgdm59ZnJvbSIuL1RhYnMtQ0ZvWDF4ek0uanMiO2ltcG9ydHt1IGFzIGtuLEMgYXMgTm59ZnJvbSIuL0RpYWxvZy1EY2RncmNXeC5qcyI7aW1wb3J0e0UgYXMgd24sYSBhcyBTbixiIGFzIEFuLHQgYXMgJG59ZnJvbSIuL2NvY2twaXQtQy1OQ0xabksuanMiO2ltcG9ydCIuL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiO2Z1bmN0aW9uIEhlKHtkYXRhOmksZXJyb3I6bixvblJldHJ5OnN9KXtjb25zdCBhPWNlKCkscj1mZSgpLHA9bW4oaSxuKSxjPWk/LmRpcmVjdG9yeT8uY29tcGxldGU9PT0hMT9pLmRpcmVjdG9yeS5yZXRyeV9hdDpudWxsO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZXJyb3Itc3RhdGUiLHJvbGU6ImFsZXJ0IiwiZGF0YS1zdGF0ZSI6cCxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0YXRlLWljb24gc3RhdGUtaWNvbi1lcnJvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46ZS5qc3hzKCJzdmciLHt3aWR0aDoxNCxoZWlnaHQ6MTQsdmlld0JveDoiMCAwIDEwIDEwIixjaGlsZHJlbjpbZS5qc3goImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIifSksZS5qc3goInBhdGgiLHtkOiJNMy4yIDMuMiBMNi44IDYuOCBNNi44IDMuMiBMMy4yIDYuOCIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJlcnJvci10aXRsZSIsY2hpbGRyZW46YShgaW5ib3guZXJyb3IuJHtwfS50aXRsZWApfSksZS5qc3goInAiLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjphKCJpbmJveC5jb3VudF91bmtub3duIil9KSxwPT09InVuYXV0aG9yaXplZCImJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46YSgiaW5ib3guYXV0aF9oaW50Iil9KSxjIT1udWxsJiZOdW1iZXIuaXNGaW5pdGUoYykmJmM+MCYmZS5qc3goInAiLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjphKCJpbmJveC5yZXRyeV9hdCIse3ZhbHVlOm9lKG5ldyBEYXRlKGMpLnRvSVNPU3RyaW5nKCkscikudGV4dH0pfSldfSkscyYmcCE9PSJ1bmF1dGhvcml6ZWQiJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdGF0ZS1hY3Rpb24iLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46YSgiaW5ib3gucmV0cnkiKX0pfSldfSl9ZnVuY3Rpb24gYmUoaSxuKXtyZXR1cm4gaS5maW5kKHM9PnMuaWQ9PT1uKT8/KGkubGVuZ3RoPT09MT9pWzBdOm51bGwpfWNvbnN0IENuPW5ldyBTZXQoWyJhcHByb3ZlIiwiYWNjZXB0IiwiYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Il0pLERuPW5ldyBTZXQoWyJyZWplY3QiLCJrZWVwX3BhcmtlZCJdKTtmdW5jdGlvbiBFbihpKXtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9bLi4ubmV3IFNldChpLmZsYXRNYXAobj0+e2NvbnN0IHM9dHlwZW9mIG49PSJzdHJpbmciP246biYmdHlwZW9mIG49PSJvYmplY3QiJiZ0eXBlb2Ygbi5hY3Rpb249PSJzdHJpbmciP24uYWN0aW9uOm51bGw7cmV0dXJuIHM/W3NdOltdfSkpXTpudWxsfWZ1bmN0aW9uIHZlKGksbil7Y29uc3Qgcz1pJiZ0eXBlb2YgaT09Im9iamVjdCImJiJhbGxvd2VkX2FjdGlvbnMiaW4gaT9pLmFsbG93ZWRfYWN0aW9uczp2b2lkIDAsYT1FbihzKTtpZihhPT09bnVsbClyZXR1cm4hMDtjb25zdCByPW49PT0iYWRvcHQiP0NuOkRuO3JldHVybiBhLnNvbWUocD0+ci5oYXMocCkpfWZ1bmN0aW9uIEZuKGkpe3JldHVybnt0aWNrZXRfaWQ6aS50aWNrZXRJZCxkZWNpc2lvbjppLmFjY2VwdD8iYWNjZXB0IjoicmVqZWN0Iixjb25maXJtYXRpb246aS5hY2NvdW50JiZpLnJpc2tQcm9maWxlP3t0YXJnZXRfcGxhdGZvcm06aS5hY2NvdW50LnBsYXRmb3JtLGV4ZWN1dGlvbl9tb2RlOmkuYWNjb3VudC5tb2RlLHJpc2tfcHJvZmlsZTppLnJpc2tQcm9maWxlfTpudWxsLC4uLmkuYWNjb3VudD97c2VsZWN0ZWRfYWNjb3VudDp7cGxhdGZvcm06aS5hY2NvdW50LnBsYXRmb3JtLGtleTppLmFjY291bnQua2V5fX06e30sZXhwZWN0ZWRfcHJvcG9zZWRfcGFyYW1zOmkucHJvcG9zZWRQYXJhbXN8fHt9LGV4cGVjdGVkX3N0cmF0ZWd5X3Byb2ZpbGU6aS5zdHJhdGVneVByb2ZpbGUsZXhwZWN0ZWRfZG9tYWluOmkuZG9tYWlufX1jb25zdCBUbj17b3duZXI6Im93bmVyX2RlY2lzaW9uIixwcm9tb3Rpb246InN0cmF0ZWd5X3Byb21vdGlvbiIscmVjb3Zlcnk6InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IixjcmVkZW50aWFsOiJjcmVkZW50aWFsX21haW50ZW5hbmNlIn07ZnVuY3Rpb24gSW4oaSl7Y29uc3Qgbj1UbltpXTtyZXR1cm4gbj9gY2F0ZWdvcnkuJHtufWA6ImRlY2lzaW9ucy51bmtub3duX3NvdXJjZSJ9ZnVuY3Rpb24gUm4oaSl7cmV0dXJuIGk9PT0icmVhZF9mYWlsZWQiPyJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS5yZWFkX2ZhaWxlZCI6aT09PSJ1bmF2YWlsYWJsZSI/ImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnVuYXZhaWxhYmxlIjoiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2Uuc3RhbGUifWNvbnN0IFBlPVsicG9zaXRpb25zIiwiY2FzaCIsIm9wZW5fb3JkZXJzIiwicmVjZW50X2V4ZWN1dGlvbnMiLCJsb2NhbF9leGVjdXRpb25fbGVkZ2VyIl0sQm49e2NvbXBsZXRlOiJvayIscGFydGlhbDoid2FybiIsdW5rbm93bjoidW5rbm93biJ9LExuPVsia2luZCIsImN1cnJlbmN5Iiwid2luZG93X3N0YXJ0Iiwid2luZG93X2VuZCIsImxpbWl0X3Blcl9uYW1lc3BhY2UiLCJnYXRld2F5X2F2YWlsYWJpbGl0eSIsInRydW5jYXRlZCJdLG1lPWk9PiEhKGkmJnR5cGVvZiBpPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoaSkpO2Z1bmN0aW9uIE9uKGkpe2NvbnN0IG49bWUoaSk/aTpudWxsLHM9YT0+e2NvbnN0IHI9bj8uW2FdO3JldHVybiB0eXBlb2Ygcj09InN0cmluZyI/cjpudWxsfTtyZXR1cm57cHJvdmlkZWQ6biE9PW51bGwsa2luZDpzKCJraW5kIiksY3VycmVuY3k6cygiY3VycmVuY3kiKSx3aW5kb3dfc3RhcnQ6cygid2luZG93X3N0YXJ0Iiksd2luZG93X2VuZDpzKCJ3aW5kb3dfZW5kIiksbGltaXRfcGVyX25hbWVzcGFjZTpzKCJsaW1pdF9wZXJfbmFtZXNwYWNlIiksZ2F0ZXdheV9hdmFpbGFiaWxpdHk6cygiZ2F0ZXdheV9hdmFpbGFiaWxpdHkiKSx0cnVuY2F0ZWQ6cygidHJ1bmNhdGVkIil9fWZ1bmN0aW9uIE1uKGkpe2NvbnN0IG49bWUoaSk/aTpudWxsLHM9T24obj9uLnNjb3BlOm51bGwpO3JldHVybiBuP24uc3RhdHVzPT09ImNvbXBsZXRlIiYmQXJyYXkuaXNBcnJheShuLml0ZW1zKT97c3RhdHVzOiJjb21wbGV0ZSIsaXRlbXM6bi5pdGVtcyxzY29wZTpzfTpuLnN0YXR1cz09PSJwYXJ0aWFsIj97c3RhdHVzOiJwYXJ0aWFsIixpdGVtczpBcnJheS5pc0FycmF5KG4uaXRlbXMpP24uaXRlbXM6bnVsbCxzY29wZTpzfTp7c3RhdHVzOiJ1bmtub3duIixpdGVtczpudWxsLHNjb3BlOnN9OntzdGF0dXM6InVua25vd24iLGl0ZW1zOm51bGwsc2NvcGU6c319ZnVuY3Rpb24gUG4oaSxuKXtyZXR1cm4gbihgaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuJHtpfWAse30sImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIil9Y29uc3QgcW49WyJhY3Rpb24iLCJzaWRlIiwic3RhdHVzIiwib3JkZXJfdHlwZSIsInJpZ2h0Iiwic2VjX3R5cGUiXTtmdW5jdGlvbiBLbihpLG4scyl7cmV0dXJuIHFuLmluY2x1ZGVzKGkpP3MoYGluaXRpYWxfZW5yb2xsbWVudC5lbnVtLiR7aX0uJHtufWAse30sImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6bn1mdW5jdGlvbiB6bihpLG4scyl7cmV0dXJuIG49PT1udWxsfHxuPT09IiI/cygiY29tbW9uLnVua25vd24iKTppPT09InRydW5jYXRlZCI/cyhuPT09InRydWUiPyJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUudHJ1ZSI6bj09PSJmYWxzZSI/ImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS5mYWxzZSI6ImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6aT09PSJnYXRld2F5X2F2YWlsYWJpbGl0eSI/cyhuPT09ImN1cnJlbnRfYnJva2VyX2RheSI/ImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUudW5rbm93biIpOmk9PT0ia2luZCI/cyhgaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2tpbmQuJHtufWAse30sImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6bn1mdW5jdGlvbiBOZSh7dmFsdWU6aSx0Om4sZmllbGQ6c30pe2lmKGk9PT1udWxsKXJldHVybiBlLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjpuKCJjb21tb24udW5rbm93biIpfSk7aWYodHlwZW9mIGk9PSJzdHJpbmciKXJldHVybiBlLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjppP0tuKHM/PyIiLGksbik6bigiY29tbW9uLm5hIil9KTtpZih0eXBlb2YgaT09Im51bWJlciIpcmV0dXJuIGUuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOk51bWJlci5pc0Zpbml0ZShpKT9TdHJpbmcoaSk6bigiY29tbW9uLnVua25vd24iKX0pO2lmKHR5cGVvZiBpPT0iYm9vbGVhbiIpcmV0dXJuIGUuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOm4oaT8iaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiKX0pO2lmKEFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIGkubGVuZ3RoPT09MD9lLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjpuKCJjb21tb24ubmEiKX0pOmUuanN4KCJ1bCIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWxpc3QiLGNoaWxkcmVuOmkubWFwKChyLHApPT5lLmpzeCgibGkiLHtjaGlsZHJlbjplLmpzeChOZSx7dmFsdWU6cix0Om4sZmllbGQ6c30pfSxwKSl9KTtjb25zdCBhPU9iamVjdC5lbnRyaWVzKGkpO3JldHVybiBhLmxlbmd0aD09PTA/ZS5qc3goZS5GcmFnbWVudCx7Y2hpbGRyZW46bigiY29tbW9uLm5hIil9KTplLmpzeCgiZGwiLHtjbGFzc05hbWU6ImluaXRpYWwtZW5yb2xsbWVudC1maWVsZHMiLGNoaWxkcmVuOmEubWFwKChbcixwXSk9PmUuanN4cygiZGl2Iix7ImRhdGEtZmFjdC1rZXkiOnIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOlBuKHIsbil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChOZSx7dmFsdWU6cCx0Om4sZmllbGQ6cn0pfSldfSxyKSl9KX1mdW5jdGlvbiBIbih7c2NvcGU6aSx0Om59KXtjb25zdCBzPUxuLmZpbHRlcihhPT5pW2FdIT09bnVsbCYmaVthXSE9PSIiKTtyZXR1cm4haS5wcm92aWRlZHx8IXMubGVuZ3RoP251bGw6ZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc2NvcGUtYmxvY2siLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOm4oImluaXRpYWxfZW5yb2xsbWVudC5zY29wZSIpfSksZS5qc3goImRsIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc2NvcGUiLGNoaWxkcmVuOnMubWFwKGE9PmUuanN4cygiZGl2Iix7ImRhdGEtc2NvcGUtZmllbGQiOmEsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOm4oYGluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC4ke2F9YCl9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjp6bihhLGlbYV0sbil9KV19LGEpKX0pXX0pfWZ1bmN0aW9uIFVuKHtzdXJmYWNlOmksdDpufSl7aWYoaS5zdGF0dXM9PT0idW5rbm93biIpcmV0dXJuIGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6InVua25vd24iLGNoaWxkcmVuOm4oImNvbW1vbi51bmtub3duIil9KTtjb25zdCBzPWkuaXRlbXM7cmV0dXJuIHM9PT1udWxsP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6InVuYXZhaWxhYmxlIixjaGlsZHJlbjpuKCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF91bmF2YWlsYWJsZSIpfSk6cy5sZW5ndGg9PT0wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6aS5zdGF0dXM9PT0iY29tcGxldGUiPyJrbm93bl9lbXB0eSI6InBhcnRpYWxfdW5hdmFpbGFibGUiLGNoaWxkcmVuOmkuc3RhdHVzPT09ImNvbXBsZXRlIj9uKCJpbml0aWFsX2Vucm9sbG1lbnQua25vd25fZW1wdHkiKTpuKCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF91bmF2YWlsYWJsZSIpfSk6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltpLnN0YXR1cz09PSJwYXJ0aWFsIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOm4oImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX25vdGljZSIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWl0ZW1zIiwiZGF0YS1pdGVtLWNvdW50IjpzLmxlbmd0aCxjaGlsZHJlbjpzLm1hcCgoYSxyKT0+ZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWl0ZW0iLGNoaWxkcmVuOmUuanN4KE5lLHt2YWx1ZTphLHQ6bn0pfSxyKSl9KV19KX1mdW5jdGlvbiBWbih7YWNjb3VudDppLHN0cmF0ZWd5Om4scGxhdGZvcm06cyxmYWN0czphLHJlYWRpbmVzczpyLGJsb2NrZXJDb2RlczpwfSl7Y29uc3QgYz1jZSgpLEU9ZmUoKSxkPW1lKGEpP2E6bnVsbCx5PWQ/Lm9ic2VydmVkX2F0LCQ9dHlwZW9mIHk9PSJzdHJpbmciJiZOdW1iZXIuaXNGaW5pdGUoRGF0ZS5wYXJzZSh5KSk/eTpudWxsLHY9JD9vZSgkLEUpOm51bGwsaz1kJiZtZShkLnN1cmZhY2VzKT9kLnN1cmZhY2VzOm51bGwsST1yPT09ImJsb2NrZWQifHwhIXA/Lmxlbmd0aCxXPShwfHxbXSkubWFwKE49Pi9eaW5pdGlhbF9lbnJvbGxtZW50XyguKylfaW5jb21wbGV0ZSQvLmV4ZWMoTik/LlsxXSkuZmlsdGVyKE49PiEhKE4mJlBlLmluY2x1ZGVzKE4pKSk7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWZhY3RzIiwiYXJpYS1sYWJlbCI6YygiaW5pdGlhbF9lbnJvbGxtZW50LnRpdGxlIiksImRhdGEtbWF0ZXJpYWwiOiJpbml0aWFsX2Vucm9sbG1lbnQiLCJkYXRhLXJlYWRpbmVzcyI6cj8/dm9pZCAwLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOmMoImluaXRpYWxfZW5yb2xsbWVudC50aXRsZSIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW1ldGEiLGNoaWxkcmVuOltlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbYygiY29tbW9uLmFjY291bnQiKSwiOiAiLGl8fGMoImNvbW1vbi51bmtub3duIildfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2MoImNvbW1vbi5zdHJhdGVneSIpLCI6ICIsbnx8YygiY29tbW9uLnVua25vd24iKV19KSxzJiZlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbYygiY29tbW9uLnBsYXRmb3JtIiksIjogIixzXX0pLGUuanN4cygic3BhbiIse2NoaWxkcmVuOltjKCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiKSwiOiIsIiAiLCQmJnY/ZS5qc3goInRpbWUiLHtkYXRlVGltZTokLGNoaWxkcmVuOnYuem9uZT9gJHt2LnRleHR9ICgke3Yuem9uZX0pYDp2LnRleHR9KTpjKCJjb21tb24udW5rbm93biIpXX0pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpjKCJpbml0aWFsX2Vucm9sbG1lbnQubm90aWNlIil9KSxJJiZlLmpzeHMoInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUgaW5pdGlhbC1lbnJvbGxtZW50LWJsb2NrZWQiLHJvbGU6InN0YXR1cyIsImRhdGEtc3RhdGUiOiJibG9ja2VkIixjaGlsZHJlbjpbYygiaW5pdGlhbF9lbnJvbGxtZW50LmJsb2NrZWQiKSxXLmxlbmd0aD4wP2AgJHtXLm1hcChOPT5jKGBpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS4ke059YCkpLmpvaW4oIiAvICIpfWA6IiJdfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LXN1cmZhY2VzIixjaGlsZHJlbjpQZS5tYXAoTj0+e2NvbnN0IGg9TW4oaz8uW05dKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc3VyZmFjZSIsImRhdGEtc3VyZmFjZSI6TiwiZGF0YS1zdGF0dXMiOmguc3RhdHVzLGNoaWxkcmVuOltlLmpzeHMoImgzIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc3VyZmFjZS10aXRsZSIsY2hpbGRyZW46W2MoYGluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLiR7Tn1gKSwiICIsZS5qc3goSCx7dG9uZTpCbltoLnN0YXR1c10sY2hpbGRyZW46YyhgaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy4ke2guc3RhdHVzfWApfSldfSksZS5qc3goVW4se3N1cmZhY2U6aCx0OmN9KSxlLmpzeChIbix7c2NvcGU6aC5zY29wZSx0OmN9KV19LE4pfSl9KV19KX1mdW5jdGlvbiBHbih7ZGF0YTppLGxhbmd1YWdlOm4sdDpzLGl0ZW1JZDphfSl7Y29uc3Qgcj1pPy5zb3VyY2VzLmZpbmQoZD0+ZC5zb3VyY2U9PT0icmVjb3ZlcnkiKSxwPXI/LmN1cnJlbnRfcmVjb25jaWxpYXRpb25fb2JzZXJ2YXRpb24sYz0oaT8uaXRlbXN8fFtdKS5maWx0ZXIoZD0+ZC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSImJighYXx8ZC5pZD09PWEpKSxFPWQ9PntpZighZHx8IU51bWJlci5pc0Zpbml0ZShEYXRlLnBhcnNlKGQpKSlyZXR1cm4gcygiY29tbW9uLnVua25vd24iKTtjb25zdCB5PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG49PT0iemgiPyJ6aC1DTiI6ImVuLVVTIix7eWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmVOYW1lOiJzaG9ydE9mZnNldCJ9KS5mb3JtYXRUb1BhcnRzKG5ldyBEYXRlKGQpKSwkPXkuZmluZChrPT5rLnR5cGU9PT0idGltZVpvbmVOYW1lIik/LnZhbHVlfHwiIix2PXkuZmlsdGVyKGs9PmsudHlwZSE9PSJ0aW1lWm9uZU5hbWUiKS5tYXAoaz0+ay52YWx1ZSkuam9pbigiIikudHJpbSgpO3JldHVybiBlLmpzeCgidGltZSIse2RhdGVUaW1lOmQsY2hpbGRyZW46JD9gJHt2fSAoJHskfSlgOnZ9KX07cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicmVjb25jaWxpYXRpb24tbWF0ZXJpYWxzIiwiYXJpYS1sYWJlbCI6cygicmVjb25jaWxpYXRpb24udGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5jdXJyZW50Iil9KSxlLmpzeCgicCIse3JvbGU6InN0YXR1cyIsY2hpbGRyZW46cD8uc3RhdHVzX2xhYmVsW25dfHxzKCJyZWNvbmNpbGlhdGlvbi5ub3RfY29ubmVjdGVkIil9KSxwPy5sYXN0X29ic2VydmVkX2F0JiZlLmpzeHMoInAiLHtjaGlsZHJlbjpbcygicmVjb25jaWxpYXRpb24ub2JzZXJ2ZWRfYXQiKSwi77yaIixFKHAubGFzdF9vYnNlcnZlZF9hdCldfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLmhpc3Rvcnlfbm90aWNlIil9KSxlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLm1hdGVyaWFscyIpfSkscj8uc3RhdHVzIT09Im9rIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOnMocj8uc3RhdHVzPT09InN0YWxlIj8icmVjb25jaWxpYXRpb24uc3RhbGUiOiJyZWNvbmNpbGlhdGlvbi5yZWFkX3Vua25vd24iKX0pLCFjLmxlbmd0aCYmZS5qc3goInAiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5lbXB0eSIpfSksYy5tYXAoZD0+e2NvbnN0IHk9ZC5wcmVzZW50YXRpb24sJD1UZSgic3RyYXRlZ2llcyIseT8uc3RyYXRlZ3lfcHJvZmlsZXx8IiIsbixzKCJyZWNvbmNpbGlhdGlvbi51bm5hbWVkX3N0cmF0ZWd5IikpLHY9VGUoImFjY291bnRzIixkLmFjY291bnRfYWxpYXN8fCIiLG4scygiY29tbW9uLmFjY291bnQiKSxkLnBsYXRmb3JtfHwiIik7cmV0dXJuIGUuanN4cygiYXJ0aWNsZSIse2NsYXNzTmFtZToicmVjb25jaWxpYXRpb24tbWF0ZXJpYWwiLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjaGlsZHJlbjp5Py5sYWJlbFtuXXx8cygicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIil9KSxlLmpzeHMoInAiLHtjaGlsZHJlbjpbJCwiIMK3ICIsdiwhYSYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOlsiIMK3ICIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InJlY29uY2lsaWF0aW9uLXJlZiIsY2hpbGRyZW46cygiZGVjaXNpb25zLnJlZiIse2lkOmQuc2hvcnRfaWR9KX0pXX0pXX0pLGUuanN4cygiZGwiLHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46cygicmVjb25jaWxpYXRpb24uZGVjaXNpb25fc3RhdHVzIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjp5Py5kZWNpc2lvbl9zdGF0dXNfbGFiZWxbbl18fHMoInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iKX0pXX0pLGUuanN4cygiZGl2Iix7Y2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLmZyZXNobmVzcyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46cyhkLmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXM9PT0ic3RhbGUiPyJzdGF0ZS5zdGFsZSI6ZC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09InJlYWR5Ij8iZGVjaXNpb25zLmZyZXNobmVzcy5yZWFkeSI6ImNvbW1vbi51bmtub3duIil9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46RSh5Py5sYXN0X29ic2VydmVkX2F0fHxkLmV2aWRlbmNlX2ZyZXNobmVzcy5hc19vZil9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5nZW5lcmF0ZWRfYXQiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOkUoeT8uc291cmNlX2dlbmVyYXRlZF9hdCl9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5jb21wdXRlZF9hdCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46RSh5Py5zb3VyY2VfY29tcHV0ZWRfYXQpfSldfSldfSldfSxkLmlkKX0pXX0pfWNvbnN0IFluPVsicmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiLCJzdHJhdGVneV9wcm9tb3Rpb24iLCJvd25lcl9kZWNpc2lvbiIsInBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iLCJjcmVkZW50aWFsX21haW50ZW5hbmNlIl0scWU9e2hpZ2g6MCxtZWRpdW06MSxub3JtYWw6Mn0sVWU9MzAqODY0ZTU7ZnVuY3Rpb24gV24oaSl7aWYoaS5ldmlkZW5jZV9mcmVzaG5lc3M/LnN0YXR1cz09PSJzdGFsZSIpcmV0dXJuITA7Y29uc3Qgbj1pLmNyZWF0ZWRfYXQ/RGF0ZS5wYXJzZShpLmNyZWF0ZWRfYXQpOk5hTjtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKG4pJiZEYXRlLm5vdygpLW4+VWV9ZnVuY3Rpb24gWm4oaSl7aWYoaS5ldmlkZW5jZV9mcmVzaG5lc3M/LnN0YXR1cz09PSJzdGFsZSIpcmV0dXJuImRlY2lzaW9ucy5zdGFsZV9oaW50Ijtjb25zdCBuPWkuY3JlYXRlZF9hdD9EYXRlLnBhcnNlKGkuY3JlYXRlZF9hdCk6TmFOO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobikmJkRhdGUubm93KCktbj5VZT8iZGVjaXNpb25zLnN0YWxlX3Zpc2libGVfaGludCI6bnVsbH1mdW5jdGlvbiBuZShpKXtjb25zdCBuPWkuZGVjaXNpb25fYmluZGluZztpZihuJiZ0eXBlb2Ygbi5zdWJqZWN0X2lkPT0ic3RyaW5nIiYmbi5zdWJqZWN0X2lkKXJldHVybiBuLnN1YmplY3RfaWQ7Y29uc3Qgcz1pLmlkLmluZGV4T2YoIjoiKTtyZXR1cm4gcz49MD9pLmlkLnNsaWNlKHMrMSk6aS5pZH1mdW5jdGlvbiBzZShpKXtpZihpLnN0YXR1cz09PSJleHBpcmVkIilyZXR1cm4hMDtjb25zdCBuPWkuZXhwaXJlc19hdD9EYXRlLnBhcnNlKGkuZXhwaXJlc19hdCk6TmFOO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobikmJm48RGF0ZS5ub3coKX1mdW5jdGlvbiBrZShpKXtyZXR1cm4gaS5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSImJighIWkuaW5pdGlhbF9lbnJvbGxtZW50fHxpLnByZXNlbnRhdGlvbj8ubWF0ZXJpYWxfa2luZD09PSJpbml0aWFsX2Vucm9sbG1lbnQiKX1mdW5jdGlvbiBKbihpKXtyZXR1cm5bLi4uaV0uc29ydCgobixzKT0+e2NvbnN0IGE9KyhzLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IiktKyhuLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Iik7aWYoYSE9PTApcmV0dXJuIGE7Y29uc3Qgcj0ocWVbbi5wcmlvcml0eV0/PzMpLShxZVtzLnByaW9yaXR5XT8/Myk7cmV0dXJuIHIhPT0wP3I6KHMuY3JlYXRlZF9hdHx8IiIpLmxvY2FsZUNvbXBhcmUobi5jcmVhdGVkX2F0fHwiIil9KX1mdW5jdGlvbiBhZShpLG4pe2NvbnN0IHM9aT8uYXBwbGljYXRpb25fcHJlcGFyYXRpb24/LmFjY291bnRfb3B0aW9ucztyZXR1cm4gQXJyYXkuaXNBcnJheShzKT9zLmZpbHRlcihhPT57aWYoIWF8fHR5cGVvZiBhLnBsYXRmb3JtIT0ic3RyaW5nInx8dHlwZW9mIGEua2V5IT0ic3RyaW5nInx8IWEua2V5LnRyaW0oKSlyZXR1cm4hMTtjb25zdCByPWEuYnJva2VyX2Vudmlyb25tZW50O3JldHVybiBuP2EucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSImJnI9PT0icGFwZXIiOnI9PT0ibGl2ZSJ8fHI9PT0icGFwZXIiJiZhLnBsYXRmb3JtPT09ImxvbmdicmlkZ2UifSkubWFwKGE9Pih7aWQ6YCR7YS5wbGF0Zm9ybX06JHthLmtleX1gLHBsYXRmb3JtOlN0cmluZyhhLnBsYXRmb3JtKSxrZXk6U3RyaW5nKGEua2V5KSxsYWJlbDp0eXBlb2YgYS5sYWJlbD09InN0cmluZyImJmEubGFiZWwudHJpbSgpP2EubGFiZWw6U3RyaW5nKGEua2V5KSxtb2RlOlN0cmluZyhhLmJyb2tlcl9lbnZpcm9ubWVudHx8IiIpfSkpOltdfWZ1bmN0aW9uIEtlKGksbil7Y29uc3Qgcz1baT8ucmlza19wb2xpY3lfYmluZGluZyxpPy5jb25maXJtYXRpb24sbi5yaXNrX3BvbGljeV9iaW5kaW5nLG5dO2Zvcihjb25zdCBhIG9mIHMpe2lmKCFhfHx0eXBlb2YgYSE9Im9iamVjdCIpY29udGludWU7Y29uc3Qgcj10eXBlb2YgYS5zZWxlY3RlZF90aWVyPT0ic3RyaW5nIj9hLnNlbGVjdGVkX3RpZXI6dHlwZW9mIGEucmlza19wcm9maWxlPT0ic3RyaW5nIj9hLnJpc2tfcHJvZmlsZTpudWxsO2lmKCFyfHwhb24ocikpY29udGludWU7Y29uc3QgcD10eXBlb2YgYS5wb2xpY3lfcmV2aXNpb249PSJzdHJpbmciJiZhLnBvbGljeV9yZXZpc2lvbj9hLnBvbGljeV9yZXZpc2lvbjp0eXBlb2YgYS5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb249PSJzdHJpbmciJiZhLmFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbj9hLmFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbjpudWxsO3JldHVybntyaXNrX3Byb2ZpbGU6cixwb2xpY3lfcmV2aXNpb246cH19cmV0dXJuIG51bGx9ZnVuY3Rpb24gUW4oaSl7cmV0dXJuIGk9PT0iZnJlc2giPyJzdGF0ZS5mcmVzaCI6aT09PSJzdGFsZSI/InN0YXRlLnN0YWxlIjppPT09InJlYWR5Ij8iZGVjaXNpb25zLmZyZXNobmVzcy5yZWFkeSI6aT09PSJ1bmF2YWlsYWJsZSI/InN0YXRlLnVuYXZhaWxhYmxlIjoic3RhdGUudW5rbm93biJ9ZnVuY3Rpb24gWG4oe2Vwb2NoOmksY2F0ZWdvcnk6bn0pe2NvbnN0IHM9Y2UoKSxhPWZlKCksW3IscF09dS51c2VTdGF0ZShudWxsKSxbYyxFXT11LnVzZVN0YXRlKG51bGwpLFtkLHldPXUudXNlU3RhdGUoITEpLFskLHZdPXUudXNlU3RhdGUoITEpLGs9dS51c2VSZWYoYm4oKSksST11LnVzZUNhbGxiYWNrKCgpPT57Y29uc3QgaD1rLmN1cnJlbnQuYmVnaW4oKTtwKG51bGwpLHkoITEpLEUobnVsbCksSWUoMjUpLnRoZW4oTT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJihwKE0uaXRlbXMpLEUoTS5uZXh0X2N1cnNvcikpfSkuY2F0Y2goKCk9PntrLmN1cnJlbnQuaXNDdXJyZW50KGgpJiZ5KCEwKX0pfSxbXSk7dS51c2VFZmZlY3QoKCk9PkkoKSxbSSxpXSk7Y29uc3QgVz0oKT0+e2lmKCFjfHwkKXJldHVybjtjb25zdCBoPWsuY3VycmVudC5iZWdpbigpO3YoITApLEllKDI1LGMpLnRoZW4oTT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJihwKFA9PlsuLi5QfHxbXSwuLi5NLml0ZW1zXSksRShNLm5leHRfY3Vyc29yKSl9KS5jYXRjaCgoKT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJnkoITApfSkuZmluYWxseSgoKT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJnYoITEpfSl9O2lmKGQmJiFyPy5sZW5ndGgpcmV0dXJuIGUuanN4KEhlLHtvblJldHJ5Okl9KTtpZighcilyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeChyZSx7aGVpZ2h0OjU2fSksZS5qc3goImRpdiIse3N0eWxlOntoZWlnaHQ6OH19KSxlLmpzeChyZSx7aGVpZ2h0OjU2fSldfSk7Y29uc3QgTj1uPT09ImFsbCI/cjpyLmZpbHRlcihoPT5oLmNhdGVnb3J5PT09bik7cmV0dXJuIE4ubGVuZ3RoPT09MD9lLmpzeCh6ZSx7dGl0bGU6cygiZGVjaXNpb25zLmhpc3RvcnkuZW1wdHkiKX0pOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJkZWNpc2lvbnMuaGlzdG9yeV90aXRsZSIpfSksZS5qc3goaG4se2l0ZW1zOk4ubWFwKGg9Pih7aWQ6aC5pZCx0aW1lOmgudGltZSx0aXRsZTplLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2guYWN0b3JfYWxpYXN8fHMoImNvbW1vbi51bmtub3duIiksIiDCtyAiLHMoYGRlY2lzaW9ucy5hY3Rpb24uJHtoLmFjdGlvbn1gKV19KSxkZXRhaWw6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltzKGBjYXRlZ29yeS4ke2guY2F0ZWdvcnl9YCksIiDCtyAiLHMoImRlY2lzaW9ucy5yZWYiLHtpZDpoLml0ZW1fc2hvcnRfaWR9KSwiIMK3ICIsb2UoaC50aW1lLGEpLnRleHRdfSl9KSl9KSxjJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1oaXN0b3J5LW1vcmUiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOiQsb25DbGljazpXLGNoaWxkcmVuOnMoJD8iY29tbW9uLmxvYWRpbmciOiJjb21tb24ubG9hZF9tb3JlIil9KX0pLGQmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpzKCJlcnJvci5nZW5lcmljIil9KV19KX1mdW5jdGlvbiBldCh7b3BlcmF0aW9uSWQ6aX0pe2NvbnN0IG49Y2UoKSxbcyxhXT11LnVzZVN0YXRlKDApLHI9cGUoKCk9PmRuKGksITEpLFtpLHNdKSxwPXIucGhhc2U9PT0ibG9hZGluZyI/ImxvYWRpbmciOnIucGhhc2U9PT0iZXJyb3IiPyJlcnJvciI6ci5kYXRhLnN0YXR1cz09PSJub3RfcmVhZHkiPyJub3RfcmVhZHkiOiJyZWFkeSIsYz1yLnBoYXNlPT09InJlYWR5IiYmci5kYXRhLnN0YXR1cz09PSJyZWFkeSI/ci5kYXRhLmRhdGE6bnVsbCxFPXIucGhhc2U9PT0icmVhZHkiJiZyLmRhdGEuc3RhdHVzPT09InJlYWR5IiYmci5kYXRhLnN5bnRoZXRpYztyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNvY2twaXQtb3BlcmF0aW9uIixjaGlsZHJlbjpbRSYmZS5qc3goSCx7dG9uZToiYWNjZW50IixjaGlsZHJlbjpuKCJjb2NrcGl0LnN5bnRoZXRpYyIpfSksZS5qc3goQW4se29wZXJhdGlvbjpjLHN0YXR1czpwLG9uUmVmcmVzaDooKT0+YShkPT5kKzEpfSldfSl9ZnVuY3Rpb24gbHQoe2RlY2lzaW9uOml9KXtjb25zdCBuPWNlKCkscz1YZSgpLGE9ZmUoKSxyPWVuKCkscD1ubigpLHtjb25maXJtUmVxdWVzdDpjLGNvbmZpcm06RSxyZXNvbHZlQ29uZmlybTpkfT1rbigpLFt5LCRdPXUudXNlU3RhdGUoImFsbCIpLFt2LGtdPXUudXNlU3RhdGUoInBlbmRpbmciKSxbSSxXXT11LnVzZVN0YXRlKDApLFtOLGhdPXUudXNlU3RhdGUobnVsbCksW00sUF09dS51c2VTdGF0ZSh7fSksW19lLHdlXT11LnVzZVN0YXRlKHt9KSx4PXBlKCgpPT5zbihJPjApLFtJXSksU2U9cGUoKCk9PmFuKCksW10pLEFlPVNlLnBoYXNlPT09InJlYWR5IiYmU2UuZGF0YS5hZG1pbj09PSEwLCRlPXgucGhhc2U9PT0icmVhZHkiP3guZGF0YTpudWxsLGxlPXUudXNlTWVtbygoKT0+bmV3IERhdGUoKS50b0lTT1N0cmluZygpLFskZV0pLHE9JGU/LnNlcnZlcl90aW1lPz9udWxsLFU9dS51c2VSZWYoZm4oKSksWj11LnVzZVJlZihfbigpKSxDPXUudXNlQ2FsbGJhY2soKCk9PlcodD0+dCsxKSxbXSksSj11LnVzZU1lbW8oKCk9PngucGhhc2U9PT0icmVhZHkiJiZ4LmRhdGEuc3RhdHVzIT09InJlYWRfZmFpbGVkIj94LmRhdGEuaXRlbXM6W10sW3hdKSxoZT11LnVzZU1lbW8oKCk9PkpuKEouZmlsdGVyKHQ9PnQuc3RhdHVzPT09InBlbmRpbmcifHx0LnN0YXR1cz09PSJleHBpcmVkIikpLFtKXSksQ2U9dS51c2VNZW1vKCgpPT5KLmZpbHRlcih0PT50LnN0YXR1cz09PSJwZW5kaW5nIikubGVuZ3RoLFtKXSksdGU9dS51c2VNZW1vKCgpPT55PT09ImFsbCI/aGU6aGUuZmlsdGVyKHQ9PnQuY2F0ZWdvcnk9PT15KSxbaGUseV0pLHllPXUudXNlTWVtbygoKT0+eC5waGFzZT09PSJyZWFkeSImJnguZGF0YS5zdGF0dXMhPT0icmVhZF9mYWlsZWQiP3guZGF0YS5zb3VyY2VzLmZpbHRlcih0PT50LnN0YXR1cyE9PSJvayIpOltdLFt4XSksUz10ZS5maW5kKHQ9PnQuaWQ9PT1OKXx8bnVsbCxEZT10PT50LmFjY291bnRfYWxpYXM/cy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKTpuKCJkZWNpc2lvbnMuYWNjb3VudF91bmJvdW5kIikseGU9dS51c2VSZWYobnVsbCksaWU9dS51c2VDYWxsYmFjayh0PT57aCh0KSx4ZS5jdXJyZW50PXQsdCE9PWkmJnIoe2RlY2lzaW9uOnR9KX0sW3IsaV0pO3UudXNlRWZmZWN0KCgpPT57eC5waGFzZT09PSJyZWFkeSImJk4mJiF0ZS5zb21lKHQ9PnQuaWQ9PT1OKSYmaWUobnVsbCl9LFt4LnBoYXNlLE4sdGUsaWVdKSx1LnVzZUVmZmVjdCgoKT0+eyFpfHx4ZS5jdXJyZW50PT09aXx8eC5waGFzZSE9PSJyZWFkeSJ8fEouc29tZSh0PT50LmlkPT09aSkmJih4ZS5jdXJyZW50PWksaygicGVuZGluZyIpLCQoImFsbCIpLGgoaSkpfSxbaSx4LnBoYXNlLEpdKTtjb25zdCBFZT0hIShTJiZTLnN0YXR1cz09PSJwZW5kaW5nIiYmIXNlKFMpJiYoUy5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24ifHxTLmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKSksSz1wZSgoKT0+RWU/ZWUoIi9hcGkvcmVzZWFyY2gtcHJvbW90aW9uLXRpY2tldHMiKTpQcm9taXNlLnJlc29sdmUobnVsbCksW0VlLFM/LmlkLEldKSxWPXUudXNlTWVtbygoKT0+e2lmKCFTfHxLLnBoYXNlIT09InJlYWR5Inx8IUsuZGF0YSlyZXR1cm4gbnVsbDtjb25zdCB0PUsuZGF0YS5hcHBsaWNhdGlvbnM7cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJnQuZmluZChvPT5vPy50aWNrZXRfaWQ9PT1uZShTKSl8fG51bGx9LFtTLEtdKSxnZT11LnVzZU1lbW8oKCk9PntpZighU3x8Sy5waGFzZSE9PSJyZWFkeSJ8fCFLLmRhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD1LLmRhdGEudGlja2V0cztyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmdC5maW5kKG89Pm8/LnRpY2tldF9pZD09PW5lKFMpKXx8bnVsbH0sW1MsS10pLFZlPXUudXNlTWVtbygoKT0+Z2U/S2UoVixnZSk6bnVsbCxbVixnZV0pLEE9KHQsbyk9PnAoe2tpbmQ6dCx0ZXh0Om4obyl9KSxqZT10PT57dCBpbnN0YW5jZW9mIHVufHx0Py5tZXNzYWdlIT09InNlc3Npb25faW52YWxpZGF0ZWQiJiYodCBpbnN0YW5jZW9mIHBuP0EoImVycm9yIix0LnN0YXR1cz09PTQwOT8iZXJyb3IuY29uZmxpY3QiOiJlcnJvci5nZW5lcmljIik6QSgiZXJyb3IiLCJkZWNpc2lvbnMub3V0Y29tZV91bmtub3duIiksQygpKX0sR2U9YXN5bmModCxvLEQpPT57Y29uc3QgZj1uZSh0KSxnPXQuY2F0ZWdvcnk9PT0ib3duZXJfZGVjaXNpb24iPyJvd25lciI6dC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI/InJlY292ZXJ5IjoicHJvbW90aW9uIjtsZXQgdyxtLGosUj1udWxsLEI9bnVsbDt0cnl7aWYoZz09PSJvd25lciIpe2NvbnN0IF89KChhd2FpdCBlZSgiL2FwaS9vd25lci1kZWNpc2lvbnMiKSkuY2FuZGlkYXRlc3x8W10pLmZpbmQobD0+bD8uY2FuZGlkYXRlPy5jYW5kaWRhdGVfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWNvbnN0IEY9eW4oey4uLl8uY2FuZGlkYXRlLGNhbmRpZGF0ZV9ldmlkZW5jZV9zaGEyNTY6Xy5jYW5kaWRhdGVfZXZpZGVuY2Vfc2hhMjU2fSxvPT09ImFkb3B0Ij8iYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Ijoia2VlcF9wYXJrZWQiKTtpZighRil7QShfLmludGVudD8iaW5mbyI6ImVycm9yIixfLmludGVudD8iZGVjaXNpb25zLmludGVudF9ub3RfcGVuZGluZyI6ImRlY2lzaW9ucy5pbnRlbnRfdW5hdmFpbGFibGUiKSxDKCk7cmV0dXJufXc9XyxtPUYsaj0iL2FwaS9vd25lci1kZWNpc2lvbnMifWVsc2UgaWYoZz09PSJyZWNvdmVyeSIpe2NvbnN0IF89KChhd2FpdCBlZSgiL2FwaS9yZWNvbmNpbGlhdGlvbi1yZWNvdmVyeSIpKS5yZWNvdmVyaWVzfHxbXSkuZmluZChsPT5sPy5yZWNvdmVyeT8ucmVjb3ZlcnlfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWNvbnN0IEY9eG4oXyxvPT09ImFkb3B0Ij8iYXBwcm92ZSI6InJlamVjdCIpO2lmKCFGKXtjb25zdCBsPSEhKF8uY29uZmlybWF0aW9ufHxfLnJlamVjdGlvbik7QShsPyJpbmZvIjoiZXJyb3IiLGw/ImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciOiJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIiksQygpO3JldHVybn13PV8sbT1GLGo9Ii9hcGkvcmVjb25jaWxpYXRpb24tcmVjb3ZlcnktY29uZmlybWF0aW9ucyJ9ZWxzZXtjb25zdCBiPWF3YWl0IGVlKCIvYXBpL3Jlc2VhcmNoLXByb21vdGlvbi10aWNrZXRzIiksXz0oYi50aWNrZXRzfHxbXSkuZmluZChsPT5sPy50aWNrZXRfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWxldCBGPW51bGw7aWYobz09PSJhZG9wdCIpe2NvbnN0IGw9KGIuYXBwbGljYXRpb25zfHxbXSkuZmluZChUPT5UPy50aWNrZXRfaWQ9PT1mKSxPPWFlKGwsITEpLmZpbmQoVD0+VC5pZD09PUQpO2lmKCFPKXtBKCJlcnJvciIsImRlY2lzaW9ucy5pbnRlbnRfdW5hdmFpbGFibGUiKTtyZXR1cm59aWYoRj1PLFI9Tyx0LmNhdGVnb3J5PT09InN0cmF0ZWd5X3Byb21vdGlvbiImJihCPUtlKGwsXyksIUIpKXtBKCJlcnJvciIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCIpO3JldHVybn19dz1fLG09Rm4oe3RpY2tldElkOl8udGlja2V0X2lkLGFjY2VwdDpvPT09ImFkb3B0IixhY2NvdW50OkYscmlza1Byb2ZpbGU6Qj8ucmlza19wcm9maWxlPz9udWxsLHByb3Bvc2VkUGFyYW1zOl8ucHJvcG9zZWRfcGFyYW1zLHN0cmF0ZWd5UHJvZmlsZTpfLnN0cmF0ZWd5X3Byb2ZpbGUsZG9tYWluOl8uZG9tYWlufSksaj0iL2FwaS9yZXNlYXJjaC1wcm9tb3Rpb24tZGVjaXNpb25zIn19Y2F0Y2goYil7amUoYik7cmV0dXJufWNvbnN0IFE9VS5jdXJyZW50LmVwb2NoKCksTD1hd2FpdCBnbihnLHcsbSk7aWYoUSE9PVUuY3VycmVudC5lcG9jaCgpKXJldHVybjtpZighTCl7QSgiZXJyb3IiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIik7cmV0dXJufWlmKG0ubW9kZT09PSJpbml0aWFsX2Vucm9sbG1lbnQiKXtjb25zdCBiPXQuaW5pdGlhbF9lbnJvbGxtZW50O2lmKCFifHxiLmNhbmRpZGF0ZV9zaGEyNTYhPT1tLmNhbmRpZGF0ZV9zaGEyNTZ8fGIuZmFjdHNfc2hhMjU2IT09bS5mYWN0c19zaGEyNTYpe0EoImluZm8iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCIpLEMoKTtyZXR1cm59fWlmKCFqbih0LmRlY2lzaW9uX2JpbmRpbmcsTCkpe0EoImluZm8iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCIpLEMoKTtyZXR1cm59aWYoIWF3YWl0IEZlKHQsbywhMSxSLEIpfHxRIT09VS5jdXJyZW50LmVwb2NoKCkpcmV0dXJuO2lmKHEmJnQuZXhwaXJlc19hdCYmUmUodC5leHBpcmVzX2F0LHEsbGUsRGF0ZS5ub3coKSkuc3RhdGU9PT0iZXhwaXJlZCIpe0EoImluZm8iLCJkZWNpc2lvbnMuaW50ZW50X25vdF9wZW5kaW5nIiksQygpO3JldHVybn1pZihzZSh0KSlyZXR1cm47Y29uc3Qgej1VLmN1cnJlbnQuc3RhcnQoTCk7aWYoIXopcmV0dXJuO2NvbnN0IFg9YGludGVudDoke3QuaWR9YDtQKGI9Pih7Li4uYixbWF06ITB9KSk7dHJ5e2NvbnN0IGI9YXdhaXQgQmUoaixtLm1vZGU9PT0iaW5pdGlhbF9lbnJvbGxtZW50Ij9tOnsuLi5tLGV4cGVjdGVkX21hdGVyaWFsX3NoYTI1NjpMLm1hdGVyaWFsX3NoYTI1NiwuLi5MLnJldmlld19zaGEyNTY/e2V4cGVjdGVkX3Jldmlld19zaGEyNTY6TC5yZXZpZXdfc2hhMjU2fTp7fX0pO2lmKCFVLmN1cnJlbnQuY3VycmVudCh6KSlyZXR1cm47Y29uc3QgXz1hd2FpdCBVLmN1cnJlbnQucmVjZWl2ZSh6LGI/LmRlY2lzaW9uX3JlY2VpcHQpO0EoXz8ic3VjY2VzcyI6ImVycm9yIixfPyJkZWNpc2lvbnMuaW50ZW50X3JlY29yZGVkIjoiZXJyb3IuZ2VuZXJpYyIpLEMoKX1jYXRjaChiKXtqZShiKX1maW5hbGx5e1UuY3VycmVudC5jdXJyZW50KHopJiZQKGI9Pih7Li4uYixbWF06ITF9KSl9fSxZZT1hc3luYyh0LG8pPT57Y29uc3QgRD1uZSh0KSxmPWBhcHBseToke0R9YDtpZighWi5jdXJyZW50LmFjcXVpcmUoZikpcmV0dXJuO2lmKHEmJnQuZXhwaXJlc19hdCYmUmUodC5leHBpcmVzX2F0LHEsbGUsRGF0ZS5ub3coKSkuc3RhdGU9PT0iZXhwaXJlZCIpe1ouY3VycmVudC5yZWxlYXNlKGYpLEEoImluZm8iLCJkZWNpc2lvbnMuaW50ZW50X25vdF9wZW5kaW5nIiksQygpO3JldHVybn1QKHc9Pih7Li4udyxbZl06ITB9KSk7bGV0IGc9ITE7dHJ5e2NvbnN0IG09KChhd2FpdCBlZSgiL2FwaS9yZXNlYXJjaC1wcm9tb3Rpb24tdGlja2V0cyIpKS5hcHBsaWNhdGlvbnN8fFtdKS5maW5kKEI9PkI/LnRpY2tldF9pZD09PUQpLGo9YWUobSwhMCkuZmluZChCPT5CLmlkPT09byk7aWYoIW18fCFqfHwhT2UobSxvKSl7QSgiZXJyb3IiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIik7cmV0dXJufWNvbnN0IFI9YXdhaXQgZWUoIi9hcGkvYWRtaW4vcnVudGltZS1pbnN0YW5jZXMiKTtnPSEwLGF3YWl0IEJlKCIvYXBpL3Jlc2VhcmNoLXByb21vdGlvbi1hcHBsaWNhdGlvbnMiLHt0aWNrZXRfaWQ6RCxzZWxlY3RlZF9hY2NvdW50OntwbGF0Zm9ybTpqLnBsYXRmb3JtLGtleTpqLmtleX0sZXhwZWN0ZWRfcmV2aXNpb246TnVtYmVyKFIucmV2aXNpb24pfSksQSgic3VjY2VzcyIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl9zdWJtaXR0ZWQiKSxDKCl9Y2F0Y2godyl7amUodyl9ZmluYWxseXtQKHc9Pih7Li4udyxbZl06ITF9KSksZ3x8Wi5jdXJyZW50LnJlbGVhc2UoZil9fSxGZT0odCxvLEQsZixnKT0+e2NvbnN0IHc9Zz9gIMK3ICR7JG4oZy5yaXNrX3Byb2ZpbGUsbil9JHtnLnBvbGljeV9yZXZpc2lvbj9gIMK3ICR7bigiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpnLnBvbGljeV9yZXZpc2lvbn0pfWA6IiJ9YDoiIixtPWY/YCR7dWUodCxuKX0gwrcgJHtmLmxhYmVsfSAoJHtzLnBsYXRmb3JtKGYucGxhdGZvcm0pfSAvICR7Zi5rZXl9IC8gJHtuKGBzdHJhdGVnaWVzLmV4ZWN1dGlvbi4ke2YubW9kZX1gLHt9LCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi51bmtub3duIil9KSR7d31gOmAke3VlKHQsbil9JHt3fWA7cmV0dXJuIEUoe3RpdGxlOm4obz09PSJhZG9wdCI/ImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV90aXRsZSIpLHRhcmdldDptLHN1bW1hcnk6bihEPyJkZWNpc2lvbnMuYXBwbHlfbm90ZSI6ImRlY2lzaW9ucy5jb25maXJtX2JvZHkiKSxib2R5OmUuanN4KE1lLHtyb3dzOnQuZGlmZi5tYXAoaj0+KHsuLi5qLGxhYmVsOkxlKG4saiksYWZmZWN0c0xpdmU6ai5hZmZlY3RzX2xpdmV9KSl9KSxjb25zZXF1ZW5jZTpuKCJkZWNpc2lvbnMuaW50ZW50X25vdGUiKSx0b25lOm89PT0iYWRvcHQiPyJub3JtYWwiOiJkYW5nZXIiLGNvbmZpcm1MYWJlbDpuKG89PT0iYWRvcHQiPyJkZWNpc2lvbnMuY29uZmlybV9hZG9wdF9sYWJlbCI6ImRlY2lzaW9ucy5jb25maXJtX2RlY2xpbmVfbGFiZWwiKSxleHBpcmVzQXQ6cT90LmV4cGlyZXNfYXQ6bnVsbCxzZXJ2ZXJUaW1lOnEscmVjZWl2ZWRBdDpsZSxvbkV4cGlyeTpDfSl9LGRlPWFzeW5jKHQsbyk9PntpZighQWV8fHQuc3RhdHVzIT09InBlbmRpbmcifHxzZSh0KXx8IXZlKHQsbykpcmV0dXJuO2NvbnN0IEQ9YGNvbmZpcm06JHt0LmlkfWA7aWYoIVouY3VycmVudC5hY3F1aXJlKEQpKXJldHVybjtjb25zdCBmPWBpbnRlbnQ6JHt0LmlkfWA7UChnPT4oey4uLmcsW2ZdOiEwfSkpO3RyeXtjb25zdCBnPXQuY2F0ZWdvcnk9PT0icGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiImJm89PT0iYWRvcHQiLHc9YWUoVix0LmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKSxtPWJlKHcsX2VbdC5pZF0pO2lmKG89PT0iYWRvcHQiJiYoZ3x8dC5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24iKSYmIW0pe0EoImVycm9yIiwiZGVjaXNpb25zLmludGVudF91bmF2YWlsYWJsZSIpO3JldHVybn1nJiZtP2F3YWl0IEZlKHQsbywhMCxtLG51bGwpJiZhd2FpdCBZZSh0LG0uaWQpOmF3YWl0IEdlKHQsbyxtPy5pZD8/bnVsbCl9ZmluYWxseXtaLmN1cnJlbnQucmVsZWFzZShEKSxQKGc9Pih7Li4uZyxbZl06ITF9KSl9fTtmdW5jdGlvbiB1ZSh0LG8pe3JldHVybiBrZSh0KT9vKCJkZWNpc2lvbnMuaW5pdGlhbF9lbnJvbGxtZW50X3RpdGxlIik6byh0LnRpdGxlX2tleSx7fSwiZGVjaXNpb25zLnVua25vd25fdGl0bGUiKX1jb25zdCBXZT1be2lkOiJhbGwiLGxhYmVsOm4oImRlY2lzaW9ucy5maWx0ZXIuYWxsIil9LC4uLlluLm1hcCh0PT4oe2lkOnQsbGFiZWw6bihgY2F0ZWdvcnkuJHt0fWApfSkpXSxaZT0oKT0+e2lmKCFTKXJldHVybiBudWxsO2NvbnN0IHQ9UyxvPXNlKHQpLEQ9dC5zdGF0dXM9PT0icGVuZGluZyImJiFvLGY9dC5kaWZmLm1hcChsPT4oe2ZpZWxkOmwuZmllbGQsbGFiZWw6TGUobixsKSxiZWZvcmU6bC5iZWZvcmUsYWZ0ZXI6bC5hZnRlcixhZmZlY3RzTGl2ZTpsLmFmZmVjdHNfbGl2ZX0pKSxnPSEhTVtgaW50ZW50OiR7dC5pZH1gXSx3PSEhTVtgYXBwbHk6JHtuZSh0KX1gXSxtPWd8fHcsaj10LmluaXRpYWxfZW5yb2xsbWVudD8/bnVsbCxSPWtlKHQpLEI9UiYmKCFqfHxqLnJlYWRpbmVzcyE9PSJhd2FpdGluZ19odW1hbl9jb25maXJtYXRpb24ifHwhQXJyYXkuaXNBcnJheShqLmJsb2NrZXJfY29kZXMpfHxqLmJsb2NrZXJfY29kZXMubGVuZ3RoPjB8fCFbInBvc2l0aW9ucyIsImNhc2giLCJvcGVuX29yZGVycyIsInJlY2VudF9leGVjdXRpb25zIiwibG9jYWxfZXhlY3V0aW9uX2xlZGdlciJdLmV2ZXJ5KGw9PmouZmFjdHM/LnN1cmZhY2VzPy5bbF0/LnN0YXR1cz09PSJjb21wbGV0ZSImJkFycmF5LmlzQXJyYXkoai5mYWN0cz8uc3VyZmFjZXM/LltsXT8uaXRlbXMpKSksUT10LmRpZmYuZmluZChsPT5sLmZpZWxkPT09InN0cmF0ZWd5IiksTD10LnByZXNlbnRhdGlvbj8uc3RyYXRlZ3lfcHJvZmlsZXx8KFEmJnR5cGVvZiBRLmFmdGVyPT0ic3RyaW5nIj9RLmFmdGVyOm51bGwpLHo9dCxYPXZlKHQsImFkb3B0IiksYj12ZSh0LCJkZWNsaW5lIiksXz1jbih6LmV2aWRlbmNlX3N1bW1hcnkpPz8odC5ldmlkZW5jZV9mcmVzaG5lc3M/e2V2aWRlbmNlX2lkOm51bGwsbGFiZWxfa2V5Om51bGwsb2JzZXJ2ZWRfYXQ6dC5ldmlkZW5jZV9mcmVzaG5lc3MuYXNfb2YsdmFsaWRfdW50aWw6bnVsbCxzdGF0ZTp0LmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXM9PT0ic3RhbGUiPyJzdGFsZSI6dC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09ImZyZXNoInx8dC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09InJlYWR5Ij8iY3VycmVudCI6InVuYXZhaWxhYmxlIixxdWFsaWZpY2F0aW9uOiJ1bmtub3duIixsaW1pdGF0aW9uczpbXX06bnVsbCk7bGV0IEY9bnVsbDtpZihEJiZBZSYmIShSJiZCKSlpZih0LmNhdGVnb3J5PT09ImNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiKUY9ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazooKT0+cih7cGFnZToiaGVhbHRoIn0pLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5vcGVuX2hlYWx0aCIpfSk7ZWxzZSBpZih0LmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKXtjb25zdCBsPWFlKFYsITApLEc9YmUobCxfZVt0LmlkXSk/LmlkPz8iIixPPXQuYXBwbGljYXRpb25fc3RhdHVzPT09InVuY2VydGFpbiIsVD0hIShHJiZWJiZPZShWLEcpKTtGPWUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbbC5sZW5ndGg+MSYmZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZGVjaXNpb24tYWNjb3VudC1waWNrZXIiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5zZWxlY3RfYWNjb3VudCIpfSksZS5qc3hzKCJzZWxlY3QiLHt2YWx1ZTpHLG9uQ2hhbmdlOlk9PndlKFFlPT4oey4uLlFlLFt0LmlkXTpZLnRhcmdldC52YWx1ZX0pKSxjaGlsZHJlbjpbZS5qc3hzKCJvcHRpb24iLHt2YWx1ZToiIixjaGlsZHJlbjpbbigiZGVjaXNpb25zLnNlbGVjdF9hY2NvdW50IiksIuKApiJdfSksbC5tYXAoWT0+ZS5qc3goIm9wdGlvbiIse3ZhbHVlOlkuaWQsY2hpbGRyZW46WS5sYWJlbH0sWS5pZCkpXX0pXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJpbmJveC1hY3Rpb25zIixjaGlsZHJlbjpbTz9lLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3VuY2VydGFpbiIpfSk6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltsLmxlbmd0aD09PTA/ZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5ub19hY2NvdW50X29wdGlvbnMiKX0pOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDptfHwhVHx8IVh8fFouY3VycmVudC5pc0xvY2tlZChgYXBwbHk6JHtuZSh0KX1gKSxvbkNsaWNrOigpPT57ZGUodCwiYWRvcHQiKX0sY2hpbGRyZW46bih3PyJkZWNpc2lvbnMuc3VibWl0dGluZyI6ImRlY2lzaW9ucy5hZG9wdF9pbnRlbnQiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOm18fCFiLG9uQ2xpY2s6KCk9PntkZSh0LCJkZWNsaW5lIil9LGNoaWxkcmVuOm4oZz8iZGVjaXNpb25zLnN1Ym1pdHRpbmciOiJkZWNpc2lvbnMuZGVjbGluZV9pbnRlbnQiKX0pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpuKGwubGVuZ3RoPT09MHx8Tz8iZGVjaXNpb25zLmludGVudF9ub3RlIjoiZGVjaXNpb25zLmFwcGx5X25vdGUiKX0pXX0pXX0pfWVsc2V7Y29uc3QgbD10LmNhdGVnb3J5PT09InN0cmF0ZWd5X3Byb21vdGlvbiI/YWUoViwhMSk6W10sRz1iZShsLF9lW3QuaWRdKT8uaWQ/PyIiLE89dC5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24iJiYhVmU7Rj1lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2wubGVuZ3RoPjEmJmUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWFjY291bnQtcGlja2VyIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJkZWNpc2lvbnMuc2VsZWN0X2FjY291bnQiKX0pLGUuanN4cygic2VsZWN0Iix7dmFsdWU6RyxvbkNoYW5nZTpUPT53ZShZPT4oey4uLlksW3QuaWRdOlQudGFyZ2V0LnZhbHVlfSkpLGNoaWxkcmVuOltlLmpzeHMoIm9wdGlvbiIse3ZhbHVlOiIiLGNoaWxkcmVuOltuKCJkZWNpc2lvbnMuc2VsZWN0X2FjY291bnQiKSwi4oCmIl19KSxsLm1hcChUPT5lLmpzeCgib3B0aW9uIix7dmFsdWU6VC5pZCxjaGlsZHJlbjpULmxhYmVsfSxULmlkKSldfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImluYm94LWFjdGlvbnMiLGNoaWxkcmVuOltlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIsZGlzYWJsZWQ6bXx8IVh8fHQuY2F0ZWdvcnk9PT0ic3RyYXRlZ3lfcHJvbW90aW9uIiYmKCFHfHxPKSxvbkNsaWNrOigpPT57ZGUodCwiYWRvcHQiKX0sY2hpbGRyZW46bihnPyJkZWNpc2lvbnMuc3VibWl0dGluZyI6ImRlY2lzaW9ucy5hZG9wdF9pbnRlbnQiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOm18fCFiLG9uQ2xpY2s6KCk9PntkZSh0LCJkZWNsaW5lIil9LGNoaWxkcmVuOm4oZz8iZGVjaXNpb25zLnN1Ym1pdHRpbmciOiJkZWNpc2lvbnMuZGVjbGluZV9pbnRlbnQiKX0pLCFYJiZlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiY29ja3BpdC5ibG9ja2VyLm5vdF9hbGxvd2VkIil9KSxPJiZlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLnBvbGljeV91bmJvdW5kIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLmludGVudF9ub3RlIil9KV19KV19KX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQgaW5ib3gtZGV0YWlsIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWRldGFpbC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBpbmJveC1iYWNrIixvbkNsaWNrOigpPT5pZShudWxsKSxjaGlsZHJlbjpuKCJjb21tb24uYmFjayIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWJhZGdlcyIsY2hpbGRyZW46W2UuanN4KEgse3RvbmU6dC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI/Indhcm4iOiJhY2NlbnQiLGNoaWxkcmVuOm4oYGNhdGVnb3J5LiR7dC5jYXRlZ29yeX1gKX0pLGUuanN4KEgse3RvbmU6dC5zdGF0dXM9PT0iZGVjaWRlZCI/Im9rIjpvPyJ1bmtub3duIjoid2FybiIsY2hpbGRyZW46bihgZGVjaXNpb25zLnN0YXR1cy4ke28/ImV4cGlyZWQiOnQuc3RhdHVzfWApfSksdC5hZmZlY3RzX2xpdmUmJmUuanN4KEgse3RvbmU6Indhcm4iLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5jb2wuYWZmZWN0c19saXZlIil9KV19KSxlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLHN0eWxlOnttYXJnaW46MH0sY2hpbGRyZW46dWUodCxuKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1wcm9tcHQiLGNoaWxkcmVuOm4oUj8iZGVjaXNpb25zLnByb21wdC5pbml0aWFsX2Vucm9sbG1lbnQiOmBkZWNpc2lvbnMucHJvbXB0LiR7dC5jYXRlZ29yeX1gKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1tZXRhIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpEZSh0KX0pLHQucGxhdGZvcm0mJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46cy5wbGF0Zm9ybSh0LnBsYXRmb3JtKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1yZWYiLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5yZWYiLHtpZDp0LnNob3J0X2lkfSl9KSx0LmNyZWF0ZWRfYXQmJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46bigiZGVjaXNpb25zLmNyZWF0ZWRfYXQiLHt2YWx1ZTpvZSh0LmNyZWF0ZWRfYXQsYSkudGV4dH0pfSksdC5leHBpcmVzX2F0JiZlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5leHBpcmVzX2F0Iix7dmFsdWU6b2UodC5leHBpcmVzX2F0LGEpLnRleHR9KX0pLHQuZXZpZGVuY2VfZnJlc2huZXNzJiZlLmpzeChILHt0b25lOnQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJzdGFsZSI/Indhcm4iOnQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJyZWFkeSJ8fHQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJmcmVzaCI/Im9rIjoidW5rbm93biIsY2hpbGRyZW46bihRbih0LmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXMpKX0pLFduKHQpJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZGVjaXNpb24tc3RhbGUtaGludCIsY2hpbGRyZW46bigiZGVjaXNpb25zLnN0YWxlX2hpbnQiKX0pXX0pXX0pLGYubGVuZ3RoPjAmJmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpuKCJkZWNpc2lvbnMuZGlmZl90aXRsZSIpfSksZS5qc3goTWUse3Jvd3M6Zn0pXX0pLHEmJnQuZXhwaXJlc19hdCYmZS5qc3god24se2V4cGlyZXNBdDp0LmV4cGlyZXNfYXQsc2VydmVyVGltZTpxLHJlY2VpdmVkQXQ6bGUsb25Cb3VuZGFyeTooKT0+e2llKG51bGwpLEMoKX19KSxfJiZlLmpzeChTbix7ZXZpZGVuY2U6X30pLHoub3BlcmF0aW9uX3JlZmVyZW5jZT8uaWQmJmUuanN4KGV0LHtvcGVyYXRpb25JZDp6Lm9wZXJhdGlvbl9yZWZlcmVuY2UuaWR9KSxSJiZlLmpzeChWbix7YWNjb3VudDp0LmFjY291bnRfYWxpYXM/cy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKTpudWxsLHN0cmF0ZWd5Okw/cy5zdHJhdGVneShMKTpudWxsLHBsYXRmb3JtOnQucGxhdGZvcm0/cy5wbGF0Zm9ybSh0LnBsYXRmb3JtKTpudWxsLGZhY3RzOmo/LmZhY3RzPz9udWxsLHJlYWRpbmVzczpqPy5yZWFkaW5lc3M/P251bGwsYmxvY2tlckNvZGVzOmo/LmJsb2NrZXJfY29kZXM/P251bGx9KSx0LmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IiYmIVImJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiZGVjaXNpb24tbWF0ZXJpYWxzIHJlY29uY2lsaWF0aW9uLWRldGFpbCIsY2hpbGRyZW46W2UuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46bigicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIil9KSxlLmpzeChHbix7ZGF0YTp4LnBoYXNlPT09InJlYWR5Ij94LmRhdGE6bnVsbCxsYW5ndWFnZTphLHQ6bixpdGVtSWQ6dC5pZH0pXX0pLHQuZXZpZGVuY2VfZnJlc2huZXNzPy5hc19vZiYmZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1tYXRlcmlhbHMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5tb3JlX2luZm8iKX0pLGUuanN4KGxuLHt2YWx1ZTp0LmV2aWRlbmNlX2ZyZXNobmVzcy5hc19vZn0pXX0pLEZdfSl9LEplPSgpPT54LnBoYXNlPT09ImxvYWRpbmciP2UuanN4KCJkaXYiLHtjbGFzc05hbWU6ImluYm94IGxpc3Qtb25seSIsY2hpbGRyZW46ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImluYm94LWxpc3QiLGNoaWxkcmVuOltlLmpzeChyZSx7aGVpZ2h0OjY0fSksZS5qc3gocmUse2hlaWdodDo2NH0pLGUuanN4KHJlLHtoZWlnaHQ6NjR9KV19KX0pOngucGhhc2U9PT0iZXJyb3IifHx4LmRhdGEuc3RhdHVzPT09InJlYWRfZmFpbGVkIj9lLmpzeChIZSx7ZGF0YTp4LmRhdGEsZXJyb3I6eC5lcnJvcixvblJldHJ5OngucGhhc2U9PT0iZXJyb3IiP3gucmVsb2FkOkN9KTplLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjp0ZS5sZW5ndGg9PT0wP2UuanN4KHplLHt0aXRsZTpuKCJkZWNpc2lvbnMuZW1wdHlfcGVuZGluZyIpfSk6ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6YGluYm94JHtTPyIgZGV0YWlsLW9wZW4iOiIgbGlzdC1vbmx5In1gLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJpbmJveC1saXN0IixjaGlsZHJlbjp0ZS5tYXAodD0+e2NvbnN0IG89c2UodCksRD1ybih0LmNyZWF0ZWRfYXQsYSksZj1abih0KTtyZXR1cm4gZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLCJhcmlhLWN1cnJlbnQiOlM/LmlkPT09dC5pZD8idHJ1ZSI6dm9pZCAwLGNsYXNzTmFtZTpgaW5ib3gtaXRlbSR7Uz8uaWQ9PT10LmlkPyIgYWN0aXZlIjoiIn0ke28/IiBpcy1leHBpcmVkIjoiIn1gLG9uQ2xpY2s6KCk9PmllKHQuaWQpLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZTpgcHJpb3JpdHktZG90IHByaW9yaXR5LSR7dC5wcmlvcml0eX1gLCJhcmlhLWhpZGRlbiI6InRydWUifSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJpdGVtLW1haW4iLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaXRlbS10aXRsZSIsY2hpbGRyZW46dWUodCxuKX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiaXRlbS1tZXRhIixjaGlsZHJlbjpba2UodCkmJmUuanN4KEgse3RvbmU6Indhcm4iLGNoaWxkcmVuOm4oImNhdGVnb3J5LnJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Iil9KSx0LnBsYXRmb3JtJiZlLmpzeCgic3BhbiIse2NoaWxkcmVuOnMucGxhdGZvcm0odC5wbGF0Zm9ybSl9KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOkRlKHQpfSldfSksKER8fGYpJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Iml0ZW0tbWV0YSBpdGVtLW1ldGEtc2Vjb25kYXJ5IixjaGlsZHJlbjpbRCYmZS5qc3goInNwYW4iLHtjaGlsZHJlbjpEfSksZiYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImRlY2lzaW9uLXN0YWxlLWhpbnQiLGNoaWxkcmVuOm4oZil9KV19KV19KSxlLmpzeChILHt0b25lOm8/InVua25vd24iOiJ3YXJuIixjaGlsZHJlbjpuKGBkZWNpc2lvbnMuc3RhdHVzLiR7bz8iZXhwaXJlZCI6dC5zdGF0dXN9YCl9KV19LHQuaWQpfSl9KSxTJiZaZSgpXX0pfSk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyIixjaGlsZHJlbjpbZS5qc3goImgxIix7Y2xhc3NOYW1lOiJwYWdlLXRpdGxlIixjaGlsZHJlbjpuKCJkZWNpc2lvbnMudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6QyxjaGlsZHJlbjpuKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGVjaXNpb25zLWZpbHRlcnMiLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbnMtdmlldy1yb3ciLGNoaWxkcmVuOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6bigiZGVjaXNpb25zLnRpdGxlIiksY2hpbGRyZW46W2UuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiYXJpYS1wcmVzc2VkIjp2PT09InBlbmRpbmciLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PSJwZW5kaW5nIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT5rKCJwZW5kaW5nIiksY2hpbGRyZW46W24oImRlY2lzaW9ucy50YWIucGVuZGluZyIpLENlPjAmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzZWdtZW50LXN1YiIsY2hpbGRyZW46Q2V9KV19KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiYXJpYS1wcmVzc2VkIjp2PT09ImRlY2lkZWQiLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PSJkZWNpZGVkIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT5rKCJkZWNpZGVkIiksY2hpbGRyZW46bigiZGVjaXNpb25zLnRhYi5kZWNpZGVkIil9KV19KX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9ucy1jYXRlZ29yeS1yb3ciLGNoaWxkcmVuOmUuanN4KHZuLHtpZDoiZGVjaXNpb25zIixpdGVtczpXZSxhY3RpdmU6eSxvbkNoYW5nZTp0PT4kKHQpLGFyaWFMYWJlbDpuKCJkZWNpc2lvbnMudGl0bGUiKX0pfSldfSksdj09PSJwZW5kaW5nIiYmeWUubGVuZ3RoPjAmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1kZWdyYWRlZC1ub3RlIixyb2xlOiJzdGF0dXMiLCJkYXRhLXN0YXRlIjoicGFydGlhbCIsImRhdGEtZGVncmFkZWQtY291bnQiOnllLmxlbmd0aCxjaGlsZHJlbjpbZS5qc3godG4se3N0YXR1czoicGFydGlhbCJ9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGVjaXNpb24tZGVncmFkZWQtYm9keSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46bigiZGVjaXNpb25zLnBhcnRpYWxfbm90aWNlIil9KSxlLmpzeCgidWwiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWRlZ3JhZGVkLXNvdXJjZXMiLCJhcmlhLWxhYmVsIjpuKCJkZWNpc2lvbnMucGFydGlhbF9hZmZlY3RlZCIpLGNoaWxkcmVuOnllLm1hcCh0PT5lLmpzeHMoImxpIix7ImRhdGEtc291cmNlIjp0LnNvdXJjZSxjaGlsZHJlbjpbZS5qc3goInN0cm9uZyIse2NoaWxkcmVuOm4oSW4odC5zb3VyY2UpKX0pLGUuanN4cygic3BhbiIse2NoaWxkcmVuOlsiIMK3ICIsbihgc3RhdGUuJHt0LnN0YXR1c31gKSwiIOKAlCAiLG4oUm4odC5zdGF0dXMpKV19KV19LHQuc291cmNlKSl9KV19KV19KSxlLmpzeCgiZGl2Iix7aWQ6ImRlY2lzaW9ucy1wYW5lbCIscm9sZToidGFicGFuZWwiLCJhcmlhLWxhYmVsbGVkYnkiOmBkZWNpc2lvbnMtdGFiLSR7eX1gLHRhYkluZGV4OjAsY2hpbGRyZW46dj09PSJwZW5kaW5nIj9KZSgpOmUuanN4KFhuLHtlcG9jaDpJLGNhdGVnb3J5Onl9KX0pLGMmJmUuanN4KE5uLHtyZXF1ZXN0OmMsb25SZXNvbHZlOmR9KV19KX1leHBvcnR7bHQgYXMgZGVmYXVsdH07Cg==" }, + "/v2/assets/AccountsPage-Dq3Y_dY3.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgeixqIGFzIG4sQiBhcyBiZSxvIGFzIFksZiBhcyBBZSxEIGFzIEplLEcgYXMgWWUseSBhcyB4ZSxhMCBhcyB2dCxhMSBhcyBfdCxhMiBhcyB3ZSx0IGFzIFplLHIgYXMgUixRIGFzIFJlLEUgYXMgZmUsYTMgYXMgUWUsYTQgYXMgaWUsYTUgYXMgeXQsSCBhcyBodCxhNiBhcyBndCwkIGFzIG5lLGE3IGFzICRlLGggYXMgWGUsUyBhcyBsZSxlIGFzIGV0LGE4IGFzIExlLGE5IGFzIGJ0LGFhIGFzIHh0LGFiIGFzIGt0LGFjIGFzIGp0LGcgYXMgTnQscCBhcyB3dCxhZCBhcyBTdCxhZSBhcyBUdH1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHtFIGFzIE90fWZyb20iLi9FeGVjdXRpb25FdmlkZW5jZS0yOGx5OElFZy5qcyI7aW1wb3J0e3UgYXMgWH1mcm9tIi4vaG9va3MtQmk1bzJWVEQuanMiO2ltcG9ydHtSIGFzIEN0LGMgYXMgQXR9ZnJvbSIuL2NvY2twaXQtQlZpUVFlZnMuanMiO2ltcG9ydHt1IGFzIFJ0LEMgYXMgRHR9ZnJvbSIuL0RpYWxvZy1CZTBJVkxJOC5qcyI7aW1wb3J0e1QgYXMgRXR9ZnJvbSIuL1RhYnMtQklWY0lQQ28uanMiO2ltcG9ydHtnIGFzIERlLHMgYXMgRWUsZiBhcyBTZSxkIGFzIFRlLGUgYXMgSXQsaSBhcyBGZSxqIGFzIEJ0LGsgYXMgUHQsbCBhcyBNdCxtIGFzIFZlLEQgYXMgJHQsdCBhcyBwZSxUIGFzIEx0LG4gYXMgZWUscSBhcyBGdCx1IGFzIFZ0LHYgYXMgcXQsdyBhcyBLdCx4IGFzIEd0fWZyb20iLi9oZWxwZXJzLUJsQ2NELWRfLmpzIjtpbXBvcnQiLi9ydW50aW1lX2RhaWx5X2NvbnRyYWN0LXhXNDNtWlFZLmpzIjtjb25zdCBVdD0vXi0/KD86MHxbMS05XVxkKikoPzpcLlxkKyk/JC87ZnVuY3Rpb24gSWUodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIiYmVXQudGVzdCh0KX1mdW5jdGlvbiB1ZSh0KXtyZXR1cm4gSWUodCk/dDpudWxsfWZ1bmN0aW9uIHR0KHQsYSl7aWYoIUllKHQpKXJldHVybiLigJQiO2NvbnN0IHM9dC5zdGFydHNXaXRoKCItIiksZT1zP3Quc2xpY2UoMSk6dCxbbyxjPSIiXT1lLnNwbGl0KCIuIiksaT1vLnJlcGxhY2UoL1xCKD89KFxkezN9KSsoPyFcZCkpL2csIiwiKSxrPWAke3M/Ii0iOiIifSR7aX0uJHtjP2MucGFkRW5kKDIsIjAiKToiMDAifWA7cmV0dXJuIGE/YCR7YX0gJHtrfWA6a31mdW5jdGlvbiBxZSh0KXtpZighdC5sZW5ndGh8fCF0LmV2ZXJ5KEllKSlyZXR1cm4iIjtjb25zdCBhPU1hdGgubWF4KC4uLnQubWFwKG89PihvLnNwbGl0KCIuIilbMV18fCIiKS5sZW5ndGgpKSxzPXQucmVkdWNlKChvLGMpPT57Y29uc3RbaSxrPSIiXT1jLnJlcGxhY2UoL14tLywiIikuc3BsaXQoIi4iKSxyPUJpZ0ludChpK2sucGFkRW5kKGEsIjAiKSk7cmV0dXJuIG8rKGMuc3RhcnRzV2l0aCgiLSIpPy1yOnIpfSwwbiksZT0oczwwbj8tczpzKS50b1N0cmluZygpLnBhZFN0YXJ0KGErMSwiMCIpO3JldHVybmAke3M8MG4/Ii0iOiIifSR7YT9gJHtlLnNsaWNlKDAsLWEpfS4ke2Uuc2xpY2UoLWEpfWAucmVwbGFjZSgvXC4/MCskLywiIik6ZX1gfWZ1bmN0aW9uIEJlKHQsYSxzKXtpZighdClyZXR1cm4gbnVsbDtjb25zdCBlPXQuZmlsdGVyKG89Pm8mJm8ucGxhdGZvcm09PT1hJiZvLmFjY291bnRfa2V5PT09cyk7cmV0dXJuIGUubGVuZ3RoPT09MT9lWzBdOm51bGx9ZnVuY3Rpb24gT2UodCl7cmV0dXJuISF0JiZ0LmJpbmRpbmdfc3RhdHVzPT09ImJvdW5kIiYmdC5pZGVudGl0eV9taXNtYXRjaCE9PSEwJiYodC5kYXRhX3N0YXR1cz09PSJmcmVzaCJ8fHQuZGF0YV9zdGF0dXM9PT0ic3RhbGUiKX1mdW5jdGlvbiBudCh0KXtyZXR1cm4gYXQodCk9PT0icGFwZXIifWZ1bmN0aW9uIFBlKHQpe2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGE9W3QuYnJva2VyX2Vudmlyb25tZW50LHQuYWNjb3VudF9zY29wZSx0LmJpbmRpbmdfZW52aXJvbm1lbnRdLmZpbHRlcihzPT5zPT09InBhcGVyInx8cz09PSJsaXZlIik7cmV0dXJuIG5ldyBTZXQoYSkuc2l6ZT09PTE/YVswXTpudWxsfWZ1bmN0aW9uIGF0KHQpe2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGE9UGUodCk7cmV0dXJuIGF8fChbImxpdmUiLCJwYXBlciJdLmluY2x1ZGVzKHQuYnJva2VyX2Vudmlyb25tZW50Pz8iIil8fFsibGl2ZSIsInBhcGVyIl0uaW5jbHVkZXModC5hY2NvdW50X3Njb3BlPz8iIil8fFsibGl2ZSIsInBhcGVyIl0uaW5jbHVkZXModC5iaW5kaW5nX2Vudmlyb25tZW50Pz8iIik/bnVsbDp5ZSh0KT8uZW52aXJvbm1lbnQ/P251bGwpfWZ1bmN0aW9uIHN0KHQsYSl7Y29uc3Qgcz0oQXJyYXkuaXNBcnJheSh0LmNhc2gpP3QuY2FzaDpbXSkuZmluZChvPT5vPy5jdXJyZW5jeT09PWEpO2lmKHMmJnR5cGVvZiBzLmNhc2hfYmFsYW5jZT09InN0cmluZyIpcmV0dXJuIHVlKHMuY2FzaF9iYWxhbmNlKTtjb25zdCBlPShBcnJheS5pc0FycmF5KHQuYmFsYW5jZXMpP3QuYmFsYW5jZXM6W10pLmZpbmQobz0+bz8uY3VycmVuY3k9PT1hKTtyZXR1cm4gZSYmdHlwZW9mIGUudG90YWxfY2FzaD09InN0cmluZyI/dWUoZS50b3RhbF9jYXNoKTpudWxsfWZ1bmN0aW9uIHp0KHQpe2lmKCF0fHx0LmJpbmRpbmdfc3RhdHVzPT09Im1pc3NpbmciKXJldHVybntraW5kOiJub3RfY29ubmVjdGVkIn07aWYodC5iaW5kaW5nX3N0YXR1cz09PSJkdXBsaWNhdGUifHx0LmlkZW50aXR5X21pc21hdGNoPT09ITApcmV0dXJue2tpbmQ6ImlkZW50aXR5X3VudmVyaWZpZWQifTtpZih0LmJpbmRpbmdfc3RhdHVzIT09ImJvdW5kIilyZXR1cm57a2luZDoidW5rbm93biJ9O2lmKHQuZGF0YV9zdGF0dXM9PT0idW5hdmFpbGFibGUiKXJldHVybntraW5kOiJub19kYXRhIn07aWYodC5kYXRhX3N0YXR1cyE9PSJmcmVzaCImJnQuZGF0YV9zdGF0dXMhPT0ic3RhbGUiKXJldHVybntraW5kOiJ1bmtub3duIn07Y29uc3QgYT1BcnJheS5pc0FycmF5KHQuYmFsYW5jZXMpP3QuYmFsYW5jZXM6W10scz1BcnJheS5pc0FycmF5KHQuY2FzaCk/dC5jYXNoOltdLGU9bmV3IFNldDtmb3IoY29uc3QgbyBvZiBzKW8mJnR5cGVvZiBvLmN1cnJlbmN5PT0ic3RyaW5nIiYmdHlwZW9mIG8uY2FzaF9iYWxhbmNlPT0ic3RyaW5nIiYmZS5hZGQoby5jdXJyZW5jeSk7Zm9yKGNvbnN0IG8gb2YgYSlvJiZ0eXBlb2Ygby5jdXJyZW5jeT09InN0cmluZyImJnR5cGVvZiBvLnRvdGFsX2Nhc2g9PSJzdHJpbmciJiZlLmFkZChvLmN1cnJlbmN5KTtyZXR1cm57a2luZDoicmVhZHkiLHN0YWxlOnQuZGF0YV9zdGF0dXM9PT0ic3RhbGUiLGFzT2Y6dHlwZW9mIHQub2JzZXJ2ZWRfZmluaXNoZWRfYXQ9PSJzdHJpbmciP3Qub2JzZXJ2ZWRfZmluaXNoZWRfYXQ6bnVsbCxiYWxhbmNlczphLmZpbHRlcihvPT5vJiZ0eXBlb2Ygby5jdXJyZW5jeT09InN0cmluZyIpLm1hcChvPT4oe2N1cnJlbmN5Om8uY3VycmVuY3ksbmV0QXNzZXRzOnVlKG8ubmV0X2Fzc2V0cyl9KSksY2FzaDpbLi4uWy4uLmVdLnNvcnQoKS5tYXAobz0+KHtjdXJyZW5jeTpvLGNhc2hCYWxhbmNlOnN0KHQsbyl9KSksLi4udC5wbGF0Zm9ybT09PSJsb25nYnJpZGdlIj9zLmZpbHRlcihvPT50eXBlb2Ygbz8uY3VycmVuY3k9PSJzdHJpbmciJiZ0eXBlb2Ygby5hdmFpbGFibGVfY2FzaD09InN0cmluZyIpLm1hcChvPT4oe2N1cnJlbmN5Om8uY3VycmVuY3ksY2FzaEJhbGFuY2U6dWUoby5hdmFpbGFibGVfY2FzaCksYXZhaWxhYmxlOiEwfSkpOltdXX19ZnVuY3Rpb24gSHQodCxhKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0LmJhbGFuY2VzKSYmdC5iYWxhbmNlcy5zb21lKHM9PnM/LmN1cnJlbmN5PT09YSl8fEFycmF5LmlzQXJyYXkodC5jYXNoKSYmdC5jYXNoLnNvbWUocz0+cz8uY3VycmVuY3k9PT1hKX1mdW5jdGlvbiBXdCh0LGEpe2lmKCF0Lmxlbmd0aHx8YTwxKXJldHVybltdO2NvbnN0IHM9Wy4uLm5ldyBTZXQodCldLGU9cy5maWx0ZXIoZD0+ZC5hZ2dyZWdhdGlvbl9zdGF0dXMhPT0iZHVwbGljYXRlIiYmIW50KGQpKSxvPU1hdGgubWF4KDAsYS0ocy5sZW5ndGgtZS5sZW5ndGgpKSxjPWUuZmlsdGVyKE9lKSxpPWMuZmlsdGVyKGQ9PmQuYWdncmVnYXRpb25fc3RhdHVzPT09ImluY2x1ZGVkIiYmYXQoZCk9PT0ibGl2ZSIpLGs9Yy5zb21lKGQ9PmQuYWdncmVnYXRpb25fc3RhdHVzPT09ImNvbmZsaWN0Iik7aWYoIWkubGVuZ3RoKXJldHVybltdO2NvbnN0IHI9bmV3IFNldDtmb3IoY29uc3QgZCBvZiBpKXtmb3IoY29uc3QgdSBvZiBBcnJheS5pc0FycmF5KGQuYmFsYW5jZXMpP2QuYmFsYW5jZXM6W10pdSYmdHlwZW9mIHUuY3VycmVuY3k9PSJzdHJpbmciJiZyLmFkZCh1LmN1cnJlbmN5KTtmb3IoY29uc3QgdSBvZiBBcnJheS5pc0FycmF5KGQuY2FzaCk/ZC5jYXNoOltdKXUmJnR5cGVvZiB1LmN1cnJlbmN5PT0ic3RyaW5nIiYmdHlwZW9mIHUuY2FzaF9iYWxhbmNlPT0ic3RyaW5nIiYmci5hZGQodS5jdXJyZW5jeSl9cmV0dXJuWy4uLnJdLnNvcnQoKS5tYXAoZD0+e2NvbnN0IHU9aS5maWx0ZXIoZz0+SHQoZyxkKSkscD11LmZpbHRlcihnPT50eXBlb2YgZy5vYnNlcnZhdGlvbl9kYXRlPT0ic3RyaW5nIiYmZy5vYnNlcnZhdGlvbl9kYXRlLmxlbmd0aD4wKSxsPXAubGVuZ3RoP3AubWFwKGc9Pmcub2JzZXJ2YXRpb25fZGF0ZSkuc29ydCgpLnBvcCgpOm51bGwsdj1sP3AuZmlsdGVyKGc9Pmcub2JzZXJ2YXRpb25fZGF0ZT09PWwpOltdLHk9Zz0+KEFycmF5LmlzQXJyYXkoZy5iYWxhbmNlcyk/Zy5iYWxhbmNlczpbXSkuZmluZChFPT5FPy5jdXJyZW5jeT09PWQpLGI9di5tYXAoZz0+dWUoeShnKT8ubmV0X2Fzc2V0cykpLG09di5sZW5ndGg+MCYmYi5ldmVyeShnPT5nIT09bnVsbCk/cWUoYik6bnVsbCxoPXYubWFwKGc9PnN0KGcsZCkpLFQ9di5sZW5ndGg+MCYmaC5ldmVyeShnPT5nIT09bnVsbCk/cWUoaCk6bnVsbCxfPW0hPT1udWxsfHxUIT09bnVsbD92Lmxlbmd0aDowO3JldHVybntjdXJyZW5jeTpkLG5ldEFzc2V0czptLGNhc2hCYWxhbmNlOlQsY292ZXJlZDpfLGV4cGVjdGVkOm8sY29tcGxldGU6IWsmJm8+MCYmXz09PW8mJnYubGVuZ3RoPT09dS5sZW5ndGgmJm0hPT1udWxsLHN0YWxlOnYuc29tZShnPT5nLmRhdGFfc3RhdHVzPT09InN0YWxlIiksb2JzZXJ2YXRpb25EYXRlOmx9fSl9ZnVuY3Rpb24geWUodCl7Y29uc3QgYT10Py51c2VyX2RlY2xhcmF0aW9uO2lmKCFhfHxhLnNvdXJjZSE9PSJ1c2VyX2RlY2xhcmVkIilyZXR1cm4gbnVsbDtjb25zdCBzPWEuZW52aXJvbm1lbnQ9PT0ibGl2ZSJ8fGEuZW52aXJvbm1lbnQ9PT0icGFwZXIiP2EuZW52aXJvbm1lbnQ6bnVsbCxlPWEuYWNjb3VudF90eXBlPT09ImNhc2gifHxhLmFjY291bnRfdHlwZT09PSJtYXJnaW4iP2EuYWNjb3VudF90eXBlOm51bGw7cmV0dXJuIHM9PT1udWxsJiZlPT09bnVsbD9udWxsOntlbnZpcm9ubWVudDpzLGFjY291bnRUeXBlOmV9fWZ1bmN0aW9uIEp0KHQpe2NvbnN0IGE9bmV3IFNldDtmb3IoY29uc3QgcyBvZiB0KXtjb25zdCBlPXllKHMpPy5lbnZpcm9ubWVudDtlJiZhLmFkZChlKX1yZXR1cm4gYS5zaXplPjE/e3ZhbHVlOm51bGwsY29uZmxpY3Q6ITB9OnQuc29tZShzPT4heWUocyk/LmVudmlyb25tZW50KT97dmFsdWU6bnVsbCxjb25mbGljdDohMX06e3ZhbHVlOmEuc2l6ZT09PTE/Wy4uLmFdWzBdOm51bGwsY29uZmxpY3Q6ITF9fWNvbnN0IFl0PSJHRVQgL3NhcGkvdjEvYXNzZXQvd2FsbGV0L2JhbGFuY2UiLFp0PSJwcm92aWRlcl9yZXR1cm5lZF93YWxsZXRfcm93cyIsUXQ9InNwb3QrZmxleGlibGVfZWFybiIsWHQ9L14oPzowfFsxLTldXGQqKSg/OlwuXGQrKT8kLyxlbj0vXihcZHs0fSktKFxkezJ9KS0oXGR7Mn0pVChcZHsyfSk6KFxkezJ9KTooXGR7Mn0pKD86XC5cZHsxLDl9KT8oWnxbKy1dXGR7Mn06XGR7Mn0pJC87ZnVuY3Rpb24gZGUodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIiYmWHQudGVzdCh0KX1mdW5jdGlvbiB0bih0KXtyZXR1cm4vWzEtOV0vLnRlc3QodCl9ZnVuY3Rpb24gcnQodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXJldHVybiBudWxsO2NvbnN0IGE9ZW4uZXhlYyh0KTtpZighYXx8TnVtYmVyKGFbNF0pPjIzfHxOdW1iZXIoYVs1XSk+NTl8fE51bWJlcihhWzZdKT41OSlyZXR1cm4gbnVsbDtpZihhWzddIT09IloiKXtjb25zdFtlLG9dPWFbN10uc2xpY2UoMSkuc3BsaXQoIjoiKTtpZihOdW1iZXIoZSk+MjN8fE51bWJlcihvKT41OSlyZXR1cm4gbnVsbH1jb25zdCBzPURhdGUucGFyc2UodCk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShzKT9zOm51bGx9ZnVuY3Rpb24gbm4odCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm4hMTtjb25zdCBhPXQ7cmV0dXJuIHR5cGVvZiBhLmFzc2V0PT0ic3RyaW5nIiYmYS5hc3NldC5sZW5ndGg+MCYmZGUoYS5xdWFudGl0eSkmJmRlKGEuc3BvdF9mcmVlKSYmZGUoYS5zcG90X2xvY2tlZCkmJmRlKGEuZmxleGlibGVfZWFybil9ZnVuY3Rpb24gYW4odCxhKXtpZih0PT09dm9pZCAwKXJldHVybntraW5kOiJub25lIn07aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm57a2luZDoibm9uZSIsaW52YWxpZDohMH07Y29uc3Qgcz10O2lmKHMuc3RhdHVzPT09InVuYXZhaWxhYmxlIilyZXR1cm57a2luZDoibm9uZSIscmVhc29uOnR5cGVvZiBzLnJlYXNvbl9jb2RlPT0ic3RyaW5nIj9zLnJlYXNvbl9jb2RlOnZvaWQgMH07aWYocy5zdGF0dXMhPT0iYXZhaWxhYmxlIilyZXR1cm57a2luZDoibm9uZSIsaW52YWxpZDohMH07Y29uc3QgZT1zLmFtb3VudCxvPXMud2FsbGV0X2NvdW50LGM9dHlwZW9mIHMub2JzZXJ2ZWRfYXQ9PSJzdHJpbmciP3Mub2JzZXJ2ZWRfYXQ6bnVsbCxpPWM9PT1udWxsP251bGw6cnQoYyk7cmV0dXJuIHMuc291cmNlIT09WXR8fHMuc2NvcGUhPT1adHx8cy5jdXJyZW5jeSE9PSJVU0RUInx8IWRlKGUpfHx0eXBlb2YgbyE9Im51bWJlciJ8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pfHxvPDF8fG8+MzJ8fGM9PT1udWxsfHxpPT09bnVsbHx8aT5hP3traW5kOiJub25lIixpbnZhbGlkOiEwfTp7a2luZDoiYXZhaWxhYmxlIixhbW91bnQ6ZSxjdXJyZW5jeToiVVNEVCIsb2JzZXJ2ZWRBdDpjfX1mdW5jdGlvbiBzbih0LGEpe2NvbnN0IHM9bmV3IFNldCh0LmZpbHRlcihlPT5lLnBsYXRmb3JtPT09YSkubWFwKGU9PmUuYWNjb3VudF9hbGlhcykpO3JldHVybiBzLnNpemU9PT0xP1suLi5zXVswXTpudWxsfWZ1bmN0aW9uIHJuKHQsYSxzKXtpZihhIT09ImJpbmFuY2UiKXJldHVybntraW5kOiJub19kYXRhIn07aWYodC5waGFzZT09PSJsb2FkaW5nIilyZXR1cm57a2luZDoibG9hZGluZyJ9O2lmKHQucGhhc2U9PT0iZXJyb3IiKXJldHVybntraW5kOiJyZWFkX2ZhaWxlZCJ9O2lmKHQuc3RhdHVzPT09Im1pc3NpbmciKXJldHVybntraW5kOiJub19kYXRhIn07aWYodC5zdGF0dXM9PT0iZXhwaXJlZCIpcmV0dXJue2tpbmQ6InBlbmRpbmcifTtpZih0LnN0YXR1cyE9PSJhdmFpbGFibGUiKXJldHVybntraW5kOiJ1bmF2YWlsYWJsZSJ9O2NvbnN0IGU9dC5yZXBvcnQ7aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0IilyZXR1cm57a2luZDoidW5hdmFpbGFibGUifTtpZighcylyZXR1cm57a2luZDoidW5hdmFpbGFibGUifTtpZihlLnBsYXRmb3JtIT09ImJpbmFuY2UiKXJldHVybntraW5kOiJ1bmF2YWlsYWJsZSJ9O2lmKGUuYWNjb3VudF9rZXkhPT1zKXJldHVybntraW5kOiJub19kYXRhIn07aWYoZS5zY29wZSE9PVF0KXJldHVybntraW5kOiJ1bmF2YWlsYWJsZSJ9O2NvbnN0IG89cnQoZS5vYnNlcnZlZF9maW5pc2hlZF9hdCk7cmV0dXJuIG89PT1udWxsfHwhQXJyYXkuaXNBcnJheShlLmFzc2V0cyk/e2tpbmQ6InVuYXZhaWxhYmxlIn06ZS5hc3NldHMuZXZlcnkobm4pP3traW5kOiJyZWFkeSIsYXNzZXRDb3VudDplLmFzc2V0cy5maWx0ZXIoYz0+dG4oYy5xdWFudGl0eSkpLmxlbmd0aCxvYnNlcnZlZEF0OmUub2JzZXJ2ZWRfZmluaXNoZWRfYXQsdmFsdWF0aW9uOmFuKGUud2FsbGV0X3ZhbHVhdGlvbixvKX06e2tpbmQ6InVuYXZhaWxhYmxlIn19ZnVuY3Rpb24gY3Qoe2Vudmlyb25tZW50OnR9KXtjb25zdCBhPXooKTtyZXR1cm4gdD9uLmpzeChiZSx7dG9uZTp0PT09InBhcGVyIj8iYWNjZW50Ijoid2FybiIsY2hpbGRyZW46YSh0PT09InBhcGVyIj8iY29tbW9uLnBhcGVyX2JhZGdlIjoic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZSIpfSk6bnVsbH1mdW5jdGlvbiBjbih0LGE9bnVsbCl7aWYoIXQubGVuZ3RoKXJldHVybiBhO2NvbnN0IHM9dC5tYXAoUGUpLGU9bmV3IFNldChzLmZpbHRlcihvPT5vIT09bnVsbCkpO3JldHVybiBzLmV2ZXJ5KG89Pm8hPT1udWxsKSYmZS5zaXplPT09MT9bLi4uZV1bMF06bnVsbH1jb25zdCBvbj1uZXcgU2V0KFsic3RhdGUucmVhZF9mYWlsZWQiLCJzdGF0ZS5ub3RfY29ubmVjdGVkIiwic3RhdGUubm9fZGF0YSIsInN0YXRlLnVua25vd25fc3RhdHVzIl0pO2Z1bmN0aW9uIEooe2xhYmVsOnQsc3RhdGVLZXk6YX0pe2NvbnN0IHM9eigpLGU9b24uaGFzKGEpO3JldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIGFjY291bnQtZmFjdHMtc3RhdGUiLCJkYXRhLXN0YXRlIjphLGNoaWxkcmVuOm4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOnR9KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMtc3RhdGUtdmFsdWUiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibW9uZXkgZmxhdCIsY2hpbGRyZW46IuKAlCJ9KSxuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1zdGF0ZS1sYWJlbCIsY2hpbGRyZW46cyhlP2E6ImZhY3RzLmFtb3VudF91bmF2YWlsYWJsZSIpfSldfSldfSl9KX1mdW5jdGlvbiBoZSh7dmFsdWU6dCxjdXJyZW5jeTphfSl7Y29uc3R7cHJlZnM6c309SmUoKTtyZXR1cm4gdD09PW51bGw/bi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IGZsYXQiLGNoaWxkcmVuOiLigJQifSk6cy5oaWRlQW1vdW50cz9uLmpzeCgic3BhbiIse2NsYXNzTmFtZToibW9uZXkiLGNoaWxkcmVuOlllKHQpfSk6bi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IGZsYXQiLGNoaWxkcmVuOnR0KHQsYT8/bnVsbCl9KX1mdW5jdGlvbiBvdCh7ZmFjdDp0LHBoYXNlOmEsY29uZmxpY3Q6cz0hMSxhbWJpZ3VvdXM6ZT0hMX0pe2NvbnN0IG89eigpO2lmKGE9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMiLGNoaWxkcmVuOm4uanN4KFkse2hlaWdodDoxNH0pfSk7aWYoYT09PSJlcnJvciIpcmV0dXJuIG4uanN4KEose2xhYmVsOm8oImZhY3RzLmFzc2V0cyIpLHN0YXRlS2V5OiJzdGF0ZS5yZWFkX2ZhaWxlZCJ9KTtpZihzKXJldHVybiBuLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToiZmFjdHMub2JzZXJ2YXRpb25fY29uZmxpY3QifSk7aWYoZSlyZXR1cm4gbi5qc3goSix7bGFiZWw6bygiZmFjdHMuYXNzZXRzIiksc3RhdGVLZXk6ImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQifSk7Y29uc3QgYz16dCh0KTtyZXR1cm4gYy5raW5kPT09Im5vdF9jb25uZWN0ZWQiP24uanN4KEose2xhYmVsOm8oImZhY3RzLmFzc2V0cyIpLHN0YXRlS2V5OiJzdGF0ZS5ub3RfY29ubmVjdGVkIn0pOmMua2luZD09PSJpZGVudGl0eV91bnZlcmlmaWVkIj9uLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToiZmFjdHMuaWRlbnRpdHlfdW52ZXJpZmllZCJ9KTpjLmtpbmQ9PT0idW5rbm93biI/bi5qc3goSix7bGFiZWw6bygiZmFjdHMuYXNzZXRzIiksc3RhdGVLZXk6InN0YXRlLnVua25vd25fc3RhdHVzIn0pOmMua2luZD09PSJub19kYXRhIj9uLmpzeChKLHtsYWJlbDpvKCJmYWN0cy5hc3NldHMiKSxzdGF0ZUtleToic3RhdGUubm9fZGF0YSJ9KTohYy5iYWxhbmNlcy5sZW5ndGgmJiFjLmNhc2gubGVuZ3RoP24uanN4KEose2xhYmVsOm8oImZhY3RzLmFzc2V0cyIpLHN0YXRlS2V5OiJzdGF0ZS5ub19kYXRhIn0pOm4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIixjaGlsZHJlbjpbYy5iYWxhbmNlcy5tYXAoaT0+bi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWFzc2V0cyIsY2hpbGRyZW46W24uanN4cygic3BhbiIse2NoaWxkcmVuOltvKCJmYWN0cy5hc3NldHMiKSwiIMK3ICIsaS5jdXJyZW5jeV19KSxuLmpzeChoZSx7dmFsdWU6aS5uZXRBc3NldHMsY3VycmVuY3k6aS5jdXJyZW5jeX0pXX0sYGFzc2V0cy0ke2kuY3VycmVuY3l9YCkpLGMuY2FzaC5tYXAoaT0+bi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWNhc2giLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbbyhpLmF2YWlsYWJsZT8iZmFjdHMuYXZhaWxhYmxlX2Nhc2giOiJmYWN0cy5jYXNoIiksIiDCtyAiLGkuY3VycmVuY3ldfSksbi5qc3goaGUse3ZhbHVlOmkuY2FzaEJhbGFuY2UsY3VycmVuY3k6aS5jdXJyZW5jeX0pXX0sYGNhc2gtJHtpLmF2YWlsYWJsZT8iYXZhaWxhYmxlLSI6IiJ9JHtpLmN1cnJlbmN5fWApKSwoYy5hc09mfHxjLnN0YWxlKSYmbi5qc3goImRpdiIse2NsYXNzTmFtZToia3BpLWZvb3QgYWNjb3VudC1mYWN0cy1mcmVzaG5lc3MiLGNoaWxkcmVuOmMuYXNPZj9uLmpzeChBZSx7dmFsdWU6Yy5hc09mLHByZWZpeDpjLnN0YWxlPyJmYWN0cy5hc19vZl9zdGFsZSI6ImNvbW1vbi5hc19vZiJ9KTpuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46bygiZmFjdHMuc3RhbGVfcGVuZGluZyIpfSl9KV19KX1mdW5jdGlvbiBsbih7cm93czp0LGV4cGVjdGVkOmEscGhhc2U6c30pe2NvbnN0IGU9eigpO2lmKHM9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMiLGNoaWxkcmVuOm4uanN4KFkse2hlaWdodDoxNH0pfSk7aWYocz09PSJlcnJvciIpcmV0dXJuIG4uanN4KEose2xhYmVsOmUoImZhY3RzLnBsYXRmb3JtX3RvdGFsX2xpdmUiKSxzdGF0ZUtleToic3RhdGUucmVhZF9mYWlsZWQifSk7Y29uc3Qgbz1XdCh0LGEpO2lmKCFvLmxlbmd0aCl7Y29uc3QgYz10LmZpbHRlcihkPT4hbnQoZCkpLGk9Yy5zb21lKGQ9Pk9lKGQpJiZkLmFnZ3JlZ2F0aW9uX3N0YXR1cz09PSJpbmNsdWRlZCIpLGs9Yy5zb21lKE9lKSxyPXQubGVuZ3RoP2k/InN0YXRlLm5vX2RhdGEiOms/ImZhY3RzLnBsYXRmb3JtX2lkZW50aXR5X3VudmVyaWZpZWQiOiJzdGF0ZS5ub19kYXRhIjoic3RhdGUubm90X2Nvbm5lY3RlZCI7cmV0dXJuIG4uanN4KEose2xhYmVsOmUoImZhY3RzLnBsYXRmb3JtX3RvdGFsX2xpdmUiKSxzdGF0ZUtleTpyfSl9cmV0dXJuIG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMgYWNjb3VudC1mYWN0cy1wbGF0Zm9ybSIsY2hpbGRyZW46by5tYXAoYz0+bi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZmFjdHMtY3VycmVuY3kiLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IGFjY291bnQtZmFjdHMtYXNzZXRzIixjaGlsZHJlbjpbbi5qc3hzKCJzcGFuIix7dGl0bGU6ZSgiZmFjdHMucGxhdGZvcm1fc2NvcGVfbm90ZSIpLGNoaWxkcmVuOltlKGMuY29tcGxldGU/ImZhY3RzLnBsYXRmb3JtX3RvdGFsX2xpdmUiOiJmYWN0cy5wbGF0Zm9ybV9zdWJ0b3RhbF9saXZlIiksIiDCtyAiLGMuY3VycmVuY3ldfSksbi5qc3goaGUse3ZhbHVlOmMubmV0QXNzZXRzLGN1cnJlbmN5OmMuY3VycmVuY3l9KV19KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IGFjY291bnQtZmFjdHMtY2FzaCIsY2hpbGRyZW46W24uanN4cygic3BhbiIse2NoaWxkcmVuOltlKCJmYWN0cy5jYXNoIiksIiDCtyAiLGMuY3VycmVuY3ldfSksbi5qc3goaGUse3ZhbHVlOmMuY2FzaEJhbGFuY2UsY3VycmVuY3k6Yy5jdXJyZW5jeX0pXX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJrcGktZm9vdCBhY2NvdW50LWZhY3RzLWZyZXNobmVzcyIsY2hpbGRyZW46W2MuY292ZXJlZDxjLmV4cGVjdGVkJiZuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46ZSgiZmFjdHMuY292ZXJhZ2UiLHtjb3ZlcmVkOmMuY292ZXJlZCxleHBlY3RlZDpjLmV4cGVjdGVkfSl9KSxjLm9ic2VydmF0aW9uRGF0ZT9uLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46ZShjLnN0YWxlPyJmYWN0cy5hc19vZl9zdGFsZSI6ImNvbW1vbi5hc19vZiIse3ZhbHVlOmMub2JzZXJ2YXRpb25EYXRlfSl9KTpjLnN0YWxlJiZuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46ZSgiZmFjdHMuc3RhbGVfcGVuZGluZyIpfSldfSldfSxjLmN1cnJlbmN5KSl9KX1jb25zdCBkbj17cmVhZF9mYWlsZWQ6ImZhY3RzLndhbGxldF9yZWFkX2ZhaWxlZCIsbm9fZGF0YToiZmFjdHMud2FsbGV0X25vX2RhdGEiLHBlbmRpbmc6ImZhY3RzLndhbGxldF9wZW5kaW5nIix1bmF2YWlsYWJsZToiZmFjdHMud2FsbGV0X3VuYXZhaWxhYmxlIn07ZnVuY3Rpb24gdW4oe2Ftb3VudDp0fSl7Y29uc3R7cHJlZnM6YX09SmUoKTtyZXR1cm4gYS5oaWRlQW1vdW50cz9uLmpzeCgic3BhbiIse2NsYXNzTmFtZToibW9uZXkiLGNoaWxkcmVuOlllKHQpfSk6bi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1vbmV5IGZsYXQiLGNoaWxkcmVuOnR0KHQsbnVsbCl9KX1mdW5jdGlvbiBpdCh7cGxhdGZvcm06dCxhY2NvdW50S2V5OmEsdmlldzpzfSl7Y29uc3QgZT16KCk7aWYodCE9PSJiaW5hbmNlInx8IXMpcmV0dXJuIG51bGw7Y29uc3Qgbz1ybihzLHQsYSk7aWYoby5raW5kPT09ImxvYWRpbmciKXJldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIGFjY291bnQtZmFjdHMtYmluYW5jZSIsImRhdGEtc3RhdGUiOiJsb2FkaW5nIiwiZGF0YS1zY29wZSI6InNwb3QrZmxleGlibGVfZWFybiIsY2hpbGRyZW46bi5qc3goWSx7aGVpZ2h0OjE0fSl9KTtpZihvLmtpbmQhPT0icmVhZHkiKXJldHVybiBuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzIGFjY291bnQtZmFjdHMtYmluYW5jZSIsImRhdGEtc3RhdGUiOm8ua2luZCwiZGF0YS1zY29wZSI6InNwb3QrZmxleGlibGVfZWFybiIsY2hpbGRyZW46bi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWFzc2V0cyIsY2hpbGRyZW46W24uanN4cygic3BhbiIse3RpdGxlOmUoImZhY3RzLndhbGxldF9zY29wZV9ub3RlIiksY2hpbGRyZW46W2UoImZhY3RzLndhbGxldF92YWx1YXRpb24iKSwiIMK3IFVTRFQiXX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cy1zdGF0ZS12YWx1ZSIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjoi4oCUIn0pLG4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0YXRlLWxhYmVsIixjaGlsZHJlbjplKGRuW28ua2luZF0pfSldfSldfSl9KTtjb25zdHt2YWx1YXRpb246Y309byxpPWMua2luZD09PSJhdmFpbGFibGUiO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cyBhY2NvdW50LWZhY3RzLWJpbmFuY2UiLCJkYXRhLXN0YXRlIjppPyJhdmFpbGFibGUiOiJ2YWx1YXRpb25fdW5hdmFpbGFibGUiLCJkYXRhLXNjb3BlIjoic3BvdCtmbGV4aWJsZV9lYXJuIiwiZGF0YS13YWxsZXQtc2NvcGUiOiJwcm92aWRlcl9yZXR1cm5lZF93YWxsZXRfcm93cyIsImRhdGEtcmVhc29uIjppP3ZvaWQgMDpjLmludmFsaWQ/ImludmFsaWRfdmFsdWF0aW9uIjpjLnJlYXNvbixjaGlsZHJlbjpbIWkmJm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWJpbmFuY2UtaG9sZGluZ3MiLHRpdGxlOmUoImZhY3RzLndhbGxldF9ob2xkaW5nc19zY29wZV9ub3RlIiksY2hpbGRyZW46bi5qc3goInNwYW4iLHtjaGlsZHJlbjplKCJmYWN0cy53YWxsZXRfaG9sZGluZ3MiLHtjb3VudDpvLmFzc2V0Q291bnR9KX0pfSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyBhY2NvdW50LWZhY3RzLWFzc2V0cyIsY2hpbGRyZW46W24uanN4cygic3BhbiIse3RpdGxlOmUoImZhY3RzLndhbGxldF9zY29wZV9ub3RlIiksY2hpbGRyZW46W2UoImZhY3RzLndhbGxldF92YWx1YXRpb24iKSwiIMK3IFVTRFQiXX0pLGk/bi5qc3godW4se2Ftb3VudDpjLmFtb3VudH0pOm4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1mYWN0cy1zdGF0ZS12YWx1ZSIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjoi4oCUIn0pLG4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0YXRlLWxhYmVsIixjaGlsZHJlbjplKCJmYWN0cy53YWxsZXRfdW5hdmFpbGFibGUiKX0pXX0pXX0pLG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImtwaS1mb290IGFjY291bnQtZmFjdHMtZnJlc2huZXNzIixjaGlsZHJlbjpuLmpzeChBZSx7dmFsdWU6aT9jLm9ic2VydmVkQXQ6by5vYnNlcnZlZEF0fSl9KV19KX1jb25zdCBmbj1bImxpdmUiLCJwYXBlciIsInVua25vd24iXTtmdW5jdGlvbiBwbih0KXtyZXR1cm4gdD8uYnJva2VyX2Vudmlyb25tZW50PT09InBhcGVyInx8dD8uYnJva2VyX2Vudmlyb25tZW50PT09ImxpdmUiP3QuYnJva2VyX2Vudmlyb25tZW50Om51bGx9ZnVuY3Rpb24gbW4odCxhKXtjb25zdCBzPW5ldyBTZXQsZT1uZXcgU2V0O2Zvcihjb25zdCBvIG9mIHQpZm9yKGNvbnN0IGMgb2Ygby5yb3dzKXtjb25zdCBpPUJlKGEsYy5wbGF0Zm9ybSxjLmFjY291bnRfYWxpYXMpO2k/cy5hZGQoaSk6ZS5hZGQod2UoYykpfXJldHVybntyb3dzOlsuLi5zXSxleHBlY3RlZDpzLnNpemUrZS5zaXplfX1mdW5jdGlvbiB2bih0KXtyZXR1cm4gdD8/InVua25vd24ifWZ1bmN0aW9uIF9uKHthY2NvdW50czp0LGNvbmZpZzphLGZhY3RzOnMsb25TZWxlY3Q6ZX0pe2NvbnN0IG89eGUoYSksYz16KCk7cmV0dXJuIG4uanN4KCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2sgYWNjb3VudC1ncm91cHMiLGNoaWxkcmVuOnZ0KHQsYSkubWFwKGk9Pntjb25zdCBrPXM/bW4oaS5hY2NvdW50cyxzLnJvd3MpOm51bGwscj1pLmFjY291bnRzLm1hcCh1PT57Y29uc3QgcD1bLi4ubmV3IFNldCh1LnJvd3MubWFwKFM9PkJlKHM/LnJvd3M/P1tdLFMucGxhdGZvcm0sUy5hY2NvdW50X2FsaWFzKSkuZmlsdGVyKFM9PiEhUykpXSxsPXAuZmlsdGVyKFM9PlMuYWdncmVnYXRpb25fc3RhdHVzIT09ImR1cGxpY2F0ZSIpLHY9bC5sZW5ndGg9PT0xP2xbMF06bC5sZW5ndGg9PT0wJiZwLmxlbmd0aD09PTE/cFswXTpudWxsLHk9bmV3IFNldCh1LnJvd3MubWFwKFM9PnBuKGE/LmN1cnJlbnRTdHJhdGVnaWVzPy5bUy5wbGF0Zm9ybV0/LltTLmFjY291bnRfYWxpYXNdPy5leGVjdXRpb25fZXZpZGVuY2UpKS5maWx0ZXIoUz0+UyE9PW51bGwpKSxiPXAuc29tZShTPT5TLmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciJ8fFMuYnJva2VyX2Vudmlyb25tZW50PT09ImxpdmUifHxTLmFjY291bnRfc2NvcGU9PT0icGFwZXIifHxTLmFjY291bnRfc2NvcGU9PT0ibGl2ZSJ8fFMuYmluZGluZ19lbnZpcm9ubWVudD09PSJwYXBlciJ8fFMuYmluZGluZ19lbnZpcm9ubWVudD09PSJsaXZlIiksbT1jbihwKSxoPXkuc2l6ZT09PTE/Wy4uLnldWzBdOm51bGwsVD1tJiZoJiZtIT09aD9udWxsOm0/PyghYiYmeS5zaXplPT09MT9oOm51bGwpLF89Ynx8eS5zaXplPjAsZz1KdChwKSxFPVQ/PyhfP251bGw6Zy52YWx1ZSksST0hIShUJiZnLnZhbHVlJiZUIT09Zy52YWx1ZXx8Zy5jb25mbGljdCYmIV8pLFA9aS5wbGF0Zm9ybT09PSJiaW5hbmNlIj9zbih1LnJvd3MsaS5wbGF0Zm9ybSk6bnVsbDtyZXR1cm57YWNjb3VudDp1LGNhbm9uaWNhbDpsLHJlcHJlc2VudGF0aXZlOnYsZW52aXJvbm1lbnQ6RSxkZWNsYXJhdGlvbkNvbmZsaWN0OkksYmluYW5jZUtleTpQfX0pLGQ9Zm4ubWFwKHU9Pih7ZW52aXJvbm1lbnQ6dSxjYXJkczpyLmZpbHRlcihwPT52bihwLmVudmlyb25tZW50KT09PXUpfSkpLmZpbHRlcih1PT51LmNhcmRzLmxlbmd0aD4wKTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJhY2NvdW50LXBsYXRmb3JtLWdyb3VwIixjaGlsZHJlbjpbbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1wbGF0Zm9ybS1oZWFkIixjaGlsZHJlbjpuLmpzeCgiaDIiLHtjbGFzc05hbWU6ImFjY291bnQtcGxhdGZvcm0tdGl0bGUiLGNoaWxkcmVuOm8ucGxhdGZvcm0oaS5wbGF0Zm9ybSl9KX0pLGQubWFwKHU9Pm4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiYWNjb3VudC1lbnZpcm9ubWVudC1zZWN0aW9uIiwiZGF0YS1lbnZpcm9ubWVudCI6dS5lbnZpcm9ubWVudCxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtZW52aXJvbm1lbnQtaGVhZCIsY2hpbGRyZW46W24uanN4KCJoMyIse2NsYXNzTmFtZToiYWNjb3VudC1lbnZpcm9ubWVudC10aXRsZSIsY2hpbGRyZW46YyhgYWNjb3VudHMuZW52aXJvbm1lbnQuJHt1LmVudmlyb25tZW50fWApfSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46YygiYWNjb3VudHMuZW52aXJvbm1lbnRfY291bnQiLHtjb3VudDp1LmNhcmRzLmxlbmd0aH0pfSksdS5lbnZpcm9ubWVudD09PSJsaXZlIiYmcyYmayYmaS5wbGF0Zm9ybSE9PSJiaW5hbmNlIj9uLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LXBsYXRmb3JtLXN1bW1hcnkiLGNoaWxkcmVuOm4uanN4KGxuLHtyb3dzOmsucm93cyxleHBlY3RlZDprLmV4cGVjdGVkLHBoYXNlOnMucGhhc2V9KX0pOm51bGxdfSksdS5lbnZpcm9ubWVudCE9PSJsaXZlIiYmbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBhY2NvdW50LWVudmlyb25tZW50LW5vdGUiLGNoaWxkcmVuOmMoYGFjY291bnRzLmVudmlyb25tZW50LiR7dS5lbnZpcm9ubWVudH1fbm90ZWApfSksbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudC1ncmlkIixjaGlsZHJlbjp1LmNhcmRzLm1hcCgoe2FjY291bnQ6cCxjYW5vbmljYWw6bCxyZXByZXNlbnRhdGl2ZTp2LGVudmlyb25tZW50OnksZGVjbGFyYXRpb25Db25mbGljdDpiLGJpbmFuY2VLZXk6bX0pPT5uLmpzeHMoImFydGljbGUiLHtjbGFzc05hbWU6ImNhcmQgYWNjb3VudC1ncm91cC1jYXJkIixjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtY2FyZC1oZWFkIixjaGlsZHJlbjpbbi5qc3goImgzIix7Y2xhc3NOYW1lOiJhY2NvdW50LWJyb2tlci10aXRsZSIsY2hpbGRyZW46by5hY2NvdW50KHAucm93c1swXS5hY2NvdW50X2FsaWFzLGkucGxhdGZvcm0pfSksbi5qc3goY3Qse2Vudmlyb25tZW50Onl9KV19KSxiJiZuLmpzeCgicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpjKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5jb25mbGljdF9ub3RpY2UiKX0pLHMmJm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnQtY2FyZC1mYWN0cyIsY2hpbGRyZW46aS5wbGF0Zm9ybT09PSJiaW5hbmNlIj9uLmpzeChpdCx7cGxhdGZvcm06aS5wbGF0Zm9ybSxhY2NvdW50S2V5Om0sdmlldzpzLmJpbmFuY2V9KTpuLmpzeChvdCx7ZmFjdDp2LHBoYXNlOnMucGhhc2UsYW1iaWd1b3VzOmwubGVuZ3RoPjF9KX0pLHAucm93cy5tYXAoaD0+e2NvbnN0IFQ9by5jdXJyZW50U3RyYXRlZ3koaCksXz1hPy5jdXJyZW50U3RyYXRlZ2llcz8uW2gucGxhdGZvcm1dPy5baC5hY2NvdW50X2FsaWFzXT8uZXhlY3V0aW9uX2V2aWRlbmNlLGc9YT8uY3VycmVudFN0cmF0ZWdpZXM/LltoLnBsYXRmb3JtXT8uW2guYWNjb3VudF9hbGlhc10/LnJ1bnRpbWVfdGFyZ2V0X2VuYWJsZWQ7cmV0dXJuIG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0cmF0ZWd5LWJsb2NrIixjaGlsZHJlbjpbbi5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudC1zdHJhdGVneS1saW5rIiwiYXJpYS1sYWJlbCI6YygiYWNjb3VudHMub3Blbl9zdHJhdGVneSIse2FjY291bnQ6by5hY2NvdW50KGguYWNjb3VudF9hbGlhcyxoLnBsYXRmb3JtKSxzdHJhdGVneTpUP28uc3RyYXRlZ3koVCk6YygiY29tbW9uLnVua25vd24iKX0pLG9uQ2xpY2s6KCk9PmUod2UoaCkpLGNoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtc3RyYXRlZ3ktaGVhZCIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXN0cmF0ZWd5LW5hbWUiLGNoaWxkcmVuOlQ/by5zdHJhdGVneShUKTpjKCJjb21tb24udW5rbm93biIpfSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtc3RyYXRlZ3ktY2hldnJvbiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46IuKAuiJ9KV19KSx0eXBlb2YgZz09ImJvb2xlYW4iJiZuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHt0aXRsZTpjKCJhY2NvdW50cy5leGVjdXRpb24ucnVudGltZV90YXJnZXRfbm90ZSIpLGNoaWxkcmVuOmMoImFjY291bnRzLmFjdGl2YXRpb25fc2V0dGluZyIpfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpjKGc/Im92ZXJ2aWV3LnJ1bnRpbWVfZW5hYmxlZCI6Im92ZXJ2aWV3LnJ1bnRpbWVfZGlzYWJsZWQiKX0pXX0pLGgucGVuZGluZ19kcmFmdF9jb3VudD4wJiZuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjpjKCJhY2NvdW50cy5jb2wuZHJhZnRzIil9KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOmgucGVuZGluZ19kcmFmdF9jb3VudH0pXX0pLGgucGVuZGluZ19kZWNpc2lvbl9jb3VudCE9PW51bGwmJmgucGVuZGluZ19kZWNpc2lvbl9jb3VudD4wJiZuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjpjKCJhY2NvdW50cy5jb2wudG9kb3MiKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46aC5wZW5kaW5nX2RlY2lzaW9uX2NvdW50fSldfSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46YygiYWNjb3VudHMuY29sLmxhc3RfY2hhbmdlIil9KSxuLmpzeChfdCx7dmFsdWU6aC5sYXN0X2NoYW5nZV9hdH0pXX0pXX0pLG4uanN4KE90LHtldmlkZW5jZTpfLGNvbXBhY3Q6ITB9KV19LHdlKGgpKX0pXX0scC5pZGVudGl0eSkpfSldfSx1LmVudmlyb25tZW50KSldfSxpLnBsYXRmb3JtKX0pfSl9Y29uc3Qga2U9WyJkY2FfbW9kZSIsImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIl07ZnVuY3Rpb24gbWUodCxhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsYSl9ZnVuY3Rpb24gbHQoe3Jvd3M6dCx0OmF9KXtjb25zdCBzPVplKCk7cmV0dXJuIG4uanN4KG4uRnJhZ21lbnQse2NoaWxkcmVuOkRlKHQpLm1hcChlPT5uLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImFjY291bnRzLWRpZmYtc2VjdGlvbiIsY2hpbGRyZW46W24uanN4KCJoMyIse2NoaWxkcmVuOkVlKGEsZS5zZWN0aW9uKX0pLG4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvd3MiLGNoaWxkcmVuOmUucm93cy5tYXAobz0+bi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1sYWJlbCIsY2hpbGRyZW46U2UoYSxvKX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1ib2R5IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLXZhbHVlIixjaGlsZHJlbjpUZShhLG8uZmllbGQsby5jdXJyZW50LG8uY3VycmVudF9zdGF0dXM9PT0idW5rbm93biIscyl9KSxvLm92ZXJyaWRkZW4mJm4uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1jdXJyZW50IixjaGlsZHJlbjphKCJhY2NvdW50cy5kcmFmdF92YWx1ZSIse3ZhbHVlOlRlKGEsby5maWVsZCxvLmRyYWZ0LCExLHMpfSl9KV19KV19LG8uZmllbGQpKX0pXX0sZS5zZWN0aW9uKSl9KX1mdW5jdGlvbiB5bih7cm93czp0LHQ6YX0pe3JldHVybiBuLmpzeChuLkZyYWdtZW50LHtjaGlsZHJlbjpEZSh0KS5tYXAocz0+bi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWRpZmYtc2VjdGlvbiIsY2hpbGRyZW46W24uanN4KCJoMyIse2NoaWxkcmVuOkVlKGEscy5zZWN0aW9uKX0pLG4uanN4KCR0LHtyb3dzOnMucm93c30pXX0scy5zZWN0aW9uKSl9KX1mdW5jdGlvbiBobih7YWNjb3VudDp0LGRpZmZTdGF0ZTphLGNvbmZpZzpzLGVkaXRpbmc6ZSxzZXRFZGl0aW5nOm8sZWRpdHM6YyxzZXRFZGl0czppLGNvbmZpcm06a30pe2NvbnN0IHI9WmUoKSxkPXhlKHMpLHU9Ui51c2VJZCgpLHA9Zj0+YCR7dX0tJHtmfWAsbD16KCksdj1SZSgpLFt5LGJdPVIudXNlU3RhdGUoITEpLFttLGhdPVIudXNlU3RhdGUoITEpLFtULF9dPVIudXNlU3RhdGUobnVsbCksW2csRV09Ui51c2VTdGF0ZSh7fSk7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gbi5qc3goWSx7aGVpZ2h0OjIyMH0pO2lmKGEucGhhc2U9PT0iZXJyb3IiKXJldHVybiBuLmpzeChmZSx7b25SZXRyeTphLnJlbG9hZH0pO2NvbnN0IEk9YS5kYXRhLFA9SS5yb3dzLFM9UC5zb21lKGY9PmYuZmllbGQ9PT0ib3B0aW9uX292ZXJsYXlfZW5hYmxlZCImJmYub3ZlcnJpZGRlbiksJD1JLmlkZW50aXR5X3N0YXR1cz09PSJpZGVudGl0eV9jb25mbGljdCIsQz1JdChzLHIpLE09T2JqZWN0LmtleXMoYykubGVuZ3RoPjAsVj0oZixOKT0+e0UoQT0+KHsuLi5BLFtmXTp2b2lkIDB9KSksaShBPT57Y29uc3Qgdz17Li4uQSxbZl06Tn07aWYoa2UuaW5jbHVkZXMoZikpe2NvbnN0IEI9Zj09PSJkY2FfbW9kZSI/ImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIjoiZGNhX21vZGUiO2lmKCFtZSh3LEIpKXtjb25zdCBLPVAuZmluZChHPT5HLmZpZWxkPT09Qik7SyYmKHdbQl09Sy5vdmVycmlkZGVuP0suZHJhZnQ6Sy5jdXJyZW50KX19cmV0dXJuIHd9KX0sTD1mPT57RShOPT4oey4uLk4sW2ZdOnZvaWQgMH0pKSxpKE49Pntjb25zdCBBPXsuLi5OfTtyZXR1cm4gZGVsZXRlIEFbZl0sa2UuaW5jbHVkZXMoZikmJmRlbGV0ZSBBW2Y9PT0iZGNhX21vZGUiPyJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCI6ImRjYV9tb2RlIl0sQX0pfSxxPWY9PntpZihrZS5pbmNsdWRlcyhmKSl7RShOPT4oey4uLk4sZGNhX21vZGU6dm9pZCAwLGRjYV9iYXNlX2ludmVzdG1lbnRfdXNkOnZvaWQgMH0pKSxpKE49Pih7Li4uTixkY2FfbW9kZTpudWxsLGRjYV9iYXNlX2ludmVzdG1lbnRfdXNkOm51bGx9KSk7cmV0dXJufVYoZixudWxsKX0seD0oKT0+e2NvbnN0IGY9e307Zm9yKGNvbnN0IEIgb2YgT2JqZWN0LmtleXMoYykpe2NvbnN0IEs9Y1tCXTtpZihLPT1udWxsKWNvbnRpbnVlO2NvbnN0IEc9U3RyaW5nKEspO0I9PT0ic3RyYXRlZ3lfcHJvZmlsZSImJiFHLnRyaW0oKSYmKGZbQl09bCgiYWNjb3VudHMuZm9ybS5zZWxlY3RfcHJvZmlsZSIpKSxCPT09InJlc2VydmVkX2Nhc2hfZmxvb3IiJiYhQnQoRykmJihmW0JdPWwoImFjY291bnRzLmZvcm0uaW52YWxpZF9kZWNpbWFsIikpLEI9PT0icmVzZXJ2ZWRfY2FzaF9yYXRpbyImJiFQdChHKSYmKGZbQl09bCgiYWNjb3VudHMuZm9ybS5pbnZhbGlkX3JhdGlvIikpLEI9PT0iZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiJiYhTXQoRykmJihmW0JdPWwoImFjY291bnRzLmZvcm0uaW52YWxpZF9kY2FfYW1vdW50IikpfWNvbnN0IE49VmUoUCxjKSxBPXR5cGVvZiBOLmRjYV9tb2RlPT0ic3RyaW5nIiYmTi5kY2FfbW9kZS5sZW5ndGg+MCx3PXR5cGVvZiBOLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPT0ic3RyaW5nIiYmTi5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZC5sZW5ndGg+MDtyZXR1cm4gQSE9PXcmJihmLmRjYV9tb2RlPWwoImFjY291bnRzLmZvcm0uZGNhX3BhaXJfcmVxdWlyZWQiKSksRShmKSxPYmplY3Qua2V5cyhmKS5sZW5ndGg9PT0wfSxqPWFzeW5jIGY9PntoKCEwKSxfKG51bGwpO2xldCBOO3RyeXtjb25zdCBBPWF3YWl0IGllKHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKTtpZighQS5pZGVudGl0eXx8dHlwZW9mIEEuaWRlbnRpdHkhPSJvYmplY3QifHxBcnJheS5pc0FycmF5KEEuaWRlbnRpdHkpKXRocm93IG5ldyBFcnJvcigiaWRlbnRpdHlfbWlzc2luZyIpO049QS5pZGVudGl0eX1jYXRjaHtfKHtraW5kOiJlcnJvciIsdGV4dDpsKCJlcnJvci5nZW5lcmljIil9KSxoKCExKTtyZXR1cm59dHJ5e2F3YWl0IHl0KHtwbGF0Zm9ybTp0LnBsYXRmb3JtLGtleTp0LmFjY291bnRfYWxpYXMsaWRlbnRpdHk6TixleHBlY3RlZF9kcmFmdF9yZXZpc2lvbjpmLmRyYWZ0X3JldmlzaW9uLG92ZXJyaWRlczpWZShmLnJvd3MsYyl9KSxpKHt9KSxvKCExKSxfKHtraW5kOiJzdWNjZXNzIix0ZXh0OmAke2woImFjY291bnRzLmRyYWZ0X3NhdmVkIil9ICR7bCgiYWNjb3VudHMuZHJhZnRfbm90ZSIpfWB9KSxhLnJlbG9hZCgpfWNhdGNoKEEpe2lmKEEgaW5zdGFuY2VvZiBodCYmQS5zdGF0dXM9PT00MDkpe2NvbnN0IHc9QS5wYXlsb2FkPy5lcnJvcixCPWwodz09PSJhY2NvdW50X3NldHRpbmdzX2RyYWZ0X3JldmlzaW9uX2NvbmZsaWN0Ij8iYWNjb3VudHMuY29uZmxpY3QiOnc9PT0iYWNjb3VudF9zZXR0aW5nc19pZGVudGl0eV9jb25mbGljdCI/ImFjY291bnRzLmlkZW50aXR5X2NvbmZsaWN0IjoiZXJyb3IuY29uZmxpY3QiKTtfKHtraW5kOiJlcnJvciIsdGV4dDpCfSksYS5yZWxvYWQoKX1lbHNlIF8oe2tpbmQ6ImVycm9yIix0ZXh0OmwoImFjY291bnRzLnNhdmVfdW5rbm93biIpfSl9ZmluYWxseXtoKCExKX19LE89YXN5bmMoKT0+e2lmKHgoKSl7YighMCksXyhudWxsKTt0cnl7Y29uc3QgZj1hd2FpdCBRZSh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSk7aWYoZi5pZGVudGl0eV9zdGF0dXM9PT0iaWRlbnRpdHlfY29uZmxpY3QiKXtfKHtraW5kOiJlcnJvciIsdGV4dDpsKCJhY2NvdW50cy5pZGVudGl0eV9jb25mbGljdCIpfSksYS5yZWxvYWQoKTtyZXR1cm59Y29uc3QgTj1mLnJvd3MuZmlsdGVyKHc9Pntjb25zdCBCPXcub3ZlcnJpZGRlbj93LmRyYWZ0OncuY3VycmVudCxLPW1lKGMsdy5maWVsZCk/Y1t3LmZpZWxkXTpCO3JldHVybiBTdHJpbmcoSz8/IiIpIT09U3RyaW5nKEI/PyIiKX0pLm1hcCh3PT57Y29uc3QgQj1tZShjLHcuZmllbGQpJiZjW3cuZmllbGRdPT09bnVsbCxLPUI/dy5jdXJyZW50OkZlKHcsYyk7cmV0dXJue3NlY3Rpb246dy5zZWN0aW9uLGZpZWxkOncuZmllbGQsbGFiZWw6U2UobCx3KSxiZWZvcmU6dy5jdXJyZW50X3N0YXR1cz09PSJ1bmtub3duIj9udWxsOncuY3VycmVudCxhZnRlcjpCP2woImFjY291bnRzLmZvcm0uaW5oZXJpdCIpOkssYWZmZWN0c0xpdmU6dy5hZmZlY3RzX2xpdmV9fSk7aWYoIU4ubGVuZ3RoKXt2KHtraW5kOiJpbmZvIix0ZXh0OmwoImFjY291bnRzLm5vX2NoYW5nZXMiKX0pO3JldHVybn1hd2FpdCBrKHt0aXRsZTpsKCJhY2NvdW50cy5kaWZmX2RpYWxvZ190aXRsZSIpLHRhcmdldDpkLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLHN1bW1hcnk6bCgiYWNjb3VudHMuZHJhZnRfbm90ZSIpLGJvZHk6bi5qc3goeW4se3Jvd3M6Tix0Omx9KSxhY2tMYWJlbDpOLnNvbWUodz0+dy5hZmZlY3RzTGl2ZSk/bCgiYWNjb3VudHMuYWNrX2xpdmUiKTp2b2lkIDAsY29uZmlybUxhYmVsOmwoImFjY291bnRzLnNhdmVfZHJhZnQiKSx0b25lOiJub3JtYWwifSkmJmF3YWl0IGooZil9Y2F0Y2h7dih7a2luZDoiZXJyb3IiLHRleHQ6bCgiZXJyb3IuZ2VuZXJpYyIpfSl9ZmluYWxseXtiKCExKX19fSxEPWFzeW5jKCk9PntNJiYhYXdhaXQgayh7dGl0bGU6bCgiY29tbW9uLnVuc2F2ZWRfZ3VhcmRfdGl0bGUiKSxzdW1tYXJ5OmwoImNvbW1vbi51bnNhdmVkX2d1YXJkX2JvZHkiKSx0b25lOiJub3JtYWwifSl8fChpKHt9KSxFKHt9KSxvKCExKSl9LEY9Zj0+e2NvbnN0IE49RmUoZixjKSxBPW1lKGMsZi5maWVsZCksdz1OPT1udWxsPyIiOlN0cmluZyhOKSxCPWdbZi5maWVsZF0sSz17aWQ6cChmLmZpZWxkKSwiYXJpYS1pbnZhbGlkIjohIUIsImFyaWEtZGVzY3JpYmVkYnkiOkI/YCR7cChmLmZpZWxkKX0tZXJyb3JgOnZvaWQgMH07bGV0IEc7aWYoZi5maWVsZD09PSJzdHJhdGVneV9wcm9maWxlIil7Y29uc3QgSD1DLnNvbWUoVz0+Vy5wcm9maWxlPT09dyk7Rz1uLmpzeHMoInNlbGVjdCIsey4uLkssY2xhc3NOYW1lOiJpbnB1dCIsdmFsdWU6dyxvbkNoYW5nZTpXPT5WKGYuZmllbGQsVy50YXJnZXQudmFsdWUpLGNoaWxkcmVuOlshdyYmbi5qc3goIm9wdGlvbiIse3ZhbHVlOiIiLGRpc2FibGVkOiEwLGNoaWxkcmVuOmwoImFjY291bnRzLmZvcm0uc2VsZWN0X3Byb2ZpbGUiKX0pLHcmJiFIJiZuLmpzeCgib3B0aW9uIix7dmFsdWU6dyxjaGlsZHJlbjp3fSksQy5tYXAoVz0+bi5qc3goIm9wdGlvbiIse3ZhbHVlOlcucHJvZmlsZSxjaGlsZHJlbjpXLmxhYmVsfSxXLnByb2ZpbGUpKV19KX1lbHNlIGYuZmllbGQ9PT0iZGNhX21vZGUiP0c9bi5qc3hzKCJzZWxlY3QiLHsuLi5LLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOncsb25DaGFuZ2U6SD0+VihmLmZpZWxkLEgudGFyZ2V0LnZhbHVlKSxjaGlsZHJlbjpbIXcmJm4uanN4KCJvcHRpb24iLHt2YWx1ZToiIixkaXNhYmxlZDohMCxjaGlsZHJlbjpsKCJjb21tb24ubmEiKX0pLG4uanN4KCJvcHRpb24iLHt2YWx1ZToiZml4ZWQiLGNoaWxkcmVuOmwoImFjY291bnRzLmRjYV9tb2RlLmZpeGVkIil9KSxuLmpzeCgib3B0aW9uIix7dmFsdWU6InNtYXJ0IixjaGlsZHJlbjpsKCJhY2NvdW50cy5kY2FfbW9kZS5zbWFydCIpfSldfSk6Zi5maWVsZD09PSJpbmNvbWVfbGF5ZXJfZW5hYmxlZCI/Rz1uLmpzeHMoInNlbGVjdCIsey4uLkssY2xhc3NOYW1lOiJpbnB1dCIsdmFsdWU6dyxvbkNoYW5nZTpIPT5WKGYuZmllbGQsSC50YXJnZXQudmFsdWU9PT0idHJ1ZSIpLGNoaWxkcmVuOlshdyYmbi5qc3goIm9wdGlvbiIse3ZhbHVlOiIiLGRpc2FibGVkOiEwLGNoaWxkcmVuOmwoImNvbW1vbi5uYSIpfSksbi5qc3goIm9wdGlvbiIse3ZhbHVlOiJ0cnVlIixjaGlsZHJlbjpsKCJhY2NvdW50cy5ib29sLm9uIil9KSxuLmpzeCgib3B0aW9uIix7dmFsdWU6ImZhbHNlIixjaGlsZHJlbjpsKCJhY2NvdW50cy5ib29sLm9mZiIpfSldfSk6Rz1uLmpzeCgiaW5wdXQiLHsuLi5LLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOncsaW5wdXRNb2RlOiJkZWNpbWFsIixtYXhMZW5ndGg6MzIsb25DaGFuZ2U6SD0+VihmLmZpZWxkLEgudGFyZ2V0LnZhbHVlKX0pO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtYm9keSIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1jb250cm9sIixjaGlsZHJlbjpbRyxBJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+TChmLmZpZWxkKSxjaGlsZHJlbjpsKCJhY2NvdW50cy5mb3JtLnVuZG8iKX0pLCFBJiZmLm92ZXJyaWRkZW4mJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5xKGYuZmllbGQpLGNoaWxkcmVuOmwoImFjY291bnRzLmZvcm0uY2xlYXJfb3ZlcnJpZGUiKX0pXX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY3VycmVudCIsY2hpbGRyZW46W2woImRlY2lzaW9ucy5jb2wuY3VycmVudCIpLCIgwrcgIixUZShsLGYuZmllbGQsZi5jdXJyZW50LGYuY3VycmVudF9zdGF0dXM9PT0idW5rbm93biIscildfSksQiYmbi5qc3goInNwYW4iLHtpZDpgJHtwKGYuZmllbGQpfS1lcnJvcmAsY2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1lcnJvciIsY2hpbGRyZW46Qn0pXX0pfTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLXRvb2xiYXIiLGNoaWxkcmVuOltuLmpzeChiZSx7dG9uZTplPyJhY2NlbnQiOiJ1bmtub3duIixjaGlsZHJlbjpsKGU/ImFjY291bnRzLmVkaXRpbmciOiJhY2NvdW50cy52aWV3aW5nIil9KSxuLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46bCgiYWNjb3VudHMuZHJhZnRfcmV2aXNpb24iLHt2YWx1ZTpJLmRyYWZ0X3JldmlzaW9ufSl9KSxuLmpzeCgic3BhbiIse3N0eWxlOntmbGV4OjF9fSksIWUmJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pm8oITApLGNoaWxkcmVuOmwoImFjY291bnRzLmVkaXQiKX0pLGUmJm4uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLGRpc2FibGVkOnl8fG18fCQsb25DbGljazooKT0+e08oKX0sY2hpbGRyZW46bCh5PyJhY2NvdW50cy5jaGVja2luZyI6ImFjY291bnRzLmNoZWNrX2NoYW5nZXMiKX0pLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOnl8fG0sb25DbGljazooKT0+e0QoKX0sY2hpbGRyZW46bCgiY29tbW9uLmNhbmNlbCIpfSldfSldfSksUyYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIixjaGlsZHJlbjpsKCJhY2NvdW50cy5yZXRpcmVkX29wdGlvbl9kcmFmdCIpfSksJCYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSBlcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOltsKCJhY2NvdW50cy5pZGVudGl0eV9jb25mbGljdCIpLCIgIixuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnRzLWFsaWFzLWJ1dHRvbiIsb25DbGljazphLnJlbG9hZCxjaGlsZHJlbjpsKCJjb21tb24ucmVmcmVzaCIpfSldfSksVCYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOmBhY2NvdW50cy1pbmxpbmUtbm90ZSAke1Qua2luZH1gLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46W1QudGV4dCwiICIsVC5raW5kPT09ImVycm9yIiYmbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6YS5yZWxvYWQsY2hpbGRyZW46bCgiY29tbW9uLnJlZnJlc2giKX0pXX0pLG0mJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1pbmxpbmUtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpsKCJhY2NvdW50cy5zYXZpbmciKX0pLGU/RGUoUCkubWFwKGY9Pm4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZGlmZi1zZWN0aW9uIixjaGlsZHJlbjpbbi5qc3goImgzIix7Y2hpbGRyZW46RWUobCxmLnNlY3Rpb24pfSksbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtcm93cyIsY2hpbGRyZW46Zi5yb3dzLm1hcChOPT5uLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtcm93IixjaGlsZHJlbjpbbi5qc3goImxhYmVsIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1sYWJlbCIsaHRtbEZvcjpwKE4uZmllbGQpLGNoaWxkcmVuOlNlKGwsTil9KSxGKE4pXX0sTi5maWVsZCkpfSldfSxmLnNlY3Rpb24pKTpuLmpzeChsdCx7cm93czpQLHQ6bH0pXX0pfWZ1bmN0aW9uIGduKHtjaGlsZHJlbjp0fSl7Y29uc3QgYT16KCk7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiZGFuZ2VyLXpvbmUiLCJhcmlhLWxhYmVsIjphKCJjb250cm9scy50aXRsZSIpLGNoaWxkcmVuOltuLmpzeCgiaDMiLHtjbGFzc05hbWU6ImRhbmdlci16b25lLXRpdGxlIixjaGlsZHJlbjphKCJjb250cm9scy50aXRsZSIpfSksbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsc3R5bGU6e21hcmdpbjowfSxjaGlsZHJlbjphKCJjb250cm9scy5kYW5nZXJfbm90ZSIpfSksdF19KX1mdW5jdGlvbiBibih7dGl0bGU6dCxzdW1tYXJ5OmEsYWN0aW9uOnMsdW5hdmFpbGFibGVSZWFzb246ZX0pe2NvbnN0IG89eigpO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGFuZ2VyLXJvdyIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJkYW5nZXItcm93LXRleHQiLGNoaWxkcmVuOltuLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46dH0pLG4uanN4KCJwIix7Y2hpbGRyZW46YX0pLGUmJm4uanN4KCJwIix7Y2hpbGRyZW46bygiY29udHJvbHMudW5hdmFpbGFibGUiLHtyZWFzb246ZX0pfSldfSksbi5qc3goImRpdiIse2NoaWxkcmVuOnN9KV19KX1jb25zdCB4bj1uZXcgU2V0KFsiaWJrciIsInNjaHdhYiJdKSxLZT1uZXcgU2V0KFsicmVzZXJ2ZWQiLCJhY2NlcHRlZCIsInVua25vd24iLCJwYXJ0aWFsIl0pLGtuPW5ldyBTZXQoWyJhcHBsaWVkIiwicHJvdGVjdGVkIiwicmVqZWN0ZWQiXSksam49W3tuYW1lOiJlbmFibGUiLHRpdGxlS2V5OiJjb250cm9scy5lbmFibGUiLHN1bW1hcnlLZXk6ImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5In0se25hbWU6InN0b3AiLHRpdGxlS2V5OiJjb250cm9scy5zdG9wIixzdW1tYXJ5S2V5OiJjb250cm9scy5zdG9wX3N1bW1hcnkifSx7bmFtZToicmVzdW1lIix0aXRsZUtleToiY29udHJvbHMucmVzdW1lIixzdW1tYXJ5S2V5OiJjb250cm9scy5yZXN1bWVfc3VtbWFyeSJ9LHtuYW1lOiJhcHByb3ZlX2FwcGxpY2F0aW9uIix0aXRsZUtleToiY29udHJvbHMuYXBwcm92ZV9hcHBsaWNhdGlvbiIsc3VtbWFyeUtleToiY29udHJvbHMuYXBwcm92ZV9zdW1tYXJ5In1dO2Z1bmN0aW9uIE5uKHthY2NvdW50OnQsY29uZmlnOmEsY29uZmlybTpzfSl7Y29uc3QgZT16KCksbz1SZSgpLGM9eGUoYSksaT1YKCgpPT5ndCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksW3QuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtXSksW2sscl09Ui51c2VTdGF0ZShudWxsKSxbZCx1XT1SLnVzZVN0YXRlKHt9KSxwPWAke3QucGxhdGZvcm19OiR7dC5hY2NvdW50X2FsaWFzfWAsW2wsdl09Ui51c2VTdGF0ZShudWxsKSxbeSxiXT1SLnVzZVN0YXRlKG51bGwpO2lmKFIudXNlRWZmZWN0KCgpPT57aWYoaS5waGFzZSE9PSJyZWFkeSJ8fCFsfHxsLnRhcmdldEtleSE9PXB8fGkuZGF0YS5hY2NvdW50X2FsaWFzIT09dC5hY2NvdW50X2FsaWFzfHxpLmRhdGEucGxhdGZvcm0hPT10LnBsYXRmb3JtKXJldHVybjtjb25zdCBqPWkuZGF0YS5ydW50aW1lX2NvbnRyb2w7IWp8fGoucmVxdWVzdF9pZCE9PWwucmVxdWVzdElkfHxrbi5oYXMoai5waGFzZXx8IiIpJiZ2KG51bGwpfSxbaSxsLHBdKSxpLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBuLmpzeChZLHtoZWlnaHQ6MjAwfSk7aWYoaS5waGFzZT09PSJlcnJvciIpcmV0dXJuIG4uanN4KGZlLHtvblJldHJ5OmkucmVsb2FkfSk7Y29uc3QgbT1pLmRhdGE7aWYobS5hY2NvdW50X2FsaWFzIT09dC5hY2NvdW50X2FsaWFzfHxtLnBsYXRmb3JtIT09dC5wbGF0Zm9ybSlyZXR1cm4gbi5qc3goWSx7aGVpZ2h0OjIwMH0pO2NvbnN0IGg9eG4uaGFzKHQucGxhdGZvcm0udG9Mb3dlckNhc2UoKSksVD1qPT5lKGByZWFzb24uJHtqfWApLF89bS5ydW50aW1lX2NvbnRyb2wsZz1sPy50YXJnZXRLZXk9PT1wfHwhIShfJiZLZS5oYXMoXy5waGFzZXx8IiIpKSxFPV8/LnVuYXZhaWxhYmxlX3JlYXNvbj9UKF8udW5hdmFpbGFibGVfcmVhc29uKTpfJiYoXy5waGFzZT09PSJ1bmtub3duInx8Xy5waGFzZT09PSJwYXJ0aWFsIik/ZSgiY29udHJvbHMudW5rbm93bl9yZXN1bHQiKTplKCJjb250cm9scy5zdWJtaXR0ZWQiKSxJPV8/LnBoYXNlPT09ImFwcGxpZWQiJiZfLnBsYXRmb3JtX2FwcGxpZWQ9PT0hMCYmKF8uYWN0aW9uPT09ImVuYWJsZSJ8fF8uYWN0aW9uPT09ImRpc2FibGUiKT9lKF8uYWN0aW9uPT09ImVuYWJsZSI/ImNvbnRyb2xzLnJlc3VsdC5lbmFibGUiOiJjb250cm9scy5yZXN1bHQuZGlzYWJsZSIpOm51bGwsUD1hc3luYygpPT57dHJ5e2F3YWl0IG5lKCIvYXBpL3J1bnRpbWUtc3RvcCIse3BsYXRmb3JtOnQucGxhdGZvcm0sdGFyZ2V0X25hbWU6cGUoYSx0LnBsYXRmb3JtLHQuYWNjb3VudF9hbGlhcyksb3BlcmF0aW9uOiJpbnNwZWN0Iixjb25maXJtOiJSRUFEX09OTFkifSl9Y2F0Y2h7fWZpbmFsbHl7aS5yZWxvYWQoKX19LFM9KCk9PntpZih1KHt9KSwhaHx8IV98fCFLZS5oYXMoXy5waGFzZXx8IiIpKXtpLnJlbG9hZCgpO3JldHVybn1QKCl9LCQ9KGosTyk9Pnt1KEQ9Pih7Li4uRCxbal06Tz8ic3VibWl0dGVkIjoidW5rbm93biJ9KSksbyh7a2luZDpPPyJzdWNjZXNzIjoiZXJyb3IiLHRleHQ6ZShPPyJjb250cm9scy5zdWJtaXR0ZWQiOiJjb250cm9scy51bmtub3duX3Jlc3VsdCIpfSl9LEM9YXN5bmMoKT0+e2lmKGgpe2F3YWl0IEwoImRpc2FibGUiKTtyZXR1cm59aWYoYXdhaXQgcyh7dGl0bGU6ZSgiY29udHJvbHMuc3RvcF9jb25maXJtX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5zdG9wX3N1bW1hcnkiKSxjb25zZXF1ZW5jZTplKCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIiksdG9uZToiZGFuZ2VyIixjb25maXJtTGFiZWw6ZSgiY29udHJvbHMuc3RvcCIpLHR5cGVUb0NvbmZpcm06e2xhYmVsOmUoImNvbnRyb2xzLnN0b3BfdHlwZV9hbGlhcyIse2FsaWFzOnQuYWNjb3VudF9hbGlhc30pLGV4cGVjdGVkOnQuYWNjb3VudF9hbGlhcyxtaXNtYXRjaDplKCJjb250cm9scy5hbGlhc19taXNtYXRjaCIpfX0pKXtyKCJzdG9wIik7dHJ5e2F3YWl0IG5lKCIvYXBpL3J1bnRpbWUtc3RvcCIse3BsYXRmb3JtOnQucGxhdGZvcm0sdGFyZ2V0X25hbWU6cGUoYSx0LnBsYXRmb3JtLHQuYWNjb3VudF9hbGlhcyksY29uZmlybToiU1RPUF9PTkxZIn0pLCQoInN0b3AiLCEwKX1jYXRjaHskKCJzdG9wIiwhMSl9ZmluYWxseXtyKG51bGwpfX19LE09YXN5bmMoKT0+e2NvbnN0IGo9bS5yZXN1bWVfYmluZGluZz8ucnVudGltZV90YXJnZXRfc2hhMjU2O2lmKCEodHlwZW9mIGohPSJzdHJpbmcifHwhanx8IWF3YWl0IHMoe3RpdGxlOmUoImNvbnRyb2xzLmNvbmZpcm0ucmVzdW1lX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5yZXN1bWVfc3VtbWFyeSIpLHRvbmU6ImRhbmdlciIsY29uZmlybUxhYmVsOmUoImNvbnRyb2xzLnJlc3VtZSIpfSkpKXtyKCJyZXN1bWUiKTt0cnl7YXdhaXQgbmUoIi9hcGkvcnVudGltZS1yZXN1bWUiLHtwbGF0Zm9ybTp0LnBsYXRmb3JtLHRhcmdldF9uYW1lOnBlKGEsdC5wbGF0Zm9ybSx0LmFjY291bnRfYWxpYXMpLHJ1bnRpbWVfdGFyZ2V0X3NoYTI1NjpqLGNvbmZpcm06IlJFU1VNRV9FWElTVElORyJ9KSwkKCJyZXN1bWUiLCEwKX1jYXRjaHskKCJyZXN1bWUiLCExKX1maW5hbGx5e3IobnVsbCl9fX0sVj1hc3luYygpPT57aWYoYXdhaXQgcyh7dGl0bGU6ZSgiY29udHJvbHMuY29uZmlybS5hcHByb3ZlX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5hcHByb3ZlX3N1bW1hcnkiKSx0b25lOiJkYW5nZXIiLGNvbmZpcm1MYWJlbDplKCJjb250cm9scy5hcHByb3ZlX2FwcGxpY2F0aW9uIil9KSl7cigiYXBwcm92ZV9hcHBsaWNhdGlvbiIpO3RyeXtjb25zdCBPPWF3YWl0IGllKHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKSxEPU8uZHJhZnQ/Lm92ZXJyaWRlc3x8e30sRj1PYmplY3Qua2V5cyhEKSxmPXR5cGVvZiBELnN0cmF0ZWd5X3Byb2ZpbGU9PSJzdHJpbmciP0Quc3RyYXRlZ3lfcHJvZmlsZS50cmltKCk6IiIsTj1PLmVmZmVjdGl2ZT8uc3RyYXRlZ3lfcHJvZmlsZSxBPU4/LnN0YXR1cz09PSJrbm93biImJnR5cGVvZiBOLnZhbHVlPT0ic3RyaW5nIj9OLnZhbHVlLnRyaW0oKToiIjtpZighISEoTy5pZGVudGl0eSYmTnVtYmVyLmlzU2FmZUludGVnZXIoTy5pbnN0YW5jZV9yZXZpc2lvbikmJk51bWJlci5pc1NhZmVJbnRlZ2VyKE8uZHJhZnQ/LnJldmlzaW9uKSYmRi5sZW5ndGg9PT0xJiZGWzBdPT09InN0cmF0ZWd5X3Byb2ZpbGUiJiZmJiZBJiZmIT09QSkpe28oe2tpbmQ6ImVycm9yIix0ZXh0OmUoImNvbnRyb2xzLmFwcHJvdmVfbm90X3JlYWR5Iil9KTtyZXR1cm59YXdhaXQgbmUoIi9hcGkvYWNjb3VudC1zZXR0aW5ncy9wcm9maWxlLWFwcGxpY2F0aW9uL2FwcHJvdmUiLHtwbGF0Zm9ybTp0LnBsYXRmb3JtLGtleTp0LmFjY291bnRfYWxpYXMscmVxdWVzdF9rZXk6Y3J5cHRvLnJhbmRvbVVVSUQoKSxpZGVudGl0eTpPLmlkZW50aXR5LGV4cGVjdGVkX2luc3RhbmNlX3JldmlzaW9uOk8uaW5zdGFuY2VfcmV2aXNpb24sZXhwZWN0ZWRfZHJhZnRfcmV2aXNpb246Ty5kcmFmdD8ucmV2aXNpb24sb2xkX3Byb2ZpbGU6QSxuZXdfcHJvZmlsZTpmfSksJCgiYXBwcm92ZV9hcHBsaWNhdGlvbiIsITApfWNhdGNoeyQoImFwcHJvdmVfYXBwbGljYXRpb24iLCExKX1maW5hbGx5e3IobnVsbCl9fX0sTD1hc3luYyBqPT57Y29uc3QgTz1qPT09ImVuYWJsZSI/ImVuYWJsZSI6InN0b3AiO2lmKCFhd2FpdCBzKGo9PT0iZW5hYmxlIj97dGl0bGU6ZSgiY29udHJvbHMuY29uZmlybS5lbmFibGVfdGl0bGUiKSx0YXJnZXQ6Yy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKSxzdW1tYXJ5OmUoImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5IiksY29uc2VxdWVuY2U6ZSgiY29udHJvbHMuZW5hYmxlX2NvbnRyb2xfbm90ZSIpLHRvbmU6Im5vcm1hbCIsY29uZmlybUxhYmVsOmUoImNvbnRyb2xzLmVuYWJsZSIpfTp7dGl0bGU6ZSgiY29udHJvbHMuc3RvcF9jb25maXJtX3RpdGxlIiksdGFyZ2V0OmMuYWNjb3VudCh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksc3VtbWFyeTplKCJjb250cm9scy5zdG9wX3N1bW1hcnkiKSxjb25zZXF1ZW5jZTplKCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIiksdG9uZToiZGFuZ2VyIixjb25maXJtTGFiZWw6ZSgiY29udHJvbHMuc3RvcCIpLHR5cGVUb0NvbmZpcm06e2xhYmVsOmUoImNvbnRyb2xzLnN0b3BfdHlwZV9hbGlhcyIse2FsaWFzOnQuYWNjb3VudF9hbGlhc30pLGV4cGVjdGVkOnQuYWNjb3VudF9hbGlhcyxtaXNtYXRjaDplKCJjb250cm9scy5hbGlhc19taXNtYXRjaCIpfX0pKXJldHVybjtjb25zdCBGPWNyeXB0by5yYW5kb21VVUlEKCk7dih7cmVxdWVzdElkOkYsdGFyZ2V0S2V5OnB9KSxiKHtuYW1lOk8sdGFyZ2V0S2V5OnB9KTt0cnl7YXdhaXQgbmUoIi9hcGkvcnVudGltZS1zdG9wIix7cGxhdGZvcm06dC5wbGF0Zm9ybSx0YXJnZXRfbmFtZTpwZShhLHQucGxhdGZvcm0sdC5hY2NvdW50X2FsaWFzKSxvcGVyYXRpb246aixyZXF1ZXN0X2lkOkYsY29uZmlybToiQ09OVFJPTF9PTkxZIn0pLG8oe2tpbmQ6InN1Y2Nlc3MiLHRleHQ6ZSgiY29udHJvbHMuc3VibWl0dGVkIil9KX1jYXRjaHtvKHtraW5kOiJlcnJvciIsdGV4dDplKCJjb250cm9scy51bmtub3duX3Jlc3VsdCIpfSl9ZmluYWxseXtiKGY9PmY/LnRhcmdldEtleT09PXA/bnVsbDpmKSxpLnJlbG9hZCgpfX0seD17ZW5hYmxlOmFzeW5jKCk9PntpZihoKXthd2FpdCBMKCJlbmFibGUiKTtyZXR1cm59YXdhaXQgcyh7dGl0bGU6ZSgiY29udHJvbHMuY29uZmlybS5lbmFibGVfdGl0bGUiKSx0YXJnZXQ6Yy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKSxzdW1tYXJ5OmUoImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5IiksY29uc2VxdWVuY2U6ZSgiY29udHJvbHMuZW5hYmxlX25vdGUiKSx0b25lOiJub3JtYWwiLGNvbmZpcm1MYWJlbDplKCJjb21tb24uY2xvc2UiKX0pfSxzdG9wOkMscmVzdW1lOk0sYXBwcm92ZV9hcHBsaWNhdGlvbjpWfTtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLGNoaWxkcmVuOltoJiZfPy5waGFzZT09PSJyZWplY3RlZCImJl8udW5hdmFpbGFibGVfcmVhc29uJiZuLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpUKF8udW5hdmFpbGFibGVfcmVhc29uKX0pLGgmJl8/LnBoYXNlPT09InByb3RlY3RlZCImJm4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOmUoImNvbnRyb2xzLnByb3RlY3RlZCIpfSksaCYmSSYmbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46SX0pLG4uanN4KGduLHtjaGlsZHJlbjpqbi5tYXAoKHtuYW1lOmosdGl0bGVLZXk6TyxzdW1tYXJ5S2V5OkR9KT0+e2NvbnN0IEY9bS5hY3Rpb25zW2pdLGY9ZFtqXSxOPWcmJihqPT09ImVuYWJsZSJ8fGo9PT0ic3RvcCIpLEE9ayE9PW51bGx8fHk/LnRhcmdldEtleT09PXB8fCEhZnx8Tnx8IUYuZW5hYmxlZCx3PWY/ZShmPT09InN1Ym1pdHRlZCI/ImNvbnRyb2xzLnN1Ym1pdHRlZCI6ImNvbnRyb2xzLnVua25vd25fcmVzdWx0Iik6Tj9FOkYuZW5hYmxlZD9udWxsOlQoRi5yZWFzb24pO3JldHVybiBuLmpzeChibix7dGl0bGU6ZShPKSxzdW1tYXJ5OmUoRCksdW5hdmFpbGFibGVSZWFzb246dyxhY3Rpb246bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBidXR0b24gJHtqPT09InN0b3AifHxqPT09InJlc3VtZSI/ImJ1dHRvbi1kYW5nZXItb3V0bGluZSI6ImJ1dHRvbi1zZWNvbmRhcnkifWAsZGlzYWJsZWQ6QSxvbkNsaWNrOigpPT57eFtqXSgpfSxjaGlsZHJlbjprPT09anx8eT8udGFyZ2V0S2V5PT09cCYmeS5uYW1lPT09aj9lKCJjb250cm9scy5zdWJtaXR0aW5nIik6ZShPKX0pfSxqKX0pfSksbi5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6UyxjaGlsZHJlbjplKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KX1mdW5jdGlvbiB3bih7YWNjb3VudDp0fSl7Y29uc3QgYT16KCkscz1SZSgpLGU9WCgoKT0+JGUodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pLFt0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybV0pLFtvLGNdPVIudXNlU3RhdGUoW10pLFtpLGtdPVIudXNlU3RhdGUobnVsbCksW3IsZF09Ui51c2VTdGF0ZShudWxsKSxbdSxwXT1SLnVzZVN0YXRlKCExKTtpZihSLnVzZUVmZmVjdCgoKT0+e2UucGhhc2U9PT0icmVhZHkiJiYoYyhlLmRhdGEuaXRlbXMpLGsoZS5kYXRhLm5leHRfY3Vyc29yKSxkKGUuZGF0YS5hdmFpbGFiaWxpdHkpKX0sW2UucGhhc2UsZS5kYXRhXSksZS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gbi5qc3goWSx7aGVpZ2h0OjIwMH0pO2lmKGUucGhhc2U9PT0iZXJyb3IiKXJldHVybiBuLmpzeChmZSx7b25SZXRyeTplLnJlbG9hZH0pO2NvbnN0IGw9YXN5bmMoKT0+e2lmKGkpe3AoITApO3RyeXtjb25zdCBtPWF3YWl0ICRlKHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtLDI1LGkpO2MoaD0+Wy4uLmgsLi4ubS5pdGVtc10pLGsobS5uZXh0X2N1cnNvciksZChtLmF2YWlsYWJpbGl0eSl9Y2F0Y2h7cyh7a2luZDoiZXJyb3IiLHRleHQ6YSgiZXJyb3IuZ2VuZXJpYyIpfSl9ZmluYWxseXtwKCExKX19fSx2PW09Pm0uZXZlbnQ9PT0iZHJhZnRfc2F2ZWQiP2EoImFjY291bnRzLmV2ZW50LmRyYWZ0X3NhdmVkIik6bS5ldmVudD09PSJhcHByb3ZlZCI/YSgiYWNjb3VudHMuZXZlbnQuYXBwcm92ZWQiKTphKCJhY2NvdW50cy5ldmVudC51bnJlY29yZGVkIikseT1vLm1hcChtPT57Y29uc3QgaD1bbS5hY3Rvcl9hbGlhc3x8YSgiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCIpLG0uZHJhZnRfcmV2aXNpb249PT1udWxsP251bGw6YSgiYWNjb3VudHMuZHJhZnRfcmV2aXNpb24iLHt2YWx1ZTptLmRyYWZ0X3JldmlzaW9ufSksbS5zb3VyY2U/bnVsbDphKCJhY2NvdW50cy5ldmVudC51bnJlY29yZGVkIiksYSgiZGVjaXNpb25zLnJlZiIse2lkOm0uc2hvcnRfaWR9KV0uZmlsdGVyKEJvb2xlYW4pLFQ9aC5maWx0ZXIoKF8sZyk9Pl8hPT1oW2ctMV0pLmpvaW4oIiDCtyAiKTtyZXR1cm57aWQ6bS5pZCx0aW1lOm0udGltZSx0aXRsZTp2KG0pLGRldGFpbDpUfX0pLGI9cj8uZWZmZWN0X3ZlcmlmaWNhdGlvbjtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjphKCJhY2NvdW50cy50YWIuaGlzdG9yeSIpfSksby5sZW5ndGg9PT0wP24uanN4KFhlLHt0aXRsZTphKCJhY2NvdW50cy5oaXN0b3J5LmVtcHR5Iil9KTpuLmpzeChMdCx7aXRlbXM6eX0pLGkmJm4uanN4KCJkaXYiLHtzdHlsZTp7bWFyZ2luVG9wOjEyfSxjaGlsZHJlbjpuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixkaXNhYmxlZDp1LG9uQ2xpY2s6KCk9PntsKCl9LGNoaWxkcmVuOmEodT8iY29tbW9uLmxvYWRpbmciOiJjb21tb24ubG9hZF9tb3JlIil9KX0pLGImJmIuc3RhdHVzIT09Im9rIiYmbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIscm9sZToic3RhdHVzIiwiZGF0YS1zdGF0ZSI6Yi5zdGF0dXMsY2hpbGRyZW46W24uanN4KCJwIix7Y2hpbGRyZW46YSgiYWNjb3VudHMuZWZmZWN0X3VuY29uZmlybWVkIil9KSxuLmpzeChsZSx7c3RhdHVzOmIuc3RhdHVzLHJlYXNvbjpiLnVuYXZhaWxhYmxlX3JlYXNvbn0pLGIudW5hdmFpbGFibGVfcmVhc29uJiZuLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RhdGUtc2hvcnQiLGNoaWxkcmVuOmEoYHJlYXNvbi4ke2IudW5hdmFpbGFibGVfcmVhc29ufWApfSldfSldfSl9ZnVuY3Rpb24gU24oKXtsZXQgdD0wO3JldHVybntiZWdpbigpe3JldHVybiB0Kz0xLHR9LGlzQ3VycmVudChhKXtyZXR1cm4gYT09PXR9LGludmFsaWRhdGUoKXt0Kz0xfX19YXN5bmMgZnVuY3Rpb24gZHQodCxhLHMpe3RyeXtjb25zdCBlPWF3YWl0IHMoKTtyZXR1cm4gdC5pc0N1cnJlbnQoYSk/dC5hcHBseVJlZnJlc2goYSxlKT97c3RhdHVzOiJyZWFkeSJ9Oih0LmFiYW5kb24oYSkse3N0YXR1czoiZmFpbGVkIixtZXNzYWdlOiLorr7nva7or7vlm57kuI7miYDpgInotKbmiLfkuI3kuIDoh7TvvIzor7fph43mlrDor7vlj5bjgIIifSk6e3N0YXR1czoic3VwZXJzZWRlZCJ9fWNhdGNoKGUpe2lmKCF0LmlzQ3VycmVudChhKSlyZXR1cm57c3RhdHVzOiJzdXBlcnNlZGVkIn07dC5hYmFuZG9uKGEpO2NvbnN0IG89TnVtYmVyKGU/LnN0YXR1c3x8MCk7cmV0dXJue3N0YXR1czoiZmFpbGVkIixtZXNzYWdlOm89PT00MDF8fG89PT00MDM/Iuayoeacieadg+mZkOivu+WPlui/memhueiuvue9ruOAgiI6Iui0puaIt+iuvue9ruaaguaXtuivu+S4jeWIsOOAgiJ9fX1mdW5jdGlvbiBVKHQpe3JldHVybiEhdCYmdHlwZW9mIHQ9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheSh0KX1mdW5jdGlvbiByZSh0KXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSl9ZnVuY3Rpb24gUSh0LGEpe2NvbnN0IHM9ZT0+QXJyYXkuaXNBcnJheShlKT9lLm1hcChzKTpVKGUpP09iamVjdC5mcm9tRW50cmllcyhPYmplY3Qua2V5cyhlKS5zb3J0KCkubWFwKG89PltvLHMoZVtvXSldKSk6ZTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkocyh0KSk9PT1KU09OLnN0cmluZ2lmeShzKGEpKX1mdW5jdGlvbiB1dCh0KXtyZXR1cm4gVSh0KSYmWyJlbXB0eSIsImN1cnJlbnQiLCJpZGVudGl0eV9jb25mbGljdCJdLmluY2x1ZGVzKHQuc3RhdHVzKSYmdC5zb3VyY2U9PT0idXNlcl9kZWNsYXJlZCImJk51bWJlci5pc1NhZmVJbnRlZ2VyKHQucmV2aXNpb24pJiZ0LnJldmlzaW9uPj0wJiZbbnVsbCwibGl2ZSIsInBhcGVyIl0uaW5jbHVkZXModC5lbnZpcm9ubWVudCkmJltudWxsLCJjYXNoIiwibWFyZ2luIl0uaW5jbHVkZXModC5hY2NvdW50X3R5cGUpfWZ1bmN0aW9uIGplKHQsYSl7Y29uc3Qgcz10LmJvZHk7aWYoIVUoYSl8fGEub2shPT0hMHx8YS5wbGF0Zm9ybSE9PXMucGxhdGZvcm18fGEua2V5IT09cy5rZXl8fCFVKGEuaWRlbnRpdHkpfHwhUShhLmlkZW50aXR5LHMuaWRlbnRpdHkpfHxhLmFkb3B0ZWQhPT0hMXx8YS5ub19vcmRlciE9PSEwfHxhLmV4ZWN1dGlvbl9hdXRob3JpdHlfZ3JhbnRlZCE9PSExfHwhVShhLmRyYWZ0KXx8IVsiZW1wdHkiLCJjdXJyZW50IiwiaWRlbnRpdHlfY29uZmxpY3QiXS5pbmNsdWRlcyhhLmRyYWZ0LnN0YXR1cyl8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihhLmRyYWZ0LnJldmlzaW9uKXx8YS5kcmFmdC5yZXZpc2lvbjwwfHwhVShhLmRyYWZ0Lm92ZXJyaWRlcyl8fCFVKGEuZHJhZnQuY3VycmVudF9pZGVudGl0eSl8fCFRKGEuZHJhZnQuY3VycmVudF9pZGVudGl0eSxzLmlkZW50aXR5KXx8IVUoYS5yaXNrKXx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKGEucmlzay5yZXZpc2lvbil8fGEucmlzay5yZXZpc2lvbjwwfHx0eXBlb2YgdC5yaXNrLnNjb3BlX2lkIT0ic3RyaW5nInx8IXQucmlzay5zY29wZV9pZHx8YS5yaXNrLnNjb3BlX2lkIT09dC5yaXNrLnNjb3BlX2lkfHwhW251bGwsIkNBUElUQUxfUFJFU0VSVkFUSU9OIiwiQkFMQU5DRURfQ09NUE9VTkRJTkciLCJHUk9XVEhfQ09NUE9VTkRJTkciXS5pbmNsdWRlcyhhLnJpc2sucHJlZmVyZW5jZSkpcmV0dXJuITE7Y29uc3QgZT1hLmRlY2xhcmF0aW9uLG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsImRlY2xhcmF0aW9uIik7aWYodC5kZWNsYXJhdGlvbi5wcmVzZW50fHxvKXtpZighdXQoZSkpcmV0dXJuITE7aWYobyl7aWYoIVUocy5kZWNsYXJhdGlvbil8fGUuc3RhdHVzIT09ImN1cnJlbnQifHxlLnJldmlzaW9uIT09dC5kZWNsYXJhdGlvbi5yZXZpc2lvbisxfHxlLmVudmlyb25tZW50IT09cy5kZWNsYXJhdGlvbi5lbnZpcm9ubWVudHx8ZS5hY2NvdW50X3R5cGUhPT1zLmRlY2xhcmF0aW9uLmFjY291bnRfdHlwZSlyZXR1cm4hMX1lbHNlIGlmKGUucmV2aXNpb248dC5kZWNsYXJhdGlvbi5yZXZpc2lvbnx8ZS5yZXZpc2lvbj09PXQuZGVjbGFyYXRpb24ucmV2aXNpb24mJiFRKHtzdGF0dXM6ZS5zdGF0dXMscmV2aXNpb246ZS5yZXZpc2lvbixlbnZpcm9ubWVudDplLmVudmlyb25tZW50LGFjY291bnRfdHlwZTplLmFjY291bnRfdHlwZSxzb3VyY2U6ZS5zb3VyY2V9LHtzdGF0dXM6dC5kZWNsYXJhdGlvbi5zdGF0dXMscmV2aXNpb246dC5kZWNsYXJhdGlvbi5yZXZpc2lvbixlbnZpcm9ubWVudDp0LmRlY2xhcmF0aW9uLmVudmlyb25tZW50LGFjY291bnRfdHlwZTp0LmRlY2xhcmF0aW9uLmFjY291bnRfdHlwZSxzb3VyY2U6dC5kZWNsYXJhdGlvbi5zb3VyY2V9KSlyZXR1cm4hMX1pZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIm92ZXJyaWRlcyIpKXtjb25zdCBjPWEuZHJhZnQ7aWYoYy5yZXZpc2lvbjx0LmRyYWZ0LnJldmlzaW9ufHxjLnJldmlzaW9uPT09dC5kcmFmdC5yZXZpc2lvbiYmIVEoe3N0YXR1czpjLnN0YXR1cyxyZXZpc2lvbjpjLnJldmlzaW9uLGlkZW50aXR5OmMuaWRlbnRpdHksY3VycmVudF9pZGVudGl0eTpjLmN1cnJlbnRfaWRlbnRpdHksb3ZlcnJpZGVzOmMub3ZlcnJpZGVzfSx0LmRyYWZ0KSlyZXR1cm4hMX1pZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsInJpc2tfcHJlZmVyZW5jZSIpKXtjb25zdCBjPWEucmlzaztpZihjLnJldmlzaW9uPHQucmlzay5yZXZpc2lvbnx8Yy5yZXZpc2lvbj09PXQucmlzay5yZXZpc2lvbiYmYy5wcmVmZXJlbmNlIT09dC5yaXNrLnByZWZlcmVuY2UpcmV0dXJuITF9aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIm92ZXJyaWRlcyIpKXtjb25zdCBjPWEuZHJhZnQ7aWYoIVUoYyl8fGMuc3RhdHVzIT09ImN1cnJlbnQifHwhVShjLm92ZXJyaWRlcyl8fCFVKGMuaWRlbnRpdHkpfHwhUShjLmlkZW50aXR5LHMuaWRlbnRpdHkpfHwhVShjLmN1cnJlbnRfaWRlbnRpdHkpfHwhUShjLmN1cnJlbnRfaWRlbnRpdHkscy5pZGVudGl0eSkpcmV0dXJuITE7Y29uc3QgaT10LmRyYWZ0LnN0YXR1cz09PSJpZGVudGl0eV9jb25mbGljdCImJnMuYWNrbm93bGVkZ2VfaWRlbnRpdHlfY29uZmxpY3Q9PT0hMCxrPWk/e306ey4uLnQuZHJhZnQub3ZlcnJpZGVzfTtmb3IoY29uc3RbdSxwXW9mIE9iamVjdC5lbnRyaWVzKHMub3ZlcnJpZGVzKSlwPT09bnVsbD9kZWxldGUga1t1XTprW3VdPXA7Y29uc3Qgcj10LmRyYWZ0LnN0YXR1cz09PSJlbXB0eSJ8fGl8fCFRKGssdC5kcmFmdC5vdmVycmlkZXMpLGQ9dC5kcmFmdC5yZXZpc2lvbisocj8xOjApO2lmKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihkKXx8ZDwwfHxjLnJldmlzaW9uIT09ZHx8IVEoYy5vdmVycmlkZXMsaykpcmV0dXJuITF9aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsInJpc2tfcHJlZmVyZW5jZSIpKXtjb25zdCBjPWEucmlzaztpZighVShjKXx8dHlwZW9mIHQucmlzay5zY29wZV9pZCE9InN0cmluZyJ8fCF0LnJpc2suc2NvcGVfaWR8fGMuc2NvcGVfaWQhPT10LnJpc2suc2NvcGVfaWR8fGMucHJlZmVyZW5jZSE9PXMucmlza19wcmVmZXJlbmNlfHwhTnVtYmVyLmlzU2FmZUludGVnZXIoYy5yZXZpc2lvbil8fGMucmV2aXNpb248MClyZXR1cm4hMTtjb25zdCBpPXMucmlza19wcmVmZXJlbmNlIT09dC5yaXNrLnByZWZlcmVuY2Usaz10LnJpc2sucmV2aXNpb24rKGk/MTowKSxyPSFpJiZzLnJpc2tfcHJlZmVyZW5jZSE9PW51bGwmJmMucmV2aXNpb249PT1rKzE7aWYoIU51bWJlci5pc1NhZmVJbnRlZ2VyKGspfHxjLnJldmlzaW9uIT09ayYmIXIpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gZnQoKXtyZXR1cm57c3RyYXRlZ3k6IiIsZmxvb3I6IiIscmF0aW86IiIscGVyY2VudDoiIixpbmNvbWU6IiIsb3B0aW9uOiIiLGRjYU1vZGU6IiIsZGNhQW1vdW50OiIiLGRjYVByb2ZpbGU6IiIsc3RyYXRlZ3lUb3VjaGVkOiExLGluY29tZVRvdWNoZWQ6ITEsb3B0aW9uVG91Y2hlZDohMSxmbG9vclRvdWNoZWQ6ITEscmF0aW9Ub3VjaGVkOiExLGRjYVRvdWNoZWQ6ITEsY2xlYXJTdHJhdGVneTohMSxjbGVhckZsb29yOiExLGNsZWFyUmF0aW86ITEsY2xlYXJEY2E6ITEsY2FzaE1vZGU6IiIsYWNrbm93bGVkZ2U6ITF9fWZ1bmN0aW9uIENlKCl7cmV0dXJue2RyYWZ0OiExLHJpc2s6ITEsZGVjbGFyYXRpb246ITF9fWZ1bmN0aW9uIF9lKHQsYSl7cmV0dXJuIXR8fCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxhKT8iIjp0W2FdPT09ITA/InRydWUiOnRbYV09PT0hMT8iZmFsc2UiOiIifWZ1bmN0aW9uIEdlKHQpe3JldHVybiBfZSh0LCJpbmNvbWVfbGF5ZXJfZW5hYmxlZCIpfWZ1bmN0aW9uIFoodCxhKXtjb25zdCBzPXQ/LmVmZmVjdGl2ZT8uW2FdO3JldHVybiBzPy5zdGF0dXM9PT0ia25vd24iJiZ0eXBlb2Ygcy52YWx1ZT09InN0cmluZyI/cy52YWx1ZToiIn1mdW5jdGlvbiBnZSh0LGEpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0Pz9udWxsKT09PUpTT04uc3RyaW5naWZ5KGE/P251bGwpfWZ1bmN0aW9uIHRlKHQpe2NvbnN0IGE9VSh0KT90Ont9O3JldHVybntlbnZpcm9ubWVudDphLmVudmlyb25tZW50PT09ImxpdmUifHxhLmVudmlyb25tZW50PT09InBhcGVyIj9hLmVudmlyb25tZW50OiIiLGFjY291bnRUeXBlOmEuYWNjb3VudF90eXBlPT09ImNhc2gifHxhLmFjY291bnRfdHlwZT09PSJtYXJnaW4iP2EuYWNjb3VudF90eXBlOiIifX1mdW5jdGlvbiBjZSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsInJpc2tfcHJlZmVyZW5jZSIpPyJyaXNrIjpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiZGVjbGFyYXRpb24iKT8iZGVjbGFyYXRpb24iOiJkcmFmdCJ9ZnVuY3Rpb24gVWUodCl7aWYodC5ib2R5JiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodC5ib2R5LCJkZWNsYXJhdGlvbiIpKXJldHVybiJkZWNsYXJhdGlvbiI7aWYodC5ib2R5JiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodC5ib2R5LCJyaXNrX3ByZWZlcmVuY2UiKSlyZXR1cm4icmlzayI7Y29uc3QgYT10LmJvZHk/Lm92ZXJyaWRlcztpZighYXx8dHlwZW9mIGEhPSJvYmplY3QifHxBcnJheS5pc0FycmF5KGEpKXJldHVybiIiO2NvbnN0IHM9YTtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsInN0cmF0ZWd5X3Byb2ZpbGUiKXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsImRjYV9tb2RlIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCIpPyJzdHJhdGVneSI6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiKT8ib3B0aW9uIjpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywiaW5jb21lX2xheWVyX2VuYWJsZWQiKT8iaW5jb21lIjpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywicmVzZXJ2ZWRfY2FzaF9mbG9vciIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywicmVzZXJ2ZWRfY2FzaF9yYXRpbyIpPyJjYXNoIjoiIn1mdW5jdGlvbiB6ZSgpe3JldHVybnthY2NvdW50Om51bGwsc2V0dGluZ3M6bnVsbCxwcmVmZXJlbmNlOiIiLGRlY2xhcmF0aW9uOntlbnZpcm9ubWVudDoiIixhY2NvdW50VHlwZToiIn0sbm90aWNlOiIiLG5vdGljZUdyb3VwOiIiLHVuYXZhaWxhYmxlOiIiLHNhdmluZzoiIixyZXZpZXc6Q2UoKSxkcmFmdDpmdCgpfX1mdW5jdGlvbiBOZSh0KXtyZXR1cm4vXlxkKyg/OlwuXGQrKT8kLy50ZXN0KHQpJiZOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKHQpKX1mdW5jdGlvbiBUbih0KXtyZXR1cm4gdC5sZW5ndGg8PTMyJiYvXig/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvLnRlc3QodCkmJk51bWJlci5pc0Zpbml0ZShOdW1iZXIodCkpJiZOdW1iZXIodCk+MH1mdW5jdGlvbiBvZSh0KXtyZXR1cm4gdC5zdHJhdGVneVRvdWNoZWQ9PT0hMHx8dC5kY2FUb3VjaGVkPT09ITB8fHQuY2xlYXJEY2E9PT0hMH1mdW5jdGlvbiBIZSh0KXtyZXR1cm4gdC5jYXNoTW9kZT09PSJyYXRpbyJ8fHQuY2FzaE1vZGU9PT0iYm90aCJ8fHQucGVyY2VudCE9PSIiP0Z0KHQucGVyY2VudCk6VnQodC5yYXRpbyl9ZnVuY3Rpb24gV2UodCxhPSJhbGwiKXtjb25zdCBzPXt9LGU9YT09PSJhbGwifHxhPT09InN0cmF0ZWd5IixvPWE9PT0iYWxsInx8YT09PSJpbmNvbWUiLGM9YT09PSJhbGwifHxhPT09ImNhc2giO2lmKGUpe2lmKHQuY2xlYXJEY2Epcy5kY2FfbW9kZT1udWxsLHMuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9bnVsbDtlbHNlIGlmKHQuZGNhVG91Y2hlZCl7aWYodC5kY2FNb2RlIT09ImZpeGVkIiYmdC5kY2FNb2RlIT09InNtYXJ0Inx8IVRuKHQuZGNhQW1vdW50KSlyZXR1cm4gbnVsbDtzLmRjYV9tb2RlPXQuZGNhTW9kZSxzLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPXQuZGNhQW1vdW50fXQuY2xlYXJTdHJhdGVneT9zLnN0cmF0ZWd5X3Byb2ZpbGU9bnVsbDp0LnN0cmF0ZWd5VG91Y2hlZCYmdC5zdHJhdGVneT9zLnN0cmF0ZWd5X3Byb2ZpbGU9dC5zdHJhdGVneToodC5kY2FUb3VjaGVkfHx0LmNsZWFyRGNhKSYmdC5kY2FQcm9maWxlJiYocy5zdHJhdGVneV9wcm9maWxlPXQuZGNhUHJvZmlsZSl9aWYobyYmKHQuaW5jb21lVG91Y2hlZCYmdC5pbmNvbWU9PT0idHJ1ZSI/cy5pbmNvbWVfbGF5ZXJfZW5hYmxlZD0hMDp0LmluY29tZVRvdWNoZWQmJnQuaW5jb21lPT09ImZhbHNlIj9zLmluY29tZV9sYXllcl9lbmFibGVkPSExOnQuaW5jb21lVG91Y2hlZCYmdC5pbmNvbWU9PT0iY2xlYXIiJiYocy5pbmNvbWVfbGF5ZXJfZW5hYmxlZD1udWxsKSksYylpZih0LmNhc2hNb2RlPT09ImluaGVyaXQiKXMucmVzZXJ2ZWRfY2FzaF9mbG9vcj1udWxsLHMucmVzZXJ2ZWRfY2FzaF9yYXRpbz1udWxsO2Vsc2UgaWYodC5jYXNoTW9kZT09PSJmbG9vciIpe2lmKCFOZSh0LmZsb29yKSlyZXR1cm4gbnVsbDtzLnJlc2VydmVkX2Nhc2hfZmxvb3I9dC5mbG9vcixzLnJlc2VydmVkX2Nhc2hfcmF0aW89IjAifWVsc2UgaWYodC5jYXNoTW9kZT09PSJyYXRpbyJ8fHQuY2FzaE1vZGU9PT0iYm90aCIpe2NvbnN0IGk9SGUodCk7aWYoIWl8fHQuY2FzaE1vZGU9PT0iYm90aCImJiFOZSh0LmZsb29yKSlyZXR1cm4gbnVsbDtzLnJlc2VydmVkX2Nhc2hfZmxvb3I9dC5jYXNoTW9kZT09PSJyYXRpbyI/IjAiOnQuZmxvb3Iscy5yZXNlcnZlZF9jYXNoX3JhdGlvPWl9ZWxzZXtpZih0LmNsZWFyRmxvb3Ipcy5yZXNlcnZlZF9jYXNoX2Zsb29yPW51bGw7ZWxzZSBpZih0LmZsb29yVG91Y2hlZCl7aWYoIU5lKHQuZmxvb3IpKXJldHVybiBudWxsO3MucmVzZXJ2ZWRfY2FzaF9mbG9vcj10LmZsb29yfWlmKHQuY2xlYXJSYXRpbylzLnJlc2VydmVkX2Nhc2hfcmF0aW89bnVsbDtlbHNlIGlmKHQucmF0aW9Ub3VjaGVkKXtjb25zdCBpPUhlKHQpO2lmKCFpKXJldHVybiBudWxsO3MucmVzZXJ2ZWRfY2FzaF9yYXRpbz1pfX1yZXR1cm4gc31mdW5jdGlvbiBwdCh0PW5ldyBNYXApe2NvbnN0IGE9U24oKTtsZXQgcz1udWxsLGU9emUoKSxvPW51bGwsYz1udWxsO2NvbnN0IGk9cj0+ISEocyYmciYmcy5wbGF0Zm9ybT09PXIucGxhdGZvcm0mJnMua2V5PT09ci5rZXkpLGs9cj0+ISEociYmYS5pc0N1cnJlbnQoci50b2tlbikmJmkoci5hY2NvdW50KSk7cmV0dXJue3NlbGVjdGVkSWQoKXtyZXR1cm4gcz9gJHtzLnBsYXRmb3JtfToke3Mua2V5fWA6IiJ9LHZpZXcoKXtjb25zdCByPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtpZihyKXtjb25zdCBkPWNlKHIuYm9keSk7ZT17Li4uZSxyZXZpZXc6ey4uLmUucmV2aWV3LFtkXTohMH19fXJldHVybiBlfSxyaXNrRGlydHkoKXtjb25zdCByPWUuc2V0dGluZ3N8fG87cmV0dXJuKGUucHJlZmVyZW5jZXx8IiIpIT09KHR5cGVvZiByPy5yaXNrPy5wcmVmZXJlbmNlPT0ic3RyaW5nIj9yLnJpc2sucHJlZmVyZW5jZToiIil9LGRlY2xhcmF0aW9uRGlydHkoKXtjb25zdCByPWUuc2V0dGluZ3N8fG8sZD10ZShyPy5kZWNsYXJhdGlvbik7cmV0dXJuIGUuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQhPT1kLmVudmlyb25tZW50fHxlLmRlY2xhcmF0aW9uLmFjY291bnRUeXBlIT09ZC5hY2NvdW50VHlwZX0sc2VsZWN0KHIpe2NvbnN0IGQ9IWkocik7cmV0dXJuIHM9e3BsYXRmb3JtOnIucGxhdGZvcm0sa2V5OnIua2V5fSxkJiYoYS5pbnZhbGlkYXRlKCksZT17Li4uemUoKSxhY2NvdW50OnN9LG89bnVsbCxjPW51bGwpLHRoaXMuc3RhcnQoInJlYWQiKX0sc3RhcnQocil7aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJhY2NvdW50X3NldHRpbmdzX2FjY291bnRfcmVxdWlyZWQiKTtyZXR1cm57dG9rZW46YS5iZWdpbigpLGFjY291bnQ6e3BsYXRmb3JtOnMucGxhdGZvcm0sa2V5OnMua2V5fSxraW5kOnJ9fSxpc0N1cnJlbnQocil7cmV0dXJuIGsocil9LGFiYW5kb24ocil7ayhyKSYmYS5pbnZhbGlkYXRlKCl9LGFwcGx5UmVhZChyLGQsdT17fSl7aWYoIWsocil8fGQ/LnBsYXRmb3JtIT09ci5hY2NvdW50LnBsYXRmb3JtfHxkPy5rZXkhPT1yLmFjY291bnQua2V5KXJldHVybiExO2NvbnN0IHA9dC5nZXQodGhpcy5zZWxlY3RlZElkKCkpO2lmKChVKChlLnNldHRpbmdzfHxvKT8uZGVjbGFyYXRpb24pfHxwPy5kZWNsYXJhdGlvbi5wcmVzZW50fHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCwiZGVjbGFyYXRpb24iKSkmJiF1dChkLmRlY2xhcmF0aW9uKSlyZXR1cm4hMTtjb25zdCB2PXAmJmplKHAsZCk7diYmdC5kZWxldGUodGhpcy5zZWxlY3RlZElkKCkpO2NvbnN0IHk9ZC5kcmFmdD8ub3ZlcnJpZGVzfHx7fSxiPXR5cGVvZihlLnNldHRpbmdzfHxvKT8ucmlzaz8ucHJlZmVyZW5jZT09InN0cmluZyI/KGUuc2V0dGluZ3N8fG8pLnJpc2sucHJlZmVyZW5jZToiIixtPXUua2VlcENhc2g9PT0hMCYmZWUoZS5kcmFmdCksaD10ZSgoZS5zZXR0aW5nc3x8byk/LmRlY2xhcmF0aW9uKSxUPXUua2VlcERlY2xhcmF0aW9uPT09ITAmJihlLmRlY2xhcmF0aW9uLmVudmlyb25tZW50IT09aC5lbnZpcm9ubWVudHx8ZS5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZSE9PWguYWNjb3VudFR5cGUpLF89dS5rZWVwUHJlZmVyZW5jZT09PSEwJiYoZS5wcmVmZXJlbmNlfHwiIikhPT1iLGc9dS5rZWVwSW5jb21lPT09ITAmJmUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwLEU9dS5rZWVwU3RyYXRlZ3k9PT0hMCYmb2UoZS5kcmFmdCksST11LmtlZXBPcHRpb249PT0hMCYmZS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITA7aWYobz1kLGU9e2FjY291bnQ6e3BsYXRmb3JtOnIuYWNjb3VudC5wbGF0Zm9ybSxrZXk6ci5hY2NvdW50LmtleX0sc2V0dGluZ3M6ZCxwcmVmZXJlbmNlOl8/ZS5wcmVmZXJlbmNlOmQucmlzaz8ucHJlZmVyZW5jZXx8IiIsZGVjbGFyYXRpb246VD9lLmRlY2xhcmF0aW9uOnRlKGQuZGVjbGFyYXRpb24pLG5vdGljZTp1LnByZXNlcnZlTm90aWNlP2Uubm90aWNlOiIiLG5vdGljZUdyb3VwOnUucHJlc2VydmVOb3RpY2U/ZS5ub3RpY2VHcm91cDoiIix1bmF2YWlsYWJsZToiIixzYXZpbmc6IiIscmV2aWV3OkNlKCksZHJhZnQ6e3N0cmF0ZWd5OkU/ZS5kcmFmdC5zdHJhdGVneTp0eXBlb2YgeS5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj95LnN0cmF0ZWd5X3Byb2ZpbGU6IiIsZmxvb3I6bT9lLmRyYWZ0LmZsb29yOnR5cGVvZiB5LnJlc2VydmVkX2Nhc2hfZmxvb3I9PSJzdHJpbmciP3kucmVzZXJ2ZWRfY2FzaF9mbG9vcjoiIixyYXRpbzptP2UuZHJhZnQucmF0aW86dHlwZW9mIHkucmVzZXJ2ZWRfY2FzaF9yYXRpbz09InN0cmluZyI/eS5yZXNlcnZlZF9jYXNoX3JhdGlvOiIiLHBlcmNlbnQ6bT9lLmRyYWZ0LnBlcmNlbnQ6IiIsaW5jb21lOmc/ZS5kcmFmdC5pbmNvbWU6R2UoeSksb3B0aW9uOkk/ZS5kcmFmdC5vcHRpb246X2UoeSwib3B0aW9uX292ZXJsYXlfZW5hYmxlZCIpLGRjYU1vZGU6RT9lLmRyYWZ0LmRjYU1vZGU6eS5kY2FfbW9kZT09PSJmaXhlZCJ8fHkuZGNhX21vZGU9PT0ic21hcnQiP3kuZGNhX21vZGU6ZC5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9aKGQsImRjYV9tb2RlIik6IiIsZGNhQW1vdW50OkU/ZS5kcmFmdC5kY2FBbW91bnQ6dHlwZW9mIHkuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9PSJzdHJpbmciP3kuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q6ZC5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9aKGQsImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIik6IiIsZGNhUHJvZmlsZTpFP2UuZHJhZnQuZGNhUHJvZmlsZTp0eXBlb2YgeS5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj95LnN0cmF0ZWd5X3Byb2ZpbGU6ZC5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9aKGQsInN0cmF0ZWd5X3Byb2ZpbGUiKToiIixzdHJhdGVneVRvdWNoZWQ6RT9lLmRyYWZ0LnN0cmF0ZWd5VG91Y2hlZDohMSxpbmNvbWVUb3VjaGVkOmcsb3B0aW9uVG91Y2hlZDpJLGZsb29yVG91Y2hlZDptP2UuZHJhZnQuZmxvb3JUb3VjaGVkOiExLHJhdGlvVG91Y2hlZDptP2UuZHJhZnQucmF0aW9Ub3VjaGVkOiExLGRjYVRvdWNoZWQ6RT9lLmRyYWZ0LmRjYVRvdWNoZWQ6ITEsY2xlYXJTdHJhdGVneTpFP2UuZHJhZnQuY2xlYXJTdHJhdGVneTohMSxjbGVhckRjYTpFP2UuZHJhZnQuY2xlYXJEY2E6ITEsY2xlYXJGbG9vcjptP2UuZHJhZnQuY2xlYXJGbG9vcjohMSxjbGVhclJhdGlvOm0/ZS5kcmFmdC5jbGVhclJhdGlvOiExLGNhc2hNb2RlOm0/ZS5kcmFmdC5jYXNoTW9kZToiIixhY2tub3dsZWRnZTohMX19LHApe2NvbnN0IFA9Y2UocC5ib2R5KTtlPXsuLi5lLG5vdGljZTp2P1A9PT0icmlzayI/IuWBj+WlveW3suS/neWtmCI6UD09PSJkZWNsYXJhdGlvbiI/IuWjsOaYjuW3suS/neWtmCI6IuiNieahiOW3suS/neWtmCI6IueKtuaAgeacquefpSIsbm90aWNlR3JvdXA6dj9VZSh7Li4ucixib2R5OnAuYm9keX0pOiIiLHJldmlldzp7Li4uZS5yZXZpZXcsW1BdOiF2fX19cmV0dXJuITB9LGFwcGx5VW5hdmFpbGFibGUocixkKXtyZXR1cm4gayhyKT8oZT17Li4uZSxzZXR0aW5nczpudWxsLHVuYXZhaWxhYmxlOmQsc2F2aW5nOiIifSwhMCk6ITF9LGVkaXQocil7aWYoIWUuc2V0dGluZ3N8fCFpKGUuYWNjb3VudCkpcmV0dXJuITE7Y29uc3R7cHJlZmVyZW5jZTpkLC4uLnV9PXI7cmV0dXJuIGU9ey4uLmUscHJlZmVyZW5jZTpkPT09dm9pZCAwP2UucHJlZmVyZW5jZTpkLGRyYWZ0OnsuLi5lLmRyYWZ0LC4uLnV9fSwhMH0sZWRpdERlY2xhcmF0aW9uKHIpe3JldHVybiFlLnNldHRpbmdzfHwhaShlLmFjY291bnQpPyExOihlPXsuLi5lLGRlY2xhcmF0aW9uOnsuLi5lLmRlY2xhcmF0aW9uLC4uLnJ9fSwhMCl9LHN0YXJ0U2F2ZShyKXtpZihlLnNhdmluZ3x8dC5oYXModGhpcy5zZWxlY3RlZElkKCkpfHwhc3x8IWUuc2V0dGluZ3N8fCFpKGUuYWNjb3VudCl8fGUuc2V0dGluZ3MucGxhdGZvcm0hPT1zLnBsYXRmb3JtfHxlLnNldHRpbmdzLmtleSE9PXMua2V5fHwhZS5zZXR0aW5ncy5pZGVudGl0eXx8dHlwZW9mIGUuc2V0dGluZ3MuaWRlbnRpdHkhPSJvYmplY3QiKXJldHVybiBudWxsO2NvbnN0IGQ9e3BsYXRmb3JtOnMucGxhdGZvcm0sa2V5OnMua2V5fTtsZXQgdTtpZihyPT09ImRlY2xhcmF0aW9uIil7aWYoZS5zZXR0aW5ncy5vcGVyYXRpb25zPy5zYXZlX2RlY2xhcmF0aW9uIT09ITB8fGUucmV2aWV3Py5kZWNsYXJhdGlvbnx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LnJldmlzaW9uKSlyZXR1cm4gbnVsbDtjb25zdCBsPXRlKGUuc2V0dGluZ3MuZGVjbGFyYXRpb24pO2lmKGUuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQ9PT1sLmVudmlyb25tZW50JiZlLmRlY2xhcmF0aW9uLmFjY291bnRUeXBlPT09bC5hY2NvdW50VHlwZSlyZXR1cm4gbnVsbDt1PXtwbGF0Zm9ybTpkLnBsYXRmb3JtLGtleTpkLmtleSxpZGVudGl0eTplLnNldHRpbmdzLmlkZW50aXR5LGV4cGVjdGVkX2RlY2xhcmF0aW9uX3JldmlzaW9uOmUuc2V0dGluZ3MuZGVjbGFyYXRpb24ucmV2aXNpb24sZGVjbGFyYXRpb246e2Vudmlyb25tZW50OmUuZGVjbGFyYXRpb24uZW52aXJvbm1lbnR8fG51bGwsYWNjb3VudF90eXBlOmUuZGVjbGFyYXRpb24uYWNjb3VudFR5cGV8fG51bGx9fX1lbHNlIGlmKHI9PT0icmlzayIpe2lmKGUuc2V0dGluZ3Mub3BlcmF0aW9ucz8uc2F2ZV9yaXNrX3ByZWZlcmVuY2UhPT0hMHx8ZS5yZXZpZXc/LnJpc2t8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihlLnNldHRpbmdzLnJpc2s/LnJldmlzaW9uKSlyZXR1cm4gbnVsbDt1PXtwbGF0Zm9ybTpkLnBsYXRmb3JtLGtleTpkLmtleSxpZGVudGl0eTplLnNldHRpbmdzLmlkZW50aXR5LGV4cGVjdGVkX3Jpc2tfcmV2aXNpb246ZS5zZXR0aW5ncy5yaXNrLnJldmlzaW9uLHJpc2tfcHJlZmVyZW5jZTplLnByZWZlcmVuY2V8fG51bGx9fWVsc2V7aWYoZS5zZXR0aW5ncy5vcGVyYXRpb25zPy5zYXZlX2RyYWZ0IT09ITB8fHI9PT0ib3B0aW9uIiYmKGUuZHJhZnQub3B0aW9uPT09InRydWUifHxlLmRyYWZ0Lm9wdGlvbj09PSJmYWxzZSIpJiZlLnNldHRpbmdzLm9wZXJhdGlvbnM/LnNhdmVfb3B0aW9uX2RyYWZ0IT09ITB8fGUucmV2aWV3Py5kcmFmdHx8ZS5zZXR0aW5ncy5kcmFmdD8uc3RhdHVzPT09ImlkZW50aXR5X2NvbmZsaWN0IiYmIWUuZHJhZnQuYWNrbm93bGVkZ2UpcmV0dXJuIG51bGw7Y29uc3QgbD1yPT09ImluY29tZSJ8fHI9PT0iY2FzaCJ8fHI9PT0ib3B0aW9uInx8cj09PSJzdHJhdGVneSI/cjoiYWxsIix2PVdlKGUuZHJhZnQsbCk7aWYocj09PSJzdHJhdGVneSImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodnx8e30sInN0cmF0ZWd5X3Byb2ZpbGUiKXx8IXZ8fCFPYmplY3Qua2V5cyh2KS5sZW5ndGh8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihlLnNldHRpbmdzLmRyYWZ0Py5yZXZpc2lvbikpcmV0dXJuIG51bGw7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuc2V0dGluZ3MuZHJhZnQ/Lm92ZXJyaWRlc3x8e30sIm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiKSYmKHYub3B0aW9uX292ZXJsYXlfZW5hYmxlZD1udWxsKSx1PXtwbGF0Zm9ybTpkLnBsYXRmb3JtLGtleTpkLmtleSwuLi5xdCh7ZXhwZWN0ZWREcmFmdFJldmlzaW9uOmUuc2V0dGluZ3MuZHJhZnQucmV2aXNpb24saWRlbnRpdHk6ZS5zZXR0aW5ncy5pZGVudGl0eSxvdmVycmlkZXM6dixhY2tub3dsZWRnZUlkZW50aXR5Q29uZmxpY3Q6ZS5zZXR0aW5ncy5kcmFmdD8uc3RhdHVzPT09ImlkZW50aXR5X2NvbmZsaWN0IiYmZS5kcmFmdC5hY2tub3dsZWRnZX0pfX1pZih1LnBsYXRmb3JtIT09ZC5wbGF0Zm9ybXx8dS5rZXkhPT1kLmtleSlyZXR1cm4gbnVsbDtjb25zdCBwPWEuYmVnaW4oKTtyZXR1cm4gYz17dG9rZW46cCxib2R5OnJlKHUpLGRyYWZ0OnJlKHtzdGF0dXM6ZS5zZXR0aW5ncy5kcmFmdC5zdGF0dXMscmV2aXNpb246ZS5zZXR0aW5ncy5kcmFmdC5yZXZpc2lvbixpZGVudGl0eTplLnNldHRpbmdzLmRyYWZ0LmlkZW50aXR5LGN1cnJlbnRfaWRlbnRpdHk6ZS5zZXR0aW5ncy5kcmFmdC5jdXJyZW50X2lkZW50aXR5LG92ZXJyaWRlczplLnNldHRpbmdzLmRyYWZ0Lm92ZXJyaWRlc3x8e319KSxyaXNrOnJlKHtyZXZpc2lvbjplLnNldHRpbmdzLnJpc2sucmV2aXNpb24sc2NvcGVfaWQ6ZS5zZXR0aW5ncy5yaXNrLnNjb3BlX2lkLHByZWZlcmVuY2U6ZS5zZXR0aW5ncy5yaXNrLnByZWZlcmVuY2V8fG51bGx9KSxkZWNsYXJhdGlvbjpyZSh7cHJlc2VudDpVKGUuc2V0dGluZ3MuZGVjbGFyYXRpb24pLHN0YXR1czp0eXBlb2YgZS5zZXR0aW5ncy5kZWNsYXJhdGlvbj8uc3RhdHVzPT0ic3RyaW5nIj9lLnNldHRpbmdzLmRlY2xhcmF0aW9uLnN0YXR1czoiZW1wdHkiLHNvdXJjZTp0eXBlb2YgZS5zZXR0aW5ncy5kZWNsYXJhdGlvbj8uc291cmNlPT0ic3RyaW5nIj9lLnNldHRpbmdzLmRlY2xhcmF0aW9uLnNvdXJjZTpudWxsLHJldmlzaW9uOk51bWJlci5pc1NhZmVJbnRlZ2VyKGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LnJldmlzaW9uKT9lLnNldHRpbmdzLmRlY2xhcmF0aW9uLnJldmlzaW9uOjAsZW52aXJvbm1lbnQ6ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbj8uZW52aXJvbm1lbnQ9PT0ibGl2ZSJ8fGUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LmVudmlyb25tZW50PT09InBhcGVyIj9lLnNldHRpbmdzLmRlY2xhcmF0aW9uLmVudmlyb25tZW50Om51bGwsYWNjb3VudF90eXBlOmUuc2V0dGluZ3MuZGVjbGFyYXRpb24/LmFjY291bnRfdHlwZT09PSJjYXNoInx8ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbj8uYWNjb3VudF90eXBlPT09Im1hcmdpbiI/ZS5zZXR0aW5ncy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGU6bnVsbH0pfSx7dG9rZW46cCxhY2NvdW50OmQsa2luZDoic2F2ZSIsYm9keTpyZSh1KX19LHJlcXVlc3RCb2R5KHIpe3JldHVybiFyPy5ib2R5fHwhayhyKXx8ci5ib2R5LnBsYXRmb3JtIT09ci5hY2NvdW50LnBsYXRmb3JtfHxyLmJvZHkua2V5IT09ci5hY2NvdW50LmtleT9udWxsOnIuYm9keX0sbWFya1NhdmluZyhyLGQpe3JldHVybiBlLnNhdmluZ3x8IWsocik/ITE6KGM/LnRva2VuPT09ci50b2tlbiYmdC5zZXQodGhpcy5zZWxlY3RlZElkKCksYyksZT17Li4uZSxzYXZpbmc6ZCxub3RpY2U6IiJ9LCEwKX0sYXBwbHlTYXZlKHIsZCx1KXtpZighayhyKSlyZXR1cm4hMTtjb25zdCBwPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtpZihwJiZwIT09Y3x8ZS5zYXZpbmcmJiFwKXJldHVybiExO2lmKCFjfHxjLnRva2VuIT09ci50b2tlbnx8IVEoci5ib2R5LGMuYm9keSl8fCFqZShjLGQpKXtjPy50b2tlbj09PXIudG9rZW4mJnQuc2V0KHRoaXMuc2VsZWN0ZWRJZCgpLGMpO2NvbnN0IHNlPWM/LnRva2VuPT09ci50b2tlbj9jZShjLmJvZHkpOiJkcmFmdCI7cmV0dXJuIGU9ey4uLmUsbm90aWNlOiLnirbmgIHmnKrnn6UiLG5vdGljZUdyb3VwOiIiLHJldmlldzp7Li4uZS5yZXZpZXcsW3NlXTohMH19LCExfXQuZGVsZXRlKHRoaXMuc2VsZWN0ZWRJZCgpKTtjb25zdCBsPXIuYm9keT8ub3ZlcnJpZGVzLHY9V2UoZS5kcmFmdCwiY2FzaCIpLHk9ISEobCYmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJyZXNlcnZlZF9jYXNoX2Zsb29yIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJyZXNlcnZlZF9jYXNoX3JhdGlvIikpKSxiPSEhKGwmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJpbmNvbWVfbGF5ZXJfZW5hYmxlZCIpKSxtPSEhKGwmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJvcHRpb25fb3ZlcmxheV9lbmFibGVkIikpLGg9ISEobCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGwsInN0cmF0ZWd5X3Byb2ZpbGUiKSksVD0hIShsJiYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGwsImRjYV9tb2RlIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLCJkY2FfYmFzZV9pbnZlc3RtZW50X3VzZCIpKSksXz0hIShyLmJvZHkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLmJvZHksInJpc2tfcHJlZmVyZW5jZSIpKSxnPSEhKHIuYm9keSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIuYm9keSwiZGVjbGFyYXRpb24iKSksRT1lLmRyYWZ0LmluY29tZT09PSJ0cnVlIj8hMDplLmRyYWZ0LmluY29tZT09PSJmYWxzZSI/ITE6bnVsbCxJPWUuZHJhZnQub3B0aW9uPT09InRydWUiPyEwOmUuZHJhZnQub3B0aW9uPT09ImZhbHNlIj8hMTpudWxsLFA9ZWUoZS5kcmFmdCkmJih2PT09bnVsbHx8WyJyZXNlcnZlZF9jYXNoX2Zsb29yIiwicmVzZXJ2ZWRfY2FzaF9yYXRpbyJdLnNvbWUoc2U9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LHNlKT8hbHx8IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLHNlKXx8bFtzZV0hPT12W3NlXTohMSkpLFM9ZS5kcmFmdC5pbmNvbWVUb3VjaGVkPT09ITAmJiEoYiYmbD8uaW5jb21lX2xheWVyX2VuYWJsZWQ9PT1FKSwkPWUuZHJhZnQub3B0aW9uVG91Y2hlZD09PSEwJiYhKG0mJmw/Lm9wdGlvbl9vdmVybGF5X2VuYWJsZWQ9PT1JKSxDPWgmJihlLmRyYWZ0LmNsZWFyU3RyYXRlZ3kmJmw/LnN0cmF0ZWd5X3Byb2ZpbGU9PT1udWxsfHxlLmRyYWZ0LnN0cmF0ZWd5VG91Y2hlZCYmbD8uc3RyYXRlZ3lfcHJvZmlsZT09PWUuZHJhZnQuc3RyYXRlZ3l8fChlLmRyYWZ0LmRjYVRvdWNoZWR8fGUuZHJhZnQuY2xlYXJEY2EpJiZsPy5zdHJhdGVneV9wcm9maWxlPT09ZS5kcmFmdC5kY2FQcm9maWxlKSxNPWUuZHJhZnQuc3RyYXRlZ3lUb3VjaGVkPT09ITAmJiFDLFY9VCYmKGUuZHJhZnQuY2xlYXJEY2EmJmw/LmRjYV9tb2RlPT09bnVsbCYmbD8uZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9PT1udWxsfHwhZS5kcmFmdC5jbGVhckRjYSYmbD8uZGNhX21vZGU9PT1lLmRyYWZ0LmRjYU1vZGUmJmw/LmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPT09ZS5kcmFmdC5kY2FBbW91bnQpLEw9KGUuZHJhZnQuZGNhVG91Y2hlZD09PSEwfHxlLmRyYWZ0LmNsZWFyRGNhPT09ITApJiYhVixxPU18fEwseD10eXBlb2YoZS5zZXR0aW5nc3x8byk/LnJpc2s/LnByZWZlcmVuY2U9PSJzdHJpbmciPyhlLnNldHRpbmdzfHxvKS5yaXNrLnByZWZlcmVuY2U6IiIsaj1fPyhlLnByZWZlcmVuY2V8fCIiKSE9PShyLmJvZHk/LnJpc2tfcHJlZmVyZW5jZXx8IiIpOihlLnByZWZlcmVuY2V8fCIiKSE9PXgsTz1lLnJldmlld3x8Q2UoKSxEPWUuc2V0dGluZ3N8fG8sRj0hZ2UoRD8uaWRlbnRpdHksZD8uaWRlbnRpdHkpLGY9ZWUoZS5kcmFmdCl8fGUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwfHxlLmRyYWZ0Lm9wdGlvblRvdWNoZWQ9PT0hMHx8b2UoZS5kcmFmdCksTj0heSYmIWImJiFtJiYhaCYmIVQmJmYmJihGfHxEPy5kcmFmdD8ucmV2aXNpb24hPT1kPy5kcmFmdD8ucmV2aXNpb24pLEE9IV8mJmomJihGfHxEPy5yaXNrPy5yZXZpc2lvbiE9PWQ/LnJpc2s/LnJldmlzaW9uKSx3PXIuYm9keT8uZGVjbGFyYXRpb24mJnR5cGVvZiByLmJvZHkuZGVjbGFyYXRpb249PSJvYmplY3QiP3IuYm9keS5kZWNsYXJhdGlvbjp7fSxCPXR5cGVvZiB3LmVudmlyb25tZW50PT0ic3RyaW5nIj93LmVudmlyb25tZW50OiIiLEs9dHlwZW9mIHcuYWNjb3VudF90eXBlPT0ic3RyaW5nIj93LmFjY291bnRfdHlwZToiIixHPXRlKEQ/LmRlY2xhcmF0aW9uKSxIPWc/ZS5kZWNsYXJhdGlvbi5lbnZpcm9ubWVudCE9PUJ8fGUuZGVjbGFyYXRpb24uYWNjb3VudFR5cGUhPT1LOmUuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQhPT1HLmVudmlyb25tZW50fHxlLmRlY2xhcmF0aW9uLmFjY291bnRUeXBlIT09Ry5hY2NvdW50VHlwZSxXPSFnJiZIJiYoRnx8RD8uZGVjbGFyYXRpb24/LnJldmlzaW9uIT09ZD8uZGVjbGFyYXRpb24/LnJldmlzaW9uKTtpZighdGhpcy5hcHBseVJlYWQocixkLHtrZWVwQ2FzaDp5P1A6ZWUoZS5kcmFmdCksa2VlcEluY29tZTpiP1M6ZS5kcmFmdC5pbmNvbWVUb3VjaGVkPT09ITAsa2VlcE9wdGlvbjptPyQ6ZS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITAsa2VlcFN0cmF0ZWd5Omh8fFQ/cTpvZShlLmRyYWZ0KSxrZWVwUHJlZmVyZW5jZTpqLGtlZXBEZWNsYXJhdGlvbjpIfSkpcmV0dXJuITE7Y29uc3QgYWU9eXx8Ynx8bXx8aHx8VCxNZT15JiYoU3x8JHx8cSl8fGImJihQfHwkfHxxKXx8bSYmKFB8fFN8fHEpfHwoaHx8VCkmJihQfHxTfHwkKTtyZXR1cm4gZT17Li4uZSxub3RpY2U6dSxub3RpY2VHcm91cDpVZShyKSxzYXZpbmc6IiIscmV2aWV3OntkcmFmdDphZT8hIShGJiZNZSk6Ty5kcmFmdHx8TixyaXNrOl8/ITE6Ty5yaXNrfHxBLGRlY2xhcmF0aW9uOmc/ITE6Ty5kZWNsYXJhdGlvbnx8V319LCEwfSxmYWlsKHIsZCx1PSExKXtpZighayhyKSlyZXR1cm4hMTtjb25zdCBwPXQuZ2V0KHRoaXMuc2VsZWN0ZWRJZCgpKTtpZihwJiZwIT09Y3x8dSYmIXApcmV0dXJuITE7dT9jPy50b2tlbj09PXIudG9rZW4mJnQuc2V0KHRoaXMuc2VsZWN0ZWRJZCgpLGMpOnQuZGVsZXRlKHRoaXMuc2VsZWN0ZWRJZCgpKTtjb25zdCBsPWM/Y2UoYy5ib2R5KToiZHJhZnQiO3JldHVybiBlPXsuLi5lLG5vdGljZTp1PyLnirbmgIHmnKrnn6UiOmQsbm90aWNlR3JvdXA6IiIsc2F2aW5nOiIiLHJldmlldzp1P3suLi5lLnJldmlldyxbbF06ITB9OmUucmV2aWV3fSwhMH0sYXBwbHlSZWZyZXNoKHIsZCl7aWYoIWsocikpcmV0dXJuITE7Y29uc3QgdT1lLHA9dC5nZXQodGhpcy5zZWxlY3RlZElkKCkpO2lmKHAmJmplKHAsZCkpe2M9ey4uLnAsdG9rZW46ci50b2tlbn0sdC5zZXQodGhpcy5zZWxlY3RlZElkKCksYyk7Y29uc3QgQz1jZShwLmJvZHkpO3JldHVybiB0aGlzLmFwcGx5U2F2ZSh7Li4ucixib2R5OnJlKHAuYm9keSl9LGQsQz09PSJyaXNrIj8i5YGP5aW95bey5L+d5a2YIjpDPT09ImRlY2xhcmF0aW9uIj8i5aOw5piO5bey5L+d5a2YIjoi6I2J5qGI5bey5L+d5a2YIil9Y29uc3QgbD1wPyLnirbmgIHmnKrnn6UiOnUubm90aWNlLHY9dS5zZXR0aW5nc3x8byx5PWVlKHUuZHJhZnQpLGI9dS5kcmFmdC5pbmNvbWVUb3VjaGVkPT09ITAsbT11LmRyYWZ0Lm9wdGlvblRvdWNoZWQ9PT0hMCxoPW9lKHUuZHJhZnQpLFQ9dHlwZW9mIHY/LnJpc2s/LnByZWZlcmVuY2U9PSJzdHJpbmciP3Yucmlzay5wcmVmZXJlbmNlOiIiLF89KHUucHJlZmVyZW5jZXx8IiIpIT09VCxnPXRlKHY/LmRlY2xhcmF0aW9uKSxFPXUuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQhPT1nLmVudmlyb25tZW50fHx1LmRlY2xhcmF0aW9uLmFjY291bnRUeXBlIT09Zy5hY2NvdW50VHlwZSxJPSFnZSh2Py5pZGVudGl0eSxkPy5pZGVudGl0eSksUD1OdW1iZXIodj8uZHJhZnQ/LnJldmlzaW9uKSE9PU51bWJlcihkPy5kcmFmdD8ucmV2aXNpb24pLFM9TnVtYmVyKHY/LnJpc2s/LnJldmlzaW9uKSE9PU51bWJlcihkPy5yaXNrPy5yZXZpc2lvbiksJD1OdW1iZXIodj8uZGVjbGFyYXRpb24/LnJldmlzaW9uKSE9PU51bWJlcihkPy5kZWNsYXJhdGlvbj8ucmV2aXNpb24pO3JldHVybiB0aGlzLmFwcGx5UmVhZChyLGQse3ByZXNlcnZlTm90aWNlOiEwLGtlZXBDYXNoOiEwLGtlZXBQcmVmZXJlbmNlOiEwLGtlZXBJbmNvbWU6ITAsa2VlcE9wdGlvbjohMCxrZWVwU3RyYXRlZ3k6ITAsa2VlcERlY2xhcmF0aW9uOiEwfSk/KGU9ey4uLmUsbm90aWNlOmwsc2F2aW5nOiIiLHJldmlldzp7ZHJhZnQ6ISF1LnJldmlldz8uZHJhZnR8fCh5fHxifHxtfHxoKSYmKEl8fFApLHJpc2s6ISF1LnJldmlldz8ucmlza3x8XyYmKEl8fFMpLGRlY2xhcmF0aW9uOiEhdS5yZXZpZXc/LmRlY2xhcmF0aW9ufHxFJiYoSXx8JCl9fSwhMCk6ITF9LGFja25vd2xlZGdlUmV2aWV3KHIpe2NvbnN0IGQ9dC5nZXQodGhpcy5zZWxlY3RlZElkKCkpO3JldHVybiBkJiZjZShkLmJvZHkpPT09cnx8IWUucmV2aWV3Py5bcl0/ITE6KGU9ey4uLmUscmV2aWV3OnsuLi5lLnJldmlldyxbcl06ITF9fSwhMCl9LHJldmVydERyYWZ0KCl7aWYoIWUuc2V0dGluZ3MpcmV0dXJuITE7Y29uc3Qgcj1lLnNldHRpbmdzLmRyYWZ0Py5vdmVycmlkZXN8fHt9O3JldHVybiBlPXsuLi5lLHJldmlldzp7ZHJhZnQ6ITEscmlzazohIWUucmV2aWV3Py5yaXNrLGRlY2xhcmF0aW9uOiEhZS5yZXZpZXc/LmRlY2xhcmF0aW9ufSxkcmFmdDp7Li4uZnQoKSxzdHJhdGVneTp0eXBlb2Ygci5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj9yLnN0cmF0ZWd5X3Byb2ZpbGU6IiIsZGNhTW9kZTpyLmRjYV9tb2RlPT09ImZpeGVkInx8ci5kY2FfbW9kZT09PSJzbWFydCI/ci5kY2FfbW9kZTplLnNldHRpbmdzLmN1cnJlbnRfZGNhX3N1cHBvcnRlZD09PSEwP1ooZS5zZXR0aW5ncywiZGNhX21vZGUiKToiIixkY2FBbW91bnQ6dHlwZW9mIHIuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9PSJzdHJpbmciP3IuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q6ZS5zZXR0aW5ncy5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9aKGUuc2V0dGluZ3MsImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIik6IiIsZGNhUHJvZmlsZTp0eXBlb2Ygci5zdHJhdGVneV9wcm9maWxlPT0ic3RyaW5nIj9yLnN0cmF0ZWd5X3Byb2ZpbGU6ZS5zZXR0aW5ncy5jdXJyZW50X2RjYV9zdXBwb3J0ZWQ9PT0hMD9aKGUuc2V0dGluZ3MsInN0cmF0ZWd5X3Byb2ZpbGUiKToiIixmbG9vcjp0eXBlb2Ygci5yZXNlcnZlZF9jYXNoX2Zsb29yPT0ic3RyaW5nIj9yLnJlc2VydmVkX2Nhc2hfZmxvb3I6IiIscmF0aW86dHlwZW9mIHIucmVzZXJ2ZWRfY2FzaF9yYXRpbz09InN0cmluZyI/ci5yZXNlcnZlZF9jYXNoX3JhdGlvOiIiLGluY29tZTpHZShyKSxvcHRpb246X2Uociwib3B0aW9uX292ZXJsYXlfZW5hYmxlZCIpfX0sITB9LHJldmVydENhc2goKXtpZighZS5zZXR0aW5ncylyZXR1cm4hMTtjb25zdCByPWUuc2V0dGluZ3MuZHJhZnQ/Lm92ZXJyaWRlc3x8e30sZD1lLmRyYWZ0LmluY29tZVRvdWNoZWQ9PT0hMHx8ZS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITB8fG9lKGUuZHJhZnQpO3JldHVybiBlPXsuLi5lLHJldmlldzp7ZHJhZnQ6ZD8hIWUucmV2aWV3Py5kcmFmdDohMSxyaXNrOiEhZS5yZXZpZXc/LnJpc2ssZGVjbGFyYXRpb246ISFlLnJldmlldz8uZGVjbGFyYXRpb259LGRyYWZ0OnsuLi5lLmRyYWZ0LGZsb29yOnR5cGVvZiByLnJlc2VydmVkX2Nhc2hfZmxvb3I9PSJzdHJpbmciP3IucmVzZXJ2ZWRfY2FzaF9mbG9vcjoiIixyYXRpbzp0eXBlb2Ygci5yZXNlcnZlZF9jYXNoX3JhdGlvPT0ic3RyaW5nIj9yLnJlc2VydmVkX2Nhc2hfcmF0aW86IiIscGVyY2VudDoiIixmbG9vclRvdWNoZWQ6ITEscmF0aW9Ub3VjaGVkOiExLGNsZWFyRmxvb3I6ITEsY2xlYXJSYXRpbzohMSxjYXNoTW9kZToiIn19LCEwfSxyZXZlcnRTdHJhdGVneSgpe2lmKCFlLnNldHRpbmdzKXJldHVybiExO2NvbnN0IHI9ZS5zZXR0aW5ncy5kcmFmdD8ub3ZlcnJpZGVzfHx7fSxkPWVlKGUuZHJhZnQpfHxlLmRyYWZ0LmluY29tZVRvdWNoZWQ9PT0hMHx8ZS5kcmFmdC5vcHRpb25Ub3VjaGVkPT09ITAsdT1lLnNldHRpbmdzLmRyYWZ0Py5vdmVycmlkZXN8fHt9O3JldHVybiBlPXsuLi5lLHJldmlldzp7ZHJhZnQ6ZD8hIWUucmV2aWV3Py5kcmFmdDohMSxyaXNrOiEhZS5yZXZpZXc/LnJpc2ssZGVjbGFyYXRpb246ISFlLnJldmlldz8uZGVjbGFyYXRpb259LGRyYWZ0OnsuLi5lLmRyYWZ0LHN0cmF0ZWd5OnR5cGVvZiByLnN0cmF0ZWd5X3Byb2ZpbGU9PSJzdHJpbmciP3Iuc3RyYXRlZ3lfcHJvZmlsZToiIixkY2FNb2RlOnUuZGNhX21vZGU9PT0iZml4ZWQifHx1LmRjYV9tb2RlPT09InNtYXJ0Ij91LmRjYV9tb2RlOmUuc2V0dGluZ3MuY3VycmVudF9kY2Ffc3VwcG9ydGVkPT09ITA/WihlLnNldHRpbmdzLCJkY2FfbW9kZSIpOiIiLGRjYUFtb3VudDp0eXBlb2YgdS5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZD09InN0cmluZyI/dS5kY2FfYmFzZV9pbnZlc3RtZW50X3VzZDplLnNldHRpbmdzLmN1cnJlbnRfZGNhX3N1cHBvcnRlZD09PSEwP1ooZS5zZXR0aW5ncywiZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiKToiIixkY2FQcm9maWxlOnR5cGVvZiB1LnN0cmF0ZWd5X3Byb2ZpbGU9PSJzdHJpbmciP3Uuc3RyYXRlZ3lfcHJvZmlsZTplLnNldHRpbmdzLmN1cnJlbnRfZGNhX3N1cHBvcnRlZD09PSEwP1ooZS5zZXR0aW5ncywic3RyYXRlZ3lfcHJvZmlsZSIpOiIiLHN0cmF0ZWd5VG91Y2hlZDohMSxkY2FUb3VjaGVkOiExLGNsZWFyU3RyYXRlZ3k6ITEsY2xlYXJEY2E6ITF9fSwhMH0scmV2ZXJ0T3B0aW9uKCl7aWYoIWUuc2V0dGluZ3MpcmV0dXJuITE7Y29uc3Qgcj1lLnNldHRpbmdzLmRyYWZ0Py5vdmVycmlkZXN8fHt9LGQ9ZWUoZS5kcmFmdCl8fGUuZHJhZnQuaW5jb21lVG91Y2hlZD09PSEwfHxvZShlLmRyYWZ0KTtyZXR1cm4gZT17Li4uZSxyZXZpZXc6e2RyYWZ0OmQ/ISFlLnJldmlldz8uZHJhZnQ6ITEscmlzazohIWUucmV2aWV3Py5yaXNrLGRlY2xhcmF0aW9uOiEhZS5yZXZpZXc/LmRlY2xhcmF0aW9ufSxkcmFmdDp7Li4uZS5kcmFmdCxvcHRpb246X2Uociwib3B0aW9uX292ZXJsYXlfZW5hYmxlZCIpLG9wdGlvblRvdWNoZWQ6ITF9fSwhMH0scmV2ZXJ0Umlzaygpe3JldHVybiBlLnNldHRpbmdzPyhlPXsuLi5lLHByZWZlcmVuY2U6dHlwZW9mIGUuc2V0dGluZ3Mucmlzaz8ucHJlZmVyZW5jZT09InN0cmluZyI/ZS5zZXR0aW5ncy5yaXNrLnByZWZlcmVuY2U6IiIscmV2aWV3OntkcmFmdDohIWUucmV2aWV3Py5kcmFmdCxyaXNrOiExLGRlY2xhcmF0aW9uOiEhZS5yZXZpZXc/LmRlY2xhcmF0aW9ufX0sITApOiExfSxyZXZlcnREZWNsYXJhdGlvbigpe3JldHVybiBlLnNldHRpbmdzPyhlPXsuLi5lLGRlY2xhcmF0aW9uOnRlKGUuc2V0dGluZ3MuZGVjbGFyYXRpb24pLHJldmlldzp7Li4uZS5yZXZpZXcsZGVjbGFyYXRpb246ITF9fSwhMCk6ITF9LGZpbmlzaChyKXtyZXR1cm4gayhyKT8oZT17Li4uZSxzYXZpbmc6IiJ9LCEwKTohMX19fWNvbnN0IE9uPW5ldyBNYXA7ZnVuY3Rpb24gQ24oe3BsYXRmb3JtOnQsYWNjb3VudEtleTphfSl7Y29uc3Qgcz16KCksZT1SLnVzZVJlZihwdChPbikpLmN1cnJlbnQsWyxvXT1SLnVzZVN0YXRlKDApLFtjLGldPVIudXNlU3RhdGUoMCksW2sscl09Ui51c2VTdGF0ZSgibG9hZGluZyIpLFtkLHVdPVIudXNlU3RhdGUoIiIpLFtwLGxdPVIudXNlU3RhdGUoIiIpLHY9KCk9Pm8oQz0+QysxKSx5PWUudmlldygpLGI9eS5zZXR0aW5ncztSLnVzZUVmZmVjdCgoKT0+e2NvbnN0IEM9YCR7dH06JHthfWAsTT1lLnNlbGVjdGVkSWQoKT09PUM7aWYoTSYmZS52aWV3KCkuc2F2aW5nKXJldHVybjtjb25zdCBWPU0mJiEhZS52aWV3KCkuc2V0dGluZ3MsTD1NP2Uuc3RhcnQoInJlZnJlc2giKTplLnNlbGVjdCh7cGxhdGZvcm06dCxrZXk6YX0pO3IoVj8icmVmcmVzaGluZyI6ImxvYWRpbmciKSx1KCIiKSxsKCIiKTtsZXQgcT0hMTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtjb25zdCB4PWF3YWl0IGllKHQsYSk7aWYocSlyZXR1cm47aWYoIShNP2UuYXBwbHlSZWZyZXNoKEwseCk6ZS5hcHBseVJlYWQoTCx4KSkpe2lmKGUuaXNDdXJyZW50KEwpKXRocm93IG5ldyBFcnJvcigiYWNjb3VudF9zZXR0aW5nc19yZWFkYmFja19taXNtYXRjaCIpO3JldHVybn1yKCJyZWFkeSIpLHYoKX1jYXRjaCh4KXtpZihxKXJldHVybjtjb25zdCBqPU51bWJlcih4Py5zdGF0dXN8fDApLE89aj09PTQwMXx8aj09PTQwMz8iZGVuaWVkIjp4Py5tZXNzYWdlPT09ImFjY291bnRfc2V0dGluZ3NfcmVhZGJhY2tfbWlzbWF0Y2giPyJtaXNtYXRjaCI6InVuYXZhaWxhYmxlIjtpZihWKXtpZighZS5pc0N1cnJlbnQoTCkpcmV0dXJuO2UuYWJhbmRvbihMKSx1KE8pLHIoInN0YWxlIiksdigpO3JldHVybn1pZighZS5hcHBseVVuYXZhaWxhYmxlKEwsIiIpKXJldHVybjtyKCJmYWlsZWQiKSx2KCl9fSkoKSwoKT0+e3E9ITAsZS5hYmFuZG9uKEwpfX0sW3QsYSxjLGVdKTtjb25zdCBtPWFzeW5jKCk9Pntjb25zdCBDPWUuc3RhcnRTYXZlKCJyaXNrIiksTT1lLnJlcXVlc3RCb2R5KEMpO2lmKCFDfHwhTXx8IWUubWFya1NhdmluZyhDLCJyaXNrIikpcmV0dXJuO2woIiIpLHYoKTtsZXQgVj0hMSxMPSIiLHE9bnVsbDt0cnl7Y29uc3QgZj1hd2FpdCBuZSgiL2FwaS9hY2NvdW50LXNldHRpbmdzIixNKTtpZighZS5pc0N1cnJlbnQoQykpcmV0dXJuO1Y9ZS5hcHBseVNhdmUoQyxmLCIiKSxWJiYocT1mLnJpc2s/LnJldmlzaW9uKSxWfHwoTD0idW5rbm93biIpfWNhdGNoKGYpe2Y/LnN0YXR1cz09PTQwOT8oTD0iY29uZmxpY3QiLGUuZmFpbChDLCIiLCExKSk6KEw9InVua25vd24iLGUuZmFpbChDLCIiLCEwKSl9ZmluYWxseXtlLmZpbmlzaChDKSYmdigpfWlmKCFlLmlzQ3VycmVudChDKSlyZXR1cm47digpO2NvbnN0IHg9ZS5zdGFydCgicmVmcmVzaCIpLGo9YXdhaXQgZHQoZSx4LCgpPT5pZSh0LGEpKTtpZih2KCksai5zdGF0dXM9PT0ic3VwZXJzZWRlZCIpcmV0dXJuO2lmKGouc3RhdHVzPT09ImZhaWxlZCIpe2woVj8idW52ZXJpZmllZCI6TD09PSJjb25mbGljdCI/ImNvbmZsaWN0IjoiIik7cmV0dXJufWlmKEw9PT0iY29uZmxpY3QiKXtsKCJjb25mbGljdCIpO3JldHVybn1pZighVil7ZS52aWV3KCkucmV2aWV3LnJpc2t8fGwoInNhdmVkIik7cmV0dXJufWNvbnN0IE89ZS52aWV3KCkuc2V0dGluZ3MsRD10eXBlb2YgTz8ucmlzaz8ucHJlZmVyZW5jZT09InN0cmluZyI/Tz8ucmlzaz8ucHJlZmVyZW5jZToiIixGPU0ucmlza19wcmVmZXJlbmNlPT09bnVsbHx8TS5yaXNrX3ByZWZlcmVuY2U9PT12b2lkIDA/IiI6U3RyaW5nKE0ucmlza19wcmVmZXJlbmNlKTtsKEQ9PT1GJiZnZShPPy5pZGVudGl0eSxNLmlkZW50aXR5KSYmTz8ucmlzaz8ucmV2aXNpb249PT1xPyJzYXZlZCI6Im1pc21hdGNoIil9LGg9Yj8ub3BlcmF0aW9ucz8uc2F2ZV9yaXNrX3ByZWZlcmVuY2U9PT0hMCxUPXR5cGVvZiBiPy5yaXNrPy5wcmVmZXJlbmNlPT0ic3RyaW5nIj9iPy5yaXNrPy5wcmVmZXJlbmNlOiIiLF89eS5wcmVmZXJlbmNlIT09IiImJiFbIkNBUElUQUxfUFJFU0VSVkFUSU9OIiwiQkFMQU5DRURfQ09NUE9VTkRJTkciLCJHUk9XVEhfQ09NUE9VTkRJTkciXS5pbmNsdWRlcyh5LnByZWZlcmVuY2UpLGc9ZS5yaXNrRGlydHkoKSxFPSEhKGI/LmlkZW50aXR5JiZ0eXBlb2YgYi5pZGVudGl0eT09Im9iamVjdCImJk51bWJlci5pc1NhZmVJbnRlZ2VyKGI/LnJpc2s/LnJldmlzaW9uKSksST1rPT09InJlYWR5IiYmaCYmIXkuc2F2aW5nJiZwIT09InVudmVyaWZpZWQiJiZwIT09Im1pc21hdGNoIixQPUkmJkUmJmcmJiF5LnJldmlldy5yaXNrJiYhXyxTPXA9PT0iY29uZmxpY3QiP3t0b25lOiJlcnJvciIsdGV4dDpzKCJyaXNrLmNvbmZsaWN0Iil9OnA9PT0ibWlzbWF0Y2giP3t0b25lOiJlcnJvciIsdGV4dDpzKCJyaXNrLm1pc21hdGNoIil9OnA9PT0idW52ZXJpZmllZCI/e3RvbmU6ImVycm9yIix0ZXh0OnMoInJpc2sudW52ZXJpZmllZCIpfTpwPT09InNhdmVkIj97dG9uZToic3VjY2VzcyIsdGV4dDpzKCJyaXNrLnNhdmVkIil9OnkucmV2aWV3LnJpc2s/e3RvbmU6ImVycm9yIix0ZXh0OnMoInJpc2sucmV2aWV3Iil9Om51bGwsJD1zKGQ9PT0iZGVuaWVkIj8icmlzay5kZW5pZWQiOmQ9PT0ibWlzbWF0Y2giPyJyaXNrLnJlYWRNaXNtYXRjaCI6InJpc2sucmVhZEZhaWxlZCIpO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltuLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnMoInJpc2sudGl0bGUiKX0pLG4uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnMoInJpc2subm90ZSIpfSksaz09PSJsb2FkaW5nIiYmbi5qc3goWSx7aGVpZ2h0Ojk2fSksaz09PSJmYWlsZWQiJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46WyQsIiAiLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOigpPT5pKEM9PkMrMSksY2hpbGRyZW46cygicmlzay5yZXJlYWQiKX0pXX0pLGs9PT0ic3RhbGUiJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46WyQsIiAiLHMoInJpc2suc3RhbGUiKSwiICIsbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6KCk9PmkoQz0+QysxKSxjaGlsZHJlbjpzKCJyaXNrLnJlcmVhZCIpfSldfSksUyYmbi5qc3hzKCJwIix7Y2xhc3NOYW1lOmBhY2NvdW50cy1pbmxpbmUtbm90ZSAke1MudG9uZX1gLHJvbGU6Uy50b25lPT09InN1Y2Nlc3MiPyJzdGF0dXMiOiJhbGVydCIsY2hpbGRyZW46W1MudGV4dCwiICIsUy50b25lIT09InN1Y2Nlc3MiJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImFjY291bnRzLWFsaWFzLWJ1dHRvbiIsb25DbGljazooKT0+aShDPT5DKzEpLGNoaWxkcmVuOnMoInJpc2sucmVyZWFkIil9KV19KSx5LnNhdmluZyYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOnMoInJpc2suc2F2aW5nIil9KSxrIT09ImxvYWRpbmciJiZiJiZuLmpzeHMobi5GcmFnbWVudCx7Y2hpbGRyZW46W24uanN4KEN0LHtzY29wZTpgJHt0fToke2F9YCx2YWx1ZTp5LnByZWZlcmVuY2Usc2F2ZWRWYWx1ZTpULHNlbGVjdGlvblJldmlzaW9uOnR5cGVvZiBiPy5yaXNrPy5yZXZpc2lvbj09Im51bWJlciI/Yi5yaXNrLnJldmlzaW9uOm51bGwsbWFwcGluZ0F2YWlsYWJsZTohXyxkaXNhYmxlZDohSSxzYXZpbmc6ISF5LnNhdmluZyxkaXJ0eTpnLG9uQ2hhbmdlOkM9PntsKCIiKSxlLmVkaXQoe3ByZWZlcmVuY2U6Q30pLHYoKX0sb25TYXZlOigpPT57UCYmbSgpfX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy10b29sYmFyIixjaGlsZHJlbjpbZyYmbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazooKT0+e2UucmV2ZXJ0UmlzaygpLGwoIiIpLHYoKX0sY2hpbGRyZW46cygicmlzay5kaXNjYXJkIil9KSwhaCYmbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cygicmlzay5nYXRlIil9KV19KSx5LnJldmlldy5yaXNrJiZuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+e2UuYWNrbm93bGVkZ2VSZXZpZXcoInJpc2siKXx8aShDPT5DKzEpLHYoKX0sY2hpbGRyZW46cygicmlzay5hY2siKX0pXX0pXX0pfWNvbnN0IEFuPW5ldyBNYXAsUm49WyJsaXZlIiwicGFwZXIiXSxEbj1bImNhc2giLCJtYXJnaW4iXTtmdW5jdGlvbiB2ZSh0KXtyZXR1cm4gdD09PSJsaXZlInx8dD09PSJwYXBlciJ8fHQ9PT0iY2FzaCJ8fHQ9PT0ibWFyZ2luIj90OiIifWZ1bmN0aW9uIEVuKHtwbGF0Zm9ybTp0LGFjY291bnRLZXk6YSxvblNhdmVkOnN9KXtjb25zdCBlPXooKSxvPVIudXNlSWQoKSxjPVIudXNlSWQoKSxpPVIudXNlUmVmKHB0KEFuKSkuY3VycmVudCxbLGtdPVIudXNlU3RhdGUoMCksW3IsZF09Ui51c2VTdGF0ZSgwKSxbdSxwXT1SLnVzZVN0YXRlKCJsb2FkaW5nIiksW2wsdl09Ui51c2VTdGF0ZSgiIiksW3ksYl09Ui51c2VTdGF0ZSgiIiksbT0oKT0+ayh4PT54KzEpLGg9aS52aWV3KCksVD1oLnNldHRpbmdzO1IudXNlRWZmZWN0KCgpPT57Y29uc3QgeD1gJHt0fToke2F9YCxqPWkuc2VsZWN0ZWRJZCgpPT09eDtpZihqJiZpLnZpZXcoKS5zYXZpbmcpcmV0dXJuO2NvbnN0IE89aiYmISFpLnZpZXcoKS5zZXR0aW5ncyxEPWo/aS5zdGFydCgicmVmcmVzaCIpOmkuc2VsZWN0KHtwbGF0Zm9ybTp0LGtleTphfSk7cChPPyJyZWZyZXNoaW5nIjoibG9hZGluZyIpLHYoIiIpLGIoIiIpO2xldCBGPSExO3JldHVybihhc3luYygpPT57dHJ5e2NvbnN0IGY9YXdhaXQgaWUodCxhKTtpZihGKXJldHVybjtpZighKGo/aS5hcHBseVJlZnJlc2goRCxmKTppLmFwcGx5UmVhZChELGYpKSl7aWYoaS5pc0N1cnJlbnQoRCkpdGhyb3cgbmV3IEVycm9yKCJhY2NvdW50X3NldHRpbmdzX3JlYWRiYWNrX21pc21hdGNoIik7cmV0dXJufXAoInJlYWR5IiksbSgpfWNhdGNoKGYpe2lmKEYpcmV0dXJuO2NvbnN0IE49TnVtYmVyKGY/LnN0YXR1c3x8MCksQT1OPT09NDAxfHxOPT09NDAzPyJkZW5pZWQiOmY/Lm1lc3NhZ2U9PT0iYWNjb3VudF9zZXR0aW5nc19yZWFkYmFja19taXNtYXRjaCI/Im1pc21hdGNoIjoidW5hdmFpbGFibGUiO2lmKE8pe2lmKCFpLmlzQ3VycmVudChEKSlyZXR1cm47aS5hYmFuZG9uKEQpLHYoQSkscCgic3RhbGUiKSxtKCk7cmV0dXJufWlmKCFpLmFwcGx5VW5hdmFpbGFibGUoRCwiIikpcmV0dXJuO3AoImZhaWxlZCIpLG0oKX19KSgpLCgpPT57Rj0hMCxpLmFiYW5kb24oRCl9fSxbdCxhLHIsaV0pO2NvbnN0IF89YXN5bmMoKT0+e2NvbnN0IHg9aS5zdGFydFNhdmUoImRlY2xhcmF0aW9uIiksaj1pLnJlcXVlc3RCb2R5KHgpO2lmKCF4fHwhanx8IWkubWFya1NhdmluZyh4LCJkZWNsYXJhdGlvbiIpKXJldHVybjtiKCIiKSxtKCk7bGV0IE89ITEsRD0iIixGPW51bGw7dHJ5e2NvbnN0IGFlPWF3YWl0IG5lKCIvYXBpL2FjY291bnQtc2V0dGluZ3MiLGopO2lmKCFpLmlzQ3VycmVudCh4KSlyZXR1cm47Tz1pLmFwcGx5U2F2ZSh4LGFlLCIiKSxPJiYoRj1hZS5kZWNsYXJhdGlvbj8ucmV2aXNpb24pLE98fChEPSJ1bmtub3duIil9Y2F0Y2goYWUpe2FlPy5zdGF0dXM9PT00MDk/KEQ9ImNvbmZsaWN0IixpLmZhaWwoeCwiIiwhMSkpOihEPSJ1bmtub3duIixpLmZhaWwoeCwiIiwhMCkpfWZpbmFsbHl7aS5maW5pc2goeCkmJm0oKX1pZighaS5pc0N1cnJlbnQoeCkpcmV0dXJuO20oKTtjb25zdCBmPWkuc3RhcnQoInJlZnJlc2giKSxOPWF3YWl0IGR0KGksZiwoKT0+aWUodCxhKSk7aWYobSgpLE4uc3RhdHVzPT09InN1cGVyc2VkZWQiKXJldHVybjtpZihOLnN0YXR1cz09PSJmYWlsZWQiKXtiKE8/InVudmVyaWZpZWQiOkQ9PT0iY29uZmxpY3QiPyJjb25mbGljdCI6IiIpO3JldHVybn1pZihEPT09ImNvbmZsaWN0Iil7YigiY29uZmxpY3QiKTtyZXR1cm59aWYoIU8pe2kudmlldygpLnJldmlldy5kZWNsYXJhdGlvbnx8KGIoInNhdmVkIikscygpKTtyZXR1cm59Y29uc3QgQT1pLnZpZXcoKS5zZXR0aW5ncyx3PWouZGVjbGFyYXRpb24sQj13LmVudmlyb25tZW50Pz8iIixLPXcuYWNjb3VudF90eXBlPz8iIixHPXZlKEE/LmRlY2xhcmF0aW9uPy5lbnZpcm9ubWVudCksSD12ZShBPy5kZWNsYXJhdGlvbj8uYWNjb3VudF90eXBlKSxXPUc9PT1CJiZIPT09SyYmZ2UoQT8uaWRlbnRpdHksai5pZGVudGl0eSkmJkE/LmRlY2xhcmF0aW9uPy5yZXZpc2lvbj09PUY7YihXPyJzYXZlZCI6Im1pc21hdGNoIiksVyYmcygpfSxnPVQ/Lm9wZXJhdGlvbnM/LnNhdmVfZGVjbGFyYXRpb249PT0hMCxFPXZlKFQ/LmRlY2xhcmF0aW9uPy5lbnZpcm9ubWVudCksST12ZShUPy5kZWNsYXJhdGlvbj8uYWNjb3VudF90eXBlKSxQPWkuZGVjbGFyYXRpb25EaXJ0eSgpLFM9ISEoVD8uaWRlbnRpdHkmJnR5cGVvZiBULmlkZW50aXR5PT0ib2JqZWN0IiYmTnVtYmVyLmlzU2FmZUludGVnZXIoVD8uZGVjbGFyYXRpb24/LnJldmlzaW9uKSksJD11PT09InJlYWR5IiYmVD8uZGVjbGFyYXRpb24/LnN0YXR1cyE9PSJpZGVudGl0eV9jb25mbGljdCImJmcmJiFoLnNhdmluZyYmeSE9PSJ1bnZlcmlmaWVkIiYmeSE9PSJtaXNtYXRjaCIsQz0kJiZTJiZQJiYhaC5yZXZpZXcuZGVjbGFyYXRpb24sTT15PT09ImNvbmZsaWN0Ij97dG9uZToiZXJyb3IiLHRleHQ6ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uY29uZmxpY3QiKX06eT09PSJtaXNtYXRjaCI/e3RvbmU6ImVycm9yIix0ZXh0OmUoImFjY291bnRzLmRlY2xhcmF0aW9uLm1pc21hdGNoIil9Onk9PT0idW52ZXJpZmllZCI/e3RvbmU6ImVycm9yIix0ZXh0OmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnVudmVyaWZpZWQiKX06eT09PSJzYXZlZCI/e3RvbmU6InN1Y2Nlc3MiLHRleHQ6ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uc2F2ZWQiKX06aC5yZXZpZXcuZGVjbGFyYXRpb24/e3RvbmU6ImVycm9yIix0ZXh0OmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnJldmlldyIpfTpudWxsLFY9ZShsPT09ImRlbmllZCI/ImFjY291bnRzLmRlY2xhcmF0aW9uLmRlbmllZCI6bD09PSJtaXNtYXRjaCI/ImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRNaXNtYXRjaCI6ImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRGYWlsZWQiKSxMPXg9PmUoeD09PSJsaXZlIj8iYWNjb3VudHMuZGVjbGFyYXRpb24uZW52LmxpdmUiOng9PT0icGFwZXIiPyJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYucGFwZXIiOiJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCIpLHE9eD0+ZSh4PT09ImNhc2giPyJhY2NvdW50cy5kZWNsYXJhdGlvbi50eXBlLmNhc2giOng9PT0ibWFyZ2luIj8iYWNjb3VudHMuZGVjbGFyYXRpb24udHlwZS5tYXJnaW4iOiJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCIpO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltuLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnRpdGxlIil9KSxuLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5ub3RlIil9KSx1PT09ImxvYWRpbmciJiZuLmpzeChZLHtoZWlnaHQ6OTZ9KSx1PT09ImZhaWxlZCImJm4uanN4cygicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpbViwiICIsbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJhY2NvdW50cy1hbGlhcy1idXR0b24iLG9uQ2xpY2s6KCk9PmQoeD0+eCsxKSxjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXJlYWQiKX0pXX0pLHU9PT0ic3RhbGUiJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46W1YsIiAiLGUoImFjY291bnRzLmRlY2xhcmF0aW9uLnN0YWxlIiksIiAiLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOigpPT5kKHg9PngrMSksY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24ucmVyZWFkIil9KV19KSxNJiZuLmpzeHMoInAiLHtjbGFzc05hbWU6YGFjY291bnRzLWlubGluZS1ub3RlICR7TS50b25lfWAscm9sZTpNLnRvbmU9PT0ic3VjY2VzcyI/InN0YXR1cyI6ImFsZXJ0IixjaGlsZHJlbjpbTS50ZXh0LCIgIixNLnRvbmUhPT0ic3VjY2VzcyImJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYWNjb3VudHMtYWxpYXMtYnV0dG9uIixvbkNsaWNrOigpPT5kKHg9PngrMSksY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24ucmVyZWFkIil9KV19KSxoLnNhdmluZyYmbi5qc3goInAiLHtjbGFzc05hbWU6ImFjY291bnRzLWlubGluZS1ub3RlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmluZyIpfSksdSE9PSJsb2FkaW5nIiYmVCYmbi5qc3hzKG4uRnJhZ21lbnQse2NoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtcm93cyIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1yb3ciLGNoaWxkcmVuOltuLmpzeCgibGFiZWwiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWxhYmVsIixodG1sRm9yOm8sY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQiKX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1ib2R5IixjaGlsZHJlbjpbbi5qc3goImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY29udHJvbCIsY2hpbGRyZW46bi5qc3hzKCJzZWxlY3QiLHtpZDpvLGNsYXNzTmFtZToiaW5wdXQiLHZhbHVlOmguZGVjbGFyYXRpb24uZW52aXJvbm1lbnQsZGlzYWJsZWQ6ISQsb25DaGFuZ2U6eD0+e2IoIiIpLGkuZWRpdERlY2xhcmF0aW9uKHtlbnZpcm9ubWVudDp4LnRhcmdldC52YWx1ZX0pLG0oKX0sY2hpbGRyZW46W24uanN4KCJvcHRpb24iLHt2YWx1ZToiIixjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCIpfSksUm4ubWFwKHg9Pm4uanN4KCJvcHRpb24iLHt2YWx1ZTp4LGNoaWxkcmVuOkwoeCl9LHgpKV19KX0pLG4uanN4cygic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtY3VycmVudCIsY2hpbGRyZW46W2UoImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkVmFsdWUiKSwiIMK3ICIsRT09PSIiP2UoImFjY291bnRzLmRlY2xhcmF0aW9uLnVuc2V0Iik6TChFKV19KV19KV19KSx0IT09ImJpbmFuY2UiJiZuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtZmllbGQtcm93IixjaGlsZHJlbjpbbi5qc3goImxhYmVsIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1sYWJlbCIsaHRtbEZvcjpjLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLmFjY291bnRfdHlwZSIpfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWZpZWxkLWJvZHkiLGNoaWxkcmVuOltuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1jb250cm9sIixjaGlsZHJlbjpuLmpzeHMoInNlbGVjdCIse2lkOmMsY2xhc3NOYW1lOiJpbnB1dCIsdmFsdWU6aC5kZWNsYXJhdGlvbi5hY2NvdW50VHlwZSxkaXNhYmxlZDohJCxvbkNoYW5nZTp4PT57YigiIiksaS5lZGl0RGVjbGFyYXRpb24oe2FjY291bnRUeXBlOngudGFyZ2V0LnZhbHVlfSksbSgpfSxjaGlsZHJlbjpbbi5qc3goIm9wdGlvbiIse3ZhbHVlOiIiLGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnVuc2V0Iil9KSxEbi5tYXAoeD0+bi5qc3goIm9wdGlvbiIse3ZhbHVlOngsY2hpbGRyZW46cSh4KX0seCkpXX0pfSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJhY2NvdW50cy1maWVsZC1jdXJyZW50IixjaGlsZHJlbjpbZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uc2F2ZWRWYWx1ZSIpLCIgwrcgIixJPT09IiI/ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiKTpxKEkpXX0pXX0pXX0pXX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy10b29sYmFyIixjaGlsZHJlbjpbbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLGRpc2FibGVkOiFDLG9uQ2xpY2s6KCk9PntfKCl9LGNoaWxkcmVuOmUoImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmUiKX0pLFAmJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PntpLnJldmVydERlY2xhcmF0aW9uKCksYigiIiksbSgpfSxjaGlsZHJlbjplKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5kaXNjYXJkIil9KSwhZyYmbi5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uZ2F0ZSIpfSldfSksaC5yZXZpZXcuZGVjbGFyYXRpb24mJm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT57aS5hY2tub3dsZWRnZVJldmlldygiZGVjbGFyYXRpb24iKXx8ZCh4PT54KzEpLG0oKX0sY2hpbGRyZW46ZSgiYWNjb3VudHMuZGVjbGFyYXRpb24uYWNrIil9KV19KV19KX1jb25zdCBtdD1bIm92ZXJ2aWV3Iiwic3RyYXRlZ3kiLCJjb250cm9scyIsImhpc3RvcnkiXTtmdW5jdGlvbiBJbih0KXtyZXR1cm4gbXQuaW5jbHVkZXModHx8IiIpP3Q6Im92ZXJ2aWV3In1mdW5jdGlvbiBCbih7cGxhdGZvcm06dCxhY2NvdW50S2V5OmF9KXtjb25zdCBzPWAke3R9OiR7YX1gLGU9WCgoKT0+eHQocywhMSksW3NdKSxvPWUucGhhc2U9PT0ibG9hZGluZyI/ImxvYWRpbmciOmUucGhhc2U9PT0iZXJyb3IiPyJlcnJvciI6ZS5kYXRhLnN0YXR1cz09PSJub3RfcmVhZHkiPyJub3RfcmVhZHkiOiJyZWFkeSIsYz1lLnBoYXNlPT09InJlYWR5IiYmZS5kYXRhLnN0YXR1cz09PSJyZWFkeSI/ZS5kYXRhLmRhdGE6bnVsbDtyZXR1cm4gbi5qc3goQXQse2JpbmRpbmc6YyxzdGF0dXM6byxvblJldHJ5OmUucmVsb2FkfSl9ZnVuY3Rpb24gUG4oe2FjY291bnQ6dCx0YWI6YSxjb25maWc6cyx0b2RheVJ1bjplLHRvZGF5RmFpbGVkOm8sZmFjdHM6YyxvbkJhY2s6aSxvbkRlY2xhcmF0aW9uU2F2ZWQ6a30pe2NvbnN0IHI9eigpLGQ9eGUocyksdT1ldCgpLHtjb25maXJtUmVxdWVzdDpwLGNvbmZpcm06bCxyZXNvbHZlQ29uZmlybTp2fT1SdCgpLFt5LGJdPVIudXNlU3RhdGUoITEpLFttLGhdPVIudXNlU3RhdGUoe30pLFQ9eSYmT2JqZWN0LmtleXMobSkubGVuZ3RoPjAsXz1YKCgpPT5RZSh0LmFjY291bnRfYWxpYXMsdC5wbGF0Zm9ybSksW3QuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtXSksZz1SLnVzZVJlZihsKTtnLmN1cnJlbnQ9bDtjb25zdCBFPVIudXNlUmVmKHIpO0UuY3VycmVudD1yLFIudXNlRWZmZWN0KCgpPT57aWYoVClyZXR1cm4gTGUoKCk9PmcuY3VycmVudCh7dGl0bGU6RS5jdXJyZW50KCJjb21tb24udW5zYXZlZF9ndWFyZF90aXRsZSIpLHN1bW1hcnk6RS5jdXJyZW50KCJjb21tb24udW5zYXZlZF9ndWFyZF9ib2R5IiksdG9uZToibm9ybWFsIn0pKSwoKT0+TGUobnVsbCl9LFtUXSk7Y29uc3QgST1JbihhKSxQPWJ0KHMsdC5wbGF0Zm9ybSx0LmFjY291bnRfYWxpYXMpPy5hY2NvdW50X3NlbGVjdG9yPy50cmltKCksUz1CZShjLnJvd3MsdC5wbGF0Zm9ybSx0LmFjY291bnRfYWxpYXMpLCQ9cz8uY3VycmVudFN0cmF0ZWdpZXM/Llt0LnBsYXRmb3JtXT8uW3QuYWNjb3VudF9hbGlhc10/LmV4ZWN1dGlvbl9ldmlkZW5jZT8uYnJva2VyX2Vudmlyb25tZW50LEM9UGUoUyksTT0kPT09InBhcGVyInx8JD09PSJsaXZlIj8kOm51bGwsVj1TPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0ibGl2ZSJ8fFM/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciJ8fFM/LmFjY291bnRfc2NvcGU9PT0ibGl2ZSJ8fFM/LmFjY291bnRfc2NvcGU9PT0icGFwZXIifHxTPy5iaW5kaW5nX2Vudmlyb25tZW50PT09ImxpdmUifHxTPy5iaW5kaW5nX2Vudmlyb25tZW50PT09InBhcGVyIixMPUMmJk0mJkMhPT1NP251bGw6Qz8/KFY/bnVsbDpNKSxxPXllKFMpLHg9TD8/KFZ8fE0/bnVsbDpxPy5lbnZpcm9ubWVudD8/bnVsbCksaj1LdCh0LnBsYXRmb3JtLFM/LmRhdGFfc3RhdHVzLFM/LmJyb2tlcl9hY2NvdW50X3R5cGUpPy50b0xvd2VyQ2FzZSgpLE89aj09PSJjYXNoInx8aj09PSJtYXJnaW4iP2o6bnVsbCxEPU8/P3E/LmFjY291bnRUeXBlPz9udWxsLEY9ISEoTCYmcT8uZW52aXJvbm1lbnQmJkwhPT1xLmVudmlyb25tZW50fHxPJiZxPy5hY2NvdW50VHlwZSYmTyE9PXEuYWNjb3VudFR5cGUpLGY9bz9uLmpzeChsZSx7c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9KTplP24uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbi5qc3gobGUse3N0YXR1czplLnN0YXR1cyxyZWFzb246ZS51bmF2YWlsYWJsZV9yZWFzb259KSxuLmpzeChBZSx7dmFsdWU6ZS5hc19vZn0pXX0pOm4uanN4KGxlLHtzdGF0dXM6Im5vX2RhdGEifSk7cmV0dXJuIG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1kZXRhaWwgc2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W24uanN4KCJkaXYiLHtjaGlsZHJlbjpuLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20gYWNjb3VudHMtbW9iaWxlLWJhY2siLG9uQ2xpY2s6aSxjaGlsZHJlbjpbIuKGkCAiLHIoImFjY291bnRzLmJhY2tfdG9fbGlzdCIpXX0pfSksbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWRldGFpbC1oZWFkIixjaGlsZHJlbjpbbi5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpkLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pfSksbi5qc3goY3Qse2Vudmlyb25tZW50Onh9KV19KSxGJiZuLmpzeCgicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpyKCJhY2NvdW50cy5kZWNsYXJhdGlvbi5jb25mbGljdF9ub3RpY2UiKX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1zdW1tYXJ5LXJvd3MiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtc3VtbWFyeS1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoImNvbW1vbi5wbGF0Zm9ybSIpfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpHdChzLHQucGxhdGZvcm0pfSldfSksUCYmbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLXN1bW1hcnktcm93IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjaGlsZHJlbjpyKCJhY2NvdW50cy5pZGVudGl0eSIpfSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46UH0pXX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhY2NvdW50cy1zdW1tYXJ5LXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46cigiYWNjb3VudHMucnVuX3N0YXRlIil9KSxuLmpzeCgic3BhbiIse3N0eWxlOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsZ2FwOjgsYWxpZ25JdGVtczoiY2VudGVyIixmbGV4V3JhcDoid3JhcCJ9LGNoaWxkcmVuOmZ9KV19KSx0LnBsYXRmb3JtIT09ImJpbmFuY2UiJiZEJiZuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWNjb3VudHMtc3VtbWFyeS1yb3ciLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoImFjY291bnRzLmRlY2xhcmF0aW9uLmFjY291bnRfdHlwZSIpfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpyKGBhY2NvdW50cy5kZWNsYXJhdGlvbi50eXBlLiR7RH1gKX0pXX0pXX0pLHQucGxhdGZvcm09PT0iYmluYW5jZSI/bi5qc3goaXQse3BsYXRmb3JtOnQucGxhdGZvcm0sYWNjb3VudEtleTp0LmFjY291bnRfYWxpYXMsdmlldzpjLmJpbmFuY2V9KTpuLmpzeChvdCx7ZmFjdDpTLHBoYXNlOmMucGhhc2V9KV19KSxuLmpzeChFdCx7aWQ6ImFjY291bnQtZGV0YWlsIixpdGVtczptdC5tYXAoTj0+KHtpZDpOLGxhYmVsOnIoYGFjY291bnRzLnRhYi4ke059YCl9KSksYWN0aXZlOkksb25DaGFuZ2U6Tj0+dSh7dGFiOk59KSxhcmlhTGFiZWw6cigiYWNjb3VudHMudGl0bGUiKX0pLG4uanN4cygiZGl2Iix7aWQ6ImFjY291bnQtZGV0YWlsLXBhbmVsIixjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLHJvbGU6InRhYnBhbmVsIiwiYXJpYS1sYWJlbGxlZGJ5IjpgYWNjb3VudC1kZXRhaWwtdGFiLSR7SX1gLHRhYkluZGV4OjAsY2hpbGRyZW46W0k9PT0ib3ZlcnZpZXciJiZuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltuLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnIoImFjY291bnRzLnRhYi5vdmVydmlldyIpfSksXy5waGFzZT09PSJsb2FkaW5nIiYmbi5qc3goImRpdiIse2NsYXNzTmFtZToic2tlbGV0b24iLHN0eWxlOntoZWlnaHQ6MjAwfSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLF8ucGhhc2U9PT0iZXJyb3IiJiZuLmpzeChmZSx7b25SZXRyeTpfLnJlbG9hZH0pLF8ucGhhc2U9PT0icmVhZHkiJiZuLmpzeHMobi5GcmFnbWVudCx7Y2hpbGRyZW46W18uZGF0YS5pZGVudGl0eV9zdGF0dXM9PT0iaWRlbnRpdHlfY29uZmxpY3QiJiZuLmpzeCgicCIse2NsYXNzTmFtZToiYWNjb3VudHMtaW5saW5lLW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpyKCJhY2NvdW50cy5pZGVudGl0eV9jb25mbGljdCIpfSksbi5qc3gobHQse3Jvd3M6Xy5kYXRhLnJvd3MsdDpyfSksbi5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLHN0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6OCxhbGlnbkl0ZW1zOiJjZW50ZXIiLGZsZXhXcmFwOiJ3cmFwIn0sY2hpbGRyZW46W24uanN4KGJlLHt0b25lOiJ1bmtub3duIixjaGlsZHJlbjpyKCJhY2NvdW50cy5kcmFmdF9yZXZpc2lvbiIse3ZhbHVlOl8uZGF0YS5kcmFmdF9yZXZpc2lvbn0pfSksXy5kYXRhLnN0YXR1cyE9PSJvayImJm4uanN4KGxlLHtzdGF0dXM6Xy5kYXRhLnN0YXR1c30pXX0pXX0pXX0pLEk9PT0ib3ZlcnZpZXciJiZuLmpzeChDbix7cGxhdGZvcm06dC5wbGF0Zm9ybSxhY2NvdW50S2V5OnQuYWNjb3VudF9hbGlhc30pLEk9PT0ib3ZlcnZpZXciJiZuLmpzeChCbix7cGxhdGZvcm06dC5wbGF0Zm9ybSxhY2NvdW50S2V5OnQuYWNjb3VudF9hbGlhc30pLEk9PT0ib3ZlcnZpZXciJiZuLmpzeChFbix7cGxhdGZvcm06dC5wbGF0Zm9ybSxhY2NvdW50S2V5OnQuYWNjb3VudF9hbGlhcyxvblNhdmVkOmt9KSxJPT09InN0cmF0ZWd5IiYmbi5qc3goaG4se2FjY291bnQ6dCxkaWZmU3RhdGU6Xyxjb25maWc6cyxlZGl0aW5nOnksc2V0RWRpdGluZzpiLGVkaXRzOm0sc2V0RWRpdHM6aCxjb25maXJtOmx9KSxJPT09ImNvbnRyb2xzIiYmbi5qc3goTm4se2FjY291bnQ6dCxjb25maWc6cyxjb25maXJtOmx9KSxJPT09Imhpc3RvcnkiJiZuLmpzeCh3bix7YWNjb3VudDp0fSldfSkscCYmbi5qc3goRHQse3JlcXVlc3Q6cCxvblJlc29sdmU6dn0pXX0pfWZ1bmN0aW9uIFVuKHthY2NvdW50OnQsdGFiOmF9KXtjb25zdCBzPXooKSxlPWV0KCksW28sY109Ui51c2VTdGF0ZSgwKSxpPVgoKCk9Pmp0KCksW29dKSxrPVgoKCk9Pk50KCIvYXBpL2NvbmZpZyIpLmNhdGNoKCgpPT5udWxsKSxbb10pLHI9WCgoKT0+d3QoKSxbb10pLGQ9WCgoKT0+U3QoKSxbb10pLHU9WCgoKT0+VHQoKSxbb10pLHA9ay5waGFzZT09PSJyZWFkeSI/ay5kYXRhOm51bGwsbD1pLnBoYXNlPT09InJlYWR5Ij9pLmRhdGEuYWNjb3VudHM6W10sdj10P2t0KGwsdCk6dm9pZCAwLHk9dS5waGFzZT09PSJyZWFkeSI/e3BoYXNlOiJyZWFkeSIsc3RhdHVzOnUuZGF0YS5yZXBvcnRfc3RhdHVzLHJlcG9ydDp1LmRhdGEucmVwb3J0fTp7cGhhc2U6dS5waGFzZSxzdGF0dXM6bnVsbCxyZXBvcnQ6bnVsbH0sYj1kLnBoYXNlPT09InJlYWR5Ij97cm93czpkLmRhdGEuYWNjb3VudHMscGhhc2U6InJlYWR5IixiaW5hbmNlOnl9Ontyb3dzOltdLHBoYXNlOmQucGhhc2UsYmluYW5jZTp5fSxtPXIucGhhc2U9PT0iZXJyb3IifHxyLnBoYXNlPT09InJlYWR5IiYmci5kYXRhLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIsaD12JiZyLnBoYXNlPT09InJlYWR5IiYmIW0/ci5kYXRhLmFjY291bnRzLmZpbmQoZz0+Zy5hY2NvdW50X2FsaWFzPT09di5hY2NvdW50X2FsaWFzJiZnLnBsYXRmb3JtPT09di5wbGF0Zm9ybSk6dm9pZCAwLFQ9Zz0+ZSh7YWNjb3VudDpnfSk7bGV0IF87cmV0dXJuIGkucGhhc2U9PT0ibG9hZGluZyI/Xz1uLmpzeChZLHtoZWlnaHQ6MjQwfSk6aS5waGFzZT09PSJlcnJvciI/Xz1uLmpzeChmZSx7b25SZXRyeTppLnJlbG9hZH0pOmwubGVuZ3RoPT09MD9fPW4uanN4KFhlLHt0aXRsZTpzKCJvdmVydmlldy5ub19hY2NvdW50cyIpfSk6Xz1uLmpzeChfbix7YWNjb3VudHM6bCxjb25maWc6cCxmYWN0czpiLG9uU2VsZWN0OlR9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGFnZSIsY2hpbGRyZW46W24uanN4cygiaGVhZGVyIix7Y2xhc3NOYW1lOiJwYWdlLWhlYWRlciIsY2hpbGRyZW46W24uanN4KCJoMSIse2NsYXNzTmFtZToicGFnZS10aXRsZSIsY2hpbGRyZW46cygiYWNjb3VudHMudGl0bGUiKX0pLGkucGhhc2U9PT0icmVhZHkiJiZpLmRhdGEuc3RhdHVzPT09InBhcnRpYWwiJiZuLmpzeChiZSx7dG9uZToid2FybiIsY2hpbGRyZW46cygic3RhdGUucGFydGlhbF92YWx1YXRpb24iKX0pLG4uanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PmMoZz0+ZysxKSxjaGlsZHJlbjpzKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSwhdiYmaS5waGFzZT09PSJyZWFkeSImJmkuZGF0YS51bmFzc2lnbmVkX2RlY2lzaW9uX2NvdW50PjAmJm4uanN4cygicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIGFjY291bnRzLXVuYXNzaWduZWQiLGNoaWxkcmVuOltzKCJhY2NvdW50cy51bmFzc2lnbmVkX25vdGUiLHtjb3VudDppLmRhdGEudW5hc3NpZ25lZF9kZWNpc2lvbl9jb3VudH0pLG4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5lKHtwYWdlOiJkZWNpc2lvbnMiLGRlY2lzaW9uOm51bGx9KSxjaGlsZHJlbjpzKCJhY2NvdW50cy5nb190b2RvcyIpfSldfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6YGFjY291bnRzLXNwbGl0JHt2PyIgZGV0YWlsLW9wZW4iOiIifWAsY2hpbGRyZW46W24uanN4KCJkaXYiLHtjbGFzc05hbWU6ImFjY291bnRzLWxpc3QiLGNoaWxkcmVuOl99KSx2JiZuLmpzeChQbix7YWNjb3VudDp2LHRhYjphLGNvbmZpZzpwLHRvZGF5UnVuOmgsdG9kYXlGYWlsZWQ6bSxmYWN0czpiLG9uRGVjbGFyYXRpb25TYXZlZDpkLnJlbG9hZCxvbkJhY2s6KCk9PmUoe2FjY291bnQ6bnVsbH0pfSxgJHt2LnBsYXRmb3JtfS8ke3YuYWNjb3VudF9hbGlhc31gKV19KV19KX1leHBvcnR7VW4gYXMgZGVmYXVsdH07Cg==" }, + "/v2/assets/CredentialRotationPanel-6QVrxPgI.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgVix0IGFzIFksciBhcyBmLGogYXMgZSxCIGFzIEMsbyBhcyBELEUgYXMgSyx2IGFzIEgsYXAgYXMgRyxhcSBhcyBXLGFyIGFzIEosQSBhcyBRLGFzIGFzIFgsYXQgYXMgWixhdSBhcyBlZX1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHtjIGFzIHRlfWZyb20iLi9ob29rcy1CaTVvMlZURC5qcyI7Y29uc3QgbmU9e2V4cGlyZWQ6ImVycm9yIiw3OiJ3YXJuIiwxNDoid2FybiIsMzA6Indhcm4iLG5vdF9kdWU6Im9rIix1bmtub3duOiJ1bmtub3duIn0sYWU9WyJmaW5hbGl6ZWQiLCJjYW5jZWxlZCIsImZhaWxlZCJdLG9lPVsiYWRkX3Vua25vd24iLCJmaW5hbGl6ZV91bmtub3duIiwiY2FuY2VsX3Vua25vd24iXSxBPXthZGRpbmdfdmVyc2lvbjoidW5rbm93biIsc3RhZ2VkOiJ3YXJuIixmaW5hbGl6aW5nOiJ1bmtub3duIixmaW5hbGl6ZWQ6Im9rIixjYW5jZWxpbmc6InVua25vd24iLGNhbmNlbGVkOiJ1bmtub3duIixhZGRfdW5rbm93bjoiZXJyb3IiLGZpbmFsaXplX3Vua25vd246ImVycm9yIixjYW5jZWxfdW5rbm93bjoiZXJyb3IiLGZhaWxlZDoiZXJyb3IifSxyZT1bIm9yaWdpbl9yZXF1aXJlZCIsImNyb3NzX29yaWdpbl9yZWplY3RlZCIsInJvdGF0aW9uX293bmVyX3JlcXVpcmVkIiwic3RlcF91cF9pbnZhbGlkIiwic3RlcF91cF9yYXRlX2xpbWl0ZWQiLCJjcmVkZW50aWFsX3JvdGF0aW9uX3VuYXZhaWxhYmxlIiwiY3JlZGVudGlhbF9yb3RhdGlvbl9vcGVyYXRpb25fbm90X2ZvdW5kIiwiY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0X2NvbmZsaWN0IiwiY3JlZGVudGlhbF9yb3RhdGlvbl9zdGF0ZV9jb25mbGljdCIsImNyZWRlbnRpYWxfbWFpbnRlbmFuY2VfcmV2aXNpb25fY29uZmxpY3QiXSxpZT1bImludmFsaWRfY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0IiwiaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSIsInJlcXVlc3RfaWRfaW52YWxpZCIsIm9wZXJhdGlvbl9pZF9pbnZhbGlkIiwiY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCIsInN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiLCJzdGVwX3VwX2NvZGVfcmVxdWlyZWQiLCJkb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCJdLHNlPXttZXRob2Q6InRvdHAiLGNvZGU6IiJ9O2Z1bmN0aW9uIGxlKCl7cmV0dXJue25ld192YWx1ZToiIixleHBpcmVzX2F0OiIiLG1ldGhvZDoidG90cCIsY29kZToiIn19ZnVuY3Rpb24gQih0KXtyZXR1cm4gdC5uZXdfdmFsdWUubGVuZ3RoPT09MHx8IVcodC5leHBpcmVzX2F0KXx8dC5jb2RlLmxlbmd0aD09PTB9ZnVuY3Rpb24gcSh0KXtyZXR1cm4gdC5jb2RlLmxlbmd0aD09PTB9ZnVuY3Rpb24gY2UoKXtjb25zdCB0PW5ldyBNYXAsYT1uZXcgU2V0O3JldHVybnthY3F1aXJlOm89Pntjb25zdCBpPXQuZ2V0KG8pO2lmKGkpcmV0dXJuIGk7Y29uc3Qgbj1HKCk7cmV0dXJuIHQuc2V0KG8sbiksbn0sYmxvY2s6bz0+e2EuYWRkKG8pfSxpc0Jsb2NrZWQ6bz0+YS5oYXMobykscmVsZWFzZTpvPT57dC5kZWxldGUobyksYS5kZWxldGUobyl9LHJlbGVhc2VBbGw6KCk9Pnt0LmNsZWFyKCksYS5jbGVhcigpfSxwZWVrOm89PnQuZ2V0KG8pPz9udWxsfX1hc3luYyBmdW5jdGlvbiBFKHQsYSxvLGksbil7aWYoYS5pc0Jsb2NrZWQodCkpcmV0dXJue2tpbmQ6InVuY29uZmlybWVkIn07Y29uc3QgcD1hLmFjcXVpcmUodCk7aSgpO3RyeXtjb25zdCBzPWF3YWl0IG4ocCk7cmV0dXJuIG8oKT8oYS5yZWxlYXNlKHQpLHtraW5kOiJlbnZlbG9wZSIsZW52ZWxvcGU6c30pOntraW5kOiJzdXBlcnNlZGVkIn19Y2F0Y2gocyl7Y29uc3QgbD1KKHMpO3JldHVybiBzIGluc3RhbmNlb2YgUSYmcy5zdGF0dXM9PT00MDN8fGwhPT1udWxsJiZyZS5pbmNsdWRlcyhsKT8obygpJiZhLnJlbGVhc2UodCksbD97a2luZDoidW5hdmFpbGFibGUiLGNvZGU6bH06e2tpbmQ6InVuYXZhaWxhYmxlIn0pOmwhPT1udWxsJiZpZS5pbmNsdWRlcyhsKT8obygpJiZhLnJlbGVhc2UodCkse2tpbmQ6ImludmFsaWQiLGNvZGU6bH0pOihvKCkmJmEuYmxvY2sodCkse2tpbmQ6InVuY29uZmlybWVkIn0pfX1mdW5jdGlvbiBkZSh0KXtpZihCKHQuZm9ybSkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7a2luZDoiaW52YWxpZCJ9KTtjb25zdHtuZXdfdmFsdWU6YSxleHBpcmVzX2F0Om8sbWV0aG9kOmksY29kZTpufT10LmZvcm07cmV0dXJuIEUodC5zbG90LHQucmVxdWVzdHMsdC5pc0N1cnJlbnQsdC5jbGVhclNlY3JldHMscD0+WCh7cmVxdWVzdF9pZDpwLG5ld192YWx1ZTphLGV4cGlyZXNfYXQ6byxzdGVwX3VwOnttZXRob2Q6aSxjb2RlOm59fSkpfWZ1bmN0aW9uIHVlKHQpe2lmKCF0LmRvd25zdHJlYW1WZXJpZmllZHx8cSh0LnN0ZXBVcCkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7a2luZDoiaW52YWxpZCJ9KTtjb25zdHttZXRob2Q6YSxjb2RlOm99PXQuc3RlcFVwO3JldHVybiBFKHQuc2xvdCx0LnJlcXVlc3RzLHQuaXNDdXJyZW50LHQuY2xlYXJTZWNyZXRzLGk9Plooe29wZXJhdGlvbl9pZDp0Lm9wZXJhdGlvbklkLHJlcXVlc3RfaWQ6aSxkb3duc3RyZWFtX3ZlcmlmaWVkOiEwLHN0ZXBfdXA6e21ldGhvZDphLGNvZGU6b319KSl9ZnVuY3Rpb24gaGUodCl7aWYocSh0LnN0ZXBVcCkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7a2luZDoiaW52YWxpZCJ9KTtjb25zdHttZXRob2Q6YSxjb2RlOm99PXQuc3RlcFVwO3JldHVybiBFKHQuc2xvdCx0LnJlcXVlc3RzLHQuaXNDdXJyZW50LHQuY2xlYXJTZWNyZXRzLGk9PmVlKHtvcGVyYXRpb25faWQ6dC5vcGVyYXRpb25JZCxyZXF1ZXN0X2lkOmksc3RlcF91cDp7bWV0aG9kOmEsY29kZTpvfX0pKX1mdW5jdGlvbiBwZSh0KXtjb25zdCBhPSJjb2RlImluIHQ/dC5jb2RlOnZvaWQgMDtyZXR1cm4gYT9gcmVhc29uLiR7YX1gOnQua2luZD09PSJpbnZhbGlkIj8iaGVhbHRoLnJvdGF0aW9uLnZhbGlkYXRpb24iOnQua2luZD09PSJ1bmF2YWlsYWJsZSI/ImhlYWx0aC5yb3RhdGlvbi51bmF2YWlsYWJsZSI6dC5raW5kPT09InVuY29uZmlybWVkIj8iaGVhbHRoLnJvdGF0aW9uLnJlcXVlc3RfZmFpbGVkIjpudWxsfWZ1bmN0aW9uIF9lKHQsYSl7Y29uc3Qgbz10Py5vcGVyYXRpb24/P251bGwsaT1vPy5zdGF0ZT8/bnVsbCxuPWk9PT1udWxsfHxhZS5pbmNsdWRlcyhpKSxwPWkhPT1udWxsJiZvZS5pbmNsdWRlcyhpKSxzPSEhdD8uYWxsb3dlZF9hY3Rpb25zLmluY2x1ZGVzKCJzdGFnZSIpJiZuJiYhcCYmIWEsbD0hIW8/LmFsbG93ZWRfYWN0aW9ucy5pbmNsdWRlcygiZmluYWxpemUiKSYmIXAmJiFhLHU9ISFvPy5hbGxvd2VkX2FjdGlvbnMuaW5jbHVkZXMoImNhbmNlbCIpJiYhcCYmIWE7cmV0dXJue3N0YWdlOnMsZmluYWxpemU6bCxjYW5jZWw6dSx1bmtub3duOnAsc2hvd1N0YWdlRm9ybTpzLHNob3dTdGVwVXA6bHx8dX19ZnVuY3Rpb24geGUoe3JvdGF0aW9uOnQscmVtaW5kZXI6YSxjb25maXJtOm8sb25Sb3RhdGVkOml9KXtjb25zdCBuPVYoKSxwPVkoKSxbcyxsXT1mLnVzZVN0YXRlKGxlKSxbdSx3XT1mLnVzZVN0YXRlKHNlKSxbeCxrXT1mLnVzZVN0YXRlKCExKSxbaixOXT1mLnVzZVN0YXRlKG51bGwpLFt5LHpdPWYudXNlU3RhdGUoITApLHY9Zi51c2VSZWYodGUoKSksYj1mLnVzZVJlZihjZSgpKTtmLnVzZUVmZmVjdCgoKT0+e3YuY3VycmVudC5pbnZhbGlkYXRlKCl9LFt0LmRhdGEsdC5waGFzZV0pO2NvbnN0IF89dC5waGFzZT09PSJyZWFkeSI/dC5kYXRhOm51bGwsaD1fPy5vcGVyYXRpb24/P251bGwsZD1fZShfLHgpLFI9cj0+e04ocGUocikpLHIua2luZD09PSJlbnZlbG9wZSImJnooITEpLHIua2luZCE9PSJpbnZhbGlkIiYmaSgpfSxPPSJjcmVkZW50aWFsLXJvdGF0aW9uOnN0YWdlIixQPXI9PmBjcmVkZW50aWFsLXJvdGF0aW9uOiR7cn06JHtoPy5vcGVyYXRpb25faWQ/PyJub25lIn1gLCQ9YXN5bmMoKT0+e2lmKHh8fCFkLnN0YWdlKXJldHVybjtpZihCKHMpKXtsKG09Pih7Li4ubSxuZXdfdmFsdWU6IiIsY29kZToiIn0pKSxOKCJoZWFsdGgucm90YXRpb24udmFsaWRhdGlvbiIpO3JldHVybn1pZighYXdhaXQgbyh7dGl0bGU6bigiaGVhbHRoLnJvdGF0aW9uLnN0YWdlIiksY29uc2VxdWVuY2U6bigiaGVhbHRoLnJvdGF0aW9uLnN0YWdlX25vdGUiKSxjb25maXJtTGFiZWw6bigiaGVhbHRoLnJvdGF0aW9uLnN0YWdlIil9KSlyZXR1cm47Y29uc3Qgcj12LmN1cnJlbnQuYmVnaW4oKTtrKCEwKTtjb25zdCBjPWF3YWl0IGRlKHtmb3JtOnMsc2xvdDpPLHJlcXVlc3RzOmIuY3VycmVudCxpc0N1cnJlbnQ6KCk9PnYuY3VycmVudC5pc0N1cnJlbnQociksY2xlYXJTZWNyZXRzOigpPT5sKG09Pih7Li4ubSxuZXdfdmFsdWU6IiIsY29kZToiIn0pKX0pO2soITEpLFIoYyl9LFQ9YXN5bmMgcj0+e2lmKCFofHx4fHwhKHI9PT0iZmluYWxpemUiP2QuZmluYWxpemU6ZC5jYW5jZWwpfHxxKHUpKXJldHVybjtjb25zdCBtPXI9PT0iZmluYWxpemUiP3t0aXRsZTpuKCJoZWFsdGgucm90YXRpb24uZmluYWxpemUiKSxjb25zZXF1ZW5jZTpuKCJoZWFsdGgucm90YXRpb24uc3RhZ2Vfbm90ZSIpLGNvbmZpcm1MYWJlbDpuKCJoZWFsdGgucm90YXRpb24uZmluYWxpemUiKSxhY2tMYWJlbDpuKCJoZWFsdGgucm90YXRpb24uZmluYWxpemVfYWNrIil9Ont0aXRsZTpuKCJoZWFsdGgucm90YXRpb24uY2FuY2VsIiksY29uc2VxdWVuY2U6bigiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbF9ub3RlIiksdG9uZToiZGFuZ2VyIixjb25maXJtTGFiZWw6bigiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbCIpfTtpZighYXdhaXQgbyhtKSlyZXR1cm47Y29uc3QgZz12LmN1cnJlbnQuYmVnaW4oKSxVPVAocik7ayghMCk7Y29uc3QgTT1yPT09ImZpbmFsaXplIj9hd2FpdCB1ZSh7c3RlcFVwOnUsb3BlcmF0aW9uSWQ6aC5vcGVyYXRpb25faWQsZG93bnN0cmVhbVZlcmlmaWVkOiEwLHNsb3Q6VSxyZXF1ZXN0czpiLmN1cnJlbnQsaXNDdXJyZW50OigpPT52LmN1cnJlbnQuaXNDdXJyZW50KGcpLGNsZWFyU2VjcmV0czooKT0+dyhTPT4oey4uLlMsY29kZToiIn0pKX0pOmF3YWl0IGhlKHtzdGVwVXA6dSxvcGVyYXRpb25JZDpoLm9wZXJhdGlvbl9pZCxzbG90OlUscmVxdWVzdHM6Yi5jdXJyZW50LGlzQ3VycmVudDooKT0+di5jdXJyZW50LmlzQ3VycmVudChnKSxjbGVhclNlY3JldHM6KCk9PncoUz0+KHsuLi5TLGNvZGU6IiJ9KSl9KTtrKCExKSxSKE0pfSxGPSgpPT57Yi5jdXJyZW50LnJlbGVhc2VBbGwoKSxOKG51bGwpLGkoKX0sTD1hLnBoYXNlPT09InJlYWR5Ij9lLmpzeChDLHt0b25lOm5lW2EuZGF0YS5waGFzZV0sY2hpbGRyZW46bihgaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuJHthLmRhdGEucGhhc2V9YCl9KTphLnBoYXNlPT09ImxvYWRpbmciP2UuanN4KEQse2hlaWdodDoyMix3aWR0aDo5MH0pOmUuanN4KEMse3RvbmU6InVua25vd24iLGNoaWxkcmVuOm4oInN0YXRlLnJlYWRfZmFpbGVkIil9KSxJPShyLGMpPT57aWYoIXIpcmV0dXJuIGUuanN4KCJkZCIseyJkYXRhLWVtcHR5IjoidHJ1ZSIsY2hpbGRyZW46bihjKX0pO2NvbnN0e3RleHQ6bSx6b25lOmd9PUgocixwLCEwKTtyZXR1cm4gZS5qc3goImRkIix7Y2hpbGRyZW46ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InJvdGF0aW9uLXN0YW1wIixjaGlsZHJlbjpnP2Ake219ICgke2d9KWA6bX0pfSl9O3JldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgY2FyZC1mbGF0IGNyZWRlbnRpYWwtcm90YXRpb24iLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi50aXRsZSIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLXJlbWluZGVyIixjaGlsZHJlbjpbTCxhLnBoYXNlPT09ImVycm9yIiYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazphLnJlbG9hZCxjaGlsZHJlbjpuKCJjb21tb24ucmV0cnkiKX0pLGQuc3RhZ2UmJmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PnooIXkpLGNoaWxkcmVuOm4oeT8iaGVhbHRoLnJvdGF0aW9uLmNsb3NlIjoiaGVhbHRoLnJvdGF0aW9uLm9wZW4iKX0pXX0pLHQucGhhc2U9PT0ibG9hZGluZyImJmUuanN4KEQse2hlaWdodDo3Mn0pLHQucGhhc2U9PT0iZXJyb3IiJiZlLmpzeChLLHtvblJldHJ5OnQucmVsb2FkfSksXyYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeHMoImRsIix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1tZXRhIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLW1ldGEtaXRlbSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOm4oImhlYWx0aC5jb2wuY3JlZGVudGlhbCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46Xy5tZXRhZGF0YS5uYW1lfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLW1ldGEtaXRlbSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5sYXN0X3JvdGF0ZWQiKX0pLEkoXy5tZXRhZGF0YS5sYXN0X3JvdGF0ZWRfYXQsImhlYWx0aC5yb3RhdGlvbi5uZXZlcl9yb3RhdGVkIildfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLW1ldGEtaXRlbSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5leHBpcmVzIil9KSxJKF8ubWV0YWRhdGEuZXhwaXJlc19hdCwiaGVhbHRoLnJvdGF0aW9uLm5vX2V4cGlyeSIpXX0pXX0pLGgmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1zdGF0ZSIsImRhdGEtc3RhdGUiOmguc3RhdGUsImRhdGEtdG9uZSI6QVtoLnN0YXRlXSwiYXJpYS1saXZlIjoicG9saXRlIiwiYXJpYS1idXN5Ijp4LGNoaWxkcmVuOltlLmpzeChDLHt0b25lOkFbaC5zdGF0ZV0sY2hpbGRyZW46bihgaGVhbHRoLnJvdGF0aW9uLnN0YXRlLiR7aC5zdGF0ZX1gKX0pLGgucmVhc29uX2NvZGUhPT1udWxsJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToicm90YXRpb24tc3RhdGUtcmVhc29uIixjaGlsZHJlbjpuKGByZWFzb24uJHtoLnJlYXNvbl9jb2RlfWAse30sInJlYXNvbi51bmtub3duIil9KV19KSx5JiZkLnN0YWdlJiZlLmpzeHMoImZvcm0iLHtjbGFzc05hbWU6InJvdGF0aW9uLWZvcm0iLG9uU3VibWl0OnI9PntyLnByZXZlbnREZWZhdWx0KCksJCgpfSxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLWZpZWxkcyIsY2hpbGRyZW46W2UuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24ubmV3X3NlY3JldCIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZToicGFzc3dvcmQiLHZhbHVlOnMubmV3X3ZhbHVlLG9uQ2hhbmdlOnI9PmwoYz0+KHsuLi5jLG5ld192YWx1ZTpyLnRhcmdldC52YWx1ZX0pKSxhdXRvQ29tcGxldGU6Im9mZiIsc3BlbGxDaGVjazohMX0pXX0pLGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24ubmV3X2V4cGlyeSIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZToidGV4dCIsdmFsdWU6cy5leHBpcmVzX2F0LG9uQ2hhbmdlOnI9PmwoYz0+KHsuLi5jLGV4cGlyZXNfYXQ6ci50YXJnZXQudmFsdWV9KSkscGxhY2Vob2xkZXI6IllZWVktTU0tRERUSEg6TU06U1MrMDg6MDAiLGF1dG9Db21wbGV0ZToib2ZmIixzcGVsbENoZWNrOiExfSldfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5zdGVwX3VwX21ldGhvZCIpfSksZS5qc3hzKCJzZWxlY3QiLHtjbGFzc05hbWU6ImlucHV0Iix2YWx1ZTpzLm1ldGhvZCxvbkNoYW5nZTpyPT5sKGM9Pih7Li4uYyxtZXRob2Q6ci50YXJnZXQudmFsdWUsY29kZToiIn0pKSxjaGlsZHJlbjpbZS5qc3goIm9wdGlvbiIse3ZhbHVlOiJ0b3RwIixjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3RvdHAiKX0pLGUuanN4KCJvcHRpb24iLHt2YWx1ZToicmVjb3ZlcnkiLGNoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfcmVjb3ZlcnkiKX0pXX0pXX0pLGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24ub25lX3RpbWVfY29kZSIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZTpzLm1ldGhvZD09PSJ0b3RwIj8idGV4dCI6InBhc3N3b3JkIix2YWx1ZTpzLmNvZGUsb25DaGFuZ2U6cj0+bChjPT4oey4uLmMsY29kZTpyLnRhcmdldC52YWx1ZX0pKSxhdXRvQ29tcGxldGU6cy5tZXRob2Q9PT0idG90cCI/Im9uZS10aW1lLWNvZGUiOiJvZmYiLHNwZWxsQ2hlY2s6ITF9KV19KV19KSxqJiZlLmpzeCgicCIse2NsYXNzTmFtZToicm90YXRpb24tZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpuKGopfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tYWN0aW9ucyIsY2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6InN1Ym1pdCIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLGRpc2FibGVkOiFkLnN0YWdlLGNoaWxkcmVuOm4oeD8iaGVhbHRoLnJvdGF0aW9uLndvcmtpbmciOiJoZWFsdGgucm90YXRpb24uc3RhZ2UiKX0pfSldfSksZC5zaG93U3RlcFVwJiZlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tZm9ybSIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1maWVsZHMiLGNoaWxkcmVuOltlLmpzeHMoImxhYmVsIix7Y2xhc3NOYW1lOiJmaWVsZCIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46bigiaGVhbHRoLnJvdGF0aW9uLnN0ZXBfdXBfbWV0aG9kIil9KSxlLmpzeHMoInNlbGVjdCIse2NsYXNzTmFtZToiaW5wdXQiLHZhbHVlOnUubWV0aG9kLG9uQ2hhbmdlOnI9PncoYz0+KHsuLi5jLG1ldGhvZDpyLnRhcmdldC52YWx1ZSxjb2RlOiIifSkpLGNoaWxkcmVuOltlLmpzeCgib3B0aW9uIix7dmFsdWU6InRvdHAiLGNoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfdG90cCIpfSksZS5qc3goIm9wdGlvbiIse3ZhbHVlOiJyZWNvdmVyeSIsY2hpbGRyZW46bigiaGVhbHRoLnJvdGF0aW9uLm1ldGhvZF9yZWNvdmVyeSIpfSldfSldfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5vbmVfdGltZV9jb2RlIil9KSxlLmpzeCgiaW5wdXQiLHtjbGFzc05hbWU6ImlucHV0Iix0eXBlOnUubWV0aG9kPT09InRvdHAiPyJ0ZXh0IjoicGFzc3dvcmQiLHZhbHVlOnUuY29kZSxvbkNoYW5nZTpyPT53KGM9Pih7Li4uYyxjb2RlOnIudGFyZ2V0LnZhbHVlfSkpLGF1dG9Db21wbGV0ZTp1Lm1ldGhvZD09PSJ0b3RwIj8ib25lLXRpbWUtY29kZSI6Im9mZiIsc3BlbGxDaGVjazohMX0pXX0pXX0pLGomJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1lcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOm4oail9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tYWN0aW9ucyIsY2hpbGRyZW46W2UuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDohZC5maW5hbGl6ZSxvbkNsaWNrOigpPT57VCgiZmluYWxpemUiKX0sY2hpbGRyZW46bih4PyJoZWFsdGgucm90YXRpb24ud29ya2luZyI6ImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSIpfSksZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsZGlzYWJsZWQ6IWQuY2FuY2VsLG9uQ2xpY2s6KCk9PntUKCJjYW5jZWwiKX0sY2hpbGRyZW46bigiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbCIpfSldfSldfSksKGQudW5rbm93bnx8aiE9PW51bGwpJiYhZC5zaG93U3RlcFVwJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1hY3Rpb25zIixjaGlsZHJlbjplLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOkYsY2hpbGRyZW46bigiaGVhbHRoLnJvdGF0aW9uLnJlZnJlc2giKX0pfSldfSksXyYmZC51bmtub3duJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24udW5rbm93bl9ub3RlIil9KSxfJiYoZC5zdGFnZXx8ZC5maW5hbGl6ZSkmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOm4oImhlYWx0aC5yb3RhdGlvbi5zdGFnZV9ub3RlIil9KSxfJiZkLmNhbmNlbCYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bigiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbF9ub3RlIil9KSxfJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpuKCJoZWFsdGgucm90YXRpb24ud3JpdGVfb25seV9ub3RlIil9KV19KX1leHBvcnR7c2UgYXMgRU1QVFlfU1RFUF9VUCxjZSBhcyBjcmVhdGVSb3RhdGlvblJlcXVlc3RJZHMseGUgYXMgZGVmYXVsdCxsZSBhcyBlbXB0eVN0YWdlRm9ybSxwZSBhcyBvdXRjb21lRXJyb3JLZXksX2UgYXMgcm90YXRpb25BY3Rpb25zLEIgYXMgc3RhZ2VGb3JtSW5jb21wbGV0ZSxxIGFzIHN0ZXBVcEluY29tcGxldGUsaGUgYXMgc3VibWl0Q2FuY2VsLHVlIGFzIHN1Ym1pdEZpbmFsaXplLGRlIGFzIHN1Ym1pdFN0YWdlfTsK" }, + "/v2/assets/DataTable-CTuM8wZg.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgZyxyIGFzIHUsaiBhcyB0LGggYXMgTn1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2Z1bmN0aW9uIHYoe2NvbHVtbnM6Yyxyb3dzOm4scm93S2V5OmgsZW1wdHlLZXk6bT0ic3RhdGUubm9fZGF0YSIsZGVmYXVsdFNvcnQ6eCxjYXB0aW9uOm8sc2Nyb2xsSGludDpiPSExfSl7Y29uc3QgZD1nKCksW3Msal09dS51c2VTdGF0ZSh4fHxudWxsKSxmPXUudXNlTWVtbygoKT0+e2lmKCFzKXJldHVybiBuO2NvbnN0IGU9Yy5maW5kKGE9PmEuaWQ9PT1zLmNvbHVtbik7aWYoIWU/LnNvcnRWYWx1ZSlyZXR1cm4gbjtjb25zdCByPXMuZGlyZWN0aW9uPT09ImFzYyI/MTotMTtyZXR1cm5bLi4ubl0uc29ydCgoYSxwKT0+e2NvbnN0IGk9ZS5zb3J0VmFsdWUoYSksbD1lLnNvcnRWYWx1ZShwKTtyZXR1cm4gaT09PW51bGwmJmw9PT1udWxsPzA6aT09PW51bGw/MTpsPT09bnVsbD8tMTp0eXBlb2YgaT09Im51bWJlciImJnR5cGVvZiBsPT0ibnVtYmVyIj8oaS1sKSpyOlN0cmluZyhpKS5sb2NhbGVDb21wYXJlKFN0cmluZyhsKSkqcn0pfSxbbixzLGNdKTtyZXR1cm4gbi5sZW5ndGg/dC5qc3hzKHQuRnJhZ21lbnQse2NoaWxkcmVuOltiJiZ0LmpzeCgicCIse2NsYXNzTmFtZToidGFibGUtc2Nyb2xsLWhpbnQiLGNoaWxkcmVuOmQoImNvbW1vbi50YWJsZV9zY3JvbGxfaGludCIpfSksdC5qc3goImRpdiIse2NsYXNzTmFtZToidGFibGUtd3JhcCIsdGFiSW5kZXg6MCxyb2xlOiJyZWdpb24iLCJhcmlhLWxhYmVsIjpvLGNoaWxkcmVuOnQuanN4cygidGFibGUiLHtjbGFzc05hbWU6ImRhdGEtdGFibGUiLGNoaWxkcmVuOltvJiZ0LmpzeCgiY2FwdGlvbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46b30pLHQuanN4KCJ0aGVhZCIse2NoaWxkcmVuOnQuanN4KCJ0ciIse2NoaWxkcmVuOmMubWFwKGU9Pntjb25zdCByPSEhZS5zb3J0VmFsdWUsYT1zPy5jb2x1bW49PT1lLmlkO3JldHVybiB0LmpzeCgidGgiLHtjbGFzc05hbWU6YCR7ZS5udW1lcmljPyJudW0gIjoiIn0ke3I/InNvcnRhYmxlIjoiIn1gLCJhcmlhLXNvcnQiOmE/cy5kaXJlY3Rpb249PT0iYXNjIj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyI6dm9pZCAwLGNoaWxkcmVuOnI/dC5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToidGFibGUtc29ydCIsb25DbGljazooKT0+aih7Y29sdW1uOmUuaWQsZGlyZWN0aW9uOmEmJnMuZGlyZWN0aW9uPT09ImRlc2MiPyJhc2MiOiJkZXNjIn0pLGNoaWxkcmVuOltlLmhlYWRlcixhP3MuZGlyZWN0aW9uPT09ImFzYyI/IiDilrIiOiIg4pa8IjoiIl19KTplLmhlYWRlcn0sZS5pZCl9KX0pfSksdC5qc3goInRib2R5Iix7Y2hpbGRyZW46Zi5tYXAoZT0+dC5qc3goInRyIix7Y2hpbGRyZW46Yy5tYXAocj0+dC5qc3goInRkIix7Y2xhc3NOYW1lOnIubnVtZXJpYz8ibnVtIjoiIixjaGlsZHJlbjpyLmNlbGwoZSl9LHIuaWQpKX0saChlKSkpfSldfSl9KV19KTp0LmpzeChOLHt0aXRsZTpkKG0pfSl9ZXhwb3J0e3YgYXMgRH07Cg==" }, "/v2/assets/DecisionsPage-CyeuTPhn.css": { contentType: "text/css; charset=utf-8", base64: "LmRlY2lzaW9ucy1maWx0ZXJze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6OHB4O3BhZGRpbmctYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKX0uZGVjaXNpb25zLXZpZXctcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9LmRlY2lzaW9ucy12aWV3LXJvdyAuc2VnbWVudGVke2ZsZXg6MCAwIGF1dG99LmRlY2lzaW9ucy1jYXRlZ29yeS1yb3d7bWluLXdpZHRoOjB9LmRlY2lzaW9ucy1jYXRlZ29yeS1yb3cgLnRhYnN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3cteDphdXRvO3Njcm9sbGJhci13aWR0aDpub25lO2JvcmRlci1ib3R0b206MH0uZGVjaXNpb25zLWNhdGVnb3J5LXJvdyAudGFiczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5kZWNpc2lvbnMtY2F0ZWdvcnktcm93IC50YWJ7ZmxleDowIDAgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRlY2lzaW9uLWRlZ3JhZGVkLW5vdGV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4IDEwcHg7ZmxleC13cmFwOndyYXA7bWFyZ2luOjEwcHggMCAwO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItbGVmdDozcHggc29saWQgdmFyKC0tc3RhdHVzLXdhcm4pO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW0pO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3RhdHVzLXdhcm4pIDglLHZhcigtLXN1cmZhY2UpKTtmb250LXNpemU6MTIuNXB4O2xpbmUtaGVpZ2h0OjEuNX0uZGVjaXNpb24tZGVncmFkZWQtYm9keXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7ZmxleDoxIDEgMTAwJX0uZGVjaXNpb24tZGVncmFkZWQtc291cmNlc3ttYXJnaW46MnB4IDAgMDtwYWRkaW5nLWxlZnQ6MThweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCl9LmRlY2lzaW9uLWRlZ3JhZGVkLXNvdXJjZXMgbGkrbGl7bWFyZ2luLXRvcDoycHh9LmRlY2lzaW9uLWRlZ3JhZGVkLXNvdXJjZXMgc3Ryb25ne2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmspfS5kZWNpc2lvbi1kZXRhaWwtaGVhZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHh9LmRlY2lzaW9uLWJhZGdlc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcH0uZGVjaXNpb24tcHJvbXB0e21hcmdpbjoycHggMCAwO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LmRlY2lzaW9uLW1ldGF7ZGlzcGxheTpmbGV4O2dhcDo2cHggMTRweDtmbGV4LXdyYXA6d3JhcDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fS5kZWNpc2lvbi1zZWN0aW9uLXRpdGxle21hcmdpbjoxOHB4IDAgOHB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1tdXRlZCl9LmRlY2lzaW9uLW1hdGVyaWFsc3ttYXJnaW4tdG9wOjE0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7cGFkZGluZy10b3A6OHB4fS5kZWNpc2lvbi1tYXRlcmlhbHM+c3VtbWFyeXttaW4taGVpZ2h0OjI4cHg7cGFkZGluZzo0cHggMDtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHh9LmRlY2lzaW9uLW1hdGVyaWFscz5zdW1tYXJ5OmhvdmVye2NvbG9yOnZhcigtLWluayl9LmRlY2lzaW9uLW1hdGVyaWFscyBwe21hcmdpbjo2cHggMCAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNn0uZGVjaXNpb24tbm90ZXtmbGV4LWJhc2lzOjEwMCU7bWFyZ2luOjRweCAwIDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4fS5kZWNpc2lvbi1hY2NvdW50LXBpY2tlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxM3B4fS5kZWNpc2lvbi1hY2NvdW50LXBpY2tlcj5zcGFue2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweH0uZGVjaXNpb24tYWNjb3VudC1waWNrZXIgc2VsZWN0e21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2NvbG9yOnZhcigtLWluayk7Zm9udDppbmhlcml0fS5pbmJveC1pdGVte3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1yYWRpdXM6MTBweH0uaW5ib3gtaXRlbSAuaXRlbS10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjR9LmluYm94LWl0ZW0gLml0ZW0tbWV0YXttYXJnaW4tdG9wOjNweH0uaW5ib3gtaXRlbSAuaXRlbS1tZXRhLXNlY29uZGFyeXttYXJnaW4tdG9wOjJweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmluYm94LWl0ZW0uaXMtZXhwaXJlZHtvcGFjaXR5Oi43fS5pbmJveC1kZXRhaWx7dG9wOjc2cHh9LmluYm94LWJhY2t7ZGlzcGxheTpub25lO2FsaWduLXNlbGY6ZmxleC1zdGFydH1AbWVkaWEobWF4LXdpZHRoOjEwMjRweCl7LmluYm94LmRldGFpbC1vcGVuIC5pbmJveC1saXN0e2Rpc3BsYXk6bm9uZX0uaW5ib3g6bm90KC5kZXRhaWwtb3BlbikgLmluYm94LWRldGFpbHtkaXNwbGF5Om5vbmV9LmluYm94LWJhY2t7ZGlzcGxheTppbmxpbmUtZmxleH19LmRlY2lzaW9uLWhpc3RvcnktbW9yZSwucmVjb25jaWxpYXRpb24tbWF0ZXJpYWxze21hcmdpbi10b3A6MTJweH0ucmVjb25jaWxpYXRpb24tbWF0ZXJpYWxzPi5jYXJkLXRpdGxlOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi10b3A6MjRweH0ucmVjb25jaWxpYXRpb24tZGV0YWlsPnN1bW1hcnl7Y29sb3I6dmFyKC0tbXV0ZWQpfS5yZWNvbmNpbGlhdGlvbi1yZWZ7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4fS5kZWNpc2lvbi1zdGFsZS1oaW50e2NvbG9yOnZhcigtLW11dGVkKX0ucmVjb25jaWxpYXRpb24tbWF0ZXJpYWwrLnJlY29uY2lsaWF0aW9uLW1hdGVyaWFse2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO3BhZGRpbmctdG9wOjEycHh9LnJlY29uY2lsaWF0aW9uLW1hdGVyaWFsIGRse2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heChtaW4oMTAwJSwyMjBweCksMWZyKSk7Z2FwOjEycHh9LnJlY29uY2lsaWF0aW9uLW1hdGVyaWFsIGR0e2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweH0ucmVjb25jaWxpYXRpb24tbWF0ZXJpYWwgZGR7bWFyZ2luOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uaW5pdGlhbC1lbnJvbGxtZW50LWZhY3Rze21hcmdpbi10b3A6MTZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nLXRvcDoxMnB4fS5pbml0aWFsLWVucm9sbG1lbnQtZmFjdHM+LmNhcmQtdGl0bGV7bWFyZ2luLWJvdHRvbTo2cHh9LmluaXRpYWwtZW5yb2xsbWVudC1zdXJmYWNle21hcmdpbi10b3A6MTZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nLXRvcDoxMnB4fS5pbml0aWFsLWVucm9sbG1lbnQtc3VyZmFjZTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjEwcHh9LmluaXRpYWwtZW5yb2xsbWVudC1zdXJmYWNlLXRpdGxle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcDttYXJnaW46MCAwIDhweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjR9LmluaXRpYWwtZW5yb2xsbWVudC1zY29wZS1ibG9ja3ttYXJnaW46NnB4IDAgMTBweH0uaW5pdGlhbC1lbnJvbGxtZW50LXNjb3BlLXRpdGxle21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDB9LmluaXRpYWwtZW5yb2xsbWVudC1zY29wZSwuaW5pdGlhbC1lbnJvbGxtZW50LWZpZWxkc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgobWluKDEwMCUsMTgwcHgpLDFmcikpO2dhcDo4cHggMTJweDttYXJnaW46MH0uaW5pdGlhbC1lbnJvbGxtZW50LXNjb3BlPmRpdiwuaW5pdGlhbC1lbnJvbGxtZW50LWZpZWxkcz5kaXZ7bWluLXdpZHRoOjB9LmluaXRpYWwtZW5yb2xsbWVudC1zY29wZSBkdCwuaW5pdGlhbC1lbnJvbGxtZW50LWZpZWxkcyBkdHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmluaXRpYWwtZW5yb2xsbWVudC1zY29wZSBkZCwuaW5pdGlhbC1lbnJvbGxtZW50LWZpZWxkcyBkZHttYXJnaW46MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5pbml0aWFsLWVucm9sbG1lbnQtaXRlbXN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5pbml0aWFsLWVucm9sbG1lbnQtaXRlbXtib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tbGluZSk7cGFkZGluZy10b3A6OHB4fS5pbml0aWFsLWVucm9sbG1lbnQtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjA7cGFkZGluZy10b3A6MH0uaW5pdGlhbC1lbnJvbGxtZW50LWxpc3R7bWFyZ2luOjA7cGFkZGluZy1sZWZ0OjE4cHh9LmluaXRpYWwtZW5yb2xsbWVudC1ibG9ja2Vke2ZvbnQtd2VpZ2h0OjYwMH1AbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsuZGVjaXNpb25zLWZpbHRlcnN7YWxpZ24taXRlbXM6c3RyZXRjaH0uZGVjaXNpb25zLXZpZXctcm93IC5zZWdtZW50ZWR7ZmxleDoxIDEgYXV0b30uZGVjaXNpb25zLXZpZXctcm93IC5zZWdtZW50e2ZsZXg6MSAxIGF1dG87anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZGVjaXNpb25zLWNhdGVnb3J5LXJvdyAudGFie21pbi1oZWlnaHQ6NDRweH0uZGVjaXNpb24tcHJvbXB0e2ZvbnQtc2l6ZToxNHB4fS5pbmJveC1pdGVte3BhZGRpbmc6MTFweCAxMnB4fS5pbml0aWFsLWVucm9sbG1lbnQtc2NvcGUsLmluaXRpYWwtZW5yb2xsbWVudC1maWVsZHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Cg==" }, - "/v2/assets/DeskApp-DokRjK35.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9zZXNzaW9uLURlM05UNHJPLmpzIiwiYXNzZXRzL3NoYXJlZC1Eck5WN1pkaC5qcyIsImFzc2V0cy9yaWJib24tRFY4TXhWdk4uanMiLCJhc3NldHMvb3ZlcnZpZXctQm5EODFUaXkuanMiLCJhc3NldHMvcGVyZm9ybWFuY2UtU3d5cXdkaUwuanMiXSkpKT0+aS5tYXAoaT0+ZFtpXSk7CmltcG9ydHtIIGFzIE9lLF8gYXMgZWUsZyBhcyBMZSxqIGFzIHIsciBhcyBtLGMgYXMgUGUsbCBhcyBwZSxzIGFzIGJlLGEgYXMgemV9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtpbXBvcnR7biBhcyBCZX1mcm9tIi4vdGlja3MtQmNXYXdNNGQuanMiO2NvbnN0IHY9ZT0+ZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoZSksTj1lPT50eXBlb2YgZT09InN0cmluZyIsSD1lPT57aWYoIU4oZSl8fCEvXlxkezR9LVxkezJ9LVxkezJ9VFxkezJ9OlxkezJ9OlxkezJ9KD86XC5cZCspP1okLy50ZXN0KGUpKXJldHVybiExO2NvbnN0IHQ9bmV3IERhdGUoZSk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0LmdldFRpbWUoKSkmJnQudG9JU09TdHJpbmcoKS5zbGljZSgwLDE5KT09PWUuc2xpY2UoMCwxOSl9LHdlPWU9Pk4oZSkmJi9eKD86WzAxXVxkfDJbMC0zXSk6WzAtNV1cZCQvLnRlc3QoZSkscT1lPT5OKGUpJiYvXi0/KDB8WzEtOV1cZCopKFwuXGQrKT8kLy50ZXN0KGUpLFo9ZT0+TnVtYmVyLmlzSW50ZWdlcihlKSYmZT49MCxEPSguLi5lKT0+dD0+ZS5pbmNsdWRlcyh0KSxKPWU9PnQ9PnQ9PT1udWxsfHxlKHQpLE5lPUQoIm5ldmVyX3JlYWQiLCJyZWFkX2ZhaWxlZCIsInNvdXJjZV91bmF2YWlsYWJsZSIsImlkZW50aXR5X3VudmVyaWZpZWQiLCJub3Rfc3VwcG9ydGVkIik7ZnVuY3Rpb24gc2UoZSx0PW49PiEwKXtyZXR1cm4gdihlKT9lLnN0YXR1cz09PSJrbm93biI/InZhbHVlImluIGUmJnQoZS52YWx1ZSkmJkgoZS5vYnNlcnZlZF9hdCk6ZS5zdGF0dXM9PT0ic3RhbGUiPyJ2YWx1ZSJpbiBlJiZ0KGUudmFsdWUpJiZIKGUub2JzZXJ2ZWRfYXQpJiZaKGUuYWdlX3NlY29uZHMpOmUuc3RhdHVzPT09InVua25vd24iP05lKGUucmVhc29uKSYmISgidmFsdWUiaW4gZSkmJihlLm9ic2VydmVkX2F0PT1udWxsfHxIKGUub2JzZXJ2ZWRfYXQpKTohMTohMX1jb25zdCBtZT0oZSx0KT0+dihlKSYmZS5vaz09PSEwJiZlLnNjaGVtYV92ZXJzaW9uPT09dCYmSChlLmdlbmVyYXRlZF9hdCk7ZnVuY3Rpb24gRmUoZSl7cmV0dXJuIHYoZSkmJnR5cGVvZiBlLmF1dGhlbnRpY2F0ZWQ9PSJib29sZWFuIiYmdHlwZW9mIGUuYWxsb3dlZD09ImJvb2xlYW4iJiZ0eXBlb2YgZS5hZG1pbj09ImJvb2xlYW4iJiYoZS5sb2dpbj09PW51bGx8fE4oZS5sb2dpbikpJiZIKGUuc2VydmVyX3RpbWUpfWNvbnN0IEhlPWU9PnYoZSkmJk4oZS5pZCkmJkgoZS5hdCkmJk4oZS50YXJnZXRfaWQpJiZOKGUubGFiZWwpJiZEKCJkb25lIiwicnVubmluZyIsInNjaGVkdWxlZCIsIm1pc3NlZCIsInVua25vd24iKShlLnN0YXRlKSYmKGUub3V0Y29tZT09PW51bGx8fEQoImZpbGxlZCIsIm9yZGVyc19zdWJtaXR0ZWQiLCJub19vcCIsImRyaWZ0IiwiZXJyb3IiLCJza2lwcGVkIikoZS5vdXRjb21lKSksVWU9ZT0+dihlKSYmRCgiVVMiLCJISyIsIkNOIikoZS5tYXJrZXQpJiZEKCJvcGVuIiwiY2xvc2VkIiwicHJlIiwicG9zdCIsInVua25vd24iKShlLnN0YXRlKSYmSih3ZSkoZS5vcGVuX3V0YykmJkood2UpKGUuY2xvc2VfdXRjKSYmSihIKShlLm5leHRfY2hhbmdlX2F0KTtmdW5jdGlvbiBLZShlKXtpZighbWUoZSwicXNsLmRlc2sucmliYm9uLnYxIikpcmV0dXJuITE7Y29uc3QgdD1lLmNvbnNvbGVfc3RhdGUsbj1lLmFsZXJ0X2JhZGdlO3JldHVybiB2KHQpJiZEKCJkcnlfcnVuIiwicGFwZXIiLCJsaXZlIikodC5tb2RlKSYmc2UodC5nYXRld2F5cyxEKCJhbGxfcmVhY2hhYmxlIiwiZGVncmFkZWQiLCJkb3duIikpJiZ2KG4pJiZaKG4ub3Blbl9jb3VudCkmJloobi5jcml0aWNhbF9jb3VudCkmJkFycmF5LmlzQXJyYXkoZS5zZXNzaW9ucykmJmUuc2Vzc2lvbnMuZXZlcnkoVWUpJiYoZS5uZXh0X3J1bj09PW51bGx8fHYoZS5uZXh0X3J1bikmJkgoZS5uZXh0X3J1bi5kdWVfYXQpKSYmQXJyYXkuaXNBcnJheShlLnRhcGUpJiZlLnRhcGUuZXZlcnkoSGUpfWNvbnN0IEdlPWU9PnYoZSk/ZS5zdGF0dXM9PT0idW5rbm93biI/TmUoZS5yZWFzb24pJiYhKCJhbW91bnQiaW4gZSk6KGUuc3RhdHVzPT09Imtub3duInx8ZS5zdGF0dXM9PT0ic3RhbGUiKSYmcShlLmFtb3VudCkmJk4oZS5jdXJyZW5jeSkmJkoocSkoZS51c2QpJiZIKGUub2JzZXJ2ZWRfYXQpOiExLFdlPWU9PntpZighdihlKSlyZXR1cm4hMTtjb25zdCB0PWUuc3BhcmtsaW5lXzMwZCxuPWUuZHJhd2Rvd24sYT1lLmNvbmZpZztyZXR1cm4gTihlLnRhcmdldF9pZCkmJk4oZS5hY2NvdW50X3JlZikmJk4oZS5hY2NvdW50X3N1ZmZpeCkmJnNlKGUuc3RyYXRlZ3ksbz0+dihvKSYmTihvLnByb2ZpbGUpJiZOKG8ubGFiZWwpKSYmc2UoZS5tb2RlLEQoImRyeV9ydW4iLCJwYXBlciIsImxpdmUiKSkmJnNlKGUucnVudGltZSxEKCJydW5uaW5nIiwic3RvcHBlZCIsInVua25vd24iKSkmJkdlKGUubmF2KSYmKGUuZGF5X2NoYW5nZT09PW51bGx8fHYoZS5kYXlfY2hhbmdlKSYmcShlLmRheV9jaGFuZ2UucmF0aW8pJiZxKGUuZGF5X2NoYW5nZS5hbW91bnQpKSYmdih0KSYmQXJyYXkuaXNBcnJheSh0LnBvaW50cykmJnQucG9pbnRzLmV2ZXJ5KHEpJiZBcnJheS5pc0FycmF5KHQuZ2FwX2RhdGVzKSYmdihuKSYmSihxKShuLnJhdGlvKSYmRCgib2siLCJuZWFyX2xpbWl0IiwiYnJlYWNoZWQiLCJ1bmtub3duIikobi5zdGF0ZSkmJnYoYSkmJkQoInN5bmNlZCIsImRyaWZ0IiwidW5rbm93biIpKGEuc3RhdGUpJiZaKGEuZHJpZnRfY291bnQpJiZEKCJuYXRpdmVfaWJrcl90d3IiLCJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQiLCJ1bmF2YWlsYWJsZSIpKGUucmV0dXJuX2Jhc2lzKX0scWU9ZT0+dihlKSYmTihlLmlkKSYmRCgiY3JpdGljYWwiLCJ3YXJuaW5nIiwiaW5mbyIpKGUuc2V2ZXJpdHkpJiZOKGUudGl0bGUpJiZOKGUuZGV0YWlsKSYmdihlLmFjdGlvbikmJk4oZS5hY3Rpb24ucm91dGUpO2Z1bmN0aW9uIFZlKGUpe2lmKCFtZShlLCJxc2wuZGVzay5vdmVydmlldy52MSIpKXJldHVybiExO2NvbnN0IHQ9ZS50b3RhbHMsbj1lLmVxdWl0eV9jdXJ2ZTtyZXR1cm4gdihlLmZyZXNobmVzcykmJkQoInJlYWR5Iiwic3RhbGUiLCJ1bmF2YWlsYWJsZSIpKGUuZnJlc2huZXNzLmRhdGFfc3RhdHVzKSYmdih0KSYmRCgiY29tcGxldGUiLCJwYXJ0aWFsIiwidW5hdmFpbGFibGUiKSh0LnN0YXR1cykmJkoocSkodC5uYXYpJiZ2KHQuY292ZXJhZ2UpJiZaKHQuY292ZXJhZ2UuaW5jbHVkZWQpJiZaKHQuY292ZXJhZ2UudG90YWwpJiZBcnJheS5pc0FycmF5KGUuYm9vaykmJmUuYm9vay5ldmVyeShXZSkmJnYobikmJnYobi5wb3J0Zm9saW8pJiZBcnJheS5pc0FycmF5KG4ucG9ydGZvbGlvLmRhdGVzKSYmQXJyYXkuaXNBcnJheShuLnBvcnRmb2xpby5pbmRleGVkKSYmbi5wb3J0Zm9saW8uZGF0ZXMubGVuZ3RoPT09bi5wb3J0Zm9saW8uaW5kZXhlZC5sZW5ndGgmJnYobi5iZW5jaG1hcmspJiZBcnJheS5pc0FycmF5KGUubmVlZHNfeW91KSYmZS5uZWVkc195b3UubGVuZ3RoPD01JiZlLm5lZWRzX3lvdS5ldmVyeShxZSl9ZnVuY3Rpb24gWGUoZSl7aWYoIW1lKGUsInFzbC5kZXNrLnBlcmZvcm1hbmNlLnYxIikpcmV0dXJuITE7Y29uc3QgdD1lLmVxdWl0eTtyZXR1cm4gdih0KSYmQXJyYXkuaXNBcnJheSh0LmRhdGVzKSYmQXJyYXkuaXNBcnJheSh0LnBvcnRmb2xpb19pbmRleGVkKSYmdC5kYXRlcy5sZW5ndGg9PT10LnBvcnRmb2xpb19pbmRleGVkLmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0LmdhcF9kYXRlcykmJnYoZS5yaXNrKX1jb25zdCBZZT0iL2FwaS9tYXJrZXQtYmVuY2htYXJrL3BlcmZvcm1hbmNlIixFZT0ibWVyaWRpYW4ucGVyZi5iZW5jaG1hcmtzIixjZT1bInNweCIsIm5keCIsInJ1dCIsImRqaSJdLEFlPVsic294Iiwid29ybGQiLCJlbSJdLEY9Wy4uLmNlLC4uLkFlXSxPPXtzcHg6e3N5bWJvbDoiU1BZIixhcGlJZDoic3A1MDAiLHRva2VuOiItLW1yZC1iMSIsZGFzaDoiIixleHRyYTohMX0sbmR4OntzeW1ib2w6IlFRUSIsYXBpSWQ6Im5hc2RhcTEwMCIsdG9rZW46Ii0tbXJkLWIyIixkYXNoOiI3IDQiLGV4dHJhOiExfSxydXQ6e3N5bWJvbDoiSVdNIixhcGlJZDoicnVzc2VsbDIwMDAiLHRva2VuOiItLW1yZC1iMyIsZGFzaDoiMS41IDQiLGV4dHJhOiExfSxkamk6e3N5bWJvbDoiRElBIixhcGlJZDoiZGppYSIsdG9rZW46Ii0tbXJkLWI0IixkYXNoOiI5IDMgMiAzIixleHRyYTohMX0sc294OntzeW1ib2w6IlNPWFgiLGFwaUlkOm51bGwsdG9rZW46Ii0tbXJkLXgxIixkYXNoOiIzIDMiLGV4dHJhOiEwfSx3b3JsZDp7c3ltYm9sOiJVUlRIIixhcGlJZDpudWxsLHRva2VuOiItLW1yZC14MiIsZGFzaDoiMTIgNCIsZXh0cmE6ITB9LGVtOntzeW1ib2w6IkVFTSIsYXBpSWQ6bnVsbCx0b2tlbjoiLS1tcmQteDMiLGRhc2g6IjIgMiA4IDIiLGV4dHJhOiEwfX0sSmU9bmV3IE1hcChGLm1hcChlPT5bT1tlXS5zeW1ib2wsZV0pKSxaZT0vXlxkezR9LVxkezJ9LVxkezJ9JC87ZnVuY3Rpb24gdGUoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmcifHwhWmUudGVzdChlKSlyZXR1cm4hMTtjb25zdCB0PURhdGUucGFyc2UoYCR7ZX1UMDA6MDA6MDBaYCk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0KSYmbmV3IERhdGUodCkudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKT09PWV9Y29uc3QgTD1lPT5EYXRlLnBhcnNlKGAke2V9VDAwOjAwOjAwWmApLG9lPWU9PmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIGllKGUsdD0idW5hdmFpbGFibGUiLG49bnVsbCxhPW51bGwpe3JldHVybntrZXk6ZSxjb3ZlcmFnZTp0LGJhc2VEYXRlOm4sbGFzdERhdGU6YSxwb2ludHM6W119fWZ1bmN0aW9uIFFlKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhGLm1hcChlPT5bZSxpZShlKV0pKX1mdW5jdGlvbiBldChlLHQsbil7aWYoIUFycmF5LmlzQXJyYXkoZSl8fGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDtjb25zdCBhPVtdO2xldCBvPSIiO2Zvcihjb25zdCBzIG9mIGUpe2lmKCFvZShzKXx8IXRlKHMuZGF0ZSkpcmV0dXJuIG51bGw7Y29uc3QgZD1zLmN1bXVsYXRpdmVfcmV0dXJuX3JhdGlvO2lmKHR5cGVvZiBkIT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZShkKXx8ZDw9LTF8fHMuZGF0ZTw9b3x8cy5kYXRlPHR8fHMuZGF0ZT5uKXJldHVybiBudWxsO289cy5kYXRlLGEucHVzaCh7ZGF0ZTpzLmRhdGUsdmFsdWU6ZH0pfXJldHVybiBhWzBdLmRhdGUhPT10fHxhWzBdLnZhbHVlIT09MHx8YVthLmxlbmd0aC0xXS5kYXRlIT09bj9udWxsOmF9ZnVuY3Rpb24gdHQoZSx0KXtpZighb2UoZSl8fGUuc2NoZW1hX3ZlcnNpb24hPT0icXNsLnBlcmZvcm1hbmNlX2JlbmNobWFya3MudjEifHxlLm9rIT09ITB8fGUuc3RhdHVzIT09ImF2YWlsYWJsZSImJmUuc3RhdHVzIT09InBhcnRpYWwiKXJldHVybiBudWxsO2NvbnN0IG49ZS53aW5kb3c7aWYoIW9lKG4pfHxuLnN0YXJ0IT09dC5zdGFydHx8bi5lbmQhPT10LmVuZHx8dHlwZW9mIGUucmV0dXJuX2Jhc2lzIT0ic3RyaW5nInx8ZS5yZXR1cm5fYmFzaXM9PT0iInx8IUFycmF5LmlzQXJyYXkoZS5zZXJpZXMpKXJldHVybiBudWxsO2NvbnN0IGE9UWUoKSxvPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZS5zZXJpZXMpe2lmKCFvZShzKXx8dHlwZW9mIHMuc3ltYm9sIT0ic3RyaW5nIiljb250aW51ZTtjb25zdCBkPUplLmdldChzLnN5bWJvbCk7aWYoIWQpY29udGludWU7aWYoby5oYXMoZCkpe2FbZF09aWUoZCk7Y29udGludWV9by5hZGQoZCk7Y29uc3QgYz1PW2RdO2lmKGMuYXBpSWQhPT1udWxsJiZzLmlkIT09Yy5hcGlJZHx8cy5zdGF0dXMhPT0iYXZhaWxhYmxlIiYmcy5zdGF0dXMhPT0icGFydGlhbCIpY29udGludWU7Y29uc3QgbD10ZShzLmJhc2VfZGF0ZSk/cy5iYXNlX2RhdGU6bnVsbCxwPXRlKHMubGFzdF9kYXRlKT9zLmxhc3RfZGF0ZTpudWxsO2lmKCFsfHwhcCljb250aW51ZTtpZighKHMuc3RhdHVzPT09ImF2YWlsYWJsZSImJmw9PT10LnN0YXJ0JiZwPT09dC5lbmQpKXthW2RdPWllKGQsInBhcnRpYWwiLGwscCk7Y29udGludWV9Y29uc3QgeT1ldChzLnBvaW50cyxsLHApO2FbZF09eT97a2V5OmQsY292ZXJhZ2U6ImZ1bGwiLGJhc2VEYXRlOmwsbGFzdERhdGU6cCxwb2ludHM6eX06aWUoZCl9cmV0dXJue3dpbmRvdzp7c3RhcnQ6dC5zdGFydCxlbmQ6dC5lbmR9LHJldHVybkJhc2lzOmUucmV0dXJuX2Jhc2lzLHNlcmllczphfX1jb25zdCBudD0zMDtmdW5jdGlvbiBUZShlKXtpZihlLmxlbmd0aDwyKXJldHVybntyZXQ6bnVsbCxjYWdyOm51bGwsbWF4RHJhd2Rvd246bnVsbH07Y29uc3QgdD1lW2UubGVuZ3RoLTFdLnZhbHVlO2lmKCFOdW1iZXIuaXNGaW5pdGUodCl8fHQ8PS0xKXJldHVybntyZXQ6bnVsbCxjYWdyOm51bGwsbWF4RHJhd2Rvd246bnVsbH07Y29uc3Qgbj0oTChlW2UubGVuZ3RoLTFdLmRhdGUpLUwoZVswXS5kYXRlKSkvODY0ZTUsYT1uPj1udD8oMSt0KSoqKDM2NS4yNS9uKS0xOm51bGw7bGV0IG89MSxzPTA7Zm9yKGNvbnN0IGQgb2YgZSl7Y29uc3QgYz0xK2QudmFsdWU7bz1NYXRoLm1heChvLGMpLHM9TWF0aC5taW4ocyxjL28tMSl9cmV0dXJue3JldDp0LGNhZ3I6TnVtYmVyLmlzRmluaXRlKGE/PzApP2E6bnVsbCxtYXhEcmF3ZG93bjpzfX1mdW5jdGlvbiBEZShlLHQpe3JldHVybiBlPT09bnVsbHx8dD09PW51bGw/bnVsbDooZS10KSoxMDB9ZnVuY3Rpb24gcnQoZSx0KXtyZXR1cm4gdD9EZShlLmNhZ3IsdC5jYWdyKTpudWxsfWZ1bmN0aW9uIGF0KGUsdCxuPVtdKXtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkodCl8fGUubGVuZ3RoIT09dC5sZW5ndGh8fGUubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3QgYT1OdW1iZXIodFswXSk7aWYoIShhPjApKXJldHVybiBudWxsO2NvbnN0IG89W107bGV0IHM9IiI7Zm9yKGxldCBjPTA7YzxlLmxlbmd0aDtjKz0xKXtjb25zdCBsPXR5cGVvZiB0W2NdPT0ic3RyaW5nIiYmL14tP1xkKyhcLlxkKyk/JC8udGVzdCh0W2NdKT9OdW1iZXIodFtjXSk6TmFOO2lmKCF0ZShlW2NdKXx8ZVtjXTw9c3x8IShsPjApKXJldHVybiBudWxsO3M9ZVtjXSxvLnB1c2goe2RhdGU6ZVtjXSx2YWx1ZTpsL2EtMX0pfWNvbnN0IGQ9QXJyYXkuaXNBcnJheShuKT9uLmZpbHRlcih0ZSk6W107cmV0dXJue3BvaW50czpvLGdhcERhdGVzOmR9fWNvbnN0IHN0PTU7ZnVuY3Rpb24gb3QoZSx0PVtdKXtjb25zdCBuPWUuc2xpY2UoMSkubWFwKChsLHApPT4oTChsLmRhdGUpLUwoZVtwXS5kYXRlKSkvODY0ZTUpLGE9Wy4uLm5dLnNvcnQoKGwscCk9PmwtcCksbz1hLmxlbmd0aD9hW01hdGguZmxvb3IoYS5sZW5ndGgvMildOjEscz1NYXRoLm1heChzdCxvKjIuNSksZD1bXTtsZXQgYz0wO2ZvcihsZXQgbD0xO2w8ZS5sZW5ndGg7bCs9MSkobltsLTFdPnN8fHQuc29tZShmPT5mPmVbbC0xXS5kYXRlJiZmPGVbbF0uZGF0ZSkpJiYoZC5wdXNoKFtjLGwtMV0pLGM9bCk7cmV0dXJuIGUubGVuZ3RoJiZkLnB1c2goW2MsZS5sZW5ndGgtMV0pLGR9Y29uc3QgaGU9Y2U7ZnVuY3Rpb24gQ2UoKXt0cnl7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP251bGw6d2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gaXQoZT1DZSgpKXt0cnl7Y29uc3QgdD1lPy5nZXRJdGVtKEVlKTtpZih0PT1udWxsKXJldHVyblsuLi5oZV07Y29uc3Qgbj1KU09OLnBhcnNlKHQpO2lmKCFBcnJheS5pc0FycmF5KG4pKXJldHVyblsuLi5oZV07Y29uc3QgYT1uZXcgU2V0KEYpLG89bi5maWx0ZXIocz0+dHlwZW9mIHM9PSJzdHJpbmciJiZhLmhhcyhzKSk7cmV0dXJuIEYuZmlsdGVyKHM9Pm8uaW5jbHVkZXMocykpfWNhdGNoe3JldHVyblsuLi5oZV19fWZ1bmN0aW9uIGN0KGUsdD1DZSgpKXt0cnl7dD8uc2V0SXRlbShFZSxKU09OLnN0cmluZ2lmeShGLmZpbHRlcihuPT5lLmluY2x1ZGVzKG4pKSkpfWNhdGNoe319ZnVuY3Rpb24gbHQoZSl7Y29uc3QgdD1lLmZsYXRNYXAoYT0+YS5tYXAobz0+by52YWx1ZSoxMDApKSxuPUJlKHQpO3JldHVybnttaW46bi5taW4vMTAwLG1heDpuLm1heC8xMDAsdGlja3M6bi50aWNrcy5tYXAoYT0+YS8xMDApLGRpZ2l0czpuLmRpZ2l0c319ZnVuY3Rpb24gZHQoZSx0KXtsZXQgbj0wLGE9ZS5sZW5ndGgtMTtmb3IoO248PWE7KXtjb25zdCBvPW4rYT4+MTtpZihlW29dLmRhdGU9PT10KXJldHVybiBlW29dLnZhbHVlO2Vbb10uZGF0ZTx0P249bysxOmE9by0xfXJldHVybiBudWxsfWZ1bmN0aW9uIHV0KGUsdCxuLGEpe2NvbnN0IG89ZS5tYXAoKGMsbCk9Pih7eTpjLGluZGV4Omx9KSkuc29ydCgoYyxsKT0+Yy55LWwueSkscz1vLm1hcChjPT5jLnkpO2ZvcihsZXQgYz0wO2M8cy5sZW5ndGg7Yys9MSlzW2NdPU1hdGgubWF4KGM9PT0wP246c1tjLTFdK3Qsc1tjXSk7Zm9yKGxldCBjPXMubGVuZ3RoLTE7Yz49MDtjLT0xKXtjb25zdCBsPWM9PT1zLmxlbmd0aC0xP2E6c1tjKzFdLXQ7c1tjXT1NYXRoLm1pbihzW2NdLGwpfWNvbnN0IGQ9bmV3IEFycmF5KGUubGVuZ3RoKTtyZXR1cm4gby5mb3JFYWNoKChjLGwpPT57ZFtjLmluZGV4XT1zW2xdfSksZH1jb25zdCBwdD0icXNsRGVza01vY2siO2Z1bmN0aW9uIGh0KGUsdCl7Y29uc3Qgbj1uZXcgVVJMU2VhcmNoUGFyYW1zKGUpLmdldCgibW9jayIpLGE9cz0+e2lmKHMhPT1udWxsKXJldHVybiBzPT09IjEifHxzPT09Im9rInx8cz09PSJ0cnVlIj8ib2siOnM9PT0iZGVncmFkZWQifHxzPT09ImZhaWwiP3M6bnVsbH0sbz1hKG4pO3JldHVybiBvIT09dm9pZCAwP286YSh0KT8/bnVsbH1jb25zdCBmdD17b2s6ITEsZXJyb3I6InN0b3JlX3VuYXZhaWxhYmxlIixyZWFzb25fY29kZToic3RvcmVfdW5hdmFpbGFibGUiLHJlYXNvbjoiTW9jayBzY2VuYXJpbzogdGhlIHJlYWQgbW9kZWwgc3RvcmUgaXMgdW5hdmFpbGFibGUuIn0sbXQ9e3Nlc3Npb246KCk9PmVlKCgpPT5pbXBvcnQoIi4vc2Vzc2lvbi1EZTNOVDRyTy5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMCwxXSkpLHJpYmJvbjooKT0+ZWUoKCk9PmltcG9ydCgiLi9yaWJib24tRFY4TXhWdk4uanMiKSxfX3ZpdGVfX21hcERlcHMoWzIsMV0pKSxvdmVydmlldzooKT0+ZWUoKCk9PmltcG9ydCgiLi9vdmVydmlldy1CbkQ4MVRpeS5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMywxXSkpLHBlcmZvcm1hbmNlOigpPT5lZSgoKT0+aW1wb3J0KCIuL3BlcmZvcm1hbmNlLVN3eXF3ZGlMLmpzIiksX192aXRlX19tYXBEZXBzKFs0LDFdKSl9LGd0PWU9PmU+MD9uZXcgUHJvbWlzZSh0PT5zZXRUaW1lb3V0KHQsZSkpOlByb21pc2UucmVzb2x2ZSgpO2FzeW5jIGZ1bmN0aW9uIHl0KGUsdCxuKXtpZihhd2FpdCBndChuKSx0PT09ImZhaWwiKXRocm93IG5ldyBPZSg1MDMsZnQpO2NvbnN0IGE9YXdhaXQgbXRbZV0oKTtyZXR1cm4gc3RydWN0dXJlZENsb25lKGFbdF0pfWNvbnN0IGJ0PXtzZXNzaW9uOiJsaXZlIixyaWJib246Im1vY2siLG92ZXJ2aWV3OiJtb2NrIixwZXJmb3JtYW5jZToibW9jayJ9O2NsYXNzIHd0IGV4dGVuZHMgRXJyb3J7ZW5kcG9pbnQ7Y29uc3RydWN0b3IodCl7c3VwZXIoYGRlc2tfY29udHJhY3RfbWlzbWF0Y2g6JHt0fWApLHRoaXMuZW5kcG9pbnQ9dH19ZnVuY3Rpb24geHQoZSl7Y29uc3QgdD1lLmZldGNoSnNvbj8/KHM9PkxlKHMpKSxuPWUuc291cmNlcz8/YnQsYT1lLmRlbGF5TXM/PzI1MDthc3luYyBmdW5jdGlvbiBvKHMsZCxjKXtjb25zdCBsPWUuZm9yY2VkU2NlbmFyaW8/PyhuW3NdPT09Im1vY2siPyJvayI6bnVsbCkscD1sP2F3YWl0IHl0KHMsbCxhKTphd2FpdCB0KGQpO2lmKCFjKHApKXRocm93IG5ldyB3dChzKTtyZXR1cm57ZGF0YTpwLHNvdXJjZTpsPyJtb2NrIjoibGl2ZSIsc2NlbmFyaW86bH19cmV0dXJue3Nlc3Npb246KCk9Pm8oInNlc3Npb24iLCIvYXBpL3Nlc3Npb24iLEZlKSxyaWJib246cz0+bygicmliYm9uIixgL2FwaS9kZXNrL3JpYmJvbiR7cyYmL15cZHs0fS1cZHsyfS1cZHsyfSQvLnRlc3Qocyk/YD9kYXRlPSR7c31gOiIifWAsS2UpLG92ZXJ2aWV3OigpPT5vKCJvdmVydmlldyIsIi9hcGkvZGVzay9vdmVydmlldyIsVmUpLHBlcmZvcm1hbmNlOigpPT5vKCJwZXJmb3JtYW5jZSIsIi9hcGkvZGVzay9wZXJmb3JtYW5jZSIsWGUpLGFzeW5jIGJlbmNobWFya3MocyxkLGMpe2lmKGQ9PT0ibW9jayIpe2lmKGM9PT0iZmFpbCIpdGhyb3cgbmV3IEVycm9yKCJiZW5jaG1hcmtzX21vY2tfZmFpbHVyZSIpO3JldHVybihhd2FpdCBlZSgoKT0+aW1wb3J0KCIuL3BlcmZvcm1hbmNlLVN3eXF3ZGlMLmpzIiksX192aXRlX19tYXBEZXBzKFs0LDFdKSkpLmJlbmNobWFya1Jlc3BvbnNlKHMuc3RhcnQscy5lbmQsYz09PSJkZWdyYWRlZCI/ImRlZ3JhZGVkIjoib2siKX1yZXR1cm4gdChgJHtZZX0/c3RhcnQ9JHtzLnN0YXJ0fSZlbmQ9JHtzLmVuZH1gKX19fWNvbnN0IGt0PXsiYWdlLnMiOiJ7c30g56eSIiwiYWdlLm0iOiJ7bX0g5YiG6ZKfIiwiYWdlLmhtIjoie2h9IOWwj+aXtiB7bX0g5YiGIiwiYWdlLmRoIjoie2R9IOWkqSB7aH0g5bCP5pe2IiwiYWdlLmFnbyI6InthZ2V95YmNIiwiY2xvY2sudXRjIjoie3RpbWV9IFVUQyIsIndlZWtkYXkuMCI6IuWRqOaXpSIsIndlZWtkYXkuMSI6IuWRqOS4gCIsIndlZWtkYXkuMiI6IuWRqOS6jCIsIndlZWtkYXkuMyI6IuWRqOS4iSIsIndlZWtkYXkuNCI6IuWRqOWbmyIsIndlZWtkYXkuNSI6IuWRqOS6lCIsIndlZWtkYXkuNiI6IuWRqOWFrSIsImRhdGUubW9udGhfZGF5Ijoie21vbnRofeaciHtkYXl95pelIHt3ZWVrZGF5fSIsInJlYWQudW5rbm93biI6IuacquefpSIsInJlYWQudW5rbm93bl9tYXJrIjoiPyIsInJlYWQuc3RhbGUiOiLlt7Lov4fmnJ8gwrcge2FnZX3liY0iLCJyZWFkLnJlYXNvbi5uZXZlcl9yZWFkIjoi5LuO5pyq6K+75Y+WIiwicmVhZC5yZWFzb24ucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJyZWFkLnJlYXNvbi5zb3VyY2VfdW5hdmFpbGFibGUiOiLmnaXmupDkuI3lj6/nlKgiLCJyZWFkLnJlYXNvbi5pZGVudGl0eV91bnZlcmlmaWVkIjoi6Lqr5Lu95pyq6aqM6K+BIiwicmVhZC5yZWFzb24ubm90X3N1cHBvcnRlZCI6IuS4jeaUr+aMgSIsInJlYWQucmVhc29uLmluc3VmZmljaWVudF9oaXN0b3J5Ijoi5Y6G5Y+y5LiN6LazIiwicmVhZC5yZWFzb24ub3RoZXIiOiLljp/lm6DmnKrnn6UiLCJyZWFkLnVua25vd25fbm90X3N0b3BwZWQiOiLmnKrnn6XkuI3nrYnkuo7lt7LlgZzmraIiLCJydW50aW1lLnJ1bm5pbmciOiLov5DooYzkuK0iLCJydW50aW1lLnN0b3BwZWQiOiLlt7LlgZzmraIiLCJydW50aW1lLnVua25vd24iOiLov5DooYznirbmgIHmnKrnn6UiLCJjb25maWcuc3luY2VkIjoi5L+d5a2YID0g5bmz5Y+wIiwiY29uZmlnLmRyaWZ0Ijoi5YGP56a7IMK3IHtjb3VudH0g6aG5IiwiY29uZmlnLnVua25vd24iOiLphY3nva7mnKrnn6UiLCJjb21wYXJlLm1hdGNoIjoi5LiA6Ie0IiwiY29tcGFyZS5kcmlmdCI6IuWBj+emuyIsImNvbXBhcmUudW5rbm93biI6IuacquefpSIsIm1vZGUubGl2ZSI6IuWunuebmCIsIm1vZGUucGFwZXIiOiLmqKHmi5/nm5giLCJtb2RlLmRyeV9ydW4iOiLmvJTnu4MiLCJzZXZlcml0eS5jcml0aWNhbCI6Iue0p+aApSIsInNldmVyaXR5Lndhcm5pbmciOiLorablkYoiLCJzZXZlcml0eS5pbmZvIjoi5L+h5oGvIiwiZnJlc2huZXNzLnJlYWR5Ijoi5pWw5o2u5paw6bKcIMK3IHthZ2V95YmNIiwiZnJlc2huZXNzLnN0YWxlIjoi5pWw5o2u5bey6L+H5pyfIMK3IHthZ2V95YmNIiwiZnJlc2huZXNzLnVuYXZhaWxhYmxlIjoi5pWw5o2u5LiN5Y+v55SoIiwiYmFzaXMubmF0aXZlX2lia3JfdHdyIjoi5pe26Ze05Yqg5p2D77yISUJLUu+8iSIsImJhc2lzLm5hdl9jaGFuZ2VfdW5hZGp1c3RlZCI6IuWHgOi1hOS6p+WPmOWMlu+8jOacquaJo+mZpOWHuuWFpemHkSIsImJhc2lzLm1peGVkIjoi5re35ZCI5Y+j5b6EIiwiYmFzaXMudW5hdmFpbGFibGUiOiLmlLbnm4rlj6PlvoTkuI3lj6/nlKgiLCJkcmF3ZG93bi5vayI6IuWbnuaSpOato+W4uCIsImRyYXdkb3duLm5lYXJfbGltaXQiOiLlm57mkqTmjqXov5HkuIrpmZAiLCJkcmF3ZG93bi5icmVhY2hlZCI6IuWbnuaSpOi2heWHuuS4iumZkCIsImRyYXdkb3duLnVua25vd24iOiLlm57mkqTmnKrnn6UiLCJtb2NrLmJhZGdlIjoi5qih5ouf5pWw5o2uIiwic2hlbGwuYnJhbmQiOiJRdWFudFN0cmF0ZWd5TGFiIiwic2hlbGwubmF2X2xhYmVsIjoi5Li75a+86IiqIiwibmF2Lm92ZXJ2aWV3Ijoi5oC76KeIIiwibmF2LmFjY291bnRzIjoi6LSm5oi3IiwibmF2LnN3aXRjaCI6IuWIh+aNoiIsIm5hdi5wZXJmb3JtYW5jZSI6IuS4mue7qSIsIm5hdi5hbGVydHMiOiLmj5DphpIiLCJuYXYubG9ncyI6IuaXpeW/lyIsIm5hdi5ob3RrZXkiOiLlv6vmjbfplK4ge2tleX0iLCJuYXYuYWxlcnRfYmFkZ2UiOiJ7Y291bnR9IOadoeacquWkhOeQhuaPkOmGkiIsImdhdGV3YXkuYWxsX3JlYWNoYWJsZSI6Iue9keWFs+WPr+i+viIsImdhdGV3YXkuZGVncmFkZWQiOiLnvZHlhbPpg6jliIblj6/ovr4iLCJnYXRld2F5LmRvd24iOiLnvZHlhbPkuI3lj6/ovr4iLCJnYXRld2F5LnN0YWxlIjoi572R5YWz5pWw5o2u5bey6L+H5pyfIMK3IHthZ2V95YmNIiwiZ2F0ZXdheS51bmtub3duIjoi572R5YWz54q25oCB5pyq55+lIiwiZ2F0ZXdheS5sb2FkaW5nIjoi5q2j5Zyo6K+75Y+W6L+Q6KGM54q25oCBIiwiZ2F0ZXdheS5mYWlsZWQiOiLov5DooYznirbmgIHor7vlj5blpLHotKUiLCJjbG9jay5sb2NhbCI6Int0aW1lfSBVVEMgwrcg5pys5py65pe26ZKfIiwibGFuZy5sYWJlbCI6IueVjOmdouivreiogCIsInRoZW1lLnRvX2RhcmsiOiLliIfmjaLliLDmt7HoibIiLCJ0aGVtZS50b19saWdodCI6IuWIh+aNouWIsOa1heiJsiIsIm1vY2suc2NlbmFyaW8iOiLmqKHmi5/mlbDmja4gwrcge3NjZW5hcmlvfSIsIm1vY2sudGl0bGUiOiLov5nkupvmlbDmja7mmK/npLrkvovvvIzkuI3mmK/kvaDnmoTotKbmiLfjgIIiLCJhY2Nlc3MudGl0bGUiOiLpnIDopoHnmbvlvZUiLCJhY2Nlc3MuYm9keSI6IueZu+W9leWQjuaJjeiDveafpeeci+aOp+WItuWPsOOAgiIsImFjY2Vzcy5kZW5pZWQiOiLov5nkuKrotKblj7fmsqHmnInorr/pl67mnYPpmZDjgIIiLCJhY2Nlc3MubG9naW4iOiLnmbvlvZUiLCJhY2Nlc3MucmV0cnkiOiLph43or5UiLCJhY2Nlc3MuZXJyb3IiOiLml6Dms5Xor7vlj5bnmbvlvZXnirbmgIHjgIIiLCJhY2Nlc3MubG9hZGluZyI6Iuato+WcqOehruiupOeZu+W9leeKtuaAgeKApiIsInN0dWIuZXllYnJvdyI6IuesrCB7cGhhc2V9IOmYtuauteS4iue6vyIsInN0dWIuc291cmNlcyI6IuaVsOaNruaOpeWPoyIsInN0dWIucGxhbm5lZCI6Iui/meS4gOmhteS8muaciSIsInN0dWIubm90ZSI6IuW9k+WJjeaYr+mqqOaetumhtemdou+8jOi/mOayoeacieaOpeWFpeaVsOaNru+8jOS5n+S4jeS8muWPkei1t+S7u+S9leaTjeS9nOOAgiIsInBhZ2Uub3ZlcnZpZXcuaGVhZGxpbmUiOiLkuIDlj6Xor53jgIHkuIDkuKrmlbDlrZfjgIHkuIDku7bpnIDopoHkvaDlgZrnmoTkuovjgIIiLCJwYWdlLm92ZXJ2aWV3LmJvZHkiOiLlh4DotYTkuqflkozotbDlir/jgIHpnIDopoHkvaDlpITnkIbnmoTkuovpobnjgIHpo47pmanovrnnlYzjgIHmr4/kuKrnrZbnlaXnmoTljaHniYfvvIzku6Xlj4rku4rlpKnnmoTov5DooYzjgIIiLCJwYWdlLm92ZXJ2aWV3LnBhcnRzIjoi5YeA6LWE5Lqn5LiO6LWw5Yq/fOmcgOimgeS9oOWkhOeQhnzpo47pmanovrnnlYx8562W55Wl5Y2h54mHfOS7iuaXpei/kOihjCIsInBhZ2UuYWNjb3VudHMuaGVhZGxpbmUiOiLmr4/lrrbliLjllYbkuIDlvKDljaHvvIzphY3nva7lt67lvILkuIDnnLznnIvmuIXjgIIiLCJwYWdlLmFjY291bnRzLmJvZHkiOiLliLjllYbov57mjqXkuI7lh63or4HjgIHkv53lrZjlgLzkuI7lubPlj7Dor7vlm57nmoTpgJDpobnlr7nmr5TjgIHmjIHku5PlkozotKbmiLfkv6Hmga/jgIIiLCJwYWdlLmFjY291bnRzLnBhcnRzIjoi5Yi45ZWG54q25oCBfOS/neWtmCB2cyDlubPlj7Dor7vlm5585oyB5LuTfOi0puaIt+S/oeaBryIsInBhZ2Uuc3dpdGNoLmhlYWRsaW5lIjoi5a6J5YWo5YiH5o2i77yM5LiN5Lya5LiL5Y2V44CCIiwicGFnZS5zd2l0Y2guYm9keSI6IuS6lOatpeWujOaIkO+8muebruagh+OAgeetlueVpeOAgeW3ruW8guS4jumihOajgOOAgei+k+WFpeWwvuWPt+ehruiupOOAgeivu+WbnumqjOivgeOAguWIh+aNouWKn+iDveWwmuacquaOpemAmuOAgiIsInBhZ2Uuc3dpdGNoLnBhcnRzIjoi55uu5qCHfOetlueVpXzlt67lvILkuI7pooTmo4B856Gu6K6kfOmqjOivgXzku4XlgZzmraIiLCJwYWdlLnBlcmZvcm1hbmNlLmhlYWRsaW5lIjoi5Y+q55S755yf5a6e5a2Y5Zyo55qE5Y6G5Y+y44CCIiwicGFnZS5wZXJmb3JtYW5jZS5ib2R5Ijoi5pS255uK5Y+j5b6E44CB5YWz6ZSu5oyH5qCH44CB57uE5ZCI5LiO5Z+65YeG6LWw5Yq/44CB5pyI5bqm5pS255uK5ZKM5ZCE562W55Wl6LSh54yu44CCIiwicGFnZS5wZXJmb3JtYW5jZS5wYXJ0cyI6IuaUtuebiuWPo+W+hHzlhbPplK7mjIfmoId86LWw5Yq/5a+55q+UfOaciOW6puaUtuebinznrZbnlaXotKHnjK4iLCJwYWdlLmFsZXJ0cy5oZWFkbGluZSI6IuWPquaYvuekuuWAvOW+l+S9oOazqOaEj+eahOS+i+WkluOAgiIsInBhZ2UuYWxlcnRzLmJvZHkiOiLmjInkuKXph43nqIvluqbnrZvpgInmnKrlpITnkIblkozov5HmnJ/mj5DphpLvvIzku6Xlj4rmj5DphpLnmoTmipXpgJLnirbmgIHjgIIiLCJwYWdlLmFsZXJ0cy5wYXJ0cyI6IuS4pemHjeeoi+W6puetm+mAiXzmnKrlpITnkIbkuI7ov5HmnJ985oqV6YCS5rig6YGTIiwicGFnZS5sb2dzLmhlYWRsaW5lIjoi6L+Q6KGM6K6w5b2V5ZKM5pel5b+X77yM5Y6f5qC35pi+56S644CCIiwicGFnZS5sb2dzLmJvZHkiOiLku4rlpKnnmoTluILlnLrml7bmrrXkuI7ov5DooYzorrDlvZXvvIzku6Xlj4rlj6/nrZvpgInjgIHlj6/mmoLlgZznmoTlrp7ml7bml6Xlv5fjgIIiLCJwYWdlLmxvZ3MucGFydHMiOiLluILlnLrml7bmrrV86L+Q6KGM6K6w5b2VfOaXpeW/l+etm+mAiXzlrp7ml7bot5/ouKoiLCJwZXJmLmNoYXJ0LnRpdGxlIjoi57Sv6K6h5pS255uKIiwicGVyZi5jaGFydC5hcmlhIjoi57uE5ZCI5LiO5omA6YCJ5Z+65YeG55qE57Sv6K6h5pS255uK6LWw5Yq/5Zu+IiwicGVyZi5wb3J0Zm9saW8iOiLnu4TlkIgiLCJwZXJmLmJlbmNoLnNweCI6Iuagh+aZriA1MDAiLCJwZXJmLmJlbmNoLm5keCI6Iue6s+aWr+i+vuWFiyAxMDAiLCJwZXJmLmJlbmNoLnJ1dCI6Iue9l+e0oCAyMDAwIiwicGVyZi5iZW5jaC5kamkiOiLpgZPnkLzmlq8iLCJwZXJmLmJlbmNoLnNveCI6Iui0ueWfjuWNiuWvvOS9k+aMh+aVsO+8iFNPWFgg5Luj55CG77yJIiwicGVyZi5iZW5jaC53b3JsZCI6Ik1TQ0kg5LiW55WM77yIVVJUSCDku6PnkIbvvIkiLCJwZXJmLmJlbmNoLmVtIjoiTVNDSSDmlrDlhbTluILlnLrvvIhFRU0g5Luj55CG77yJIiwicGVyZi5iZW5jaC5ncm91cCI6IuWfuuWHhiIsInBlcmYubW9yZSI6IuabtOWkmuWfuuWHhiIsInBlcmYubW9yZS5ub3RlIjoi6L+Z5Lqb5Z+65YeG5LulIEVURiDku7fmoLzlm57miqXkvZzku6PnkIbvvIzlubbpnZ7mjIfmlbDmnKzouqvjgIIiLCJwZXJmLmhpZGRlbiI6IuW3sumakOiXjyIsInBlcmYudW5hdmFpbGFibGUiOiLmlbDmja7kuI3lj6/nlKgiLCJwZXJmLmZyb20iOiLoh6oge2RhdGV9IOi1tyIsInBlcmYudGFibGUudGl0bGUiOiLln7rlh4blr7nmr5QiLCJwZXJmLmNvbC5uYW1lIjoi5bqP5YiXIiwicGVyZi5jb2wucmV0dXJuIjoi5pS255uKIiwicGVyZi5jb2wuY2FnciI6IuW5tOWMliIsInBlcmYuY29sLm1kZCI6IuacgOWkp+WbnuaSpCIsInBlcmYuY29sLmV4Y2VzcyI6Iui2hemineaUtuebiu+8iOeCue+8iSIsInBlcmYucHRzIjoi54K5IiwicGVyZi5leGNlc3Mubm90ZSI6Iui2hemineaUtuebiiA9IOe7hOWQiOaUtuebiiDiiJIg5Z+65YeG5pS255uK77yM5Y2V5L2N5Li655m+5YiG54K577yM56qX5Y+j55u45ZCM77yb5LuF5Zyo5Y+M5pa55a6M5pW06KaG55uW6K+l56qX5Y+j5pe25pi+56S644CCIiwicGVyZi5rcGkuY2FnciI6IuW5tOWMluaUtuebiiIsInBlcmYua3BpLnZzX3NweCI6Iui+g+agh+aZriA1MDAge2R9IOS4queZvuWIhueCuSIsInBlcmYua3BpLnZzX3VuYXZhaWxhYmxlIjoi5qCH5pmuIDUwMCDlr7nmr5TkuI3lj6/nlKgiLCJwZXJmLmZvb3QiOiLln7rlh4bkuLogRVRGIOS7o+eQhiDCtyB7YmFzaXN9IMK3IOaIquiHsyB7ZGF0ZX0iLCJwZXJmLmZvb3Qubm9uZSI6IuatpOeql+WPo+WGheayoeacieWPr+eUqOeahOWfuuWHhuaVsOaNruOAgiIsInBlcmYuYmFzaXMuZXRmX2Nsb3NlX3ByaWNlX3JldHVybiI6IuacquWkjeadg+aUtuebmOS7t+aUtuebiu+8jOS4jeWQq+iCoeaBr+WGjeaKlei1hCIsInBlcmYuZmV0Y2hfZmFpbGVkIjoi5Z+65YeG5pWw5o2u5Yqg6L295aSx6LSl77yM5LuF5pi+56S657uE5ZCI44CCIiwicGVyZi5wb3J0Zm9saW9fdW5hdmFpbGFibGUiOiLnu4TlkIjljoblj7LkuI3lj6/nlKjvvIzlm6DmraTkuI3mmL7npLrlr7nmr5TjgIIiLCJwZXJmLmxvYWRpbmciOiLmraPlnKjliqDovb3kuJrnu6nigKYiLCJwZXJmLm1vY2tfbm90ZSI6IumihOiniOaVsOaNru+8muacrOmhteeahOe7hOWQiOS4juWfuuWHhuabsue6v+Wdh+S4uuWQiOaIkOaVsOaNruOAgiIsInBlcmYucmVhZG91dC5ub25lIjoi5bCG6byg5qCH56e75Yiw5Zu+5LiK44CB6L276Kem5oiW6IGa54Sm5Zu+6KGo5p+l55yL5pWw5YC844CCIn0sdnQ9eyJhZ2UucyI6IntzfSBzIiwiYWdlLm0iOiJ7bX0gbWluIiwiYWdlLmhtIjoie2h9IGgge219IG0iLCJhZ2UuZGgiOiJ7ZH0gZCB7aH0gaCIsImFnZS5hZ28iOiJ7YWdlfSBhZ28iLCJjbG9jay51dGMiOiJ7dGltZX0gVVRDIiwid2Vla2RheS4wIjoiU3VuIiwid2Vla2RheS4xIjoiTW9uIiwid2Vla2RheS4yIjoiVHVlIiwid2Vla2RheS4zIjoiV2VkIiwid2Vla2RheS40IjoiVGh1Iiwid2Vla2RheS41IjoiRnJpIiwid2Vla2RheS42IjoiU2F0IiwiZGF0ZS5tb250aF9kYXkiOiJ7d2Vla2RheX0ge2RheX0ge21vbnRofSIsInJlYWQudW5rbm93biI6IlVua25vd24iLCJyZWFkLnVua25vd25fbWFyayI6Ij8iLCJyZWFkLnN0YWxlIjoiU3RhbGUgwrcge2FnZX0gYWdvIiwicmVhZC5yZWFzb24ubmV2ZXJfcmVhZCI6Ik5ldmVyIHJlYWQiLCJyZWFkLnJlYXNvbi5yZWFkX2ZhaWxlZCI6IlJlYWQgZmFpbGVkIiwicmVhZC5yZWFzb24uc291cmNlX3VuYXZhaWxhYmxlIjoiU291cmNlIHVuYXZhaWxhYmxlIiwicmVhZC5yZWFzb24uaWRlbnRpdHlfdW52ZXJpZmllZCI6IklkZW50aXR5IHVudmVyaWZpZWQiLCJyZWFkLnJlYXNvbi5ub3Rfc3VwcG9ydGVkIjoiTm90IHN1cHBvcnRlZCIsInJlYWQucmVhc29uLmluc3VmZmljaWVudF9oaXN0b3J5IjoiTm90IGVub3VnaCBoaXN0b3J5IiwicmVhZC5yZWFzb24ub3RoZXIiOiJVbmtub3duIHJlYXNvbiIsInJlYWQudW5rbm93bl9ub3Rfc3RvcHBlZCI6IlVua25vd24gaXMgbm90IHN0b3BwZWQiLCJydW50aW1lLnJ1bm5pbmciOiJSdW5uaW5nIiwicnVudGltZS5zdG9wcGVkIjoiU3RvcHBlZCIsInJ1bnRpbWUudW5rbm93biI6IlJ1bnRpbWUgdW5rbm93biIsImNvbmZpZy5zeW5jZWQiOiJTYXZlZCA9IFBsYXRmb3JtIiwiY29uZmlnLmRyaWZ0IjoiRHJpZnQgwrcge2NvdW50fSIsImNvbmZpZy51bmtub3duIjoiQ29uZmlnIHVua25vd24iLCJjb21wYXJlLm1hdGNoIjoiTWF0Y2giLCJjb21wYXJlLmRyaWZ0IjoiRHJpZnQiLCJjb21wYXJlLnVua25vd24iOiJVbmtub3duIiwibW9kZS5saXZlIjoiTGl2ZSIsIm1vZGUucGFwZXIiOiJQYXBlciIsIm1vZGUuZHJ5X3J1biI6IkRyeSBydW4iLCJzZXZlcml0eS5jcml0aWNhbCI6IkNyaXRpY2FsIiwic2V2ZXJpdHkud2FybmluZyI6Ildhcm5pbmciLCJzZXZlcml0eS5pbmZvIjoiSW5mbyIsImZyZXNobmVzcy5yZWFkeSI6IkFsbCBmZWVkcyBmcmVzaCDCtyB7YWdlfSBhZ28iLCJmcmVzaG5lc3Muc3RhbGUiOiJEYXRhIGlzIHN0YWxlIMK3IHthZ2V9IGFnbyIsImZyZXNobmVzcy51bmF2YWlsYWJsZSI6IkRhdGEgdW5hdmFpbGFibGUiLCJiYXNpcy5uYXRpdmVfaWJrcl90d3IiOiJUaW1lLXdlaWdodGVkIChJQktSKSIsImJhc2lzLm5hdl9jaGFuZ2VfdW5hZGp1c3RlZCI6Ik5BViBjaGFuZ2UsIG5vdCBjYXNoLWZsb3cgYWRqdXN0ZWQiLCJiYXNpcy5taXhlZCI6Ik1peGVkIGJhc2lzIiwiYmFzaXMudW5hdmFpbGFibGUiOiJSZXR1cm4gYmFzaXMgdW5hdmFpbGFibGUiLCJkcmF3ZG93bi5vayI6IkRyYXdkb3duIE9LIiwiZHJhd2Rvd24ubmVhcl9saW1pdCI6IkRyYXdkb3duIG5lYXIgbGltaXQiLCJkcmF3ZG93bi5icmVhY2hlZCI6IkRyYXdkb3duIG92ZXIgbGltaXQiLCJkcmF3ZG93bi51bmtub3duIjoiRHJhd2Rvd24gdW5rbm93biIsIm1vY2suYmFkZ2UiOiJNb2NrIGRhdGEiLCJzaGVsbC5icmFuZCI6IlF1YW50U3RyYXRlZ3lMYWIiLCJzaGVsbC5uYXZfbGFiZWwiOiJNYWluIG5hdmlnYXRpb24iLCJuYXYub3ZlcnZpZXciOiJPdmVydmlldyIsIm5hdi5hY2NvdW50cyI6IkFjY291bnRzIiwibmF2LnN3aXRjaCI6IlN3aXRjaCIsIm5hdi5wZXJmb3JtYW5jZSI6IlBlcmZvcm1hbmNlIiwibmF2LmFsZXJ0cyI6IkFsZXJ0cyIsIm5hdi5sb2dzIjoiTG9ncyIsIm5hdi5ob3RrZXkiOiJTaG9ydGN1dCB7a2V5fSIsIm5hdi5hbGVydF9iYWRnZSI6Intjb3VudH0gb3BlbiBhbGVydHMiLCJnYXRld2F5LmFsbF9yZWFjaGFibGUiOiJHYXRld2F5cyByZWFjaGFibGUiLCJnYXRld2F5LmRlZ3JhZGVkIjoiR2F0ZXdheXMgZGVncmFkZWQiLCJnYXRld2F5LmRvd24iOiJHYXRld2F5cyBkb3duIiwiZ2F0ZXdheS5zdGFsZSI6IkdhdGV3YXkgZGF0YSBzdGFsZSDCtyB7YWdlfSBhZ28iLCJnYXRld2F5LnVua25vd24iOiJHYXRld2F5IHN0YXRlIHVua25vd24iLCJnYXRld2F5LmxvYWRpbmciOiJSZWFkaW5nIHJ1bnRpbWUgc3RhdGUiLCJnYXRld2F5LmZhaWxlZCI6IlJ1bnRpbWUgc3RhdGUgcmVhZCBmYWlsZWQiLCJjbG9jay5sb2NhbCI6Int0aW1lfSBVVEMgwrcgbG9jYWwgY2xvY2siLCJsYW5nLmxhYmVsIjoiSW50ZXJmYWNlIGxhbmd1YWdlIiwidGhlbWUudG9fZGFyayI6IlN3aXRjaCB0byBkYXJrIiwidGhlbWUudG9fbGlnaHQiOiJTd2l0Y2ggdG8gbGlnaHQiLCJtb2NrLnNjZW5hcmlvIjoiTW9jayBkYXRhIMK3IHtzY2VuYXJpb30iLCJtb2NrLnRpdGxlIjoiVGhpcyBpcyBleGFtcGxlIGRhdGEsIG5vdCB5b3VyIGFjY291bnRzLiIsImFjY2Vzcy50aXRsZSI6IlNpZ24gaW4gcmVxdWlyZWQiLCJhY2Nlc3MuYm9keSI6IlNpZ24gaW4gdG8gb3BlbiB0aGUgY29uc29sZS4iLCJhY2Nlc3MuZGVuaWVkIjoiVGhpcyBhY2NvdW50IGRvZXMgbm90IGhhdmUgYWNjZXNzLiIsImFjY2Vzcy5sb2dpbiI6IlNpZ24gaW4iLCJhY2Nlc3MucmV0cnkiOiJSZXRyeSIsImFjY2Vzcy5lcnJvciI6IkNvdWxkIG5vdCByZWFkIHRoZSBzaWduLWluIHN0YXRlLiIsImFjY2Vzcy5sb2FkaW5nIjoiQ2hlY2tpbmcgc2lnbi1pbuKApiIsInN0dWIuZXllYnJvdyI6IkFycml2ZXMgaW4gcGhhc2Uge3BoYXNlfSIsInN0dWIuc291cmNlcyI6IkRhdGEgZW5kcG9pbnRzIiwic3R1Yi5wbGFubmVkIjoiVGhpcyBwYWdlIHdpbGwgc2hvdyIsInN0dWIubm90ZSI6IlRoaXMgaXMgdGhlIHNrZWxldG9uLiBJdCBzaG93cyBubyBhY2NvdW50IGRhdGEgeWV0IGFuZCBzdGFydHMgbm8gYWN0aW9uLiIsInBhZ2Uub3ZlcnZpZXcuaGVhZGxpbmUiOiJPbmUgc2VudGVuY2UsIG9uZSBudW1iZXIsIG9uZSB0aGluZyB0aGF0IG5lZWRzIHlvdS4iLCJwYWdlLm92ZXJ2aWV3LmJvZHkiOiJOQVYgYW5kIGl0cyBjdXJ2ZSwgd2hhdCBuZWVkcyB5b3UsIHRoZSByaXNrIGVudmVsb3BlLCBhIGNhcmQgcGVyIHN0cmF0ZWd5IGFuZCB0b2RheSdzIHJ1bnMuIiwicGFnZS5vdmVydmlldy5wYXJ0cyI6Ik5BViBhbmQgY3VydmV8TmVlZHMgeW91fFJpc2sgZW52ZWxvcGV8U3RyYXRlZ3kgY2FyZHN8VG9kYXkncyBydW5zIiwicGFnZS5hY2NvdW50cy5oZWFkbGluZSI6Ik9uZSBjYXJkIHBlciBicm9rZXIuIERyaWZ0IGluIHBsYWluIHNpZ2h0LiIsInBhZ2UuYWNjb3VudHMuYm9keSI6IkJyb2tlciBsaW5rcyBhbmQgY3JlZGVudGlhbHMsIHNhdmVkIHZzIHBsYXRmb3JtIHJlYWQtYmFjayBmaWVsZCBieSBmaWVsZCwgaG9sZGluZ3MgYW5kIGFjY291bnQgZmFjdHMuIiwicGFnZS5hY2NvdW50cy5wYXJ0cyI6IkJyb2tlciBoZWFsdGh8U2F2ZWQgdnMgcGxhdGZvcm18SG9sZGluZ3N8QWNjb3VudCBmYWN0cyIsInBhZ2Uuc3dpdGNoLmhlYWRsaW5lIjoiU3dpdGNoIHNhZmVseS4gTm8gb3JkZXIgaXMgcGxhY2VkLiIsInBhZ2Uuc3dpdGNoLmJvZHkiOiJGaXZlIHN0ZXBzOiB0YXJnZXQsIHN0cmF0ZWd5LCBkaWZmIGFuZCBwcmUtZmxpZ2h0LCBjb25maXJtIHdpdGggdGhlIGFjY291bnQgc3VmZml4LCB2ZXJpZnkgYnkgcmVhZC1iYWNrLiBTd2l0Y2hpbmcgaXMgbm90IGNvbm5lY3RlZCB5ZXQuIiwicGFnZS5zd2l0Y2gucGFydHMiOiJUYXJnZXR8U3RyYXRlZ3l8RGlmZiBhbmQgcHJlLWZsaWdodHxDb25maXJtfFZlcmlmeXxTdG9wIG9ubHkiLCJwYWdlLnBlcmZvcm1hbmNlLmhlYWRsaW5lIjoiT25seSB0aGUgaGlzdG9yeSB0aGF0IHJlYWxseSBleGlzdHMuIiwicGFnZS5wZXJmb3JtYW5jZS5ib2R5IjoiUmV0dXJuIGJhc2lzLCBrZXkgbWV0cmljcywgcG9ydGZvbGlvIHZzIGJlbmNobWFyaywgbW9udGhseSByZXR1cm5zIGFuZCBjb250cmlidXRpb24gYnkgc3RyYXRlZ3kuIiwicGFnZS5wZXJmb3JtYW5jZS5wYXJ0cyI6IlJldHVybiBiYXNpc3xLZXkgbWV0cmljc3xQb3J0Zm9saW8gdnMgYmVuY2htYXJrfE1vbnRobHkgcmV0dXJuc3xDb250cmlidXRpb24iLCJwYWdlLmFsZXJ0cy5oZWFkbGluZSI6Ik9ubHkgdGhlIGV4Y2VwdGlvbnMgd29ydGggeW91ciBhdHRlbnRpb24uIiwicGFnZS5hbGVydHMuYm9keSI6Ik9wZW4gYW5kIHJlY2VudCBhbGVydHMgZmlsdGVyZWQgYnkgc2V2ZXJpdHksIHBsdXMgaG93IGFsZXJ0cyBhcmUgZGVsaXZlcmVkLiIsInBhZ2UuYWxlcnRzLnBhcnRzIjoiU2V2ZXJpdHkgZmlsdGVyfE9wZW4gYW5kIHJlY2VudHxEZWxpdmVyeSIsInBhZ2UubG9ncy5oZWFkbGluZSI6IlJ1bnMgYW5kIGxvZ3MsIHNob3duIGFzIHBsYWluIHRleHQuIiwicGFnZS5sb2dzLmJvZHkiOiJUb2RheSdzIG1hcmtldCBzZXNzaW9ucyBhbmQgcnVuIHRhcGUsIGFuZCBhIGxpdmUgbG9nIHlvdSBjYW4gZmlsdGVyIGFuZCBwYXVzZS4iLCJwYWdlLmxvZ3MucGFydHMiOiJNYXJrZXQgc2Vzc2lvbnN8UnVuIHRhcGV8TG9nIGZpbHRlcnN8TGl2ZSB0YWlsIiwicGVyZi5jaGFydC50aXRsZSI6IkN1bXVsYXRpdmUgcmV0dXJuIiwicGVyZi5jaGFydC5hcmlhIjoiQ3VtdWxhdGl2ZSByZXR1cm4gb2YgdGhlIHBvcnRmb2xpbyBhbmQgdGhlIHNlbGVjdGVkIGJlbmNobWFya3MiLCJwZXJmLnBvcnRmb2xpbyI6IlBvcnRmb2xpbyIsInBlcmYuYmVuY2guc3B4IjoiUyZQIDUwMCIsInBlcmYuYmVuY2gubmR4IjoiTmFzZGFxLTEwMCIsInBlcmYuYmVuY2gucnV0IjoiUnVzc2VsbCAyMDAwIiwicGVyZi5iZW5jaC5kamkiOiJEb3cgSm9uZXMiLCJwZXJmLmJlbmNoLnNveCI6IlNPWCAodmlhIFNPWFgpIiwicGVyZi5iZW5jaC53b3JsZCI6Ik1TQ0kgV29ybGQgKHZpYSBVUlRIKSIsInBlcmYuYmVuY2guZW0iOiJNU0NJIEVNICh2aWEgRUVNKSIsInBlcmYuYmVuY2guZ3JvdXAiOiJCZW5jaG1hcmtzIiwicGVyZi5tb3JlIjoiTW9yZSBiZW5jaG1hcmtzIiwicGVyZi5tb3JlLm5vdGUiOiJUaGVzZSBhcmUgRVRGIHByaWNlLXJldHVybiBwcm94aWVzLCBub3QgdGhlIGluZGljZXMgdGhlbXNlbHZlcy4iLCJwZXJmLmhpZGRlbiI6ImhpZGRlbiIsInBlcmYudW5hdmFpbGFibGUiOiJEYXRhIHVuYXZhaWxhYmxlIiwicGVyZi5mcm9tIjoiRnJvbSB7ZGF0ZX0iLCJwZXJmLnRhYmxlLnRpdGxlIjoiQmVuY2htYXJrIGNvbXBhcmlzb24iLCJwZXJmLmNvbC5uYW1lIjoiU2VyaWVzIiwicGVyZi5jb2wucmV0dXJuIjoiUmV0dXJuIiwicGVyZi5jb2wuY2FnciI6IkNBR1IiLCJwZXJmLmNvbC5tZGQiOiJNYXggZHJhd2Rvd24iLCJwZXJmLmNvbC5leGNlc3MiOiJFeGNlc3MgcmV0dXJuIChwdHMpIiwicGVyZi5wdHMiOiJwdHMiLCJwZXJmLmV4Y2Vzcy5ub3RlIjoiRXhjZXNzIHJldHVybiA9IHBvcnRmb2xpbyByZXR1cm4g4oiSIGJlbmNobWFyayByZXR1cm4sIGluIHBlcmNlbnRhZ2UgcG9pbnRzLCBvdmVyIHRoZSBzYW1lIHdpbmRvdy4gU2hvd24gb25seSB3aGVuIGJvdGggY292ZXIgdGhlIHdob2xlIHdpbmRvdy4iLCJwZXJmLmtwaS5jYWdyIjoiQ0FHUiIsInBlcmYua3BpLnZzX3NweCI6IntkfSBwdHMgdnMgUyZQIDUwMCIsInBlcmYua3BpLnZzX3VuYXZhaWxhYmxlIjoiUyZQIDUwMCBjb21wYXJpc29uIHVuYXZhaWxhYmxlIiwicGVyZi5mb290IjoiQmVuY2htYXJrcyBhcmUgRVRGIHByb3hpZXMgwrcge2Jhc2lzfSDCtyBhcyBvZiB7ZGF0ZX0iLCJwZXJmLmZvb3Qubm9uZSI6Ik5vIGJlbmNobWFyayBoYXMgZGF0YSBmb3IgdGhpcyB3aW5kb3cuIiwicGVyZi5iYXNpcy5ldGZfY2xvc2VfcHJpY2VfcmV0dXJuIjoidW5hZGp1c3RlZCBjbG9zZSBwcmljZSByZXR1cm4sIGRpdmlkZW5kcyBub3QgcmVpbnZlc3RlZCIsInBlcmYuZmV0Y2hfZmFpbGVkIjoiQmVuY2htYXJrIGRhdGEgY291bGQgbm90IGJlIGxvYWRlZC4gVGhlIHBvcnRmb2xpbyBpcyBzaG93biBhbG9uZS4iLCJwZXJmLnBvcnRmb2xpb191bmF2YWlsYWJsZSI6IlBvcnRmb2xpbyBoaXN0b3J5IGlzIHVuYXZhaWxhYmxlLCBzbyBubyBjb21wYXJpc29uIGlzIHNob3duLiIsInBlcmYubG9hZGluZyI6IkxvYWRpbmcgcGVyZm9ybWFuY2XigKYiLCJwZXJmLm1vY2tfbm90ZSI6IlByZXZpZXcgZGF0YTogdGhlIHBvcnRmb2xpbyBhbmQgYmVuY2htYXJrIGN1cnZlcyBvbiB0aGlzIHBhZ2UgYXJlIHN5bnRoZXRpYy4iLCJwZXJmLnJlYWRvdXQubm9uZSI6IkhvdmVyLCB0b3VjaCBvciBmb2N1cyB0aGUgY2hhcnQgdG8gcmVhZCB2YWx1ZXMuIn0seGU9e3poOmt0LGVuOnZ0fTtmdW5jdGlvbiBWKGUsdCxuPXt9KXtyZXR1cm4oeGVbZV1bdF0/P3hlLnpoW3RdPz90KS5yZXBsYWNlKC9ceyhcdyspXH0vZywobyxzKT0+cyBpbiBuP1N0cmluZyhuW3NdKTpvKX1mdW5jdGlvbiBfdChlKXtyZXR1cm4odCxuKT0+VihlLHQsbil9ZnVuY3Rpb24gU3QoZSx0KXtpZihlPT09InpoInx8ZT09PSJ6aC1DTiIpcmV0dXJuInpoIjtpZihlPT09ImVuIilyZXR1cm4iZW4iO2Zvcihjb25zdCBuIG9mIHQpe2lmKC9eemgoPzotfCQpL2kudGVzdChuKSlyZXR1cm4iemgiO2lmKC9eZW4oPzotfCQpL2kudGVzdChuKSlyZXR1cm4iZW4ifXJldHVybiJ6aCJ9ZnVuY3Rpb24ganQoZSx0KXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFOdW1iZXIuaXNGaW5pdGUoZSl8fGU8MClyZXR1cm4gbnVsbDtjb25zdCBuPU1hdGguZmxvb3IoZSksYT1NYXRoLmZsb29yKG4vODY0MDApLG89TWF0aC5mbG9vcihuJTg2NDAwLzM2MDApLHM9TWF0aC5mbG9vcihuJTM2MDAvNjApO3JldHVybiBhPjA/Vih0LCJhZ2UuZGgiLHtkOmEsaDpsZShvKX0pOm8+MD9WKHQsImFnZS5obSIse2g6byxtOmxlKHMpfSk6cz4wP1YodCwiYWdlLm0iLHttOnN9KTpWKHQsImFnZS5zIix7czpufSl9Y29uc3QgTXQ9L15cZHs0fS1cZHsyfS1cZHsyfVRcZHsyfTpcZHsyfTpcZHsyfSg/OlwuXGQrKT9aJC87ZnVuY3Rpb24gZ2UoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmcifHwhTXQudGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBOdW1iZXIuaXNOYU4odC5nZXRUaW1lKCkpP251bGw6dH1jb25zdCBsZT1lPT5TdHJpbmcoZSkucGFkU3RhcnQoMiwiMCIpO2Z1bmN0aW9uIE50KGUpe2NvbnN0IHQ9Z2UoZSk7cmV0dXJuIHQ/YCR7bGUodC5nZXRVVENIb3VycygpKX06JHtsZSh0LmdldFVUQ01pbnV0ZXMoKSl9YDpudWxsfWNvbnN0IEV0PVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gQXQoZSx0KXtjb25zdCBuPWdlKGUpO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IGE9Vih0LGB3ZWVrZGF5LiR7bi5nZXRVVENEYXkoKX1gKSxvPXQ9PT0iemgiP1N0cmluZyhuLmdldFVUQ01vbnRoKCkrMSk6RXRbbi5nZXRVVENNb250aCgpXTtyZXR1cm4gVih0LCJkYXRlLm1vbnRoX2RheSIse21vbnRoOm8sZGF5Om4uZ2V0VVRDRGF0ZSgpLHdlZWtkYXk6YX0pfWZ1bmN0aW9uIFR0KGUsdCl7Y29uc3Qgbj1nZShlKTtyZXR1cm4gbj9uLmdldFRpbWUoKS10Om51bGx9ZnVuY3Rpb24gRHQoZSx0KXtyZXR1cm4gbmV3IERhdGUodCsoZT8/MCkpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvXC5cZHszfVokLywiWiIpfWNvbnN0IGRlPVsib3ZlcnZpZXciLCJhY2NvdW50cyIsInN3aXRjaCIsInBlcmZvcm1hbmNlIiwiYWxlcnRzIiwibG9ncyJdLEN0PXtzdHJhdGVneToic3dpdGNoIixob21lOiJvdmVydmlldyIsbG9nOiJsb2dzIixhbGVydDoiYWxlcnRzIixhY2NvdW50OiJhY2NvdW50cyIscGVyZjoicGVyZm9ybWFuY2UifSxSdD0vXiNcL2Rlc2soPzpbLz9dfCQpLztmdW5jdGlvbiBJdChlKXtyZXR1cm4gUnQudGVzdChlKX1mdW5jdGlvbiBrZShlKXtjb25zdCB0PWUucmVwbGFjZSgvXiNcL2Rlc2tcLz8vLCIiKSxbbixhPSIiXT10LnNwbGl0KCI/IiwyKSxvPShuLnNwbGl0KCIvIilbMF18fCJvdmVydmlldyIpLnRvTG93ZXJDYXNlKCk7cmV0dXJue3BhZ2U6ZGUuaW5jbHVkZXMobyk/bzpDdFtvXT8/Im92ZXJ2aWV3IixwYXJhbXM6bmV3IFVSTFNlYXJjaFBhcmFtcyhhKX19ZnVuY3Rpb24gZmUoZSl7cmV0dXJuYCMvZGVzay8ke2V9YH1mdW5jdGlvbiAkdChlKXtpZihlLmFsdEtleXx8ZS5jdHJsS2V5fHxlLm1ldGFLZXkpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnRhcmdldCxuPXQ/LnRhZ05hbWU/LnRvVXBwZXJDYXNlKCk7aWYobj09PSJJTlBVVCJ8fG49PT0iVEVYVEFSRUEifHxuPT09IlNFTEVDVCJ8fHQ/LmlzQ29udGVudEVkaXRhYmxlKXJldHVybiBudWxsO2NvbnN0IGE9TnVtYmVyLnBhcnNlSW50KGUua2V5LDEwKTtyZXR1cm4gU3RyaW5nKGEpPT09ZS5rZXkmJmE+PTEmJmE8PWRlLmxlbmd0aD9kZVthLTFdOm51bGx9ZnVuY3Rpb24gT3QoZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zKGUpLG49dC5nZXQoInRoZW1lIiksYT10LmdldCgibGFuZyIpO3JldHVybnt0aGVtZTpuPT09ImxpZ2h0Inx8bj09PSJkYXJrIj9uOm51bGwsbGFuZ3VhZ2U6YT09PSJ6aCJ8fGE9PT0iemgtQ04iPyJ6aCI6YT09PSJlbiI/ImVuIjpudWxsfX1mdW5jdGlvbiBMdChlKXtpZihlLnN0YXRlPT09ImxvYWRpbmciKXJldHVybiJsb2FkaW5nIjtpZihlLnN0YXRlIT09InJlYWR5IilyZXR1cm4iZXJyb3IiO2NvbnN0IHQ9ZS5yZXN1bHQ/LmRhdGE7cmV0dXJuIXR8fHR5cGVvZiB0IT0ib2JqZWN0Ij8iZXJyb3IiOnQuYWxsb3dlZD09PSEwJiZ0LmF1dGhlbnRpY2F0ZWQ9PT0hMD8ib3BlbiI6dC5hdXRoZW50aWNhdGVkPT09ITA/ImRlbmllZCI6ImxvZ2luIn1jb25zdCBQdD17b3ZlcnZpZXc6Ik00IDExbDgtNyA4IDd2OGExIDEgMCAwMS0xIDFoLTR2LTZIOXY2SDVhMSAxIDAgMDEtMS0xeiIsYWNjb3VudHM6Ik02LjUgNWgxMWEzIDMgMCAwMTMgM3Y4YTMgMyAwIDAxLTMgM2gtMTFhMyAzIDAgMDEtMy0zVjhhMyAzIDAgMDEzLTN6TTMuNSAxMGgxN003LjUgMTVoNCIsc3dpdGNoOiJNNyA0TDMgOGw0IDRNMyA4aDE0TTE3IDIwbDQtNC00LTRNMjEgMTZINyIscGVyZm9ybWFuY2U6Ik00IDE5VjVNNCAxOWgxNk04IDE1bDQtNSAzIDMgNS03IixhbGVydHM6Ik02IDE2VjExYTYgNiAwIDExMTIgMHY1bDIgMkg0ek0xMCAyMGEyIDIgMCAwMDQgMCIsbG9nczoiTTUgNWgxNE01IDEwaDE0TTUgMTVoOU01IDIwaDYiLHN1bjoiTTEyIDhhNCA0IDAgMTEwIDggNCA0IDAgMDEwLTh6TTEyIDJ2Mk0xMiAyMHYyTTQuOSA0LjlsMS40IDEuNE0xNy43IDE3LjdsMS40IDEuNE0yIDEyaDJNMjAgMTJoMk00LjkgMTkuMWwxLjQtMS40TTE3LjcgNi4zbDEuNC0xLjQiLG1vb246Ik0yMCAxNC41QTggOCAwIDAxOS41IDQgOCA4IDAgMTAyMCAxNC41eiJ9O2Z1bmN0aW9uIFJlKHtuYW1lOmV9KXtyZXR1cm4gci5qc3goInN2ZyIse2NsYXNzTmFtZToibXJkLWljb24iLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjciLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOnIuanN4KCJwYXRoIix7ZDpQdFtlXX0pfSl9ZnVuY3Rpb24genQoe3BhZ2U6ZSx0LGFsZXJ0Q291bnQ6bixvbk5hdmlnYXRlOmF9KXtyZXR1cm4gci5qc3hzKCJuYXYiLHtjbGFzc05hbWU6Im1yZC1kb2NrIiwiYXJpYS1sYWJlbCI6dCgic2hlbGwubmF2X2xhYmVsIiksY2hpbGRyZW46W3IuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbWFyayIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46ci5qc3goImkiLHt9KX0pLGRlLm1hcCgobyxzKT0+ci5qc3hzKCJhIix7aHJlZjpmZShvKSxjbGFzc05hbWU6Im1yZC1kb2NrLWl0ZW0iLCJhcmlhLWN1cnJlbnQiOm89PT1lPyJwYWdlIjp2b2lkIDAsImFyaWEta2V5c2hvcnRjdXRzIjpTdHJpbmcocysxKSx0aXRsZTp0KCJuYXYuaG90a2V5Iix7a2V5OnMrMX0pLG9uQ2xpY2s6ZD0+e2QuYnV0dG9uIT09MHx8ZC5tZXRhS2V5fHxkLmN0cmxLZXl8fGQuc2hpZnRLZXl8fGQuYWx0S2V5fHwoZC5wcmV2ZW50RGVmYXVsdCgpLGEobykpfSxjaGlsZHJlbjpbci5qc3goUmUse25hbWU6b30pLHIuanN4KCJzcGFuIix7Y2hpbGRyZW46dChgbmF2LiR7b31gKX0pLG89PT0iYWxlcnRzIiYmbiE9PW51bGwmJm4+MD9yLmpzeCgiZW0iLHtjbGFzc05hbWU6Im1yZC1iYWRnZSIsImFyaWEtbGFiZWwiOnQoIm5hdi5hbGVydF9iYWRnZSIse2NvdW50Om59KSxjaGlsZHJlbjpuPjk5PyI5OSsiOm59KTpudWxsXX0sbykpXX0pfWZ1bmN0aW9uIEJ0KGUpe2lmKGUua2luZD09PSJsb2FkaW5nIilyZXR1cm57a2V5OiJnYXRld2F5LmxvYWRpbmciLHRvbmU6Im11dGVkIn07aWYoZS5raW5kPT09ImZhaWxlZCIpcmV0dXJue2tleToiZ2F0ZXdheS5mYWlsZWQiLHRvbmU6InVua25vd24ifTtjb25zdCB0PWUucmVhZDtpZih0LnN0YXR1cz09PSJ1bmtub3duIilyZXR1cm57a2V5OiJnYXRld2F5LnVua25vd24iLHRvbmU6InVua25vd24ifTtpZih0LnN0YXR1cz09PSJzdGFsZSIpcmV0dXJue2tleToiZ2F0ZXdheS5zdGFsZSIsdG9uZToidW5rbm93biIsYWdlU2Vjb25kczp0LmFnZV9zZWNvbmRzfTtjb25zdCBuPXQudmFsdWU9PT0iYWxsX3JlYWNoYWJsZSI/Im9rIjp0LnZhbHVlPT09ImRlZ3JhZGVkIj8id2FybiI6InJpc2siO3JldHVybntrZXk6YGdhdGV3YXkuJHt0LnZhbHVlfWAsdG9uZTpufX1mdW5jdGlvbiBGdCh7cGFnZTplLHQsbGFuZ3VhZ2U6bix0aGVtZTphLGdhdGV3YXk6byxub3dJc286cyxzZXJ2ZXJDbG9jazpkLG1vY2s6Yyxvbkxhbmd1YWdlOmwsb25UaGVtZTpwfSl7Y29uc3QgZj1CdChvKSx5PU50KHMpPz8iLS06LS0iLHc9QXQocyxuKTtyZXR1cm4gci5qc3hzKCJoZWFkZXIiLHtjbGFzc05hbWU6Im1yZC10b3AiLGNoaWxkcmVuOltyLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNydW1iIixjaGlsZHJlbjpbci5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1jcnVtYi1icmFuZCIsY2hpbGRyZW46dCgic2hlbGwuYnJhbmQiKX0pLHIuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY3J1bWItc2VwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjoiLyJ9KSxyLmpzeCgiYiIse2NoaWxkcmVuOnQoYG5hdi4ke2V9YCl9KV19KSxyLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLXRvb2xzIixjaGlsZHJlbjpbYz9yLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWNoaXAgbXJkLWNoaXAtbW9jayIsdGl0bGU6dCgibW9jay50aXRsZSIpLGNoaWxkcmVuOmM9PT0ib2siP3QoIm1vY2suYmFkZ2UiKTp0KCJtb2NrLnNjZW5hcmlvIix7c2NlbmFyaW86Y30pfSk6bnVsbCxyLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im1yZC1jaGlwIiwiZGF0YS10b25lIjpmLnRvbmUscm9sZToic3RhdHVzIixjaGlsZHJlbjpbci5qc3goImkiLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHQoZi5rZXkse2FnZTpqdChmLmFnZVNlY29uZHMsbik/PyLigJQifSldfSksci5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2hpcCBtcmQtY2xvY2siLGNoaWxkcmVuOlt3P3IuanN4cygic3BhbiIse2NsYXNzTmFtZToibXJkLWNsb2NrLWRheSIsY2hpbGRyZW46W3csIiDCtyAiXX0pOm51bGwsZD90KCJjbG9jay51dGMiLHt0aW1lOnl9KTp0KCJjbG9jay5sb2NhbCIse3RpbWU6eX0pXX0pLHIuanN4cygic3BhbiIse2NsYXNzTmFtZToibXJkLXNlZyIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjp0KCJsYW5nLmxhYmVsIiksY2hpbGRyZW46W3IuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGxhbmc6InpoLUNOIiwiYXJpYS1wcmVzc2VkIjpuPT09InpoIixvbkNsaWNrOigpPT5sKCJ6aCIpLGNoaWxkcmVuOiLkuK0ifSksci5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsbGFuZzoiZW4iLCJhcmlhLXByZXNzZWQiOm49PT0iZW4iLG9uQ2xpY2s6KCk9PmwoImVuIiksY2hpbGRyZW46IkVOIn0pXX0pLHIuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToibXJkLWNoaXAgbXJkLWljb24tYnV0dG9uIixvbkNsaWNrOnAsImFyaWEtbGFiZWwiOnQoYT09PSJkYXJrIj8idGhlbWUudG9fbGlnaHQiOiJ0aGVtZS50b19kYXJrIiksdGl0bGU6dChhPT09ImRhcmsiPyJ0aGVtZS50b19saWdodCI6InRoZW1lLnRvX2RhcmsiKSxjaGlsZHJlbjpyLmpzeChSZSx7bmFtZTphPT09ImRhcmsiPyJtb29uIjoic3VuIn0pfSldfSldfSl9ZnVuY3Rpb24gSHQoZSl7Y29uc3R7cGFnZTp0LHQ6bixhbGVydENvdW50OmEsb25OYXZpZ2F0ZTpvLGNoaWxkcmVuOnMsLi4uZH09ZTtyZXR1cm4gci5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1yZCIsImRhdGEtcGFnZSI6dCxjaGlsZHJlbjpbci5qc3goenQse3BhZ2U6dCx0Om4sYWxlcnRDb3VudDphLG9uTmF2aWdhdGU6b30pLHIuanN4cygibWFpbiIse2NsYXNzTmFtZToibXJkLW1haW4iLGlkOiJtcmQtbWFpbiIsY2hpbGRyZW46W3IuanN4KEZ0LHtwYWdlOnQsdDpuLC4uLmR9KSxzXX0pXX0pfWZ1bmN0aW9uIFV0KHt0OmUsa2luZDp0LG9uUmV0cnk6bn0pe3JldHVybiByLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIG1yZC1hY2Nlc3MiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpbci5qc3goImgxIix7Y2xhc3NOYW1lOiJtcmQtc2VyaWYiLGNoaWxkcmVuOmUoImFjY2Vzcy50aXRsZSIpfSksci5qc3goInAiLHtjaGlsZHJlbjplKHQ9PT0ibG9naW4iPyJhY2Nlc3MuYm9keSI6dD09PSJkZW5pZWQiPyJhY2Nlc3MuZGVuaWVkIjoiYWNjZXNzLmVycm9yIil9KSx0PT09ImxvZ2luIj9yLmpzeCgiYSIse2NsYXNzTmFtZToibXJkLWJ1dHRvbiIsaHJlZjoiL2xvZ2luIixjaGlsZHJlbjplKCJhY2Nlc3MubG9naW4iKX0pOm51bGwsdD09PSJlcnJvciI/ci5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtYnV0dG9uIixvbkNsaWNrOm4sY2hpbGRyZW46ZSgiYWNjZXNzLnJldHJ5Iil9KTpudWxsXX0pfWNvbnN0IEt0PXtvdmVydmlldzp7cGhhc2U6NCxlbmRwb2ludHM6WyJHRVQgL2FwaS9kZXNrL292ZXJ2aWV3IiwiR0VUIC9hcGkvZGVzay9yaWJib24iXX0sYWNjb3VudHM6e3BoYXNlOjUsZW5kcG9pbnRzOlsiR0VUIC9hcGkvZGVzay9hY2NvdW50cyIsIkdFVCAvYXBpL2Rlc2svYWNjb3VudHMve3RhcmdldF9pZH0iLCJHRVQgL2FwaS9kZXNrL3RhcmdldHMve3RhcmdldF9pZH0vcmVhZGJhY2siLCJQT1NUIC9hcGkvZGVzay9yZWFkYmFja3MiXX0sc3dpdGNoOntwaGFzZTo2LGVuZHBvaW50czpbIkdFVCAvYXBpL2Rlc2svc3dpdGNoL3RhcmdldHMiLCJQT1NUIC9hcGkvZGVzay9zd2l0Y2gvcHJldmlld3MiLCJQT1NUIC9hcGkvZGVzay9zd2l0Y2gvcmVxdWVzdHMiLCJHRVQgL2FwaS9kZXNrL3N3aXRjaC9yZXF1ZXN0cy97cmVxdWVzdF9pZH0iXX0scGVyZm9ybWFuY2U6e3BoYXNlOjcsZW5kcG9pbnRzOlsiR0VUIC9hcGkvZGVzay9wZXJmb3JtYW5jZSIsIkdFVCAvYXBpL21hcmtldC1iZW5jaG1hcmsiXX0sYWxlcnRzOntwaGFzZTo4LGVuZHBvaW50czpbIkdFVCAvYXBpL2Rlc2svYWxlcnRzIiwiR0VUIC9hcGkvZGVzay9hbGVydHMvZGVsaXZlcnkiXX0sbG9nczp7cGhhc2U6OCxlbmRwb2ludHM6WyJHRVQgL2FwaS9kZXNrL3JpYmJvbiIsIkdFVCAvYXBpL2Rlc2svbG9ncyJdfX07ZnVuY3Rpb24gR3Qoe3BhZ2U6ZSx0fSl7Y29uc3Qgbj1LdFtlXSxhPXQoYHBhZ2UuJHtlfS5wYXJ0c2ApLnNwbGl0KCJ8Iik7cmV0dXJuIHIuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLXN0dWIiLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtcGFnZS10aXRsZSIsY2hpbGRyZW46W3IuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY2FyZCBtcmQtc3R1Yi1oZXJvIixjaGlsZHJlbjpbci5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46dCgic3R1Yi5leWVicm93Iix7cGhhc2U6bi5waGFzZX0pfSksci5qc3goImgxIix7aWQ6Im1yZC1wYWdlLXRpdGxlIixjbGFzc05hbWU6Im1yZC1zZXJpZiIsY2hpbGRyZW46dChgcGFnZS4ke2V9LmhlYWRsaW5lYCl9KSxyLmpzeCgicCIse2NoaWxkcmVuOnQoYHBhZ2UuJHtlfS5ib2R5YCl9KSxyLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtZ2xvdyIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KV19KSxyLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLXN0dWItZ3JpZCIsY2hpbGRyZW46W3IuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsY2hpbGRyZW46W3IuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0dWIucGxhbm5lZCIpfSksci5qc3goIm9sIix7Y2xhc3NOYW1lOiJtcmQtcGFydHMiLGNoaWxkcmVuOmEubWFwKChvLHMpPT5yLmpzeHMoImxpIix7Y2hpbGRyZW46W3IuanN4KCJiIix7Y2hpbGRyZW46U3RyaW5nKHMrMSkucGFkU3RhcnQoMiwiMCIpfSksb119LG8pKX0pXX0pLHIuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsY2hpbGRyZW46W3IuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0dWIuc291cmNlcyIpfSksci5qc3goInVsIix7Y2xhc3NOYW1lOiJtcmQtZW5kcG9pbnRzIixjaGlsZHJlbjpuLmVuZHBvaW50cy5tYXAobz0+ci5qc3goImxpIix7Y2hpbGRyZW46ci5qc3goImNvZGUiLHtjaGlsZHJlbjpvfSl9LG8pKX0pLHIuanN4KCJwIix7Y2xhc3NOYW1lOiJtcmQtbm90ZSIsY2hpbGRyZW46dCgic3R1Yi5ub3RlIil9KV19KV19KV19KX1jb25zdCBRPXtkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLG1pbldpZHRoOjB9LHJlPXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIn0sV3Q9e21hcmdpbjowLGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMn0saD17cGFnZTp7Li4uUSxnYXA6MTZ9LHRpdGxlOihlLHQpPT4oe21hcmdpbjowLGZvbnRTaXplOmU/dD8yMjoyNjp0PzI4OjMyLGxpbmVIZWlnaHQ6MS4yfSksbm90ZTpXdCxiZW5jaDp7Li4uUSxnYXA6MTR9LGtwaTp7Li4ucmUsYWxpZ25JdGVtczoiYmFzZWxpbmUiLGdhcDoiNHB4IDEycHgiLG1hcmdpblRvcDo4fSxrcGlWYWx1ZTplPT4oe2ZvbnRTaXplOmU/Mjg6MzIsbGluZUhlaWdodDoxfSksa3BpU3ViOntjb2xvcjoidmFyKC0tbXJkLWluay0yKSIsZm9udFNpemU6MTIuNX0sY2hpcHM6ey4uLnJlLGdhcDo4fSxleHRyYXM6ZT0+KHsuLi5RLGdhcDo4LGRpc3BsYXk6ZT8iZmxleCI6Im5vbmUifSksY2hpcDplPT4oe2NvbG9yOmU9PT0hMT8idmFyKC0tbXJkLWluay0zKSI6InZhcigtLW1yZC1pbmspIixiYWNrZ3JvdW5kOmU9PT0hMT8ibm9uZSI6dm9pZCAwLGZvbnRXZWlnaHQ6NTAwLGN1cnNvcjplPT09bnVsbD92b2lkIDA6InBvaW50ZXIifSksY2hlY2s6ZT0+KHtkaXNwbGF5OiJpbmxpbmUtZ3JpZCIscGxhY2VJdGVtczoiY2VudGVyIix3aWR0aDoxNCxoZWlnaHQ6MTQsYm9yZGVyUmFkaXVzOiI1MCUiLGZvbnRTaXplOjEwLGxpbmVIZWlnaHQ6MSxib3hTaGFkb3c6ZT8ibm9uZSI6Imluc2V0IDAgMCAwIDEuNXB4IHZhcigtLW1yZC1pbmstMykiLGJhY2tncm91bmQ6ZT8idmFyKC0tbXJkLWluaykiOnZvaWQgMCxjb2xvcjplPyJ2YXIoLS1tcmQtYmcpIjp2b2lkIDB9KSx0aWNrZXI6e2NvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250OiIxMXB4IHZhcigtLWZvbnQtbW9ubykifSx0YWJsZVdyYXA6ey4uLlEsZ2FwOjgsb3ZlcmZsb3dYOiJhdXRvIn0sdGFibGU6e3dpZHRoOiIxMDAlIixib3JkZXJDb2xsYXBzZToiY29sbGFwc2UiLGZvbnRTaXplOjEzfSx0aDooZSx0KT0+KHtwYWRkaW5nOnQ/IjhweCA0cHgiOiI5cHggMTBweCIsdGV4dEFsaWduOmU/ImxlZnQiOiJyaWdodCIsZm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGJvcmRlckJvdHRvbToiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsd2hpdGVTcGFjZTp0PyJub3JtYWwiOiJub3dyYXAifSkscm93SGVhZDplPT4oe3BhZGRpbmc6ZT8iOHB4IDRweCI6IjlweCAxMHB4Iix0ZXh0QWxpZ246ImxlZnQiLGZvbnRXZWlnaHQ6NTAwLGZvbnRTaXplOmU/MTEuNToxMyxib3JkZXJCb3R0b206IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLHdoaXRlU3BhY2U6ZT8ibm9ybWFsIjoibm93cmFwIn0pLHRkOihlLHQpPT4oe3BhZGRpbmc6ZT8iOHB4IDRweCI6IjlweCAxMHB4Iix0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJ2YXIoLS1mb250LW1vbm8pIixmb250U2l6ZTplPzExLjU6MTMsd2hpdGVTcGFjZToibm93cmFwIixib3JkZXJCb3R0b206IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLGNvbG9yOnR9KSxuYW1lOnsuLi5yZSxnYXA6OH0sc3RhdGU6ZT0+KHtmbGV4QmFzaXM6IjEwMCUiLG1hcmdpbkxlZnQ6ZT8wOjM0LGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMSxmb250V2VpZ2h0OjQwMH0pLHRhZzp7cGFkZGluZzoiMXB4IDhweCIsYm9yZGVyUmFkaXVzOjk5LGJveFNoYWRvdzoiaW5zZXQgMCAwIDAgMXB4IHZhcigtLW1yZC1saW5lKSIsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnQ6IjEwLjVweCB2YXIoLS1mb250LXNhbnMpIn0scm93VHI6KGUsdCk9Pih7b3BhY2l0eTplPy41OjEsYmFja2dyb3VuZDp0PyJ2YXIoLS1tcmQtcGFuZWwtMikiOnZvaWQgMH0pLHJlYWRvdXQ6ey4uLnJlLGdhcDoiNHB4IDE0cHgiLG1pbkhlaWdodDoyMixtYXJnaW5Cb3R0b206Nixmb250U2l6ZToxMn0scmVhZG91dEl0ZW06e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxoaW50Ontjb2xvcjoidmFyKC0tbXJkLWluay0zKSJ9LGRvdDplPT4oe3dpZHRoOjgsaGVpZ2h0OjgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YHZhcigke2V9KWB9KSx2YWx1ZTp7bWFyZ2luTGVmdDoiYXV0byIsZm9udDoiNTAwIDEycHggdmFyKC0tZm9udC1tb25vKSJ9LHRpcDp7Li4uUSxwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoxOCx6SW5kZXg6MixnYXA6NCxtaW5XaWR0aDoxNzAscGFkZGluZzoiMTBweCAxMnB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOiJ2YXIoLS1tcmQtcGFuZWwtMikiLGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsYm9yZGVyUmFkaXVzOjE0LGJveFNoYWRvdzoidmFyKC0tbXJkLXNoYWRvdykiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxzdmdCb3g6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbWluV2lkdGg6MH0sc3ZnOntkaXNwbGF5OiJibG9jayIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJ2aXNpYmxlIix0b3VjaEFjdGlvbjoicGFuLXkifX0scXQ9ZT0+ZT09PW51bGx8fGU9PT0wP3ZvaWQgMDplPjA/InZhcigtLW1yZC1taW50KSI6InZhcigtLW1yZC1jb3JhbCkiLHllPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gJChlLHQ9MSxuPSEwKXtpZihlPT09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4i4oCUIjtjb25zdCBhPU1hdGguYWJzKGUqMTAwKS50b0ZpeGVkKHQpO3JldHVybmAke051bWJlcihhKT09PTA/IiI6ZTwwPyLiiJIiOm4/IisiOiIifSR7YX0lYH1mdW5jdGlvbiB2ZShlLHQ9MSl7aWYoZT09PW51bGx8fCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIuKAlCI7Y29uc3Qgbj1NYXRoLmFicyhlKS50b0ZpeGVkKHQpO3JldHVybmAke051bWJlcihuKT09PTA/IiI6ZTwwPyLiiJIiOiIrIn0ke259YH1mdW5jdGlvbiB1ZShlLHQpe2lmKHQ9PT0iemgiKXJldHVybiBlO2NvbnN0W24sYSxvXT1lLnNwbGl0KCItIikubWFwKE51bWJlcik7cmV0dXJuYCR7b30gJHt5ZVthLTFdfSAke259YH1mdW5jdGlvbiBWdChlLHQpe2NvbnN0W24sYV09ZS5zcGxpdCgiLSIpLm1hcChOdW1iZXIpLG89U3RyaW5nKG4lMTAwKS5wYWRTdGFydCgyLCIwIik7cmV0dXJuIHQ9PT0iemgiP2Ake2995bm0JHthfeaciGA6YCR7eWVbYS0xXX0gJHtvfWB9ZnVuY3Rpb24gWHQoZSx0KXtjb25zdFssbixhXT1lLnNwbGl0KCItIikubWFwKE51bWJlcik7cmV0dXJuIHQ9PT0iemgiP2Ake1N0cmluZyhuKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKGEpLnBhZFN0YXJ0KDIsIjAiKX1gOmAke2F9ICR7eWVbbi0xXX1gfWNvbnN0IFl0PXtzdHJva2U6InZhcigtLW1yZC1saW5lKSIsc3Ryb2tlV2lkdGg6MX0sSnQ9e3N0cm9rZToidmFyKC0tbXJkLWluay0zKSIsc3Ryb2tlV2lkdGg6MS4yLG9wYWNpdHk6LjZ9LF9lPXtmaWxsOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250OiIxMXB4IHZhcigtLWZvbnQtbW9ubykifSxadD17Zm9udDoiNjAwIDExLjVweCB2YXIoLS1mb250LXNhbnMpIn0sUXQ9e2ZpbGw6InZhcigtLW1yZC1wKSIsb3BhY2l0eTouMX0sZW49e3N0cm9rZToidmFyKC0tbXJkLWluay0zKSIsc3Ryb2tlV2lkdGg6MSxzdHJva2VEYXNoYXJyYXk6IjMgMyJ9LHRuPTM0MCxubj0yNTAscm49NTYwO2Z1bmN0aW9uIFNlKGUpe2NvbnN0W3Qsbl09bS51c2VTdGF0ZShlKSxhPW0udXNlUmVmKGUpO3JldHVybiBtLnVzZUVmZmVjdCgoKT0+e2lmKHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cubWF0Y2hNZWRpYT8uKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXN8fHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU+InUiKXthLmN1cnJlbnQ9ZSxuKGUpO3JldHVybn1jb25zdCBzPWEuY3VycmVudCxkPXBlcmZvcm1hbmNlLm5vdygpO2xldCBjPTA7Y29uc3QgbD1wPT57Y29uc3QgZj1NYXRoLm1pbigxLChwLWQpLzE4MCk7YS5jdXJyZW50PXMrKGUtcykqKDEtKDEtZikqKjMpLG4oYS5jdXJyZW50KSxmPDEmJihjPXJlcXVlc3RBbmltYXRpb25GcmFtZShsKSl9O3JldHVybiBjPXJlcXVlc3RBbmltYXRpb25GcmFtZShsKSwoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUoYyl9LFtlXSksdH1mdW5jdGlvbiBhbihlLHQsbil7Y29uc3QgYT1MKGUuc3RhcnQpLG89TChlLmVuZCkscz0oby1hKS84NjRlNTtpZihzPDYyKXJldHVybiBBcnJheS5mcm9tKHtsZW5ndGg6bj8zOjV9LCh5LHcpPT57Y29uc3QgYj1uZXcgRGF0ZShhKyhvLWEpKncvKG4/Mjo0KSkudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKTtyZXR1cm57ZGF0ZTpiLHRleHQ6WHQoYix0KX19KTtjb25zdCBkPW5ldyBEYXRlKGEpLGM9TWF0aC5yb3VuZChzLzMwLjQ0KSxsPU1hdGgubWF4KDEsTWF0aC5jZWlsKGMvKG4/Mzo2KSkpLHA9W107bGV0IGY9RGF0ZS5VVEMoZC5nZXRVVENGdWxsWWVhcigpLGQuZ2V0VVRDTW9udGgoKSsxLDEpO2Zvcig7Zjw9bzspe2NvbnN0IHk9bmV3IERhdGUoZikudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKTtwLnB1c2goe2RhdGU6eSx0ZXh0OlZ0KHksdCl9KTtjb25zdCB3PW5ldyBEYXRlKGYpO2Y9RGF0ZS5VVEMody5nZXRVVENGdWxsWWVhcigpLHcuZ2V0VVRDTW9udGgoKStsLDEpfXJldHVybiBwfWZ1bmN0aW9uIHNuKHtsaW5lczplLHdpbmRvdzp0LGxhbmd1YWdlOm4sYXJpYUxhYmVsOmEsaGludDpvfSl7Y29uc3Qgcz1tLnVzZVJlZihudWxsKSxbZCxjXT1tLnVzZVN0YXRlKDg4MCksW2wscF09bS51c2VTdGF0ZShudWxsKTttLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGk9cy5jdXJyZW50O2lmKCFpfHwoYyhNYXRoLm1heCgyNjAsTWF0aC5yb3VuZChpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKXx8ODgwKSksdHlwZW9mIFJlc2l6ZU9ic2VydmVyPiJ1IikpcmV0dXJuO2NvbnN0IF89bmV3IFJlc2l6ZU9ic2VydmVyKEU9PmMoTWF0aC5tYXgoMjYwLE1hdGgucm91bmQoRVswXS5jb250ZW50UmVjdC53aWR0aCkpKSk7cmV0dXJuIF8ub2JzZXJ2ZShpKSwoKT0+Xy5kaXNjb25uZWN0KCl9LFtdKTtjb25zdCBmPWQ8cm4seT1mP25uOnRuLGI9e3RvcDoxNCxyaWdodDpmPzU4OjE1MCxib3R0b206MjYsbGVmdDo0NH0saj1tLnVzZU1lbW8oKCk9Pmx0KGUubWFwKGk9PmkucG9pbnRzKSksW2VdKSxSPVNlKGoubWluKSxYPVNlKGoubWF4KSx6PUwodC5zdGFydCksVT1MKHQuZW5kKSxQPU1hdGgubWF4KDQwLGQtYi5sZWZ0LWIucmlnaHQpLEc9eS1iLnRvcC1iLmJvdHRvbSxBPWk9PmIubGVmdCsoVT09PXo/MDooTChpKS16KS8oVS16KSpQKSxTPWk9PmIudG9wKygxLShpLVIpLyhYLVJ8fDEpKSpHLFQ9bS51c2VNZW1vKCgpPT5bLi4ubmV3IFNldChlLmZsYXRNYXAoaT0+aS5wb2ludHMubWFwKF89Pl8uZGF0ZSkpKV0uc29ydCgpLFtlXSkseD1sJiZULmluY2x1ZGVzKGwpP2w6bnVsbCxZPWk9Pntjb25zdCBfPXMuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIV98fCFULmxlbmd0aClyZXR1cm47Y29uc3QgRT16KyhpLV8ubGVmdC1iLmxlZnQpL1AqKFUteik7bGV0IEI9VFswXTtmb3IoY29uc3QgSSBvZiBUKU1hdGguYWJzKEwoSSktRSk8TWF0aC5hYnMoTChCKS1FKSYmKEI9SSk7cChCKX0sdT1pPT57aWYoIVQubGVuZ3RoKXJldHVybjtjb25zdCBfPXg/VC5pbmRleE9mKHgpOi0xO2lmKGkua2V5PT09IkFycm93UmlnaHQiKXAoVFtNYXRoLm1pbihULmxlbmd0aC0xLF8rMSldKTtlbHNlIGlmKGkua2V5PT09IkFycm93TGVmdCIpcChUW01hdGgubWF4KDAsXzwwP1QubGVuZ3RoLTE6Xy0xKV0pO2Vsc2UgaWYoaS5rZXk9PT0iRXNjYXBlIilwKG51bGwpO2Vsc2UgcmV0dXJuO2kucHJldmVudERlZmF1bHQoKX0saz11dChlLm1hcChpPT5pLnBvaW50cy5sZW5ndGg/UyhpLnBvaW50c1tpLnBvaW50cy5sZW5ndGgtMV0udmFsdWUpOjApLGY/MTQ6MTYsYi50b3ArNix5LWIuYm90dG9tKSxNPXg/ZS5tYXAoaT0+KHtsaW5lOmksdmFsdWU6ZHQoaS5wb2ludHMseCl9KSk6W10sSz14P0EoeCk+Yi5sZWZ0K1AqLjU1OiExO3JldHVybiByLmpzeHMoImRpdiIse3N0eWxlOmguc3ZnQm94LHJlZjpzLCJkYXRhLW5hcnJvdyI6Zj8idHJ1ZSI6ImZhbHNlIixjaGlsZHJlbjpbZj9yLmpzeCgiZGl2Iix7c3R5bGU6aC5yZWFkb3V0LCJhcmlhLWxpdmUiOiJvZmYiLGNoaWxkcmVuOng/ci5qc3hzKHIuRnJhZ21lbnQse2NoaWxkcmVuOltyLmpzeCgiYiIse2NoaWxkcmVuOnVlKHgsbil9KSxNLm1hcCgoe2xpbmU6aSx2YWx1ZTpffSk9PnIuanN4cygic3BhbiIse3N0eWxlOmgucmVhZG91dEl0ZW0sImRhdGEtc2VyaWVzIjppLmlkLGNoaWxkcmVuOltyLmpzeCgiaSIse3N0eWxlOmguZG90KGkudG9rZW4pLCJhcmlhLWhpZGRlbiI6InRydWUifSksaS5sYWJlbCwiICIsci5qc3goImVtIix7c3R5bGU6aC52YWx1ZSxjaGlsZHJlbjokKF8pfSldfSxpLmlkKSldfSk6ci5qc3goInNwYW4iLHtzdHlsZTpoLmhpbnQsY2hpbGRyZW46b30pfSk6bnVsbCxyLmpzeHMoInN2ZyIse3N0eWxlOmguc3ZnLHdpZHRoOmQsaGVpZ2h0Onksdmlld0JveDpgMCAwICR7ZH0gJHt5fWAscm9sZToiaW1nIiwiYXJpYS1sYWJlbCI6YSx0YWJJbmRleDowLG9uUG9pbnRlck1vdmU6aT0+WShpLmNsaWVudFgpLG9uUG9pbnRlckRvd246aT0+WShpLmNsaWVudFgpLG9uUG9pbnRlckxlYXZlOigpPT5wKG51bGwpLG9uS2V5RG93bjp1LG9uQmx1cjooKT0+cChudWxsKSxjaGlsZHJlbjpbai50aWNrcy5tYXAoaT0+ci5qc3hzKCJnIix7Y2hpbGRyZW46W3IuanN4KCJsaW5lIix7c3R5bGU6aT09PTA/SnQ6WXQseDE6Yi5sZWZ0LHgyOmIubGVmdCtQLHkxOlMoaSkseTI6UyhpKX0pLHIuanN4KCJ0ZXh0Iix7c3R5bGU6X2UseDpiLmxlZnQtOCx5OlMoaSkrNCx0ZXh0QW5jaG9yOiJlbmQiLGNoaWxkcmVuOiQoaSxqLmRpZ2l0cywhMSl9KV19LGkpKSxhbih0LG4sZikubWFwKGk9PnIuanN4KCJ0ZXh0Iix7c3R5bGU6X2UseDpBKGkuZGF0ZSkseTp5LTYsdGV4dEFuY2hvcjoibWlkZGxlIixjaGlsZHJlbjppLnRleHR9LGkuZGF0ZSkpLGUubWFwKGk9Pntjb25zdCBfPW90KGkucG9pbnRzLGkuZ2FwRGF0ZXMpO3JldHVybiByLmpzeCgiZyIseyJkYXRhLXNlcmllcyI6aS5pZCxzdHlsZTp7Y29sb3I6YHZhcigke2kudG9rZW59KWB9LGNoaWxkcmVuOl8ubWFwKChbRSxCXSk9Pntjb25zdCBJPWkucG9pbnRzLnNsaWNlKEUsQisxKTtpZihJLmxlbmd0aDwyKXJldHVybiByLmpzeCgiY2lyY2xlIix7Y3g6QShJWzBdLmRhdGUpLGN5OlMoSVswXS52YWx1ZSkscjoyLGZpbGw6ImN1cnJlbnRDb2xvciJ9LEUpO2NvbnN0IGc9SS5tYXAoKEMsVyk9PmAke1c/IkwiOiJNIn0ke0EoQy5kYXRlKS50b0ZpeGVkKDEpfSAke1MoQy52YWx1ZSkudG9GaXhlZCgxKX1gKS5qb2luKCIiKTtyZXR1cm4gci5qc3hzKCJnIix7Y2hpbGRyZW46W2kucHJpbWFyeT9yLmpzeCgicGF0aCIse3N0eWxlOlF0LGQ6YCR7Z31MJHtBKElbSS5sZW5ndGgtMV0uZGF0ZSkudG9GaXhlZCgxKX0gJHtTKDApLnRvRml4ZWQoMSl9TCR7QShJWzBdLmRhdGUpLnRvRml4ZWQoMSl9ICR7UygwKS50b0ZpeGVkKDEpfVpgfSk6bnVsbCxyLmpzeCgicGF0aCIse2NsYXNzTmFtZToibXJkLWJjaGFydC1saW5lIixkOmcsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOmkucHJpbWFyeT8yLjY6MS44LHN0cm9rZURhc2hhcnJheTppLmRhc2h8fHZvaWQgMCxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0sRSl9KX0saS5pZCl9KSxlLm1hcCgoaSxfKT0+e2NvbnN0IEU9aS5wb2ludHNbaS5wb2ludHMubGVuZ3RoLTFdO2lmKCFFKXJldHVybiBudWxsO2NvbnN0IEI9Zj8kKEUudmFsdWUpOmAke2kubGFiZWx9ICR7JChFLnZhbHVlKX1gO3JldHVybiByLmpzeCgidGV4dCIse2NsYXNzTmFtZToibXJkLWJjaGFydC1lbmQiLCJkYXRhLXNlcmllcyI6aS5pZCx4OmIubGVmdCtQKzgseTprW19dKzQsc3R5bGU6ey4uLlp0LGZpbGw6YHZhcigke2kudG9rZW59KWB9LGNoaWxkcmVuOkJ9LGkuaWQpfSkseD9yLmpzeHMoImciLHtjaGlsZHJlbjpbci5qc3goImxpbmUiLHtzdHlsZTplbix4MTpBKHgpLHgyOkEoeCkseTE6Yi50b3AseTI6Yi50b3ArR30pLE0ubWFwKCh7bGluZTppLHZhbHVlOl99KT0+Xz09PW51bGw/bnVsbDpyLmpzeCgiY2lyY2xlIix7ImRhdGEtc2VyaWVzIjppLmlkLGN4OkEoeCksY3k6UyhfKSxyOjQsc3R5bGU6e2ZpbGw6YHZhcigke2kudG9rZW59KWAsc3Ryb2tlOiJ2YXIoLS1tcmQtcGFuZWwtMikiLHN0cm9rZVdpZHRoOjJ9fSxpLmlkKSldfSk6bnVsbF19KSx4JiYhZj9yLmpzeHMoImRpdiIse3N0eWxlOnsuLi5oLnRpcCwuLi5LP3tyaWdodDpkLUEoeCkrMTJ9OntsZWZ0OkEoeCkrMTJ9fSwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpbci5qc3goImIiLHtjaGlsZHJlbjp1ZSh4LG4pfSksTS5tYXAoKHtsaW5lOmksdmFsdWU6X30pPT5yLmpzeHMoInNwYW4iLHtzdHlsZTp7Li4uaC5yZWFkb3V0SXRlbSxkaXNwbGF5OiJmbGV4In0sImRhdGEtc2VyaWVzIjppLmlkLGNoaWxkcmVuOltyLmpzeCgiaSIse3N0eWxlOmguZG90KGkudG9rZW4pfSksaS5sYWJlbCxyLmpzeCgiZW0iLHtzdHlsZTpoLnZhbHVlLGNoaWxkcmVuOiQoXyl9KV19LGkuaWQpKV19KTpudWxsXX0pfWZ1bmN0aW9uIEllKCl7Y29uc3QgZT0iKG1heC13aWR0aDogNzYwcHgpIixbdCxuXT1tLnVzZVN0YXRlKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/d2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlczohMSk7cmV0dXJuIG0udXNlRWZmZWN0KCgpPT57Y29uc3QgYT13aW5kb3cubWF0Y2hNZWRpYT8uKGUpO2lmKCFhKXJldHVybjtjb25zdCBvPSgpPT5uKGEubWF0Y2hlcyk7cmV0dXJuIG8oKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyksKCk9PmEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX0sW10pLHR9ZnVuY3Rpb24gb24oZSx0KXtyZXR1cm4gZS5jb3ZlcmFnZT09PSJmdWxsIj8iZnVsbCI6ZS5jb3ZlcmFnZT09PSJwYXJ0aWFsIiYmZS5iYXNlRGF0ZSYmZS5iYXNlRGF0ZT50PyJmcm9tIjoidW5hdmFpbGFibGUifWZ1bmN0aW9uIGFlKHt0b2tlbjplLGRhc2g6dCxwcmltYXJ5Om59KXtyZXR1cm4gci5qc3goInN2ZyIse3N0eWxlOntmbGV4OiJub25lIn0sd2lkdGg6IjI2IixoZWlnaHQ6IjgiLHZpZXdCb3g6IjAgMCAyNiA4IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixmb2N1c2FibGU6ImZhbHNlIixjaGlsZHJlbjpyLmpzeCgibGluZSIse3gxOiIxIix4MjoiMjUiLHkxOiI0Iix5MjoiNCIsc3Ryb2tlOmB2YXIoJHtlfSlgLHN0cm9rZVdpZHRoOm4/Mi42OjEuOCxzdHJva2VEYXNoYXJyYXk6dHx8dm9pZCAwLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pfSl9ZnVuY3Rpb24gY24oe3Q6ZSxsYW5ndWFnZTp0LHBvcnRmb2xpbzpuLHBvcnRmb2xpb1N0YXRzOmEsd2luZG93Om8sYmVuY2htYXJrczpzLGluaXRpYWxTZWxlY3Rpb246ZH0pe2NvbnN0W2MsbF09bS51c2VTdGF0ZSgoKT0+ZD9bLi4uZF06aXQoKSksW3AsZl09bS51c2VTdGF0ZSgoKT0+Yy5zb21lKHU9Pk9bdV0uZXh0cmEpKSx5PUllKCksdz1zLnBoYXNlPT09InJlYWR5Ij9zLm1vZGVsOm51bGwsYj11PT57Y29uc3Qgaz1jLmluY2x1ZGVzKHUpP2MuZmlsdGVyKE09Pk0hPT11KTpbLi4uYyx1XTtsKGspLGN0KGspfSxqPXU9PmUoYHBlcmYuYmVuY2guJHt1fWApLFI9bS51c2VNZW1vKCgpPT57Y29uc3QgdT17fTtmb3IoY29uc3QgayBvZiBGKXtjb25zdCBNPXc/dy5zZXJpZXNba106bnVsbCxLPU0/b24oTSxvLnN0YXJ0KToidW5hdmFpbGFibGUiO3Vba109e3NlcmllczpNLHN0YXRlOkssc3RhdHM6TSYmTS5jb3ZlcmFnZT09PSJmdWxsIj9UZShNLnBvaW50cyk6bnVsbH19cmV0dXJuIHV9LFt3LG8uc3RhcnRdKSxYPVt7aWQ6InBmIixsYWJlbDplKCJwZXJmLnBvcnRmb2xpbyIpLHRva2VuOiItLW1yZC1wIixkYXNoOiIiLHByaW1hcnk6ITAscG9pbnRzOm4ucG9pbnRzLGdhcERhdGVzOm4uZ2FwRGF0ZXN9LC4uLkYuZmlsdGVyKHU9PmMuaW5jbHVkZXModSkmJlJbdV0uc3RhdHMhPT1udWxsKS5tYXAodT0+KHtpZDp1LGxhYmVsOmoodSksdG9rZW46T1t1XS50b2tlbixkYXNoOk9bdV0uZGFzaCxwcmltYXJ5OiExLHBvaW50czpSW3VdLnNlcmllcz8ucG9pbnRzPz9bXSxnYXBEYXRlczpbXX0pKV0sej1SLnNweC5zdGF0cyxVPXJ0KGEseiksUD1GLmZsYXRNYXAodT0+Ult1XS5zdGF0cyYmUlt1XS5zZXJpZXM/Lmxhc3REYXRlfHxbXSksRz1QLmxlbmd0aD9bLi4uUF0uc29ydCgpLmF0KC0xKTpudWxsLEE9dz93LnJldHVybkJhc2lzPT09ImV0Zl9jbG9zZV9wcmljZV9yZXR1cm4iP2UoInBlcmYuYmFzaXMuZXRmX2Nsb3NlX3ByaWNlX3JldHVybiIpOncucmV0dXJuQmFzaXM6IiIsUz1wP0Y6Y2UsVD11PT57Y29uc3Qgaz1jLmluY2x1ZGVzKHUpO3JldHVybiByLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6aC5jaGlwKGspLCJhcmlhLXByZXNzZWQiOmssImRhdGEtc2VyaWVzIjp1LCJkYXRhLXN0YXRlIjpSW3VdLnN0YXRlLG9uQ2xpY2s6KCk9PmIodSksY2hpbGRyZW46W3IuanN4KCJzcGFuIix7c3R5bGU6aC5jaGVjayhrKSwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjprPyLinJMiOiIifSksci5qc3goYWUse3Rva2VuOk9bdV0udG9rZW4sZGFzaDpPW3VdLmRhc2h9KSxyLmpzeCgic3BhbiIse2NoaWxkcmVuOmoodSl9KSxPW3VdLmV4dHJhP251bGw6ci5qc3goInNtYWxsIix7c3R5bGU6aC50aWNrZXIsY2hpbGRyZW46T1t1XS5zeW1ib2x9KV19LHUpfSx4PXU9PnIuanN4KCJ0ZCIse3N0eWxlOmgudGQoeSksY2hpbGRyZW46dX0pLFk9KHUsayk9PnU9PT0iZnJvbSImJms/LmJhc2VEYXRlP2UoInBlcmYuZnJvbSIse2RhdGU6dWUoay5iYXNlRGF0ZSx0KX0pOnU9PT0idW5hdmFpbGFibGUiP2UoInBlcmYudW5hdmFpbGFibGUiKTpudWxsO3JldHVybiByLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpoLmJlbmNoLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtYmVuY2gtdGl0bGUiLCJkYXRhLWJlbmNobWFyay1waGFzZSI6cy5waGFzZSxjaGlsZHJlbjpbci5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbci5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1iZW5jaC10aXRsZSIsY2hpbGRyZW46ZSgicGVyZi5jaGFydC50aXRsZSIpfSksci5qc3hzKCJkaXYiLHtzdHlsZTpoLmtwaSxjaGlsZHJlbjpbci5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46ZSgicGVyZi5rcGkuY2FnciIpfSksci5qc3goImIiLHtjbGFzc05hbWU6Im1yZC1zZXJpZiIsc3R5bGU6aC5rcGlWYWx1ZSh5KSxjaGlsZHJlbjokKGEuY2FnciwxLCExKX0pLHIuanN4KCJzbWFsbCIse3N0eWxlOmgua3BpU3ViLCJkYXRhLXRlc3RpZCI6ImNhZ3ItZ2FwIixjaGlsZHJlbjpVPT09bnVsbD9lKCJwZXJmLmtwaS52c191bmF2YWlsYWJsZSIpOmUoInBlcmYua3BpLnZzX3NweCIse2Q6dmUoVSl9KX0pXX0pXX0pLHMucGhhc2U9PT0iZmFpbGVkIj9yLmpzeCgicCIse3N0eWxlOmgubm90ZSxyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOmUoInBlcmYuZmV0Y2hfZmFpbGVkIil9KTpudWxsLHIuanN4cygiZGl2Iix7c3R5bGU6aC5jaGlwcyxyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOmUoInBlcmYuYmVuY2guZ3JvdXAiKSxjaGlsZHJlbjpbci5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6aC5jaGlwKG51bGwpLGNoaWxkcmVuOltyLmpzeChhZSx7dG9rZW46Ii0tbXJkLXAiLGRhc2g6IiIscHJpbWFyeTohMH0pLHIuanN4KCJzcGFuIix7Y2hpbGRyZW46ZSgicGVyZi5wb3J0Zm9saW8iKX0pXX0pLGNlLm1hcChUKSxyLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6aC5jaGlwKCEwKSwiYXJpYS1leHBhbmRlZCI6cCwiYXJpYS1jb250cm9scyI6Im1yZC1iZW5jaC1leHRyYXMiLG9uQ2xpY2s6KCk9PmYodT0+IXUpLGNoaWxkcmVuOltlKCJwZXJmLm1vcmUiKSwiICIsci5qc3goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpwPyLiiJIiOiIrIn0pXX0pXX0pLHIuanN4cygiZGl2Iix7aWQ6Im1yZC1iZW5jaC1leHRyYXMiLHN0eWxlOmguZXh0cmFzKHApLGhpZGRlbjohcCxjaGlsZHJlbjpbci5qc3goImRpdiIse3N0eWxlOmguY2hpcHMscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjplKCJwZXJmLm1vcmUiKSxjaGlsZHJlbjpBZS5tYXAoVCl9KSxyLmpzeCgicCIse3N0eWxlOmgubm90ZSxjaGlsZHJlbjplKCJwZXJmLm1vcmUubm90ZSIpfSldfSksci5qc3goc24se2xpbmVzOlgsd2luZG93Om8sbGFuZ3VhZ2U6dCxhcmlhTGFiZWw6ZSgicGVyZi5jaGFydC5hcmlhIiksaGludDplKCJwZXJmLnJlYWRvdXQubm9uZSIpfSksci5qc3goInAiLHtzdHlsZTpoLm5vdGUsY2hpbGRyZW46Rz9lKCJwZXJmLmZvb3QiLHtiYXNpczpBLGRhdGU6dWUoRyx0KX0pOmUoInBlcmYuZm9vdC5ub25lIil9KSxyLmpzeHMoImRpdiIse3N0eWxlOmgudGFibGVXcmFwLGNoaWxkcmVuOltyLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjplKCJwZXJmLnRhYmxlLnRpdGxlIil9KSxyLmpzeHMoInRhYmxlIix7c3R5bGU6aC50YWJsZSxjaGlsZHJlbjpbci5qc3goInRoZWFkIix7Y2hpbGRyZW46ci5qc3hzKCJ0ciIse2NoaWxkcmVuOltyLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTpoLnRoKCEwLHkpLGNoaWxkcmVuOmUoInBlcmYuY29sLm5hbWUiKX0pLHIuanN4KCJ0aCIse3Njb3BlOiJjb2wiLHN0eWxlOmgudGgoITEseSksY2hpbGRyZW46ZSgicGVyZi5jb2wucmV0dXJuIil9KSxyLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTpoLnRoKCExLHkpLGNoaWxkcmVuOmUoInBlcmYuY29sLmNhZ3IiKX0pLHIuanN4KCJ0aCIse3Njb3BlOiJjb2wiLHN0eWxlOmgudGgoITEseSksY2hpbGRyZW46ZSgicGVyZi5jb2wubWRkIil9KSxyLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTpoLnRoKCExLHkpLGNoaWxkcmVuOmUoInBlcmYuY29sLmV4Y2VzcyIpfSldfSl9KSxyLmpzeHMoInRib2R5Iix7Y2hpbGRyZW46W3IuanN4cygidHIiLHtzdHlsZTpoLnJvd1RyKCExLCEwKSwiZGF0YS1zZXJpZXMiOiJwZiIsY2hpbGRyZW46W3IuanN4KCJ0aCIse3Njb3BlOiJyb3ciLHN0eWxlOmgucm93SGVhZCh5KSxjaGlsZHJlbjpyLmpzeHMoImRpdiIse3N0eWxlOmgubmFtZSxjaGlsZHJlbjpbci5qc3goYWUse3Rva2VuOiItLW1yZC1wIixkYXNoOiIiLHByaW1hcnk6ITB9KSxlKCJwZXJmLnBvcnRmb2xpbyIpXX0pfSkseCgkKGEucmV0KSkseCgkKGEuY2FncikpLHgoJChhLm1heERyYXdkb3duKSkseCgi4oCUIildfSksUy5tYXAodT0+e2NvbnN0IGs9Ult1XSxNPSFjLmluY2x1ZGVzKHUpLEs9WShrLnN0YXRlLGsuc2VyaWVzKSxpPWsuc3RhdHM/RGUoYS5yZXQsay5zdGF0cy5yZXQpOm51bGw7cmV0dXJuIHIuanN4cygidHIiLHtzdHlsZTpoLnJvd1RyKE0sITEpLCJkYXRhLXNlcmllcyI6dSwiZGF0YS1oaWRkZW4iOk0/InRydWUiOiJmYWxzZSIsImRhdGEtc3RhdGUiOmsuc3RhdGUsY2hpbGRyZW46W3IuanN4KCJ0aCIse3Njb3BlOiJyb3ciLHN0eWxlOmgucm93SGVhZCh5KSxjaGlsZHJlbjpyLmpzeHMoImRpdiIse3N0eWxlOmgubmFtZSxjaGlsZHJlbjpbci5qc3goYWUse3Rva2VuOk9bdV0udG9rZW4sZGFzaDpPW3VdLmRhc2h9KSxyLmpzeCgic3BhbiIse2NoaWxkcmVuOmoodSl9KSxNJiYheT9yLmpzeCgiZW0iLHtzdHlsZTpoLnRhZyxjaGlsZHJlbjplKCJwZXJmLmhpZGRlbiIpfSk6bnVsbCxLP3IuanN4KCJzbWFsbCIse3N0eWxlOmguc3RhdGUoeSksY2hpbGRyZW46S30pOm51bGxdfSl9KSx4KCQoay5zdGF0cz8ucmV0Pz9udWxsKSkseCgkKGsuc3RhdHM/LmNhZ3I/P251bGwpKSx4KCQoay5zdGF0cz8ubWF4RHJhd2Rvd24/P251bGwpKSxyLmpzeHMoInRkIix7c3R5bGU6aC50ZCh5LHF0KGkpKSwiZGF0YS1zaWduIjppPT09bnVsbD8ibm9uZSI6aTwwPyJuZWciOmk+MD8icG9zIjoiemVybyIsY2hpbGRyZW46W3ZlKGkpLGk9PT1udWxsPyIiOmAgJHtlKCJwZXJmLnB0cyIpfWBdfSldfSx1KX0pXX0pXX0pLHIuanN4KCJwIix7c3R5bGU6aC5ub3RlLGNoaWxkcmVuOmUoInBlcmYuZXhjZXNzLm5vdGUiKX0pXX0pXX0pfWNvbnN0IGplPWU9PmU/LnN0YXR1cz09PSJrbm93biImJnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIiYmL14tP1xkKyhcLlxkKyk/JC8udGVzdChlLnZhbHVlKT9OdW1iZXIoZS52YWx1ZSk6bnVsbDtmdW5jdGlvbiBsbihlLHQpe3JldHVybntyZXQ6amUoZS5yaXNrLnJldHVybl9yYXRpbyk/P3QucmV0LGNhZ3I6dC5jYWdyLG1heERyYXdkb3duOmplKGUucmlzay5tYXhfZHJhd2Rvd25fcmF0aW8pPz90Lm1heERyYXdkb3dufX1mdW5jdGlvbiBkbih7YXBpOmUsdCxsYW5ndWFnZTpufSl7Y29uc3QgYT1JZSgpLFtvLHNdPW0udXNlU3RhdGUoe3N0YXRlOiJsb2FkaW5nIn0pLFtkLGNdPW0udXNlU3RhdGUoe3BoYXNlOiJsb2FkaW5nIn0pO20udXNlRWZmZWN0KCgpPT57bGV0IHc9ITA7cmV0dXJuIHMoe3N0YXRlOiJsb2FkaW5nIn0pLGUucGVyZm9ybWFuY2UoKS50aGVuKGI9PncmJnMoe3N0YXRlOiJyZWFkeSIscmVzdWx0OmJ9KSwoKT0+dyYmcyh7c3RhdGU6ImZhaWxlZCJ9KSksKCk9Pnt3PSExfX0sW2VdKTtjb25zdCBsPW8uc3RhdGU9PT0icmVhZHkiP28ucmVzdWx0Om51bGwscD1tLnVzZU1lbW8oKCk9Pmw/YXQobC5kYXRhLmVxdWl0eS5kYXRlcyxsLmRhdGEuZXF1aXR5LnBvcnRmb2xpb19pbmRleGVkLGwuZGF0YS5lcXVpdHkuZ2FwX2RhdGVzKTpudWxsLFtsXSksZj1wP3tzdGFydDpwLnBvaW50c1swXS5kYXRlLGVuZDpwLnBvaW50c1twLnBvaW50cy5sZW5ndGgtMV0uZGF0ZX06bnVsbDttLnVzZUVmZmVjdCgoKT0+e2lmKCFsfHwhZilyZXR1cm47bGV0IHc9ITA7cmV0dXJuIGMoe3BoYXNlOiJsb2FkaW5nIn0pLGUuYmVuY2htYXJrcyhmLGwuc291cmNlLGwuc2NlbmFyaW8pLnRoZW4oYj0+e2lmKCF3KXJldHVybjtjb25zdCBqPXR0KGIsZik7YyhqP3twaGFzZToicmVhZHkiLG1vZGVsOmp9OntwaGFzZToiZmFpbGVkIn0pfSwoKT0+dyYmYyh7cGhhc2U6ImZhaWxlZCJ9KSksKCk9Pnt3PSExfX0sW2UsbCxmPy5zdGFydCxmPy5lbmRdKTtjb25zdCB5PW8uc3RhdGU9PT0ibG9hZGluZyI/ci5qc3goInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46ci5qc3goInAiLHtjaGlsZHJlbjp0KCJwZXJmLmxvYWRpbmciKX0pfSk6by5zdGF0ZT09PSJmYWlsZWQifHwhbHx8IXB8fCFmP3IuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIscm9sZToic3RhdHVzIixjaGlsZHJlbjpyLmpzeCgicCIse2NoaWxkcmVuOnQoInBlcmYucG9ydGZvbGlvX3VuYXZhaWxhYmxlIil9KX0pOnIuanN4KGNuLHt0LGxhbmd1YWdlOm4scG9ydGZvbGlvOnAscG9ydGZvbGlvU3RhdHM6bG4obC5kYXRhLFRlKHAucG9pbnRzKSksd2luZG93OmYsYmVuY2htYXJrczpkfSk7cmV0dXJuIHIuanN4cygic2VjdGlvbiIse3N0eWxlOmgucGFnZSwiYXJpYS1sYWJlbGxlZGJ5IjoibXJkLXBhZ2UtdGl0bGUiLGNoaWxkcmVuOltyLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNhcmQiLGNoaWxkcmVuOltyLmpzeCgiaDEiLHtpZDoibXJkLXBhZ2UtdGl0bGUiLGNsYXNzTmFtZToibXJkLXNlcmlmIixzdHlsZTpoLnRpdGxlKGEsbj09PSJ6aCIpLGNoaWxkcmVuOnQoInBhZ2UucGVyZm9ybWFuY2UuaGVhZGxpbmUiKX0pLGw/LnNvdXJjZT09PSJtb2NrIj9yLmpzeCgicCIse3N0eWxlOnsuLi5oLm5vdGUsbWFyZ2luVG9wOjh9LGNoaWxkcmVuOnQoInBlcmYubW9ja19ub3RlIil9KTpudWxsXX0pLHldfSl9Y29uc3QgdW49InFzbC1zd2l0Y2gtbGFuZyIscG49NmU0LGhuPTE1ZTM7ZnVuY3Rpb24gTWUoZSl7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIGZuKCl7cmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZXM/Lmxlbmd0aD9uYXZpZ2F0b3IubGFuZ3VhZ2VzOltuYXZpZ2F0b3IubGFuZ3VhZ2VdfWZ1bmN0aW9uIG1uKCl7Y29uc3QgZT1tLnVzZU1lbW8oKCk9Pk90KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLFtdKSx0PW0udXNlTWVtbygoKT0+aHQod2luZG93LmxvY2F0aW9uLnNlYXJjaCxNZShwdCkpLFtdKSxuPW0udXNlTWVtbygoKT0+eHQoe2ZvcmNlZFNjZW5hcmlvOnR9KSxbdF0pLFthLG9dPW0udXNlU3RhdGUoKCk9PmUubGFuZ3VhZ2U/P1N0KE1lKHVuKSxmbigpKSksW3MsZF09bS51c2VTdGF0ZSgoKT0+ZS50aGVtZT8/cGUoKS50aGVtZSksW2MsbF09bS51c2VTdGF0ZSgoKT0+d2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/PyExKSxwPXplKHMsYyksW2YseV09bS51c2VTdGF0ZSgoKT0+a2Uod2luZG93LmxvY2F0aW9uLmhhc2gpLnBhZ2UpLFt3LGJdPW0udXNlU3RhdGUoe3N0YXRlOiJsb2FkaW5nIn0pLFtqLFJdPW0udXNlU3RhdGUoe3N0YXRlOiJsb2FkaW5nIn0pLFtYLHpdPW0udXNlU3RhdGUobnVsbCksW1UsUF09bS51c2VTdGF0ZSgoKT0+RGF0ZS5ub3coKSksW0csQV09bS51c2VTdGF0ZSgwKSxTPW0udXNlTWVtbygoKT0+X3QoYSksW2FdKTttLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGc9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2cuZGF0YXNldC50aGVtZT1wLGcubGFuZz1hPT09InpoIj8iemgtQ04iOiJlbiIsZG9jdW1lbnQudGl0bGU9YCR7UyhgbmF2LiR7Zn1gKX0gwrcgJHtTKCJzaGVsbC5icmFuZCIpfWB9LFtwLGEsZixTXSksbS51c2VFZmZlY3QoKCk9Pntjb25zdCBnPXdpbmRvdy5tYXRjaE1lZGlhPy4oIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKTtpZighZylyZXR1cm47Y29uc3QgQz1XPT5sKFcubWF0Y2hlcyk7cmV0dXJuIGcuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixDKSwoKT0+Zy5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLEMpfSxbXSksbS51c2VFZmZlY3QoKCk9Pntjb25zdCBnPSgpPT57SXQod2luZG93LmxvY2F0aW9uLmhhc2gpP3koa2Uod2luZG93LmxvY2F0aW9uLmhhc2gpLnBhZ2UpOndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0sQz1XPT57Y29uc3QgbmU9JHQoVyk7bmUmJih3aW5kb3cubG9jYXRpb24uaGFzaD1mZShuZSkpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGcpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixDKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixnKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQyl9fSxbXSksbS51c2VFZmZlY3QoKCk9PntsZXQgZz0hMDtyZXR1cm4gYih7c3RhdGU6ImxvYWRpbmcifSksbi5zZXNzaW9uKCkudGhlbihDPT57ZyYmKGIoe3N0YXRlOiJyZWFkeSIscmVzdWx0OkN9KSx6KFR0KEMuZGF0YS5zZXJ2ZXJfdGltZSxEYXRlLm5vdygpKSkpfSwoKT0+ZyYmYih7c3RhdGU6ImZhaWxlZCJ9KSksKCk9PntnPSExfX0sW24sR10pLG0udXNlRWZmZWN0KCgpPT57bGV0IGc9ITA7Y29uc3QgQz0oKT0+bi5yaWJib24oKS50aGVuKCRlPT5nJiZSKHtzdGF0ZToicmVhZHkiLHJlc3VsdDokZX0pLCgpPT5nJiZSKHtzdGF0ZToiZmFpbGVkIn0pKTtDKCk7Y29uc3QgVz13aW5kb3cuc2V0SW50ZXJ2YWwoQyxwbiksbmU9d2luZG93LnNldEludGVydmFsKCgpPT5QKERhdGUubm93KCkpLGhuKTtyZXR1cm4oKT0+e2c9ITEsd2luZG93LmNsZWFySW50ZXJ2YWwoVyksd2luZG93LmNsZWFySW50ZXJ2YWwobmUpfX0sW25dKTtjb25zdCBUPW0udXNlQ2FsbGJhY2soZz0+e28oZyksZS5sYW5ndWFnZXx8YmUoey4uLnBlKCksbGFuZ3VhZ2U6Z30pfSxbZS5sYW5ndWFnZV0pLHg9bS51c2VDYWxsYmFjaygoKT0+e2NvbnN0IGc9cD09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtkKGcpLGUudGhlbWV8fGJlKHsuLi5wZSgpLHRoZW1lOmd9KX0sW3AsZS50aGVtZV0pLFk9bS51c2VDYWxsYmFjayhnPT57d2luZG93LmxvY2F0aW9uLmhhc2g9ZmUoZyl9LFtdKSx1PWouc3RhdGU9PT0icmVhZHkiP3traW5kOiJyZWFkIixyZWFkOmoucmVzdWx0LmRhdGEuY29uc29sZV9zdGF0ZS5nYXRld2F5c306e2tpbmQ6ai5zdGF0ZX0saz1qLnN0YXRlPT09InJlYWR5Ij9qLnJlc3VsdC5kYXRhLmFsZXJ0X2JhZGdlLm9wZW5fY291bnQ6bnVsbCxLPVt3LGpdLmZpbHRlcihnPT5nLnN0YXRlPT09InJlYWR5IiYmZy5yZXN1bHQuc291cmNlPT09Im1vY2siKS5sZW5ndGg/dD8/Im9rIjpudWxsLGk9dy5zdGF0ZT09PSJyZWFkeSImJlghPT1udWxsLF89RHQoaT9YOm51bGwsVSksRT1MdCh3KSxCPSgpPT5BKGc9PmcrMSksST1FPT09Im9wZW4iP2Y9PT0icGVyZm9ybWFuY2UiP3IuanN4KGRuLHthcGk6bix0OlMsbGFuZ3VhZ2U6YX0pOnIuanN4KEd0LHtwYWdlOmYsdDpTfSk6RT09PSJsb2FkaW5nIj9yLmpzeCgic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQgbXJkLWFjY2VzcyIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOnIuanN4KCJwIix7Y2hpbGRyZW46UygiYWNjZXNzLmxvYWRpbmciKX0pfSk6ci5qc3goVXQse3Q6UyxraW5kOkUsb25SZXRyeTpCfSk7cmV0dXJuIHIuanN4KEh0LHtwYWdlOmYsdDpTLGxhbmd1YWdlOmEsdGhlbWU6cCxnYXRld2F5OnUsYWxlcnRDb3VudDprLG5vd0lzbzpfLHNlcnZlckNsb2NrOmksbW9jazpLLG9uTmF2aWdhdGU6WSxvbkxhbmd1YWdlOlQsb25UaGVtZTp4LGNoaWxkcmVuOkl9KX1mdW5jdGlvbiBibihlKXtQZS5jcmVhdGVSb290KGUpLnJlbmRlcihyLmpzeChtbix7fSkpfWV4cG9ydHtibiBhcyBtb3VudERlc2t9Owo=" }, - "/v2/assets/DeskApp-XYSscd6h.css": { contentType: "text/css; charset=utf-8", base64: "Lm1yZHstLW1yZC1wYWQ6IDIwcHg7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjg0cHggbWlubWF4KDAsMWZyKTtnYXA6MjBweDtwYWRkaW5nOjIwcHggMjhweCAyMHB4IDIwcHg7Y29sb3I6dmFyKC0tbXJkLWluayk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tcmQtYmcpO2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tbXJkLWF1cm9yYSk7YmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtmb250OjE0cHgvMS40NSB2YXIoLS1mb250LXNhbnMpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIsInNzMDEiOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9aHRtbDpoYXMoLm1yZCksaHRtbDpoYXMoLm1yZCkgYm9keXtiYWNrZ3JvdW5kOnZhcigtLW1yZC1iZyl9Lm1yZCAqLC5tcmQgKjpiZWZvcmUsLm1yZCAqOmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubXJkIDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLW1yZC12aW9sZXQpO291dGxpbmUtb2Zmc2V0OjJweH0ubXJkIGNvZGV7Zm9udDoxMS41cHggdmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS1tcmQtaW5rLTIpfS5tcmQtc2VyaWZ7Zm9udC1mYW1pbHk6dmFyKC0tbXJkLWZvbnQtc2VyaWYpO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotLjAyZW19Lm1yZDpsYW5nKHpoKSAubXJkLXNlcmlme2xldHRlci1zcGFjaW5nOjA7Zm9udC13ZWlnaHQ6NTAwfS5tcmQtbGFiZWx7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wOWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1tcmQtaW5rLTMpfS5tcmQ6bGFuZyh6aCkgLm1yZC1sYWJlbHtsZXR0ZXItc3BhY2luZzouMDRlbX0ubXJkLWNhcmQsLm1yZC1kb2NrLC5tcmQtY2hpcCwubXJkLXNlZ3tiYWNrZ3JvdW5kOnZhcigtLW1yZC1wYW5lbCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigyMnB4KX0ubXJkLWNhcmR7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjA7cGFkZGluZzp2YXIoLS1tcmQtcGFkKTtib3JkZXItcmFkaXVzOnZhcigtLW1yZC1yYWRpdXMpO2JveC1zaGFkb3c6dmFyKC0tbXJkLXNoYWRvdyksaW5zZXQgMCAxcHggMCB2YXIoLS1tcmQtaGlnaGxpZ2h0KX0ubXJkLWRvY2t7cG9zaXRpb246c3RpY2t5O3RvcDoyMHB4O2hlaWdodDpjYWxjKDEwMHZoIC0gNDBweCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjE0cHggMDtib3JkZXItcmFkaXVzOjMwcHg7Ym94LXNoYWRvdzp2YXIoLS1tcmQtc2hhZG93KSxpbnNldCAwIDFweCAwIHZhcigtLW1yZC1oaWdobGlnaHQpfS5tcmQtbWFya3tkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLWJvdHRvbToxOHB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOmNvbmljLWdyYWRpZW50KGZyb20gMjAwZGVnLHZhcigtLW1yZC12aW9sZXQpLHZhcigtLW1yZC1za3kpLHZhcigtLW1yZC1taW50KSx2YXIoLS1tcmQtYW1iZXIpLHZhcigtLW1yZC12aW9sZXQpKX0ubXJkLW1hcmsgaXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tbXJkLWJnKX0ubXJkLWRvY2staXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O3dpZHRoOjU4cHg7cGFkZGluZzo5cHggMCA3cHg7Ym9yZGVyLXJhZGl1czoxOHB4O2NvbG9yOnZhcigtLW1yZC1pbmstMyk7Zm9udC1zaXplOjEwLjVweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ubXJkLWRvY2staXRlbTpob3Zlcntjb2xvcjp2YXIoLS1tcmQtaW5rKX0ubXJkLWRvY2staXRlbVthcmlhLWN1cnJlbnQ9cGFnZV17Y29sb3I6dmFyKC0tbXJkLWluayk7YmFja2dyb3VuZDp2YXIoLS1tcmQtcGFuZWwtMik7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHZhcigtLW1yZC1oaWdobGlnaHQpfS5tcmQtaWNvbnt3aWR0aDoyMXB4O2hlaWdodDoyMXB4O2ZsZXg6bm9uZX0ubXJkLWJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7cmlnaHQ6OHB4O21pbi13aWR0aDoxN3B4O2hlaWdodDoxN3B4O3BhZGRpbmc6MCA0cHg7Ym9yZGVyLXJhZGl1czo5OXB4O2JhY2tncm91bmQ6dmFyKC0tbXJkLWNvcmFsKTtjb2xvcjp2YXIoLS1tcmQtb24tYWNjZW50KTtmb250OjYwMCAxMHB4LzE3cHggdmFyKC0tZm9udC1zYW5zKTtmb250LXN0eWxlOm5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcn0ubXJkLW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDttaW4td2lkdGg6MH0ubXJkLW1haW4+KnthbmltYXRpb246bXJkLXVwIC42cyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSkgYm90aH0ubXJkLW1haW4+Om50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6LjA4c30ubXJkLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21pbi1oZWlnaHQ6MzZweH0ubXJkLWNydW1ie2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tbXJkLWluay0yKTtmb250LXNpemU6MTNweH0ubXJkLWNydW1iIGJ7Y29sb3I6dmFyKC0tbXJkLWluayk7Zm9udC13ZWlnaHQ6NjAwfS5tcmQtdG9vbHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5tcmQtY2hpcHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O3BhZGRpbmc6NnB4IDEycHg7Ym9yZGVyLXJhZGl1czo5OXB4O2NvbG9yOnZhcigtLW1yZC1pbmstMik7Zm9udDoxMnB4IHZhcigtLWZvbnQtc2Fucyk7d2hpdGUtc3BhY2U6bm93cmFwfS5tcmQtY2hpcCBpe3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tbXJkLWluay0zKX0ubXJkLWNoaXBbZGF0YS10b25lPW9rXSBpe2JhY2tncm91bmQ6dmFyKC0tbXJkLW1pbnQpfS5tcmQtY2hpcFtkYXRhLXRvbmU9d2Fybl0gaXtiYWNrZ3JvdW5kOnZhcigtLW1yZC1hbWJlcil9Lm1yZC1jaGlwW2RhdGEtdG9uZT1yaXNrXSBpe2JhY2tncm91bmQ6dmFyKC0tbXJkLWNvcmFsKX0ubXJkLWNoaXBbZGF0YS10b25lPXVua25vd25de2NvbG9yOnZhcigtLW1yZC11bmtub3duKX0ubXJkLWNoaXBbZGF0YS10b25lPXVua25vd25dIGl7YmFja2dyb3VuZDpub25lO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMS41cHggdmFyKC0tbXJkLXVua25vd24pfS5tcmQtY2hpcC1tb2Nre2NvbG9yOnZhcigtLW1yZC1hbWJlcik7Ym9yZGVyLWNvbG9yOnZhcigtLW1yZC1hbWJlcil9Lm1yZC1jbG9ja3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZToxMS41cHh9Lm1yZC1pY29uLWJ1dHRvbntwYWRkaW5nOjZweCA5cHg7Y3Vyc29yOnBvaW50ZXJ9Lm1yZC1pY29uLWJ1dHRvbiAubXJkLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ubXJkLXNlZ3tkaXNwbGF5OmlubGluZS1mbGV4O2dhcDoycHg7cGFkZGluZzozcHg7Ym9yZGVyLXJhZGl1czo5OXB4fS5tcmQtc2VnIGJ1dHRvbiwubXJkLWljb24tYnV0dG9ue2ZvbnQ6aW5oZXJpdDtjb2xvcjp2YXIoLS1tcmQtaW5rLTMpfS5tcmQtc2VnIGJ1dHRvbntwYWRkaW5nOjNweCAxMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Y3Vyc29yOnBvaW50ZXJ9Lm1yZC1zZWcgYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXXtjb2xvcjp2YXIoLS1tcmQtaW5rKTtiYWNrZ3JvdW5kOnZhcigtLW1yZC1wYW5lbC0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS1tcmQtbGluZSl9Lm1yZC1zdHVie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE2cHh9Lm1yZC1zdHViLWhlcm97b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MzBweCAzMnB4IDM0cHh9Lm1yZC1zdHViLWhlcm8gaDF7bWF4LXdpZHRoOjIyZW07bWFyZ2luOjE0cHggMCAxMHB4O2ZvbnQtc2l6ZTo0NnB4O2xpbmUtaGVpZ2h0OjEuMDZ9Lm1yZDpsYW5nKHpoKSAubXJkLXN0dWItaGVybyBoMXtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxLjJ9Lm1yZC1zdHViLWhlcm8gcHttYXgtd2lkdGg6NDZlbTttYXJnaW46MDtjb2xvcjp2YXIoLS1tcmQtaW5rLTIpO2ZvbnQtc2l6ZToxNXB4fS5tcmQtZ2xvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTYwcHg7cmlnaHQ6LTQwcHg7d2lkdGg6MjYwcHg7aGVpZ2h0OjI2MHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tbXJkLXZpb2xldCk7ZmlsdGVyOmJsdXIoNzBweCk7b3BhY2l0eTouMjtwb2ludGVyLWV2ZW50czpub25lfS5tcmQtc3R1Yi1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4zZnIgMWZyO2dhcDoxNnB4fS5tcmQtcGFydHMsLm1yZC1lbmRwb2ludHN7bWFyZ2luOjE0cHggMCAwO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9Lm1yZC1wYXJ0c3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ubXJkLXBhcnRzIGxpe2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjhweDthbGlnbi1pdGVtczpiYXNlbGluZTtwYWRkaW5nOjdweCAxNHB4O2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOnZhcigtLW1yZC1wYW5lbC0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS1tcmQtbGluZSk7Zm9udC1zaXplOjEzcHh9Lm1yZC1wYXJ0cyBie2NvbG9yOnZhcigtLW1yZC12aW9sZXQpO2ZvbnQ6NTAwIDExcHggdmFyKC0tZm9udC1tb25vKX0ubXJkLWVuZHBvaW50c3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo3cHh9Lm1yZC1lbmRwb2ludHMgY29kZXtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5tcmQtbm90ZXttYXJnaW46MTRweCAwIDA7Y29sb3I6dmFyKC0tbXJkLWluay0zKTtmb250LXNpemU6MTJweH0ubXJkLWFjY2Vzc3ttYXgtd2lkdGg6NTIwcHg7cGFkZGluZzozMHB4IDMycHh9Lm1yZC1hY2Nlc3MgaDF7bWFyZ2luOjAgMCA4cHg7Zm9udC1zaXplOjM2cHh9Lm1yZC1hY2Nlc3MgcHttYXJnaW46MCAwIDE4cHg7Y29sb3I6dmFyKC0tbXJkLWluay0yKX0ubXJkLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6MTBweCAxOHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOnZhcigtLW1yZC1idXR0b24pO2NvbG9yOnZhcigtLW1yZC1idXR0b24taW5rKTtmb250OjYwMCAxM3B4IHZhcigtLWZvbnQtc2Fucyk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9QGtleWZyYW1lcyBtcmQtdXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE0cHgpfX1AbWVkaWEobWF4LXdpZHRoOjc2MHB4KXsubXJke2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3BhZGRpbmc6MTRweCAxNHB4IDk2cHg7Z2FwOjEycHg7LS1tcmQtcGFkOiAxNnB4fS5tcmQtZG9ja3twb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7aW5zZXQ6YXV0byAxMnB4IDEycHg7aGVpZ2h0OjY0cHg7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7cGFkZGluZzowIDZweDtib3JkZXItcmFkaXVzOjI2cHh9Lm1yZC1tYXJrLC5tcmQtY3J1bWItYnJhbmQsLm1yZC1jcnVtYi1zZXAsLm1yZC1jbG9jay1kYXl7ZGlzcGxheTpub25lfS5tcmQtZG9jay1pdGVte3dpZHRoOmF1dG87bWluLXdpZHRoOjQ4cHg7cGFkZGluZzo3cHggNnB4O2ZvbnQtc2l6ZToxMHB4fS5tcmQtYmFkZ2V7cmlnaHQ6MnB4fS5tcmQtdG9vbHN7Z2FwOjZweH0ubXJkLXN0dWItaGVyb3twYWRkaW5nOjIycHggMjBweCAyNHB4fS5tcmQtc3R1Yi1oZXJvIGgxe2ZvbnQtc2l6ZTozNHB4fS5tcmQ6bGFuZyh6aCkgLm1yZC1zdHViLWhlcm8gaDF7Zm9udC1zaXplOjI4cHh9Lm1yZC1zdHViLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1yZC1tYWluPip7YW5pbWF0aW9uOm5vbmV9fQo=" }, - "/v2/assets/Dialog-DcdgrcWx.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3IgYXMgYSx1IGFzIHcsVyBhcyB2LGogYXMgbn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2Z1bmN0aW9uIEQoe3JlcXVlc3Q6ZSxvblJlc29sdmU6Y30pe2NvbnN0IG89dygpLGQ9YS51c2VSZWYobnVsbCksZj1hLnVzZVJlZihudWxsKSxbaSxtXT1hLnVzZVN0YXRlKCExKSxbcyxnXT1hLnVzZVN0YXRlKCIiKSxbaCxwXT1hLnVzZVN0YXRlKCgpPT5EYXRlLm5vdygpKSx4PWEudXNlUmVmKCExKTthLnVzZUVmZmVjdCgoKT0+e2YuY3VycmVudD8uZm9jdXMoKX0sW10pLGEudXNlRWZmZWN0KCgpPT57aWYoIWUuZXhwaXJlc0F0KXJldHVybjtwKERhdGUubm93KCkpO2NvbnN0IHQ9d2luZG93LnNldEludGVydmFsKCgpPT5wKERhdGUubm93KCkpLDFlMyk7cmV0dXJuKCk9PndpbmRvdy5jbGVhckludGVydmFsKHQpfSxbZS5leHBpcmVzQXRdKTtjb25zdCByPShlLmV4cGlyZXNBdD92KGUuZXhwaXJlc0F0LGUuc2VydmVyVGltZT8/bnVsbCxlLnJlY2VpdmVkQXQ/P25ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxoKTp7c3RhdGU6Im5vbmUifSkuc3RhdGU9PT0iZXhwaXJlZCI7YS51c2VFZmZlY3QoKCk9Pnshcnx8eC5jdXJyZW50fHwoeC5jdXJyZW50PSEwLGUub25FeHBpcnk/LigpKX0sW3IsZV0pO2NvbnN0IHU9IWUudHlwZVRvQ29uZmlybXx8cy50cmltKCk9PT1lLnR5cGVUb0NvbmZpcm0uZXhwZWN0ZWQsaj0hZS5hY2tMYWJlbHx8aSxrPXUmJmomJiFyLEM9dD0+e2lmKHQua2V5PT09IkVzY2FwZSIpe3QucHJldmVudERlZmF1bHQoKSxjKCExKTtyZXR1cm59aWYodC5rZXkhPT0iVGFiIilyZXR1cm47Y29uc3QgbD1kLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKSwgW2hyZWZdLCBpbnB1dDpub3QoOmRpc2FibGVkKSwgc2VsZWN0Om5vdCg6ZGlzYWJsZWQpLCB0ZXh0YXJlYTpub3QoOmRpc2FibGVkKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScpO2lmKCFsPy5sZW5ndGgpcmV0dXJuO2NvbnN0IHk9bFswXSxiPWxbbC5sZW5ndGgtMV07dC5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXk/KHQucHJldmVudERlZmF1bHQoKSxiLmZvY3VzKCkpOiF0LnNoaWZ0S2V5JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YiYmKHQucHJldmVudERlZmF1bHQoKSx5LmZvY3VzKCkpfTtyZXR1cm4gbi5qc3goImRpdiIse2NsYXNzTmFtZToiZGlhbG9nLWJhY2tkcm9wIixvbk1vdXNlRG93bjp0PT57dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJmMoITEpfSxjaGlsZHJlbjpuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGlhbG9nIixyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjoidHJ1ZSIsImFyaWEtbGFiZWxsZWRieSI6ImNvbmZpcm0tdGl0bGUiLHJlZjpkLG9uS2V5RG93bjpDLGNoaWxkcmVuOltuLmpzeCgiaDIiLHtpZDoiY29uZmlybS10aXRsZSIsY2hpbGRyZW46ZS50aXRsZX0pLGUudGFyZ2V0JiZuLmpzeCgicCIse2NsYXNzTmFtZToiZGlhbG9nLXRhcmdldCIsY2hpbGRyZW46ZS50YXJnZXR9KSxlLnN1bW1hcnkmJm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZy1zdW1tYXJ5IixjaGlsZHJlbjplLnN1bW1hcnl9KSxlLmJvZHksZS5jb25zZXF1ZW5jZSYmbi5qc3goInAiLHtjbGFzc05hbWU6YGRpYWxvZy1jb25zZXF1ZW5jZSAke2UudG9uZT09PSJkYW5nZXIiPyJkYW5nZXIiOiIifWAsY2hpbGRyZW46ZS5jb25zZXF1ZW5jZX0pLGUuZXhwaXJlc0F0JiZuLmpzeCgicCIse2NsYXNzTmFtZTpgZGlhbG9nLWNvbnNlcXVlbmNlICR7cj8iZGFuZ2VyIjoiIn1gLHJvbGU6cj8iYWxlcnQiOnZvaWQgMCxjaGlsZHJlbjpyP24uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbygiY29ja3BpdC5leHBpcnkuZXhwaXJlZCIpLCIgwrcgIixvKCJjb2NrcGl0LmV4cGlyeS5ib3VuZGFyeSIpXX0pOm8oImNvY2twaXQuZXhwaXJ5LmF0Iix7dmFsdWU6ZS5leHBpcmVzQXR9KX0pLGUuYWNrTGFiZWwmJm4uanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImNoZWNrYm94LXJvdyIsY2hpbGRyZW46W24uanN4KCJpbnB1dCIse3R5cGU6ImNoZWNrYm94IixjaGVja2VkOmksb25DaGFuZ2U6dD0+bSh0LnRhcmdldC5jaGVja2VkKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46ZS5hY2tMYWJlbH0pXX0pLGUudHlwZVRvQ29uZmlybSYmbi5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLHN0eWxlOnttYXJnaW5Ub3A6MTJ9LGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOmUudHlwZVRvQ29uZmlybS5sYWJlbH0pLG4uanN4KCJpbnB1dCIse2NsYXNzTmFtZToiaW5wdXQiLHZhbHVlOnMsb25DaGFuZ2U6dD0+Zyh0LnRhcmdldC52YWx1ZSksYXV0b0NvbXBsZXRlOiJvZmYiLCJhcmlhLWludmFsaWQiOiF1JiZzLmxlbmd0aD4wfSksIXUmJnMubGVuZ3RoPjAmJm4uanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOiJ2YXIoLS1kYW5nZXIpIixmb250U2l6ZToxMn0sY2hpbGRyZW46ZS50eXBlVG9Db25maXJtLm1pc21hdGNofSldfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZy1hY3Rpb25zIixjaGlsZHJlbjpbbi5qc3goImJ1dHRvbiIse3JlZjpmLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLHR5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+YyghMSksY2hpbGRyZW46bygiY29tbW9uLmNhbmNlbCIpfSksbi5qc3goImJ1dHRvbiIse2NsYXNzTmFtZTpgYnV0dG9uICR7ZS50b25lPT09ImRhbmdlciI/ImJ1dHRvbi1kYW5nZXIiOiJidXR0b24tcHJpbWFyeSJ9YCx0eXBlOiJidXR0b24iLGRpc2FibGVkOiFrLG9uQ2xpY2s6KCk9PmMoITApLGNoaWxkcmVuOmUuY29uZmlybUxhYmVsfHxvKCJjb21tb24uY29uZmlybSIpfSldfSldfSl9KX1mdW5jdGlvbiBBKCl7Y29uc3RbZSxjXT1hLnVzZVN0YXRlKG51bGwpLG89YS51c2VSZWYobnVsbCk7cmV0dXJue2NvbmZpcm1SZXF1ZXN0OmUsY29uZmlybTppPT5uZXcgUHJvbWlzZShtPT57by5jdXJyZW50Py4oITEpLG8uY3VycmVudD1tLGMoaSl9KSxyZXNvbHZlQ29uZmlybTppPT57by5jdXJyZW50Py4oaSksby5jdXJyZW50PW51bGwsYyhudWxsKX19fWV4cG9ydHtEIGFzIEMsQSBhcyB1fTsK" }, - "/v2/assets/ExecutionEvidence-CWaqeDaA.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgXyxxIGFzIGcsdCBhcyBwLGogYXMgbn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2NvbnN0IGM9bmV3IFNldChbIm5vdF9jb25uZWN0ZWQiLCJyZWFkX2ZhaWxlZCIsInBlcm1pc3Npb25fZGVuaWVkIiwiYnJva2VyX2Vudmlyb25tZW50X21pc3NpbmciLCJleGVjdXRpb25fY29uZmlnX21pc3NpbmciLCJkcnlfcnVuX2ZsYWdfbWlzc2luZyIsImVudmlyb25tZW50X2NvbmZsaWN0Il0pO2Z1bmN0aW9uIGooe2V2aWRlbmNlOmUsY29tcGFjdDpsPSExLHNob3dTdGF0ZTptPSExfSl7Y29uc3Qgcz1fKCkseD1nKCksYT1wKGU/Lm9ic2VydmVkX2F0LHgsITApLG89ZT8udmFsdWV8fCJ1bmtub3duIixpPWU/LnJlYXNvbl9jb2Rlcz8ubGVuZ3RoP2UucmVhc29uX2NvZGVzOltlPy5zdGF0dXMmJmMuaGFzKGUuc3RhdHVzKT9lLnN0YXR1czoiZXZpZGVuY2VfbWlzc2luZyJdLGQ9ZT8uY29uZmlndXJhdGlvbl9zb3VyY2U9PT0iUlVOVElNRV9UQVJHRVRfSlNPTiI/InJ1bnRpbWVfdGFyZ2V0IjplPy5jb25maWd1cmF0aW9uX3NvdXJjZT09PSJDTE9VRF9SVU5fU0VSVklDRV9UQVJHRVRTX0pTT04iPyJzZXJ2aWNlX3RhcmdldCI6Im1pc3NpbmciLHI9ZT8uYnJva2VyX2Vudmlyb25tZW50PT09ImxpdmUifHxlPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0icGFwZXIiLHU9cyhlPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0ibGl2ZSI/InN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxpdmUiOmU/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciI/InN0cmF0ZWdpZXMuZXhlY3V0aW9uLnBhcGVyIjoiY29tbW9uLnVua25vd24iKTtyZXR1cm4gbT9uLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZXhlY3V0aW9uLWV2aWRlbmNlLXN0YXR1cyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke289PT0ibGl2ZSI/Indhcm4iOm89PT0idW5rbm93biI/InVua25vd24iOiJhY2NlbnQifWAsY2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSksbz09PSJ1bmtub3duIiYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjppLm1hcCh0PT5zKGBhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLiR7Yy5oYXModCk/dDoiZXZpZGVuY2VfbWlzc2luZyJ9YCkpLmpvaW4oIiDCtyAiKX0pXX0pOmw/bz09PSJ1bmtub3duIj9udWxsOm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImV4ZWN1dGlvbi1ldmlkZW5jZS1jb21wYWN0IixjaGlsZHJlbjpuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IGV4ZWN1dGlvbi1tb2RlLXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46cygiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSldfSl9KTpuLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke289PT0ibGl2ZSI/Indhcm4iOm89PT0idW5rbm93biI/InVua25vd24iOiJhY2NlbnQifWAsY2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSksciYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Iix7dmFsdWU6dX0pfSksbi5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzLW5vdGVzIixjaGlsZHJlbjpbbi5qc3goInN1bW1hcnkiLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5kYXRhX25vdGVzIil9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W289PT0idW5rbm93biImJm4uanN4KCJzcGFuIix7Y2hpbGRyZW46aS5tYXAodD0+cyhgYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi4ke2MuaGFzKHQpP3Q6ImV2aWRlbmNlX21pc3NpbmcifWApKS5qb2luKCIgwrcgIil9KSwhciYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Iix7dmFsdWU6dX0pfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlIix7dmFsdWU6cyhgYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS4ke2R9YCl9KX0pLG4uanN4cygic3BhbiIse2NoaWxkcmVuOltzKCJhY2NvdW50cy5leGVjdXRpb24ub2JzZXJ2ZWQiKSwiICIsbi5qc3hzKCJ0aW1lIix7ZGF0ZVRpbWU6ZT8ub2JzZXJ2ZWRfYXR8fHZvaWQgMCxjaGlsZHJlbjpbYS50ZXh0LGEuem9uZT9gICgke2Euem9uZX0pYDoiIl19KV19KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOnMoImFjY291bnRzLmV4ZWN1dGlvbi5jb25maWdfb25seSIpfSldfSldfSldfSl9ZXhwb3J0e2ogYXMgRX07Cg==" }, + "/v2/assets/DecisionsPage-LHfeAu77.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgY2UsdCBhcyBmZSxqIGFzIGUsdiBhcyBvZSxCIGFzIEgsTyBhcyBUZSx5IGFzIFhlLGUgYXMgZW4sUSBhcyBubixyIGFzIHUsZyBhcyBlZSxTIGFzIHRuLGsgYXMgc24sVCBhcyBhbixvIGFzIHJlLGggYXMgemUsVSBhcyBybixWIGFzIG9uLFcgYXMgSWUsWCBhcyBjbixmIGFzIGxuLFkgYXMgZG4sWiBhcyBSZSwkIGFzIEJlLEEgYXMgdW4sSCBhcyBwbn1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHtpIGFzIG1ufWZyb20iLi9pbmJveEZhaWx1cmUtQkR2QU1nZ0MuanMiO2ltcG9ydHtjIGFzIGZuLGEgYXMgX24sVCBhcyBobixmIGFzIE9lLHAgYXMgTGUsRCBhcyBNZSxvIGFzIHluLHIgYXMgeG4saCBhcyBnbixiIGFzIGpufWZyb20iLi9oZWxwZXJzLUJsQ2NELWRfLmpzIjtpbXBvcnR7dSBhcyBwZSxjIGFzIGJufWZyb20iLi9ob29rcy1CaTVvMlZURC5qcyI7aW1wb3J0e1QgYXMgdm59ZnJvbSIuL1RhYnMtQklWY0lQQ28uanMiO2ltcG9ydHt1IGFzIGtuLEMgYXMgTm59ZnJvbSIuL0RpYWxvZy1CZTBJVkxJOC5qcyI7aW1wb3J0e0UgYXMgd24sYSBhcyBTbixiIGFzIEFuLHQgYXMgJG59ZnJvbSIuL2NvY2twaXQtQlZpUVFlZnMuanMiO2ltcG9ydCIuL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiO2Z1bmN0aW9uIEhlKHtkYXRhOmksZXJyb3I6bixvblJldHJ5OnN9KXtjb25zdCBhPWNlKCkscj1mZSgpLHA9bW4oaSxuKSxjPWk/LmRpcmVjdG9yeT8uY29tcGxldGU9PT0hMT9pLmRpcmVjdG9yeS5yZXRyeV9hdDpudWxsO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZXJyb3Itc3RhdGUiLHJvbGU6ImFsZXJ0IiwiZGF0YS1zdGF0ZSI6cCxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0YXRlLWljb24gc3RhdGUtaWNvbi1lcnJvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46ZS5qc3hzKCJzdmciLHt3aWR0aDoxNCxoZWlnaHQ6MTQsdmlld0JveDoiMCAwIDEwIDEwIixjaGlsZHJlbjpbZS5qc3goImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIifSksZS5qc3goInBhdGgiLHtkOiJNMy4yIDMuMiBMNi44IDYuOCBNNi44IDMuMiBMMy4yIDYuOCIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJlcnJvci10aXRsZSIsY2hpbGRyZW46YShgaW5ib3guZXJyb3IuJHtwfS50aXRsZWApfSksZS5qc3goInAiLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjphKCJpbmJveC5jb3VudF91bmtub3duIil9KSxwPT09InVuYXV0aG9yaXplZCImJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46YSgiaW5ib3guYXV0aF9oaW50Iil9KSxjIT1udWxsJiZOdW1iZXIuaXNGaW5pdGUoYykmJmM+MCYmZS5qc3goInAiLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjphKCJpbmJveC5yZXRyeV9hdCIse3ZhbHVlOm9lKG5ldyBEYXRlKGMpLnRvSVNPU3RyaW5nKCkscikudGV4dH0pfSldfSkscyYmcCE9PSJ1bmF1dGhvcml6ZWQiJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdGF0ZS1hY3Rpb24iLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46YSgiaW5ib3gucmV0cnkiKX0pfSldfSl9ZnVuY3Rpb24gYmUoaSxuKXtyZXR1cm4gaS5maW5kKHM9PnMuaWQ9PT1uKT8/KGkubGVuZ3RoPT09MT9pWzBdOm51bGwpfWNvbnN0IENuPW5ldyBTZXQoWyJhcHByb3ZlIiwiYWNjZXB0IiwiYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Il0pLERuPW5ldyBTZXQoWyJyZWplY3QiLCJrZWVwX3BhcmtlZCJdKTtmdW5jdGlvbiBFbihpKXtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9bLi4ubmV3IFNldChpLmZsYXRNYXAobj0+e2NvbnN0IHM9dHlwZW9mIG49PSJzdHJpbmciP246biYmdHlwZW9mIG49PSJvYmplY3QiJiZ0eXBlb2Ygbi5hY3Rpb249PSJzdHJpbmciP24uYWN0aW9uOm51bGw7cmV0dXJuIHM/W3NdOltdfSkpXTpudWxsfWZ1bmN0aW9uIHZlKGksbil7Y29uc3Qgcz1pJiZ0eXBlb2YgaT09Im9iamVjdCImJiJhbGxvd2VkX2FjdGlvbnMiaW4gaT9pLmFsbG93ZWRfYWN0aW9uczp2b2lkIDAsYT1FbihzKTtpZihhPT09bnVsbClyZXR1cm4hMDtjb25zdCByPW49PT0iYWRvcHQiP0NuOkRuO3JldHVybiBhLnNvbWUocD0+ci5oYXMocCkpfWZ1bmN0aW9uIEZuKGkpe3JldHVybnt0aWNrZXRfaWQ6aS50aWNrZXRJZCxkZWNpc2lvbjppLmFjY2VwdD8iYWNjZXB0IjoicmVqZWN0Iixjb25maXJtYXRpb246aS5hY2NvdW50JiZpLnJpc2tQcm9maWxlP3t0YXJnZXRfcGxhdGZvcm06aS5hY2NvdW50LnBsYXRmb3JtLGV4ZWN1dGlvbl9tb2RlOmkuYWNjb3VudC5tb2RlLHJpc2tfcHJvZmlsZTppLnJpc2tQcm9maWxlfTpudWxsLC4uLmkuYWNjb3VudD97c2VsZWN0ZWRfYWNjb3VudDp7cGxhdGZvcm06aS5hY2NvdW50LnBsYXRmb3JtLGtleTppLmFjY291bnQua2V5fX06e30sZXhwZWN0ZWRfcHJvcG9zZWRfcGFyYW1zOmkucHJvcG9zZWRQYXJhbXN8fHt9LGV4cGVjdGVkX3N0cmF0ZWd5X3Byb2ZpbGU6aS5zdHJhdGVneVByb2ZpbGUsZXhwZWN0ZWRfZG9tYWluOmkuZG9tYWlufX1jb25zdCBUbj17b3duZXI6Im93bmVyX2RlY2lzaW9uIixwcm9tb3Rpb246InN0cmF0ZWd5X3Byb21vdGlvbiIscmVjb3Zlcnk6InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IixjcmVkZW50aWFsOiJjcmVkZW50aWFsX21haW50ZW5hbmNlIn07ZnVuY3Rpb24gSW4oaSl7Y29uc3Qgbj1UbltpXTtyZXR1cm4gbj9gY2F0ZWdvcnkuJHtufWA6ImRlY2lzaW9ucy51bmtub3duX3NvdXJjZSJ9ZnVuY3Rpb24gUm4oaSl7cmV0dXJuIGk9PT0icmVhZF9mYWlsZWQiPyJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS5yZWFkX2ZhaWxlZCI6aT09PSJ1bmF2YWlsYWJsZSI/ImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnVuYXZhaWxhYmxlIjoiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2Uuc3RhbGUifWNvbnN0IFBlPVsicG9zaXRpb25zIiwiY2FzaCIsIm9wZW5fb3JkZXJzIiwicmVjZW50X2V4ZWN1dGlvbnMiLCJsb2NhbF9leGVjdXRpb25fbGVkZ2VyIl0sQm49e2NvbXBsZXRlOiJvayIscGFydGlhbDoid2FybiIsdW5rbm93bjoidW5rbm93biJ9LE9uPVsia2luZCIsImN1cnJlbmN5Iiwid2luZG93X3N0YXJ0Iiwid2luZG93X2VuZCIsImxpbWl0X3Blcl9uYW1lc3BhY2UiLCJnYXRld2F5X2F2YWlsYWJpbGl0eSIsInRydW5jYXRlZCJdLG1lPWk9PiEhKGkmJnR5cGVvZiBpPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoaSkpO2Z1bmN0aW9uIExuKGkpe2NvbnN0IG49bWUoaSk/aTpudWxsLHM9YT0+e2NvbnN0IHI9bj8uW2FdO3JldHVybiB0eXBlb2Ygcj09InN0cmluZyI/cjpudWxsfTtyZXR1cm57cHJvdmlkZWQ6biE9PW51bGwsa2luZDpzKCJraW5kIiksY3VycmVuY3k6cygiY3VycmVuY3kiKSx3aW5kb3dfc3RhcnQ6cygid2luZG93X3N0YXJ0Iiksd2luZG93X2VuZDpzKCJ3aW5kb3dfZW5kIiksbGltaXRfcGVyX25hbWVzcGFjZTpzKCJsaW1pdF9wZXJfbmFtZXNwYWNlIiksZ2F0ZXdheV9hdmFpbGFiaWxpdHk6cygiZ2F0ZXdheV9hdmFpbGFiaWxpdHkiKSx0cnVuY2F0ZWQ6cygidHJ1bmNhdGVkIil9fWZ1bmN0aW9uIE1uKGkpe2NvbnN0IG49bWUoaSk/aTpudWxsLHM9TG4obj9uLnNjb3BlOm51bGwpO3JldHVybiBuP24uc3RhdHVzPT09ImNvbXBsZXRlIiYmQXJyYXkuaXNBcnJheShuLml0ZW1zKT97c3RhdHVzOiJjb21wbGV0ZSIsaXRlbXM6bi5pdGVtcyxzY29wZTpzfTpuLnN0YXR1cz09PSJwYXJ0aWFsIj97c3RhdHVzOiJwYXJ0aWFsIixpdGVtczpBcnJheS5pc0FycmF5KG4uaXRlbXMpP24uaXRlbXM6bnVsbCxzY29wZTpzfTp7c3RhdHVzOiJ1bmtub3duIixpdGVtczpudWxsLHNjb3BlOnN9OntzdGF0dXM6InVua25vd24iLGl0ZW1zOm51bGwsc2NvcGU6c319ZnVuY3Rpb24gUG4oaSxuKXtyZXR1cm4gbihgaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuJHtpfWAse30sImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIil9Y29uc3QgcW49WyJhY3Rpb24iLCJzaWRlIiwic3RhdHVzIiwib3JkZXJfdHlwZSIsInJpZ2h0Iiwic2VjX3R5cGUiXTtmdW5jdGlvbiBLbihpLG4scyl7cmV0dXJuIHFuLmluY2x1ZGVzKGkpP3MoYGluaXRpYWxfZW5yb2xsbWVudC5lbnVtLiR7aX0uJHtufWAse30sImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6bn1mdW5jdGlvbiB6bihpLG4scyl7cmV0dXJuIG49PT1udWxsfHxuPT09IiI/cygiY29tbW9uLnVua25vd24iKTppPT09InRydW5jYXRlZCI/cyhuPT09InRydWUiPyJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUudHJ1ZSI6bj09PSJmYWxzZSI/ImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS5mYWxzZSI6ImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6aT09PSJnYXRld2F5X2F2YWlsYWJpbGl0eSI/cyhuPT09ImN1cnJlbnRfYnJva2VyX2RheSI/ImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUudW5rbm93biIpOmk9PT0ia2luZCI/cyhgaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2tpbmQuJHtufWAse30sImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIik6bn1mdW5jdGlvbiBOZSh7dmFsdWU6aSx0Om4sZmllbGQ6c30pe2lmKGk9PT1udWxsKXJldHVybiBlLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjpuKCJjb21tb24udW5rbm93biIpfSk7aWYodHlwZW9mIGk9PSJzdHJpbmciKXJldHVybiBlLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjppP0tuKHM/PyIiLGksbik6bigiY29tbW9uLm5hIil9KTtpZih0eXBlb2YgaT09Im51bWJlciIpcmV0dXJuIGUuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOk51bWJlci5pc0Zpbml0ZShpKT9TdHJpbmcoaSk6bigiY29tbW9uLnVua25vd24iKX0pO2lmKHR5cGVvZiBpPT0iYm9vbGVhbiIpcmV0dXJuIGUuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOm4oaT8iaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiKX0pO2lmKEFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIGkubGVuZ3RoPT09MD9lLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjpuKCJjb21tb24ubmEiKX0pOmUuanN4KCJ1bCIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWxpc3QiLGNoaWxkcmVuOmkubWFwKChyLHApPT5lLmpzeCgibGkiLHtjaGlsZHJlbjplLmpzeChOZSx7dmFsdWU6cix0Om4sZmllbGQ6c30pfSxwKSl9KTtjb25zdCBhPU9iamVjdC5lbnRyaWVzKGkpO3JldHVybiBhLmxlbmd0aD09PTA/ZS5qc3goZS5GcmFnbWVudCx7Y2hpbGRyZW46bigiY29tbW9uLm5hIil9KTplLmpzeCgiZGwiLHtjbGFzc05hbWU6ImluaXRpYWwtZW5yb2xsbWVudC1maWVsZHMiLGNoaWxkcmVuOmEubWFwKChbcixwXSk9PmUuanN4cygiZGl2Iix7ImRhdGEtZmFjdC1rZXkiOnIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOlBuKHIsbil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChOZSx7dmFsdWU6cCx0Om4sZmllbGQ6cn0pfSldfSxyKSl9KX1mdW5jdGlvbiBIbih7c2NvcGU6aSx0Om59KXtjb25zdCBzPU9uLmZpbHRlcihhPT5pW2FdIT09bnVsbCYmaVthXSE9PSIiKTtyZXR1cm4haS5wcm92aWRlZHx8IXMubGVuZ3RoP251bGw6ZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc2NvcGUtYmxvY2siLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOm4oImluaXRpYWxfZW5yb2xsbWVudC5zY29wZSIpfSksZS5qc3goImRsIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc2NvcGUiLGNoaWxkcmVuOnMubWFwKGE9PmUuanN4cygiZGl2Iix7ImRhdGEtc2NvcGUtZmllbGQiOmEsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOm4oYGluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC4ke2F9YCl9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjp6bihhLGlbYV0sbil9KV19LGEpKX0pXX0pfWZ1bmN0aW9uIFVuKHtzdXJmYWNlOmksdDpufSl7aWYoaS5zdGF0dXM9PT0idW5rbm93biIpcmV0dXJuIGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6InVua25vd24iLGNoaWxkcmVuOm4oImNvbW1vbi51bmtub3duIil9KTtjb25zdCBzPWkuaXRlbXM7cmV0dXJuIHM9PT1udWxsP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6InVuYXZhaWxhYmxlIixjaGlsZHJlbjpuKCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF91bmF2YWlsYWJsZSIpfSk6cy5sZW5ndGg9PT0wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIiwiZGF0YS1zdGF0ZSI6aS5zdGF0dXM9PT0iY29tcGxldGUiPyJrbm93bl9lbXB0eSI6InBhcnRpYWxfdW5hdmFpbGFibGUiLGNoaWxkcmVuOmkuc3RhdHVzPT09ImNvbXBsZXRlIj9uKCJpbml0aWFsX2Vucm9sbG1lbnQua25vd25fZW1wdHkiKTpuKCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF91bmF2YWlsYWJsZSIpfSk6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltpLnN0YXR1cz09PSJwYXJ0aWFsIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOm4oImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX25vdGljZSIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWl0ZW1zIiwiZGF0YS1pdGVtLWNvdW50IjpzLmxlbmd0aCxjaGlsZHJlbjpzLm1hcCgoYSxyKT0+ZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWl0ZW0iLGNoaWxkcmVuOmUuanN4KE5lLHt2YWx1ZTphLHQ6bn0pfSxyKSl9KV19KX1mdW5jdGlvbiBWbih7YWNjb3VudDppLHN0cmF0ZWd5Om4scGxhdGZvcm06cyxmYWN0czphLHJlYWRpbmVzczpyLGJsb2NrZXJDb2RlczpwfSl7Y29uc3QgYz1jZSgpLEU9ZmUoKSxkPW1lKGEpP2E6bnVsbCx5PWQ/Lm9ic2VydmVkX2F0LCQ9dHlwZW9mIHk9PSJzdHJpbmciJiZOdW1iZXIuaXNGaW5pdGUoRGF0ZS5wYXJzZSh5KSk/eTpudWxsLHY9JD9vZSgkLEUpOm51bGwsaz1kJiZtZShkLnN1cmZhY2VzKT9kLnN1cmZhY2VzOm51bGwsST1yPT09ImJsb2NrZWQifHwhIXA/Lmxlbmd0aCxaPShwfHxbXSkubWFwKE49Pi9eaW5pdGlhbF9lbnJvbGxtZW50XyguKylfaW5jb21wbGV0ZSQvLmV4ZWMoTik/LlsxXSkuZmlsdGVyKE49PiEhKE4mJlBlLmluY2x1ZGVzKE4pKSk7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LWZhY3RzIiwiYXJpYS1sYWJlbCI6YygiaW5pdGlhbF9lbnJvbGxtZW50LnRpdGxlIiksImRhdGEtbWF0ZXJpYWwiOiJpbml0aWFsX2Vucm9sbG1lbnQiLCJkYXRhLXJlYWRpbmVzcyI6cj8/dm9pZCAwLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOmMoImluaXRpYWxfZW5yb2xsbWVudC50aXRsZSIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW1ldGEiLGNoaWxkcmVuOltlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbYygiY29tbW9uLmFjY291bnQiKSwiOiAiLGl8fGMoImNvbW1vbi51bmtub3duIildfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2MoImNvbW1vbi5zdHJhdGVneSIpLCI6ICIsbnx8YygiY29tbW9uLnVua25vd24iKV19KSxzJiZlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbYygiY29tbW9uLnBsYXRmb3JtIiksIjogIixzXX0pLGUuanN4cygic3BhbiIse2NoaWxkcmVuOltjKCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiKSwiOiIsIiAiLCQmJnY/ZS5qc3goInRpbWUiLHtkYXRlVGltZTokLGNoaWxkcmVuOnYuem9uZT9gJHt2LnRleHR9ICgke3Yuem9uZX0pYDp2LnRleHR9KTpjKCJjb21tb24udW5rbm93biIpXX0pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpjKCJpbml0aWFsX2Vucm9sbG1lbnQubm90aWNlIil9KSxJJiZlLmpzeHMoInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUgaW5pdGlhbC1lbnJvbGxtZW50LWJsb2NrZWQiLHJvbGU6InN0YXR1cyIsImRhdGEtc3RhdGUiOiJibG9ja2VkIixjaGlsZHJlbjpbYygiaW5pdGlhbF9lbnJvbGxtZW50LmJsb2NrZWQiKSxaLmxlbmd0aD4wP2AgJHtaLm1hcChOPT5jKGBpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS4ke059YCkpLmpvaW4oIiAvICIpfWA6IiJdfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiaW5pdGlhbC1lbnJvbGxtZW50LXN1cmZhY2VzIixjaGlsZHJlbjpQZS5tYXAoTj0+e2NvbnN0IGg9TW4oaz8uW05dKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc3VyZmFjZSIsImRhdGEtc3VyZmFjZSI6TiwiZGF0YS1zdGF0dXMiOmguc3RhdHVzLGNoaWxkcmVuOltlLmpzeHMoImgzIix7Y2xhc3NOYW1lOiJpbml0aWFsLWVucm9sbG1lbnQtc3VyZmFjZS10aXRsZSIsY2hpbGRyZW46W2MoYGluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLiR7Tn1gKSwiICIsZS5qc3goSCx7dG9uZTpCbltoLnN0YXR1c10sY2hpbGRyZW46YyhgaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy4ke2guc3RhdHVzfWApfSldfSksZS5qc3goVW4se3N1cmZhY2U6aCx0OmN9KSxlLmpzeChIbix7c2NvcGU6aC5zY29wZSx0OmN9KV19LE4pfSl9KV19KX1mdW5jdGlvbiBHbih7ZGF0YTppLGxhbmd1YWdlOm4sdDpzLGl0ZW1JZDphfSl7Y29uc3Qgcj1pPy5zb3VyY2VzLmZpbmQoZD0+ZC5zb3VyY2U9PT0icmVjb3ZlcnkiKSxwPXI/LmN1cnJlbnRfcmVjb25jaWxpYXRpb25fb2JzZXJ2YXRpb24sYz0oaT8uaXRlbXN8fFtdKS5maWx0ZXIoZD0+ZC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSImJighYXx8ZC5pZD09PWEpKSxFPWQ9PntpZighZHx8IU51bWJlci5pc0Zpbml0ZShEYXRlLnBhcnNlKGQpKSlyZXR1cm4gcygiY29tbW9uLnVua25vd24iKTtjb25zdCB5PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG49PT0iemgiPyJ6aC1DTiI6ImVuLVVTIix7eWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmVOYW1lOiJzaG9ydE9mZnNldCJ9KS5mb3JtYXRUb1BhcnRzKG5ldyBEYXRlKGQpKSwkPXkuZmluZChrPT5rLnR5cGU9PT0idGltZVpvbmVOYW1lIik/LnZhbHVlfHwiIix2PXkuZmlsdGVyKGs9PmsudHlwZSE9PSJ0aW1lWm9uZU5hbWUiKS5tYXAoaz0+ay52YWx1ZSkuam9pbigiIikudHJpbSgpO3JldHVybiBlLmpzeCgidGltZSIse2RhdGVUaW1lOmQsY2hpbGRyZW46JD9gJHt2fSAoJHskfSlgOnZ9KX07cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicmVjb25jaWxpYXRpb24tbWF0ZXJpYWxzIiwiYXJpYS1sYWJlbCI6cygicmVjb25jaWxpYXRpb24udGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5jdXJyZW50Iil9KSxlLmpzeCgicCIse3JvbGU6InN0YXR1cyIsY2hpbGRyZW46cD8uc3RhdHVzX2xhYmVsW25dfHxzKCJyZWNvbmNpbGlhdGlvbi5ub3RfY29ubmVjdGVkIil9KSxwPy5sYXN0X29ic2VydmVkX2F0JiZlLmpzeHMoInAiLHtjaGlsZHJlbjpbcygicmVjb25jaWxpYXRpb24ub2JzZXJ2ZWRfYXQiKSwi77yaIixFKHAubGFzdF9vYnNlcnZlZF9hdCldfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLmhpc3Rvcnlfbm90aWNlIil9KSxlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLm1hdGVyaWFscyIpfSkscj8uc3RhdHVzIT09Im9rIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOnMocj8uc3RhdHVzPT09InN0YWxlIj8icmVjb25jaWxpYXRpb24uc3RhbGUiOiJyZWNvbmNpbGlhdGlvbi5yZWFkX3Vua25vd24iKX0pLCFjLmxlbmd0aCYmZS5qc3goInAiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5lbXB0eSIpfSksYy5tYXAoZD0+e2NvbnN0IHk9ZC5wcmVzZW50YXRpb24sJD1UZSgic3RyYXRlZ2llcyIseT8uc3RyYXRlZ3lfcHJvZmlsZXx8IiIsbixzKCJyZWNvbmNpbGlhdGlvbi51bm5hbWVkX3N0cmF0ZWd5IikpLHY9VGUoImFjY291bnRzIixkLmFjY291bnRfYWxpYXN8fCIiLG4scygiY29tbW9uLmFjY291bnQiKSxkLnBsYXRmb3JtfHwiIik7cmV0dXJuIGUuanN4cygiYXJ0aWNsZSIse2NsYXNzTmFtZToicmVjb25jaWxpYXRpb24tbWF0ZXJpYWwiLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjaGlsZHJlbjp5Py5sYWJlbFtuXXx8cygicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIil9KSxlLmpzeHMoInAiLHtjaGlsZHJlbjpbJCwiIMK3ICIsdiwhYSYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOlsiIMK3ICIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InJlY29uY2lsaWF0aW9uLXJlZiIsY2hpbGRyZW46cygiZGVjaXNpb25zLnJlZiIse2lkOmQuc2hvcnRfaWR9KX0pXX0pXX0pLGUuanN4cygiZGwiLHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46cygicmVjb25jaWxpYXRpb24uZGVjaXNpb25fc3RhdHVzIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjp5Py5kZWNpc2lvbl9zdGF0dXNfbGFiZWxbbl18fHMoInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iKX0pXX0pLGUuanN4cygiZGl2Iix7Y2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnMoInJlY29uY2lsaWF0aW9uLmZyZXNobmVzcyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46cyhkLmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXM9PT0ic3RhbGUiPyJzdGF0ZS5zdGFsZSI6ZC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09InJlYWR5Ij8iZGVjaXNpb25zLmZyZXNobmVzcy5yZWFkeSI6ImNvbW1vbi51bmtub3duIil9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46RSh5Py5sYXN0X29ic2VydmVkX2F0fHxkLmV2aWRlbmNlX2ZyZXNobmVzcy5hc19vZil9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5nZW5lcmF0ZWRfYXQiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOkUoeT8uc291cmNlX2dlbmVyYXRlZF9hdCl9KV19KSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJyZWNvbmNpbGlhdGlvbi5jb21wdXRlZF9hdCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46RSh5Py5zb3VyY2VfY29tcHV0ZWRfYXQpfSldfSldfSldfSxkLmlkKX0pXX0pfWNvbnN0IFluPVsicmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiLCJzdHJhdGVneV9wcm9tb3Rpb24iLCJvd25lcl9kZWNpc2lvbiIsInBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iLCJjcmVkZW50aWFsX21haW50ZW5hbmNlIl0scWU9e2hpZ2g6MCxtZWRpdW06MSxub3JtYWw6Mn0sVWU9MzAqODY0ZTU7ZnVuY3Rpb24gWm4oaSl7aWYoaS5ldmlkZW5jZV9mcmVzaG5lc3M/LnN0YXR1cz09PSJzdGFsZSIpcmV0dXJuITA7Y29uc3Qgbj1pLmNyZWF0ZWRfYXQ/RGF0ZS5wYXJzZShpLmNyZWF0ZWRfYXQpOk5hTjtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKG4pJiZEYXRlLm5vdygpLW4+VWV9ZnVuY3Rpb24gV24oaSl7aWYoaS5ldmlkZW5jZV9mcmVzaG5lc3M/LnN0YXR1cz09PSJzdGFsZSIpcmV0dXJuImRlY2lzaW9ucy5zdGFsZV9oaW50Ijtjb25zdCBuPWkuY3JlYXRlZF9hdD9EYXRlLnBhcnNlKGkuY3JlYXRlZF9hdCk6TmFOO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobikmJkRhdGUubm93KCktbj5VZT8iZGVjaXNpb25zLnN0YWxlX3Zpc2libGVfaGludCI6bnVsbH1mdW5jdGlvbiBuZShpKXtjb25zdCBuPWkuZGVjaXNpb25fYmluZGluZztpZihuJiZ0eXBlb2Ygbi5zdWJqZWN0X2lkPT0ic3RyaW5nIiYmbi5zdWJqZWN0X2lkKXJldHVybiBuLnN1YmplY3RfaWQ7Y29uc3Qgcz1pLmlkLmluZGV4T2YoIjoiKTtyZXR1cm4gcz49MD9pLmlkLnNsaWNlKHMrMSk6aS5pZH1mdW5jdGlvbiBzZShpKXtpZihpLnN0YXR1cz09PSJleHBpcmVkIilyZXR1cm4hMDtjb25zdCBuPWkuZXhwaXJlc19hdD9EYXRlLnBhcnNlKGkuZXhwaXJlc19hdCk6TmFOO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobikmJm48RGF0ZS5ub3coKX1mdW5jdGlvbiBrZShpKXtyZXR1cm4gaS5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSImJighIWkuaW5pdGlhbF9lbnJvbGxtZW50fHxpLnByZXNlbnRhdGlvbj8ubWF0ZXJpYWxfa2luZD09PSJpbml0aWFsX2Vucm9sbG1lbnQiKX1mdW5jdGlvbiBKbihpKXtyZXR1cm5bLi4uaV0uc29ydCgobixzKT0+e2NvbnN0IGE9KyhzLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IiktKyhuLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Iik7aWYoYSE9PTApcmV0dXJuIGE7Y29uc3Qgcj0ocWVbbi5wcmlvcml0eV0/PzMpLShxZVtzLnByaW9yaXR5XT8/Myk7cmV0dXJuIHIhPT0wP3I6KHMuY3JlYXRlZF9hdHx8IiIpLmxvY2FsZUNvbXBhcmUobi5jcmVhdGVkX2F0fHwiIil9KX1mdW5jdGlvbiBhZShpLG4pe2NvbnN0IHM9aT8uYXBwbGljYXRpb25fcHJlcGFyYXRpb24/LmFjY291bnRfb3B0aW9ucztyZXR1cm4gQXJyYXkuaXNBcnJheShzKT9zLmZpbHRlcihhPT57aWYoIWF8fHR5cGVvZiBhLnBsYXRmb3JtIT0ic3RyaW5nInx8dHlwZW9mIGEua2V5IT0ic3RyaW5nInx8IWEua2V5LnRyaW0oKSlyZXR1cm4hMTtjb25zdCByPWEuYnJva2VyX2Vudmlyb25tZW50O3JldHVybiBuP2EucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSImJnI9PT0icGFwZXIiOnI9PT0ibGl2ZSJ8fHI9PT0icGFwZXIiJiZhLnBsYXRmb3JtPT09ImxvbmdicmlkZ2UifSkubWFwKGE9Pih7aWQ6YCR7YS5wbGF0Zm9ybX06JHthLmtleX1gLHBsYXRmb3JtOlN0cmluZyhhLnBsYXRmb3JtKSxrZXk6U3RyaW5nKGEua2V5KSxsYWJlbDp0eXBlb2YgYS5sYWJlbD09InN0cmluZyImJmEubGFiZWwudHJpbSgpP2EubGFiZWw6U3RyaW5nKGEua2V5KSxtb2RlOlN0cmluZyhhLmJyb2tlcl9lbnZpcm9ubWVudHx8IiIpfSkpOltdfWZ1bmN0aW9uIEtlKGksbil7Y29uc3Qgcz1baT8ucmlza19wb2xpY3lfYmluZGluZyxpPy5jb25maXJtYXRpb24sbi5yaXNrX3BvbGljeV9iaW5kaW5nLG5dO2Zvcihjb25zdCBhIG9mIHMpe2lmKCFhfHx0eXBlb2YgYSE9Im9iamVjdCIpY29udGludWU7Y29uc3Qgcj10eXBlb2YgYS5zZWxlY3RlZF90aWVyPT0ic3RyaW5nIj9hLnNlbGVjdGVkX3RpZXI6dHlwZW9mIGEucmlza19wcm9maWxlPT0ic3RyaW5nIj9hLnJpc2tfcHJvZmlsZTpudWxsO2lmKCFyfHwhb24ocikpY29udGludWU7Y29uc3QgcD10eXBlb2YgYS5wb2xpY3lfcmV2aXNpb249PSJzdHJpbmciJiZhLnBvbGljeV9yZXZpc2lvbj9hLnBvbGljeV9yZXZpc2lvbjp0eXBlb2YgYS5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb249PSJzdHJpbmciJiZhLmFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbj9hLmFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbjpudWxsO3JldHVybntyaXNrX3Byb2ZpbGU6cixwb2xpY3lfcmV2aXNpb246cH19cmV0dXJuIG51bGx9ZnVuY3Rpb24gUW4oaSl7cmV0dXJuIGk9PT0iZnJlc2giPyJzdGF0ZS5mcmVzaCI6aT09PSJzdGFsZSI/InN0YXRlLnN0YWxlIjppPT09InJlYWR5Ij8iZGVjaXNpb25zLmZyZXNobmVzcy5yZWFkeSI6aT09PSJ1bmF2YWlsYWJsZSI/InN0YXRlLnVuYXZhaWxhYmxlIjoic3RhdGUudW5rbm93biJ9ZnVuY3Rpb24gWG4oe2Vwb2NoOmksY2F0ZWdvcnk6bn0pe2NvbnN0IHM9Y2UoKSxhPWZlKCksW3IscF09dS51c2VTdGF0ZShudWxsKSxbYyxFXT11LnVzZVN0YXRlKG51bGwpLFtkLHldPXUudXNlU3RhdGUoITEpLFskLHZdPXUudXNlU3RhdGUoITEpLGs9dS51c2VSZWYoYm4oKSksST11LnVzZUNhbGxiYWNrKCgpPT57Y29uc3QgaD1rLmN1cnJlbnQuYmVnaW4oKTtwKG51bGwpLHkoITEpLEUobnVsbCksSWUoMjUpLnRoZW4oTT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJihwKE0uaXRlbXMpLEUoTS5uZXh0X2N1cnNvcikpfSkuY2F0Y2goKCk9PntrLmN1cnJlbnQuaXNDdXJyZW50KGgpJiZ5KCEwKX0pfSxbXSk7dS51c2VFZmZlY3QoKCk9PkkoKSxbSSxpXSk7Y29uc3QgWj0oKT0+e2lmKCFjfHwkKXJldHVybjtjb25zdCBoPWsuY3VycmVudC5iZWdpbigpO3YoITApLEllKDI1LGMpLnRoZW4oTT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJihwKFA9PlsuLi5QfHxbXSwuLi5NLml0ZW1zXSksRShNLm5leHRfY3Vyc29yKSl9KS5jYXRjaCgoKT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJnkoITApfSkuZmluYWxseSgoKT0+e2suY3VycmVudC5pc0N1cnJlbnQoaCkmJnYoITEpfSl9O2lmKGQmJiFyPy5sZW5ndGgpcmV0dXJuIGUuanN4KEhlLHtvblJldHJ5Okl9KTtpZighcilyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeChyZSx7aGVpZ2h0OjU2fSksZS5qc3goImRpdiIse3N0eWxlOntoZWlnaHQ6OH19KSxlLmpzeChyZSx7aGVpZ2h0OjU2fSldfSk7Y29uc3QgTj1uPT09ImFsbCI/cjpyLmZpbHRlcihoPT5oLmNhdGVnb3J5PT09bik7cmV0dXJuIE4ubGVuZ3RoPT09MD9lLmpzeCh6ZSx7dGl0bGU6cygiZGVjaXNpb25zLmhpc3RvcnkuZW1wdHkiKX0pOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJkZWNpc2lvbnMuaGlzdG9yeV90aXRsZSIpfSksZS5qc3goaG4se2l0ZW1zOk4ubWFwKGg9Pih7aWQ6aC5pZCx0aW1lOmgudGltZSx0aXRsZTplLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2guYWN0b3JfYWxpYXN8fHMoImNvbW1vbi51bmtub3duIiksIiDCtyAiLHMoYGRlY2lzaW9ucy5hY3Rpb24uJHtoLmFjdGlvbn1gKV19KSxkZXRhaWw6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltzKGBjYXRlZ29yeS4ke2guY2F0ZWdvcnl9YCksIiDCtyAiLHMoImRlY2lzaW9ucy5yZWYiLHtpZDpoLml0ZW1fc2hvcnRfaWR9KSwiIMK3ICIsb2UoaC50aW1lLGEpLnRleHRdfSl9KSl9KSxjJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1oaXN0b3J5LW1vcmUiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOiQsb25DbGljazpaLGNoaWxkcmVuOnMoJD8iY29tbW9uLmxvYWRpbmciOiJjb21tb24ubG9hZF9tb3JlIil9KX0pLGQmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpzKCJlcnJvci5nZW5lcmljIil9KV19KX1mdW5jdGlvbiBldCh7b3BlcmF0aW9uSWQ6aX0pe2NvbnN0IG49Y2UoKSxbcyxhXT11LnVzZVN0YXRlKDApLHI9cGUoKCk9PmRuKGksITEpLFtpLHNdKSxwPXIucGhhc2U9PT0ibG9hZGluZyI/ImxvYWRpbmciOnIucGhhc2U9PT0iZXJyb3IiPyJlcnJvciI6ci5kYXRhLnN0YXR1cz09PSJub3RfcmVhZHkiPyJub3RfcmVhZHkiOiJyZWFkeSIsYz1yLnBoYXNlPT09InJlYWR5IiYmci5kYXRhLnN0YXR1cz09PSJyZWFkeSI/ci5kYXRhLmRhdGE6bnVsbCxFPXIucGhhc2U9PT0icmVhZHkiJiZyLmRhdGEuc3RhdHVzPT09InJlYWR5IiYmci5kYXRhLnN5bnRoZXRpYztyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNvY2twaXQtb3BlcmF0aW9uIixjaGlsZHJlbjpbRSYmZS5qc3goSCx7dG9uZToiYWNjZW50IixjaGlsZHJlbjpuKCJjb2NrcGl0LnN5bnRoZXRpYyIpfSksZS5qc3goQW4se29wZXJhdGlvbjpjLHN0YXR1czpwLG9uUmVmcmVzaDooKT0+YShkPT5kKzEpfSldfSl9ZnVuY3Rpb24gbHQoe2RlY2lzaW9uOml9KXtjb25zdCBuPWNlKCkscz1YZSgpLGE9ZmUoKSxyPWVuKCkscD1ubigpLHtjb25maXJtUmVxdWVzdDpjLGNvbmZpcm06RSxyZXNvbHZlQ29uZmlybTpkfT1rbigpLFt5LCRdPXUudXNlU3RhdGUoImFsbCIpLFt2LGtdPXUudXNlU3RhdGUoInBlbmRpbmciKSxbSSxaXT11LnVzZVN0YXRlKDApLFtOLGhdPXUudXNlU3RhdGUobnVsbCksW00sUF09dS51c2VTdGF0ZSh7fSksW19lLHdlXT11LnVzZVN0YXRlKHt9KSx4PXBlKCgpPT5zbihJPjApLFtJXSksU2U9cGUoKCk9PmFuKCksW10pLEFlPVNlLnBoYXNlPT09InJlYWR5IiYmU2UuZGF0YS5hZG1pbj09PSEwLCRlPXgucGhhc2U9PT0icmVhZHkiP3guZGF0YTpudWxsLGxlPXUudXNlTWVtbygoKT0+bmV3IERhdGUoKS50b0lTT1N0cmluZygpLFskZV0pLHE9JGU/LnNlcnZlcl90aW1lPz9udWxsLFU9dS51c2VSZWYoZm4oKSksVz11LnVzZVJlZihfbigpKSxDPXUudXNlQ2FsbGJhY2soKCk9PloodD0+dCsxKSxbXSksSj11LnVzZU1lbW8oKCk9PngucGhhc2U9PT0icmVhZHkiJiZ4LmRhdGEuc3RhdHVzIT09InJlYWRfZmFpbGVkIj94LmRhdGEuaXRlbXM6W10sW3hdKSxoZT11LnVzZU1lbW8oKCk9PkpuKEouZmlsdGVyKHQ9PnQuc3RhdHVzPT09InBlbmRpbmcifHx0LnN0YXR1cz09PSJleHBpcmVkIikpLFtKXSksQ2U9dS51c2VNZW1vKCgpPT5KLmZpbHRlcih0PT50LnN0YXR1cz09PSJwZW5kaW5nIikubGVuZ3RoLFtKXSksdGU9dS51c2VNZW1vKCgpPT55PT09ImFsbCI/aGU6aGUuZmlsdGVyKHQ9PnQuY2F0ZWdvcnk9PT15KSxbaGUseV0pLHllPXUudXNlTWVtbygoKT0+eC5waGFzZT09PSJyZWFkeSImJnguZGF0YS5zdGF0dXMhPT0icmVhZF9mYWlsZWQiP3guZGF0YS5zb3VyY2VzLmZpbHRlcih0PT50LnN0YXR1cyE9PSJvayIpOltdLFt4XSksUz10ZS5maW5kKHQ9PnQuaWQ9PT1OKXx8bnVsbCxEZT10PT50LmFjY291bnRfYWxpYXM/cy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKTpuKCJkZWNpc2lvbnMuYWNjb3VudF91bmJvdW5kIikseGU9dS51c2VSZWYobnVsbCksaWU9dS51c2VDYWxsYmFjayh0PT57aCh0KSx4ZS5jdXJyZW50PXQsdCE9PWkmJnIoe2RlY2lzaW9uOnR9KX0sW3IsaV0pO3UudXNlRWZmZWN0KCgpPT57eC5waGFzZT09PSJyZWFkeSImJk4mJiF0ZS5zb21lKHQ9PnQuaWQ9PT1OKSYmaWUobnVsbCl9LFt4LnBoYXNlLE4sdGUsaWVdKSx1LnVzZUVmZmVjdCgoKT0+eyFpfHx4ZS5jdXJyZW50PT09aXx8eC5waGFzZSE9PSJyZWFkeSJ8fEouc29tZSh0PT50LmlkPT09aSkmJih4ZS5jdXJyZW50PWksaygicGVuZGluZyIpLCQoImFsbCIpLGgoaSkpfSxbaSx4LnBoYXNlLEpdKTtjb25zdCBFZT0hIShTJiZTLnN0YXR1cz09PSJwZW5kaW5nIiYmIXNlKFMpJiYoUy5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24ifHxTLmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKSksSz1wZSgoKT0+RWU/ZWUoIi9hcGkvcmVzZWFyY2gtcHJvbW90aW9uLXRpY2tldHMiKTpQcm9taXNlLnJlc29sdmUobnVsbCksW0VlLFM/LmlkLEldKSxWPXUudXNlTWVtbygoKT0+e2lmKCFTfHxLLnBoYXNlIT09InJlYWR5Inx8IUsuZGF0YSlyZXR1cm4gbnVsbDtjb25zdCB0PUsuZGF0YS5hcHBsaWNhdGlvbnM7cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJnQuZmluZChvPT5vPy50aWNrZXRfaWQ9PT1uZShTKSl8fG51bGx9LFtTLEtdKSxnZT11LnVzZU1lbW8oKCk9PntpZighU3x8Sy5waGFzZSE9PSJyZWFkeSJ8fCFLLmRhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD1LLmRhdGEudGlja2V0cztyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmdC5maW5kKG89Pm8/LnRpY2tldF9pZD09PW5lKFMpKXx8bnVsbH0sW1MsS10pLFZlPXUudXNlTWVtbygoKT0+Z2U/S2UoVixnZSk6bnVsbCxbVixnZV0pLEE9KHQsbyk9PnAoe2tpbmQ6dCx0ZXh0Om4obyl9KSxqZT10PT57dCBpbnN0YW5jZW9mIHVufHx0Py5tZXNzYWdlIT09InNlc3Npb25faW52YWxpZGF0ZWQiJiYodCBpbnN0YW5jZW9mIHBuP0EoImVycm9yIix0LnN0YXR1cz09PTQwOT8iZXJyb3IuY29uZmxpY3QiOiJlcnJvci5nZW5lcmljIik6QSgiZXJyb3IiLCJkZWNpc2lvbnMub3V0Y29tZV91bmtub3duIiksQygpKX0sR2U9YXN5bmModCxvLEQpPT57Y29uc3QgZj1uZSh0KSxnPXQuY2F0ZWdvcnk9PT0ib3duZXJfZGVjaXNpb24iPyJvd25lciI6dC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI/InJlY292ZXJ5IjoicHJvbW90aW9uIjtsZXQgdyxtLGosUj1udWxsLEI9bnVsbDt0cnl7aWYoZz09PSJvd25lciIpe2NvbnN0IF89KChhd2FpdCBlZSgiL2FwaS9vd25lci1kZWNpc2lvbnMiKSkuY2FuZGlkYXRlc3x8W10pLmZpbmQobD0+bD8uY2FuZGlkYXRlPy5jYW5kaWRhdGVfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWNvbnN0IEY9eW4oey4uLl8uY2FuZGlkYXRlLGNhbmRpZGF0ZV9ldmlkZW5jZV9zaGEyNTY6Xy5jYW5kaWRhdGVfZXZpZGVuY2Vfc2hhMjU2fSxvPT09ImFkb3B0Ij8iYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Ijoia2VlcF9wYXJrZWQiKTtpZighRil7QShfLmludGVudD8iaW5mbyI6ImVycm9yIixfLmludGVudD8iZGVjaXNpb25zLmludGVudF9ub3RfcGVuZGluZyI6ImRlY2lzaW9ucy5pbnRlbnRfdW5hdmFpbGFibGUiKSxDKCk7cmV0dXJufXc9XyxtPUYsaj0iL2FwaS9vd25lci1kZWNpc2lvbnMifWVsc2UgaWYoZz09PSJyZWNvdmVyeSIpe2NvbnN0IF89KChhd2FpdCBlZSgiL2FwaS9yZWNvbmNpbGlhdGlvbi1yZWNvdmVyeSIpKS5yZWNvdmVyaWVzfHxbXSkuZmluZChsPT5sPy5yZWNvdmVyeT8ucmVjb3ZlcnlfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWNvbnN0IEY9eG4oXyxvPT09ImFkb3B0Ij8iYXBwcm92ZSI6InJlamVjdCIpO2lmKCFGKXtjb25zdCBsPSEhKF8uY29uZmlybWF0aW9ufHxfLnJlamVjdGlvbik7QShsPyJpbmZvIjoiZXJyb3IiLGw/ImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciOiJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIiksQygpO3JldHVybn13PV8sbT1GLGo9Ii9hcGkvcmVjb25jaWxpYXRpb24tcmVjb3ZlcnktY29uZmlybWF0aW9ucyJ9ZWxzZXtjb25zdCBiPWF3YWl0IGVlKCIvYXBpL3Jlc2VhcmNoLXByb21vdGlvbi10aWNrZXRzIiksXz0oYi50aWNrZXRzfHxbXSkuZmluZChsPT5sPy50aWNrZXRfaWQ9PT1mKTtpZighXyl7QSgiaW5mbyIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciKSxDKCk7cmV0dXJufWxldCBGPW51bGw7aWYobz09PSJhZG9wdCIpe2NvbnN0IGw9KGIuYXBwbGljYXRpb25zfHxbXSkuZmluZChUPT5UPy50aWNrZXRfaWQ9PT1mKSxMPWFlKGwsITEpLmZpbmQoVD0+VC5pZD09PUQpO2lmKCFMKXtBKCJlcnJvciIsImRlY2lzaW9ucy5pbnRlbnRfdW5hdmFpbGFibGUiKTtyZXR1cm59aWYoRj1MLFI9TCx0LmNhdGVnb3J5PT09InN0cmF0ZWd5X3Byb21vdGlvbiImJihCPUtlKGwsXyksIUIpKXtBKCJlcnJvciIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCIpO3JldHVybn19dz1fLG09Rm4oe3RpY2tldElkOl8udGlja2V0X2lkLGFjY2VwdDpvPT09ImFkb3B0IixhY2NvdW50OkYscmlza1Byb2ZpbGU6Qj8ucmlza19wcm9maWxlPz9udWxsLHByb3Bvc2VkUGFyYW1zOl8ucHJvcG9zZWRfcGFyYW1zLHN0cmF0ZWd5UHJvZmlsZTpfLnN0cmF0ZWd5X3Byb2ZpbGUsZG9tYWluOl8uZG9tYWlufSksaj0iL2FwaS9yZXNlYXJjaC1wcm9tb3Rpb24tZGVjaXNpb25zIn19Y2F0Y2goYil7amUoYik7cmV0dXJufWNvbnN0IFE9VS5jdXJyZW50LmVwb2NoKCksTz1hd2FpdCBnbihnLHcsbSk7aWYoUSE9PVUuY3VycmVudC5lcG9jaCgpKXJldHVybjtpZighTyl7QSgiZXJyb3IiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIik7cmV0dXJufWlmKG0ubW9kZT09PSJpbml0aWFsX2Vucm9sbG1lbnQiKXtjb25zdCBiPXQuaW5pdGlhbF9lbnJvbGxtZW50O2lmKCFifHxiLmNhbmRpZGF0ZV9zaGEyNTYhPT1tLmNhbmRpZGF0ZV9zaGEyNTZ8fGIuZmFjdHNfc2hhMjU2IT09bS5mYWN0c19zaGEyNTYpe0EoImluZm8iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCIpLEMoKTtyZXR1cm59fWlmKCFqbih0LmRlY2lzaW9uX2JpbmRpbmcsTykpe0EoImluZm8iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCIpLEMoKTtyZXR1cm59aWYoIWF3YWl0IEZlKHQsbywhMSxSLEIpfHxRIT09VS5jdXJyZW50LmVwb2NoKCkpcmV0dXJuO2lmKHEmJnQuZXhwaXJlc19hdCYmUmUodC5leHBpcmVzX2F0LHEsbGUsRGF0ZS5ub3coKSkuc3RhdGU9PT0iZXhwaXJlZCIpe0EoImluZm8iLCJkZWNpc2lvbnMuaW50ZW50X25vdF9wZW5kaW5nIiksQygpO3JldHVybn1pZihzZSh0KSlyZXR1cm47Y29uc3Qgej1VLmN1cnJlbnQuc3RhcnQoTyk7aWYoIXopcmV0dXJuO2NvbnN0IFg9YGludGVudDoke3QuaWR9YDtQKGI9Pih7Li4uYixbWF06ITB9KSk7dHJ5e2NvbnN0IGI9YXdhaXQgQmUoaixtLm1vZGU9PT0iaW5pdGlhbF9lbnJvbGxtZW50Ij9tOnsuLi5tLGV4cGVjdGVkX21hdGVyaWFsX3NoYTI1NjpPLm1hdGVyaWFsX3NoYTI1NiwuLi5PLnJldmlld19zaGEyNTY/e2V4cGVjdGVkX3Jldmlld19zaGEyNTY6Ty5yZXZpZXdfc2hhMjU2fTp7fX0pO2lmKCFVLmN1cnJlbnQuY3VycmVudCh6KSlyZXR1cm47Y29uc3QgXz1hd2FpdCBVLmN1cnJlbnQucmVjZWl2ZSh6LGI/LmRlY2lzaW9uX3JlY2VpcHQpO0EoXz8ic3VjY2VzcyI6ImVycm9yIixfPyJkZWNpc2lvbnMuaW50ZW50X3JlY29yZGVkIjoiZXJyb3IuZ2VuZXJpYyIpLEMoKX1jYXRjaChiKXtqZShiKX1maW5hbGx5e1UuY3VycmVudC5jdXJyZW50KHopJiZQKGI9Pih7Li4uYixbWF06ITF9KSl9fSxZZT1hc3luYyh0LG8pPT57Y29uc3QgRD1uZSh0KSxmPWBhcHBseToke0R9YDtpZighVy5jdXJyZW50LmFjcXVpcmUoZikpcmV0dXJuO2lmKHEmJnQuZXhwaXJlc19hdCYmUmUodC5leHBpcmVzX2F0LHEsbGUsRGF0ZS5ub3coKSkuc3RhdGU9PT0iZXhwaXJlZCIpe1cuY3VycmVudC5yZWxlYXNlKGYpLEEoImluZm8iLCJkZWNpc2lvbnMuaW50ZW50X25vdF9wZW5kaW5nIiksQygpO3JldHVybn1QKHc9Pih7Li4udyxbZl06ITB9KSk7bGV0IGc9ITE7dHJ5e2NvbnN0IG09KChhd2FpdCBlZSgiL2FwaS9yZXNlYXJjaC1wcm9tb3Rpb24tdGlja2V0cyIpKS5hcHBsaWNhdGlvbnN8fFtdKS5maW5kKEI9PkI/LnRpY2tldF9pZD09PUQpLGo9YWUobSwhMCkuZmluZChCPT5CLmlkPT09byk7aWYoIW18fCFqfHwhTGUobSxvKSl7QSgiZXJyb3IiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIik7cmV0dXJufWNvbnN0IFI9YXdhaXQgZWUoIi9hcGkvYWRtaW4vcnVudGltZS1pbnN0YW5jZXMiKTtnPSEwLGF3YWl0IEJlKCIvYXBpL3Jlc2VhcmNoLXByb21vdGlvbi1hcHBsaWNhdGlvbnMiLHt0aWNrZXRfaWQ6RCxzZWxlY3RlZF9hY2NvdW50OntwbGF0Zm9ybTpqLnBsYXRmb3JtLGtleTpqLmtleX0sZXhwZWN0ZWRfcmV2aXNpb246TnVtYmVyKFIucmV2aXNpb24pfSksQSgic3VjY2VzcyIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl9zdWJtaXR0ZWQiKSxDKCl9Y2F0Y2godyl7amUodyl9ZmluYWxseXtQKHc9Pih7Li4udyxbZl06ITF9KSksZ3x8Vy5jdXJyZW50LnJlbGVhc2UoZil9fSxGZT0odCxvLEQsZixnKT0+e2NvbnN0IHc9Zz9gIMK3ICR7JG4oZy5yaXNrX3Byb2ZpbGUsbil9JHtnLnBvbGljeV9yZXZpc2lvbj9gIMK3ICR7bigiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpnLnBvbGljeV9yZXZpc2lvbn0pfWA6IiJ9YDoiIixtPWY/YCR7dWUodCxuKX0gwrcgJHtmLmxhYmVsfSAoJHtzLnBsYXRmb3JtKGYucGxhdGZvcm0pfSAvICR7Zi5rZXl9IC8gJHtuKGBzdHJhdGVnaWVzLmV4ZWN1dGlvbi4ke2YubW9kZX1gLHt9LCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi51bmtub3duIil9KSR7d31gOmAke3VlKHQsbil9JHt3fWA7cmV0dXJuIEUoe3RpdGxlOm4obz09PSJhZG9wdCI/ImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV90aXRsZSIpLHRhcmdldDptLHN1bW1hcnk6bihEPyJkZWNpc2lvbnMuYXBwbHlfbm90ZSI6ImRlY2lzaW9ucy5jb25maXJtX2JvZHkiKSxib2R5OmUuanN4KE1lLHtyb3dzOnQuZGlmZi5tYXAoaj0+KHsuLi5qLGxhYmVsOk9lKG4saiksYWZmZWN0c0xpdmU6ai5hZmZlY3RzX2xpdmV9KSl9KSxjb25zZXF1ZW5jZTpuKCJkZWNpc2lvbnMuaW50ZW50X25vdGUiKSx0b25lOm89PT0iYWRvcHQiPyJub3JtYWwiOiJkYW5nZXIiLGNvbmZpcm1MYWJlbDpuKG89PT0iYWRvcHQiPyJkZWNpc2lvbnMuY29uZmlybV9hZG9wdF9sYWJlbCI6ImRlY2lzaW9ucy5jb25maXJtX2RlY2xpbmVfbGFiZWwiKSxleHBpcmVzQXQ6cT90LmV4cGlyZXNfYXQ6bnVsbCxzZXJ2ZXJUaW1lOnEscmVjZWl2ZWRBdDpsZSxvbkV4cGlyeTpDfSl9LGRlPWFzeW5jKHQsbyk9PntpZighQWV8fHQuc3RhdHVzIT09InBlbmRpbmcifHxzZSh0KXx8IXZlKHQsbykpcmV0dXJuO2NvbnN0IEQ9YGNvbmZpcm06JHt0LmlkfWA7aWYoIVcuY3VycmVudC5hY3F1aXJlKEQpKXJldHVybjtjb25zdCBmPWBpbnRlbnQ6JHt0LmlkfWA7UChnPT4oey4uLmcsW2ZdOiEwfSkpO3RyeXtjb25zdCBnPXQuY2F0ZWdvcnk9PT0icGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiImJm89PT0iYWRvcHQiLHc9YWUoVix0LmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKSxtPWJlKHcsX2VbdC5pZF0pO2lmKG89PT0iYWRvcHQiJiYoZ3x8dC5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24iKSYmIW0pe0EoImVycm9yIiwiZGVjaXNpb25zLmludGVudF91bmF2YWlsYWJsZSIpO3JldHVybn1nJiZtP2F3YWl0IEZlKHQsbywhMCxtLG51bGwpJiZhd2FpdCBZZSh0LG0uaWQpOmF3YWl0IEdlKHQsbyxtPy5pZD8/bnVsbCl9ZmluYWxseXtXLmN1cnJlbnQucmVsZWFzZShEKSxQKGc9Pih7Li4uZyxbZl06ITF9KSl9fTtmdW5jdGlvbiB1ZSh0LG8pe3JldHVybiBrZSh0KT9vKCJkZWNpc2lvbnMuaW5pdGlhbF9lbnJvbGxtZW50X3RpdGxlIik6byh0LnRpdGxlX2tleSx7fSwiZGVjaXNpb25zLnVua25vd25fdGl0bGUiKX1jb25zdCBaZT1be2lkOiJhbGwiLGxhYmVsOm4oImRlY2lzaW9ucy5maWx0ZXIuYWxsIil9LC4uLlluLm1hcCh0PT4oe2lkOnQsbGFiZWw6bihgY2F0ZWdvcnkuJHt0fWApfSkpXSxXZT0oKT0+e2lmKCFTKXJldHVybiBudWxsO2NvbnN0IHQ9UyxvPXNlKHQpLEQ9dC5zdGF0dXM9PT0icGVuZGluZyImJiFvLGY9dC5kaWZmLm1hcChsPT4oe2ZpZWxkOmwuZmllbGQsbGFiZWw6T2UobixsKSxiZWZvcmU6bC5iZWZvcmUsYWZ0ZXI6bC5hZnRlcixhZmZlY3RzTGl2ZTpsLmFmZmVjdHNfbGl2ZX0pKSxnPSEhTVtgaW50ZW50OiR7dC5pZH1gXSx3PSEhTVtgYXBwbHk6JHtuZSh0KX1gXSxtPWd8fHcsaj10LmluaXRpYWxfZW5yb2xsbWVudD8/bnVsbCxSPWtlKHQpLEI9UiYmKCFqfHxqLnJlYWRpbmVzcyE9PSJhd2FpdGluZ19odW1hbl9jb25maXJtYXRpb24ifHwhQXJyYXkuaXNBcnJheShqLmJsb2NrZXJfY29kZXMpfHxqLmJsb2NrZXJfY29kZXMubGVuZ3RoPjB8fCFbInBvc2l0aW9ucyIsImNhc2giLCJvcGVuX29yZGVycyIsInJlY2VudF9leGVjdXRpb25zIiwibG9jYWxfZXhlY3V0aW9uX2xlZGdlciJdLmV2ZXJ5KGw9PmouZmFjdHM/LnN1cmZhY2VzPy5bbF0/LnN0YXR1cz09PSJjb21wbGV0ZSImJkFycmF5LmlzQXJyYXkoai5mYWN0cz8uc3VyZmFjZXM/LltsXT8uaXRlbXMpKSksUT10LmRpZmYuZmluZChsPT5sLmZpZWxkPT09InN0cmF0ZWd5IiksTz10LnByZXNlbnRhdGlvbj8uc3RyYXRlZ3lfcHJvZmlsZXx8KFEmJnR5cGVvZiBRLmFmdGVyPT0ic3RyaW5nIj9RLmFmdGVyOm51bGwpLHo9dCxYPXZlKHQsImFkb3B0IiksYj12ZSh0LCJkZWNsaW5lIiksXz1jbih6LmV2aWRlbmNlX3N1bW1hcnkpPz8odC5ldmlkZW5jZV9mcmVzaG5lc3M/e2V2aWRlbmNlX2lkOm51bGwsbGFiZWxfa2V5Om51bGwsb2JzZXJ2ZWRfYXQ6dC5ldmlkZW5jZV9mcmVzaG5lc3MuYXNfb2YsdmFsaWRfdW50aWw6bnVsbCxzdGF0ZTp0LmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXM9PT0ic3RhbGUiPyJzdGFsZSI6dC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09ImZyZXNoInx8dC5ldmlkZW5jZV9mcmVzaG5lc3Muc3RhdHVzPT09InJlYWR5Ij8iY3VycmVudCI6InVuYXZhaWxhYmxlIixxdWFsaWZpY2F0aW9uOiJ1bmtub3duIixsaW1pdGF0aW9uczpbXX06bnVsbCk7bGV0IEY9bnVsbDtpZihEJiZBZSYmIShSJiZCKSlpZih0LmNhdGVnb3J5PT09ImNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiKUY9ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazooKT0+cih7cGFnZToiaGVhbHRoIn0pLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5vcGVuX2hlYWx0aCIpfSk7ZWxzZSBpZih0LmNhdGVnb3J5PT09InBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iKXtjb25zdCBsPWFlKFYsITApLEc9YmUobCxfZVt0LmlkXSk/LmlkPz8iIixMPXQuYXBwbGljYXRpb25fc3RhdHVzPT09InVuY2VydGFpbiIsVD0hIShHJiZWJiZMZShWLEcpKTtGPWUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbbC5sZW5ndGg+MSYmZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZGVjaXNpb24tYWNjb3VudC1waWNrZXIiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5zZWxlY3RfYWNjb3VudCIpfSksZS5qc3hzKCJzZWxlY3QiLHt2YWx1ZTpHLG9uQ2hhbmdlOlk9PndlKFFlPT4oey4uLlFlLFt0LmlkXTpZLnRhcmdldC52YWx1ZX0pKSxjaGlsZHJlbjpbZS5qc3hzKCJvcHRpb24iLHt2YWx1ZToiIixjaGlsZHJlbjpbbigiZGVjaXNpb25zLnNlbGVjdF9hY2NvdW50IiksIuKApiJdfSksbC5tYXAoWT0+ZS5qc3goIm9wdGlvbiIse3ZhbHVlOlkuaWQsY2hpbGRyZW46WS5sYWJlbH0sWS5pZCkpXX0pXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJpbmJveC1hY3Rpb25zIixjaGlsZHJlbjpbTD9lLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3VuY2VydGFpbiIpfSk6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltsLmxlbmd0aD09PTA/ZS5qc3goInAiLHtjbGFzc05hbWU6ImRlY2lzaW9uLW5vdGUiLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5ub19hY2NvdW50X29wdGlvbnMiKX0pOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDptfHwhVHx8IVh8fFcuY3VycmVudC5pc0xvY2tlZChgYXBwbHk6JHtuZSh0KX1gKSxvbkNsaWNrOigpPT57ZGUodCwiYWRvcHQiKX0sY2hpbGRyZW46bih3PyJkZWNpc2lvbnMuc3VibWl0dGluZyI6ImRlY2lzaW9ucy5hZG9wdF9pbnRlbnQiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOm18fCFiLG9uQ2xpY2s6KCk9PntkZSh0LCJkZWNsaW5lIil9LGNoaWxkcmVuOm4oZz8iZGVjaXNpb25zLnN1Ym1pdHRpbmciOiJkZWNpc2lvbnMuZGVjbGluZV9pbnRlbnQiKX0pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1ub3RlIixjaGlsZHJlbjpuKGwubGVuZ3RoPT09MHx8TD8iZGVjaXNpb25zLmludGVudF9ub3RlIjoiZGVjaXNpb25zLmFwcGx5X25vdGUiKX0pXX0pXX0pfWVsc2V7Y29uc3QgbD10LmNhdGVnb3J5PT09InN0cmF0ZWd5X3Byb21vdGlvbiI/YWUoViwhMSk6W10sRz1iZShsLF9lW3QuaWRdKT8uaWQ/PyIiLEw9dC5jYXRlZ29yeT09PSJzdHJhdGVneV9wcm9tb3Rpb24iJiYhVmU7Rj1lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2wubGVuZ3RoPjEmJmUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWFjY291bnQtcGlja2VyIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJkZWNpc2lvbnMuc2VsZWN0X2FjY291bnQiKX0pLGUuanN4cygic2VsZWN0Iix7dmFsdWU6RyxvbkNoYW5nZTpUPT53ZShZPT4oey4uLlksW3QuaWRdOlQudGFyZ2V0LnZhbHVlfSkpLGNoaWxkcmVuOltlLmpzeHMoIm9wdGlvbiIse3ZhbHVlOiIiLGNoaWxkcmVuOltuKCJkZWNpc2lvbnMuc2VsZWN0X2FjY291bnQiKSwi4oCmIl19KSxsLm1hcChUPT5lLmpzeCgib3B0aW9uIix7dmFsdWU6VC5pZCxjaGlsZHJlbjpULmxhYmVsfSxULmlkKSldfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImluYm94LWFjdGlvbnMiLGNoaWxkcmVuOltlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIsZGlzYWJsZWQ6bXx8IVh8fHQuY2F0ZWdvcnk9PT0ic3RyYXRlZ3lfcHJvbW90aW9uIiYmKCFHfHxMKSxvbkNsaWNrOigpPT57ZGUodCwiYWRvcHQiKX0sY2hpbGRyZW46bihnPyJkZWNpc2lvbnMuc3VibWl0dGluZyI6ImRlY2lzaW9ucy5hZG9wdF9pbnRlbnQiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLGRpc2FibGVkOm18fCFiLG9uQ2xpY2s6KCk9PntkZSh0LCJkZWNsaW5lIil9LGNoaWxkcmVuOm4oZz8iZGVjaXNpb25zLnN1Ym1pdHRpbmciOiJkZWNpc2lvbnMuZGVjbGluZV9pbnRlbnQiKX0pLCFYJiZlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiY29ja3BpdC5ibG9ja2VyLm5vdF9hbGxvd2VkIil9KSxMJiZlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLnBvbGljeV91bmJvdW5kIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiZGVjaXNpb24tbm90ZSIsY2hpbGRyZW46bigiZGVjaXNpb25zLmludGVudF9ub3RlIil9KV19KV19KX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQgaW5ib3gtZGV0YWlsIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWRldGFpbC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBpbmJveC1iYWNrIixvbkNsaWNrOigpPT5pZShudWxsKSxjaGlsZHJlbjpuKCJjb21tb24uYmFjayIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWJhZGdlcyIsY2hpbGRyZW46W2UuanN4KEgse3RvbmU6dC5jYXRlZ29yeT09PSJyZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI/Indhcm4iOiJhY2NlbnQiLGNoaWxkcmVuOm4oYGNhdGVnb3J5LiR7dC5jYXRlZ29yeX1gKX0pLGUuanN4KEgse3RvbmU6dC5zdGF0dXM9PT0iZGVjaWRlZCI/Im9rIjpvPyJ1bmtub3duIjoid2FybiIsY2hpbGRyZW46bihgZGVjaXNpb25zLnN0YXR1cy4ke28/ImV4cGlyZWQiOnQuc3RhdHVzfWApfSksdC5hZmZlY3RzX2xpdmUmJmUuanN4KEgse3RvbmU6Indhcm4iLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5jb2wuYWZmZWN0c19saXZlIil9KV19KSxlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLHN0eWxlOnttYXJnaW46MH0sY2hpbGRyZW46dWUodCxuKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1wcm9tcHQiLGNoaWxkcmVuOm4oUj8iZGVjaXNpb25zLnByb21wdC5pbml0aWFsX2Vucm9sbG1lbnQiOmBkZWNpc2lvbnMucHJvbXB0LiR7dC5jYXRlZ29yeX1gKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1tZXRhIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpEZSh0KX0pLHQucGxhdGZvcm0mJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46cy5wbGF0Zm9ybSh0LnBsYXRmb3JtKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1yZWYiLGNoaWxkcmVuOm4oImRlY2lzaW9ucy5yZWYiLHtpZDp0LnNob3J0X2lkfSl9KSx0LmNyZWF0ZWRfYXQmJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46bigiZGVjaXNpb25zLmNyZWF0ZWRfYXQiLHt2YWx1ZTpvZSh0LmNyZWF0ZWRfYXQsYSkudGV4dH0pfSksdC5leHBpcmVzX2F0JiZlLmpzeCgic3BhbiIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5leHBpcmVzX2F0Iix7dmFsdWU6b2UodC5leHBpcmVzX2F0LGEpLnRleHR9KX0pLHQuZXZpZGVuY2VfZnJlc2huZXNzJiZlLmpzeChILHt0b25lOnQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJzdGFsZSI/Indhcm4iOnQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJyZWFkeSJ8fHQuZXZpZGVuY2VfZnJlc2huZXNzLnN0YXR1cz09PSJmcmVzaCI/Im9rIjoidW5rbm93biIsY2hpbGRyZW46bihRbih0LmV2aWRlbmNlX2ZyZXNobmVzcy5zdGF0dXMpKX0pLFpuKHQpJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZGVjaXNpb24tc3RhbGUtaGludCIsY2hpbGRyZW46bigiZGVjaXNpb25zLnN0YWxlX2hpbnQiKX0pXX0pXX0pLGYubGVuZ3RoPjAmJmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpuKCJkZWNpc2lvbnMuZGlmZl90aXRsZSIpfSksZS5qc3goTWUse3Jvd3M6Zn0pXX0pLHEmJnQuZXhwaXJlc19hdCYmZS5qc3god24se2V4cGlyZXNBdDp0LmV4cGlyZXNfYXQsc2VydmVyVGltZTpxLHJlY2VpdmVkQXQ6bGUsb25Cb3VuZGFyeTooKT0+e2llKG51bGwpLEMoKX19KSxfJiZlLmpzeChTbix7ZXZpZGVuY2U6X30pLHoub3BlcmF0aW9uX3JlZmVyZW5jZT8uaWQmJmUuanN4KGV0LHtvcGVyYXRpb25JZDp6Lm9wZXJhdGlvbl9yZWZlcmVuY2UuaWR9KSxSJiZlLmpzeChWbix7YWNjb3VudDp0LmFjY291bnRfYWxpYXM/cy5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKTpudWxsLHN0cmF0ZWd5Ok8/cy5zdHJhdGVneShPKTpudWxsLHBsYXRmb3JtOnQucGxhdGZvcm0/cy5wbGF0Zm9ybSh0LnBsYXRmb3JtKTpudWxsLGZhY3RzOmo/LmZhY3RzPz9udWxsLHJlYWRpbmVzczpqPy5yZWFkaW5lc3M/P251bGwsYmxvY2tlckNvZGVzOmo/LmJsb2NrZXJfY29kZXM/P251bGx9KSx0LmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5IiYmIVImJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiZGVjaXNpb24tbWF0ZXJpYWxzIHJlY29uY2lsaWF0aW9uLWRldGFpbCIsY2hpbGRyZW46W2UuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46bigicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIil9KSxlLmpzeChHbix7ZGF0YTp4LnBoYXNlPT09InJlYWR5Ij94LmRhdGE6bnVsbCxsYW5ndWFnZTphLHQ6bixpdGVtSWQ6dC5pZH0pXX0pLHQuZXZpZGVuY2VfZnJlc2huZXNzPy5hc19vZiYmZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1tYXRlcmlhbHMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOm4oImRlY2lzaW9ucy5tb3JlX2luZm8iKX0pLGUuanN4KGxuLHt2YWx1ZTp0LmV2aWRlbmNlX2ZyZXNobmVzcy5hc19vZn0pXX0pLEZdfSl9LEplPSgpPT54LnBoYXNlPT09ImxvYWRpbmciP2UuanN4KCJkaXYiLHtjbGFzc05hbWU6ImluYm94IGxpc3Qtb25seSIsY2hpbGRyZW46ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImluYm94LWxpc3QiLGNoaWxkcmVuOltlLmpzeChyZSx7aGVpZ2h0OjY0fSksZS5qc3gocmUse2hlaWdodDo2NH0pLGUuanN4KHJlLHtoZWlnaHQ6NjR9KV19KX0pOngucGhhc2U9PT0iZXJyb3IifHx4LmRhdGEuc3RhdHVzPT09InJlYWRfZmFpbGVkIj9lLmpzeChIZSx7ZGF0YTp4LmRhdGEsZXJyb3I6eC5lcnJvcixvblJldHJ5OngucGhhc2U9PT0iZXJyb3IiP3gucmVsb2FkOkN9KTplLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjp0ZS5sZW5ndGg9PT0wP2UuanN4KHplLHt0aXRsZTpuKCJkZWNpc2lvbnMuZW1wdHlfcGVuZGluZyIpfSk6ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6YGluYm94JHtTPyIgZGV0YWlsLW9wZW4iOiIgbGlzdC1vbmx5In1gLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJpbmJveC1saXN0IixjaGlsZHJlbjp0ZS5tYXAodD0+e2NvbnN0IG89c2UodCksRD1ybih0LmNyZWF0ZWRfYXQsYSksZj1Xbih0KTtyZXR1cm4gZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLCJhcmlhLWN1cnJlbnQiOlM/LmlkPT09dC5pZD8idHJ1ZSI6dm9pZCAwLGNsYXNzTmFtZTpgaW5ib3gtaXRlbSR7Uz8uaWQ9PT10LmlkPyIgYWN0aXZlIjoiIn0ke28/IiBpcy1leHBpcmVkIjoiIn1gLG9uQ2xpY2s6KCk9PmllKHQuaWQpLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZTpgcHJpb3JpdHktZG90IHByaW9yaXR5LSR7dC5wcmlvcml0eX1gLCJhcmlhLWhpZGRlbiI6InRydWUifSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJpdGVtLW1haW4iLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaXRlbS10aXRsZSIsY2hpbGRyZW46dWUodCxuKX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiaXRlbS1tZXRhIixjaGlsZHJlbjpba2UodCkmJmUuanN4KEgse3RvbmU6Indhcm4iLGNoaWxkcmVuOm4oImNhdGVnb3J5LnJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Iil9KSx0LnBsYXRmb3JtJiZlLmpzeCgic3BhbiIse2NoaWxkcmVuOnMucGxhdGZvcm0odC5wbGF0Zm9ybSl9KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOkRlKHQpfSldfSksKER8fGYpJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Iml0ZW0tbWV0YSBpdGVtLW1ldGEtc2Vjb25kYXJ5IixjaGlsZHJlbjpbRCYmZS5qc3goInNwYW4iLHtjaGlsZHJlbjpEfSksZiYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImRlY2lzaW9uLXN0YWxlLWhpbnQiLGNoaWxkcmVuOm4oZil9KV19KV19KSxlLmpzeChILHt0b25lOm8/InVua25vd24iOiJ3YXJuIixjaGlsZHJlbjpuKGBkZWNpc2lvbnMuc3RhdHVzLiR7bz8iZXhwaXJlZCI6dC5zdGF0dXN9YCl9KV19LHQuaWQpfSl9KSxTJiZXZSgpXX0pfSk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyIixjaGlsZHJlbjpbZS5qc3goImgxIix7Y2xhc3NOYW1lOiJwYWdlLXRpdGxlIixjaGlsZHJlbjpuKCJkZWNpc2lvbnMudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6QyxjaGlsZHJlbjpuKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGVjaXNpb25zLWZpbHRlcnMiLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbnMtdmlldy1yb3ciLGNoaWxkcmVuOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6bigiZGVjaXNpb25zLnRpdGxlIiksY2hpbGRyZW46W2UuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiYXJpYS1wcmVzc2VkIjp2PT09InBlbmRpbmciLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PSJwZW5kaW5nIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT5rKCJwZW5kaW5nIiksY2hpbGRyZW46W24oImRlY2lzaW9ucy50YWIucGVuZGluZyIpLENlPjAmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzZWdtZW50LXN1YiIsY2hpbGRyZW46Q2V9KV19KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiYXJpYS1wcmVzc2VkIjp2PT09ImRlY2lkZWQiLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PSJkZWNpZGVkIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT5rKCJkZWNpZGVkIiksY2hpbGRyZW46bigiZGVjaXNpb25zLnRhYi5kZWNpZGVkIil9KV19KX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImRlY2lzaW9ucy1jYXRlZ29yeS1yb3ciLGNoaWxkcmVuOmUuanN4KHZuLHtpZDoiZGVjaXNpb25zIixpdGVtczpaZSxhY3RpdmU6eSxvbkNoYW5nZTp0PT4kKHQpLGFyaWFMYWJlbDpuKCJkZWNpc2lvbnMudGl0bGUiKX0pfSldfSksdj09PSJwZW5kaW5nIiYmeWUubGVuZ3RoPjAmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJkZWNpc2lvbi1kZWdyYWRlZC1ub3RlIixyb2xlOiJzdGF0dXMiLCJkYXRhLXN0YXRlIjoicGFydGlhbCIsImRhdGEtZGVncmFkZWQtY291bnQiOnllLmxlbmd0aCxjaGlsZHJlbjpbZS5qc3godG4se3N0YXR1czoicGFydGlhbCJ9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGVjaXNpb24tZGVncmFkZWQtYm9keSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46bigiZGVjaXNpb25zLnBhcnRpYWxfbm90aWNlIil9KSxlLmpzeCgidWwiLHtjbGFzc05hbWU6ImRlY2lzaW9uLWRlZ3JhZGVkLXNvdXJjZXMiLCJhcmlhLWxhYmVsIjpuKCJkZWNpc2lvbnMucGFydGlhbF9hZmZlY3RlZCIpLGNoaWxkcmVuOnllLm1hcCh0PT5lLmpzeHMoImxpIix7ImRhdGEtc291cmNlIjp0LnNvdXJjZSxjaGlsZHJlbjpbZS5qc3goInN0cm9uZyIse2NoaWxkcmVuOm4oSW4odC5zb3VyY2UpKX0pLGUuanN4cygic3BhbiIse2NoaWxkcmVuOlsiIMK3ICIsbihgc3RhdGUuJHt0LnN0YXR1c31gKSwiIOKAlCAiLG4oUm4odC5zdGF0dXMpKV19KV19LHQuc291cmNlKSl9KV19KV19KSxlLmpzeCgiZGl2Iix7aWQ6ImRlY2lzaW9ucy1wYW5lbCIscm9sZToidGFicGFuZWwiLCJhcmlhLWxhYmVsbGVkYnkiOmBkZWNpc2lvbnMtdGFiLSR7eX1gLHRhYkluZGV4OjAsY2hpbGRyZW46dj09PSJwZW5kaW5nIj9KZSgpOmUuanN4KFhuLHtlcG9jaDpJLGNhdGVnb3J5Onl9KX0pLGMmJmUuanN4KE5uLHtyZXF1ZXN0OmMsb25SZXNvbHZlOmR9KV19KX1leHBvcnR7bHQgYXMgZGVmYXVsdH07Cg==" }, + "/v2/assets/DeskApp-DCE31lkE.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9zZXNzaW9uLURlM05UNHJPLmpzIiwiYXNzZXRzL3NoYXJlZC1Eck5WN1pkaC5qcyIsImFzc2V0cy9yaWJib24tRFY4TXhWdk4uanMiLCJhc3NldHMvb3ZlcnZpZXctQmNqOWNkd2suanMiLCJhc3NldHMvYWNjb3VudHMtQzBfLTZBai0uanMiLCJhc3NldHMvY3JlZGVudGlhbHMtTlAzM3N6TGYuanMiLCJhc3NldHMvc3dpdGNoVGFyZ2V0cy1DdXpEQlg1Vi5qcyIsImFzc2V0cy9zd2l0Y2hTdHJhdGVnaWVzLW1TbHY3cXRlLmpzIiwiYXNzZXRzL3BlcmZvcm1hbmNlLVN3eXF3ZGlMLmpzIiwiYXNzZXRzL0NyZWRlbnRpYWxSb3RhdGlvblBhbmVsLTZRVnJ4UGdJLmpzIiwiYXNzZXRzL2luZGV4LUR0bkQwVjZYLmpzIiwiYXNzZXRzL2luZGV4LUJQWF9aWkpuLmNzcyIsImFzc2V0cy9ob29rcy1CaTVvMlZURC5qcyJdKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0ggYXMgU3QsXyBhcyBXLGcgYXMgTnQsQSBhcyBFdCxqIGFzIG4sciBhcyBmLEMgYXMgQXQsSSBhcyBSdCxjIGFzIFR0LGwgYXMgVGUscyBhcyBXZSxhIGFzIEN0fWZyb20iLi9pbmRleC1EdG5EMFY2WC5qcyI7aW1wb3J0e24gYXMgRHR9ZnJvbSIuL3RpY2tzLUJjV2F3TTRkLmpzIjtjb25zdCB3PWU9PmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpLGI9ZT0+dHlwZW9mIGU9PSJzdHJpbmciLHo9ZT0+e2lmKCFiKGUpfHwhL15cZHs0fS1cZHsyfS1cZHsyfVRcZHsyfTpcZHsyfTpcZHsyfSg/OlwuXGQrKT9aJC8udGVzdChlKSlyZXR1cm4hMTtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUodC5nZXRUaW1lKCkpJiZ0LnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxOSk9PT1lLnNsaWNlKDAsMTkpfSxxZT1lPT5iKGUpJiYvXig/OlswMV1cZHwyWzAtM10pOlswLTVdXGQkLy50ZXN0KGUpLHRlPWU9PmIoZSkmJi9eLT8oMHxbMS05XVxkKikoXC5cZCspPyQvLnRlc3QoZSksVj1lPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj0wLFI9KC4uLmUpPT50PT5lLmluY2x1ZGVzKHQpLHNlPWU9PnQ9PnQ9PT1udWxsfHxlKHQpLE9lPVIoIm5ldmVyX3JlYWQiLCJyZWFkX2ZhaWxlZCIsInNvdXJjZV91bmF2YWlsYWJsZSIsImlkZW50aXR5X3VudmVyaWZpZWQiLCJub3Rfc3VwcG9ydGVkIik7ZnVuY3Rpb24gWChlLHQ9cj0+ITApe3JldHVybiB3KGUpP2Uuc3RhdHVzPT09Imtub3duIj8idmFsdWUiaW4gZSYmdChlLnZhbHVlKSYmeihlLm9ic2VydmVkX2F0KTplLnN0YXR1cz09PSJzdGFsZSI/InZhbHVlImluIGUmJnQoZS52YWx1ZSkmJnooZS5vYnNlcnZlZF9hdCkmJlYoZS5hZ2Vfc2Vjb25kcyk6ZS5zdGF0dXM9PT0idW5rbm93biI/T2UoZS5yZWFzb24pJiYhKCJ2YWx1ZSJpbiBlKSYmKGUub2JzZXJ2ZWRfYXQ9PW51bGx8fHooZS5vYnNlcnZlZF9hdCkpOiExOiExfWNvbnN0IHJlPShlLHQpPT53KGUpJiZlLm9rPT09ITAmJmUuc2NoZW1hX3ZlcnNpb249PT10JiZ6KGUuZ2VuZXJhdGVkX2F0KTtmdW5jdGlvbiBNdChlKXtyZXR1cm4gdyhlKSYmdHlwZW9mIGUuYXV0aGVudGljYXRlZD09ImJvb2xlYW4iJiZ0eXBlb2YgZS5hbGxvd2VkPT0iYm9vbGVhbiImJnR5cGVvZiBlLmFkbWluPT0iYm9vbGVhbiImJihlLmxvZ2luPT09bnVsbHx8YihlLmxvZ2luKSkmJnooZS5zZXJ2ZXJfdGltZSl9Y29uc3QgSXQ9ZT0+dyhlKSYmYihlLmlkKSYmeihlLmF0KSYmYihlLnRhcmdldF9pZCkmJmIoZS5sYWJlbCkmJlIoImRvbmUiLCJydW5uaW5nIiwic2NoZWR1bGVkIiwibWlzc2VkIiwidW5rbm93biIpKGUuc3RhdGUpJiYoZS5vdXRjb21lPT09bnVsbHx8UigiZmlsbGVkIiwib3JkZXJzX3N1Ym1pdHRlZCIsIm5vX29wIiwiZHJpZnQiLCJlcnJvciIsInNraXBwZWQiKShlLm91dGNvbWUpKSwkdD1lPT53KGUpJiZSKCJVUyIsIkhLIiwiQ04iKShlLm1hcmtldCkmJlIoIm9wZW4iLCJjbG9zZWQiLCJwcmUiLCJwb3N0IiwidW5rbm93biIpKGUuc3RhdGUpJiZzZShxZSkoZS5vcGVuX3V0YykmJnNlKHFlKShlLmNsb3NlX3V0YykmJnNlKHopKGUubmV4dF9jaGFuZ2VfYXQpO2Z1bmN0aW9uIE90KGUpe2lmKCFyZShlLCJxc2wuZGVzay5yaWJib24udjEiKSlyZXR1cm4hMTtjb25zdCB0PWUuY29uc29sZV9zdGF0ZSxyPWUuYWxlcnRfYmFkZ2U7cmV0dXJuIHcodCkmJlIoImRyeV9ydW4iLCJwYXBlciIsImxpdmUiKSh0Lm1vZGUpJiZYKHQuZ2F0ZXdheXMsUigiYWxsX3JlYWNoYWJsZSIsImRlZ3JhZGVkIiwiZG93biIpKSYmdyhyKSYmVihyLm9wZW5fY291bnQpJiZWKHIuY3JpdGljYWxfY291bnQpJiZBcnJheS5pc0FycmF5KGUuc2Vzc2lvbnMpJiZlLnNlc3Npb25zLmV2ZXJ5KCR0KSYmKGUubmV4dF9ydW49PT1udWxsfHx3KGUubmV4dF9ydW4pJiZ6KGUubmV4dF9ydW4uZHVlX2F0KSkmJkFycmF5LmlzQXJyYXkoZS50YXBlKSYmZS50YXBlLmV2ZXJ5KEl0KX1jb25zdCBMdD1lPT53KGUpP2Uuc3RhdHVzPT09InVua25vd24iP09lKGUucmVhc29uKSYmISgiYW1vdW50ImluIGUpOihlLnN0YXR1cz09PSJrbm93biJ8fGUuc3RhdHVzPT09InN0YWxlIikmJnRlKGUuYW1vdW50KSYmYihlLmN1cnJlbmN5KSYmc2UodGUpKGUudXNkKSYmeihlLm9ic2VydmVkX2F0KTohMSxQdD1lPT57aWYoIXcoZSkpcmV0dXJuITE7Y29uc3QgdD1lLnNwYXJrbGluZV8zMGQscj1lLmRyYXdkb3duLHM9ZS5jb25maWc7cmV0dXJuIGIoZS50YXJnZXRfaWQpJiZiKGUuYWNjb3VudF9yZWYpJiZiKGUuYWNjb3VudF9zdWZmaXgpJiZYKGUuc3RyYXRlZ3ksYT0+dyhhKSYmYihhLnByb2ZpbGUpJiZiKGEubGFiZWwpKSYmWChlLm1vZGUsUigiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSIpKSYmWChlLnJ1bnRpbWUsUigicnVubmluZyIsInN0b3BwZWQiLCJ1bmtub3duIikpJiZMdChlLm5hdikmJihlLmRheV9jaGFuZ2U9PT1udWxsfHx3KGUuZGF5X2NoYW5nZSkmJnRlKGUuZGF5X2NoYW5nZS5yYXRpbykmJnRlKGUuZGF5X2NoYW5nZS5hbW91bnQpKSYmdyh0KSYmQXJyYXkuaXNBcnJheSh0LnBvaW50cykmJnQucG9pbnRzLmV2ZXJ5KHRlKSYmQXJyYXkuaXNBcnJheSh0LmdhcF9kYXRlcykmJncocikmJnNlKHRlKShyLnJhdGlvKSYmUigib2siLCJuZWFyX2xpbWl0IiwiYnJlYWNoZWQiLCJ1bmtub3duIikoci5zdGF0ZSkmJncocykmJlIoInN5bmNlZCIsImRyaWZ0IiwidW5rbm93biIpKHMuc3RhdGUpJiZWKHMuZHJpZnRfY291bnQpJiZSKCJuYXRpdmVfaWJrcl90d3IiLCJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQiLCJ1bmF2YWlsYWJsZSIpKGUucmV0dXJuX2Jhc2lzKX0senQ9ZT0+dyhlKSYmYihlLmlkKSYmUigiY3JpdGljYWwiLCJ3YXJuaW5nIiwiaW5mbyIpKGUuc2V2ZXJpdHkpJiZiKGUudGl0bGUpJiZiKGUuZGV0YWlsKSYmdyhlLmFjdGlvbikmJmIoZS5hY3Rpb24ucm91dGUpO2Z1bmN0aW9uIEZ0KGUpe2lmKCFyZShlLCJxc2wuZGVzay5vdmVydmlldy52MSIpKXJldHVybiExO2NvbnN0IHQ9ZS50b3RhbHMscj1lLmVxdWl0eV9jdXJ2ZTtyZXR1cm4gdyhlLmZyZXNobmVzcykmJlIoInJlYWR5Iiwic3RhbGUiLCJ1bmF2YWlsYWJsZSIpKGUuZnJlc2huZXNzLmRhdGFfc3RhdHVzKSYmdyh0KSYmUigiY29tcGxldGUiLCJwYXJ0aWFsIiwidW5hdmFpbGFibGUiKSh0LnN0YXR1cykmJnNlKHRlKSh0Lm5hdikmJncodC5jb3ZlcmFnZSkmJlYodC5jb3ZlcmFnZS5pbmNsdWRlZCkmJlYodC5jb3ZlcmFnZS50b3RhbCkmJkFycmF5LmlzQXJyYXkoZS5ib29rKSYmZS5ib29rLmV2ZXJ5KFB0KSYmdyhyKSYmdyhyLnBvcnRmb2xpbykmJkFycmF5LmlzQXJyYXkoci5wb3J0Zm9saW8uZGF0ZXMpJiZBcnJheS5pc0FycmF5KHIucG9ydGZvbGlvLmluZGV4ZWQpJiZyLnBvcnRmb2xpby5kYXRlcy5sZW5ndGg9PT1yLnBvcnRmb2xpby5pbmRleGVkLmxlbmd0aCYmdyhyLmJlbmNobWFyaykmJkFycmF5LmlzQXJyYXkoZS5uZWVkc195b3UpJiZlLm5lZWRzX3lvdS5sZW5ndGg8PTUmJmUubmVlZHNfeW91LmV2ZXJ5KHp0KX1mdW5jdGlvbiBCdChlKXtpZighcmUoZSwicXNsLmRlc2sucGVyZm9ybWFuY2UudjEiKSlyZXR1cm4hMTtjb25zdCB0PWUuZXF1aXR5O3JldHVybiB3KHQpJiZBcnJheS5pc0FycmF5KHQuZGF0ZXMpJiZBcnJheS5pc0FycmF5KHQucG9ydGZvbGlvX2luZGV4ZWQpJiZ0LmRhdGVzLmxlbmd0aD09PXQucG9ydGZvbGlvX2luZGV4ZWQubGVuZ3RoJiZBcnJheS5pc0FycmF5KHQuZ2FwX2RhdGVzKSYmdyhlLnJpc2spfWNvbnN0IHR0PVIoInVua25vd24iLCJub3RfZHVlIiwiMzAiLCI3IiwiMSIsImV4cGlyZWQiKSxudD1SKCJvYXV0aF9yZWZyZXNoIiwiZmxleF90b2tlbiIsImFjY2Vzc190b2tlbiIsImFwaV9rZXkiLCJwYXNzd29yZCIsInNlc3Npb24iLCJvdGhlciIpLHJ0PWU9PmU9PT0iMzAifHxlPT09IjcifHxlPT09IjEifHxlPT09ImV4cGlyZWQiLHN0PWU9PncoZSk/ZS5zdGF0dXM9PT0ia25vd24iP3ooZS5hdCkmJmIoZS5zb3VyY2UpOmUuc3RhdHVzPT09Im5vbmUiPyEwOmUuc3RhdHVzPT09InVua25vd24iP09lKGUucmVhc29uKTohMTohMSxIdD1lPT4hdyhlKXx8IW50KGUua2luZCl8fCFzdChlLmV4cGlyeSl8fCF0dChlLnBoYXNlKXx8dHlwZW9mIGUucmVxdWlyZXNfYWN0aW9uIT0iYm9vbGVhbiJ8fGUucmVxdWlyZXNfYWN0aW9uIT09cnQoU3RyaW5nKGUucGhhc2UpKT8hMTplLm5vdGU9PT12b2lkIDB8fGIoZS5ub3RlKSxVdD1lPT57aWYoIXcoZSkpcmV0dXJuITE7Y29uc3QgdD1lLnRhcmdldHMscj1lLmxhc3Rfb3JkZXIscz1lLmhlYXJ0YmVhdDtyZXR1cm4gYihlLnBsYXRmb3JtKSYmYihlLmxhYmVsKSYmQXJyYXkuaXNBcnJheSh0KSYmdC5ldmVyeShhPT53KGEpJiZiKGEudGFyZ2V0X2lkKSYmYihhLmFjY291bnRfcmVmKSkmJlgoZS5jb25uZWN0aXZpdHksUigidXAiLCJkZWdyYWRlZCIsImRvd24iKSkmJihlLmNvbm5lY3Rpdml0eV9kZXRhaWw9PT1udWxsfHxiKGUuY29ubmVjdGl2aXR5X2RldGFpbCkpJiZYKHMsYT0+dyhhKSYmeihhLmF0KSkmJncoZS5kYXRhX2ZyZXNobmVzcykmJlIoInJlYWR5Iiwic3RhbGUiLCJ1bmF2YWlsYWJsZSIpKGUuZGF0YV9mcmVzaG5lc3MuZGF0YV9zdGF0dXMpJiYoZS5kYXRhX2ZyZXNobmVzcy5hZ2Vfc2Vjb25kcz09PW51bGx8fFYoZS5kYXRhX2ZyZXNobmVzcy5hZ2Vfc2Vjb25kcykpJiZ3KGUuY29uZmlnKSYmUigic3luY2VkIiwiZHJpZnQiLCJ1bmtub3duIikoZS5jb25maWcuc3RhdGUpJiZWKGUuY29uZmlnLmRyaWZ0X2NvdW50KSYmSHQoZS5jcmVkZW50aWFsKSYmWChyLGE9PncoYSkmJnooYS5hdCkmJlYoYS5jb3VudCkpfTtmdW5jdGlvbiBXdChlKXtyZXR1cm4gcmUoZSwicXNsLmRlc2suYWNjb3VudHMudjEiKSYmQXJyYXkuaXNBcnJheShlLmJyb2tlcnMpJiZlLmJyb2tlcnMuZXZlcnkoVXQpfWNvbnN0IHF0PWU9PntpZighdyhlKSlyZXR1cm4hMTtjb25zdCB0PWUucm90YXRpb247cmV0dXJuIGIoZS5pZCkmJmIoZS5wbGF0Zm9ybSkmJmIoZS5sYWJlbCkmJm50KGUua2luZCkmJnN0KGUuZXhwaXJ5KSYmKGUubGltaXRfZGF5cz09PW51bGx8fFYoZS5saW1pdF9kYXlzKSkmJnR0KGUucGhhc2UpJiZ0eXBlb2YgZS5yZXF1aXJlc19hY3Rpb249PSJib29sZWFuIiYmZS5yZXF1aXJlc19hY3Rpb249PT1ydChTdHJpbmcoZS5waGFzZSkpJiZ3KHQpJiZ0eXBlb2YgdC5zdXBwb3J0ZWQ9PSJib29sZWFuIiYmKHQucm91dGU9PT1udWxsfHxiKHQucm91dGUpKSYmKGUucnVuYm9vaz09PW51bGx8fGIoZS5ydW5ib29rKSkmJihlLmxhc3Rfcm90YXRlZF9hdD09PW51bGx8fHooZS5sYXN0X3JvdGF0ZWRfYXQpKX07ZnVuY3Rpb24gS3QoZSl7cmV0dXJuIHJlKGUsInFzbC5kZXNrLmNyZWRlbnRpYWxzLnYxIikmJkFycmF5LmlzQXJyYXkoZS5pdGVtcykmJmUuaXRlbXMuZXZlcnkocXQpfWNvbnN0IEd0PWU9PntpZighdyhlKSlyZXR1cm4hMTtjb25zdCB0PWUuc3dpdGNoYWJsZSxyPWUuc3RvcDtyZXR1cm4gYihlLnRhcmdldF9pZCkmJmIoZS5wbGF0Zm9ybSkmJmIoZS5wbGF0Zm9ybV9sYWJlbCkmJmIoZS5hY2NvdW50X3JlZikmJmIoZS5hY2NvdW50X3N1ZmZpeCkmJlgoZS5tb2RlLFIoImRyeV9ydW4iLCJwYXBlciIsImxpdmUiKSkmJkFycmF5LmlzQXJyYXkoZS5kb21haW5zKSYmZS5kb21haW5zLmV2ZXJ5KGIpJiZYKGUuY3VycmVudF9zdHJhdGVneSxzPT53KHMpJiZiKHMucHJvZmlsZSkmJmIocy5sYWJlbCkpJiZBcnJheS5pc0FycmF5KGUuZXhlY3V0aW9uX21vZGVzKSYmZS5leGVjdXRpb25fbW9kZXMuZXZlcnkoUigiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSIpKSYmdyh0KSYmdHlwZW9mIHQuYWxsb3dlZD09ImJvb2xlYW4iJiYodC5yZWFzb25fY29kZT09PW51bGx8fGIodC5yZWFzb25fY29kZSkpJiYoZS5wZW5kaW5nX3JlcXVlc3RfaWQ9PT1udWxsfHxiKGUucGVuZGluZ19yZXF1ZXN0X2lkKSkmJncocikmJnR5cGVvZiByLnN1cHBvcnRlZD09ImJvb2xlYW4iJiZ0eXBlb2Ygci5yZXN1bWVfc3VwcG9ydGVkPT0iYm9vbGVhbiJ9O2Z1bmN0aW9uIFZ0KGUpe3JldHVybiByZShlLCJxc2wuZGVzay5zd2l0Y2hfdGFyZ2V0cy52MSIpJiZBcnJheS5pc0FycmF5KGUudGFyZ2V0cykmJmUudGFyZ2V0cy5ldmVyeShHdCl9Y29uc3QgWXQ9ZT0+dyhlKT9iKGUucHJvZmlsZSkmJmIoZS5sYWJlbCkmJmIoZS5kb21haW4pJiZSKCJlbGlnaWJsZSIsIm5vX2xpdmUiLCJibG9ja2VkIikoZS5lbGlnaWJpbGl0eSkmJihlLnJlYXNvbj09PW51bGx8fGIoZS5yZWFzb24pKSYmQXJyYXkuaXNBcnJheShlLmFsbG93ZWRfZXhlY3V0aW9uX21vZGVzKSYmZS5hbGxvd2VkX2V4ZWN1dGlvbl9tb2Rlcy5ldmVyeShSKCJkcnlfcnVuIiwicGFwZXIiLCJsaXZlIikpJiZiKGUubGlmZWN5Y2xlX3N0YWdlKSYmKGUub3B0aW9uX292ZXJsYXlfZW5hYmxlZD09PXZvaWQgMHx8dHlwZW9mIGUub3B0aW9uX292ZXJsYXlfZW5hYmxlZD09ImJvb2xlYW4iKSYmKGUuZGNhX3N1cHBvcnRlZD09PXZvaWQgMHx8dHlwZW9mIGUuZGNhX3N1cHBvcnRlZD09ImJvb2xlYW4iKTohMTtmdW5jdGlvbiBLZShlKXtyZXR1cm4gcmUoZSwicXNsLmRlc2suc3dpdGNoX3N0cmF0ZWdpZXMudjEiKSYmYihlLnRhcmdldF9pZCkmJmIoZS5kb21haW4pJiZiKGUuY2F0YWxvZ19yZXZpc2lvbikmJkFycmF5LmlzQXJyYXkoZS5zdHJhdGVnaWVzKSYmZS5zdHJhdGVnaWVzLmV2ZXJ5KFl0KX1jb25zdCBYdD0iL2FwaS9tYXJrZXQtYmVuY2htYXJrL3BlcmZvcm1hbmNlIixhdD0ibWVyaWRpYW4ucGVyZi5iZW5jaG1hcmtzIixrZT1bInNweCIsIm5keCIsInJ1dCIsImRqaSJdLGl0PVsic294Iiwid29ybGQiLCJlbSJdLFk9Wy4uLmtlLC4uLml0XSxVPXtzcHg6e3N5bWJvbDoiU1BZIixhcGlJZDoic3A1MDAiLHRva2VuOiItLW1yZC1iMSIsZGFzaDoiIixleHRyYTohMX0sbmR4OntzeW1ib2w6IlFRUSIsYXBpSWQ6Im5hc2RhcTEwMCIsdG9rZW46Ii0tbXJkLWIyIixkYXNoOiI3IDQiLGV4dHJhOiExfSxydXQ6e3N5bWJvbDoiSVdNIixhcGlJZDoicnVzc2VsbDIwMDAiLHRva2VuOiItLW1yZC1iMyIsZGFzaDoiMS41IDQiLGV4dHJhOiExfSxkamk6e3N5bWJvbDoiRElBIixhcGlJZDoiZGppYSIsdG9rZW46Ii0tbXJkLWI0IixkYXNoOiI5IDMgMiAzIixleHRyYTohMX0sc294OntzeW1ib2w6IlNPWFgiLGFwaUlkOm51bGwsdG9rZW46Ii0tbXJkLXgxIixkYXNoOiIzIDMiLGV4dHJhOiEwfSx3b3JsZDp7c3ltYm9sOiJVUlRIIixhcGlJZDpudWxsLHRva2VuOiItLW1yZC14MiIsZGFzaDoiMTIgNCIsZXh0cmE6ITB9LGVtOntzeW1ib2w6IkVFTSIsYXBpSWQ6bnVsbCx0b2tlbjoiLS1tcmQteDMiLGRhc2g6IjIgMiA4IDIiLGV4dHJhOiEwfX0sSnQ9bmV3IE1hcChZLm1hcChlPT5bVVtlXS5zeW1ib2wsZV0pKSxadD0vXlxkezR9LVxkezJ9LVxkezJ9JC87ZnVuY3Rpb24gY2UoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmcifHwhWnQudGVzdChlKSlyZXR1cm4hMTtjb25zdCB0PURhdGUucGFyc2UoYCR7ZX1UMDA6MDA6MDBaYCk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0KSYmbmV3IERhdGUodCkudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKT09PWV9Y29uc3QgcT1lPT5EYXRlLnBhcnNlKGAke2V9VDAwOjAwOjAwWmApLHhlPWU9PmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIHdlKGUsdD0idW5hdmFpbGFibGUiLHI9bnVsbCxzPW51bGwpe3JldHVybntrZXk6ZSxjb3ZlcmFnZTp0LGJhc2VEYXRlOnIsbGFzdERhdGU6cyxwb2ludHM6W119fWZ1bmN0aW9uIFF0KCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhZLm1hcChlPT5bZSx3ZShlKV0pKX1mdW5jdGlvbiBlbihlLHQscil7aWYoIUFycmF5LmlzQXJyYXkoZSl8fGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDtjb25zdCBzPVtdO2xldCBhPSIiO2Zvcihjb25zdCBpIG9mIGUpe2lmKCF4ZShpKXx8IWNlKGkuZGF0ZSkpcmV0dXJuIG51bGw7Y29uc3QgYz1pLmN1bXVsYXRpdmVfcmV0dXJuX3JhdGlvO2lmKHR5cGVvZiBjIT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZShjKXx8Yzw9LTF8fGkuZGF0ZTw9YXx8aS5kYXRlPHR8fGkuZGF0ZT5yKXJldHVybiBudWxsO2E9aS5kYXRlLHMucHVzaCh7ZGF0ZTppLmRhdGUsdmFsdWU6Y30pfXJldHVybiBzWzBdLmRhdGUhPT10fHxzWzBdLnZhbHVlIT09MHx8c1tzLmxlbmd0aC0xXS5kYXRlIT09cj9udWxsOnN9ZnVuY3Rpb24gdG4oZSx0KXtpZigheGUoZSl8fGUuc2NoZW1hX3ZlcnNpb24hPT0icXNsLnBlcmZvcm1hbmNlX2JlbmNobWFya3MudjEifHxlLm9rIT09ITB8fGUuc3RhdHVzIT09ImF2YWlsYWJsZSImJmUuc3RhdHVzIT09InBhcnRpYWwiKXJldHVybiBudWxsO2NvbnN0IHI9ZS53aW5kb3c7aWYoIXhlKHIpfHxyLnN0YXJ0IT09dC5zdGFydHx8ci5lbmQhPT10LmVuZHx8dHlwZW9mIGUucmV0dXJuX2Jhc2lzIT0ic3RyaW5nInx8ZS5yZXR1cm5fYmFzaXM9PT0iInx8IUFycmF5LmlzQXJyYXkoZS5zZXJpZXMpKXJldHVybiBudWxsO2NvbnN0IHM9UXQoKSxhPW5ldyBTZXQ7Zm9yKGNvbnN0IGkgb2YgZS5zZXJpZXMpe2lmKCF4ZShpKXx8dHlwZW9mIGkuc3ltYm9sIT0ic3RyaW5nIiljb250aW51ZTtjb25zdCBjPUp0LmdldChpLnN5bWJvbCk7aWYoIWMpY29udGludWU7aWYoYS5oYXMoYykpe3NbY109d2UoYyk7Y29udGludWV9YS5hZGQoYyk7Y29uc3QgZD1VW2NdO2lmKGQuYXBpSWQhPT1udWxsJiZpLmlkIT09ZC5hcGlJZHx8aS5zdGF0dXMhPT0iYXZhaWxhYmxlIiYmaS5zdGF0dXMhPT0icGFydGlhbCIpY29udGludWU7Y29uc3QgdT1jZShpLmJhc2VfZGF0ZSk/aS5iYXNlX2RhdGU6bnVsbCxwPWNlKGkubGFzdF9kYXRlKT9pLmxhc3RfZGF0ZTpudWxsO2lmKCF1fHwhcCljb250aW51ZTtpZighKGkuc3RhdHVzPT09ImF2YWlsYWJsZSImJnU9PT10LnN0YXJ0JiZwPT09dC5lbmQpKXtzW2NdPXdlKGMsInBhcnRpYWwiLHUscCk7Y29udGludWV9Y29uc3QgZz1lbihpLnBvaW50cyx1LHApO3NbY109Zz97a2V5OmMsY292ZXJhZ2U6ImZ1bGwiLGJhc2VEYXRlOnUsbGFzdERhdGU6cCxwb2ludHM6Z306d2UoYyl9cmV0dXJue3dpbmRvdzp7c3RhcnQ6dC5zdGFydCxlbmQ6dC5lbmR9LHJldHVybkJhc2lzOmUucmV0dXJuX2Jhc2lzLHNlcmllczpzfX1jb25zdCBubj0zMDtmdW5jdGlvbiBvdChlKXtpZihlLmxlbmd0aDwyKXJldHVybntyZXQ6bnVsbCxjYWdyOm51bGwsbWF4RHJhd2Rvd246bnVsbH07Y29uc3QgdD1lW2UubGVuZ3RoLTFdLnZhbHVlO2lmKCFOdW1iZXIuaXNGaW5pdGUodCl8fHQ8PS0xKXJldHVybntyZXQ6bnVsbCxjYWdyOm51bGwsbWF4RHJhd2Rvd246bnVsbH07Y29uc3Qgcj0ocShlW2UubGVuZ3RoLTFdLmRhdGUpLXEoZVswXS5kYXRlKSkvODY0ZTUscz1yPj1ubj8oMSt0KSoqKDM2NS4yNS9yKS0xOm51bGw7bGV0IGE9MSxpPTA7Zm9yKGNvbnN0IGMgb2YgZSl7Y29uc3QgZD0xK2MudmFsdWU7YT1NYXRoLm1heChhLGQpLGk9TWF0aC5taW4oaSxkL2EtMSl9cmV0dXJue3JldDp0LGNhZ3I6TnVtYmVyLmlzRmluaXRlKHM/PzApP3M6bnVsbCxtYXhEcmF3ZG93bjppfX1mdW5jdGlvbiBsdChlLHQpe3JldHVybiBlPT09bnVsbHx8dD09PW51bGw/bnVsbDooZS10KSoxMDB9ZnVuY3Rpb24gcm4oZSx0KXtyZXR1cm4gdD9sdChlLmNhZ3IsdC5jYWdyKTpudWxsfWZ1bmN0aW9uIHNuKGUsdCxyPVtdKXtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkodCl8fGUubGVuZ3RoIT09dC5sZW5ndGh8fGUubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgcz1OdW1iZXIodFswXSk7aWYoIShzPjApKXJldHVybiBudWxsO2NvbnN0IGE9W107bGV0IGk9IiI7Zm9yKGxldCBkPTA7ZDxlLmxlbmd0aDtkKz0xKXtjb25zdCB1PXR5cGVvZiB0W2RdPT0ic3RyaW5nIiYmL14tP1xkKyhcLlxkKyk/JC8udGVzdCh0W2RdKT9OdW1iZXIodFtkXSk6TmFOO2lmKCFjZShlW2RdKXx8ZVtkXTw9aXx8ISh1PjApKXJldHVybiBudWxsO2k9ZVtkXSxhLnB1c2goe2RhdGU6ZVtkXSx2YWx1ZTp1L3MtMX0pfWNvbnN0IGM9QXJyYXkuaXNBcnJheShyKT9yLmZpbHRlcihjZSk6W107cmV0dXJue3BvaW50czphLGdhcERhdGVzOmN9fWNvbnN0IGFuPTU7ZnVuY3Rpb24gb24oZSx0PVtdKXtjb25zdCByPWUuc2xpY2UoMSkubWFwKCh1LHApPT4ocSh1LmRhdGUpLXEoZVtwXS5kYXRlKSkvODY0ZTUpLHM9Wy4uLnJdLnNvcnQoKHUscCk9PnUtcCksYT1zLmxlbmd0aD9zW01hdGguZmxvb3Iocy5sZW5ndGgvMildOjEsaT1NYXRoLm1heChhbixhKjIuNSksYz1bXTtsZXQgZD0wO2ZvcihsZXQgdT0xO3U8ZS5sZW5ndGg7dSs9MSkoclt1LTFdPml8fHQuc29tZShoPT5oPmVbdS0xXS5kYXRlJiZoPGVbdV0uZGF0ZSkpJiYoYy5wdXNoKFtkLHUtMV0pLGQ9dSk7cmV0dXJuIGUubGVuZ3RoJiZjLnB1c2goW2QsZS5sZW5ndGgtMV0pLGN9Y29uc3QgQ2U9a2U7ZnVuY3Rpb24gZHQoKXt0cnl7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP251bGw6d2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbG4oZT1kdCgpKXt0cnl7Y29uc3QgdD1lPy5nZXRJdGVtKGF0KTtpZih0PT1udWxsKXJldHVyblsuLi5DZV07Y29uc3Qgcj1KU09OLnBhcnNlKHQpO2lmKCFBcnJheS5pc0FycmF5KHIpKXJldHVyblsuLi5DZV07Y29uc3Qgcz1uZXcgU2V0KFkpLGE9ci5maWx0ZXIoaT0+dHlwZW9mIGk9PSJzdHJpbmciJiZzLmhhcyhpKSk7cmV0dXJuIFkuZmlsdGVyKGk9PmEuaW5jbHVkZXMoaSkpfWNhdGNoe3JldHVyblsuLi5DZV19fWZ1bmN0aW9uIGRuKGUsdD1kdCgpKXt0cnl7dD8uc2V0SXRlbShhdCxKU09OLnN0cmluZ2lmeShZLmZpbHRlcihyPT5lLmluY2x1ZGVzKHIpKSkpfWNhdGNoe319ZnVuY3Rpb24gY24oZSl7Y29uc3QgdD1lLmZsYXRNYXAocz0+cy5tYXAoYT0+YS52YWx1ZSoxMDApKSxyPUR0KHQpO3JldHVybnttaW46ci5taW4vMTAwLG1heDpyLm1heC8xMDAsdGlja3M6ci50aWNrcy5tYXAocz0+cy8xMDApLGRpZ2l0czpyLmRpZ2l0c319ZnVuY3Rpb24gdW4oZSx0KXtsZXQgcj0wLHM9ZS5sZW5ndGgtMTtmb3IoO3I8PXM7KXtjb25zdCBhPXIrcz4+MTtpZihlW2FdLmRhdGU9PT10KXJldHVybiBlW2FdLnZhbHVlO2VbYV0uZGF0ZTx0P3I9YSsxOnM9YS0xfXJldHVybiBudWxsfWZ1bmN0aW9uIHBuKGUsdCxyLHMpe2NvbnN0IGE9ZS5tYXAoKGQsdSk9Pih7eTpkLGluZGV4OnV9KSkuc29ydCgoZCx1KT0+ZC55LXUueSksaT1hLm1hcChkPT5kLnkpO2ZvcihsZXQgZD0wO2Q8aS5sZW5ndGg7ZCs9MSlpW2RdPU1hdGgubWF4KGQ9PT0wP3I6aVtkLTFdK3QsaVtkXSk7Zm9yKGxldCBkPWkubGVuZ3RoLTE7ZD49MDtkLT0xKXtjb25zdCB1PWQ9PT1pLmxlbmd0aC0xP3M6aVtkKzFdLXQ7aVtkXT1NYXRoLm1pbihpW2RdLHUpfWNvbnN0IGM9bmV3IEFycmF5KGUubGVuZ3RoKTtyZXR1cm4gYS5mb3JFYWNoKChkLHUpPT57Y1tkLmluZGV4XT1pW3VdfSksY31jb25zdCBmbj0icXNsRGVza01vY2siO2Z1bmN0aW9uIGhuKGUsdCl7Y29uc3Qgcj1uZXcgVVJMU2VhcmNoUGFyYW1zKGUpLmdldCgibW9jayIpLHM9aT0+e2lmKGkhPT1udWxsKXJldHVybiBpPT09IjEifHxpPT09Im9rInx8aT09PSJ0cnVlIj8ib2siOmk9PT0iZGVncmFkZWQifHxpPT09ImZhaWwiP2k6bnVsbH0sYT1zKHIpO3JldHVybiBhIT09dm9pZCAwP2E6cyh0KT8/bnVsbH1jb25zdCBtbj17b2s6ITEsZXJyb3I6InN0b3JlX3VuYXZhaWxhYmxlIixyZWFzb25fY29kZToic3RvcmVfdW5hdmFpbGFibGUiLHJlYXNvbjoiTW9jayBzY2VuYXJpbzogdGhlIHJlYWQgbW9kZWwgc3RvcmUgaXMgdW5hdmFpbGFibGUuIn0sZ249e3Nlc3Npb246KCk9PlcoKCk9PmltcG9ydCgiLi9zZXNzaW9uLURlM05UNHJPLmpzIiksX192aXRlX19tYXBEZXBzKFswLDFdKSkscmliYm9uOigpPT5XKCgpPT5pbXBvcnQoIi4vcmliYm9uLURWOE14VnZOLmpzIiksX192aXRlX19tYXBEZXBzKFsyLDFdKSksb3ZlcnZpZXc6KCk9PlcoKCk9PmltcG9ydCgiLi9vdmVydmlldy1CY2o5Y2R3ay5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMywxXSkpLGFjY291bnRzOigpPT5XKCgpPT5pbXBvcnQoIi4vYWNjb3VudHMtQzBfLTZBai0uanMiKSxfX3ZpdGVfX21hcERlcHMoWzQsMV0pKSxjcmVkZW50aWFsczooKT0+VygoKT0+aW1wb3J0KCIuL2NyZWRlbnRpYWxzLU5QMzNzekxmLmpzIiksX192aXRlX19tYXBEZXBzKFs1LDFdKSksc3dpdGNoVGFyZ2V0czooKT0+VygoKT0+aW1wb3J0KCIuL3N3aXRjaFRhcmdldHMtQ3V6REJYNVYuanMiKSxfX3ZpdGVfX21hcERlcHMoWzYsMV0pKSxzd2l0Y2hTdHJhdGVnaWVzOigpPT5XKCgpPT5pbXBvcnQoIi4vc3dpdGNoU3RyYXRlZ2llcy1tU2x2N3F0ZS5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbNywxXSkpLHBlcmZvcm1hbmNlOigpPT5XKCgpPT5pbXBvcnQoIi4vcGVyZm9ybWFuY2UtU3d5cXdkaUwuanMiKSxfX3ZpdGVfX21hcERlcHMoWzgsMV0pKX0seW49ZT0+ZT4wP25ldyBQcm9taXNlKHQ9PnNldFRpbWVvdXQodCxlKSk6UHJvbWlzZS5yZXNvbHZlKCk7YXN5bmMgZnVuY3Rpb24gR2UoZSx0LHIpe2lmKGF3YWl0IHluKHIpLHQ9PT0iZmFpbCIpdGhyb3cgbmV3IFN0KDUwMyxtbik7Y29uc3Qgcz1hd2FpdCBnbltlXSgpO3JldHVybiBzdHJ1Y3R1cmVkQ2xvbmUoc1t0XSl9Y29uc3QgYm49e3Nlc3Npb246ImxpdmUiLHJpYmJvbjoibW9jayIsb3ZlcnZpZXc6Im1vY2siLGFjY291bnRzOiJtb2NrIixjcmVkZW50aWFsczoibW9jayIsc3dpdGNoVGFyZ2V0czoibW9jayIsc3dpdGNoU3RyYXRlZ2llczoibW9jayIscGVyZm9ybWFuY2U6Im1vY2sifTtjbGFzcyBEZSBleHRlbmRzIEVycm9ye2VuZHBvaW50O2NvbnN0cnVjdG9yKHQpe3N1cGVyKGBkZXNrX2NvbnRyYWN0X21pc21hdGNoOiR7dH1gKSx0aGlzLmVuZHBvaW50PXR9fWZ1bmN0aW9uIHhuKGUpe2NvbnN0IHQ9ZS5mZXRjaEpzb24/PyhpPT5OdChpKSkscj1lLnNvdXJjZXM/P2JuLHM9ZS5kZWxheU1zPz8yNTA7YXN5bmMgZnVuY3Rpb24gYShpLGMsZCl7Y29uc3QgdT1lLmZvcmNlZFNjZW5hcmlvPz8ocltpXT09PSJtb2NrIj8ib2siOm51bGwpLHA9dT9hd2FpdCBHZShpLHUscyk6YXdhaXQgdChjKTtpZighZChwKSl0aHJvdyBuZXcgRGUoaSk7cmV0dXJue2RhdGE6cCxzb3VyY2U6dT8ibW9jayI6ImxpdmUiLHNjZW5hcmlvOnV9fXJldHVybntzZXNzaW9uOigpPT5hKCJzZXNzaW9uIiwiL2FwaS9zZXNzaW9uIixNdCkscmliYm9uOmk9PmEoInJpYmJvbiIsYC9hcGkvZGVzay9yaWJib24ke2kmJi9eXGR7NH0tXGR7Mn0tXGR7Mn0kLy50ZXN0KGkpP2A/ZGF0ZT0ke2l9YDoiIn1gLE90KSxvdmVydmlldzooKT0+YSgib3ZlcnZpZXciLCIvYXBpL2Rlc2svb3ZlcnZpZXciLEZ0KSxhY2NvdW50czooKT0+YSgiYWNjb3VudHMiLCIvYXBpL2Rlc2svYWNjb3VudHMiLFd0KSxjcmVkZW50aWFsczooKT0+YSgiY3JlZGVudGlhbHMiLCIvYXBpL2Rlc2svY3JlZGVudGlhbHMiLEt0KSxzd2l0Y2hUYXJnZXRzOigpPT5hKCJzd2l0Y2hUYXJnZXRzIiwiL2FwaS9kZXNrL3N3aXRjaC90YXJnZXRzIixWdCksYXN5bmMgc3dpdGNoU3RyYXRlZ2llcyhpKXtjb25zdCBjPWUuZm9yY2VkU2NlbmFyaW8/PyhyLnN3aXRjaFN0cmF0ZWdpZXM9PT0ibW9jayI/Im9rIjpudWxsKTtpZihjKXthd2FpdCBHZSgic3dpdGNoU3RyYXRlZ2llcyIsYyxzKTtjb25zdCBwPShhd2FpdCBXKCgpPT5pbXBvcnQoIi4vc3dpdGNoU3RyYXRlZ2llcy1tU2x2N3F0ZS5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbNywxXSkpKS5mb3JUYXJnZXQoaSxjPT09ImRlZ3JhZGVkIj8iZGVncmFkZWQiOiJvayIpO2lmKCFLZShwKSl0aHJvdyBuZXcgRGUoInN3aXRjaFN0cmF0ZWdpZXMiKTtyZXR1cm57ZGF0YTpwLHNvdXJjZToibW9jayIsc2NlbmFyaW86Y319Y29uc3QgZD1hd2FpdCB0KGAvYXBpL2Rlc2svc3dpdGNoL3RhcmdldHMvJHtlbmNvZGVVUklDb21wb25lbnQoaSl9L3N0cmF0ZWdpZXNgKTtpZighS2UoZCkpdGhyb3cgbmV3IERlKCJzd2l0Y2hTdHJhdGVnaWVzIik7cmV0dXJue2RhdGE6ZCxzb3VyY2U6ImxpdmUiLHNjZW5hcmlvOm51bGx9fSxwZXJmb3JtYW5jZTooKT0+YSgicGVyZm9ybWFuY2UiLCIvYXBpL2Rlc2svcGVyZm9ybWFuY2UiLEJ0KSxhc3luYyBiZW5jaG1hcmtzKGksYyxkKXtpZihjPT09Im1vY2siKXtpZihkPT09ImZhaWwiKXRocm93IG5ldyBFcnJvcigiYmVuY2htYXJrc19tb2NrX2ZhaWx1cmUiKTtyZXR1cm4oYXdhaXQgVygoKT0+aW1wb3J0KCIuL3BlcmZvcm1hbmNlLVN3eXF3ZGlMLmpzIiksX192aXRlX19tYXBEZXBzKFs4LDFdKSkpLmJlbmNobWFya1Jlc3BvbnNlKGkuc3RhcnQsaS5lbmQsZD09PSJkZWdyYWRlZCI/ImRlZ3JhZGVkIjoib2siKX1yZXR1cm4gdChgJHtYdH0/c3RhcnQ9JHtpLnN0YXJ0fSZlbmQ9JHtpLmVuZH1gKX19fWNvbnN0IHduPXsiYWdlLnMiOiJ7c30g56eSIiwiYWdlLm0iOiJ7bX0g5YiG6ZKfIiwiYWdlLmhtIjoie2h9IOWwj+aXtiB7bX0g5YiGIiwiYWdlLmRoIjoie2R9IOWkqSB7aH0g5bCP5pe2IiwiYWdlLmFnbyI6InthZ2V95YmNIiwiY2xvY2sudXRjIjoie3RpbWV9IFVUQyIsIndlZWtkYXkuMCI6IuWRqOaXpSIsIndlZWtkYXkuMSI6IuWRqOS4gCIsIndlZWtkYXkuMiI6IuWRqOS6jCIsIndlZWtkYXkuMyI6IuWRqOS4iSIsIndlZWtkYXkuNCI6IuWRqOWbmyIsIndlZWtkYXkuNSI6IuWRqOS6lCIsIndlZWtkYXkuNiI6IuWRqOWFrSIsImRhdGUubW9udGhfZGF5Ijoie21vbnRofeaciHtkYXl95pelIHt3ZWVrZGF5fSIsInJlYWQudW5rbm93biI6IuacquefpSIsInJlYWQudW5rbm93bl9tYXJrIjoiPyIsInJlYWQuc3RhbGUiOiLlt7Lov4fmnJ8gwrcge2FnZX3liY0iLCJyZWFkLnJlYXNvbi5uZXZlcl9yZWFkIjoi5LuO5pyq6K+75Y+WIiwicmVhZC5yZWFzb24ucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJyZWFkLnJlYXNvbi5zb3VyY2VfdW5hdmFpbGFibGUiOiLmnaXmupDkuI3lj6/nlKgiLCJyZWFkLnJlYXNvbi5pZGVudGl0eV91bnZlcmlmaWVkIjoi6Lqr5Lu95pyq6aqM6K+BIiwicmVhZC5yZWFzb24ubm90X3N1cHBvcnRlZCI6IuS4jeaUr+aMgSIsInJlYWQucmVhc29uLmluc3VmZmljaWVudF9oaXN0b3J5Ijoi5Y6G5Y+y5LiN6LazIiwicmVhZC5yZWFzb24ub3RoZXIiOiLljp/lm6DmnKrnn6UiLCJyZWFkLnVua25vd25fbm90X3N0b3BwZWQiOiLmnKrnn6XkuI3nrYnkuo7lt7LlgZzmraIiLCJydW50aW1lLnJ1bm5pbmciOiLov5DooYzkuK0iLCJydW50aW1lLnN0b3BwZWQiOiLlt7LlgZzmraIiLCJydW50aW1lLnVua25vd24iOiLov5DooYznirbmgIHmnKrnn6UiLCJjb25maWcuc3luY2VkIjoi5L+d5a2YID0g5bmz5Y+wIiwiY29uZmlnLmRyaWZ0Ijoi5YGP56a7IMK3IHtjb3VudH0g6aG5IiwiY29uZmlnLnVua25vd24iOiLphY3nva7mnKrnn6UiLCJjb21wYXJlLm1hdGNoIjoi5LiA6Ie0IiwiY29tcGFyZS5kcmlmdCI6IuWBj+emuyIsImNvbXBhcmUudW5rbm93biI6IuacquefpSIsIm1vZGUubGl2ZSI6IuWunuebmCIsIm1vZGUucGFwZXIiOiLmqKHmi5/nm5giLCJtb2RlLmRyeV9ydW4iOiLmvJTnu4MiLCJzZXZlcml0eS5jcml0aWNhbCI6Iue0p+aApSIsInNldmVyaXR5Lndhcm5pbmciOiLorablkYoiLCJzZXZlcml0eS5pbmZvIjoi5L+h5oGvIiwiZnJlc2huZXNzLnJlYWR5Ijoi5pWw5o2u5paw6bKcIMK3IHthZ2V95YmNIiwiZnJlc2huZXNzLnN0YWxlIjoi5pWw5o2u5bey6L+H5pyfIMK3IHthZ2V95YmNIiwiZnJlc2huZXNzLnVuYXZhaWxhYmxlIjoi5pWw5o2u5LiN5Y+v55SoIiwiYmFzaXMubmF0aXZlX2lia3JfdHdyIjoi5pe26Ze05Yqg5p2D77yISUJLUu+8iSIsImJhc2lzLm5hdl9jaGFuZ2VfdW5hZGp1c3RlZCI6IuWHgOi1hOS6p+WPmOWMlu+8jOacquaJo+mZpOWHuuWFpemHkSIsImJhc2lzLm1peGVkIjoi5re35ZCI5Y+j5b6EIiwiYmFzaXMudW5hdmFpbGFibGUiOiLmlLbnm4rlj6PlvoTkuI3lj6/nlKgiLCJkcmF3ZG93bi5vayI6IuWbnuaSpOato+W4uCIsImRyYXdkb3duLm5lYXJfbGltaXQiOiLlm57mkqTmjqXov5HkuIrpmZAiLCJkcmF3ZG93bi5icmVhY2hlZCI6IuWbnuaSpOi2heWHuuS4iumZkCIsImRyYXdkb3duLnVua25vd24iOiLlm57mkqTmnKrnn6UiLCJtb2NrLmJhZGdlIjoi5qih5ouf5pWw5o2uIiwic2hlbGwuYnJhbmQiOiJRdWFudFN0cmF0ZWd5TGFiIiwic2hlbGwubmF2X2xhYmVsIjoi5Li75a+86IiqIiwibmF2Lm92ZXJ2aWV3Ijoi5oC76KeIIiwibmF2LmFjY291bnRzIjoi6LSm5oi3IiwibmF2LnN3aXRjaCI6IuWIh+aNoiIsIm5hdi5wZXJmb3JtYW5jZSI6IuS4mue7qSIsIm5hdi5hbGVydHMiOiLmj5DphpIiLCJuYXYubG9ncyI6IuaXpeW/lyIsIm5hdi5ob3RrZXkiOiLlv6vmjbfplK4ge2tleX0iLCJuYXYuYWxlcnRfYmFkZ2UiOiJ7Y291bnR9IOadoeacquWkhOeQhuaPkOmGkiIsImdhdGV3YXkuYWxsX3JlYWNoYWJsZSI6Iue9keWFs+WPr+i+viIsImdhdGV3YXkuZGVncmFkZWQiOiLnvZHlhbPpg6jliIblj6/ovr4iLCJnYXRld2F5LmRvd24iOiLnvZHlhbPkuI3lj6/ovr4iLCJnYXRld2F5LnN0YWxlIjoi572R5YWz5pWw5o2u5bey6L+H5pyfIMK3IHthZ2V95YmNIiwiZ2F0ZXdheS51bmtub3duIjoi572R5YWz54q25oCB5pyq55+lIiwiZ2F0ZXdheS5sb2FkaW5nIjoi5q2j5Zyo6K+75Y+W6L+Q6KGM54q25oCBIiwiZ2F0ZXdheS5mYWlsZWQiOiLov5DooYznirbmgIHor7vlj5blpLHotKUiLCJjbG9jay5sb2NhbCI6Int0aW1lfSBVVEMgwrcg5pys5py65pe26ZKfIiwibGFuZy5sYWJlbCI6IueVjOmdouivreiogCIsInRoZW1lLnRvX2RhcmsiOiLliIfmjaLliLDmt7HoibIiLCJ0aGVtZS50b19saWdodCI6IuWIh+aNouWIsOa1heiJsiIsIm1vY2suc2NlbmFyaW8iOiLmqKHmi5/mlbDmja4gwrcge3NjZW5hcmlvfSIsIm1vY2sudGl0bGUiOiLov5nkupvmlbDmja7mmK/npLrkvovvvIzkuI3mmK/kvaDnmoTotKbmiLfjgIIiLCJhY2Nlc3MudGl0bGUiOiLpnIDopoHnmbvlvZUiLCJhY2Nlc3MuYm9keSI6IueZu+W9leWQjuaJjeiDveafpeeci+aOp+WItuWPsOOAgiIsImFjY2Vzcy5leWVicm93Ijoi6K6/6Zeu5p2D6ZmQIiwiYWNjZXNzLmRlbmllZF90aXRsZSI6Iuayoeacieiuv+mXruadg+mZkCIsImFjY2Vzcy5kZW5pZWQiOiLlvZPliY3nmbvlvZXouqvku73msqHmnInorr/pl67mnYPpmZDjgIIiLCJhY2Nlc3MuZGVuaWVkX25vdGUiOiLmnYPpmZDmjInlvZPliY3nmbvlvZXouqvku73liKTmlq3vvJvlpoLpnIDlvIDpgJrvvIzor7fogZTns7votJ/otKPkurrjgIIiLCJhY2Nlc3MubG9naW4iOiLnmbvlvZUiLCJhY2Nlc3MucmV0cnkiOiLph43or5UiLCJhY2Nlc3MuZXJyb3JfdGl0bGUiOiLml6Dms5Xnoa7orqTorr/pl67mnYPpmZAiLCJhY2Nlc3MuZXJyb3IiOiLml6Dms5Xor7vlj5bnmbvlvZXnirbmgIHjgIIiLCJhY2Nlc3MubG9hZGluZyI6Iuato+WcqOehruiupOeZu+W9leeKtuaAgeKApiIsImFjY2Vzcy5hY3Rpb25fZGVuaWVkX3RpdGxlIjoi5q2k5pON5L2c5LiN5Y+v55SoIiwiYWNjZXNzLmFjdGlvbl9kZW5pZWQiOiLlvZPliY3nmbvlvZXouqvku73kuI3og73miafooYzmraTmk43kvZzjgIIiLCJhY2Nlc3MuYWN0aW9uX2RlbmllZF9yZWFzb24iOiLljp/lm6DvvJp7cmVhc29ufSIsInN0dWIuZXllYnJvdyI6IuesrCB7cGhhc2V9IOmYtuauteS4iue6vyIsInN0dWIuc291cmNlcyI6IuaVsOaNruaOpeWPoyIsInN0dWIucGxhbm5lZCI6Iui/meS4gOmhteS8muaciSIsInN0dWIubm90ZSI6IuW9k+WJjeaYr+mqqOaetumhtemdou+8jOi/mOayoeacieaOpeWFpeaVsOaNru+8jOS5n+S4jeS8muWPkei1t+S7u+S9leaTjeS9nOOAgiIsInBhZ2Uub3ZlcnZpZXcuaGVhZGxpbmUiOiLkuIDlj6Xor53jgIHkuIDkuKrmlbDlrZfjgIHkuIDku7bpnIDopoHkvaDlgZrnmoTkuovjgIIiLCJwYWdlLm92ZXJ2aWV3LmJvZHkiOiLlh4DotYTkuqflkozotbDlir/jgIHpnIDopoHkvaDlpITnkIbnmoTkuovpobnjgIHpo47pmanovrnnlYzjgIHmr4/kuKrnrZbnlaXnmoTljaHniYfvvIzku6Xlj4rku4rlpKnnmoTov5DooYzjgIIiLCJwYWdlLm92ZXJ2aWV3LnBhcnRzIjoi5YeA6LWE5Lqn5LiO6LWw5Yq/fOmcgOimgeS9oOWkhOeQhnzpo47pmanovrnnlYx8562W55Wl5Y2h54mHfOS7iuaXpei/kOihjCIsInBhZ2UuYWNjb3VudHMuaGVhZGxpbmUiOiLmr4/lrrbliLjllYbkuIDlvKDljaHvvIzphY3nva7lt67lvILkuIDnnLznnIvmuIXjgIIiLCJwYWdlLmFjY291bnRzLmJvZHkiOiLliLjllYbov57mjqXkuI7lh63or4HjgIHkv53lrZjlgLzkuI7lubPlj7Dor7vlm57nmoTpgJDpobnlr7nmr5TjgIHmjIHku5PlkozotKbmiLfkv6Hmga/jgIIiLCJwYWdlLmFjY291bnRzLnBhcnRzIjoi5Yi45ZWG54q25oCBfOS/neWtmCB2cyDlubPlj7Dor7vlm5585oyB5LuTfOi0puaIt+S/oeaBryIsInBhZ2Uuc3dpdGNoLmhlYWRsaW5lIjoi5a6J5YWo5YiH5o2i77yM5LiN5Lya5LiL5Y2V44CCIiwicGFnZS5zd2l0Y2guYm9keSI6IuS6lOatpeWujOaIkO+8muebruagh+OAgeetlueVpeOAgeW3ruW8guS4jumihOajgOOAgei+k+WFpeWwvuWPt+ehruiupOOAgeivu+WbnumqjOivgeOAguWIh+aNouWKn+iDveWwmuacquaOpemAmuOAgiIsInBhZ2Uuc3dpdGNoLnBhcnRzIjoi55uu5qCHfOetlueVpXzlt67lvILkuI7pooTmo4B856Gu6K6kfOmqjOivgXzku4XlgZzmraIiLCJwYWdlLnBlcmZvcm1hbmNlLmhlYWRsaW5lIjoi5Y+q55S755yf5a6e5a2Y5Zyo55qE5Y6G5Y+y44CCIiwicGFnZS5wZXJmb3JtYW5jZS5ib2R5Ijoi5pS255uK5Y+j5b6E44CB5YWz6ZSu5oyH5qCH44CB57uE5ZCI5LiO5Z+65YeG6LWw5Yq/44CB5pyI5bqm5pS255uK5ZKM5ZCE562W55Wl6LSh54yu44CCIiwicGFnZS5wZXJmb3JtYW5jZS5wYXJ0cyI6IuaUtuebiuWPo+W+hHzlhbPplK7mjIfmoId86LWw5Yq/5a+55q+UfOaciOW6puaUtuebinznrZbnlaXotKHnjK4iLCJwYWdlLmFsZXJ0cy5oZWFkbGluZSI6IuWPquaYvuekuuWAvOW+l+S9oOazqOaEj+eahOS+i+WkluOAgiIsInBhZ2UuYWxlcnRzLmJvZHkiOiLmjInkuKXph43nqIvluqbnrZvpgInmnKrlpITnkIblkozov5HmnJ/mj5DphpLvvIzku6Xlj4rmj5DphpLnmoTmipXpgJLnirbmgIHjgIIiLCJwYWdlLmFsZXJ0cy5wYXJ0cyI6IuS4pemHjeeoi+W6puetm+mAiXzmnKrlpITnkIbkuI7ov5HmnJ985oqV6YCS5rig6YGTIiwicGFnZS5sb2dzLmhlYWRsaW5lIjoi6L+Q6KGM6K6w5b2V5ZKM5pel5b+X77yM5Y6f5qC35pi+56S644CCIiwicGFnZS5sb2dzLmJvZHkiOiLku4rlpKnnmoTluILlnLrml7bmrrXkuI7ov5DooYzorrDlvZXvvIzku6Xlj4rlj6/nrZvpgInjgIHlj6/mmoLlgZznmoTlrp7ml7bml6Xlv5fjgIIiLCJwYWdlLmxvZ3MucGFydHMiOiLluILlnLrml7bmrrV86L+Q6KGM6K6w5b2VfOaXpeW/l+etm+mAiXzlrp7ml7bot5/ouKoiLCJwZXJmLmNoYXJ0LnRpdGxlIjoi57Sv6K6h5pS255uKIiwicGVyZi5jaGFydC5hcmlhIjoi57uE5ZCI5LiO5omA6YCJ5Z+65YeG55qE57Sv6K6h5pS255uK6LWw5Yq/5Zu+IiwicGVyZi5wb3J0Zm9saW8iOiLnu4TlkIgiLCJwZXJmLmJlbmNoLnNweCI6Iuagh+aZriA1MDAiLCJwZXJmLmJlbmNoLm5keCI6Iue6s+aWr+i+vuWFiyAxMDAiLCJwZXJmLmJlbmNoLnJ1dCI6Iue9l+e0oCAyMDAwIiwicGVyZi5iZW5jaC5kamkiOiLpgZPnkLzmlq8iLCJwZXJmLmJlbmNoLnNveCI6Iui0ueWfjuWNiuWvvOS9k+aMh+aVsO+8iFNPWFgg5Luj55CG77yJIiwicGVyZi5iZW5jaC53b3JsZCI6Ik1TQ0kg5LiW55WM77yIVVJUSCDku6PnkIbvvIkiLCJwZXJmLmJlbmNoLmVtIjoiTVNDSSDmlrDlhbTluILlnLrvvIhFRU0g5Luj55CG77yJIiwicGVyZi5iZW5jaC5ncm91cCI6IuWfuuWHhiIsInBlcmYubW9yZSI6IuabtOWkmuWfuuWHhiIsInBlcmYubW9yZS5ub3RlIjoi6L+Z5Lqb5Z+65YeG5LulIEVURiDku7fmoLzlm57miqXkvZzku6PnkIbvvIzlubbpnZ7mjIfmlbDmnKzouqvjgIIiLCJwZXJmLmhpZGRlbiI6IuW3sumakOiXjyIsInBlcmYudW5hdmFpbGFibGUiOiLmlbDmja7kuI3lj6/nlKgiLCJwZXJmLmZyb20iOiLoh6oge2RhdGV9IOi1tyIsInBlcmYudGFibGUudGl0bGUiOiLln7rlh4blr7nmr5QiLCJwZXJmLmNvbC5uYW1lIjoi5bqP5YiXIiwicGVyZi5jb2wucmV0dXJuIjoi5pS255uKIiwicGVyZi5jb2wuY2FnciI6IuW5tOWMliIsInBlcmYuY29sLm1kZCI6IuacgOWkp+WbnuaSpCIsInBlcmYuY29sLmV4Y2VzcyI6Iui2hemineaUtuebiu+8iOeCue+8iSIsInBlcmYucHRzIjoi54K5IiwicGVyZi5leGNlc3Mubm90ZSI6Iui2hemineaUtuebiiA9IOe7hOWQiOaUtuebiiDiiJIg5Z+65YeG5pS255uK77yM5Y2V5L2N5Li655m+5YiG54K577yM56qX5Y+j55u45ZCM77yb5LuF5Zyo5Y+M5pa55a6M5pW06KaG55uW6K+l56qX5Y+j5pe25pi+56S644CCIiwicGVyZi5rcGkuY2FnciI6IuW5tOWMluaUtuebiiIsInBlcmYua3BpLnZzX3NweCI6Iui+g+agh+aZriA1MDAge2R9IOS4queZvuWIhueCuSIsInBlcmYua3BpLnZzX3VuYXZhaWxhYmxlIjoi5qCH5pmuIDUwMCDlr7nmr5TkuI3lj6/nlKgiLCJwZXJmLmZvb3QiOiLln7rlh4bkuLogRVRGIOS7o+eQhiDCtyB7YmFzaXN9IMK3IOaIquiHsyB7ZGF0ZX0iLCJwZXJmLmZvb3Qubm9uZSI6IuatpOeql+WPo+WGheayoeacieWPr+eUqOeahOWfuuWHhuaVsOaNruOAgiIsInBlcmYuYmFzaXMuZXRmX2Nsb3NlX3ByaWNlX3JldHVybiI6IuacquWkjeadg+aUtuebmOS7t+aUtuebiu+8jOS4jeWQq+iCoeaBr+WGjeaKlei1hCIsInBlcmYuZmV0Y2hfZmFpbGVkIjoi5Z+65YeG5pWw5o2u5Yqg6L295aSx6LSl77yM5LuF5pi+56S657uE5ZCI44CCIiwicGVyZi5wb3J0Zm9saW9fdW5hdmFpbGFibGUiOiLnu4TlkIjljoblj7LkuI3lj6/nlKjvvIzlm6DmraTkuI3mmL7npLrlr7nmr5TjgIIiLCJwZXJmLmxvYWRpbmciOiLmraPlnKjliqDovb3kuJrnu6nigKYiLCJwZXJmLm1vY2tfbm90ZSI6IumihOiniOaVsOaNru+8muacrOmhteeahOe7hOWQiOS4juWfuuWHhuabsue6v+Wdh+S4uuWQiOaIkOaVsOaNruOAgiIsInBlcmYucmVhZG91dC5ub25lIjoi5bCG6byg5qCH56e75Yiw5Zu+5LiK44CB6L276Kem5oiW6IGa54Sm5Zu+6KGo5p+l55yL5pWw5YC844CCIiwic3RhdGVzLmxvYWRpbmciOiLmraPlnKjor7vlj5bigKYiLCJzdGF0ZXMubG9hZGluZ19za2VsZXRvbiI6Iuato+WcqOivu+WPluaVsOaNriIsInN0YXRlcy5lbXB0eV90aXRsZSI6IuepuiIsInN0YXRlcy5lbXB0eSI6IuayoeacieWPr+aYvuekuueahOaVsOaNruOAgiIsInN0YXRlcy5lcnJvcl90aXRsZSI6Iuivu+WPluWksei0pSIsInN0YXRlcy5lcnJvciI6Iuivu+WPluWksei0pe+8jOWPr+S7pemHjeivleOAgiIsInN0YXRlcy5yZXRyeSI6IumHjeivlSIsInN0YXRlcy5yZWFkX2ZhaWxlZF9hZnRlciI6IjEwIOenkuWGheayoeacieWbnuW6lO+8jOW3suaMieivu+WPluWksei0peWkhOeQhuOAgiIsInN0YXRlcy5zdGFsZSI6IuaVsOaNruW3sui/h+acnyDCtyB7YWdlfeWJjSIsInN0YXRlcy5wYXJ0aWFsX2RldGFpbCI6IuW3suWMheWQqyB7aW5jbHVkZWR9IC8ge3RvdGFsfSDpobnvvJvnvLrlpLHpobnkv53mjIHmnKrnn6XjgIIiLCJzdGF0ZXMuZnJlc2huZXNzLmxvYWRpbmciOiLmraPlnKjor7vlj5bmlbDmja7mlrDpspzluqYiLCJzdGF0ZXMuZnJlc2huZXNzLnJlYWR5Ijoi5pWw5o2u5paw6bKcIMK3IHthZ2V95YmNIiwic3RhdGVzLmZyZXNobmVzcy5zdGFsZSI6IuaVsOaNruW3sui/h+acnyDCtyB7YWdlfeWJjSIsInN0YXRlcy5mcmVzaG5lc3MudW5hdmFpbGFibGUiOiLmlbDmja7mlrDpspzluqbmnKrnn6UiLCJzdGF0ZXMuZnJlc2huZXNzLmZhaWxlZCI6IuaWsOmynOW6puivu+WPluWksei0pSIsImFjY291bnRzLmV5ZWJyb3ciOiLotKbmiLfkuI7lh63or4EiLCJhY2NvdW50cy50aXRsZSI6Iui0puaItyIsImFjY291bnRzLmJvZHkiOiLmr4/lrrbliLjllYbkuIDlvKDljaHvvJrov57mjqXjgIHlh63or4HliLDmnJ/jgIHphY3nva7kuI7mnIDov5HorqLljZXjgILlh63or4HlnKjljZXni6zkuIDpobXnrqHnkIbjgIIiLCJhY2NvdW50cy50YWJzLmJyb2tlcnMiOiLliLjllYYiLCJhY2NvdW50cy50YWJzLmNyZWRlbnRpYWxzIjoi5Yet6K+BIiwiYWNjb3VudHMuYnJva2Vycy5lbXB0eSI6Iui/mOayoeacieWPr+aYvuekuueahOWIuOWVhui0puaIt+OAgiIsImFjY291bnRzLmJyb2tlci50YXJnZXRzIjoi6L+Q6KGM55uu5qCHIiwiYWNjb3VudHMuYnJva2VyLmNvbm5lY3Rpdml0eSI6Iui/nuaOpSIsImFjY291bnRzLmJyb2tlci5oZWFydGJlYXQiOiLlv4Pot7MiLCJhY2NvdW50cy5icm9rZXIuZnJlc2huZXNzIjoi5pWw5o2u5paw6bKc5bqmIiwiYWNjb3VudHMuYnJva2VyLmNvbmZpZyI6IumFjee9riIsImFjY291bnRzLmJyb2tlci5sYXN0X29yZGVyIjoi5pyA6L+R6K6i5Y2VIiwiYWNjb3VudHMuYnJva2VyLnN3aXRjaCI6IuWIh+aNouetlueVpSIsImFjY291bnRzLmJyb2tlci5vcGVuIjoi5omT5byA6LSm5oi3IiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LnVwIjoi5bey6L+e5o6lIiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LmRlZ3JhZGVkIjoi6YOo5YiG5Y+v6L6+IiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LmRvd24iOiLkuI3lj6/ovr4iLCJhY2NvdW50cy5jb25uZWN0aXZpdHkudW5rbm93biI6Iui/nuaOpeacquefpSIsImFjY291bnRzLmxhc3Rfb3JkZXIubm9uZSI6IuayoeacieiuouWNleiusOW9lSIsImFjY291bnRzLmxhc3Rfb3JkZXIudmFsdWUiOiJ7Y291bnR9IOeslCDCtyB7YXR9IiwiY3JlZGVudGlhbC5leHBpcnkubGFiZWwiOiLlh63or4HliLDmnJ8iLCJjcmVkZW50aWFsLmV4cGlyeS5tYW5hZ2UiOiLnrqHnkIblh63or4EiLCJjcmVkZW50aWFsLmV4cGlyeS5ub25lIjoi5LiN6L+H5pyfIiwiY3JlZGVudGlhbC5leHBpcnkuc291cmNlIjoi5p2l5rqQ77yae3NvdXJjZX0iLCJjcmVkZW50aWFsLmV4cGlyeS5hdCI6IuWIsOacnyB7YXR9IiwiY3JlZGVudGlhbC5leHBpcnkuc291cmNlX21pc3NpbmciOiLmmoLml6DliLDmnJ/mnaXmupAiLCJjcmVkZW50aWFsLnBoYXNlLm5vdF9kdWUiOiLmnKrliLDmnJ8iLCJjcmVkZW50aWFsLnBoYXNlLjMwIjoiMzAg5aSp5YaFIiwiY3JlZGVudGlhbC5waGFzZS43IjoiNyDlpKnlhoUiLCJjcmVkZW50aWFsLnBoYXNlLjEiOiIxIOWkqeWGhSIsImNyZWRlbnRpYWwucGhhc2UuZXhwaXJlZCI6IuW3sui/h+acnyIsImNyZWRlbnRpYWwucGhhc2UudW5rbm93biI6IumYtuauteacquefpSIsImNyZWRlbnRpYWwua2luZC5vYXV0aF9yZWZyZXNoIjoiT0F1dGgg5Yi35paw5Luk54mMIiwiY3JlZGVudGlhbC5raW5kLmZsZXhfdG9rZW4iOiJGbGV4IOS7pOeJjCIsImNyZWRlbnRpYWwua2luZC5hY2Nlc3NfdG9rZW4iOiLorr/pl67ku6TniYwiLCJjcmVkZW50aWFsLmtpbmQuYXBpX2tleSI6IkFQSSDlr4bpkqUiLCJjcmVkZW50aWFsLmtpbmQucGFzc3dvcmQiOiLlr4bnoIEiLCJjcmVkZW50aWFsLmtpbmQuc2Vzc2lvbiI6IuS8muivnSIsImNyZWRlbnRpYWwua2luZC5vdGhlciI6IuWFtuS7liIsImNyZWRlbnRpYWwubmVlZC50aXRsZSI6IntsYWJlbH0g5Y2z5bCG5Yiw5pyfIiwiY3JlZGVudGlhbC5uZWVkLmV4cGlyZWQiOiJ7bGFiZWx9IOW3sui/h+acnyIsImNyZWRlbnRpYWwubmVlZC5kZXRhaWwiOiLpmLbmrrXvvJp7cGhhc2V977yb5Yiw5pyf77yae2F0feOAgiIsImNyZWRlbnRpYWwubmVlZC5hY3Rpb24iOiLmn6XnnIvlh63or4EiLCJjcmVkZW50aWFscy5leWVicm93Ijoi5Yet6K+B57u05oqkIiwiY3JlZGVudGlhbHMudGl0bGUiOiLlh63or4EiLCJjcmVkZW50aWFscy5ib2R5Ijoi5Y+q5pi+56S65Yiw5pyf5LiO6L2u5o2i54q25oCB77yb6L+Z6YeM5LiN6K+75Y+W44CB5LiN5Zue5pi+5Lu75L2V5a+G6ZKl44CCIiwiY3JlZGVudGlhbHMucmVtaW5kZXIudGl0bGUiOiLliLDmnJ/mj5DphpIiLCJjcmVkZW50aWFscy5yZW1pbmRlci5ub3RlIjoi5Y+q5pyJIDcg5aSp44CBMSDlpKnlkozlt7Lov4fmnJ/kvJrov5vlhaXigJzpnIDopoHkvaDlpITnkIbigJ3vvJszMCDlpKnlj6rmmK/mj5DphpLjgILmnKrnn6XkuI3kvJrnlJ/miJDlvoXlip7jgIIiLCJjcmVkZW50aWFscy5yZW1pbmRlci5ub3RfZHVlIjoi5pyq5Yiw5pyfIiwiY3JlZGVudGlhbHMucmVtaW5kZXIuMzAiOiIzMCDlpKkiLCJjcmVkZW50aWFscy5yZW1pbmRlci43IjoiNyDlpKkiLCJjcmVkZW50aWFscy5yZW1pbmRlci4xIjoiMSDlpKkiLCJjcmVkZW50aWFscy5yZW1pbmRlci5leHBpcmVkIjoi5bey6L+H5pyfIiwiY3JlZGVudGlhbHMucmVtaW5kZXIudW5rbm93biI6IuacquefpSIsImNyZWRlbnRpYWxzLmxpc3QudGl0bGUiOiLlhajpg6jlh63or4EiLCJjcmVkZW50aWFscy5saXN0LmVtcHR5Ijoi5rKh5pyJ5Y+v5pi+56S655qE5Yet6K+B44CCIiwiY3JlZGVudGlhbHMubGlzdC5sYXN0X3JvdGF0ZWQiOiLkuIrmrKHova7mjaIiLCJjcmVkZW50aWFscy5saXN0Lm5ldmVyX3JvdGF0ZWQiOiLku47mnKrova7mjaIiLCJjcmVkZW50aWFscy5saXN0LnJ1bmJvb2siOiLmk43kvZzmiYvlhowiLCJjcmVkZW50aWFscy5saXN0LnJvdGF0ZSI6Iui9ruaNoiIsImNyZWRlbnRpYWxzLmxpc3QubWFudWFsIjoi55m76K6w5Yiw5pyfIiwiY3JlZGVudGlhbHMubGlzdC5tYW51YWxfbm90ZSI6IuivpeWIuOWVhui/mOayoeacieWIsOacn+adpea6kO+8m+S6uuW3peeZu+iusOmcgOimgeeOsOacieaOpeWPo+aUr+aMge+8jOW9k+WJjeS4jeWPr+eUqOOAgiIsImNyZWRlbnRpYWxzLmxpc3Quc291cmNlX21pc3NpbmciOiLmmoLml6DliLDmnJ/mnaXmupAiLCJjcmVkZW50aWFscy5saXN0Lm5lZWRzIjoi6ZyA6KaB5L2g5aSE55CGIiwiY3JlZGVudGlhbHMubGlzdC5uZWVkc19lbXB0eSI6IuW9k+WJjeayoeacieWIsOacn+W+heWKnuOAgiIsImNyZWRlbnRpYWxzLmZsZXgudGl0bGUiOiJJQktSIEZsZXgg6L2u5o2iIiwiY3JlZGVudGlhbHMuZmxleC5ub3RlIjoi5Y+q5YaZ5YWl5Y+j77ya5LiN6K+75Y+W44CB5LiN5Zue5pi+5Lu75L2V5YC844CC5o+Q5Lqk5LuN6ZyA5LiA5qyh5oCn6aqM6K+B56CB44CCIiwiY3JlZGVudGlhbHMuZmxleC5sb2FkaW5nIjoi5q2j5Zyo5Yqg6L296L2u5o2i6Z2i5p2/4oCmIiwiY3JlZGVudGlhbHMubW9ja19ub3RlIjoi6aKE6KeI5pWw5o2u77ya5Yet6K+B5LiO6L2u5o2i54q25oCB5Z2H5Li65ZCI5oiQ5pWw5o2u44CCIiwib3ZlcnZpZXcuZXllYnJvdyI6Iui/kOihjOaAu+iniCIsIm92ZXJ2aWV3LnRpdGxlIjoi5oC76KeIIiwib3ZlcnZpZXcuYm9keSI6IuWFiOeci+mcgOimgeS9oOWkhOeQhueahOS6i+mhue+8m+acquefpeWSjOi/h+acn+S4jeS8muaYvuekuuaIkOato+W4uOOAgiIsIm92ZXJ2aWV3Lm5lZWRzLnRpdGxlIjoi6ZyA6KaB5L2g5aSE55CGIiwib3ZlcnZpZXcubmVlZHMuZW1wdHkiOiLlvZPliY3msqHmnInpnIDopoHkvaDlpITnkIbnmoTkuovpobnjgIIiLCJvdmVydmlldy5uZWVkcy51bmtub3duIjoi5pWw5o2u5LiN5paw6bKc77yM5pqC5pe25peg5rOV56Gu6K6k5piv5ZCm6ZyA6KaB5L2g5aSE55CG44CCIiwib3ZlcnZpZXcubmVlZHMuYWN0aW9uIjoi5omT5byAIiwic3RyYXRlZ2llcy5leWVicm93Ijoi562W55Wl5LiO5YiH5o2iIiwic3RyYXRlZ2llcy50aXRsZSI6IuWIh+aNoiIsInN0cmF0ZWdpZXMuYm9keSI6IuWFiOmAiei/kOihjOebruagh++8jOWGjemAieebruW9leetlueVpe+8jOafpeeci+W5s+WPsOeOsOeKtuS4juWIh+aNouWQjueahOW3ruW8guOAguWIh+aNouWwmuacquaOpemAmu+8jOS4jeS8muS4i+WNleOAgiIsInN0cmF0ZWdpZXMucnVubmluZy50aXRsZSI6Iui/kOihjOebruaghyIsInN0cmF0ZWdpZXMucnVubmluZy5lbXB0eSI6Iui/mOayoeacieWPr+WIh+aNoueahOi/kOihjOebruagh+OAgiIsInN0cmF0ZWdpZXMucnVubmluZy5jdXJyZW50Ijoi5b2T5YmN562W55WlIiwic3RyYXRlZ2llcy5ydW5uaW5nLm1vZGUiOiLmiafooYzmqKHlvI8iLCJzdHJhdGVnaWVzLnJ1bm5pbmcuc2VsZWN0Ijoi6YCJ5oup55uu5qCHIiwic3RyYXRlZ2llcy5ydW5uaW5nLnNlbGVjdGVkIjoi5bey6YCJ5oupIiwic3RyYXRlZ2llcy5jYXRhbG9nLnRpdGxlIjoi562W55Wl55uu5b2VIiwic3RyYXRlZ2llcy5jYXRhbG9nLmVtcHR5Ijoi6K+l55uu5qCH5rKh5pyJ5Y+v5pi+56S655qE55uu5b2V562W55Wl44CCIiwic3RyYXRlZ2llcy5maWx0ZXIuYWxsIjoi5YWo6YOoIiwic3RyYXRlZ2llcy5maWx0ZXIuZWxpZ2libGUiOiLlj6/nlKgiLCJzdHJhdGVnaWVzLmZpbHRlci5wYXBlciI6IuS7heaooeaLn+ebmCIsInN0cmF0ZWdpZXMuZmlsdGVyLmJsb2NrZWQiOiLlt7LpmLvmraIiLCJzdHJhdGVnaWVzLmZpbHRlci5jb3VudCI6Intjb3VudH0g6aG5Iiwic3RyYXRlZ2llcy5maWx0ZXIubGFiZWwiOiLnrZvpgInnrZbnlaUiLCJzdHJhdGVnaWVzLmNhcmQuc2VsZWN0Ijoi6YCJ5oup562W55WlIiwic3RyYXRlZ2llcy5jYXJkLnNlbGVjdGVkIjoi5bey6YCJ5oupIiwic3RyYXRlZ2llcy5jYXJkLmJsb2NrZWQiOiLlt7LpmLvmraIiLCJzdHJhdGVnaWVzLmNhcmQubm9fbGl2ZSI6IuS7heaooeaLn+ebmCIsInN0cmF0ZWdpZXMuY2FyZC5kb21haW4iOiLln5/vvJp7ZG9tYWlufSIsInN0cmF0ZWdpZXMuY2FyZC5tb2RlcyI6IuWFgeiuuOaooeW8j++8mnttb2Rlc30iLCJzdHJhdGVnaWVzLmNhcmQubGlmZWN5Y2xlIjoi55Sf5ZG95ZGo5pyf77yae3N0YWdlfSIsInN0cmF0ZWdpZXMuY2FyZC5yZWFzb24iOiLljp/lm6DvvJp7cmVhc29ufSIsInN0cmF0ZWdpZXMuY2FyZC5wcm9maWxlIjoi5qCH6K+GIiwic3RyYXRlZ2llcy5ub3ciOiLlubPlj7DnjrDnirYiLCJzdHJhdGVnaWVzLmFmdGVyIjoi5YiH5o2i5ZCO77yI6aKE6KeI77yJIiwic3RyYXRlZ2llcy5ub3cuY3VycmVudCI6IuW9k+WJjeetlueVpSIsInN0cmF0ZWdpZXMuYWZ0ZXIuc2VsZWN0ZWQiOiLlt7LpgInnrZbnlaUiLCJzdHJhdGVnaWVzLmFmdGVyLm5vbmUiOiLov5jmsqHmnInpgInmi6nnrZbnlaUiLCJzdHJhdGVnaWVzLmFmdGVyLm1vZGUiOiLmiafooYzmqKHlvI8iLCJzdHJhdGVnaWVzLmFmdGVyLm1vZGVfdW5rbm93biI6IuaooeW8j+acquefpSIsInN0cmF0ZWdpZXMuYWZ0ZXIuYmxvY2tlZCI6IuW3sumYu+atou+8mntyZWFzb259Iiwic3RyYXRlZ2llcy5hZnRlci5wcmV2aWV3X29ubHkiOiLku4XkuLrpooTop4jvvIzkuI3kvJrkuIvljZXjgIIiLCJzdHJhdGVnaWVzLnN0ZXBzLnRpdGxlIjoi5LqU5q2l5YiH5o2iIiwic3RyYXRlZ2llcy5zdGVwcy50YXJnZXQiOiLnm67moIciLCJzdHJhdGVnaWVzLnN0ZXBzLnN0cmF0ZWd5Ijoi562W55WlIiwic3RyYXRlZ2llcy5zdGVwcy5wcmV2aWV3Ijoi5beu5byC5LiO6aKE5qOAIiwic3RyYXRlZ2llcy5zdGVwcy5jb25maXJtIjoi56Gu6K6kIiwic3RyYXRlZ2llcy5zdGVwcy52ZXJpZnkiOiLpqozor4EiLCJzdHJhdGVnaWVzLnN0ZXBzLmN1cnJlbnQiOiLlvZPliY3mraXpqqQiLCJzdHJhdGVnaWVzLnN0ZXBzLm5vdF9lbmFibGVkIjoi6L+Z5LiA5q2l5bCa5pyq5ZCv55So44CCIiwic3RyYXRlZ2llcy5wcmV2aWV3LmFjdGlvbiI6IueUn+aIkOmihOiniCIsInN0cmF0ZWdpZXMuY29uZmlybS5hY3Rpb24iOiLnoa7orqTliIfmjaIiLCJzdHJhdGVnaWVzLmNvbmZpcm0ubm90X2VuYWJsZWQiOiLliIfmjaLlsJrmnKrmjqXpgJrvvIg0MDkgc3dpdGNoX25vdF9jb25uZWN0ZWTvvInvvIznoa7orqTmjInpkq7kv53mjIHnpoHnlKjjgIIiLCJzdHJhdGVnaWVzLmNvbmZpcm0uZm9yYmlkZGVuIjoi5b2T5YmN55m75b2V6Lqr5Lu95LiN6IO956Gu6K6k5YiH5o2i44CCIiwic3RyYXRlZ2llcy5iYWNrIjoi5LiK5LiA5q2lIiwic3RyYXRlZ2llcy5yZXNldCI6IumHjeaWsOW8gOWniyIsInN0cmF0ZWdpZXMubW9ja19ub3RlIjoi6aKE6KeI5pWw5o2u77ya6L+Q6KGM55uu5qCH5LiO562W55Wl55uu5b2V5Z2H5Li65ZCI5oiQ5pWw5o2u44CCIiwic3RyYXRlZ2llcy50YXJnZXQudW5rbm93biI6Iuebruagh+acquefpSIsInN0cmF0ZWdpZXMucmVhc29uLnN3aXRjaF9ub3RfY29ubmVjdGVkIjoi5YiH5o2i5bCa5pyq5o6l6YCaIiwic3RyYXRlZ2llcy5yZWFzb24uYmxvY2tlZCI6IuebruW9leetlueVpeW3sumYu+atoiIsInN0cmF0ZWdpZXMucmVhc29uLnJlcXVlc3RfaW5fZmxpZ2h0Ijoi5bey5pyJ6K+35rGC6L+b6KGM5LitIiwic3RyYXRlZ2llcy5yZWFzb24ubm9fZG9tYWluX2RlY2xhcmVkIjoi5pyq5aOw5piO562W55Wl5Z+fIiwic3RyYXRlZ2llcy5yZWFzb24uaWRlbnRpdHlfaW5jb21wbGV0ZSI6Iui6q+S7veS/oeaBr+S4jeWujOaVtCJ9LGtuPXsiYWdlLnMiOiJ7c30gcyIsImFnZS5tIjoie219IG1pbiIsImFnZS5obSI6IntofSBoIHttfSBtIiwiYWdlLmRoIjoie2R9IGQge2h9IGgiLCJhZ2UuYWdvIjoie2FnZX0gYWdvIiwiY2xvY2sudXRjIjoie3RpbWV9IFVUQyIsIndlZWtkYXkuMCI6IlN1biIsIndlZWtkYXkuMSI6Ik1vbiIsIndlZWtkYXkuMiI6IlR1ZSIsIndlZWtkYXkuMyI6IldlZCIsIndlZWtkYXkuNCI6IlRodSIsIndlZWtkYXkuNSI6IkZyaSIsIndlZWtkYXkuNiI6IlNhdCIsImRhdGUubW9udGhfZGF5Ijoie3dlZWtkYXl9IHtkYXl9IHttb250aH0iLCJyZWFkLnVua25vd24iOiJVbmtub3duIiwicmVhZC51bmtub3duX21hcmsiOiI/IiwicmVhZC5zdGFsZSI6IlN0YWxlIMK3IHthZ2V9IGFnbyIsInJlYWQucmVhc29uLm5ldmVyX3JlYWQiOiJOZXZlciByZWFkIiwicmVhZC5yZWFzb24ucmVhZF9mYWlsZWQiOiJSZWFkIGZhaWxlZCIsInJlYWQucmVhc29uLnNvdXJjZV91bmF2YWlsYWJsZSI6IlNvdXJjZSB1bmF2YWlsYWJsZSIsInJlYWQucmVhc29uLmlkZW50aXR5X3VudmVyaWZpZWQiOiJJZGVudGl0eSB1bnZlcmlmaWVkIiwicmVhZC5yZWFzb24ubm90X3N1cHBvcnRlZCI6Ik5vdCBzdXBwb3J0ZWQiLCJyZWFkLnJlYXNvbi5pbnN1ZmZpY2llbnRfaGlzdG9yeSI6Ik5vdCBlbm91Z2ggaGlzdG9yeSIsInJlYWQucmVhc29uLm90aGVyIjoiVW5rbm93biByZWFzb24iLCJyZWFkLnVua25vd25fbm90X3N0b3BwZWQiOiJVbmtub3duIGlzIG5vdCBzdG9wcGVkIiwicnVudGltZS5ydW5uaW5nIjoiUnVubmluZyIsInJ1bnRpbWUuc3RvcHBlZCI6IlN0b3BwZWQiLCJydW50aW1lLnVua25vd24iOiJSdW50aW1lIHVua25vd24iLCJjb25maWcuc3luY2VkIjoiU2F2ZWQgPSBQbGF0Zm9ybSIsImNvbmZpZy5kcmlmdCI6IkRyaWZ0IMK3IHtjb3VudH0iLCJjb25maWcudW5rbm93biI6IkNvbmZpZyB1bmtub3duIiwiY29tcGFyZS5tYXRjaCI6Ik1hdGNoIiwiY29tcGFyZS5kcmlmdCI6IkRyaWZ0IiwiY29tcGFyZS51bmtub3duIjoiVW5rbm93biIsIm1vZGUubGl2ZSI6IkxpdmUiLCJtb2RlLnBhcGVyIjoiUGFwZXIiLCJtb2RlLmRyeV9ydW4iOiJEcnkgcnVuIiwic2V2ZXJpdHkuY3JpdGljYWwiOiJDcml0aWNhbCIsInNldmVyaXR5Lndhcm5pbmciOiJXYXJuaW5nIiwic2V2ZXJpdHkuaW5mbyI6IkluZm8iLCJmcmVzaG5lc3MucmVhZHkiOiJBbGwgZmVlZHMgZnJlc2ggwrcge2FnZX0gYWdvIiwiZnJlc2huZXNzLnN0YWxlIjoiRGF0YSBpcyBzdGFsZSDCtyB7YWdlfSBhZ28iLCJmcmVzaG5lc3MudW5hdmFpbGFibGUiOiJEYXRhIHVuYXZhaWxhYmxlIiwiYmFzaXMubmF0aXZlX2lia3JfdHdyIjoiVGltZS13ZWlnaHRlZCAoSUJLUikiLCJiYXNpcy5uYXZfY2hhbmdlX3VuYWRqdXN0ZWQiOiJOQVYgY2hhbmdlLCBub3QgY2FzaC1mbG93IGFkanVzdGVkIiwiYmFzaXMubWl4ZWQiOiJNaXhlZCBiYXNpcyIsImJhc2lzLnVuYXZhaWxhYmxlIjoiUmV0dXJuIGJhc2lzIHVuYXZhaWxhYmxlIiwiZHJhd2Rvd24ub2siOiJEcmF3ZG93biBPSyIsImRyYXdkb3duLm5lYXJfbGltaXQiOiJEcmF3ZG93biBuZWFyIGxpbWl0IiwiZHJhd2Rvd24uYnJlYWNoZWQiOiJEcmF3ZG93biBvdmVyIGxpbWl0IiwiZHJhd2Rvd24udW5rbm93biI6IkRyYXdkb3duIHVua25vd24iLCJtb2NrLmJhZGdlIjoiTW9jayBkYXRhIiwic2hlbGwuYnJhbmQiOiJRdWFudFN0cmF0ZWd5TGFiIiwic2hlbGwubmF2X2xhYmVsIjoiTWFpbiBuYXZpZ2F0aW9uIiwibmF2Lm92ZXJ2aWV3IjoiT3ZlcnZpZXciLCJuYXYuYWNjb3VudHMiOiJBY2NvdW50cyIsIm5hdi5zd2l0Y2giOiJTd2l0Y2giLCJuYXYucGVyZm9ybWFuY2UiOiJQZXJmb3JtYW5jZSIsIm5hdi5hbGVydHMiOiJBbGVydHMiLCJuYXYubG9ncyI6IkxvZ3MiLCJuYXYuaG90a2V5IjoiU2hvcnRjdXQge2tleX0iLCJuYXYuYWxlcnRfYmFkZ2UiOiJ7Y291bnR9IG9wZW4gYWxlcnRzIiwiZ2F0ZXdheS5hbGxfcmVhY2hhYmxlIjoiR2F0ZXdheXMgcmVhY2hhYmxlIiwiZ2F0ZXdheS5kZWdyYWRlZCI6IkdhdGV3YXlzIGRlZ3JhZGVkIiwiZ2F0ZXdheS5kb3duIjoiR2F0ZXdheXMgZG93biIsImdhdGV3YXkuc3RhbGUiOiJHYXRld2F5IGRhdGEgc3RhbGUgwrcge2FnZX0gYWdvIiwiZ2F0ZXdheS51bmtub3duIjoiR2F0ZXdheSBzdGF0ZSB1bmtub3duIiwiZ2F0ZXdheS5sb2FkaW5nIjoiUmVhZGluZyBydW50aW1lIHN0YXRlIiwiZ2F0ZXdheS5mYWlsZWQiOiJSdW50aW1lIHN0YXRlIHJlYWQgZmFpbGVkIiwiY2xvY2subG9jYWwiOiJ7dGltZX0gVVRDIMK3IGxvY2FsIGNsb2NrIiwibGFuZy5sYWJlbCI6IkludGVyZmFjZSBsYW5ndWFnZSIsInRoZW1lLnRvX2RhcmsiOiJTd2l0Y2ggdG8gZGFyayIsInRoZW1lLnRvX2xpZ2h0IjoiU3dpdGNoIHRvIGxpZ2h0IiwibW9jay5zY2VuYXJpbyI6Ik1vY2sgZGF0YSDCtyB7c2NlbmFyaW99IiwibW9jay50aXRsZSI6IlRoaXMgaXMgZXhhbXBsZSBkYXRhLCBub3QgeW91ciBhY2NvdW50cy4iLCJhY2Nlc3MudGl0bGUiOiJTaWduIGluIHJlcXVpcmVkIiwiYWNjZXNzLmJvZHkiOiJTaWduIGluIHRvIG9wZW4gdGhlIGNvbnNvbGUuIiwiYWNjZXNzLmV5ZWJyb3ciOiJBY2Nlc3MiLCJhY2Nlc3MuZGVuaWVkX3RpdGxlIjoiTm8gcGVybWlzc2lvbiIsImFjY2Vzcy5kZW5pZWQiOiJUaGlzIHNpZ24taW4gZG9lcyBub3QgaGF2ZSBhY2Nlc3MuIiwiYWNjZXNzLmRlbmllZF9ub3RlIjoiQWNjZXNzIGlzIGNoZWNrZWQgZm9yIHRoaXMgc2lnbi1pbjsgYXNrIHRoZSBvd25lciB0byBncmFudCBpdC4iLCJhY2Nlc3MubG9naW4iOiJTaWduIGluIiwiYWNjZXNzLnJldHJ5IjoiUmV0cnkiLCJhY2Nlc3MuZXJyb3JfdGl0bGUiOiJDYW5ub3QgY29uZmlybSBhY2Nlc3MiLCJhY2Nlc3MuZXJyb3IiOiJDb3VsZCBub3QgcmVhZCB0aGUgc2lnbi1pbiBzdGF0ZS4iLCJhY2Nlc3MubG9hZGluZyI6IkNoZWNraW5nIHNpZ24taW7igKYiLCJhY2Nlc3MuYWN0aW9uX2RlbmllZF90aXRsZSI6IkFjdGlvbiB1bmF2YWlsYWJsZSIsImFjY2Vzcy5hY3Rpb25fZGVuaWVkIjoiVGhpcyBzaWduLWluIGNhbm5vdCBwZXJmb3JtIHRoaXMgYWN0aW9uLiIsImFjY2Vzcy5hY3Rpb25fZGVuaWVkX3JlYXNvbiI6IlJlYXNvbjoge3JlYXNvbn0iLCJzdHViLmV5ZWJyb3ciOiJBcnJpdmVzIGluIHBoYXNlIHtwaGFzZX0iLCJzdHViLnNvdXJjZXMiOiJEYXRhIGVuZHBvaW50cyIsInN0dWIucGxhbm5lZCI6IlRoaXMgcGFnZSB3aWxsIHNob3ciLCJzdHViLm5vdGUiOiJUaGlzIGlzIHRoZSBza2VsZXRvbi4gSXQgc2hvd3Mgbm8gYWNjb3VudCBkYXRhIHlldCBhbmQgc3RhcnRzIG5vIGFjdGlvbi4iLCJwYWdlLm92ZXJ2aWV3LmhlYWRsaW5lIjoiT25lIHNlbnRlbmNlLCBvbmUgbnVtYmVyLCBvbmUgdGhpbmcgdGhhdCBuZWVkcyB5b3UuIiwicGFnZS5vdmVydmlldy5ib2R5IjoiTkFWIGFuZCBpdHMgY3VydmUsIHdoYXQgbmVlZHMgeW91LCB0aGUgcmlzayBlbnZlbG9wZSwgYSBjYXJkIHBlciBzdHJhdGVneSBhbmQgdG9kYXkncyBydW5zLiIsInBhZ2Uub3ZlcnZpZXcucGFydHMiOiJOQVYgYW5kIGN1cnZlfE5lZWRzIHlvdXxSaXNrIGVudmVsb3BlfFN0cmF0ZWd5IGNhcmRzfFRvZGF5J3MgcnVucyIsInBhZ2UuYWNjb3VudHMuaGVhZGxpbmUiOiJPbmUgY2FyZCBwZXIgYnJva2VyLiBEcmlmdCBpbiBwbGFpbiBzaWdodC4iLCJwYWdlLmFjY291bnRzLmJvZHkiOiJCcm9rZXIgbGlua3MgYW5kIGNyZWRlbnRpYWxzLCBzYXZlZCB2cyBwbGF0Zm9ybSByZWFkLWJhY2sgZmllbGQgYnkgZmllbGQsIGhvbGRpbmdzIGFuZCBhY2NvdW50IGZhY3RzLiIsInBhZ2UuYWNjb3VudHMucGFydHMiOiJCcm9rZXIgaGVhbHRofFNhdmVkIHZzIHBsYXRmb3JtfEhvbGRpbmdzfEFjY291bnQgZmFjdHMiLCJwYWdlLnN3aXRjaC5oZWFkbGluZSI6IlN3aXRjaCBzYWZlbHkuIE5vIG9yZGVyIGlzIHBsYWNlZC4iLCJwYWdlLnN3aXRjaC5ib2R5IjoiRml2ZSBzdGVwczogdGFyZ2V0LCBzdHJhdGVneSwgZGlmZiBhbmQgcHJlLWZsaWdodCwgY29uZmlybSB3aXRoIHRoZSBhY2NvdW50IHN1ZmZpeCwgdmVyaWZ5IGJ5IHJlYWQtYmFjay4gU3dpdGNoaW5nIGlzIG5vdCBjb25uZWN0ZWQgeWV0LiIsInBhZ2Uuc3dpdGNoLnBhcnRzIjoiVGFyZ2V0fFN0cmF0ZWd5fERpZmYgYW5kIHByZS1mbGlnaHR8Q29uZmlybXxWZXJpZnl8U3RvcCBvbmx5IiwicGFnZS5wZXJmb3JtYW5jZS5oZWFkbGluZSI6Ik9ubHkgdGhlIGhpc3RvcnkgdGhhdCByZWFsbHkgZXhpc3RzLiIsInBhZ2UucGVyZm9ybWFuY2UuYm9keSI6IlJldHVybiBiYXNpcywga2V5IG1ldHJpY3MsIHBvcnRmb2xpbyB2cyBiZW5jaG1hcmssIG1vbnRobHkgcmV0dXJucyBhbmQgY29udHJpYnV0aW9uIGJ5IHN0cmF0ZWd5LiIsInBhZ2UucGVyZm9ybWFuY2UucGFydHMiOiJSZXR1cm4gYmFzaXN8S2V5IG1ldHJpY3N8UG9ydGZvbGlvIHZzIGJlbmNobWFya3xNb250aGx5IHJldHVybnN8Q29udHJpYnV0aW9uIiwicGFnZS5hbGVydHMuaGVhZGxpbmUiOiJPbmx5IHRoZSBleGNlcHRpb25zIHdvcnRoIHlvdXIgYXR0ZW50aW9uLiIsInBhZ2UuYWxlcnRzLmJvZHkiOiJPcGVuIGFuZCByZWNlbnQgYWxlcnRzIGZpbHRlcmVkIGJ5IHNldmVyaXR5LCBwbHVzIGhvdyBhbGVydHMgYXJlIGRlbGl2ZXJlZC4iLCJwYWdlLmFsZXJ0cy5wYXJ0cyI6IlNldmVyaXR5IGZpbHRlcnxPcGVuIGFuZCByZWNlbnR8RGVsaXZlcnkiLCJwYWdlLmxvZ3MuaGVhZGxpbmUiOiJSdW5zIGFuZCBsb2dzLCBzaG93biBhcyBwbGFpbiB0ZXh0LiIsInBhZ2UubG9ncy5ib2R5IjoiVG9kYXkncyBtYXJrZXQgc2Vzc2lvbnMgYW5kIHJ1biB0YXBlLCBhbmQgYSBsaXZlIGxvZyB5b3UgY2FuIGZpbHRlciBhbmQgcGF1c2UuIiwicGFnZS5sb2dzLnBhcnRzIjoiTWFya2V0IHNlc3Npb25zfFJ1biB0YXBlfExvZyBmaWx0ZXJzfExpdmUgdGFpbCIsInBlcmYuY2hhcnQudGl0bGUiOiJDdW11bGF0aXZlIHJldHVybiIsInBlcmYuY2hhcnQuYXJpYSI6IkN1bXVsYXRpdmUgcmV0dXJuIG9mIHRoZSBwb3J0Zm9saW8gYW5kIHRoZSBzZWxlY3RlZCBiZW5jaG1hcmtzIiwicGVyZi5wb3J0Zm9saW8iOiJQb3J0Zm9saW8iLCJwZXJmLmJlbmNoLnNweCI6IlMmUCA1MDAiLCJwZXJmLmJlbmNoLm5keCI6Ik5hc2RhcS0xMDAiLCJwZXJmLmJlbmNoLnJ1dCI6IlJ1c3NlbGwgMjAwMCIsInBlcmYuYmVuY2guZGppIjoiRG93IEpvbmVzIiwicGVyZi5iZW5jaC5zb3giOiJTT1ggKHZpYSBTT1hYKSIsInBlcmYuYmVuY2gud29ybGQiOiJNU0NJIFdvcmxkICh2aWEgVVJUSCkiLCJwZXJmLmJlbmNoLmVtIjoiTVNDSSBFTSAodmlhIEVFTSkiLCJwZXJmLmJlbmNoLmdyb3VwIjoiQmVuY2htYXJrcyIsInBlcmYubW9yZSI6Ik1vcmUgYmVuY2htYXJrcyIsInBlcmYubW9yZS5ub3RlIjoiVGhlc2UgYXJlIEVURiBwcmljZS1yZXR1cm4gcHJveGllcywgbm90IHRoZSBpbmRpY2VzIHRoZW1zZWx2ZXMuIiwicGVyZi5oaWRkZW4iOiJoaWRkZW4iLCJwZXJmLnVuYXZhaWxhYmxlIjoiRGF0YSB1bmF2YWlsYWJsZSIsInBlcmYuZnJvbSI6IkZyb20ge2RhdGV9IiwicGVyZi50YWJsZS50aXRsZSI6IkJlbmNobWFyayBjb21wYXJpc29uIiwicGVyZi5jb2wubmFtZSI6IlNlcmllcyIsInBlcmYuY29sLnJldHVybiI6IlJldHVybiIsInBlcmYuY29sLmNhZ3IiOiJDQUdSIiwicGVyZi5jb2wubWRkIjoiTWF4IGRyYXdkb3duIiwicGVyZi5jb2wuZXhjZXNzIjoiRXhjZXNzIHJldHVybiAocHRzKSIsInBlcmYucHRzIjoicHRzIiwicGVyZi5leGNlc3Mubm90ZSI6IkV4Y2VzcyByZXR1cm4gPSBwb3J0Zm9saW8gcmV0dXJuIOKIkiBiZW5jaG1hcmsgcmV0dXJuLCBpbiBwZXJjZW50YWdlIHBvaW50cywgb3ZlciB0aGUgc2FtZSB3aW5kb3cuIFNob3duIG9ubHkgd2hlbiBib3RoIGNvdmVyIHRoZSB3aG9sZSB3aW5kb3cuIiwicGVyZi5rcGkuY2FnciI6IkNBR1IiLCJwZXJmLmtwaS52c19zcHgiOiJ7ZH0gcHRzIHZzIFMmUCA1MDAiLCJwZXJmLmtwaS52c191bmF2YWlsYWJsZSI6IlMmUCA1MDAgY29tcGFyaXNvbiB1bmF2YWlsYWJsZSIsInBlcmYuZm9vdCI6IkJlbmNobWFya3MgYXJlIEVURiBwcm94aWVzIMK3IHtiYXNpc30gwrcgYXMgb2Yge2RhdGV9IiwicGVyZi5mb290Lm5vbmUiOiJObyBiZW5jaG1hcmsgaGFzIGRhdGEgZm9yIHRoaXMgd2luZG93LiIsInBlcmYuYmFzaXMuZXRmX2Nsb3NlX3ByaWNlX3JldHVybiI6InVuYWRqdXN0ZWQgY2xvc2UgcHJpY2UgcmV0dXJuLCBkaXZpZGVuZHMgbm90IHJlaW52ZXN0ZWQiLCJwZXJmLmZldGNoX2ZhaWxlZCI6IkJlbmNobWFyayBkYXRhIGNvdWxkIG5vdCBiZSBsb2FkZWQuIFRoZSBwb3J0Zm9saW8gaXMgc2hvd24gYWxvbmUuIiwicGVyZi5wb3J0Zm9saW9fdW5hdmFpbGFibGUiOiJQb3J0Zm9saW8gaGlzdG9yeSBpcyB1bmF2YWlsYWJsZSwgc28gbm8gY29tcGFyaXNvbiBpcyBzaG93bi4iLCJwZXJmLmxvYWRpbmciOiJMb2FkaW5nIHBlcmZvcm1hbmNl4oCmIiwicGVyZi5tb2NrX25vdGUiOiJQcmV2aWV3IGRhdGE6IHRoZSBwb3J0Zm9saW8gYW5kIGJlbmNobWFyayBjdXJ2ZXMgb24gdGhpcyBwYWdlIGFyZSBzeW50aGV0aWMuIiwicGVyZi5yZWFkb3V0Lm5vbmUiOiJIb3ZlciwgdG91Y2ggb3IgZm9jdXMgdGhlIGNoYXJ0IHRvIHJlYWQgdmFsdWVzLiIsInN0YXRlcy5sb2FkaW5nIjoiUmVhZGluZ+KApiIsInN0YXRlcy5sb2FkaW5nX3NrZWxldG9uIjoiUmVhZGluZyBkYXRhIiwic3RhdGVzLmVtcHR5X3RpdGxlIjoiRW1wdHkiLCJzdGF0ZXMuZW1wdHkiOiJOb3RoaW5nIHRvIHNob3cuIiwic3RhdGVzLmVycm9yX3RpdGxlIjoiUmVhZCBmYWlsZWQiLCJzdGF0ZXMuZXJyb3IiOiJUaGUgcmVhZCBmYWlsZWQuIFlvdSBjYW4gcmV0cnkuIiwic3RhdGVzLnJldHJ5IjoiUmV0cnkiLCJzdGF0ZXMucmVhZF9mYWlsZWRfYWZ0ZXIiOiJObyBhbnN3ZXIgd2l0aGluIDEwIHMsIHNvIHRoaXMgaXMgdHJlYXRlZCBhcyBhIHJlYWQgZmFpbHVyZS4iLCJzdGF0ZXMuc3RhbGUiOiJEYXRhIGlzIHN0YWxlIMK3IHthZ2V9IGFnbyIsInN0YXRlcy5wYXJ0aWFsX2RldGFpbCI6IkluY2x1ZGVkIHtpbmNsdWRlZH0gb2Yge3RvdGFsfTsgbWlzc2luZyBpdGVtcyBzdGF5IHVua25vd24uIiwic3RhdGVzLmZyZXNobmVzcy5sb2FkaW5nIjoiUmVhZGluZyBkYXRhIGZyZXNobmVzcyIsInN0YXRlcy5mcmVzaG5lc3MucmVhZHkiOiJEYXRhIGlzIGZyZXNoIMK3IHthZ2V9IGFnbyIsInN0YXRlcy5mcmVzaG5lc3Muc3RhbGUiOiJEYXRhIGlzIHN0YWxlIMK3IHthZ2V9IGFnbyIsInN0YXRlcy5mcmVzaG5lc3MudW5hdmFpbGFibGUiOiJEYXRhIGZyZXNobmVzcyB1bmtub3duIiwic3RhdGVzLmZyZXNobmVzcy5mYWlsZWQiOiJGcmVzaG5lc3MgcmVhZCBmYWlsZWQiLCJhY2NvdW50cy5leWVicm93IjoiQWNjb3VudHMgYW5kIGNyZWRlbnRpYWxzIiwiYWNjb3VudHMudGl0bGUiOiJBY2NvdW50cyIsImFjY291bnRzLmJvZHkiOiJPbmUgY2FyZCBwZXIgYnJva2VyOiBjb25uZWN0aXZpdHksIGNyZWRlbnRpYWwgZXhwaXJ5LCBjb25maWcgYW5kIGxhc3Qgb3JkZXIuIENyZWRlbnRpYWxzIGhhdmUgdGhlaXIgb3duIHRhYi4iLCJhY2NvdW50cy50YWJzLmJyb2tlcnMiOiJCcm9rZXJzIiwiYWNjb3VudHMudGFicy5jcmVkZW50aWFscyI6IkNyZWRlbnRpYWxzIiwiYWNjb3VudHMuYnJva2Vycy5lbXB0eSI6Ik5vIGJyb2tlciBhY2NvdW50IHRvIHNob3cgeWV0LiIsImFjY291bnRzLmJyb2tlci50YXJnZXRzIjoiUnVubmluZyB0YXJnZXRzIiwiYWNjb3VudHMuYnJva2VyLmNvbm5lY3Rpdml0eSI6IkNvbm5lY3Rpdml0eSIsImFjY291bnRzLmJyb2tlci5oZWFydGJlYXQiOiJIZWFydGJlYXQiLCJhY2NvdW50cy5icm9rZXIuZnJlc2huZXNzIjoiRGF0YSBmcmVzaG5lc3MiLCJhY2NvdW50cy5icm9rZXIuY29uZmlnIjoiQ29uZmlnIiwiYWNjb3VudHMuYnJva2VyLmxhc3Rfb3JkZXIiOiJMYXN0IG9yZGVyIiwiYWNjb3VudHMuYnJva2VyLnN3aXRjaCI6IlN3aXRjaCBzdHJhdGVneSIsImFjY291bnRzLmJyb2tlci5vcGVuIjoiT3BlbiBhY2NvdW50IiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LnVwIjoiQ29ubmVjdGVkIiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LmRlZ3JhZGVkIjoiRGVncmFkZWQiLCJhY2NvdW50cy5jb25uZWN0aXZpdHkuZG93biI6IlVucmVhY2hhYmxlIiwiYWNjb3VudHMuY29ubmVjdGl2aXR5LnVua25vd24iOiJDb25uZWN0aXZpdHkgdW5rbm93biIsImFjY291bnRzLmxhc3Rfb3JkZXIubm9uZSI6Ik5vIG9yZGVyIHJlY29yZCIsImFjY291bnRzLmxhc3Rfb3JkZXIudmFsdWUiOiJ7Y291bnR9IG9yZGVycyDCtyB7YXR9IiwiY3JlZGVudGlhbC5leHBpcnkubGFiZWwiOiJDcmVkZW50aWFsIGV4cGlyeSIsImNyZWRlbnRpYWwuZXhwaXJ5Lm1hbmFnZSI6Ik1hbmFnZSBjcmVkZW50aWFscyIsImNyZWRlbnRpYWwuZXhwaXJ5Lm5vbmUiOiJEb2VzIG5vdCBleHBpcmUiLCJjcmVkZW50aWFsLmV4cGlyeS5zb3VyY2UiOiJTb3VyY2U6IHtzb3VyY2V9IiwiY3JlZGVudGlhbC5leHBpcnkuYXQiOiJFeHBpcmVzIHthdH0iLCJjcmVkZW50aWFsLmV4cGlyeS5zb3VyY2VfbWlzc2luZyI6Ik5vIGV4cGlyeSBzb3VyY2UgeWV0IiwiY3JlZGVudGlhbC5waGFzZS5ub3RfZHVlIjoiTm90IGR1ZSIsImNyZWRlbnRpYWwucGhhc2UuMzAiOiJXaXRoaW4gMzAgZGF5cyIsImNyZWRlbnRpYWwucGhhc2UuNyI6IldpdGhpbiA3IGRheXMiLCJjcmVkZW50aWFsLnBoYXNlLjEiOiJXaXRoaW4gMSBkYXkiLCJjcmVkZW50aWFsLnBoYXNlLmV4cGlyZWQiOiJFeHBpcmVkIiwiY3JlZGVudGlhbC5waGFzZS51bmtub3duIjoiUGhhc2UgdW5rbm93biIsImNyZWRlbnRpYWwua2luZC5vYXV0aF9yZWZyZXNoIjoiT0F1dGggcmVmcmVzaCB0b2tlbiIsImNyZWRlbnRpYWwua2luZC5mbGV4X3Rva2VuIjoiRmxleCB0b2tlbiIsImNyZWRlbnRpYWwua2luZC5hY2Nlc3NfdG9rZW4iOiJBY2Nlc3MgdG9rZW4iLCJjcmVkZW50aWFsLmtpbmQuYXBpX2tleSI6IkFQSSBrZXkiLCJjcmVkZW50aWFsLmtpbmQucGFzc3dvcmQiOiJQYXNzd29yZCIsImNyZWRlbnRpYWwua2luZC5zZXNzaW9uIjoiU2Vzc2lvbiIsImNyZWRlbnRpYWwua2luZC5vdGhlciI6Ik90aGVyIiwiY3JlZGVudGlhbC5uZWVkLnRpdGxlIjoie2xhYmVsfSBleHBpcmVzIHNvb24iLCJjcmVkZW50aWFsLm5lZWQuZXhwaXJlZCI6IntsYWJlbH0gaGFzIGV4cGlyZWQiLCJjcmVkZW50aWFsLm5lZWQuZGV0YWlsIjoiUGhhc2U6IHtwaGFzZX07IGV4cGlyZXM6IHthdH0uIiwiY3JlZGVudGlhbC5uZWVkLmFjdGlvbiI6Ik9wZW4gY3JlZGVudGlhbHMiLCJjcmVkZW50aWFscy5leWVicm93IjoiQ3JlZGVudGlhbCBtYWludGVuYW5jZSIsImNyZWRlbnRpYWxzLnRpdGxlIjoiQ3JlZGVudGlhbHMiLCJjcmVkZW50aWFscy5ib2R5IjoiRXhwaXJ5IGFuZCByb3RhdGlvbiBzdGF0ZSBvbmx5OyBubyBrZXkgaXMgcmVhZCBvciBlY2hvZWQgaGVyZS4iLCJjcmVkZW50aWFscy5yZW1pbmRlci50aXRsZSI6IkV4cGlyeSByZW1pbmRlcnMiLCJjcmVkZW50aWFscy5yZW1pbmRlci5ub3RlIjoiT25seSA3IGRheXMsIDEgZGF5IGFuZCBleHBpcmVkIGNyZWF0ZSBhIE5lZWRzLXlvdSBpdGVtOyAzMCBkYXlzIGlzIGFuIGFsZXJ0LiBVbmtub3duIGNyZWF0ZXMgbm8gaXRlbS4iLCJjcmVkZW50aWFscy5yZW1pbmRlci5ub3RfZHVlIjoiTm90IGR1ZSIsImNyZWRlbnRpYWxzLnJlbWluZGVyLjMwIjoiMzAgZGF5cyIsImNyZWRlbnRpYWxzLnJlbWluZGVyLjciOiI3IGRheXMiLCJjcmVkZW50aWFscy5yZW1pbmRlci4xIjoiMSBkYXkiLCJjcmVkZW50aWFscy5yZW1pbmRlci5leHBpcmVkIjoiRXhwaXJlZCIsImNyZWRlbnRpYWxzLnJlbWluZGVyLnVua25vd24iOiJVbmtub3duIiwiY3JlZGVudGlhbHMubGlzdC50aXRsZSI6IkFsbCBjcmVkZW50aWFscyIsImNyZWRlbnRpYWxzLmxpc3QuZW1wdHkiOiJObyBjcmVkZW50aWFsIHRvIHNob3cuIiwiY3JlZGVudGlhbHMubGlzdC5sYXN0X3JvdGF0ZWQiOiJMYXN0IHJvdGF0ZWQiLCJjcmVkZW50aWFscy5saXN0Lm5ldmVyX3JvdGF0ZWQiOiJOZXZlciByb3RhdGVkIiwiY3JlZGVudGlhbHMubGlzdC5ydW5ib29rIjoiUnVuYm9vayIsImNyZWRlbnRpYWxzLmxpc3Qucm90YXRlIjoiUm90YXRlIiwiY3JlZGVudGlhbHMubGlzdC5tYW51YWwiOiJFbnRlciBleHBpcnkiLCJjcmVkZW50aWFscy5saXN0Lm1hbnVhbF9ub3RlIjoiVGhpcyBicm9rZXIgaGFzIG5vIGV4cGlyeSBzb3VyY2U7IG1hbnVhbCBlbnRyeSBuZWVkcyBhbiBleGlzdGluZyBBUEkgYW5kIGlzIG5vdCBhdmFpbGFibGUgeWV0LiIsImNyZWRlbnRpYWxzLmxpc3Quc291cmNlX21pc3NpbmciOiJObyBleHBpcnkgc291cmNlIHlldCIsImNyZWRlbnRpYWxzLmxpc3QubmVlZHMiOiJOZWVkcyB5b3UiLCJjcmVkZW50aWFscy5saXN0Lm5lZWRzX2VtcHR5IjoiTm8gY3JlZGVudGlhbCBuZWVkcyB5b3UgcmlnaHQgbm93LiIsImNyZWRlbnRpYWxzLmZsZXgudGl0bGUiOiJJQktSIEZsZXggcm90YXRpb24iLCJjcmVkZW50aWFscy5mbGV4Lm5vdGUiOiJXcml0ZS1vbmx5IGVudHJ5OiBubyB2YWx1ZSBpcyByZWFkIG9yIGVjaG9lZC4gU3VibWlzc2lvbiBzdGlsbCBuZWVkcyBhIG9uZS10aW1lIGNvZGUuIiwiY3JlZGVudGlhbHMuZmxleC5sb2FkaW5nIjoiTG9hZGluZyByb3RhdGlvbiBwYW5lbOKApiIsImNyZWRlbnRpYWxzLm1vY2tfbm90ZSI6IlByZXZpZXcgZGF0YTogY3JlZGVudGlhbCBhbmQgcm90YXRpb24gc3RhdGUgYXJlIHN5bnRoZXRpYy4iLCJvdmVydmlldy5leWVicm93IjoiT3ZlcnZpZXciLCJvdmVydmlldy50aXRsZSI6Ik92ZXJ2aWV3Iiwib3ZlcnZpZXcuYm9keSI6IlN0YXJ0IHdpdGggd2hhdCBuZWVkcyB5b3U7IHVua25vd24gYW5kIGV4cGlyZWQgbmV2ZXIgcmVhZCBhcyBub3JtYWwuIiwib3ZlcnZpZXcubmVlZHMudGl0bGUiOiJOZWVkcyB5b3UiLCJvdmVydmlldy5uZWVkcy5lbXB0eSI6Ik5vdGhpbmcgbmVlZHMgeW91IHJpZ2h0IG5vdy4iLCJvdmVydmlldy5uZWVkcy51bmtub3duIjoiRGF0YSBpcyBub3QgZnJlc2gsIHNvIGl0IGNhbm5vdCBjb25maXJtIHdoZXRoZXIgYW55dGhpbmcgbmVlZHMgeW91LiIsIm92ZXJ2aWV3Lm5lZWRzLmFjdGlvbiI6Ik9wZW4iLCJzdHJhdGVnaWVzLmV5ZWJyb3ciOiJTdHJhdGVnaWVzIGFuZCBzd2l0Y2giLCJzdHJhdGVnaWVzLnRpdGxlIjoiU3dpdGNoIiwic3RyYXRlZ2llcy5ib2R5IjoiQ2hvb3NlIGEgcnVubmluZyB0YXJnZXQsIHRoZW4gYSBjYXRhbG9nIHN0cmF0ZWd5LCBhbmQgY29tcGFyZSBwbGF0Zm9ybSBub3cgd2l0aCB0aGUgYWZ0ZXIgcHJldmlldy4gU3dpdGNoaW5nIGlzIG5vdCBjb25uZWN0ZWQgYW5kIHBsYWNlcyBubyBvcmRlci4iLCJzdHJhdGVnaWVzLnJ1bm5pbmcudGl0bGUiOiJSdW5uaW5nIHRhcmdldHMiLCJzdHJhdGVnaWVzLnJ1bm5pbmcuZW1wdHkiOiJObyBydW5uaW5nIHRhcmdldCB0byBzd2l0Y2ggeWV0LiIsInN0cmF0ZWdpZXMucnVubmluZy5jdXJyZW50IjoiQ3VycmVudCBzdHJhdGVneSIsInN0cmF0ZWdpZXMucnVubmluZy5tb2RlIjoiRXhlY3V0aW9uIG1vZGUiLCJzdHJhdGVnaWVzLnJ1bm5pbmcuc2VsZWN0IjoiU2VsZWN0IHRhcmdldCIsInN0cmF0ZWdpZXMucnVubmluZy5zZWxlY3RlZCI6IlNlbGVjdGVkIiwic3RyYXRlZ2llcy5jYXRhbG9nLnRpdGxlIjoiU3RyYXRlZ3kgY2F0YWxvZyIsInN0cmF0ZWdpZXMuY2F0YWxvZy5lbXB0eSI6IlRoaXMgdGFyZ2V0IGhhcyBubyBjYXRhbG9nIHN0cmF0ZWd5IHRvIHNob3cuIiwic3RyYXRlZ2llcy5maWx0ZXIuYWxsIjoiQWxsIiwic3RyYXRlZ2llcy5maWx0ZXIuZWxpZ2libGUiOiJFbGlnaWJsZSIsInN0cmF0ZWdpZXMuZmlsdGVyLnBhcGVyIjoiUGFwZXIgb25seSIsInN0cmF0ZWdpZXMuZmlsdGVyLmJsb2NrZWQiOiJCbG9ja2VkIiwic3RyYXRlZ2llcy5maWx0ZXIuY291bnQiOiJ7Y291bnR9Iiwic3RyYXRlZ2llcy5maWx0ZXIubGFiZWwiOiJGaWx0ZXIgc3RyYXRlZ2llcyIsInN0cmF0ZWdpZXMuY2FyZC5zZWxlY3QiOiJTZWxlY3Qgc3RyYXRlZ3kiLCJzdHJhdGVnaWVzLmNhcmQuc2VsZWN0ZWQiOiJTZWxlY3RlZCIsInN0cmF0ZWdpZXMuY2FyZC5ibG9ja2VkIjoiQmxvY2tlZCIsInN0cmF0ZWdpZXMuY2FyZC5ub19saXZlIjoiUGFwZXIgb25seSIsInN0cmF0ZWdpZXMuY2FyZC5kb21haW4iOiJEb21haW46IHtkb21haW59Iiwic3RyYXRlZ2llcy5jYXJkLm1vZGVzIjoiQWxsb3dlZCBtb2Rlczoge21vZGVzfSIsInN0cmF0ZWdpZXMuY2FyZC5saWZlY3ljbGUiOiJMaWZlY3ljbGU6IHtzdGFnZX0iLCJzdHJhdGVnaWVzLmNhcmQucmVhc29uIjoiUmVhc29uOiB7cmVhc29ufSIsInN0cmF0ZWdpZXMuY2FyZC5wcm9maWxlIjoiUHJvZmlsZSIsInN0cmF0ZWdpZXMubm93IjoiUGxhdGZvcm0gbm93Iiwic3RyYXRlZ2llcy5hZnRlciI6IkFmdGVyIChwcmV2aWV3KSIsInN0cmF0ZWdpZXMubm93LmN1cnJlbnQiOiJDdXJyZW50IHN0cmF0ZWd5Iiwic3RyYXRlZ2llcy5hZnRlci5zZWxlY3RlZCI6IlNlbGVjdGVkIHN0cmF0ZWd5Iiwic3RyYXRlZ2llcy5hZnRlci5ub25lIjoiTm8gc3RyYXRlZ3kgc2VsZWN0ZWQgeWV0Iiwic3RyYXRlZ2llcy5hZnRlci5tb2RlIjoiRXhlY3V0aW9uIG1vZGUiLCJzdHJhdGVnaWVzLmFmdGVyLm1vZGVfdW5rbm93biI6Ik1vZGUgdW5rbm93biIsInN0cmF0ZWdpZXMuYWZ0ZXIuYmxvY2tlZCI6IkJsb2NrZWQ6IHtyZWFzb259Iiwic3RyYXRlZ2llcy5hZnRlci5wcmV2aWV3X29ubHkiOiJQcmV2aWV3IG9ubHk7IG5vIG9yZGVyIGlzIHBsYWNlZC4iLCJzdHJhdGVnaWVzLnN0ZXBzLnRpdGxlIjoiRml2ZS1zdGVwIHN3aXRjaCIsInN0cmF0ZWdpZXMuc3RlcHMudGFyZ2V0IjoiVGFyZ2V0Iiwic3RyYXRlZ2llcy5zdGVwcy5zdHJhdGVneSI6IlN0cmF0ZWd5Iiwic3RyYXRlZ2llcy5zdGVwcy5wcmV2aWV3IjoiRGlmZiBhbmQgcHJlLWZsaWdodCIsInN0cmF0ZWdpZXMuc3RlcHMuY29uZmlybSI6IkNvbmZpcm0iLCJzdHJhdGVnaWVzLnN0ZXBzLnZlcmlmeSI6IlZlcmlmeSIsInN0cmF0ZWdpZXMuc3RlcHMuY3VycmVudCI6IkN1cnJlbnQgc3RlcCIsInN0cmF0ZWdpZXMuc3RlcHMubm90X2VuYWJsZWQiOiJUaGlzIHN0ZXAgaXMgbm90IGVuYWJsZWQgeWV0LiIsInN0cmF0ZWdpZXMucHJldmlldy5hY3Rpb24iOiJCdWlsZCBwcmV2aWV3Iiwic3RyYXRlZ2llcy5jb25maXJtLmFjdGlvbiI6IkNvbmZpcm0gc3dpdGNoIiwic3RyYXRlZ2llcy5jb25maXJtLm5vdF9lbmFibGVkIjoiU3dpdGNoaW5nIGlzIG5vdCBjb25uZWN0ZWQgKDQwOSBzd2l0Y2hfbm90X2Nvbm5lY3RlZCksIHNvIGNvbmZpcm0gc3RheXMgZGlzYWJsZWQuIiwic3RyYXRlZ2llcy5jb25maXJtLmZvcmJpZGRlbiI6IlRoaXMgc2lnbi1pbiBjYW5ub3QgY29uZmlybSBhIHN3aXRjaC4iLCJzdHJhdGVnaWVzLmJhY2siOiJCYWNrIiwic3RyYXRlZ2llcy5yZXNldCI6IlN0YXJ0IG92ZXIiLCJzdHJhdGVnaWVzLm1vY2tfbm90ZSI6IlByZXZpZXcgZGF0YTogcnVubmluZyB0YXJnZXRzIGFuZCB0aGUgY2F0YWxvZyBhcmUgc3ludGhldGljLiIsInN0cmF0ZWdpZXMudGFyZ2V0LnVua25vd24iOiJUYXJnZXQgdW5rbm93biIsInN0cmF0ZWdpZXMucmVhc29uLnN3aXRjaF9ub3RfY29ubmVjdGVkIjoiU3dpdGNoaW5nIGlzIG5vdCBjb25uZWN0ZWQiLCJzdHJhdGVnaWVzLnJlYXNvbi5ibG9ja2VkIjoiQ2F0YWxvZyBzdHJhdGVneSBpcyBibG9ja2VkIiwic3RyYXRlZ2llcy5yZWFzb24ucmVxdWVzdF9pbl9mbGlnaHQiOiJBIHJlcXVlc3QgaXMgYWxyZWFkeSBpbiBmbGlnaHQiLCJzdHJhdGVnaWVzLnJlYXNvbi5ub19kb21haW5fZGVjbGFyZWQiOiJObyBzdHJhdGVneSBkb21haW4gZGVjbGFyZWQiLCJzdHJhdGVnaWVzLnJlYXNvbi5pZGVudGl0eV9pbmNvbXBsZXRlIjoiSWRlbnRpdHkgaXMgaW5jb21wbGV0ZSJ9LFZlPXt6aDp3bixlbjprbn07ZnVuY3Rpb24gbmUoZSx0LHI9e30pe3JldHVybihWZVtlXVt0XT8/VmUuemhbdF0/P3QpLnJlcGxhY2UoL1x7KFx3KylcfS9nLChhLGkpPT5pIGluIHI/U3RyaW5nKHJbaV0pOmEpfWZ1bmN0aW9uIF9uKGUpe3JldHVybih0LHIpPT5uZShlLHQscil9ZnVuY3Rpb24gdm4oZSx0KXtpZihlPT09InpoInx8ZT09PSJ6aC1DTiIpcmV0dXJuInpoIjtpZihlPT09ImVuIilyZXR1cm4iZW4iO2Zvcihjb25zdCByIG9mIHQpe2lmKC9eemgoPzotfCQpL2kudGVzdChyKSlyZXR1cm4iemgiO2lmKC9eZW4oPzotfCQpL2kudGVzdChyKSlyZXR1cm4iZW4ifXJldHVybiJ6aCJ9ZnVuY3Rpb24gWihlLHQpe2lmKHR5cGVvZiBlIT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZShlKXx8ZTwwKXJldHVybiBudWxsO2NvbnN0IHI9TWF0aC5mbG9vcihlKSxzPU1hdGguZmxvb3Ioci84NjQwMCksYT1NYXRoLmZsb29yKHIlODY0MDAvMzYwMCksaT1NYXRoLmZsb29yKHIlMzYwMC82MCk7cmV0dXJuIHM+MD9uZSh0LCJhZ2UuZGgiLHtkOnMsaDpfZShhKX0pOmE+MD9uZSh0LCJhZ2UuaG0iLHtoOmEsbTpfZShpKX0pOmk+MD9uZSh0LCJhZ2UubSIse206aX0pOm5lKHQsImFnZS5zIix7czpyfSl9Y29uc3Qgam49L15cZHs0fS1cZHsyfS1cZHsyfVRcZHsyfTpcZHsyfTpcZHsyfSg/OlwuXGQrKT9aJC87ZnVuY3Rpb24gdWUoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmcifHwham4udGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBOdW1iZXIuaXNOYU4odC5nZXRUaW1lKCkpP251bGw6dH1jb25zdCBfZT1lPT5TdHJpbmcoZSkucGFkU3RhcnQoMiwiMCIpO2Z1bmN0aW9uIGN0KGUpe2NvbnN0IHQ9dWUoZSk7cmV0dXJuIHQ/YCR7X2UodC5nZXRVVENIb3VycygpKX06JHtfZSh0LmdldFVUQ01pbnV0ZXMoKSl9YDpudWxsfWNvbnN0IFNuPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gdXQoZSx0KXtjb25zdCByPXVlKGUpO2lmKCFyKXJldHVybiBudWxsO2NvbnN0IHM9bmUodCxgd2Vla2RheS4ke3IuZ2V0VVRDRGF5KCl9YCksYT10PT09InpoIj9TdHJpbmcoci5nZXRVVENNb250aCgpKzEpOlNuW3IuZ2V0VVRDTW9udGgoKV07cmV0dXJuIG5lKHQsImRhdGUubW9udGhfZGF5Iix7bW9udGg6YSxkYXk6ci5nZXRVVENEYXRlKCksd2Vla2RheTpzfSl9ZnVuY3Rpb24gTm4oZSx0KXtjb25zdCByPXVlKGUpO3JldHVybiByP3IuZ2V0VGltZSgpLXQ6bnVsbH1mdW5jdGlvbiBFbihlLHQpe3JldHVybiBuZXcgRGF0ZSh0KyhlPz8wKSkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9cLlxkezN9WiQvLCJaIil9ZnVuY3Rpb24gQW4oZSx0KXtjb25zdCByPXVlKGUpLHM9dWUodCk7cmV0dXJuIHImJnM/TWF0aC5mbG9vcigocy5nZXRUaW1lKCktci5nZXRUaW1lKCkpLzFlMyk6bnVsbH1jb25zdCB2ZT1bIm92ZXJ2aWV3IiwiYWNjb3VudHMiLCJzd2l0Y2giLCJwZXJmb3JtYW5jZSIsImFsZXJ0cyIsImxvZ3MiXSxSbj17c3RyYXRlZ3k6InN3aXRjaCIsaG9tZToib3ZlcnZpZXciLGxvZzoibG9ncyIsYWxlcnQ6ImFsZXJ0cyIsYWNjb3VudDoiYWNjb3VudHMiLHBlcmY6InBlcmZvcm1hbmNlIn0sVG49L14jXC9kZXNrKD86Wy8/XXwkKS87ZnVuY3Rpb24gQ24oZSl7cmV0dXJuIFRuLnRlc3QoZSl9ZnVuY3Rpb24gWWUoZSl7Y29uc3QgdD1lLnJlcGxhY2UoL14jXC9kZXNrXC8/LywiIiksW3Iscz0iIl09dC5zcGxpdCgiPyIsMiksYT0oci5zcGxpdCgiLyIpWzBdfHwib3ZlcnZpZXciKS50b0xvd2VyQ2FzZSgpO3JldHVybntwYWdlOnZlLmluY2x1ZGVzKGEpP2E6Um5bYV0/PyJvdmVydmlldyIscGFyYW1zOm5ldyBVUkxTZWFyY2hQYXJhbXMocyl9fWZ1bmN0aW9uIE1lKGUpe3JldHVybmAjL2Rlc2svJHtlfWB9ZnVuY3Rpb24gRG4oZSl7aWYoZS5hbHRLZXl8fGUuY3RybEtleXx8ZS5tZXRhS2V5KXJldHVybiBudWxsO2NvbnN0IHQ9ZS50YXJnZXQscj10Py50YWdOYW1lPy50b1VwcGVyQ2FzZSgpO2lmKHI9PT0iSU5QVVQifHxyPT09IlRFWFRBUkVBInx8cj09PSJTRUxFQ1QifHx0Py5pc0NvbnRlbnRFZGl0YWJsZSlyZXR1cm4gbnVsbDtjb25zdCBzPU51bWJlci5wYXJzZUludChlLmtleSwxMCk7cmV0dXJuIFN0cmluZyhzKT09PWUua2V5JiZzPj0xJiZzPD12ZS5sZW5ndGg/dmVbcy0xXTpudWxsfWZ1bmN0aW9uIE1uKGUpe2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcyhlKSxyPXQuZ2V0KCJ0aGVtZSIpLHM9dC5nZXQoImxhbmciKTtyZXR1cm57dGhlbWU6cj09PSJsaWdodCJ8fHI9PT0iZGFyayI/cjpudWxsLGxhbmd1YWdlOnM9PT0iemgifHxzPT09InpoLUNOIj8iemgiOnM9PT0iZW4iPyJlbiI6bnVsbH19ZnVuY3Rpb24gSW4oZSl7aWYoZS5zdGF0ZT09PSJsb2FkaW5nIilyZXR1cm4ibG9hZGluZyI7aWYoZS5zdGF0ZSE9PSJyZWFkeSIpe2lmKGUuc3RhdGU9PT0iZmFpbGVkIil7aWYoZS5mYWlsdXJlPT09InVuYXV0aG9yaXplZCIpcmV0dXJuImxvZ2luIjtpZihlLmZhaWx1cmU9PT0iZm9yYmlkZGVuIilyZXR1cm4iZGVuaWVkIn1yZXR1cm4iZXJyb3IifWNvbnN0IHQ9ZS5yZXN1bHQ/LmRhdGE7cmV0dXJuIXR8fHR5cGVvZiB0IT0ib2JqZWN0Ij8iZXJyb3IiOnQuYWxsb3dlZD09PSEwJiZ0LmF1dGhlbnRpY2F0ZWQ9PT0hMD8ib3BlbiI6dC5hdXRoZW50aWNhdGVkPT09ITA/ImRlbmllZCI6ImxvZ2luIn1mdW5jdGlvbiAkbihlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBFdD9lLnN0YXR1czplPy5zdGF0dXM7cmV0dXJuIHQ9PT00MDE/InVuYXV0aG9yaXplZCI6dD09PTQwMz8iZm9yYmlkZGVuIjoibmV0d29yayJ9Y29uc3QgT249e21heFdpZHRoOjU2MCxwYWRkaW5nOiIzMHB4IDMycHgiLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEyfSxwdD17bWFyZ2luOjAsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnRTaXplOjEyLjV9O2Z1bmN0aW9uIExuKHtraW5kOmUsdCxvblJldHJ5OnJ9KXtjb25zdCBzPXQoZT09PSJ1bmF1dGhvcml6ZWQiPyJhY2Nlc3MudGl0bGUiOmU9PT0iZm9yYmlkZGVuIj8iYWNjZXNzLmRlbmllZF90aXRsZSI6ImFjY2Vzcy5lcnJvcl90aXRsZSIpLGE9dChlPT09InVuYXV0aG9yaXplZCI/ImFjY2Vzcy5ib2R5IjplPT09ImZvcmJpZGRlbiI/ImFjY2Vzcy5kZW5pZWQiOiJhY2Nlc3MuZXJyb3IiKTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCBtcmQtYWNjZXNzIixzdHlsZTpPbixyb2xlOiJhbGVydCIsImRhdGEtYXV0aCI6ZSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46dCgiYWNjZXNzLmV5ZWJyb3ciKX0pLG4uanN4KCJoMSIse2NsYXNzTmFtZToibXJkLXNlcmlmIixzdHlsZTp7bWFyZ2luOjAsZm9udFNpemU6MzQsbGluZUhlaWdodDoxLjE1fSxjaGlsZHJlbjpzfSksbi5qc3goInAiLHtzdHlsZTp7bWFyZ2luOjAsY29sb3I6InZhcigtLW1yZC1pbmstMikifSxjaGlsZHJlbjphfSksZT09PSJmb3JiaWRkZW4iP24uanN4KCJwIix7c3R5bGU6cHQsY2hpbGRyZW46dCgiYWNjZXNzLmRlbmllZF9ub3RlIil9KTpudWxsLGU9PT0idW5hdXRob3JpemVkIj9uLmpzeCgiYSIse2NsYXNzTmFtZToibXJkLWJ1dHRvbiIsaHJlZjoiL2xvZ2luIixjaGlsZHJlbjp0KCJhY2Nlc3MubG9naW4iKX0pOm51bGwsZT09PSJlcnJvciImJnI/bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtYnV0dG9uIixvbkNsaWNrOnIsY2hpbGRyZW46dCgiYWNjZXNzLnJldHJ5Iil9KTpudWxsXX0pfWZ1bmN0aW9uIFBuKHt0OmUscmVhc29uOnR9KXtyZXR1cm4gbi5qc3hzKCJkaXYiLHtyb2xlOiJhbGVydCIsImRhdGEtaW5saW5lLWZvcmJpZGRlbiI6InRydWUiLHN0eWxlOnsuLi5wdCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDozLHBhZGRpbmc6IjlweCAxMXB4Iixib3JkZXJSYWRpdXM6MTIsYm9yZGVyOiIxcHggc29saWQgdmFyKC0tbXJkLWxpbmUpIixiYWNrZ3JvdW5kOiJ2YXIoLS1tcmQtcGFuZWwpIn0sY2hpbGRyZW46W24uanN4KCJiIix7c3R5bGU6e2NvbG9yOiJ2YXIoLS1tcmQtY29yYWwpIixmb250U2l6ZToxMi41fSxjaGlsZHJlbjplKCJhY2Nlc3MuYWN0aW9uX2RlbmllZF90aXRsZSIpfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjplKCJhY2Nlc3MuYWN0aW9uX2RlbmllZCIpfSksdD9uLmpzeCgic3BhbiIse2NoaWxkcmVuOmUoImFjY2Vzcy5hY3Rpb25fZGVuaWVkX3JlYXNvbiIse3JlYXNvbjp0fSl9KTpudWxsXX0pfWNvbnN0IHpuPXtvdmVydmlldzoiTTQgMTFsOC03IDggN3Y4YTEgMSAwIDAxLTEgMWgtNHYtNkg5djZINWExIDEgMCAwMS0xLTF6IixhY2NvdW50czoiTTYuNSA1aDExYTMgMyAwIDAxMyAzdjhhMyAzIDAgMDEtMyAzaC0xMWEzIDMgMCAwMS0zLTNWOGEzIDMgMCAwMTMtM3pNMy41IDEwaDE3TTcuNSAxNWg0Iixzd2l0Y2g6Ik03IDRMMyA4bDQgNE0zIDhoMTRNMTcgMjBsNC00LTQtNE0yMSAxNkg3IixwZXJmb3JtYW5jZToiTTQgMTlWNU00IDE5aDE2TTggMTVsNC01IDMgMyA1LTciLGFsZXJ0czoiTTYgMTZWMTFhNiA2IDAgMTExMiAwdjVsMiAySDR6TTEwIDIwYTIgMiAwIDAwNCAwIixsb2dzOiJNNSA1aDE0TTUgMTBoMTRNNSAxNWg5TTUgMjBoNiIsc3VuOiJNMTIgOGE0IDQgMCAxMTAgOCA0IDQgMCAwMTAtOHpNMTIgMnYyTTEyIDIwdjJNNC45IDQuOWwxLjQgMS40TTE3LjcgMTcuN2wxLjQgMS40TTIgMTJoMk0yMCAxMmgyTTQuOSAxOS4xbDEuNC0xLjRNMTcuNyA2LjNsMS40LTEuNCIsbW9vbjoiTTIwIDE0LjVBOCA4IDAgMDE5LjUgNCA4IDggMCAxMDIwIDE0LjV6In07ZnVuY3Rpb24gZnQoe25hbWU6ZX0pe3JldHVybiBuLmpzeCgic3ZnIix7Y2xhc3NOYW1lOiJtcmQtaWNvbiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNyIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46bi5qc3goInBhdGgiLHtkOnpuW2VdfSl9KX1mdW5jdGlvbiBGbih7cGFnZTplLHQsYWxlcnRDb3VudDpyLG9uTmF2aWdhdGU6c30pe3JldHVybiBuLmpzeHMoIm5hdiIse2NsYXNzTmFtZToibXJkLWRvY2siLCJhcmlhLWxhYmVsIjp0KCJzaGVsbC5uYXZfbGFiZWwiKSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1tYXJrIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpuLmpzeCgiaSIse30pfSksdmUubWFwKChhLGkpPT5uLmpzeHMoImEiLHtocmVmOk1lKGEpLGNsYXNzTmFtZToibXJkLWRvY2staXRlbSIsImFyaWEtY3VycmVudCI6YT09PWU/InBhZ2UiOnZvaWQgMCwiYXJpYS1rZXlzaG9ydGN1dHMiOlN0cmluZyhpKzEpLHRpdGxlOnQoIm5hdi5ob3RrZXkiLHtrZXk6aSsxfSksb25DbGljazpjPT57Yy5idXR0b24hPT0wfHxjLm1ldGFLZXl8fGMuY3RybEtleXx8Yy5zaGlmdEtleXx8Yy5hbHRLZXl8fChjLnByZXZlbnREZWZhdWx0KCkscyhhKSl9LGNoaWxkcmVuOltuLmpzeChmdCx7bmFtZTphfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjp0KGBuYXYuJHthfWApfSksYT09PSJhbGVydHMiJiZyIT09bnVsbCYmcj4wP24uanN4KCJlbSIse2NsYXNzTmFtZToibXJkLWJhZGdlIiwiYXJpYS1sYWJlbCI6dCgibmF2LmFsZXJ0X2JhZGdlIix7Y291bnQ6cn0pLGNoaWxkcmVuOnI+OTk/Ijk5KyI6cn0pOm51bGxdfSxhKSldfSl9ZnVuY3Rpb24gaHQoZSx0KXtpZihlLmtpbmQ9PT0ibG9hZGluZyIpcmV0dXJue2tleToic3RhdGVzLmZyZXNobmVzcy5sb2FkaW5nIix0b25lOiJtdXRlZCIsYWdlOm51bGx9O2lmKGUua2luZD09PSJmYWlsZWQiKXJldHVybntrZXk6InN0YXRlcy5mcmVzaG5lc3MuZmFpbGVkIix0b25lOiJ1bmtub3duIixhZ2U6bnVsbH07Y29uc3Qgcj1aKGUuYWdlX3NlY29uZHMsdCk7cmV0dXJuIGUuZGF0YV9zdGF0dXM9PT0idW5hdmFpbGFibGUiP3trZXk6InN0YXRlcy5mcmVzaG5lc3MudW5hdmFpbGFibGUiLHRvbmU6InVua25vd24iLGFnZTpudWxsfTplLmRhdGFfc3RhdHVzPT09InN0YWxlIj97a2V5OiJzdGF0ZXMuZnJlc2huZXNzLnN0YWxlIix0b25lOiJ1bmtub3duIixhZ2U6cn06e2tleToic3RhdGVzLmZyZXNobmVzcy5yZWFkeSIsdG9uZToib2siLGFnZTpyfX1jb25zdCBMZT0xZTQ7ZnVuY3Rpb24gQm4oZSx0LHI9TGUpe3JldHVybiFOdW1iZXIuaXNGaW5pdGUoZSl8fCFOdW1iZXIuaXNGaW5pdGUodCl8fCFOdW1iZXIuaXNGaW5pdGUocil8fHI8PTA/ITA6dC1lPj1yfWZ1bmN0aW9uIEhuKGUsdD1MZSl7cmV0dXJuYCR7ZX06JHt0fWB9ZnVuY3Rpb24gVW4oZSx0KXtyZXR1cm4gZSE9PW51bGwmJmU9PT10fWNvbnN0IFduPTkwMDtmdW5jdGlvbiBxbihlKXtyZXR1cm4gZT09PW51bGx8fCFOdW1iZXIuaXNGaW5pdGUoZSl8fGU8MD97a2luZDoicmVhZCIsZGF0YV9zdGF0dXM6InVuYXZhaWxhYmxlIixhZ2Vfc2Vjb25kczpudWxsfTp7a2luZDoicmVhZCIsZGF0YV9zdGF0dXM6ZT5Xbj8ic3RhbGUiOiJyZWFkeSIsYWdlX3NlY29uZHM6ZX19ZnVuY3Rpb24gS24oZSl7aWYoZS5zdGFydHNXaXRoKCIjL2Rlc2siKSlyZXR1cm4gZTtjb25zdFt0LHI9IiJdPWUucmVwbGFjZSgvXiM/XC8/LywiIikuc3BsaXQoIj8iLDIpO3JldHVybmAjL2Rlc2svJHtbIm92ZXJ2aWV3IiwiYWNjb3VudHMiLCJzd2l0Y2giLCJwZXJmb3JtYW5jZSIsImFsZXJ0cyIsImxvZ3MiXS5pbmNsdWRlcyh0KT90OiJvdmVydmlldyJ9JHtyP2A/JHtyfWA6IiJ9YH1jb25zdCBQZT17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTAsbWluV2lkdGg6MH0sR249e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4fSxWbj17bWFyZ2luOjAsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnRTaXplOjEyfTtmdW5jdGlvbiBsZSh7d2lkdGg6ZT0iMTAwJSIsaGVpZ2h0OnQ9MTZ9KXtyZXR1cm4gbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1za2VsZXRvbiIsc3R5bGU6e3dpZHRoOmUsaGVpZ2h0OnR9LCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gcGUoe3Q6ZSxsYWJlbDp0LHN0YXJ0ZWRBdDpyPURhdGUubm93KCksdGltZW91dE1zOnM9TGUsb25SZXRyeTphfSl7Y29uc3QgaT1IbihyLHMpLFtjLGRdPWYudXNlU3RhdGUoKCk9PkJuKHIsRGF0ZS5ub3coKSxzKT9pOm51bGwpLHU9VW4oYyxpKTtyZXR1cm4gZi51c2VFZmZlY3QoKCk9PntpZih1KXJldHVybjtjb25zdCBwPU1hdGgubWF4KDAscitzLURhdGUubm93KCkpLGg9d2luZG93LnNldFRpbWVvdXQoKCk9PmQoaSkscCk7cmV0dXJuKCk9PndpbmRvdy5jbGVhclRpbWVvdXQoaCl9LFtyLHMsaSx1XSksdT9uLmpzeChpZSx7dDplLG1lc3NhZ2U6ZSgic3RhdGVzLnJlYWRfZmFpbGVkX2FmdGVyIiksb25SZXRyeTphfSk6bi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsc3R5bGU6ey4uLlBlLGdhcDoxMn0sImFyaWEtYnVzeSI6InRydWUiLCJhcmlhLWxhYmVsIjp0Pz9lKCJzdGF0ZXMubG9hZGluZ19za2VsZXRvbiIpLCJkYXRhLXN0YXRlIjoibG9hZGluZyIsY2hpbGRyZW46W24uanN4KGxlLHt3aWR0aDoxNDAsaGVpZ2h0OjEyfSksbi5qc3gobGUse3dpZHRoOiI3MiUiLGhlaWdodDoyMn0pLG4uanN4KGxlLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OjEyfSksbi5qc3gobGUse3dpZHRoOiI4OCUiLGhlaWdodDoxMn0pLG4uanN4KGxlLHt3aWR0aDoiNTQlIixoZWlnaHQ6MTJ9KV19KX1mdW5jdGlvbiBhZSh7dDplLHRpdGxlOnQsYm9keTpyfSl7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOlBlLCJkYXRhLXN0YXRlIjoiZW1wdHkiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOmUoInN0YXRlcy5lbXB0eV90aXRsZSIpfSksbi5qc3goInAiLHtzdHlsZTp7bWFyZ2luOjB9LGNoaWxkcmVuOnQ/P2UoInN0YXRlcy5lbXB0eSIpfSkscj9uLmpzeCgicCIse3N0eWxlOlZuLGNoaWxkcmVuOnJ9KTpudWxsXX0pfWZ1bmN0aW9uIGllKHt0OmUsbWVzc2FnZTp0LG9uUmV0cnk6cn0pe3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpQZSwiZGF0YS1zdGF0ZSI6ImVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOmUoInN0YXRlcy5lcnJvcl90aXRsZSIpfSksbi5qc3goInAiLHtzdHlsZTp7bWFyZ2luOjB9LGNoaWxkcmVuOnQ/P2UoInN0YXRlcy5lcnJvciIpfSkscj9uLmpzeCgiZGl2Iix7c3R5bGU6R24sY2hpbGRyZW46bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtYnV0dG9uIixvbkNsaWNrOnIsY2hpbGRyZW46ZSgic3RhdGVzLnJldHJ5Iil9KX0pOm51bGxdfSl9ZnVuY3Rpb24gRWUoe3Q6ZSxsYW5ndWFnZTp0LGFnZVNlY29uZHM6cixpbmNsdWRlZDpzLHRvdGFsOmF9KXtjb25zdCBpPWh0KHtraW5kOiJyZWFkIixkYXRhX3N0YXR1czoic3RhbGUiLGFnZV9zZWNvbmRzOnI/P251bGx9LHQpLmFnZSxjPXR5cGVvZiBzPT0ibnVtYmVyIiYmdHlwZW9mIGE9PSJudW1iZXIiJiZzPGE/ZSgic3RhdGVzLnBhcnRpYWxfZGV0YWlsIix7aW5jbHVkZWQ6cyx0b3RhbDphfSk6bnVsbDtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1yZC1jaGlwIiwiZGF0YS10b25lIjoidW5rbm93biIscm9sZToic3RhdHVzIixzdHlsZTp7d2hpdGVTcGFjZToibm9ybWFsIixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0In0sY2hpbGRyZW46W24uanN4KCJpIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSxuLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbZSgic3RhdGVzLnN0YWxlIix7YWdlOmk/PyLigJQifSksYz9gIMK3ICR7Y31gOiIiXX0pXX0pfWZ1bmN0aW9uIG10KHtzdGF0ZTplLHQsbGFuZ3VhZ2U6cn0pe2NvbnN0IHM9aHQoZSxyKTtyZXR1cm4gbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2hpcCIsImRhdGEtdG9uZSI6cy50b25lLHJvbGU6InN0YXR1cyIsImRhdGEtZnJlc2huZXNzIjplLmtpbmQ9PT0icmVhZCI/ZS5kYXRhX3N0YXR1czplLmtpbmQsY2hpbGRyZW46W24uanN4KCJpIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSx0KHMua2V5LHthZ2U6cy5hZ2U/PyLigJQifSldfSl9ZnVuY3Rpb24gWW4oZSl7aWYoZS5raW5kPT09ImxvYWRpbmciKXJldHVybntrZXk6ImdhdGV3YXkubG9hZGluZyIsdG9uZToibXV0ZWQifTtpZihlLmtpbmQ9PT0iZmFpbGVkIilyZXR1cm57a2V5OiJnYXRld2F5LmZhaWxlZCIsdG9uZToidW5rbm93biJ9O2NvbnN0IHQ9ZS5yZWFkO2lmKHQuc3RhdHVzPT09InVua25vd24iKXJldHVybntrZXk6ImdhdGV3YXkudW5rbm93biIsdG9uZToidW5rbm93biJ9O2lmKHQuc3RhdHVzPT09InN0YWxlIilyZXR1cm57a2V5OiJnYXRld2F5LnN0YWxlIix0b25lOiJ1bmtub3duIixhZ2VTZWNvbmRzOnQuYWdlX3NlY29uZHN9O2NvbnN0IHI9dC52YWx1ZT09PSJhbGxfcmVhY2hhYmxlIj8ib2siOnQudmFsdWU9PT0iZGVncmFkZWQiPyJ3YXJuIjoicmlzayI7cmV0dXJue2tleTpgZ2F0ZXdheS4ke3QudmFsdWV9YCx0b25lOnJ9fWZ1bmN0aW9uIFhuKHtwYWdlOmUsdCxsYW5ndWFnZTpyLHRoZW1lOnMsZ2F0ZXdheTphLG5vd0lzbzppLHNlcnZlckNsb2NrOmMsbW9jazpkLGZyZXNobmVzczp1LG9uTGFuZ3VhZ2U6cCxvblRoZW1lOmh9KXtjb25zdCBnPVluKGEpLGs9Y3QoaSk/PyItLTotLSIseD11dChpLHIpO3JldHVybiBuLmpzeHMoImhlYWRlciIse2NsYXNzTmFtZToibXJkLXRvcCIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY3J1bWIiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWNydW1iLWJyYW5kIixjaGlsZHJlbjp0KCJzaGVsbC5icmFuZCIpfSksbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1jcnVtYi1zZXAiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiIvIn0pLG4uanN4KCJiIix7Y2hpbGRyZW46dChgbmF2LiR7ZX1gKX0pXX0pLG4uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtdG9vbHMiLGNoaWxkcmVuOltkP24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2hpcCBtcmQtY2hpcC1tb2NrIix0aXRsZTp0KCJtb2NrLnRpdGxlIiksY2hpbGRyZW46ZD09PSJvayI/dCgibW9jay5iYWRnZSIpOnQoIm1vY2suc2NlbmFyaW8iLHtzY2VuYXJpbzpkfSl9KTpudWxsLHU/bi5qc3gobXQse3N0YXRlOnUsdCxsYW5ndWFnZTpyfSk6bnVsbCxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im1yZC1jaGlwIiwiZGF0YS10b25lIjpnLnRvbmUscm9sZToic3RhdHVzIixjaGlsZHJlbjpbbi5qc3goImkiLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHQoZy5rZXkse2FnZTpaKGcuYWdlU2Vjb25kcyxyKT8/IuKAlCJ9KV19KSxuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im1yZC1jaGlwIG1yZC1jbG9jayIsY2hpbGRyZW46W3g/bi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2xvY2stZGF5IixjaGlsZHJlbjpbeCwiIMK3ICJdfSk6bnVsbCxjP3QoImNsb2NrLnV0YyIse3RpbWU6a30pOnQoImNsb2NrLmxvY2FsIix7dGltZTprfSldfSksbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtc2VnIixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOnQoImxhbmcubGFiZWwiKSxjaGlsZHJlbjpbbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsbGFuZzoiemgtQ04iLCJhcmlhLXByZXNzZWQiOnI9PT0iemgiLG9uQ2xpY2s6KCk9PnAoInpoIiksY2hpbGRyZW46IuS4rSJ9KSxuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixsYW5nOiJlbiIsImFyaWEtcHJlc3NlZCI6cj09PSJlbiIsb25DbGljazooKT0+cCgiZW4iKSxjaGlsZHJlbjoiRU4ifSldfSksbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCBtcmQtaWNvbi1idXR0b24iLG9uQ2xpY2s6aCwiYXJpYS1sYWJlbCI6dChzPT09ImRhcmsiPyJ0aGVtZS50b19saWdodCI6InRoZW1lLnRvX2RhcmsiKSx0aXRsZTp0KHM9PT0iZGFyayI/InRoZW1lLnRvX2xpZ2h0IjoidGhlbWUudG9fZGFyayIpLGNoaWxkcmVuOm4uanN4KGZ0LHtuYW1lOnM9PT0iZGFyayI/Im1vb24iOiJzdW4ifSl9KV19KV19KX1mdW5jdGlvbiBKbihlKXtjb25zdHtwYWdlOnQsdDpyLGFsZXJ0Q291bnQ6cyxvbk5hdmlnYXRlOmEsY2hpbGRyZW46aSwuLi5jfT1lO3JldHVybiBuLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkIiwiZGF0YS1wYWdlIjp0LGNoaWxkcmVuOltuLmpzeChGbix7cGFnZTp0LHQ6cixhbGVydENvdW50OnMsb25OYXZpZ2F0ZTphfSksbi5qc3hzKCJtYWluIix7Y2xhc3NOYW1lOiJtcmQtbWFpbiIsaWQ6Im1yZC1tYWluIixjaGlsZHJlbjpbbi5qc3goWG4se3BhZ2U6dCx0OnIsLi4uY30pLGldfSldfSl9ZnVuY3Rpb24gWm4oe3Q6ZSxraW5kOnQsb25SZXRyeTpyfSl7cmV0dXJuIG4uanN4KExuLHtraW5kOnQ9PT0ibG9naW4iPyJ1bmF1dGhvcml6ZWQiOnQ9PT0iZGVuaWVkIj8iZm9yYmlkZGVuIjoiZXJyb3IiLHQ6ZSxvblJldHJ5OnJ9KX1jb25zdCBRbj17b3ZlcnZpZXc6e3BoYXNlOjQsZW5kcG9pbnRzOlsiR0VUIC9hcGkvZGVzay9vdmVydmlldyIsIkdFVCAvYXBpL2Rlc2svcmliYm9uIl19LGFjY291bnRzOntwaGFzZTo1LGVuZHBvaW50czpbIkdFVCAvYXBpL2Rlc2svYWNjb3VudHMiLCJHRVQgL2FwaS9kZXNrL2FjY291bnRzL3t0YXJnZXRfaWR9IiwiR0VUIC9hcGkvZGVzay90YXJnZXRzL3t0YXJnZXRfaWR9L3JlYWRiYWNrIiwiUE9TVCAvYXBpL2Rlc2svcmVhZGJhY2tzIl19LHN3aXRjaDp7cGhhc2U6NixlbmRwb2ludHM6WyJHRVQgL2FwaS9kZXNrL3N3aXRjaC90YXJnZXRzIiwiUE9TVCAvYXBpL2Rlc2svc3dpdGNoL3ByZXZpZXdzIiwiUE9TVCAvYXBpL2Rlc2svc3dpdGNoL3JlcXVlc3RzIiwiR0VUIC9hcGkvZGVzay9zd2l0Y2gvcmVxdWVzdHMve3JlcXVlc3RfaWR9Il19LHBlcmZvcm1hbmNlOntwaGFzZTo3LGVuZHBvaW50czpbIkdFVCAvYXBpL2Rlc2svcGVyZm9ybWFuY2UiLCJHRVQgL2FwaS9tYXJrZXQtYmVuY2htYXJrIl19LGFsZXJ0czp7cGhhc2U6OCxlbmRwb2ludHM6WyJHRVQgL2FwaS9kZXNrL2FsZXJ0cyIsIkdFVCAvYXBpL2Rlc2svYWxlcnRzL2RlbGl2ZXJ5Il19LGxvZ3M6e3BoYXNlOjgsZW5kcG9pbnRzOlsiR0VUIC9hcGkvZGVzay9yaWJib24iLCJHRVQgL2FwaS9kZXNrL2xvZ3MiXX19O2Z1bmN0aW9uIGVyKHtwYWdlOmUsdH0pe2NvbnN0IHI9UW5bZV0scz10KGBwYWdlLiR7ZX0ucGFydHNgKS5zcGxpdCgifCIpO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1zdHViIiwiYXJpYS1sYWJlbGxlZGJ5IjoibXJkLXBhZ2UtdGl0bGUiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNhcmQgbXJkLXN0dWItaGVybyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0dWIuZXllYnJvdyIse3BoYXNlOnIucGhhc2V9KX0pLG4uanN4KCJoMSIse2lkOiJtcmQtcGFnZS10aXRsZSIsY2xhc3NOYW1lOiJtcmQtc2VyaWYiLGNoaWxkcmVuOnQoYHBhZ2UuJHtlfS5oZWFkbGluZWApfSksbi5qc3goInAiLHtjaGlsZHJlbjp0KGBwYWdlLiR7ZX0uYm9keWApfSksbi5qc3goImRpdiIse2NsYXNzTmFtZToibXJkLWdsb3ciLCJhcmlhLWhpZGRlbiI6InRydWUifSldfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1yZC1zdHViLWdyaWQiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNhcmQiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJzdHViLnBsYW5uZWQiKX0pLG4uanN4KCJvbCIse2NsYXNzTmFtZToibXJkLXBhcnRzIixjaGlsZHJlbjpzLm1hcCgoYSxpKT0+bi5qc3hzKCJsaSIse2NoaWxkcmVuOltuLmpzeCgiYiIse2NoaWxkcmVuOlN0cmluZyhpKzEpLnBhZFN0YXJ0KDIsIjAiKX0pLGFdfSxhKSl9KV19KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNhcmQiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJzdHViLnNvdXJjZXMiKX0pLG4uanN4KCJ1bCIse2NsYXNzTmFtZToibXJkLWVuZHBvaW50cyIsY2hpbGRyZW46ci5lbmRwb2ludHMubWFwKGE9Pm4uanN4KCJsaSIse2NoaWxkcmVuOm4uanN4KCJjb2RlIix7Y2hpbGRyZW46YX0pfSxhKSl9KSxuLmpzeCgicCIse2NsYXNzTmFtZToibXJkLW5vdGUiLGNoaWxkcmVuOnQoInN0dWIubm90ZSIpfSldfSldfSldfSl9Y29uc3QgZGU9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsbWluV2lkdGg6MH0seWU9e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixhbGlnbkl0ZW1zOiJjZW50ZXIifSx0cj17bWFyZ2luOjAsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnRTaXplOjEyfSx5PXtwYWdlOnsuLi5kZSxnYXA6MTZ9LHRpdGxlOihlLHQpPT4oe21hcmdpbjowLGZvbnRTaXplOmU/dD8yMjoyNjp0PzI4OjMyLGxpbmVIZWlnaHQ6MS4yfSksbm90ZTp0cixiZW5jaDp7Li4uZGUsZ2FwOjE0fSxrcGk6ey4uLnllLGFsaWduSXRlbXM6ImJhc2VsaW5lIixnYXA6IjRweCAxMnB4IixtYXJnaW5Ub3A6OH0sa3BpVmFsdWU6ZT0+KHtmb250U2l6ZTplPzI4OjMyLGxpbmVIZWlnaHQ6MX0pLGtwaVN1Yjp7Y29sb3I6InZhcigtLW1yZC1pbmstMikiLGZvbnRTaXplOjEyLjV9LGNoaXBzOnsuLi55ZSxnYXA6OH0sZXh0cmFzOmU9Pih7Li4uZGUsZ2FwOjgsZGlzcGxheTplPyJmbGV4Ijoibm9uZSJ9KSxjaGlwOmU9Pih7Y29sb3I6ZT09PSExPyJ2YXIoLS1tcmQtaW5rLTMpIjoidmFyKC0tbXJkLWluaykiLGJhY2tncm91bmQ6ZT09PSExPyJub25lIjp2b2lkIDAsZm9udFdlaWdodDo1MDAsY3Vyc29yOmU9PT1udWxsP3ZvaWQgMDoicG9pbnRlciJ9KSxjaGVjazplPT4oe2Rpc3BsYXk6ImlubGluZS1ncmlkIixwbGFjZUl0ZW1zOiJjZW50ZXIiLHdpZHRoOjE0LGhlaWdodDoxNCxib3JkZXJSYWRpdXM6IjUwJSIsZm9udFNpemU6MTAsbGluZUhlaWdodDoxLGJveFNoYWRvdzplPyJub25lIjoiaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tbXJkLWluay0zKSIsYmFja2dyb3VuZDplPyJ2YXIoLS1tcmQtaW5rKSI6dm9pZCAwLGNvbG9yOmU/InZhcigtLW1yZC1iZykiOnZvaWQgMH0pLHRpY2tlcjp7Y29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnQ6IjExcHggdmFyKC0tZm9udC1tb25vKSJ9LHRhYmxlV3JhcDp7Li4uZGUsZ2FwOjgsb3ZlcmZsb3dYOiJhdXRvIn0sdGFibGU6e3dpZHRoOiIxMDAlIixib3JkZXJDb2xsYXBzZToiY29sbGFwc2UiLGZvbnRTaXplOjEzfSx0aDooZSx0KT0+KHtwYWRkaW5nOnQ/IjhweCA0cHgiOiI5cHggMTBweCIsdGV4dEFsaWduOmU/ImxlZnQiOiJyaWdodCIsZm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGJvcmRlckJvdHRvbToiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsd2hpdGVTcGFjZTp0PyJub3JtYWwiOiJub3dyYXAifSkscm93SGVhZDplPT4oe3BhZGRpbmc6ZT8iOHB4IDRweCI6IjlweCAxMHB4Iix0ZXh0QWxpZ246ImxlZnQiLGZvbnRXZWlnaHQ6NTAwLGZvbnRTaXplOmU/MTEuNToxMyxib3JkZXJCb3R0b206IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLHdoaXRlU3BhY2U6ZT8ibm9ybWFsIjoibm93cmFwIn0pLHRkOihlLHQpPT4oe3BhZGRpbmc6ZT8iOHB4IDRweCI6IjlweCAxMHB4Iix0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJ2YXIoLS1mb250LW1vbm8pIixmb250U2l6ZTplPzExLjU6MTMsd2hpdGVTcGFjZToibm93cmFwIixib3JkZXJCb3R0b206IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLGNvbG9yOnR9KSxuYW1lOnsuLi55ZSxnYXA6OH0sc3RhdGU6ZT0+KHtmbGV4QmFzaXM6IjEwMCUiLG1hcmdpbkxlZnQ6ZT8wOjM0LGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMSxmb250V2VpZ2h0OjQwMH0pLHRhZzp7cGFkZGluZzoiMXB4IDhweCIsYm9yZGVyUmFkaXVzOjk5LGJveFNoYWRvdzoiaW5zZXQgMCAwIDAgMXB4IHZhcigtLW1yZC1saW5lKSIsY29sb3I6InZhcigtLW1yZC1pbmstMykiLGZvbnQ6IjEwLjVweCB2YXIoLS1mb250LXNhbnMpIn0scm93VHI6KGUsdCk9Pih7b3BhY2l0eTplPy41OjEsYmFja2dyb3VuZDp0PyJ2YXIoLS1tcmQtcGFuZWwtMikiOnZvaWQgMH0pLHJlYWRvdXQ6ey4uLnllLGdhcDoiNHB4IDE0cHgiLG1pbkhlaWdodDoyMixtYXJnaW5Cb3R0b206Nixmb250U2l6ZToxMn0scmVhZG91dEl0ZW06e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxoaW50Ontjb2xvcjoidmFyKC0tbXJkLWluay0zKSJ9LGRvdDplPT4oe3dpZHRoOjgsaGVpZ2h0OjgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YHZhcigke2V9KWB9KSx2YWx1ZTp7bWFyZ2luTGVmdDoiYXV0byIsZm9udDoiNTAwIDEycHggdmFyKC0tZm9udC1tb25vKSJ9LHRpcDp7Li4uZGUscG9zaXRpb246ImFic29sdXRlIix0b3A6MTgsekluZGV4OjIsZ2FwOjQsbWluV2lkdGg6MTcwLHBhZGRpbmc6IjEwcHggMTJweCIsZm9udFNpemU6MTIsYmFja2dyb3VuZDoidmFyKC0tbXJkLXBhbmVsLTIpIixib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLGJvcmRlclJhZGl1czoxNCxib3hTaGFkb3c6InZhcigtLW1yZC1zaGFkb3cpIixwb2ludGVyRXZlbnRzOiJub25lIn0sc3ZnQm94Ontwb3NpdGlvbjoicmVsYXRpdmUiLG1pbldpZHRoOjB9LHN2Zzp7ZGlzcGxheToiYmxvY2siLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoidmlzaWJsZSIsdG91Y2hBY3Rpb246InBhbi15In19LG5yPWU9PmU9PT1udWxsfHxlPT09MD92b2lkIDA6ZT4wPyJ2YXIoLS1tcmQtbWludCkiOiJ2YXIoLS1tcmQtY29yYWwpIix6ZT1bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdO2Z1bmN0aW9uIEIoZSx0PTEscj0hMCl7aWYoZT09PW51bGx8fCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIuKAlCI7Y29uc3Qgcz1NYXRoLmFicyhlKjEwMCkudG9GaXhlZCh0KTtyZXR1cm5gJHtOdW1iZXIocyk9PT0wPyIiOmU8MD8i4oiSIjpyPyIrIjoiIn0ke3N9JWB9ZnVuY3Rpb24gWGUoZSx0PTEpe2lmKGU9PT1udWxsfHwhTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiLigJQiO2NvbnN0IHI9TWF0aC5hYnMoZSkudG9GaXhlZCh0KTtyZXR1cm5gJHtOdW1iZXIocik9PT0wPyIiOmU8MD8i4oiSIjoiKyJ9JHtyfWB9ZnVuY3Rpb24gamUoZSx0KXtpZih0PT09InpoIilyZXR1cm4gZTtjb25zdFtyLHMsYV09ZS5zcGxpdCgiLSIpLm1hcChOdW1iZXIpO3JldHVybmAke2F9ICR7emVbcy0xXX0gJHtyfWB9ZnVuY3Rpb24gcnIoZSx0KXtjb25zdFtyLHNdPWUuc3BsaXQoIi0iKS5tYXAoTnVtYmVyKSxhPVN0cmluZyhyJTEwMCkucGFkU3RhcnQoMiwiMCIpO3JldHVybiB0PT09InpoIj9gJHthfeW5tCR7c33mnIhgOmAke3plW3MtMV19ICR7YX1gfWZ1bmN0aW9uIHNyKGUsdCl7Y29uc3RbLHIsc109ZS5zcGxpdCgiLSIpLm1hcChOdW1iZXIpO3JldHVybiB0PT09InpoIj9gJHtTdHJpbmcocikucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZyhzKS5wYWRTdGFydCgyLCIwIil9YDpgJHtzfSAke3plW3ItMV19YH1jb25zdCBhcj17c3Ryb2tlOiJ2YXIoLS1tcmQtbGluZSkiLHN0cm9rZVdpZHRoOjF9LGlyPXtzdHJva2U6InZhcigtLW1yZC1pbmstMykiLHN0cm9rZVdpZHRoOjEuMixvcGFjaXR5Oi42fSxKZT17ZmlsbDoidmFyKC0tbXJkLWluay0zKSIsZm9udDoiMTFweCB2YXIoLS1mb250LW1vbm8pIn0sb3I9e2ZvbnQ6IjYwMCAxMS41cHggdmFyKC0tZm9udC1zYW5zKSJ9LGxyPXtmaWxsOiJ2YXIoLS1tcmQtcCkiLG9wYWNpdHk6LjF9LGRyPXtzdHJva2U6InZhcigtLW1yZC1pbmstMykiLHN0cm9rZVdpZHRoOjEsc3Ryb2tlRGFzaGFycmF5OiIzIDMifSxjcj0zNDAsdXI9MjUwLHByPTU2MDtmdW5jdGlvbiBaZShlKXtjb25zdFt0LHJdPWYudXNlU3RhdGUoZSkscz1mLnVzZVJlZihlKTtyZXR1cm4gZi51c2VFZmZlY3QoKCk9PntpZih0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzfHx0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lPiJ1Iil7cy5jdXJyZW50PWUscihlKTtyZXR1cm59Y29uc3QgaT1zLmN1cnJlbnQsYz1wZXJmb3JtYW5jZS5ub3coKTtsZXQgZD0wO2NvbnN0IHU9cD0+e2NvbnN0IGg9TWF0aC5taW4oMSwocC1jKS8xODApO3MuY3VycmVudD1pKyhlLWkpKigxLSgxLWgpKiozKSxyKHMuY3VycmVudCksaDwxJiYoZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodSkpfTtyZXR1cm4gZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodSksKCk9PmNhbmNlbEFuaW1hdGlvbkZyYW1lKGQpfSxbZV0pLHR9ZnVuY3Rpb24gZnIoZSx0LHIpe2NvbnN0IHM9cShlLnN0YXJ0KSxhPXEoZS5lbmQpLGk9KGEtcykvODY0ZTU7aWYoaTw2MilyZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOnI/Mzo1fSwoZyxrKT0+e2NvbnN0IHg9bmV3IERhdGUocysoYS1zKSprLyhyPzI6NCkpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxMCk7cmV0dXJue2RhdGU6eCx0ZXh0OnNyKHgsdCl9fSk7Y29uc3QgYz1uZXcgRGF0ZShzKSxkPU1hdGgucm91bmQoaS8zMC40NCksdT1NYXRoLm1heCgxLE1hdGguY2VpbChkLyhyPzM6NikpKSxwPVtdO2xldCBoPURhdGUuVVRDKGMuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCkrMSwxKTtmb3IoO2g8PWE7KXtjb25zdCBnPW5ldyBEYXRlKGgpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxMCk7cC5wdXNoKHtkYXRlOmcsdGV4dDpycihnLHQpfSk7Y29uc3Qgaz1uZXcgRGF0ZShoKTtoPURhdGUuVVRDKGsuZ2V0VVRDRnVsbFllYXIoKSxrLmdldFVUQ01vbnRoKCkrdSwxKX1yZXR1cm4gcH1mdW5jdGlvbiBocih7bGluZXM6ZSx3aW5kb3c6dCxsYW5ndWFnZTpyLGFyaWFMYWJlbDpzLGhpbnQ6YX0pe2NvbnN0IGk9Zi51c2VSZWYobnVsbCksW2MsZF09Zi51c2VTdGF0ZSg4ODApLFt1LHBdPWYudXNlU3RhdGUobnVsbCk7Zi51c2VFZmZlY3QoKCk9Pntjb25zdCBsPWkuY3VycmVudDtpZighbHx8KGQoTWF0aC5tYXgoMjYwLE1hdGgucm91bmQobC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCl8fDg4MCkpLHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpKXJldHVybjtjb25zdCB2PW5ldyBSZXNpemVPYnNlcnZlcihFPT5kKE1hdGgubWF4KDI2MCxNYXRoLnJvdW5kKEVbMF0uY29udGVudFJlY3Qud2lkdGgpKSkpO3JldHVybiB2Lm9ic2VydmUobCksKCk9PnYuZGlzY29ubmVjdCgpfSxbXSk7Y29uc3QgaD1jPHByLGc9aD91cjpjcix4PXt0b3A6MTQscmlnaHQ6aD81ODoxNTAsYm90dG9tOjI2LGxlZnQ6NDR9LGo9Zi51c2VNZW1vKCgpPT5jbihlLm1hcChsPT5sLnBvaW50cykpLFtlXSksVD1aZShqLm1pbiksTT1aZShqLm1heCksST1xKHQuc3RhcnQpLEM9cSh0LmVuZCksRj1NYXRoLm1heCg0MCxjLXgubGVmdC14LnJpZ2h0KSxLPWcteC50b3AteC5ib3R0b20sRD1sPT54LmxlZnQrKEM9PT1JPzA6KHEobCktSSkvKEMtSSkqRiksTz1sPT54LnRvcCsoMS0obC1UKS8oTS1UfHwxKSkqSywkPWYudXNlTWVtbygoKT0+Wy4uLm5ldyBTZXQoZS5mbGF0TWFwKGw9PmwucG9pbnRzLm1hcCh2PT52LmRhdGUpKSldLnNvcnQoKSxbZV0pLF89dSYmJC5pbmNsdWRlcyh1KT91Om51bGwsSj1sPT57Y29uc3Qgdj1pLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCF2fHwhJC5sZW5ndGgpcmV0dXJuO2NvbnN0IEU9SSsobC12LmxlZnQteC5sZWZ0KS9GKihDLUkpO2xldCBHPSRbMF07Zm9yKGNvbnN0IEwgb2YgJClNYXRoLmFicyhxKEwpLUUpPE1hdGguYWJzKHEoRyktRSkmJihHPUwpO3AoRyl9LG09bD0+e2lmKCEkLmxlbmd0aClyZXR1cm47Y29uc3Qgdj1fPyQuaW5kZXhPZihfKTotMTtpZihsLmtleT09PSJBcnJvd1JpZ2h0IilwKCRbTWF0aC5taW4oJC5sZW5ndGgtMSx2KzEpXSk7ZWxzZSBpZihsLmtleT09PSJBcnJvd0xlZnQiKXAoJFtNYXRoLm1heCgwLHY8MD8kLmxlbmd0aC0xOnYtMSldKTtlbHNlIGlmKGwua2V5PT09IkVzY2FwZSIpcChudWxsKTtlbHNlIHJldHVybjtsLnByZXZlbnREZWZhdWx0KCl9LFM9cG4oZS5tYXAobD0+bC5wb2ludHMubGVuZ3RoP08obC5wb2ludHNbbC5wb2ludHMubGVuZ3RoLTFdLnZhbHVlKTowKSxoPzE0OjE2LHgudG9wKzYsZy14LmJvdHRvbSksQT1fP2UubWFwKGw9Pih7bGluZTpsLHZhbHVlOnVuKGwucG9pbnRzLF8pfSkpOltdLEg9Xz9EKF8pPngubGVmdCtGKi41NTohMTtyZXR1cm4gbi5qc3hzKCJkaXYiLHtzdHlsZTp5LnN2Z0JveCxyZWY6aSwiZGF0YS1uYXJyb3ciOmg/InRydWUiOiJmYWxzZSIsY2hpbGRyZW46W2g/bi5qc3goImRpdiIse3N0eWxlOnkucmVhZG91dCwiYXJpYS1saXZlIjoib2ZmIixjaGlsZHJlbjpfP24uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbi5qc3goImIiLHtjaGlsZHJlbjpqZShfLHIpfSksQS5tYXAoKHtsaW5lOmwsdmFsdWU6dn0pPT5uLmpzeHMoInNwYW4iLHtzdHlsZTp5LnJlYWRvdXRJdGVtLCJkYXRhLXNlcmllcyI6bC5pZCxjaGlsZHJlbjpbbi5qc3goImkiLHtzdHlsZTp5LmRvdChsLnRva2VuKSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLGwubGFiZWwsIiAiLG4uanN4KCJlbSIse3N0eWxlOnkudmFsdWUsY2hpbGRyZW46Qih2KX0pXX0sbC5pZCkpXX0pOm4uanN4KCJzcGFuIix7c3R5bGU6eS5oaW50LGNoaWxkcmVuOmF9KX0pOm51bGwsbi5qc3hzKCJzdmciLHtzdHlsZTp5LnN2Zyx3aWR0aDpjLGhlaWdodDpnLHZpZXdCb3g6YDAgMCAke2N9ICR7Z31gLHJvbGU6ImltZyIsImFyaWEtbGFiZWwiOnMsdGFiSW5kZXg6MCxvblBvaW50ZXJNb3ZlOmw9PkoobC5jbGllbnRYKSxvblBvaW50ZXJEb3duOmw9PkoobC5jbGllbnRYKSxvblBvaW50ZXJMZWF2ZTooKT0+cChudWxsKSxvbktleURvd246bSxvbkJsdXI6KCk9PnAobnVsbCksY2hpbGRyZW46W2oudGlja3MubWFwKGw9Pm4uanN4cygiZyIse2NoaWxkcmVuOltuLmpzeCgibGluZSIse3N0eWxlOmw9PT0wP2lyOmFyLHgxOngubGVmdCx4Mjp4LmxlZnQrRix5MTpPKGwpLHkyOk8obCl9KSxuLmpzeCgidGV4dCIse3N0eWxlOkplLHg6eC5sZWZ0LTgseTpPKGwpKzQsdGV4dEFuY2hvcjoiZW5kIixjaGlsZHJlbjpCKGwsai5kaWdpdHMsITEpfSldfSxsKSksZnIodCxyLGgpLm1hcChsPT5uLmpzeCgidGV4dCIse3N0eWxlOkplLHg6RChsLmRhdGUpLHk6Zy02LHRleHRBbmNob3I6Im1pZGRsZSIsY2hpbGRyZW46bC50ZXh0fSxsLmRhdGUpKSxlLm1hcChsPT57Y29uc3Qgdj1vbihsLnBvaW50cyxsLmdhcERhdGVzKTtyZXR1cm4gbi5qc3goImciLHsiZGF0YS1zZXJpZXMiOmwuaWQsc3R5bGU6e2NvbG9yOmB2YXIoJHtsLnRva2VufSlgfSxjaGlsZHJlbjp2Lm1hcCgoW0UsR10pPT57Y29uc3QgTD1sLnBvaW50cy5zbGljZShFLEcrMSk7aWYoTC5sZW5ndGg8MilyZXR1cm4gbi5qc3goImNpcmNsZSIse2N4OkQoTFswXS5kYXRlKSxjeTpPKExbMF0udmFsdWUpLHI6MixmaWxsOiJjdXJyZW50Q29sb3IifSxFKTtjb25zdCBoZT1MLm1hcCgobWUsUmUpPT5gJHtSZT8iTCI6Ik0ifSR7RChtZS5kYXRlKS50b0ZpeGVkKDEpfSAke08obWUudmFsdWUpLnRvRml4ZWQoMSl9YCkuam9pbigiIik7cmV0dXJuIG4uanN4cygiZyIse2NoaWxkcmVuOltsLnByaW1hcnk/bi5qc3goInBhdGgiLHtzdHlsZTpscixkOmAke2hlfUwke0QoTFtMLmxlbmd0aC0xXS5kYXRlKS50b0ZpeGVkKDEpfSAke08oMCkudG9GaXhlZCgxKX1MJHtEKExbMF0uZGF0ZSkudG9GaXhlZCgxKX0gJHtPKDApLnRvRml4ZWQoMSl9WmB9KTpudWxsLG4uanN4KCJwYXRoIix7Y2xhc3NOYW1lOiJtcmQtYmNoYXJ0LWxpbmUiLGQ6aGUsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOmwucHJpbWFyeT8yLjY6MS44LHN0cm9rZURhc2hhcnJheTpsLmRhc2h8fHZvaWQgMCxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0sRSl9KX0sbC5pZCl9KSxlLm1hcCgobCx2KT0+e2NvbnN0IEU9bC5wb2ludHNbbC5wb2ludHMubGVuZ3RoLTFdO2lmKCFFKXJldHVybiBudWxsO2NvbnN0IEc9aD9CKEUudmFsdWUpOmAke2wubGFiZWx9ICR7QihFLnZhbHVlKX1gO3JldHVybiBuLmpzeCgidGV4dCIse2NsYXNzTmFtZToibXJkLWJjaGFydC1lbmQiLCJkYXRhLXNlcmllcyI6bC5pZCx4OngubGVmdCtGKzgseTpTW3ZdKzQsc3R5bGU6ey4uLm9yLGZpbGw6YHZhcigke2wudG9rZW59KWB9LGNoaWxkcmVuOkd9LGwuaWQpfSksXz9uLmpzeHMoImciLHtjaGlsZHJlbjpbbi5qc3goImxpbmUiLHtzdHlsZTpkcix4MTpEKF8pLHgyOkQoXykseTE6eC50b3AseTI6eC50b3ArS30pLEEubWFwKCh7bGluZTpsLHZhbHVlOnZ9KT0+dj09PW51bGw/bnVsbDpuLmpzeCgiY2lyY2xlIix7ImRhdGEtc2VyaWVzIjpsLmlkLGN4OkQoXyksY3k6Tyh2KSxyOjQsc3R5bGU6e2ZpbGw6YHZhcigke2wudG9rZW59KWAsc3Ryb2tlOiJ2YXIoLS1tcmQtcGFuZWwtMikiLHN0cm9rZVdpZHRoOjJ9fSxsLmlkKSldfSk6bnVsbF19KSxfJiYhaD9uLmpzeHMoImRpdiIse3N0eWxlOnsuLi55LnRpcCwuLi5IP3tyaWdodDpjLUQoXykrMTJ9OntsZWZ0OkQoXykrMTJ9fSwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpbbi5qc3goImIiLHtjaGlsZHJlbjpqZShfLHIpfSksQS5tYXAoKHtsaW5lOmwsdmFsdWU6dn0pPT5uLmpzeHMoInNwYW4iLHtzdHlsZTp7Li4ueS5yZWFkb3V0SXRlbSxkaXNwbGF5OiJmbGV4In0sImRhdGEtc2VyaWVzIjpsLmlkLGNoaWxkcmVuOltuLmpzeCgiaSIse3N0eWxlOnkuZG90KGwudG9rZW4pfSksbC5sYWJlbCxuLmpzeCgiZW0iLHtzdHlsZTp5LnZhbHVlLGNoaWxkcmVuOkIodil9KV19LGwuaWQpKV19KTpudWxsXX0pfWZ1bmN0aW9uIGd0KCl7Y29uc3QgZT0iKG1heC13aWR0aDogNzYwcHgpIixbdCxyXT1mLnVzZVN0YXRlKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/d2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlczohMSk7cmV0dXJuIGYudXNlRWZmZWN0KCgpPT57Y29uc3Qgcz13aW5kb3cubWF0Y2hNZWRpYT8uKGUpO2lmKCFzKXJldHVybjtjb25zdCBhPSgpPT5yKHMubWF0Y2hlcyk7cmV0dXJuIGEoKSxzLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYSksKCk9PnMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhKX0sW10pLHR9ZnVuY3Rpb24gbXIoZSx0KXtyZXR1cm4gZS5jb3ZlcmFnZT09PSJmdWxsIj8iZnVsbCI6ZS5jb3ZlcmFnZT09PSJwYXJ0aWFsIiYmZS5iYXNlRGF0ZSYmZS5iYXNlRGF0ZT50PyJmcm9tIjoidW5hdmFpbGFibGUifWZ1bmN0aW9uIGJlKHt0b2tlbjplLGRhc2g6dCxwcmltYXJ5OnJ9KXtyZXR1cm4gbi5qc3goInN2ZyIse3N0eWxlOntmbGV4OiJub25lIn0sd2lkdGg6IjI2IixoZWlnaHQ6IjgiLHZpZXdCb3g6IjAgMCAyNiA4IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixmb2N1c2FibGU6ImZhbHNlIixjaGlsZHJlbjpuLmpzeCgibGluZSIse3gxOiIxIix4MjoiMjUiLHkxOiI0Iix5MjoiNCIsc3Ryb2tlOmB2YXIoJHtlfSlgLHN0cm9rZVdpZHRoOnI/Mi42OjEuOCxzdHJva2VEYXNoYXJyYXk6dHx8dm9pZCAwLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pfSl9ZnVuY3Rpb24gZ3Ioe3Q6ZSxsYW5ndWFnZTp0LHBvcnRmb2xpbzpyLHBvcnRmb2xpb1N0YXRzOnMsd2luZG93OmEsYmVuY2htYXJrczppLGluaXRpYWxTZWxlY3Rpb246Y30pe2NvbnN0W2QsdV09Zi51c2VTdGF0ZSgoKT0+Yz9bLi4uY106bG4oKSksW3AsaF09Zi51c2VTdGF0ZSgoKT0+ZC5zb21lKG09PlVbbV0uZXh0cmEpKSxnPWd0KCksaz1pLnBoYXNlPT09InJlYWR5Ij9pLm1vZGVsOm51bGwseD1tPT57Y29uc3QgUz1kLmluY2x1ZGVzKG0pP2QuZmlsdGVyKEE9PkEhPT1tKTpbLi4uZCxtXTt1KFMpLGRuKFMpfSxqPW09PmUoYHBlcmYuYmVuY2guJHttfWApLFQ9Zi51c2VNZW1vKCgpPT57Y29uc3QgbT17fTtmb3IoY29uc3QgUyBvZiBZKXtjb25zdCBBPWs/ay5zZXJpZXNbU106bnVsbCxIPUE/bXIoQSxhLnN0YXJ0KToidW5hdmFpbGFibGUiO21bU109e3NlcmllczpBLHN0YXRlOkgsc3RhdHM6QSYmQS5jb3ZlcmFnZT09PSJmdWxsIj9vdChBLnBvaW50cyk6bnVsbH19cmV0dXJuIG19LFtrLGEuc3RhcnRdKSxNPVt7aWQ6InBmIixsYWJlbDplKCJwZXJmLnBvcnRmb2xpbyIpLHRva2VuOiItLW1yZC1wIixkYXNoOiIiLHByaW1hcnk6ITAscG9pbnRzOnIucG9pbnRzLGdhcERhdGVzOnIuZ2FwRGF0ZXN9LC4uLlkuZmlsdGVyKG09PmQuaW5jbHVkZXMobSkmJlRbbV0uc3RhdHMhPT1udWxsKS5tYXAobT0+KHtpZDptLGxhYmVsOmoobSksdG9rZW46VVttXS50b2tlbixkYXNoOlVbbV0uZGFzaCxwcmltYXJ5OiExLHBvaW50czpUW21dLnNlcmllcz8ucG9pbnRzPz9bXSxnYXBEYXRlczpbXX0pKV0sST1ULnNweC5zdGF0cyxDPXJuKHMsSSksRj1ZLmZsYXRNYXAobT0+VFttXS5zdGF0cyYmVFttXS5zZXJpZXM/Lmxhc3REYXRlfHxbXSksSz1GLmxlbmd0aD9bLi4uRl0uc29ydCgpLmF0KC0xKTpudWxsLEQ9az9rLnJldHVybkJhc2lzPT09ImV0Zl9jbG9zZV9wcmljZV9yZXR1cm4iP2UoInBlcmYuYmFzaXMuZXRmX2Nsb3NlX3ByaWNlX3JldHVybiIpOmsucmV0dXJuQmFzaXM6IiIsTz1wP1k6a2UsJD1tPT57Y29uc3QgUz1kLmluY2x1ZGVzKG0pO3JldHVybiBuLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6eS5jaGlwKFMpLCJhcmlhLXByZXNzZWQiOlMsImRhdGEtc2VyaWVzIjptLCJkYXRhLXN0YXRlIjpUW21dLnN0YXRlLG9uQ2xpY2s6KCk9PngobSksY2hpbGRyZW46W24uanN4KCJzcGFuIix7c3R5bGU6eS5jaGVjayhTKSwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpTPyLinJMiOiIifSksbi5qc3goYmUse3Rva2VuOlVbbV0udG9rZW4sZGFzaDpVW21dLmRhc2h9KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOmoobSl9KSxVW21dLmV4dHJhP251bGw6bi5qc3goInNtYWxsIix7c3R5bGU6eS50aWNrZXIsY2hpbGRyZW46VVttXS5zeW1ib2x9KV19LG0pfSxfPW09Pm4uanN4KCJ0ZCIse3N0eWxlOnkudGQoZyksY2hpbGRyZW46bX0pLEo9KG0sUyk9Pm09PT0iZnJvbSImJlM/LmJhc2VEYXRlP2UoInBlcmYuZnJvbSIse2RhdGU6amUoUy5iYXNlRGF0ZSx0KX0pOm09PT0idW5hdmFpbGFibGUiP2UoInBlcmYudW5hdmFpbGFibGUiKTpudWxsO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTp5LmJlbmNoLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtYmVuY2gtdGl0bGUiLCJkYXRhLWJlbmNobWFyay1waGFzZSI6aS5waGFzZSxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1iZW5jaC10aXRsZSIsY2hpbGRyZW46ZSgicGVyZi5jaGFydC50aXRsZSIpfSksbi5qc3hzKCJkaXYiLHtzdHlsZTp5LmtwaSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46ZSgicGVyZi5rcGkuY2FnciIpfSksbi5qc3goImIiLHtjbGFzc05hbWU6Im1yZC1zZXJpZiIsc3R5bGU6eS5rcGlWYWx1ZShnKSxjaGlsZHJlbjpCKHMuY2FnciwxLCExKX0pLG4uanN4KCJzbWFsbCIse3N0eWxlOnkua3BpU3ViLCJkYXRhLXRlc3RpZCI6ImNhZ3ItZ2FwIixjaGlsZHJlbjpDPT09bnVsbD9lKCJwZXJmLmtwaS52c191bmF2YWlsYWJsZSIpOmUoInBlcmYua3BpLnZzX3NweCIse2Q6WGUoQyl9KX0pXX0pXX0pLGkucGhhc2U9PT0iZmFpbGVkIj9uLmpzeCgicCIse3N0eWxlOnkubm90ZSxyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOmUoInBlcmYuZmV0Y2hfZmFpbGVkIil9KTpudWxsLG4uanN4cygiZGl2Iix7c3R5bGU6eS5jaGlwcyxyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOmUoInBlcmYuYmVuY2guZ3JvdXAiKSxjaGlsZHJlbjpbbi5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6eS5jaGlwKG51bGwpLGNoaWxkcmVuOltuLmpzeChiZSx7dG9rZW46Ii0tbXJkLXAiLGRhc2g6IiIscHJpbWFyeTohMH0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46ZSgicGVyZi5wb3J0Zm9saW8iKX0pXX0pLGtlLm1hcCgkKSxuLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsc3R5bGU6eS5jaGlwKCEwKSwiYXJpYS1leHBhbmRlZCI6cCwiYXJpYS1jb250cm9scyI6Im1yZC1iZW5jaC1leHRyYXMiLG9uQ2xpY2s6KCk9PmgobT0+IW0pLGNoaWxkcmVuOltlKCJwZXJmLm1vcmUiKSwiICIsbi5qc3goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpwPyLiiJIiOiIrIn0pXX0pXX0pLG4uanN4cygiZGl2Iix7aWQ6Im1yZC1iZW5jaC1leHRyYXMiLHN0eWxlOnkuZXh0cmFzKHApLGhpZGRlbjohcCxjaGlsZHJlbjpbbi5qc3goImRpdiIse3N0eWxlOnkuY2hpcHMscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjplKCJwZXJmLm1vcmUiKSxjaGlsZHJlbjppdC5tYXAoJCl9KSxuLmpzeCgicCIse3N0eWxlOnkubm90ZSxjaGlsZHJlbjplKCJwZXJmLm1vcmUubm90ZSIpfSldfSksbi5qc3goaHIse2xpbmVzOk0sd2luZG93OmEsbGFuZ3VhZ2U6dCxhcmlhTGFiZWw6ZSgicGVyZi5jaGFydC5hcmlhIiksaGludDplKCJwZXJmLnJlYWRvdXQubm9uZSIpfSksbi5qc3goInAiLHtzdHlsZTp5Lm5vdGUsY2hpbGRyZW46Sz9lKCJwZXJmLmZvb3QiLHtiYXNpczpELGRhdGU6amUoSyx0KX0pOmUoInBlcmYuZm9vdC5ub25lIil9KSxuLmpzeHMoImRpdiIse3N0eWxlOnkudGFibGVXcmFwLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjplKCJwZXJmLnRhYmxlLnRpdGxlIil9KSxuLmpzeHMoInRhYmxlIix7c3R5bGU6eS50YWJsZSxjaGlsZHJlbjpbbi5qc3goInRoZWFkIix7Y2hpbGRyZW46bi5qc3hzKCJ0ciIse2NoaWxkcmVuOltuLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTp5LnRoKCEwLGcpLGNoaWxkcmVuOmUoInBlcmYuY29sLm5hbWUiKX0pLG4uanN4KCJ0aCIse3Njb3BlOiJjb2wiLHN0eWxlOnkudGgoITEsZyksY2hpbGRyZW46ZSgicGVyZi5jb2wucmV0dXJuIil9KSxuLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTp5LnRoKCExLGcpLGNoaWxkcmVuOmUoInBlcmYuY29sLmNhZ3IiKX0pLG4uanN4KCJ0aCIse3Njb3BlOiJjb2wiLHN0eWxlOnkudGgoITEsZyksY2hpbGRyZW46ZSgicGVyZi5jb2wubWRkIil9KSxuLmpzeCgidGgiLHtzY29wZToiY29sIixzdHlsZTp5LnRoKCExLGcpLGNoaWxkcmVuOmUoInBlcmYuY29sLmV4Y2VzcyIpfSldfSl9KSxuLmpzeHMoInRib2R5Iix7Y2hpbGRyZW46W24uanN4cygidHIiLHtzdHlsZTp5LnJvd1RyKCExLCEwKSwiZGF0YS1zZXJpZXMiOiJwZiIsY2hpbGRyZW46W24uanN4KCJ0aCIse3Njb3BlOiJyb3ciLHN0eWxlOnkucm93SGVhZChnKSxjaGlsZHJlbjpuLmpzeHMoImRpdiIse3N0eWxlOnkubmFtZSxjaGlsZHJlbjpbbi5qc3goYmUse3Rva2VuOiItLW1yZC1wIixkYXNoOiIiLHByaW1hcnk6ITB9KSxlKCJwZXJmLnBvcnRmb2xpbyIpXX0pfSksXyhCKHMucmV0KSksXyhCKHMuY2FncikpLF8oQihzLm1heERyYXdkb3duKSksXygi4oCUIildfSksTy5tYXAobT0+e2NvbnN0IFM9VFttXSxBPSFkLmluY2x1ZGVzKG0pLEg9SihTLnN0YXRlLFMuc2VyaWVzKSxsPVMuc3RhdHM/bHQocy5yZXQsUy5zdGF0cy5yZXQpOm51bGw7cmV0dXJuIG4uanN4cygidHIiLHtzdHlsZTp5LnJvd1RyKEEsITEpLCJkYXRhLXNlcmllcyI6bSwiZGF0YS1oaWRkZW4iOkE/InRydWUiOiJmYWxzZSIsImRhdGEtc3RhdGUiOlMuc3RhdGUsY2hpbGRyZW46W24uanN4KCJ0aCIse3Njb3BlOiJyb3ciLHN0eWxlOnkucm93SGVhZChnKSxjaGlsZHJlbjpuLmpzeHMoImRpdiIse3N0eWxlOnkubmFtZSxjaGlsZHJlbjpbbi5qc3goYmUse3Rva2VuOlVbbV0udG9rZW4sZGFzaDpVW21dLmRhc2h9KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOmoobSl9KSxBJiYhZz9uLmpzeCgiZW0iLHtzdHlsZTp5LnRhZyxjaGlsZHJlbjplKCJwZXJmLmhpZGRlbiIpfSk6bnVsbCxIP24uanN4KCJzbWFsbCIse3N0eWxlOnkuc3RhdGUoZyksY2hpbGRyZW46SH0pOm51bGxdfSl9KSxfKEIoUy5zdGF0cz8ucmV0Pz9udWxsKSksXyhCKFMuc3RhdHM/LmNhZ3I/P251bGwpKSxfKEIoUy5zdGF0cz8ubWF4RHJhd2Rvd24/P251bGwpKSxuLmpzeHMoInRkIix7c3R5bGU6eS50ZChnLG5yKGwpKSwiZGF0YS1zaWduIjpsPT09bnVsbD8ibm9uZSI6bDwwPyJuZWciOmw+MD8icG9zIjoiemVybyIsY2hpbGRyZW46W1hlKGwpLGw9PT1udWxsPyIiOmAgJHtlKCJwZXJmLnB0cyIpfWBdfSldfSxtKX0pXX0pXX0pLG4uanN4KCJwIix7c3R5bGU6eS5ub3RlLGNoaWxkcmVuOmUoInBlcmYuZXhjZXNzLm5vdGUiKX0pXX0pXX0pfWNvbnN0IFFlPWU9PmU/LnN0YXR1cz09PSJrbm93biImJnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIiYmL14tP1xkKyhcLlxkKyk/JC8udGVzdChlLnZhbHVlKT9OdW1iZXIoZS52YWx1ZSk6bnVsbDtmdW5jdGlvbiB5cihlLHQpe3JldHVybntyZXQ6UWUoZS5yaXNrLnJldHVybl9yYXRpbyk/P3QucmV0LGNhZ3I6dC5jYWdyLG1heERyYXdkb3duOlFlKGUucmlzay5tYXhfZHJhd2Rvd25fcmF0aW8pPz90Lm1heERyYXdkb3dufX1mdW5jdGlvbiBicih7YXBpOmUsdCxsYW5ndWFnZTpyfSl7Y29uc3Qgcz1ndCgpLFthLGldPWYudXNlU3RhdGUoe3N0YXRlOiJsb2FkaW5nIn0pLFtjLGRdPWYudXNlU3RhdGUoe3BoYXNlOiJsb2FkaW5nIn0pO2YudXNlRWZmZWN0KCgpPT57bGV0IGs9ITA7cmV0dXJuIGkoe3N0YXRlOiJsb2FkaW5nIn0pLGUucGVyZm9ybWFuY2UoKS50aGVuKHg9PmsmJmkoe3N0YXRlOiJyZWFkeSIscmVzdWx0Onh9KSwoKT0+ayYmaSh7c3RhdGU6ImZhaWxlZCJ9KSksKCk9PntrPSExfX0sW2VdKTtjb25zdCB1PWEuc3RhdGU9PT0icmVhZHkiP2EucmVzdWx0Om51bGwscD1mLnVzZU1lbW8oKCk9PnU/c24odS5kYXRhLmVxdWl0eS5kYXRlcyx1LmRhdGEuZXF1aXR5LnBvcnRmb2xpb19pbmRleGVkLHUuZGF0YS5lcXVpdHkuZ2FwX2RhdGVzKTpudWxsLFt1XSksaD1wP3tzdGFydDpwLnBvaW50c1swXS5kYXRlLGVuZDpwLnBvaW50c1twLnBvaW50cy5sZW5ndGgtMV0uZGF0ZX06bnVsbDtmLnVzZUVmZmVjdCgoKT0+e2lmKCF1fHwhaClyZXR1cm47bGV0IGs9ITA7cmV0dXJuIGQoe3BoYXNlOiJsb2FkaW5nIn0pLGUuYmVuY2htYXJrcyhoLHUuc291cmNlLHUuc2NlbmFyaW8pLnRoZW4oeD0+e2lmKCFrKXJldHVybjtjb25zdCBqPXRuKHgsaCk7ZChqP3twaGFzZToicmVhZHkiLG1vZGVsOmp9OntwaGFzZToiZmFpbGVkIn0pfSwoKT0+ayYmZCh7cGhhc2U6ImZhaWxlZCJ9KSksKCk9PntrPSExfX0sW2UsdSxoPy5zdGFydCxoPy5lbmRdKTtjb25zdCBnPWEuc3RhdGU9PT0ibG9hZGluZyI/bi5qc3goInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46bi5qc3goInAiLHtjaGlsZHJlbjp0KCJwZXJmLmxvYWRpbmciKX0pfSk6YS5zdGF0ZT09PSJmYWlsZWQifHwhdXx8IXB8fCFoP24uanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIscm9sZToic3RhdHVzIixjaGlsZHJlbjpuLmpzeCgicCIse2NoaWxkcmVuOnQoInBlcmYucG9ydGZvbGlvX3VuYXZhaWxhYmxlIil9KX0pOm4uanN4KGdyLHt0LGxhbmd1YWdlOnIscG9ydGZvbGlvOnAscG9ydGZvbGlvU3RhdHM6eXIodS5kYXRhLG90KHAucG9pbnRzKSksd2luZG93OmgsYmVuY2htYXJrczpjfSk7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse3N0eWxlOnkucGFnZSwiYXJpYS1sYWJlbGxlZGJ5IjoibXJkLXBhZ2UtdGl0bGUiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse2NsYXNzTmFtZToibXJkLWNhcmQiLGNoaWxkcmVuOltuLmpzeCgiaDEiLHtpZDoibXJkLXBhZ2UtdGl0bGUiLGNsYXNzTmFtZToibXJkLXNlcmlmIixzdHlsZTp5LnRpdGxlKHMscj09PSJ6aCIpLGNoaWxkcmVuOnQoInBhZ2UucGVyZm9ybWFuY2UuaGVhZGxpbmUiKX0pLHU/LnNvdXJjZT09PSJtb2NrIj9uLmpzeCgicCIse3N0eWxlOnsuLi55Lm5vdGUsbWFyZ2luVG9wOjh9LGNoaWxkcmVuOnQoInBlcmYubW9ja19ub3RlIil9KTpudWxsXX0pLGddfSl9Y29uc3QgUT17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixtaW5XaWR0aDowfSxlZT17ZGlzcGxheToiZmxleCIsZmxleFdyYXA6IndyYXAiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjh9LG89e3BhZ2U6ey4uLlEsZ2FwOjE2fSxoZXJvOnsuLi5RLGdhcDo4LG92ZXJmbG93OiJoaWRkZW4ifSx0aXRsZTooZSx0KT0+KHttYXJnaW46MCxmb250U2l6ZTplP3Q/MjQ6Mjg6dD8zMjozOCxsaW5lSGVpZ2h0OjEuMTV9KSxsZWFkOnttYXJnaW46MCxjb2xvcjoidmFyKC0tbXJkLWluay0yKSIsbWF4V2lkdGg6IjU2ZW0ifSxncmlkOntkaXNwbGF5OiJncmlkIixncmlkVGVtcGxhdGVDb2x1bW5zOiJyZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSkiLGdhcDoxMn0sY2F0YWxvZ0dyaWQ6e2Rpc3BsYXk6ImdyaWQiLGdyaWRUZW1wbGF0ZUNvbHVtbnM6InJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKSIsZ2FwOjEyfSxjYXJkOnsuLi5RLGdhcDoxMCxwYWRkaW5nOjE2LGJvcmRlclJhZGl1czoxOCxiYWNrZ3JvdW5kOiJ2YXIoLS1tcmQtcGFuZWwtMikiLGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSJ9LGNhcmRIZWFkOnsuLi5lZSxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsYWxpZ25JdGVtczoiYmFzZWxpbmUifSxyb3c6ey4uLmVlfSxyb3dCZXR3ZWVuOnsuLi5lZSxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNvbHVtbjp7Li4uUSxnYXA6NH0sbXV0ZWQ6e21hcmdpbjowLGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMn0sbW9ubzp7Zm9udEZhbWlseToidmFyKC0tZm9udC1tb25vKSIsZm9udFNpemU6MTEuNSxjb2xvcjoidmFyKC0tbXJkLWluay0zKSJ9LHN0cmlwOntkaXNwbGF5OiJncmlkIixncmlkVGVtcGxhdGVDb2x1bW5zOiJyZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSkiLGdhcDoxMn0sc3RyaXBDb2w6ey4uLlEsZ2FwOjYscGFkZGluZzoxNCxib3JkZXJSYWRpdXM6MTYsYmFja2dyb3VuZDoidmFyKC0tbXJkLXBhbmVsKSIsYm9yZGVyOiIxcHggc29saWQgdmFyKC0tbXJkLWxpbmUpIn0sZmlsdGVyUm93OnsuLi5lZSxnYXA6Nn0sZmlsdGVyQnV0dG9uOmU9Pih7cGFkZGluZzoiNnB4IDEycHgiLGJvcmRlclJhZGl1czo5OSxib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLGJhY2tncm91bmQ6ZT8idmFyKC0tbXJkLXBhbmVsLTIpIjoibm9uZSIsY29sb3I6ZT8idmFyKC0tbXJkLWluaykiOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250OiI1MDAgMTJweCB2YXIoLS1mb250LXNhbnMpIixjdXJzb3I6InBvaW50ZXIifSksdGFyZ2V0Um93OmU9Pih7Li4uZWUsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjEwcHggMTJweCIsYm9yZGVyUmFkaXVzOjE0LGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsYmFja2dyb3VuZDplPyJ2YXIoLS1tcmQtcGFuZWwtMikiOiJub25lIn0pLHN0ZXBSb3c6ey4uLmVlLGdhcDo2LGFsaWduSXRlbXM6InN0cmV0Y2gifSxzdGVwOmU9Pih7Li4uUSxmbGV4OiIxIDEgMTIwcHgiLGdhcDoyLHBhZGRpbmc6IjhweCAxMHB4Iixib3JkZXJSYWRpdXM6MTIsYm9yZGVyOiIxcHggc29saWQgdmFyKC0tbXJkLWxpbmUpIixiYWNrZ3JvdW5kOmU9PT0iY3VycmVudCI/InZhcigtLW1yZC1wYW5lbC0yKSI6Im5vbmUiLG9wYWNpdHk6ZT09PSJ0b2RvIj8uNzoxfSksc3RlcE51bWJlcjp7Zm9udDoiNTAwIDEwLjVweCB2YXIoLS1mb250LW1vbm8pIixjb2xvcjoidmFyKC0tbXJkLWluay0zKSJ9LHN0ZXBOYW1lOntmb250U2l6ZToxMi41LGZvbnRXZWlnaHQ6NTAwfSxiYWRnZTplPT4oe2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LHBhZGRpbmc6IjNweCA5cHgiLGJvcmRlclJhZGl1czo5OSxib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkiLGNvbG9yOmU9PT0icmlzayI/InZhcigtLW1yZC1jb3JhbCkiOmU9PT0id2FybiI/InZhcigtLW1yZC1hbWJlcikiOmU9PT0ib2siPyJ2YXIoLS1tcmQtbWludCkiOiJ2YXIoLS1tcmQtdW5rbm93bikiLGZvbnQ6IjUwMCAxMXB4IHZhcigtLWZvbnQtc2FucykiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9KSxhY3Rpb25Sb3c6ey4uLmVlLGdhcDo4LG1hcmdpblRvcDo0fSxsaW5rOntjb2xvcjoidmFyKC0tbXJkLXZpb2xldCkiLHRleHREZWNvcmF0aW9uOiJub25lIixmb250V2VpZ2h0OjUwMH0sZGl2aWRlcjp7aGVpZ2h0OjEsYmFja2dyb3VuZDoidmFyKC0tbXJkLWxpbmUpIixib3JkZXI6MCxtYXJnaW46IjRweCAwIn0sZGV0YWlsTGlzdDp7ZGlzcGxheToiZ3JpZCIsZ3JpZFRlbXBsYXRlQ29sdW1uczoicmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTYwcHgsIDFmcikpIixnYXA6OCxtYXJnaW46MH0sZGV0YWlsSXRlbTp7Li4uUSxnYXA6Mn0sZGV0YWlsTGFiZWw6e21hcmdpbjowLGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMX0sZGV0YWlsVmFsdWU6e21hcmdpbjowLGZvbnRTaXplOjEzLG92ZXJmbG93V3JhcDoiYW55d2hlcmUifX0seHI9e2xpc3RTdHlsZToibm9uZSIsbWFyZ2luOjAscGFkZGluZzowLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEwfSx3cj17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NCxwYWRkaW5nOiIxMHB4IDEycHgiLGJvcmRlclJhZGl1czoxNCxib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1tcmQtbGluZSkifTtmdW5jdGlvbiBrcih7aXRlbXM6ZSx0fSl7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOm8uY29sdW1uLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtbmVlZHMtdGl0bGUiLCJkYXRhLW5lZWRzLWNvdW50IjplLmxlbmd0aCxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1uZWVkcy10aXRsZSIsY2hpbGRyZW46dCgib3ZlcnZpZXcubmVlZHMudGl0bGUiKX0pLGUubGVuZ3RoPT09MD9uLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46dCgib3ZlcnZpZXcubmVlZHMuZW1wdHkiKX0pOm4uanN4KCJ1bCIse3N0eWxlOnhyLGNoaWxkcmVuOmUubWFwKHI9Pm4uanN4cygibGkiLHtzdHlsZTp3ciwiZGF0YS1uZWVkLWtpbmQiOnIua2luZCwiZGF0YS1zZXZlcml0eSI6ci5zZXZlcml0eSxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtzdHlsZTpvLnJvd0JldHdlZW4sY2hpbGRyZW46W24uanN4KCJiIix7c3R5bGU6e2ZvbnRTaXplOjEzLjV9LGNoaWxkcmVuOnIudGl0bGV9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8uYmFkZ2Uoci5zZXZlcml0eT09PSJjcml0aWNhbCI/InJpc2siOnIuc2V2ZXJpdHk9PT0id2FybmluZyI/Indhcm4iOiJ1bmtub3duIiksY2hpbGRyZW46dChgc2V2ZXJpdHkuJHtyLnNldmVyaXR5fWApfSldfSksbi5qc3goInAiLHtzdHlsZTp7bWFyZ2luOjAsY29sb3I6InZhcigtLW1yZC1pbmstMikiLGZvbnRTaXplOjEyLjV9LGNoaWxkcmVuOnIuZGV0YWlsfSksbi5qc3goImRpdiIse3N0eWxlOm8uYWN0aW9uUm93LGNoaWxkcmVuOm4uanN4KCJhIix7c3R5bGU6by5saW5rLGhyZWY6S24oci5hY3Rpb24ucm91dGUpLGNoaWxkcmVuOnIuYWN0aW9uLmxhYmVsfSl9KV19LHIuaWQpKX0pXX0pfWZ1bmN0aW9uIGZlKGUsdCl7Y29uc3RbcixzXT1mLnVzZVN0YXRlKCgpPT4oe3N0YXRlOiJsb2FkaW5nIixzdGFydGVkQXQ6RGF0ZS5ub3coKX0pKSxbYSxpXT1mLnVzZVN0YXRlKDApLGM9Zi51c2VSZWYoZSk7Yy5jdXJyZW50PWUsZi51c2VFZmZlY3QoKCk9PntsZXQgdT0hMDtyZXR1cm4gcyh7c3RhdGU6ImxvYWRpbmciLHN0YXJ0ZWRBdDpEYXRlLm5vdygpfSksYy5jdXJyZW50KCkudGhlbihwPT57dSYmcyh7c3RhdGU6InJlYWR5IixyZXN1bHQ6cH0pfSwoKT0+e3UmJnMoe3N0YXRlOiJmYWlsZWQifSl9KSwoKT0+e3U9ITF9fSxbLi4udCxhXSk7Y29uc3QgZD1mLnVzZUNhbGxiYWNrKCgpPT5pKHU9PnUrMSksW10pO3JldHVybntsb2FkOnIscmVsb2FkOmR9fWZ1bmN0aW9uIEZlKCl7Y29uc3QgZT0iKG1heC13aWR0aDogNzYwcHgpIixbdCxyXT1mLnVzZVN0YXRlKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/d2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlczohMSk7cmV0dXJuIGYudXNlRWZmZWN0KCgpPT57Y29uc3Qgcz13aW5kb3cubWF0Y2hNZWRpYT8uKGUpO2lmKCFzKXJldHVybjtjb25zdCBhPSgpPT5yKHMubWF0Y2hlcyk7cmV0dXJuIGEoKSxzLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYSksKCk9PnMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhKX0sW10pLHR9ZnVuY3Rpb24gX3Ioe2FwaTplLHQsbGFuZ3VhZ2U6cn0pe2NvbnN0IHM9ZmUoKCk9PmUub3ZlcnZpZXcoKSxbZV0pLGE9RmUoKTtpZihzLmxvYWQuc3RhdGU9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KHBlLHt0LGxhYmVsOnQoIm92ZXJ2aWV3LnRpdGxlIiksc3RhcnRlZEF0OnMubG9hZC5zdGFydGVkQXQsb25SZXRyeTpzLnJlbG9hZH0pO2lmKHMubG9hZC5zdGF0ZT09PSJmYWlsZWQiKXJldHVybiBuLmpzeChpZSx7dCxvblJldHJ5OnMucmVsb2FkfSk7Y29uc3QgaT1zLmxvYWQucmVzdWx0LmRhdGEsYz1pLmZyZXNobmVzcy5kYXRhX3N0YXR1cyE9PSJyZWFkeSI7cmV0dXJuIG4uanN4cygic2VjdGlvbiIse3N0eWxlOm8ucGFnZSwiYXJpYS1sYWJlbGxlZGJ5IjoibXJkLXBhZ2UtdGl0bGUiLCJkYXRhLXBhZ2UiOiJvdmVydmlldyIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsc3R5bGU6by5oZXJvLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJvdmVydmlldy5leWVicm93Iil9KSxuLmpzeCgiaDEiLHtpZDoibXJkLXBhZ2UtdGl0bGUiLGNsYXNzTmFtZToibXJkLXNlcmlmIixzdHlsZTpvLnRpdGxlKGEscj09PSJ6aCIpLGNoaWxkcmVuOnQoIm92ZXJ2aWV3LnRpdGxlIil9KSxuLmpzeCgicCIse3N0eWxlOm8ubGVhZCxjaGlsZHJlbjp0KCJvdmVydmlldy5ib2R5Iil9KSxuLmpzeChtdCx7c3RhdGU6e2tpbmQ6InJlYWQiLGRhdGFfc3RhdHVzOmkuZnJlc2huZXNzLmRhdGFfc3RhdHVzLGFnZV9zZWNvbmRzOmkuZnJlc2huZXNzLmFnZV9zZWNvbmRzfSx0LGxhbmd1YWdlOnJ9KV19KSxjP24uanN4KEVlLHt0LGxhbmd1YWdlOnIsYWdlU2Vjb25kczppLmZyZXNobmVzcy5hZ2Vfc2Vjb25kc30pOm51bGwsaS5uZWVkc195b3UubGVuZ3RoPT09MCYmYz9uLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpvLmNvbHVtbixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJvdmVydmlldy5uZWVkcy50aXRsZSIpfSksbi5qc3goInAiLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnQoIm92ZXJ2aWV3Lm5lZWRzLnVua25vd24iKX0pXX0pOmkubmVlZHNfeW91Lmxlbmd0aD09PTA/bi5qc3goYWUse3QsdGl0bGU6dCgib3ZlcnZpZXcubmVlZHMuZW1wdHkiKX0pOm4uanN4KGtyLHtpdGVtczppLm5lZWRzX3lvdSx0fSkscy5sb2FkLnJlc3VsdC5zb3VyY2U9PT0ibW9jayI/bi5qc3goInAiLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnQoIm1vY2sudGl0bGUiKX0pOm51bGxdfSl9Y29uc3QgSWU9WyJub3RfZHVlIiwiMzAiLCI3IiwiMSIsImV4cGlyZWQiLCJ1bmtub3duIl07ZnVuY3Rpb24gdnIoZSl7cmV0dXJuIEllLmluY2x1ZGVzKGUpfWZ1bmN0aW9uIEJlKGUpe3JldHVybiBlPT09IjE0Ij8iMzAiOnZyKGUpP2U6InVua25vd24ifWZ1bmN0aW9uIGpyKGUpe2NvbnN0IHQ9e25vdF9kdWU6MCwzMDowLDc6MCwxOjAsZXhwaXJlZDowLHVua25vd246MH07Zm9yKGNvbnN0IHIgb2YgZSl0W0JlKHIucGhhc2UpXSs9MTtyZXR1cm4gdH1jb25zdCBTcj17bm90X2R1ZToib2siLDMwOiJ3YXJuIiw3OiJ3YXJuIiwxOiJ3YXJuIixleHBpcmVkOiJyaXNrIix1bmtub3duOiJ1bmtub3duIn07ZnVuY3Rpb24gQWUoZSx0KXtyZXR1cm4gdChgY3JlZGVudGlhbC5waGFzZS4ke2V9YCl9ZnVuY3Rpb24geXQoZSx0KXtjb25zdCByPXV0KGUsdCkscz1jdChlKTtyZXR1cm4gciYmcz9gJHtyfSAke3N9IFVUQ2A6bnVsbH1mdW5jdGlvbiBIZShlLHQscixzKXtjb25zdCBhPUJlKHQpLGk9e3BoYXNlOmEsdG9uZTpTclthXSxuZWVkc1lvdTphPT09IjcifHxhPT09IjEifHxhPT09ImV4cGlyZWQiLHJlcXVpcmVzQWN0aW9uOmE9PT0iMzAifHxhPT09IjcifHxhPT09IjEifHxhPT09ImV4cGlyZWQifTtpZihlLnN0YXR1cz09PSJub25lIilyZXR1cm57Li4uaSxtYXJrOiLigJQiLGRldGFpbDpyKCJjcmVkZW50aWFsLmV4cGlyeS5ub25lIiksdG9uZToib2siLHVua25vd246ITF9O2lmKGUuc3RhdHVzPT09InVua25vd24iKXJldHVybnsuLi5pLG1hcms6cigicmVhZC51bmtub3duX21hcmsiKSxkZXRhaWw6YCR7cihgcmVhZC5yZWFzb24uJHtlLnJlYXNvbn1gKX0gwrcgJHtyKCJjcmVkZW50aWFsLmV4cGlyeS5zb3VyY2VfbWlzc2luZyIpfWAsdG9uZToidW5rbm93biIsdW5rbm93bjohMH07Y29uc3QgYz15dChlLmF0LHMpPz9yKCJyZWFkLnVua25vd24iKSxkPWAke0FlKGEscil9IMK3ICR7cigiY3JlZGVudGlhbC5leHBpcnkuc291cmNlIix7c291cmNlOmUuc291cmNlfSl9YDtyZXR1cm57Li4uaSxtYXJrOmMsZGV0YWlsOmQsdW5rbm93bjohMX19ZnVuY3Rpb24gTnIoZSx0LHIpe2NvbnN0IHM9QmUoZS5waGFzZSk7aWYocyE9PSI3IiYmcyE9PSIxIiYmcyE9PSJleHBpcmVkIilyZXR1cm4gbnVsbDtjb25zdCBhPUhlKGUuZXhwaXJ5LHMsdCxyKSxpPXM9PT0iZXhwaXJlZCI7cmV0dXJue2lkOmBjcmVkZW50aWFsOiR7ZS5pZH1gLGtpbmQ6ImNyZWRlbnRpYWxfZXhwaXJpbmciLHNldmVyaXR5Omk/ImNyaXRpY2FsIjoid2FybmluZyIsdGFyZ2V0X2lkOm51bGwsdGl0bGU6dChpPyJjcmVkZW50aWFsLm5lZWQuZXhwaXJlZCI6ImNyZWRlbnRpYWwubmVlZC50aXRsZSIse2xhYmVsOmUubGFiZWx9KSxkZXRhaWw6dCgiY3JlZGVudGlhbC5uZWVkLmRldGFpbCIse3BoYXNlOkFlKHMsdCksYXQ6YS5tYXJrfSksYWN0aW9uOntsYWJlbDp0KCJjcmVkZW50aWFsLm5lZWQuYWN0aW9uIikscm91dGU6YCMvZGVzay9hY2NvdW50cz90YWI9Y3JlZGVudGlhbHMmY3JlZGVudGlhbD0ke2VuY29kZVVSSUNvbXBvbmVudChlLmlkKX1gfX19ZnVuY3Rpb24gRXIoZSx0LHIpe3JldHVybiBlLm1hcChzPT5OcihzLHQscikpLmZpbHRlcihzPT5zIT09bnVsbCl9ZnVuY3Rpb24gQXIoe2NyZWRlbnRpYWw6ZSx0LGxhbmd1YWdlOnIsb25NYW5hZ2U6c30pe2NvbnN0IGE9SGUoZS5leHBpcnksZS5waGFzZSx0LHIpO3JldHVybiBuLmpzeHMoImRpdiIse3N0eWxlOm8ucm93QmV0d2VlbiwiZGF0YS1jcmVkZW50aWFsLXJvdyI6InRydWUiLCJkYXRhLWNyZWRlbnRpYWwtcGhhc2UiOmEucGhhc2UsImRhdGEtdW5rbm93biI6YS51bmtub3duPyJ0cnVlIjoiZmFsc2UiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse3N0eWxlOm8uY29sdW1uLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJjcmVkZW50aWFsLmV4cGlyeS5sYWJlbCIpfSksbi5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTN9LGNoaWxkcmVuOmEubWFya30pLG4uanN4KCJzcGFuIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjphLmRldGFpbH0pXX0pLG4uanN4cygiZGl2Iix7c3R5bGU6by5yb3csY2hpbGRyZW46W24uanN4KCJzcGFuIix7c3R5bGU6by5iYWRnZShhLnRvbmUpLGNoaWxkcmVuOkFlKGEucGhhc2UsdCl9KSxzP24uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToibXJkLWNoaXAiLG9uQ2xpY2s6cyxjaGlsZHJlbjp0KCJjcmVkZW50aWFsLmV4cGlyeS5tYW5hZ2UiKX0pOm51bGxdfSldfSl9Y29uc3QgUnI9e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixnYXA6NixwYWRkaW5nOjQsYm9yZGVyUmFkaXVzOjk5LGJhY2tncm91bmQ6InZhcigtLW1yZC1wYW5lbCkiLGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsYWxpZ25TZWxmOiJmbGV4LXN0YXJ0In0sVHI9ZT0+KHtwYWRkaW5nOiI3cHggMTZweCIsYm9yZGVyOjAsYm9yZGVyUmFkaXVzOjk5LGJhY2tncm91bmQ6ZT8idmFyKC0tbXJkLXBhbmVsLTIpIjoibm9uZSIsYm94U2hhZG93OmU/Imluc2V0IDAgMCAwIDFweCB2YXIoLS1tcmQtbGluZSkiOiJub25lIixjb2xvcjplPyJ2YXIoLS1tcmQtaW5rKSI6InZhcigtLW1yZC1pbmstMykiLGZvbnQ6IjUwMCAxM3B4IHZhcigtLWZvbnQtc2FucykiLGN1cnNvcjoicG9pbnRlciJ9KTtmdW5jdGlvbiBDcih7aWQ6ZSxpdGVtczp0LGFjdGl2ZTpyLG9uQ2hhbmdlOnMsbGFiZWw6YX0pe2NvbnN0IGk9Zi51c2VSZWYobnVsbCk7cmV0dXJuIG4uanN4KCJkaXYiLHtjbGFzc05hbWU6Im1yZC10YWJzIixyb2xlOiJ0YWJsaXN0IiwiYXJpYS1sYWJlbCI6YSxyZWY6aSxzdHlsZTpScixjaGlsZHJlbjp0Lm1hcChjPT5uLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixyb2xlOiJ0YWIiLGlkOmAke2V9LXRhYi0ke2MuaWR9YCwiYXJpYS1jb250cm9scyI6YCR7ZX0tcGFuZWxgLCJhcmlhLXNlbGVjdGVkIjpjLmlkPT09cix0YWJJbmRleDpjLmlkPT09cj8wOi0xLHN0eWxlOlRyKGMuaWQ9PT1yKSxvbkNsaWNrOigpPT5zKGMuaWQpLG9uS2V5RG93bjpkPT57Y29uc3QgdT10LmZpbmRJbmRleChnPT5nLmlkPT09Yy5pZCkscD1kLmtleT09PSJIb21lIj8wOmQua2V5PT09IkVuZCI/dC5sZW5ndGgtMTpkLmtleT09PSJBcnJvd1JpZ2h0Ij8odSsxKSV0Lmxlbmd0aDpkLmtleT09PSJBcnJvd0xlZnQiPyh1LTErdC5sZW5ndGgpJXQubGVuZ3RoOm51bGw7aWYocD09PW51bGwpcmV0dXJuO2QucHJldmVudERlZmF1bHQoKSxpLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPSJ0YWIiXScpPy5bcF0/LmZvY3VzKCkscyh0W3BdLmlkKX0sY2hpbGRyZW46Yy5sYWJlbH0sYy5pZCkpfSl9Y29uc3QgRHI9e2Rpc3BsYXk6ImdyaWQiLGdyaWRUZW1wbGF0ZUNvbHVtbnM6InJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDExMHB4LCAxZnIpKSIsZ2FwOjZ9LE1yPWU9Pih7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MixwYWRkaW5nOiI5cHggMTBweCIsYm9yZGVyUmFkaXVzOjEyLGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSIsYmFja2dyb3VuZDplPT09InVua25vd24iPyJub25lIjoidmFyKC0tbXJkLXBhbmVsKSIsY29sb3I6ZT09PSJleHBpcmVkIj8idmFyKC0tbXJkLWNvcmFsKSI6ZT09PSJ1bmtub3duIj8idmFyKC0tbXJkLXVua25vd24pIjoidmFyKC0tbXJkLWluaykifSk7ZnVuY3Rpb24gSXIoe2NvdW50czplLHR9KXtyZXR1cm4gbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1yZC1yZW1pbmRlciIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjp0KCJjcmVkZW50aWFscy5yZW1pbmRlci50aXRsZSIpLCJkYXRhLXJlbWluZGVyLXBoYXNlcyI6SWUuam9pbigiLCIpLGNoaWxkcmVuOltuLmpzeCgiZGl2Iix7c3R5bGU6RHIsY2hpbGRyZW46SWUubWFwKHI9Pm4uanN4cygiZGl2Iix7c3R5bGU6TXIociksImRhdGEtcGhhc2UiOnIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoYGNyZWRlbnRpYWxzLnJlbWluZGVyLiR7cn1gKX0pLG4uanN4KCJiIix7c3R5bGU6e2ZvbnRTaXplOjE4LGxpbmVIZWlnaHQ6MS4xfSxjaGlsZHJlbjplW3JdfSldfSxyKSl9KSxuLmpzeCgicCIse3N0eWxlOnttYXJnaW46IjhweCAwIDAiLGNvbG9yOiJ2YXIoLS1tcmQtaW5rLTMpIixmb250U2l6ZToxMn0sY2hpbGRyZW46dCgiY3JlZGVudGlhbHMucmVtaW5kZXIubm90ZSIpfSldfSl9ZnVuY3Rpb24gJHIoe2l0ZW1zOmUsdH0pe3JldHVybiBuLmpzeChJcix7Y291bnRzOmpyKGUpLHR9KX1jb25zdCBPcj1mLmxhenkoKCk9PlcoKCk9PmltcG9ydCgiLi9DcmVkZW50aWFsUm90YXRpb25QYW5lbC02UVZyeFBnSS5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbOSwxMCwxMSwxMl0pKSksTHI9e3NjaGVtYV92ZXJzaW9uOkF0LG9rOiEwLHNlcnZlcl90aW1lOiIyMDI2LTExLTAyVDE0OjMyOjA3WiIsbWV0YWRhdGE6e25hbWU6Imlia3JfZmxleCIsbGFzdF9yb3RhdGVkX2F0OiIyMDI2LTA4LTA5VDE3OjMwOjAwWiIsZXhwaXJlc19hdDoiMjAyNi0xMS0wOVQxNzozMDowMFoifSxvcGVyYXRpb246bnVsbCxhbGxvd2VkX2FjdGlvbnM6W119LFByPXtpZDoiaWJrcl9mbGV4IixleHBpcmVzX2F0OiIyMDI2LTExLTA5VDE3OjMwOjAwWiIscGhhc2U6IjMwIixyZXF1aXJlc19hY3Rpb246ITAsZGVsaXZlcnk6Im5vdF9yZXNlcnZlZCJ9O2Z1bmN0aW9uIHpyKHt0OmUsbGFuZ3VhZ2U6dH0pe2NvbnN0IHI9Zi51c2VNZW1vKCgpPT4oe3BoYXNlOiJyZWFkeSIsZGF0YTpMcixlcnJvcjpudWxsLHJlbG9hZDooKT0+e319KSxbXSkscz1mLnVzZU1lbW8oKCk9Pih7cGhhc2U6InJlYWR5IixkYXRhOlByLGVycm9yOm51bGwscmVsb2FkOigpPT57fX0pLFtdKTtyZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsc3R5bGU6by5jb2x1bW4sImFyaWEtbGFiZWxsZWRieSI6Im1yZC1mbGV4LXRpdGxlIixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1mbGV4LXRpdGxlIixjaGlsZHJlbjplKCJjcmVkZW50aWFscy5mbGV4LnRpdGxlIil9KSxuLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46ZSgiY3JlZGVudGlhbHMuZmxleC5ub3RlIil9KSxuLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtcm90YXRpb24iLCJkYXRhLXdyaXRlLW9ubHkiOiJ0cnVlIixjaGlsZHJlbjpuLmpzeChSdCx7bGFuZ3VhZ2U6dCxjaGlsZHJlbjpuLmpzeChmLlN1c3BlbnNlLHtmYWxsYmFjazpuLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46ZSgiY3JlZGVudGlhbHMuZmxleC5sb2FkaW5nIil9KSxjaGlsZHJlbjpuLmpzeChPcix7cm90YXRpb246cixyZW1pbmRlcjpzLGNvbmZpcm06YXN5bmMoKT0+ITEsb25Sb3RhdGVkOigpPT57fX0pfSl9KX0pXX0pfWZ1bmN0aW9uIEZyKGUsdCl7cmV0dXJuIHQoYGNyZWRlbnRpYWwua2luZC4ke2Uua2luZH1gKX1mdW5jdGlvbiBCcih7bG9hZDplLHQsbGFuZ3VhZ2U6cixyZWxvYWQ6c30pe2lmKGUuc3RhdGU9PT0ibG9hZGluZyIpcmV0dXJuIG4uanN4KHBlLHt0LGxhYmVsOnQoImNyZWRlbnRpYWxzLnRpdGxlIiksc3RhcnRlZEF0OmUuc3RhcnRlZEF0LG9uUmV0cnk6c30pO2lmKGUuc3RhdGU9PT0iZmFpbGVkIilyZXR1cm4gbi5qc3goaWUse3Qsb25SZXRyeTpzfSk7Y29uc3QgaT1lLnJlc3VsdC5kYXRhLml0ZW1zO2lmKGkubGVuZ3RoPT09MClyZXR1cm4gbi5qc3goYWUse3QsdGl0bGU6dCgiY3JlZGVudGlhbHMubGlzdC5lbXB0eSIpfSk7Y29uc3QgYz1pLmZpbHRlcih1PT51LmV4cGlyeS5zdGF0dXMhPT0idW5rbm93biIpLmxlbmd0aCxkPUVyKGksdCxyKTtyZXR1cm4gbi5qc3hzKCJkaXYiLHtzdHlsZTpvLnBhZ2UsImRhdGEtY3JlZGVudGlhbHMtY291bnQiOmkubGVuZ3RoLGNoaWxkcmVuOltjPGkubGVuZ3RoP24uanN4KEVlLHt0LGxhbmd1YWdlOnIsaW5jbHVkZWQ6Yyx0b3RhbDppLmxlbmd0aH0pOm51bGwsbi5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsc3R5bGU6by5jb2x1bW4sImFyaWEtbGFiZWxsZWRieSI6Im1yZC1jcmVkZW50aWFsLXJlbWluZGVyIixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1jcmVkZW50aWFsLXJlbWluZGVyIixjaGlsZHJlbjp0KCJjcmVkZW50aWFscy5yZW1pbmRlci50aXRsZSIpfSksbi5qc3goJHIse2l0ZW1zOmksdH0pXX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOm8uY29sdW1uLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtY3JlZGVudGlhbC1uZWVkcyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGlkOiJtcmQtY3JlZGVudGlhbC1uZWVkcyIsY2hpbGRyZW46dCgiY3JlZGVudGlhbHMubGlzdC5uZWVkcyIpfSksZC5sZW5ndGg9PT0wP24uanN4KCJwIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjp0KCJjcmVkZW50aWFscy5saXN0Lm5lZWRzX2VtcHR5Iil9KTpuLmpzeCgidWwiLHtzdHlsZTp7bGlzdFN0eWxlOiJub25lIixtYXJnaW46MCxwYWRkaW5nOjAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6OH0sY2hpbGRyZW46ZC5tYXAodT0+bi5qc3hzKCJsaSIseyJkYXRhLW5lZWQta2luZCI6dS5raW5kLHN0eWxlOnsuLi5vLmNvbHVtbixwYWRkaW5nOiI4cHggMTBweCIsYm9yZGVyUmFkaXVzOjEyLGJvcmRlcjoiMXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKSJ9LGNoaWxkcmVuOltuLmpzeCgiYiIse3N0eWxlOntmb250U2l6ZToxM30sY2hpbGRyZW46dS50aXRsZX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjp1LmRldGFpbH0pLG4uanN4KCJhIix7c3R5bGU6by5saW5rLGhyZWY6dS5hY3Rpb24ucm91dGUsY2hpbGRyZW46dS5hY3Rpb24ubGFiZWx9KV19LHUuaWQpKX0pXX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOm8uY29sdW1uLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtY3JlZGVudGlhbC1saXN0IixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1jcmVkZW50aWFsLWxpc3QiLGNoaWxkcmVuOnQoImNyZWRlbnRpYWxzLmxpc3QudGl0bGUiKX0pLG4uanN4KCJkaXYiLHtzdHlsZTpvLmdyaWQsY2hpbGRyZW46aS5tYXAodT0+e2NvbnN0IHA9SGUodS5leHBpcnksdS5waGFzZSx0LHIpLGg9dS5sYXN0X3JvdGF0ZWRfYXQ/eXQodS5sYXN0X3JvdGF0ZWRfYXQscik6bnVsbDtyZXR1cm4gbi5qc3hzKCJhcnRpY2xlIix7c3R5bGU6by5jYXJkLCJkYXRhLWNyZWRlbnRpYWwtaWQiOnUuaWQsImRhdGEtY3JlZGVudGlhbC1waGFzZSI6cC5waGFzZSxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmNhcmRIZWFkLGNoaWxkcmVuOltuLmpzeCgiYiIse3N0eWxlOntmb250U2l6ZToxNH0sY2hpbGRyZW46dS5sYWJlbH0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5iYWRnZShwLnRvbmUpLGNoaWxkcmVuOkFlKHAucGhhc2UsdCl9KV19KSxuLmpzeHMoInNwYW4iLHtzdHlsZTpvLm1vbm8sY2hpbGRyZW46W3UucGxhdGZvcm0sIiDCtyAiLEZyKHUsdCldfSksbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmNvbHVtbixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46dCgiY3JlZGVudGlhbC5leHBpcnkubGFiZWwiKX0pLG4uanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEzfSxjaGlsZHJlbjpwLm1hcmt9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46cC5kZXRhaWx9KV19KSxuLmpzeHMoImRpdiIse3N0eWxlOm8uZGV0YWlsTGlzdCxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmRldGFpbEl0ZW0sY2hpbGRyZW46W24uanN4KCJzcGFuIix7c3R5bGU6by5kZXRhaWxMYWJlbCxjaGlsZHJlbjp0KCJjcmVkZW50aWFscy5saXN0Lmxhc3Rfcm90YXRlZCIpfSksbi5qc3goInNwYW4iLHtzdHlsZTpvLmRldGFpbFZhbHVlLGNoaWxkcmVuOmg/P3QoImNyZWRlbnRpYWxzLmxpc3QubmV2ZXJfcm90YXRlZCIpfSldfSksdS5ydW5ib29rP24uanN4cygiZGl2Iix7c3R5bGU6by5kZXRhaWxJdGVtLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse3N0eWxlOm8uZGV0YWlsTGFiZWwsY2hpbGRyZW46dCgiY3JlZGVudGlhbHMubGlzdC5ydW5ib29rIil9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8uZGV0YWlsVmFsdWUsY2hpbGRyZW46bi5qc3goImNvZGUiLHtjaGlsZHJlbjp1LnJ1bmJvb2t9KX0pXX0pOm51bGxdfSksbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmFjdGlvblJvdyxjaGlsZHJlbjpbdS5yb3RhdGlvbi5zdXBwb3J0ZWQmJnUucm90YXRpb24ucm91dGU/bi5qc3goImEiLHtzdHlsZTpvLmxpbmssaHJlZjp1LnJvdGF0aW9uLnJvdXRlLGNoaWxkcmVuOnQoImNyZWRlbnRpYWxzLmxpc3Qucm90YXRlIil9KTpudWxsLHUuZXhwaXJ5LnN0YXR1cz09PSJ1bmtub3duIj9uLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im1yZC1jaGlwIixkaXNhYmxlZDohMCx0aXRsZTp0KCJjcmVkZW50aWFscy5saXN0Lm1hbnVhbF9ub3RlIiksY2hpbGRyZW46dCgiY3JlZGVudGlhbHMubGlzdC5tYW51YWwiKX0pOm51bGxdfSksdS5leHBpcnkuc3RhdHVzPT09InVua25vd24iP24uanN4KCJwIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjp0KCJjcmVkZW50aWFscy5saXN0Lm1hbnVhbF9ub3RlIil9KTpudWxsXX0sdS5pZCl9KX0pXX0pLG4uanN4KHpyLHt0LGxhbmd1YWdlOnJ9KSxlLnJlc3VsdC5zb3VyY2U9PT0ibW9jayI/bi5qc3goInAiLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnQoImNyZWRlbnRpYWxzLm1vY2tfbm90ZSIpfSk6bnVsbF19KX1mdW5jdGlvbiBVZShlLHQpe3JldHVybiB0KGByZWFkLnJlYXNvbi4ke2V9YCl9ZnVuY3Rpb24gSHIoZSx0LHIpe3JldHVybiBlLnN0YXR1cz09PSJ1bmtub3duIj97dGV4dDpgJHt0KCJhY2NvdW50cy5jb25uZWN0aXZpdHkudW5rbm93biIpfSDCtyAke1VlKGUucmVhc29uLHQpfWAsdG9uZToidW5rbm93biJ9OmUuc3RhdHVzPT09InN0YWxlIj97dGV4dDpgJHt0KCJyZWFkLnN0YWxlIix7YWdlOlooZS5hZ2Vfc2Vjb25kcyxyKT8/IuKAlCJ9KX0gwrcgJHt0KGBhY2NvdW50cy5jb25uZWN0aXZpdHkuJHtlLnZhbHVlfWApfWAsdG9uZToidW5rbm93biJ9OmUudmFsdWU9PT0idXAiP3t0ZXh0OnQoImFjY291bnRzLmNvbm5lY3Rpdml0eS51cCIpLHRvbmU6Im9rIn06ZS52YWx1ZT09PSJkZWdyYWRlZCI/e3RleHQ6dCgiYWNjb3VudHMuY29ubmVjdGl2aXR5LmRlZ3JhZGVkIiksdG9uZToid2FybiJ9Ont0ZXh0OnQoImFjY291bnRzLmNvbm5lY3Rpdml0eS5kb3duIiksdG9uZToicmlzayJ9fWZ1bmN0aW9uIFVyKGUsdCxyKXtyZXR1cm4gZS5zdGF0dXM9PT0idW5rbm93biI/VWUoZS5yZWFzb24sdCk6ZS5zdGF0dXM9PT0ic3RhbGUiP2Ake3QoInJlYWQuc3RhbGUiLHthZ2U6WihlLmFnZV9zZWNvbmRzLHIpPz8i4oCUIn0pfSDCtyAke2UudmFsdWUuYXR9YDplLnZhbHVlLmF0fWZ1bmN0aW9uIFdyKGUsdCxyKXtyZXR1cm4gZS5zdGF0dXM9PT0idW5rbm93biI/VWUoZS5yZWFzb24sdCk6ZS5zdGF0dXM9PT0ic3RhbGUiP3QoInJlYWQuc3RhbGUiLHthZ2U6WihlLmFnZV9zZWNvbmRzLHIpPz8i4oCUIn0pOmUudmFsdWUuY291bnQ9PT0wP3QoImFjY291bnRzLmxhc3Rfb3JkZXIubm9uZSIpOnQoImFjY291bnRzLmxhc3Rfb3JkZXIudmFsdWUiLHtjb3VudDplLnZhbHVlLmNvdW50LGF0OmUudmFsdWUuYXR9KX1mdW5jdGlvbiBxcih7YnJva2VyOmUsdCxsYW5ndWFnZTpyLG5hcnJvdzpzLG9uTWFuYWdlOmF9KXtjb25zdCBpPUhyKGUuY29ubmVjdGl2aXR5LHQsciksYz1lLmRhdGFfZnJlc2huZXNzO3JldHVybiBuLmpzeHMoImFydGljbGUiLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpvLmNhcmQsImRhdGEtcGxhdGZvcm0iOmUucGxhdGZvcm0sImRhdGEtY29ubmVjdGl2aXR5IjplLmNvbm5lY3Rpdml0eS5zdGF0dXMsY2hpbGRyZW46W24uanN4cygiZGl2Iix7c3R5bGU6by5jYXJkSGVhZCxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmNvbHVtbixjaGlsZHJlbjpbbi5qc3goImIiLHtzdHlsZTp7Zm9udFNpemU6MTZ9LGNoaWxkcmVuOmUubGFiZWx9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8ubW9ubyxjaGlsZHJlbjplLnBsYXRmb3JtfSldfSksbi5qc3goInNwYW4iLHtzdHlsZTpvLmJhZGdlKGkudG9uZSksY2hpbGRyZW46aS50ZXh0fSldfSksbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmNvbHVtbixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsY2hpbGRyZW46dCgiYWNjb3VudHMuYnJva2VyLnRhcmdldHMiKX0pLG4uanN4KCJkaXYiLHtzdHlsZTpvLnJvdyxjaGlsZHJlbjplLnRhcmdldHMubWFwKGQ9Pm4uanN4cygiYSIse3N0eWxlOm8ubGluayxocmVmOmAjL2Rlc2svc3dpdGNoP3RhcmdldD0ke2VuY29kZVVSSUNvbXBvbmVudChkLnRhcmdldF9pZCl9YCxjaGlsZHJlbjpbZC50YXJnZXRfaWQsIiDCtyAiLGQuYWNjb3VudF9yZWZdfSxkLnRhcmdldF9pZCkpfSldfSksbi5qc3goImhyIix7c3R5bGU6by5kaXZpZGVyfSksbi5qc3hzKCJkaXYiLHtzdHlsZTpvLmRldGFpbExpc3QsY2hpbGRyZW46W24uanN4cygiZGl2Iix7c3R5bGU6by5kZXRhaWxJdGVtLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse3N0eWxlOm8uZGV0YWlsTGFiZWwsY2hpbGRyZW46dCgiYWNjb3VudHMuYnJva2VyLmhlYXJ0YmVhdCIpfSksbi5qc3goInNwYW4iLHtzdHlsZTpvLmRldGFpbFZhbHVlLGNoaWxkcmVuOlVyKGUuaGVhcnRiZWF0LHQscil9KV19KSxuLmpzeHMoImRpdiIse3N0eWxlOm8uZGV0YWlsSXRlbSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtzdHlsZTpvLmRldGFpbExhYmVsLGNoaWxkcmVuOnQoImFjY291bnRzLmJyb2tlci5mcmVzaG5lc3MiKX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5kZXRhaWxWYWx1ZSxjaGlsZHJlbjp0KGBmcmVzaG5lc3MuJHtjLmRhdGFfc3RhdHVzfWAse2FnZTpaKGMuYWdlX3NlY29uZHMscik/PyLigJQifSl9KV19KSxuLmpzeHMoImRpdiIse3N0eWxlOm8uZGV0YWlsSXRlbSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtzdHlsZTpvLmRldGFpbExhYmVsLGNoaWxkcmVuOnQoImFjY291bnRzLmJyb2tlci5jb25maWciKX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5kZXRhaWxWYWx1ZSxjaGlsZHJlbjplLmNvbmZpZy5zdGF0ZT09PSJkcmlmdCI/dCgiY29uZmlnLmRyaWZ0Iix7Y291bnQ6ZS5jb25maWcuZHJpZnRfY291bnR9KTp0KGBjb25maWcuJHtlLmNvbmZpZy5zdGF0ZX1gKX0pXX0pLG4uanN4cygiZGl2Iix7c3R5bGU6by5kZXRhaWxJdGVtLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse3N0eWxlOm8uZGV0YWlsTGFiZWwsY2hpbGRyZW46dCgiYWNjb3VudHMuYnJva2VyLmxhc3Rfb3JkZXIiKX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5kZXRhaWxWYWx1ZSxjaGlsZHJlbjpXcihlLmxhc3Rfb3JkZXIsdCxyKX0pXX0pXX0pLHM/bnVsbDpuLmpzeHMobi5GcmFnbWVudCx7Y2hpbGRyZW46W24uanN4KCJociIse3N0eWxlOm8uZGl2aWRlcn0pLG4uanN4KEFyLHtjcmVkZW50aWFsOmUuY3JlZGVudGlhbCx0LGxhbmd1YWdlOnIsb25NYW5hZ2U6YX0pXX0pLG4uanN4KCJkaXYiLHtzdHlsZTpvLmFjdGlvblJvdyxjaGlsZHJlbjpuLmpzeCgiYSIse3N0eWxlOm8ubGluayxocmVmOmAjL2Rlc2svc3dpdGNoP3RhcmdldD0ke2VuY29kZVVSSUNvbXBvbmVudChlLnRhcmdldHNbMF0/LnRhcmdldF9pZD8/IiIpfWAsY2hpbGRyZW46dCgiYWNjb3VudHMuYnJva2VyLnN3aXRjaCIpfSl9KV19KX1mdW5jdGlvbiBLcih7YXBpOmUsdCxsYW5ndWFnZTpyLGluaXRpYWxUYWI6cz0iYnJva2VycyJ9KXtjb25zdFthLGldPWYudXNlU3RhdGUocyksYz1GZSgpLGQ9ZmUoKCk9PmUuYWNjb3VudHMoKSxbZV0pLHU9ZmUoKCk9PmUuY3JlZGVudGlhbHMoKSxbZV0pO2YudXNlRWZmZWN0KCgpPT57aShzKX0sW3NdKTtjb25zdCBwPVt7aWQ6ImJyb2tlcnMiLGxhYmVsOnQoImFjY291bnRzLnRhYnMuYnJva2VycyIpfSx7aWQ6ImNyZWRlbnRpYWxzIixsYWJlbDp0KCJhY2NvdW50cy50YWJzLmNyZWRlbnRpYWxzIil9XTtsZXQgaDtpZihhPT09ImNyZWRlbnRpYWxzIiloPW4uanN4KEJyLHtsb2FkOnUubG9hZCx0LGxhbmd1YWdlOnIscmVsb2FkOnUucmVsb2FkfSk7ZWxzZSBpZihkLmxvYWQuc3RhdGU9PT0ibG9hZGluZyIpaD1uLmpzeChwZSx7dCxsYWJlbDp0KCJhY2NvdW50cy50aXRsZSIpLHN0YXJ0ZWRBdDpkLmxvYWQuc3RhcnRlZEF0LG9uUmV0cnk6ZC5yZWxvYWR9KTtlbHNlIGlmKGQubG9hZC5zdGF0ZT09PSJmYWlsZWQiKWg9bi5qc3goaWUse3Qsb25SZXRyeTpkLnJlbG9hZH0pO2Vsc2UgaWYoZC5sb2FkLnJlc3VsdC5kYXRhLmJyb2tlcnMubGVuZ3RoPT09MCloPW4uanN4KGFlLHt0LHRpdGxlOnQoImFjY291bnRzLmJyb2tlcnMuZW1wdHkiKX0pO2Vsc2V7Y29uc3QgZz1kLmxvYWQucmVzdWx0LmRhdGEuYnJva2VycyxrPWcuZmlsdGVyKHg9PnguZGF0YV9mcmVzaG5lc3MuZGF0YV9zdGF0dXMhPT0icmVhZHkiKS5sZW5ndGg7aD1uLmpzeHMoImRpdiIse3N0eWxlOm8ucGFnZSxjaGlsZHJlbjpbaz4wP24uanN4KEVlLHt0LGxhbmd1YWdlOnIsaW5jbHVkZWQ6Zy5sZW5ndGgtayx0b3RhbDpnLmxlbmd0aH0pOm51bGwsbi5qc3goImRpdiIse3N0eWxlOm8uZ3JpZCxjaGlsZHJlbjpnLm1hcCh4PT5uLmpzeChxcix7YnJva2VyOngsdCxsYW5ndWFnZTpyLG5hcnJvdzpjLG9uTWFuYWdlOigpPT5pKCJjcmVkZW50aWFscyIpfSx4LnBsYXRmb3JtKSl9KSxkLmxvYWQucmVzdWx0LnNvdXJjZT09PSJtb2NrIj9uLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46dCgibW9jay50aXRsZSIpfSk6bnVsbF19KX1yZXR1cm4gbi5qc3hzKCJzZWN0aW9uIix7c3R5bGU6by5wYWdlLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtcGFnZS10aXRsZSIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtcmQtY2FyZCIsc3R5bGU6by5oZXJvLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixjaGlsZHJlbjp0KCJhY2NvdW50cy5leWVicm93Iil9KSxuLmpzeCgiaDEiLHtpZDoibXJkLXBhZ2UtdGl0bGUiLGNsYXNzTmFtZToibXJkLXNlcmlmIixzdHlsZTpvLnRpdGxlKGMscj09PSJ6aCIpLGNoaWxkcmVuOnQoImFjY291bnRzLnRpdGxlIil9KSxuLmpzeCgicCIse3N0eWxlOm8ubGVhZCxjaGlsZHJlbjp0KCJhY2NvdW50cy5ib2R5Iil9KV19KSxuLmpzeChDcix7aWQ6ImFjY291bnRzIixpdGVtczpwLGFjdGl2ZTphLG9uQ2hhbmdlOmc9PmkoZz09PSJjcmVkZW50aWFscyI/ImNyZWRlbnRpYWxzIjoiYnJva2VycyIpLGxhYmVsOnQoImFjY291bnRzLnRpdGxlIil9KSxuLmpzeCgiZGl2Iix7aWQ6ImFjY291bnRzLXBhbmVsIixyb2xlOiJ0YWJwYW5lbCIsImFyaWEtbGFiZWxsZWRieSI6YGFjY291bnRzLXRhYi0ke2F9YCxjaGlsZHJlbjpofSldfSl9Y29uc3QgR3I9WyJhbGwiLCJlbGlnaWJsZSIsInBhcGVyIiwiYmxvY2tlZCJdO2Z1bmN0aW9uIGJ0KGUpe3JldHVybiBlLmVsaWdpYmlsaXR5PT09Im5vX2xpdmUiPyEwOmUuZWxpZ2liaWxpdHk9PT0iZWxpZ2libGUiJiZlLmFsbG93ZWRfZXhlY3V0aW9uX21vZGVzLmluY2x1ZGVzKCJwYXBlciIpJiYhZS5hbGxvd2VkX2V4ZWN1dGlvbl9tb2Rlcy5pbmNsdWRlcygibGl2ZSIpfWZ1bmN0aW9uIFZyKGUpe2NvbnN0IHQ9e2FsbDplLmxlbmd0aCxlbGlnaWJsZTowLHBhcGVyOjAsYmxvY2tlZDowfTtmb3IoY29uc3QgciBvZiBlKXIuZWxpZ2liaWxpdHk9PT0iZWxpZ2libGUiJiYodC5lbGlnaWJsZSs9MSksci5lbGlnaWJpbGl0eT09PSJibG9ja2VkIiYmKHQuYmxvY2tlZCs9MSksYnQocikmJih0LnBhcGVyKz0xKTtyZXR1cm4gdH1mdW5jdGlvbiBZcihlLHQpe3JldHVybiB0PT09ImVsaWdpYmxlIj9lLmZpbHRlcihyPT5yLmVsaWdpYmlsaXR5PT09ImVsaWdpYmxlIik6dD09PSJwYXBlciI/ZS5maWx0ZXIoYnQpOnQ9PT0iYmxvY2tlZCI/ZS5maWx0ZXIocj0+ci5lbGlnaWJpbGl0eT09PSJibG9ja2VkIik6Wy4uLmVdfWNvbnN0IFNlPVsidGFyZ2V0Iiwic3RyYXRlZ3kiLCJwcmV2aWV3IiwiY29uZmlybSIsInZlcmlmeSJdLCRlPXtzdGVwOiJ0YXJnZXQiLHRhcmdldElkOm51bGwscHJvZmlsZTpudWxsLHByZXZpZXc6bnVsbCxibG9ja2VkUmVhc29uOm51bGwsZm9yYmlkZGVuOiExfTtmdW5jdGlvbiBYcihlKXtjb25zdCB0PVNlLmluZGV4T2YoZSk7cmV0dXJuIHQ8PTA/InRhcmdldCI6U2VbdC0xXX1mdW5jdGlvbiBKcihlLHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2Uic2VsZWN0X3RhcmdldCI6cmV0dXJuey4uLiRlLHN0ZXA6InN0cmF0ZWd5Iix0YXJnZXRJZDp0LnRhcmdldElkfTtjYXNlInNlbGVjdF9zdHJhdGVneSI6cmV0dXJuIGUudGFyZ2V0SWQ/dC5lbGlnaWJpbGl0eT09PSJibG9ja2VkIj97Li4uZSxzdGVwOiJzdHJhdGVneSIscHJvZmlsZTp0LnByb2ZpbGUscHJldmlldzpudWxsLGJsb2NrZWRSZWFzb246dC5yZWFzb24/PyJibG9ja2VkIixmb3JiaWRkZW46ITF9OnsuLi5lLHN0ZXA6InByZXZpZXciLHByb2ZpbGU6dC5wcm9maWxlLHByZXZpZXc6bnVsbCxibG9ja2VkUmVhc29uOm51bGwsZm9yYmlkZGVuOiExfTplO2Nhc2UicHJldmlld19yZWFkeSI6cmV0dXJuIGUuc3RlcCE9PSJwcmV2aWV3Inx8IWUucHJvZmlsZXx8IWUudGFyZ2V0SWQ/ZTp7Li4uZSxzdGVwOiJjb25maXJtIixwcmV2aWV3OnQucHJldmlldyxibG9ja2VkUmVhc29uOm51bGx9O2Nhc2UicmVxdWVzdF9jb25maXJtIjpyZXR1cm4gZS5zdGVwIT09ImNvbmZpcm0iP2U6dC5hbGxvd2VkP3suLi5lLHN0ZXA6InZlcmlmeSIsYmxvY2tlZFJlYXNvbjpudWxsfTp7Li4uZSxibG9ja2VkUmVhc29uOnQucmVhc29uPz8ibm90X2VuYWJsZWQifTtjYXNlImZvcmJpZGRlbiI6cmV0dXJuey4uLmUsc3RlcDoiY29uZmlybSIsZm9yYmlkZGVuOiEwLGJsb2NrZWRSZWFzb246ImZvcmJpZGRlbiJ9O2Nhc2UiYmFjayI6e2NvbnN0IHI9WHIoZS5zdGVwKTtyZXR1cm57Li4uZSxzdGVwOnIscHJldmlldzplLnN0ZXA9PT0iY29uZmlybSI/bnVsbDplLnByZXZpZXcsYmxvY2tlZFJlYXNvbjpudWxsLGZvcmJpZGRlbjohMX19Y2FzZSJyZXNldCI6cmV0dXJuICRlO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHh0KGUsdCl7cmV0dXJuIHQoYHJlYWQucmVhc29uLiR7ZX1gKX1mdW5jdGlvbiB3dChlLHQscil7cmV0dXJuIGUuc3RhdHVzPT09InVua25vd24iP2Ake3QoInJlYWQudW5rbm93biIpfSDCtyAke3h0KGUucmVhc29uLHQpfWA6ZS5zdGF0dXM9PT0ic3RhbGUiP2Ake2UudmFsdWUubGFiZWx9IMK3ICR7dCgicmVhZC5zdGFsZSIse2FnZTpaKGUuYWdlX3NlY29uZHMscik/PyLigJQifSl9YDplLnZhbHVlLmxhYmVsfWZ1bmN0aW9uIGt0KGUsdCxyKXtyZXR1cm4gZS5zdGF0dXM9PT0idW5rbm93biI/YCR7dCgicmVhZC51bmtub3duIil9IMK3ICR7eHQoZS5yZWFzb24sdCl9YDplLnN0YXR1cz09PSJzdGFsZSI/YCR7dChgbW9kZS4ke2UudmFsdWV9YCl9IMK3ICR7dCgicmVhZC5zdGFsZSIse2FnZTpaKGUuYWdlX3NlY29uZHMscik/PyLigJQifSl9YDp0KGBtb2RlLiR7ZS52YWx1ZX1gKX1mdW5jdGlvbiBacihlLHQpe3JldHVybiBlLmVsaWdpYmlsaXR5PT09ImJsb2NrZWQiP3t0ZXh0OnQoInN0cmF0ZWdpZXMuY2FyZC5ibG9ja2VkIiksdG9uZToicmlzayJ9OmUuZWxpZ2liaWxpdHk9PT0ibm9fbGl2ZSI/e3RleHQ6dCgic3RyYXRlZ2llcy5jYXJkLm5vX2xpdmUiKSx0b25lOiJ3YXJuIn06e3RleHQ6dCgic3RyYXRlZ2llcy5maWx0ZXIuZWxpZ2libGUiKSx0b25lOiJvayJ9fWZ1bmN0aW9uIE5lKGUsdCl7aWYoIWUpcmV0dXJuIiI7Y29uc3Qgcj1gc3RyYXRlZ2llcy5yZWFzb24uJHtlfWAscz10KHIpO3JldHVybiBzPT09cj9lOnN9ZnVuY3Rpb24gUXIoe3RhcmdldDplLHNlbGVjdGVkOnQsb25TZWxlY3Q6cix0OnMsbGFuZ3VhZ2U6YX0pe3JldHVybiBuLmpzeHMoImRpdiIse3N0eWxlOm8udGFyZ2V0Um93KHQpLCJkYXRhLXRhcmdldC1pZCI6ZS50YXJnZXRfaWQsImRhdGEtc2VsZWN0ZWQiOnQ/InRydWUiOiJmYWxzZSIsY2hpbGRyZW46W24uanN4cygiZGl2Iix7c3R5bGU6by5jb2x1bW4sY2hpbGRyZW46W24uanN4KCJiIix7c3R5bGU6e2ZvbnRTaXplOjEzLjV9LGNoaWxkcmVuOmUudGFyZ2V0X2lkfSksbi5qc3hzKCJzcGFuIix7c3R5bGU6by5tb25vLGNoaWxkcmVuOltlLnBsYXRmb3JtX2xhYmVsLCIgwrcgIixlLmFjY291bnRfcmVmXX0pLG4uanN4cygic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46W3MoInN0cmF0ZWdpZXMucnVubmluZy5jdXJyZW50IiksIjogIix3dChlLmN1cnJlbnRfc3RyYXRlZ3kscyxhKV19KSxuLmpzeHMoInNwYW4iLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOltzKCJzdHJhdGVnaWVzLnJ1bm5pbmcubW9kZSIpLCI6ICIsa3QoZS5tb2RlLHMsYSldfSksZS5zd2l0Y2hhYmxlLmFsbG93ZWQ/bnVsbDpuLmpzeCgic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46TmUoZS5zd2l0Y2hhYmxlLnJlYXNvbl9jb2RlLHMpfSldfSksbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsImFyaWEtcHJlc3NlZCI6dCxvbkNsaWNrOnIsY2hpbGRyZW46cyh0PyJzdHJhdGVnaWVzLnJ1bm5pbmcuc2VsZWN0ZWQiOiJzdHJhdGVnaWVzLnJ1bm5pbmcuc2VsZWN0Iil9KV19KX1mdW5jdGlvbiBlcyh7b3B0aW9uOmUsc2VsZWN0ZWQ6dCxvblNlbGVjdDpyLHQ6c30pe2NvbnN0IGE9WnIoZSxzKSxpPWUuYWxsb3dlZF9leGVjdXRpb25fbW9kZXMubWFwKGM9PnMoYG1vZGUuJHtjfWApKS5qb2luKCIsICIpO3JldHVybiBuLmpzeHMoImFydGljbGUiLHtzdHlsZTpvLmNhcmQsImRhdGEtcHJvZmlsZSI6ZS5wcm9maWxlLCJkYXRhLWVsaWdpYmlsaXR5IjplLmVsaWdpYmlsaXR5LCJkYXRhLXNlbGVjdGVkIjp0PyJ0cnVlIjoiZmFsc2UiLGNoaWxkcmVuOltuLmpzeHMoImRpdiIse3N0eWxlOm8uY2FyZEhlYWQsY2hpbGRyZW46W24uanN4KCJiIix7c3R5bGU6e2ZvbnRTaXplOjEzLjV9LGNoaWxkcmVuOmUubGFiZWx9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8uYmFkZ2UoYS50b25lKSxjaGlsZHJlbjphLnRleHR9KV19KSxuLmpzeHMoInNwYW4iLHtzdHlsZTpvLm1vbm8sY2hpbGRyZW46W3MoInN0cmF0ZWdpZXMuY2FyZC5wcm9maWxlIiksIjogIixlLnByb2ZpbGVdfSksbi5qc3goInNwYW4iLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuY2FyZC5kb21haW4iLHtkb21haW46ZS5kb21haW59KX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmNhcmQubW9kZXMiLHttb2RlczppfSl9KSxuLmpzeCgic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46cygic3RyYXRlZ2llcy5jYXJkLmxpZmVjeWNsZSIse3N0YWdlOmUubGlmZWN5Y2xlX3N0YWdlfSl9KSxlLnJlYXNvbj9uLmpzeCgic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46cygic3RyYXRlZ2llcy5jYXJkLnJlYXNvbiIse3JlYXNvbjpOZShlLnJlYXNvbixzKX0pfSk6bnVsbCxuLmpzeCgiZGl2Iix7c3R5bGU6by5hY3Rpb25Sb3csY2hpbGRyZW46bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsImFyaWEtcHJlc3NlZCI6dCxkaXNhYmxlZDplLmVsaWdpYmlsaXR5PT09ImJsb2NrZWQiLG9uQ2xpY2s6cixjaGlsZHJlbjpzKHQ/InN0cmF0ZWdpZXMuY2FyZC5zZWxlY3RlZCI6InN0cmF0ZWdpZXMuY2FyZC5zZWxlY3QiKX0pfSldfSl9ZnVuY3Rpb24gdHMoe2FwaTplLHQsbGFuZ3VhZ2U6cixhZG1pbjpzLGluaXRpYWxUYXJnZXQ6YSxpbml0aWFsUHJvZmlsZTppfSl7Y29uc3RbYyxkXT1mLnVzZVJlZHVjZXIoSnIsJGUpLFt1LHBdPWYudXNlU3RhdGUoImFsbCIpLFtoLGddPWYudXNlU3RhdGUoYT8/bnVsbCksaz1mLnVzZVJlZighMSkseD1GZSgpLGo9ZmUoKCk9PmUuc3dpdGNoVGFyZ2V0cygpLFtlXSksVD1mZSgoKT0+aD9lLnN3aXRjaFN0cmF0ZWdpZXMoaCk6UHJvbWlzZS5yZXNvbHZlKG51bGwpLFtlLGhdKTtmLnVzZUVmZmVjdCgoKT0+e2EmJihrLmN1cnJlbnQ9ITAsZyhhKSxkKHt0eXBlOiJzZWxlY3RfdGFyZ2V0Iix0YXJnZXRJZDphfSkpfSxbYV0pLGYudXNlRWZmZWN0KCgpPT57aWYoay5jdXJyZW50fHxofHxqLmxvYWQuc3RhdGUhPT0icmVhZHkiKXJldHVybjtjb25zdCBsPWoubG9hZC5yZXN1bHQuZGF0YS50YXJnZXRzWzBdO2wmJihrLmN1cnJlbnQ9ITAsZyhsLnRhcmdldF9pZCksZCh7dHlwZToic2VsZWN0X3RhcmdldCIsdGFyZ2V0SWQ6bC50YXJnZXRfaWR9KSl9LFtoLGoubG9hZF0pO2NvbnN0IE09VC5sb2FkLnN0YXRlPT09InJlYWR5IiYmVC5sb2FkLnJlc3VsdD9ULmxvYWQucmVzdWx0LmRhdGEuc3RyYXRlZ2llczpbXTtmLnVzZUVmZmVjdCgoKT0+e2lmKCFpfHxjLnByb2ZpbGUpcmV0dXJuO2NvbnN0IGw9TS5maW5kKHY9PnYucHJvZmlsZT09PWkpO2wmJmQoe3R5cGU6InNlbGVjdF9zdHJhdGVneSIscHJvZmlsZTpsLnByb2ZpbGUsZWxpZ2liaWxpdHk6bC5lbGlnaWJpbGl0eSxyZWFzb246bC5yZWFzb259KX0sW2ksYy5wcm9maWxlLE0saF0pO2NvbnN0IEk9ai5sb2FkLnN0YXRlPT09InJlYWR5IiYmaD9qLmxvYWQucmVzdWx0LmRhdGEudGFyZ2V0cy5maW5kKGw9PmwudGFyZ2V0X2lkPT09aCk/P251bGw6bnVsbCxDPU0uZmluZChsPT5sLnByb2ZpbGU9PT1jLnByb2ZpbGUpPz9udWxsLEY9VnIoTSksSz1ZcihNLHUpLEQ9ST8uc3dpdGNoYWJsZT8/bnVsbCxPPVNlLmluZGV4T2YoYy5zdGVwKSwkPWw9PntnKGwpLHAoImFsbCIpLGQoe3R5cGU6InNlbGVjdF90YXJnZXQiLHRhcmdldElkOmx9KX0sXz1sPT57ZCh7dHlwZToic2VsZWN0X3N0cmF0ZWd5Iixwcm9maWxlOmwucHJvZmlsZSxlbGlnaWJpbGl0eTpsLmVsaWdpYmlsaXR5LHJlYXNvbjpsLnJlYXNvbn0pfSxKPSgpPT57IUl8fCFDfHwhaHx8ZCh7dHlwZToicHJldmlld19yZWFkeSIscHJldmlldzp7dGFyZ2V0SWQ6aCxwcm9maWxlOkMucHJvZmlsZSxjdXJyZW50OkkuY3VycmVudF9zdHJhdGVneSxhZnRlcjpDLG1vZGU6Qy5hbGxvd2VkX2V4ZWN1dGlvbl9tb2Rlc1swXT8/bnVsbH19KX0sbT0oKT0+e2lmKCFzKXtkKHt0eXBlOiJmb3JiaWRkZW4ifSk7cmV0dXJufWQoe3R5cGU6InJlcXVlc3RfY29uZmlybSIsYWxsb3dlZDpEPy5hbGxvd2VkPT09ITAscmVhc29uOkQ/LmFsbG93ZWQ9PT0hMD9udWxsOkQ/LnJlYXNvbl9jb2RlPz8ic3dpdGNoX25vdF9jb25uZWN0ZWQifSl9O2xldCBTO2lmKGoubG9hZC5zdGF0ZT09PSJsb2FkaW5nIilTPW4uanN4KHBlLHt0LGxhYmVsOnQoInN0cmF0ZWdpZXMucnVubmluZy50aXRsZSIpLHN0YXJ0ZWRBdDpqLmxvYWQuc3RhcnRlZEF0LG9uUmV0cnk6ai5yZWxvYWR9KTtlbHNlIGlmKGoubG9hZC5zdGF0ZT09PSJmYWlsZWQiKVM9bi5qc3goaWUse3Qsb25SZXRyeTpqLnJlbG9hZH0pO2Vsc2UgaWYoai5sb2FkLnJlc3VsdC5kYXRhLnRhcmdldHMubGVuZ3RoPT09MClTPW4uanN4KGFlLHt0LHRpdGxlOnQoInN0cmF0ZWdpZXMucnVubmluZy5lbXB0eSIpfSk7ZWxzZXtjb25zdCBsPWoubG9hZC5yZXN1bHQuZGF0YS50YXJnZXRzLHY9bC5maWx0ZXIoRT0+RS5tb2RlLnN0YXR1cz09PSJ1bmtub3duInx8RS5jdXJyZW50X3N0cmF0ZWd5LnN0YXR1cz09PSJ1bmtub3duIikubGVuZ3RoO1M9bi5qc3hzKCJkaXYiLHtzdHlsZTpvLnBhZ2UsY2hpbGRyZW46W3Y+MD9uLmpzeChFZSx7dCxsYW5ndWFnZTpyLGluY2x1ZGVkOmwubGVuZ3RoLXYsdG90YWw6bC5sZW5ndGh9KTpudWxsLG4uanN4KCJkaXYiLHtzdHlsZTpvLmdyaWQsY2hpbGRyZW46bC5tYXAoRT0+bi5qc3goUXIse3RhcmdldDpFLHNlbGVjdGVkOkUudGFyZ2V0X2lkPT09aCxvblNlbGVjdDooKT0+JChFLnRhcmdldF9pZCksdCxsYW5ndWFnZTpyfSxFLnRhcmdldF9pZCkpfSldfSl9bGV0IEE7aD9ULmxvYWQuc3RhdGU9PT0ibG9hZGluZyI/QT1uLmpzeChwZSx7dCxsYWJlbDp0KCJzdHJhdGVnaWVzLmNhdGFsb2cudGl0bGUiKSxzdGFydGVkQXQ6VC5sb2FkLnN0YXJ0ZWRBdCxvblJldHJ5OlQucmVsb2FkfSk6VC5sb2FkLnN0YXRlPT09ImZhaWxlZCI/QT1uLmpzeChpZSx7dCxvblJldHJ5OlQucmVsb2FkfSk6Sy5sZW5ndGg9PT0wP0E9bi5qc3goYWUse3QsdGl0bGU6dCgic3RyYXRlZ2llcy5jYXRhbG9nLmVtcHR5Iil9KTpBPW4uanN4KCJkaXYiLHtzdHlsZTpvLmdyaWQsY2hpbGRyZW46Sy5tYXAobD0+bi5qc3goZXMse29wdGlvbjpsLHNlbGVjdGVkOmwucHJvZmlsZT09PWMucHJvZmlsZSxvblNlbGVjdDooKT0+XyhsKSx0fSxsLnByb2ZpbGUpKX0pOkE9bi5qc3goYWUse3QsdGl0bGU6dCgic3RyYXRlZ2llcy5ydW5uaW5nLmVtcHR5Iil9KTtjb25zdCBIPWMuYmxvY2tlZFJlYXNvbj09PSJmb3JiaWRkZW4iP251bGw6TmUoYy5ibG9ja2VkUmVhc29uLHQpO3JldHVybiBuLmpzeHMoInNlY3Rpb24iLHtzdHlsZTpvLnBhZ2UsImFyaWEtbGFiZWxsZWRieSI6Im1yZC1wYWdlLXRpdGxlIiwiZGF0YS1mbG93LXN0ZXAiOmMuc3RlcCxjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpvLmhlcm8sY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuZXllYnJvdyIpfSksbi5qc3goImgxIix7aWQ6Im1yZC1wYWdlLXRpdGxlIixjbGFzc05hbWU6Im1yZC1zZXJpZiIsc3R5bGU6by50aXRsZSh4LHI9PT0iemgiKSxjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLnRpdGxlIil9KSxuLmpzeCgicCIse3N0eWxlOm8ubGVhZCxjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmJvZHkiKX0pXX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOm8uY29sdW1uLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtcnVubmluZy10aXRsZSIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGlkOiJtcmQtcnVubmluZy10aXRsZSIsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5ydW5uaW5nLnRpdGxlIil9KSxTXX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLGlkOiJtcmQtc3RyYXRlZ3ktY2F0YWxvZyIsc3R5bGU6by5jb2x1bW4sImFyaWEtbGFiZWxsZWRieSI6Im1yZC1jYXRhbG9nLXRpdGxlIixjaGlsZHJlbjpbbi5qc3hzKCJkaXYiLHtzdHlsZTpvLnJvd0JldHdlZW4sY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGlkOiJtcmQtY2F0YWxvZy10aXRsZSIsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5jYXRhbG9nLnRpdGxlIil9KSxuLmpzeCgiZGl2Iix7c3R5bGU6by5maWx0ZXJSb3cscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjp0KCJzdHJhdGVnaWVzLmZpbHRlci5sYWJlbCIpLGNoaWxkcmVuOkdyLm1hcChsPT5uLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsc3R5bGU6by5maWx0ZXJCdXR0b24odT09PWwpLCJhcmlhLXByZXNzZWQiOnU9PT1sLG9uQ2xpY2s6KCk9PnAobCksImRhdGEtZmlsdGVyIjpsLGNoaWxkcmVuOlt0KGBzdHJhdGVnaWVzLmZpbHRlci4ke2x9YCksIiAiLG4uanN4KCJzcGFuIix7c3R5bGU6by5tb25vLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuZmlsdGVyLmNvdW50Iix7Y291bnQ6RltsXX0pfSldfSxsKSl9KV19KSxBXX0pLG4uanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToibXJkLWNhcmQiLHN0eWxlOm8uY29sdW1uLCJhcmlhLWxhYmVsbGVkYnkiOiJtcmQtYWZ0ZXItdGl0bGUiLGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXJkLWxhYmVsIixpZDoibXJkLWFmdGVyLXRpdGxlIixjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmFmdGVyIil9KSxuLmpzeHMoImRpdiIse3N0eWxlOm8uc3RyaXAsY2hpbGRyZW46W24uanN4cygiZGl2Iix7c3R5bGU6by5zdHJpcENvbCwiZGF0YS1zdHJpcCI6Im5vdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMubm93Iil9KSxuLmpzeCgiYiIse3N0eWxlOntmb250U2l6ZToxMy41fSxjaGlsZHJlbjpJP3d0KEkuY3VycmVudF9zdHJhdGVneSx0LHIpOnQoInN0cmF0ZWdpZXMudGFyZ2V0LnVua25vd24iKX0pLG4uanN4KCJzcGFuIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLm5vdy5jdXJyZW50Iil9KSxuLmpzeHMoInNwYW4iLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOlt0KCJzdHJhdGVnaWVzLmFmdGVyLm1vZGUiKSwiOiAiLEk/a3QoSS5tb2RlLHQscik6dCgic3RyYXRlZ2llcy5hZnRlci5tb2RlX3Vua25vd24iKV19KV19KSxuLmpzeHMoImRpdiIse3N0eWxlOm8uc3RyaXBDb2wsImRhdGEtc3RyaXAiOiJhZnRlciIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtcmQtbGFiZWwiLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuYWZ0ZXIuc2VsZWN0ZWQiKX0pLG4uanN4KCJiIix7c3R5bGU6e2ZvbnRTaXplOjEzLjV9LGNoaWxkcmVuOkM/Qy5sYWJlbDp0KCJzdHJhdGVnaWVzLmFmdGVyLm5vbmUiKX0pLEM/bi5qc3hzKG4uRnJhZ21lbnQse2NoaWxkcmVuOltuLmpzeHMoInNwYW4iLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOlt0KCJzdHJhdGVnaWVzLmFmdGVyLm1vZGUiKSwiOiAiLEMuYWxsb3dlZF9leGVjdXRpb25fbW9kZXMubWFwKGw9PnQoYG1vZGUuJHtsfWApKS5qb2luKCIsICIpXX0pLEMuZWxpZ2liaWxpdHk9PT0iYmxvY2tlZCI/bi5qc3goInNwYW4iLHtzdHlsZTpvLmJhZGdlKCJyaXNrIiksY2hpbGRyZW46dCgic3RyYXRlZ2llcy5hZnRlci5ibG9ja2VkIix7cmVhc29uOk5lKEMucmVhc29uLHQpfSl9KTpudWxsXX0pOm51bGxdfSldfSksbi5qc3goInAiLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuYWZ0ZXIucHJldmlld19vbmx5Iil9KV19KSxuLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im1yZC1jYXJkIixzdHlsZTpvLmNvbHVtbiwiYXJpYS1sYWJlbGxlZGJ5IjoibXJkLXN0ZXBzLXRpdGxlIixjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtjbGFzc05hbWU6Im1yZC1sYWJlbCIsaWQ6Im1yZC1zdGVwcy10aXRsZSIsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5zdGVwcy50aXRsZSIpfSksbi5qc3goImRpdiIse3N0eWxlOm8uc3RlcFJvdyxjaGlsZHJlbjpTZS5tYXAoKGwsdik9Pntjb25zdCBFPXY8Tz8iZG9uZSI6dj09PU8/ImN1cnJlbnQiOiJ0b2RvIjtyZXR1cm4gbi5qc3hzKCJkaXYiLHtzdHlsZTpvLnN0ZXAoRSksImRhdGEtc3RlcCI6bCwiZGF0YS1zdGF0ZSI6RSxjaGlsZHJlbjpbbi5qc3goInNwYW4iLHtzdHlsZTpvLnN0ZXBOdW1iZXIsY2hpbGRyZW46U3RyaW5nKHYrMSkucGFkU3RhcnQoMiwiMCIpfSksbi5qc3goInNwYW4iLHtzdHlsZTpvLnN0ZXBOYW1lLGNoaWxkcmVuOnQoYHN0cmF0ZWdpZXMuc3RlcHMuJHtsfWApfSksRT09PSJjdXJyZW50Ij9uLmpzeCgic3BhbiIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5zdGVwcy5jdXJyZW50Iil9KTpudWxsXX0sbCl9KX0pLGMuc3RlcD09PSJwcmV2aWV3Ij9uLmpzeCgiZGl2Iix7c3R5bGU6by5hY3Rpb25Sb3csY2hpbGRyZW46bi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtYnV0dG9uIixvbkNsaWNrOkosY2hpbGRyZW46dCgic3RyYXRlZ2llcy5wcmV2aWV3LmFjdGlvbiIpfSl9KTpudWxsLGMuc3RlcD09PSJjb25maXJtIj9uLmpzeHMoImRpdiIse3N0eWxlOm8uY29sdW1uLGNoaWxkcmVuOltuLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5zdGVwcy5ub3RfZW5hYmxlZCIpfSksIXN8fGMuZm9yYmlkZGVuP24uanN4KFBuLHt0LHJlYXNvbjp0KCJzdHJhdGVnaWVzLmNvbmZpcm0uZm9yYmlkZGVuIil9KTpudWxsLHMmJiFjLmZvcmJpZGRlbiYmSD9uLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46SH0pOm51bGwsbi5qc3goInAiLHtzdHlsZTpvLm11dGVkLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuY29uZmlybS5ub3RfZW5hYmxlZCIpfSksbi5qc3goImRpdiIse3N0eWxlOm8uYWN0aW9uUm93LGNoaWxkcmVuOm4uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToibXJkLWJ1dHRvbiIsb25DbGljazptLGRpc2FibGVkOiFzfHxEPy5hbGxvd2VkIT09ITAsImRhdGEtYWN0aW9uIjoiY29uZmlybS1zd2l0Y2giLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuY29uZmlybS5hY3Rpb24iKX0pfSldfSk6bnVsbCxjLnN0ZXA9PT0idmVyaWZ5Ij9uLmpzeCgicCIse3N0eWxlOm8ubXV0ZWQsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5zdGVwcy5ub3RfZW5hYmxlZCIpfSk6bnVsbCxuLmpzeHMoImRpdiIse3N0eWxlOm8uYWN0aW9uUm93LGNoaWxkcmVuOltuLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im1yZC1jaGlwIixvbkNsaWNrOigpPT5kKHt0eXBlOiJiYWNrIn0pLGRpc2FibGVkOmMuc3RlcD09PSJ0YXJnZXQiLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuYmFjayIpfSksbi5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJtcmQtY2hpcCIsb25DbGljazooKT0+e2Qoe3R5cGU6InJlc2V0In0pLGcobnVsbCkscCgiYWxsIil9LGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMucmVzZXQiKX0pXX0pXX0pLGoubG9hZC5zdGF0ZT09PSJyZWFkeSImJmoubG9hZC5yZXN1bHQuc291cmNlPT09Im1vY2siP24uanN4KCJwIix7c3R5bGU6by5tdXRlZCxjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLm1vY2tfbm90ZSIpfSk6bnVsbF19KX1jb25zdCBucz0icXNsLXN3aXRjaC1sYW5nIixycz02ZTQsc3M9MTVlMztmdW5jdGlvbiBldChlKXt0cnl7cmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKX1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gYXMoKXtyZXR1cm4gbmF2aWdhdG9yLmxhbmd1YWdlcz8ubGVuZ3RoP25hdmlnYXRvci5sYW5ndWFnZXM6W25hdmlnYXRvci5sYW5ndWFnZV19ZnVuY3Rpb24gaXMoKXtjb25zdCBlPWYudXNlTWVtbygoKT0+TW4od2luZG93LmxvY2F0aW9uLnNlYXJjaCksW10pLHQ9Zi51c2VNZW1vKCgpPT5obih3aW5kb3cubG9jYXRpb24uc2VhcmNoLGV0KGZuKSksW10pLHI9Zi51c2VNZW1vKCgpPT54bih7Zm9yY2VkU2NlbmFyaW86dH0pLFt0XSksW3MsYV09Zi51c2VTdGF0ZSgoKT0+ZS5sYW5ndWFnZT8/dm4oZXQobnMpLGFzKCkpKSxbaSxjXT1mLnVzZVN0YXRlKCgpPT5lLnRoZW1lPz9UZSgpLnRoZW1lKSxbZCx1XT1mLnVzZVN0YXRlKCgpPT53aW5kb3cubWF0Y2hNZWRpYT8uKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8/ITEpLHA9Q3QoaSxkKSxbaCxnXT1mLnVzZVN0YXRlKCgpPT5ZZSh3aW5kb3cubG9jYXRpb24uaGFzaCkpLGs9aC5wYWdlLHg9aC5wYXJhbXMsW2osVF09Zi51c2VTdGF0ZSh7c3RhdGU6ImxvYWRpbmcifSksW00sSV09Zi51c2VTdGF0ZSh7c3RhdGU6ImxvYWRpbmcifSksW0MsRl09Zi51c2VTdGF0ZShudWxsKSxbSyxEXT1mLnVzZVN0YXRlKCgpPT5EYXRlLm5vdygpKSxbTywkXT1mLnVzZVN0YXRlKDApLF89Zi51c2VNZW1vKCgpPT5fbihzKSxbc10pO2YudXNlRWZmZWN0KCgpPT57Y29uc3QgTj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7Ti5kYXRhc2V0LnRoZW1lPXAsTi5sYW5nPXM9PT0iemgiPyJ6aC1DTiI6ImVuIixkb2N1bWVudC50aXRsZT1gJHtfKGBuYXYuJHtrfWApfSDCtyAke18oInNoZWxsLmJyYW5kIil9YH0sW3AscyxrLF9dKSxmLnVzZUVmZmVjdCgoKT0+e2NvbnN0IE49d2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO2lmKCFOKXJldHVybjtjb25zdCBQPW9lPT51KG9lLm1hdGNoZXMpO3JldHVybiBOLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsUCksKCk9Pk4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixQKX0sW10pLGYudXNlRWZmZWN0KCgpPT57Y29uc3QgTj0oKT0+e0NuKHdpbmRvdy5sb2NhdGlvbi5oYXNoKT9nKFllKHdpbmRvdy5sb2NhdGlvbi5oYXNoKSk6d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSxQPW9lPT57Y29uc3QgZ2U9RG4ob2UpO2dlJiYod2luZG93LmxvY2F0aW9uLmhhc2g9TWUoZ2UpKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixOKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUCksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsTiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLFApfX0sW10pLGYudXNlRWZmZWN0KCgpPT57bGV0IE49ITA7cmV0dXJuIFQoe3N0YXRlOiJsb2FkaW5nIn0pLHIuc2Vzc2lvbigpLnRoZW4oUD0+e04mJihUKHtzdGF0ZToicmVhZHkiLHJlc3VsdDpQfSksRihObihQLmRhdGEuc2VydmVyX3RpbWUsRGF0ZS5ub3coKSkpKX0sUD0+TiYmVCh7c3RhdGU6ImZhaWxlZCIsZmFpbHVyZTokbihQKX0pKSwoKT0+e049ITF9fSxbcixPXSksZi51c2VFZmZlY3QoKCk9PntsZXQgTj0hMDtjb25zdCBQPSgpPT5yLnJpYmJvbigpLnRoZW4oanQ9Pk4mJkkoe3N0YXRlOiJyZWFkeSIscmVzdWx0Omp0fSksKCk9Pk4mJkkoe3N0YXRlOiJmYWlsZWQifSkpO1AoKTtjb25zdCBvZT13aW5kb3cuc2V0SW50ZXJ2YWwoUCxycyksZ2U9d2luZG93LnNldEludGVydmFsKCgpPT5EKERhdGUubm93KCkpLHNzKTtyZXR1cm4oKT0+e049ITEsd2luZG93LmNsZWFySW50ZXJ2YWwob2UpLHdpbmRvdy5jbGVhckludGVydmFsKGdlKX19LFtyXSk7Y29uc3QgSj1mLnVzZUNhbGxiYWNrKE49PnthKE4pLGUubGFuZ3VhZ2V8fFdlKHsuLi5UZSgpLGxhbmd1YWdlOk59KX0sW2UubGFuZ3VhZ2VdKSxtPWYudXNlQ2FsbGJhY2soKCk9Pntjb25zdCBOPXA9PT0iZGFyayI/ImxpZ2h0IjoiZGFyayI7YyhOKSxlLnRoZW1lfHxXZSh7Li4uVGUoKSx0aGVtZTpOfSl9LFtwLGUudGhlbWVdKSxTPWYudXNlQ2FsbGJhY2soTj0+e3dpbmRvdy5sb2NhdGlvbi5oYXNoPU1lKE4pfSxbXSksQT1NLnN0YXRlPT09InJlYWR5Ij97a2luZDoicmVhZCIscmVhZDpNLnJlc3VsdC5kYXRhLmNvbnNvbGVfc3RhdGUuZ2F0ZXdheXN9OntraW5kOk0uc3RhdGV9LEg9TS5zdGF0ZT09PSJyZWFkeSI/TS5yZXN1bHQuZGF0YS5hbGVydF9iYWRnZS5vcGVuX2NvdW50Om51bGwsdj1baixNXS5maWx0ZXIoTj0+Ti5zdGF0ZT09PSJyZWFkeSImJk4ucmVzdWx0LnNvdXJjZT09PSJtb2NrIikubGVuZ3RoP3Q/PyJvayI6bnVsbCxFPWouc3RhdGU9PT0icmVhZHkiJiZDIT09bnVsbCxHPUVuKEU/QzpudWxsLEspLEw9SW4oaiksaGU9KCk9PiQoTj0+TisxKSxtZT1qLnN0YXRlPT09InJlYWR5IiYmai5yZXN1bHQuZGF0YS5hZG1pbj09PSEwLFJlPU0uc3RhdGU9PT0ibG9hZGluZyI/e2tpbmQ6ImxvYWRpbmcifTpNLnN0YXRlPT09ImZhaWxlZCI/e2tpbmQ6ImZhaWxlZCJ9OnFuKEFuKE0ucmVzdWx0LmRhdGEuZ2VuZXJhdGVkX2F0LEcpKSxfdD1rPT09InBlcmZvcm1hbmNlIj9uLmpzeChicix7YXBpOnIsdDpfLGxhbmd1YWdlOnN9KTprPT09Im92ZXJ2aWV3Ij9uLmpzeChfcix7YXBpOnIsdDpfLGxhbmd1YWdlOnN9KTprPT09ImFjY291bnRzIj9uLmpzeChLcix7YXBpOnIsdDpfLGxhbmd1YWdlOnMsaW5pdGlhbFRhYjp4LmdldCgidGFiIik9PT0iY3JlZGVudGlhbHMiPyJjcmVkZW50aWFscyI6ImJyb2tlcnMifSk6az09PSJzd2l0Y2giP24uanN4KHRzLHthcGk6cix0Ol8sbGFuZ3VhZ2U6cyxhZG1pbjptZSxpbml0aWFsVGFyZ2V0OnguZ2V0KCJ0YXJnZXQiKSxpbml0aWFsUHJvZmlsZTp4LmdldCgic3RyYXRlZ3kiKT8/eC5nZXQoInByb2ZpbGUiKX0pOm4uanN4KGVyLHtwYWdlOmssdDpffSksdnQ9TD09PSJvcGVuIj9fdDpMPT09ImxvYWRpbmciP24uanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJtcmQtY2FyZCBtcmQtYWNjZXNzIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46bi5qc3goInAiLHtjaGlsZHJlbjpfKCJhY2Nlc3MubG9hZGluZyIpfSl9KTpuLmpzeChabix7dDpfLGtpbmQ6TCxvblJldHJ5OmhlfSk7cmV0dXJuIG4uanN4KEpuLHtwYWdlOmssdDpfLGxhbmd1YWdlOnMsdGhlbWU6cCxnYXRld2F5OkEsYWxlcnRDb3VudDpILG5vd0lzbzpHLHNlcnZlckNsb2NrOkUsbW9jazp2LGZyZXNobmVzczpSZSxvbk5hdmlnYXRlOlMsb25MYW5ndWFnZTpKLG9uVGhlbWU6bSxjaGlsZHJlbjp2dH0pfWZ1bmN0aW9uIGRzKGUpe1R0LmNyZWF0ZVJvb3QoZSkucmVuZGVyKG4uanN4KGlzLHt9KSl9ZXhwb3J0e2RzIGFzIG1vdW50RGVza307Cg==" }, + "/v2/assets/DeskApp-R80l_MwH.css": { contentType: "text/css; charset=utf-8", base64: "Lm1yZHstLW1yZC1wYWQ6IDIwcHg7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjg0cHggbWlubWF4KDAsMWZyKTtnYXA6MjBweDtwYWRkaW5nOjIwcHggMjhweCAyMHB4IDIwcHg7Y29sb3I6dmFyKC0tbXJkLWluayk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tcmQtYmcpO2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tbXJkLWF1cm9yYSk7YmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtmb250OjE0cHgvMS40NSB2YXIoLS1mb250LXNhbnMpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIsInNzMDEiOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9aHRtbDpoYXMoLm1yZCksaHRtbDpoYXMoLm1yZCkgYm9keXtiYWNrZ3JvdW5kOnZhcigtLW1yZC1iZyl9Lm1yZCAqOmJlZm9yZSwubXJkICo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fS5tcmQgOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tbXJkLXZpb2xldCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5tcmQgY29kZXtmb250OjExLjVweCB2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLW1yZC1pbmstMil9Lm1yZC1zZXJpZntmb250LWZhbWlseTp2YXIoLS1tcmQtZm9udC1zZXJpZik7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi0uMDJlbX0ubXJkOmxhbmcoemgpIC5tcmQtc2VyaWZ7bGV0dGVyLXNwYWNpbmc6MDtmb250LXdlaWdodDo1MDB9Lm1yZC1sYWJlbHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LjA5ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLW1yZC1pbmstMyl9Lm1yZDpsYW5nKHpoKSAubXJkLWxhYmVse2xldHRlci1zcGFjaW5nOi4wNGVtfS5tcmQtY2FyZCwubXJkLWRvY2ssLm1yZC1jaGlwLC5tcmQtc2Vne2JhY2tncm91bmQ6dmFyKC0tbXJkLXBhbmVsKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1yZC1saW5lKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMnB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIycHgpfS5tcmQtY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLW1yZC1wYWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tbXJkLXJhZGl1cyk7Ym94LXNoYWRvdzp2YXIoLS1tcmQtc2hhZG93KSxpbnNldCAwIDFweCAwIHZhcigtLW1yZC1oaWdobGlnaHQpfS5tcmQtZG9ja3twb3NpdGlvbjpzdGlja3k7dG9wOjIwcHg7aGVpZ2h0OmNhbGMoMTAwdmggLSA0MHB4KTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6MTRweCAwO2JvcmRlci1yYWRpdXM6MzBweDtib3gtc2hhZG93OnZhcigtLW1yZC1zaGFkb3cpLGluc2V0IDAgMXB4IDAgdmFyKC0tbXJkLWhpZ2hsaWdodCl9Lm1yZC1tYXJre2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDttYXJnaW4tYm90dG9tOjE4cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6Y29uaWMtZ3JhZGllbnQoZnJvbSAyMDBkZWcsdmFyKC0tbXJkLXZpb2xldCksdmFyKC0tbXJkLXNreSksdmFyKC0tbXJkLW1pbnQpLHZhcigtLW1yZC1hbWJlciksdmFyKC0tbXJkLXZpb2xldCkpfS5tcmQtbWFyayBpe3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1tcmQtYmcpfS5tcmQtZG9jay1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7d2lkdGg6NThweDtwYWRkaW5nOjlweCAwIDdweDtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6dmFyKC0tbXJkLWluay0zKTtmb250LXNpemU6MTAuNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5tcmQtZG9jay1pdGVtOmhvdmVye2NvbG9yOnZhcigtLW1yZC1pbmspfS5tcmQtZG9jay1pdGVtW2FyaWEtY3VycmVudD1wYWdlXXtjb2xvcjp2YXIoLS1tcmQtaW5rKTtiYWNrZ3JvdW5kOnZhcigtLW1yZC1wYW5lbC0yKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgdmFyKC0tbXJkLWhpZ2hsaWdodCl9Lm1yZC1pY29ue3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7ZmxleDpub25lfS5tcmQtYmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtyaWdodDo4cHg7bWluLXdpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7cGFkZGluZzowIDRweDtib3JkZXItcmFkaXVzOjk5cHg7YmFja2dyb3VuZDp2YXIoLS1tcmQtY29yYWwpO2NvbG9yOnZhcigtLW1yZC1vbi1hY2NlbnQpO2ZvbnQ6NjAwIDEwcHgvMTdweCB2YXIoLS1mb250LXNhbnMpO2ZvbnQtc3R5bGU6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyfS5tcmQtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4O21pbi13aWR0aDowfS5tcmQtbWFpbj4qe2FuaW1hdGlvbjptcmQtdXAgLjZzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSBib3RofS5tcmQtbWFpbj46bnRoLWNoaWxkKDIpe2FuaW1hdGlvbi1kZWxheTouMDhzfS5tcmQtdG9we2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWluLWhlaWdodDozNnB4fS5tcmQtY3J1bWJ7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1tcmQtaW5rLTIpO2ZvbnQtc2l6ZToxM3B4fS5tcmQtY3J1bWIgYntjb2xvcjp2YXIoLS1tcmQtaW5rKTtmb250LXdlaWdodDo2MDB9Lm1yZC10b29sc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweDthbGlnbi1pdGVtczpjZW50ZXJ9Lm1yZC1jaGlwe2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7cGFkZGluZzo2cHggMTJweDtib3JkZXItcmFkaXVzOjk5cHg7Y29sb3I6dmFyKC0tbXJkLWluay0yKTtmb250OjEycHggdmFyKC0tZm9udC1zYW5zKTt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1yZC1jaGlwIGl7d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1tcmQtaW5rLTMpfS5tcmQtY2hpcFtkYXRhLXRvbmU9b2tdIGl7YmFja2dyb3VuZDp2YXIoLS1tcmQtbWludCl9Lm1yZC1jaGlwW2RhdGEtdG9uZT13YXJuXSBpe2JhY2tncm91bmQ6dmFyKC0tbXJkLWFtYmVyKX0ubXJkLWNoaXBbZGF0YS10b25lPXJpc2tdIGl7YmFja2dyb3VuZDp2YXIoLS1tcmQtY29yYWwpfS5tcmQtY2hpcFtkYXRhLXRvbmU9dW5rbm93bl17Y29sb3I6dmFyKC0tbXJkLXVua25vd24pfS5tcmQtY2hpcFtkYXRhLXRvbmU9dW5rbm93bl0gaXtiYWNrZ3JvdW5kOm5vbmU7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxLjVweCB2YXIoLS1tcmQtdW5rbm93bil9Lm1yZC1jaGlwLW1vY2t7Y29sb3I6dmFyKC0tbXJkLWFtYmVyKTtib3JkZXItY29sb3I6dmFyKC0tbXJkLWFtYmVyKX0ubXJkLWNsb2Nre2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjExLjVweH0ubXJkLWljb24tYnV0dG9ue3BhZGRpbmc6NnB4IDlweDtjdXJzb3I6cG9pbnRlcn0ubXJkLWljb24tYnV0dG9uIC5tcmQtaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS5tcmQtc2Vne2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjJweDtwYWRkaW5nOjNweDtib3JkZXItcmFkaXVzOjk5cHh9Lm1yZC1zZWcgYnV0dG9uLC5tcmQtaWNvbi1idXR0b257Zm9udDppbmhlcml0O2NvbG9yOnZhcigtLW1yZC1pbmstMyl9Lm1yZC1zZWcgYnV0dG9ue3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo5OXB4O2JhY2tncm91bmQ6bm9uZTtmb250LXNpemU6MTJweDtjdXJzb3I6cG9pbnRlcn0ubXJkLXNlZyBidXR0b25bYXJpYS1wcmVzc2VkPXRydWVde2NvbG9yOnZhcigtLW1yZC1pbmspO2JhY2tncm91bmQ6dmFyKC0tbXJkLXBhbmVsLTIpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHZhcigtLW1yZC1saW5lKX0ubXJkLXN0dWJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweH0ubXJkLXN0dWItaGVyb3tvdmVyZmxvdzpoaWRkZW47cGFkZGluZzozMHB4IDMycHggMzRweH0ubXJkLXN0dWItaGVybyBoMXttYXgtd2lkdGg6MjJlbTttYXJnaW46MTRweCAwIDEwcHg7Zm9udC1zaXplOjQ2cHg7bGluZS1oZWlnaHQ6MS4wNn0ubXJkOmxhbmcoemgpIC5tcmQtc3R1Yi1oZXJvIGgxe2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OjEuMn0ubXJkLXN0dWItaGVybyBwe21heC13aWR0aDo0NmVtO21hcmdpbjowO2NvbG9yOnZhcigtLW1yZC1pbmstMik7Zm9udC1zaXplOjE1cHh9Lm1yZC1nbG93e3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNjBweDtyaWdodDotNDBweDt3aWR0aDoyNjBweDtoZWlnaHQ6MjYwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1tcmQtdmlvbGV0KTtmaWx0ZXI6Ymx1cig3MHB4KTtvcGFjaXR5Oi4yO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1yZC1zdHViLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjNmciAxZnI7Z2FwOjE2cHh9Lm1yZC1wYXJ0cywubXJkLWVuZHBvaW50c3ttYXJnaW46MTRweCAwIDA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZX0ubXJkLXBhcnRze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4fS5tcmQtcGFydHMgbGl7ZGlzcGxheTppbmxpbmUtZmxleDtnYXA6OHB4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO3BhZGRpbmc6N3B4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OXB4O2JhY2tncm91bmQ6dmFyKC0tbXJkLXBhbmVsLTIpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHZhcigtLW1yZC1saW5lKTtmb250LXNpemU6MTNweH0ubXJkLXBhcnRzIGJ7Y29sb3I6dmFyKC0tbXJkLXZpb2xldCk7Zm9udDo1MDAgMTFweCB2YXIoLS1mb250LW1vbm8pfS5tcmQtZW5kcG9pbnRze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweH0ubXJkLWVuZHBvaW50cyBjb2Rle292ZXJmbG93LXdyYXA6YW55d2hlcmV9Lm1yZC1ub3Rle21hcmdpbjoxNHB4IDAgMDtjb2xvcjp2YXIoLS1tcmQtaW5rLTMpO2ZvbnQtc2l6ZToxMnB4fS5tcmQtYWNjZXNze21heC13aWR0aDo1MjBweDtwYWRkaW5nOjMwcHggMzJweH0ubXJkLWFjY2VzcyBoMXttYXJnaW46MCAwIDhweDtmb250LXNpemU6MzZweH0ubXJkLWFjY2VzcyBwe21hcmdpbjowIDAgMThweDtjb2xvcjp2YXIoLS1tcmQtaW5rLTIpfS5tcmQtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7cGFkZGluZzoxMHB4IDE4cHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo5OXB4O2JhY2tncm91bmQ6dmFyKC0tbXJkLWJ1dHRvbik7Y29sb3I6dmFyKC0tbXJkLWJ1dHRvbi1pbmspO2ZvbnQ6NjAwIDEzcHggdmFyKC0tZm9udC1zYW5zKTt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn1Aa2V5ZnJhbWVzIG1yZC11cHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTRweCl9fS5tcmQtc2tlbGV0b257ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnZhcigtLW1yZC1wYW5lbC0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS1tcmQtbGluZSk7YW5pbWF0aW9uOm1yZC1wdWxzZSAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgbXJkLXB1bHNlezUwJXtvcGFjaXR5Oi41NX19QG1lZGlhKG1heC13aWR0aDo3NjBweCl7Lm1yZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtwYWRkaW5nOjE0cHggMTRweCA5NnB4O2dhcDoxMnB4Oy0tbXJkLXBhZDogMTZweH0ubXJkLWRvY2t7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1O2luc2V0OmF1dG8gMTJweCAxMnB4O2hlaWdodDo2NHB4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXJhZGl1czoyNnB4fS5tcmQtbWFyaywubXJkLWNydW1iLWJyYW5kLC5tcmQtY3J1bWItc2VwLC5tcmQtY2xvY2stZGF5e2Rpc3BsYXk6bm9uZX0ubXJkLWRvY2staXRlbXt3aWR0aDphdXRvO21pbi13aWR0aDo0OHB4O3BhZGRpbmc6N3B4IDZweDtmb250LXNpemU6MTBweH0ubXJkLWJhZGdle3JpZ2h0OjJweH0ubXJkLXRvb2xze2dhcDo2cHh9Lm1yZC1zdHViLWhlcm97cGFkZGluZzoyMnB4IDIwcHggMjRweH0ubXJkLXN0dWItaGVybyBoMXtmb250LXNpemU6MzRweH0ubXJkOmxhbmcoemgpIC5tcmQtc3R1Yi1oZXJvIGgxe2ZvbnQtc2l6ZToyOHB4fS5tcmQtc3R1Yi1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfX0K" }, + "/v2/assets/Dialog-Be0IVLI8.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3IgYXMgYSx1IGFzIHcsWiBhcyB2LGogYXMgbn1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2Z1bmN0aW9uIEQoe3JlcXVlc3Q6ZSxvblJlc29sdmU6Y30pe2NvbnN0IG89dygpLGQ9YS51c2VSZWYobnVsbCksZj1hLnVzZVJlZihudWxsKSxbaSxtXT1hLnVzZVN0YXRlKCExKSxbcyxnXT1hLnVzZVN0YXRlKCIiKSxbaCxwXT1hLnVzZVN0YXRlKCgpPT5EYXRlLm5vdygpKSx4PWEudXNlUmVmKCExKTthLnVzZUVmZmVjdCgoKT0+e2YuY3VycmVudD8uZm9jdXMoKX0sW10pLGEudXNlRWZmZWN0KCgpPT57aWYoIWUuZXhwaXJlc0F0KXJldHVybjtwKERhdGUubm93KCkpO2NvbnN0IHQ9d2luZG93LnNldEludGVydmFsKCgpPT5wKERhdGUubm93KCkpLDFlMyk7cmV0dXJuKCk9PndpbmRvdy5jbGVhckludGVydmFsKHQpfSxbZS5leHBpcmVzQXRdKTtjb25zdCByPShlLmV4cGlyZXNBdD92KGUuZXhwaXJlc0F0LGUuc2VydmVyVGltZT8/bnVsbCxlLnJlY2VpdmVkQXQ/P25ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxoKTp7c3RhdGU6Im5vbmUifSkuc3RhdGU9PT0iZXhwaXJlZCI7YS51c2VFZmZlY3QoKCk9Pnshcnx8eC5jdXJyZW50fHwoeC5jdXJyZW50PSEwLGUub25FeHBpcnk/LigpKX0sW3IsZV0pO2NvbnN0IHU9IWUudHlwZVRvQ29uZmlybXx8cy50cmltKCk9PT1lLnR5cGVUb0NvbmZpcm0uZXhwZWN0ZWQsaj0hZS5hY2tMYWJlbHx8aSxrPXUmJmomJiFyLEM9dD0+e2lmKHQua2V5PT09IkVzY2FwZSIpe3QucHJldmVudERlZmF1bHQoKSxjKCExKTtyZXR1cm59aWYodC5rZXkhPT0iVGFiIilyZXR1cm47Y29uc3QgbD1kLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKSwgW2hyZWZdLCBpbnB1dDpub3QoOmRpc2FibGVkKSwgc2VsZWN0Om5vdCg6ZGlzYWJsZWQpLCB0ZXh0YXJlYTpub3QoOmRpc2FibGVkKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScpO2lmKCFsPy5sZW5ndGgpcmV0dXJuO2NvbnN0IHk9bFswXSxiPWxbbC5sZW5ndGgtMV07dC5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXk/KHQucHJldmVudERlZmF1bHQoKSxiLmZvY3VzKCkpOiF0LnNoaWZ0S2V5JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YiYmKHQucHJldmVudERlZmF1bHQoKSx5LmZvY3VzKCkpfTtyZXR1cm4gbi5qc3goImRpdiIse2NsYXNzTmFtZToiZGlhbG9nLWJhY2tkcm9wIixvbk1vdXNlRG93bjp0PT57dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJmMoITEpfSxjaGlsZHJlbjpuLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZGlhbG9nIixyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjoidHJ1ZSIsImFyaWEtbGFiZWxsZWRieSI6ImNvbmZpcm0tdGl0bGUiLHJlZjpkLG9uS2V5RG93bjpDLGNoaWxkcmVuOltuLmpzeCgiaDIiLHtpZDoiY29uZmlybS10aXRsZSIsY2hpbGRyZW46ZS50aXRsZX0pLGUudGFyZ2V0JiZuLmpzeCgicCIse2NsYXNzTmFtZToiZGlhbG9nLXRhcmdldCIsY2hpbGRyZW46ZS50YXJnZXR9KSxlLnN1bW1hcnkmJm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZy1zdW1tYXJ5IixjaGlsZHJlbjplLnN1bW1hcnl9KSxlLmJvZHksZS5jb25zZXF1ZW5jZSYmbi5qc3goInAiLHtjbGFzc05hbWU6YGRpYWxvZy1jb25zZXF1ZW5jZSAke2UudG9uZT09PSJkYW5nZXIiPyJkYW5nZXIiOiIifWAsY2hpbGRyZW46ZS5jb25zZXF1ZW5jZX0pLGUuZXhwaXJlc0F0JiZuLmpzeCgicCIse2NsYXNzTmFtZTpgZGlhbG9nLWNvbnNlcXVlbmNlICR7cj8iZGFuZ2VyIjoiIn1gLHJvbGU6cj8iYWxlcnQiOnZvaWQgMCxjaGlsZHJlbjpyP24uanN4cyhuLkZyYWdtZW50LHtjaGlsZHJlbjpbbygiY29ja3BpdC5leHBpcnkuZXhwaXJlZCIpLCIgwrcgIixvKCJjb2NrcGl0LmV4cGlyeS5ib3VuZGFyeSIpXX0pOm8oImNvY2twaXQuZXhwaXJ5LmF0Iix7dmFsdWU6ZS5leHBpcmVzQXR9KX0pLGUuYWNrTGFiZWwmJm4uanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImNoZWNrYm94LXJvdyIsY2hpbGRyZW46W24uanN4KCJpbnB1dCIse3R5cGU6ImNoZWNrYm94IixjaGVja2VkOmksb25DaGFuZ2U6dD0+bSh0LnRhcmdldC5jaGVja2VkKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46ZS5hY2tMYWJlbH0pXX0pLGUudHlwZVRvQ29uZmlybSYmbi5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLHN0eWxlOnttYXJnaW5Ub3A6MTJ9LGNoaWxkcmVuOltuLmpzeCgic3BhbiIse2NoaWxkcmVuOmUudHlwZVRvQ29uZmlybS5sYWJlbH0pLG4uanN4KCJpbnB1dCIse2NsYXNzTmFtZToiaW5wdXQiLHZhbHVlOnMsb25DaGFuZ2U6dD0+Zyh0LnRhcmdldC52YWx1ZSksYXV0b0NvbXBsZXRlOiJvZmYiLCJhcmlhLWludmFsaWQiOiF1JiZzLmxlbmd0aD4wfSksIXUmJnMubGVuZ3RoPjAmJm4uanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOiJ2YXIoLS1kYW5nZXIpIixmb250U2l6ZToxMn0sY2hpbGRyZW46ZS50eXBlVG9Db25maXJtLm1pc21hdGNofSldfSksbi5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZy1hY3Rpb25zIixjaGlsZHJlbjpbbi5qc3goImJ1dHRvbiIse3JlZjpmLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLHR5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+YyghMSksY2hpbGRyZW46bygiY29tbW9uLmNhbmNlbCIpfSksbi5qc3goImJ1dHRvbiIse2NsYXNzTmFtZTpgYnV0dG9uICR7ZS50b25lPT09ImRhbmdlciI/ImJ1dHRvbi1kYW5nZXIiOiJidXR0b24tcHJpbWFyeSJ9YCx0eXBlOiJidXR0b24iLGRpc2FibGVkOiFrLG9uQ2xpY2s6KCk9PmMoITApLGNoaWxkcmVuOmUuY29uZmlybUxhYmVsfHxvKCJjb21tb24uY29uZmlybSIpfSldfSldfSl9KX1mdW5jdGlvbiBBKCl7Y29uc3RbZSxjXT1hLnVzZVN0YXRlKG51bGwpLG89YS51c2VSZWYobnVsbCk7cmV0dXJue2NvbmZpcm1SZXF1ZXN0OmUsY29uZmlybTppPT5uZXcgUHJvbWlzZShtPT57by5jdXJyZW50Py4oITEpLG8uY3VycmVudD1tLGMoaSl9KSxyZXNvbHZlQ29uZmlybTppPT57by5jdXJyZW50Py4oaSksby5jdXJyZW50PW51bGwsYyhudWxsKX19fWV4cG9ydHtEIGFzIEMsQSBhcyB1fTsK" }, + "/v2/assets/ExecutionEvidence-28ly8IEg.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgXyx0IGFzIGcsdiBhcyBwLGogYXMgbn1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2NvbnN0IGM9bmV3IFNldChbIm5vdF9jb25uZWN0ZWQiLCJyZWFkX2ZhaWxlZCIsInBlcm1pc3Npb25fZGVuaWVkIiwiYnJva2VyX2Vudmlyb25tZW50X21pc3NpbmciLCJleGVjdXRpb25fY29uZmlnX21pc3NpbmciLCJkcnlfcnVuX2ZsYWdfbWlzc2luZyIsImVudmlyb25tZW50X2NvbmZsaWN0Il0pO2Z1bmN0aW9uIGooe2V2aWRlbmNlOmUsY29tcGFjdDpsPSExLHNob3dTdGF0ZTptPSExfSl7Y29uc3Qgcz1fKCkseD1nKCksYT1wKGU/Lm9ic2VydmVkX2F0LHgsITApLG89ZT8udmFsdWV8fCJ1bmtub3duIixpPWU/LnJlYXNvbl9jb2Rlcz8ubGVuZ3RoP2UucmVhc29uX2NvZGVzOltlPy5zdGF0dXMmJmMuaGFzKGUuc3RhdHVzKT9lLnN0YXR1czoiZXZpZGVuY2VfbWlzc2luZyJdLGQ9ZT8uY29uZmlndXJhdGlvbl9zb3VyY2U9PT0iUlVOVElNRV9UQVJHRVRfSlNPTiI/InJ1bnRpbWVfdGFyZ2V0IjplPy5jb25maWd1cmF0aW9uX3NvdXJjZT09PSJDTE9VRF9SVU5fU0VSVklDRV9UQVJHRVRTX0pTT04iPyJzZXJ2aWNlX3RhcmdldCI6Im1pc3NpbmciLHI9ZT8uYnJva2VyX2Vudmlyb25tZW50PT09ImxpdmUifHxlPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0icGFwZXIiLHU9cyhlPy5icm9rZXJfZW52aXJvbm1lbnQ9PT0ibGl2ZSI/InN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxpdmUiOmU/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciI/InN0cmF0ZWdpZXMuZXhlY3V0aW9uLnBhcGVyIjoiY29tbW9uLnVua25vd24iKTtyZXR1cm4gbT9uLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZXhlY3V0aW9uLWV2aWRlbmNlLXN0YXR1cyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke289PT0ibGl2ZSI/Indhcm4iOm89PT0idW5rbm93biI/InVua25vd24iOiJhY2NlbnQifWAsY2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSksbz09PSJ1bmtub3duIiYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjppLm1hcCh0PT5zKGBhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLiR7Yy5oYXModCk/dDoiZXZpZGVuY2VfbWlzc2luZyJ9YCkpLmpvaW4oIiDCtyAiKX0pXX0pOmw/bz09PSJ1bmtub3duIj9udWxsOm4uanN4KCJkaXYiLHtjbGFzc05hbWU6ImV4ZWN1dGlvbi1ldmlkZW5jZS1jb21wYWN0IixjaGlsZHJlbjpuLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImFjY291bnQtcm93IGV4ZWN1dGlvbi1tb2RlLXJvdyIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2hpbGRyZW46cygiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiKX0pLG4uanN4KCJzcGFuIix7Y2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSldfSl9KTpuLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W24uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke289PT0ibGl2ZSI/Indhcm4iOm89PT0idW5rbm93biI/InVua25vd24iOiJhY2NlbnQifWAsY2hpbGRyZW46cyhgc3RyYXRlZ2llcy5leGVjdXRpb24uJHtvfWApfSksciYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Iix7dmFsdWU6dX0pfSksbi5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJhY2NvdW50LWZhY3RzLW5vdGVzIixjaGlsZHJlbjpbbi5qc3goInN1bW1hcnkiLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5kYXRhX25vdGVzIil9KSxuLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W289PT0idW5rbm93biImJm4uanN4KCJzcGFuIix7Y2hpbGRyZW46aS5tYXAodD0+cyhgYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi4ke2MuaGFzKHQpP3Q6ImV2aWRlbmNlX21pc3NpbmcifWApKS5qb2luKCIgwrcgIil9KSwhciYmbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Iix7dmFsdWU6dX0pfSksbi5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlIix7dmFsdWU6cyhgYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS4ke2R9YCl9KX0pLG4uanN4cygic3BhbiIse2NoaWxkcmVuOltzKCJhY2NvdW50cy5leGVjdXRpb24ub2JzZXJ2ZWQiKSwiICIsbi5qc3hzKCJ0aW1lIix7ZGF0ZVRpbWU6ZT8ub2JzZXJ2ZWRfYXR8fHZvaWQgMCxjaGlsZHJlbjpbYS50ZXh0LGEuem9uZT9gICgke2Euem9uZX0pYDoiIl19KV19KSxuLmpzeCgic3BhbiIse2NoaWxkcmVuOnMoImFjY291bnRzLmV4ZWN1dGlvbi5jb25maWdfb25seSIpfSldfSldfSldfSl9ZXhwb3J0e2ogYXMgRX07Cg==" }, "/v2/assets/HealthPage-C31vh1xa.css": { contentType: "text/css; charset=utf-8", base64: "LnN0YXQtc3RyaXAuaGVhbHRoLWtwaXN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfUBtZWRpYShtYXgtd2lkdGg6MTEwMHB4KXsuc3RhdC1zdHJpcC5oZWFsdGgta3Bpc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9fS5zdGF0LXN0cmlwPi5rcGktY2FyZHtwYWRkaW5nOjE0cHggMTZweDtib3JkZXItcmFkaXVzOjEwcHh9LnN0YXQtc3RyaXAgLmtwaS10aXRsZXttaW4taGVpZ2h0OjIuNmVtO2xpbmUtaGVpZ2h0OjEuM30uc3RhdC1zdHJpcCAua3BpLXZhbHVle2ZvbnQtc2l6ZToyM3B4fS5oZWFsdGgtZGF5LWNvbnRleHR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4IDE0cHg7ZmxleC13cmFwOndyYXB9LmhlYWx0aC1idXNpbmVzcy1kYXl7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluayl9LmhlYWx0aC1idXNpbmVzcy1kYXlbZGF0YS1zdGF0ZT1yZWFkX2ZhaWxlZF17Y29sb3I6dmFyKC0tc3RhdHVzLWVycm9yKX0uaGVhbHRoLWdyaWQgLnNrZWxldG9ue21hcmdpbjowIGF1dG99LmhlYWx0aC1ncmlkIGJ1dHRvbi5oZWFsdGgtY2VsbHtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7Zm9udDppbmhlcml0fS5oZWFsdGgtY2VsbC5zZWxlY3RlZHtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjFweH0uaGVhbHRoLWdyaWQtbm90ZXttYXJnaW46MTBweCAwIDA7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tc3RhdHVzLWVycm9yKX0uaGVhbHRoLWdyaWQtbm90ZS1pbmZve2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWRheS1kZXRhaWx7bWFyZ2luLXRvcDoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtmb250LXNpemU6MTNweH0uaGVhbHRoLWRheS1kZXRhaWwtaGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwfS5oZWFsdGgtZGF5LWRldGFpbC1tZXRhe2Rpc3BsYXk6ZmxleDtnYXA6MTZweDtmbGV4LXdyYXA6d3JhcDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmhlYWx0aC1kYXktcnVucz5zdW1tYXJ5e2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOjEycHh9LmhlYWx0aC1kYXktcnVucyB1bHttYXJnaW46NnB4IDAgMDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweH0uaGVhbHRoLWRheS1ydW5zIGxpe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9LmhlYWx0aC1kYXktcnVucyAubnVte2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uaGVhbHRoLWNlbGwudW5rbm93biwuaGVhbHRoLWNlbGwuaW5jb21wbGV0ZSwuaGVhbHRoLWNlbGwuc3RhbGV7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWNlbGwucmVhZC1mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLXN0YXR1cy1lcnJvcil9LmhlYWx0aC1jZWxsLmJpbmRpbmctY2hhbmdlZHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMik7Y29sb3I6dmFyKC0tc3RhdHVzLXdhcm4pfS5oZWFsdGgtZ3JpZCB0YWJsZXtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6MH0uaGVhbHRoLWdyaWQgdHI+dGg6Zmlyc3QtY2hpbGR7cG9zaXRpb246c3RpY2t5O2xlZnQ6MDt6LWluZGV4OjI7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTttaW4td2lkdGg6MTQwcHg7bWF4LXdpZHRoOjE4MHB4O3doaXRlLXNwYWNlOm5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1saW5lKX0uaGVhbHRoLWdyaWQgdGJvZHkgdGgsLmhlYWx0aC1ncmlkIHRib2R5IHRke3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaGVhbHRoLWdyaWQgdGgsLmhlYWx0aC1ncmlkIHRke3BhZGRpbmc6NnB4fS5oZWFsdGgtZ3JpZCBidXR0b24uaGVhbHRoLWNlbGx7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaGVhbHRoLWdyaWQgYnV0dG9uLmhlYWx0aC1jZWxsOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTZweDtib3JkZXItcmFkaXVzOjhweH1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuaGVhbHRoLWZyZXNobmVzcyAuZGF0YS10YWJsZSB0aCwuaGVhbHRoLWZyZXNobmVzcyAuZGF0YS10YWJsZSB0ZHt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX19LmhlYWx0aC1jZWxsLmJsb2NrZWR7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdGF0dXMtd2FybikgMjAlLHRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1zdGF0dXMtd2Fybil9LmhlYWx0aC1zdGF0ZS1zdW1tYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7ZmxleC13cmFwOndyYXA7cGFkZGluZzoxMHB4IDE0cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5oZWFsdGgtc3RhdGUtY291bnRze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NnB4IDIwcHg7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtmb250LXNpemU6MTNweH0uaGVhbHRoLXN0YXRlLXN1bW1hcnkgLmhlYWx0aC1zdGF0ZS1zZWNvbmRhcnl7ZmxleC1iYXNpczoxMDAlO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweH0uaGVhbHRoLXBsYXRmb3JtLWdyb3VwKy5oZWFsdGgtcGxhdGZvcm0tZ3JvdXB7bWFyZ2luLXRvcDoyMHB4fS5oZWFsdGgtcGxhdGZvcm0tZ3JvdXAgaDN7bWFyZ2luOjAgMCA4cHg7Zm9udC1zaXplOjE0cHh9LmhlYWx0aC1mcmVzaG5lc3MgdGFibGUuZGF0YS10YWJsZXttaW4td2lkdGg6NjIwcHh9LmhlYWx0aC1mcmVzaG5lc3MgdGg6Zmlyc3QtY2hpbGQsLmhlYWx0aC1mcmVzaG5lc3MgdGQ6Zmlyc3QtY2hpbGR7cG9zaXRpb246c3RpY2t5O2xlZnQ6MDt6LWluZGV4OjE7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKX0uaGVhbHRoLWZyZXNobmVzcyB0aGVhZCB0aDpmaXJzdC1jaGlsZHt6LWluZGV4OjJ9QG1lZGlhKG1heC13aWR0aDo2MDBweCl7LnN0YXQtc3RyaXA+LmtwaS1jYXJke3BhZGRpbmc6MTJweH0uc3RhdC1zdHJpcCAua3BpLXZhbHVle2ZvbnQtc2l6ZToyMHB4fS5oZWFsdGgtc3RhdGUtc3VtbWFyeXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5oZWFsdGgtZGF5LWNvbnRleHR7Z2FwOjZweCAxMHB4fX0uY3JlZGVudGlhbC1yb3RhdGlvbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1nYXAtMyl9LnJvdGF0aW9uLXJlbWluZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWdhcC0yKTtmbGV4LXdyYXA6d3JhcH0ucm90YXRpb24tbWV0YXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTYwcHgsMWZyKSk7Z2FwOnZhcigtLWdhcC00KTttYXJnaW46MH0ucm90YXRpb24tbWV0YS1pdGVte2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdhcC0xKTttaW4td2lkdGg6MH0ucm90YXRpb24tbWV0YSBkdHtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucm90YXRpb24tbWV0YSBkZHttYXJnaW46MDtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LnJvdGF0aW9uLW1ldGEgZGRbZGF0YS1lbXB0eT10cnVlXXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucm90YXRpb24tc3RhbXB7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6MTJweH0ucm90YXRpb24tc3RhdGV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tZ2FwLTIpO2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6dmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7Ym9yZGVyOi41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjEzcHh9LnJvdGF0aW9uLXN0YXRlW2RhdGEtdG9uZT13YXJuXXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLXRpbnQpO2NvbG9yOnZhcigtLXdhcm5pbmcpfS5yb3RhdGlvbi1zdGF0ZVtkYXRhLXRvbmU9ZXJyb3Jde2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3Ryb25nKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci10aW50KTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5yb3RhdGlvbi1zdGF0ZVtkYXRhLXRvbmU9b2tde2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3Ryb25nKTtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtdGludCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnJvdGF0aW9uLXN0YXRlLXJlYXNvbntjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEycHh9LnJvdGF0aW9uLWZvcm17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwLTMpfS5yb3RhdGlvbi1maWVsZHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDE2MHB4LDFmcikpO2dhcDp2YXIoLS1nYXAtMyl9LnJvdGF0aW9uLWZvcm0gLmZpZWxke21hcmdpbi1ib3R0b206MH0ucm90YXRpb24tYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcC0yKTtmbGV4LXdyYXA6d3JhcH0ucm90YXRpb24tYWN0aW9ucyAuYnV0dG9ue21pbi1oZWlnaHQ6NDRweH0ucm90YXRpb24tZXJyb3J7bWFyZ2luOjA7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXNpemU6MTNweH1AbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsucm90YXRpb24tbWV0YSwucm90YXRpb24tZmllbGRze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LnJvdGF0aW9uLWFjdGlvbnMgLmJ1dHRvbntmbGV4OjEgMSAxMDAlfX0K" }, - "/v2/assets/HealthPage-OTYMOGge.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgRSxxIGFzIFcsciBhcyBOLGogYXMgZSxCIGFzIHEsbiBhcyBDLEUgYXMgSSx0IGFzIEYsYWcgYXMgbGUsYWggYXMgb2UsYWkgYXMgaWUsWSBhcyBjZSxhaiBhcyBkZSxhayBhcyBoZSxhbCBhcyB1ZSx4IGFzIFUsYW0gYXMgcGUsZiBhcyBaLHYgYXMgZmUsUyBhcyBKLEEgYXMgSyxvIGFzIG1lLGFuIGFzIF9lLGFvIGFzIHhlLGFwIGFzIGplLGFxIGFzIGdlLGggYXMgdmUsYWEgYXMgeWUsYXIgYXMgYmUsWiBhcyBOZX1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2ltcG9ydHtjIGFzIGtlLHUgYXMgJH1mcm9tIi4vaG9va3MtQ01uQTFsT1AuanMiO2ltcG9ydHtLIGFzIFJ9ZnJvbSIuL0twaUNhcmQtQ1RjNXA0TEouanMiO2ltcG9ydHtEIGFzIHdlfWZyb20iLi9EYXRhVGFibGUtQ25GdW1mcy0uanMiO2ltcG9ydHt1IGFzIFNlLEMgYXMgQ2V9ZnJvbSIuL0RpYWxvZy1EY2RncmNXeC5qcyI7aW1wb3J0e0QgYXMgRWUsQSBhcyAkZX1mcm9tIi4vY29ja3BpdC1DLU5DTFpuSy5qcyI7aW1wb3J0e2MgYXMgUSx0IGFzIERlLHIgYXMgcWUsdyBhcyBSZSxhIGFzIEwsYiBhcyBUZX1mcm9tIi4vc3RhdHVzLUJfVVhVbzhHLmpzIjtpbXBvcnR7ciBhcyBBZX1mcm9tIi4vcnVudGltZV9kYWlseV9jb250cmFjdC14VzQzbVpRWS5qcyI7Y29uc3QgemU9e2V4cGlyZWQ6ImVycm9yIiw3OiJ3YXJuIiwxNDoid2FybiIsMzA6Indhcm4iLG5vdF9kdWU6Im9rIix1bmtub3duOiJ1bmtub3duIn0sSWU9WyJmaW5hbGl6ZWQiLCJjYW5jZWxlZCIsImZhaWxlZCJdLEJlPVsiYWRkX3Vua25vd24iLCJmaW5hbGl6ZV91bmtub3duIiwiY2FuY2VsX3Vua25vd24iXSxHPXthZGRpbmdfdmVyc2lvbjoidW5rbm93biIsc3RhZ2VkOiJ3YXJuIixmaW5hbGl6aW5nOiJ1bmtub3duIixmaW5hbGl6ZWQ6Im9rIixjYW5jZWxpbmc6InVua25vd24iLGNhbmNlbGVkOiJ1bmtub3duIixhZGRfdW5rbm93bjoiZXJyb3IiLGZpbmFsaXplX3Vua25vd246ImVycm9yIixjYW5jZWxfdW5rbm93bjoiZXJyb3IiLGZhaWxlZDoiZXJyb3IifSxPZT1bIm9yaWdpbl9yZXF1aXJlZCIsImNyb3NzX29yaWdpbl9yZWplY3RlZCIsInJvdGF0aW9uX293bmVyX3JlcXVpcmVkIiwic3RlcF91cF9pbnZhbGlkIiwic3RlcF91cF9yYXRlX2xpbWl0ZWQiLCJjcmVkZW50aWFsX3JvdGF0aW9uX3VuYXZhaWxhYmxlIiwiY3JlZGVudGlhbF9yb3RhdGlvbl9vcGVyYXRpb25fbm90X2ZvdW5kIiwiY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0X2NvbmZsaWN0IiwiY3JlZGVudGlhbF9yb3RhdGlvbl9zdGF0ZV9jb25mbGljdCIsImNyZWRlbnRpYWxfbWFpbnRlbmFuY2VfcmV2aXNpb25fY29uZmxpY3QiXSxGZT1bImludmFsaWRfY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0IiwiaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSIsInJlcXVlc3RfaWRfaW52YWxpZCIsIm9wZXJhdGlvbl9pZF9pbnZhbGlkIiwiY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCIsInN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiLCJzdGVwX3VwX2NvZGVfcmVxdWlyZWQiLCJkb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCJdLExlPXttZXRob2Q6InRvdHAiLGNvZGU6IiJ9O2Z1bmN0aW9uIFVlKCl7cmV0dXJue25ld192YWx1ZToiIixleHBpcmVzX2F0OiIiLG1ldGhvZDoidG90cCIsY29kZToiIn19ZnVuY3Rpb24gWCh0KXtyZXR1cm4gdC5uZXdfdmFsdWUubGVuZ3RoPT09MHx8IW9lKHQuZXhwaXJlc19hdCl8fHQuY29kZS5sZW5ndGg9PT0wfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQuY29kZS5sZW5ndGg9PT0wfWZ1bmN0aW9uIEtlKCl7Y29uc3QgdD1uZXcgTWFwLG49bmV3IFNldDtyZXR1cm57YWNxdWlyZTphPT57Y29uc3Qgbz10LmdldChhKTtpZihvKXJldHVybiBvO2NvbnN0IHM9bGUoKTtyZXR1cm4gdC5zZXQoYSxzKSxzfSxibG9jazphPT57bi5hZGQoYSl9LGlzQmxvY2tlZDphPT5uLmhhcyhhKSxyZWxlYXNlOmE9Pnt0LmRlbGV0ZShhKSxuLmRlbGV0ZShhKX0scmVsZWFzZUFsbDooKT0+e3QuY2xlYXIoKSxuLmNsZWFyKCl9LHBlZWs6YT0+dC5nZXQoYSk/P251bGx9fWFzeW5jIGZ1bmN0aW9uIFAodCxuLGEsbyxzKXtpZihuLmlzQmxvY2tlZCh0KSlyZXR1cm57a2luZDoidW5jb25maXJtZWQifTtjb25zdCByPW4uYWNxdWlyZSh0KTtvKCk7dHJ5e2NvbnN0IGw9YXdhaXQgcyhyKTtyZXR1cm4gYSgpPyhuLnJlbGVhc2UodCkse2tpbmQ6ImVudmVsb3BlIixlbnZlbG9wZTpsfSk6e2tpbmQ6InN1cGVyc2VkZWQifX1jYXRjaChsKXtjb25zdCBjPWllKGwpO3JldHVybiBsIGluc3RhbmNlb2YgY2UmJmwuc3RhdHVzPT09NDAzfHxjIT09bnVsbCYmT2UuaW5jbHVkZXMoYyk/KGEoKSYmbi5yZWxlYXNlKHQpLGM/e2tpbmQ6InVuYXZhaWxhYmxlIixjb2RlOmN9OntraW5kOiJ1bmF2YWlsYWJsZSJ9KTpjIT09bnVsbCYmRmUuaW5jbHVkZXMoYyk/KGEoKSYmbi5yZWxlYXNlKHQpLHtraW5kOiJpbnZhbGlkIixjb2RlOmN9KTooYSgpJiZuLmJsb2NrKHQpLHtraW5kOiJ1bmNvbmZpcm1lZCJ9KX19ZnVuY3Rpb24gTWUodCl7aWYoWCh0LmZvcm0pKXJldHVybiBQcm9taXNlLnJlc29sdmUoe2tpbmQ6ImludmFsaWQifSk7Y29uc3R7bmV3X3ZhbHVlOm4sZXhwaXJlc19hdDphLG1ldGhvZDpvLGNvZGU6c309dC5mb3JtO3JldHVybiBQKHQuc2xvdCx0LnJlcXVlc3RzLHQuaXNDdXJyZW50LHQuY2xlYXJTZWNyZXRzLHI9PmRlKHtyZXF1ZXN0X2lkOnIsbmV3X3ZhbHVlOm4sZXhwaXJlc19hdDphLHN0ZXBfdXA6e21ldGhvZDpvLGNvZGU6c319KSl9ZnVuY3Rpb24gUGUodCl7aWYoTSh0LnN0ZXBVcCkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7a2luZDoiaW52YWxpZCJ9KTtjb25zdHttZXRob2Q6bixjb2RlOmF9PXQuc3RlcFVwO3JldHVybiBQKHQuc2xvdCx0LnJlcXVlc3RzLHQuaXNDdXJyZW50LHQuY2xlYXJTZWNyZXRzLG89PmhlKHtvcGVyYXRpb25faWQ6dC5vcGVyYXRpb25JZCxyZXF1ZXN0X2lkOm8sZG93bnN0cmVhbV92ZXJpZmllZDohMCxzdGVwX3VwOnttZXRob2Q6bixjb2RlOmF9fSkpfWZ1bmN0aW9uIFZlKHQpe2lmKE0odC5zdGVwVXApKXJldHVybiBQcm9taXNlLnJlc29sdmUoe2tpbmQ6ImludmFsaWQifSk7Y29uc3R7bWV0aG9kOm4sY29kZTphfT10LnN0ZXBVcDtyZXR1cm4gUCh0LnNsb3QsdC5yZXF1ZXN0cyx0LmlzQ3VycmVudCx0LmNsZWFyU2VjcmV0cyxvPT51ZSh7b3BlcmF0aW9uX2lkOnQub3BlcmF0aW9uSWQscmVxdWVzdF9pZDpvLHN0ZXBfdXA6e21ldGhvZDpuLGNvZGU6YX19KSl9ZnVuY3Rpb24gWWUodCl7Y29uc3Qgbj0iY29kZSJpbiB0P3QuY29kZTp2b2lkIDA7cmV0dXJuIG4/YHJlYXNvbi4ke259YDp0LmtpbmQ9PT0iaW52YWxpZCI/ImhlYWx0aC5yb3RhdGlvbi52YWxpZGF0aW9uIjp0LmtpbmQ9PT0idW5hdmFpbGFibGUiPyJoZWFsdGgucm90YXRpb24udW5hdmFpbGFibGUiOnQua2luZD09PSJ1bmNvbmZpcm1lZCI/ImhlYWx0aC5yb3RhdGlvbi5yZXF1ZXN0X2ZhaWxlZCI6bnVsbH1mdW5jdGlvbiBIZSh0LG4pe2NvbnN0IGE9dD8ub3BlcmF0aW9uPz9udWxsLG89YT8uc3RhdGU/P251bGwscz1vPT09bnVsbHx8SWUuaW5jbHVkZXMobykscj1vIT09bnVsbCYmQmUuaW5jbHVkZXMobyksbD0hIXQ/LmFsbG93ZWRfYWN0aW9ucy5pbmNsdWRlcygic3RhZ2UiKSYmcyYmIXImJiFuLGM9ISFhPy5hbGxvd2VkX2FjdGlvbnMuaW5jbHVkZXMoImZpbmFsaXplIikmJiFyJiYhbixmPSEhYT8uYWxsb3dlZF9hY3Rpb25zLmluY2x1ZGVzKCJjYW5jZWwiKSYmIXImJiFuO3JldHVybntzdGFnZTpsLGZpbmFsaXplOmMsY2FuY2VsOmYsdW5rbm93bjpyLHNob3dTdGFnZUZvcm06bCxzaG93U3RlcFVwOmN8fGZ9fWZ1bmN0aW9uIEdlKHtyb3RhdGlvbjp0LHJlbWluZGVyOm4sY29uZmlybTphLG9uUm90YXRlZDpvfSl7Y29uc3Qgcz1FKCkscj1XKCksW2wsY109Ti51c2VTdGF0ZShVZSksW2YsaF09Ti51c2VTdGF0ZShMZSksW2Qsdl09Ti51c2VTdGF0ZSghMSksW2csaV09Ti51c2VTdGF0ZShudWxsKSxbeCxrXT1OLnVzZVN0YXRlKCEwKSx1PU4udXNlUmVmKGtlKCkpLHk9Ti51c2VSZWYoS2UoKSk7Ti51c2VFZmZlY3QoKCk9Pnt1LmN1cnJlbnQuaW52YWxpZGF0ZSgpfSxbdC5kYXRhLHQucGhhc2VdKTtjb25zdCBqPXQucGhhc2U9PT0icmVhZHkiP3QuZGF0YTpudWxsLG09aj8ub3BlcmF0aW9uPz9udWxsLF89SGUoaixkKSx3PXA9PntpKFllKHApKSxwLmtpbmQ9PT0iZW52ZWxvcGUiJiZrKCExKSxwLmtpbmQhPT0iaW52YWxpZCImJm8oKX0sZWU9ImNyZWRlbnRpYWwtcm90YXRpb246c3RhZ2UiLHRlPXA9PmBjcmVkZW50aWFsLXJvdGF0aW9uOiR7cH06JHttPy5vcGVyYXRpb25faWQ/PyJub25lIn1gLGFlPWFzeW5jKCk9PntpZihkfHwhXy5zdGFnZSlyZXR1cm47aWYoWChsKSl7YyhTPT4oey4uLlMsbmV3X3ZhbHVlOiIiLGNvZGU6IiJ9KSksaSgiaGVhbHRoLnJvdGF0aW9uLnZhbGlkYXRpb24iKTtyZXR1cm59aWYoIWF3YWl0IGEoe3RpdGxlOnMoImhlYWx0aC5yb3RhdGlvbi5zdGFnZSIpLGNvbnNlcXVlbmNlOnMoImhlYWx0aC5yb3RhdGlvbi5zdGFnZV9ub3RlIiksY29uZmlybUxhYmVsOnMoImhlYWx0aC5yb3RhdGlvbi5zdGFnZSIpfSkpcmV0dXJuO2NvbnN0IHA9dS5jdXJyZW50LmJlZ2luKCk7dighMCk7Y29uc3QgYj1hd2FpdCBNZSh7Zm9ybTpsLHNsb3Q6ZWUscmVxdWVzdHM6eS5jdXJyZW50LGlzQ3VycmVudDooKT0+dS5jdXJyZW50LmlzQ3VycmVudChwKSxjbGVhclNlY3JldHM6KCk9PmMoUz0+KHsuLi5TLG5ld192YWx1ZToiIixjb2RlOiIifSkpfSk7dighMSksdyhiKX0sVj1hc3luYyBwPT57aWYoIW18fGR8fCEocD09PSJmaW5hbGl6ZSI/Xy5maW5hbGl6ZTpfLmNhbmNlbCl8fE0oZikpcmV0dXJuO2NvbnN0IFM9cD09PSJmaW5hbGl6ZSI/e3RpdGxlOnMoImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSIpLGNvbnNlcXVlbmNlOnMoImhlYWx0aC5yb3RhdGlvbi5zdGFnZV9ub3RlIiksY29uZmlybUxhYmVsOnMoImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSIpLGFja0xhYmVsOnMoImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZV9hY2siKX06e3RpdGxlOnMoImhlYWx0aC5yb3RhdGlvbi5jYW5jZWwiKSxjb25zZXF1ZW5jZTpzKCJoZWFsdGgucm90YXRpb24uY2FuY2VsX25vdGUiKSx0b25lOiJkYW5nZXIiLGNvbmZpcm1MYWJlbDpzKCJoZWFsdGgucm90YXRpb24uY2FuY2VsIil9O2lmKCFhd2FpdCBhKFMpKXJldHVybjtjb25zdCBEPXUuY3VycmVudC5iZWdpbigpLEg9dGUocCk7dighMCk7Y29uc3QgcmU9cD09PSJmaW5hbGl6ZSI/YXdhaXQgUGUoe3N0ZXBVcDpmLG9wZXJhdGlvbklkOm0ub3BlcmF0aW9uX2lkLGRvd25zdHJlYW1WZXJpZmllZDohMCxzbG90OkgscmVxdWVzdHM6eS5jdXJyZW50LGlzQ3VycmVudDooKT0+dS5jdXJyZW50LmlzQ3VycmVudChEKSxjbGVhclNlY3JldHM6KCk9PmgoQj0+KHsuLi5CLGNvZGU6IiJ9KSl9KTphd2FpdCBWZSh7c3RlcFVwOmYsb3BlcmF0aW9uSWQ6bS5vcGVyYXRpb25faWQsc2xvdDpILHJlcXVlc3RzOnkuY3VycmVudCxpc0N1cnJlbnQ6KCk9PnUuY3VycmVudC5pc0N1cnJlbnQoRCksY2xlYXJTZWNyZXRzOigpPT5oKEI9Pih7Li4uQixjb2RlOiIifSkpfSk7dighMSksdyhyZSl9LG5lPSgpPT57eS5jdXJyZW50LnJlbGVhc2VBbGwoKSxpKG51bGwpLG8oKX0sc2U9bi5waGFzZT09PSJyZWFkeSI/ZS5qc3gocSx7dG9uZTp6ZVtuLmRhdGEucGhhc2VdLGNoaWxkcmVuOnMoYGhlYWx0aC5jcmVkZW50aWFsX3BoYXNlLiR7bi5kYXRhLnBoYXNlfWApfSk6bi5waGFzZT09PSJsb2FkaW5nIj9lLmpzeChDLHtoZWlnaHQ6MjIsd2lkdGg6OTB9KTplLmpzeChxLHt0b25lOiJ1bmtub3duIixjaGlsZHJlbjpzKCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSksWT0ocCxiKT0+e2lmKCFwKXJldHVybiBlLmpzeCgiZGQiLHsiZGF0YS1lbXB0eSI6InRydWUiLGNoaWxkcmVuOnMoYil9KTtjb25zdHt0ZXh0OlMsem9uZTpEfT1GKHAsciwhMCk7cmV0dXJuIGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1zdGFtcCIsY2hpbGRyZW46RD9gJHtTfSAoJHtEfSlgOlN9KX0pfTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIGNhcmQtZmxhdCBjcmVkZW50aWFsLXJvdGF0aW9uIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24udGl0bGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1yZW1pbmRlciIsY2hpbGRyZW46W3NlLG4ucGhhc2U9PT0iZXJyb3IiJiZlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOm4ucmVsb2FkLGNoaWxkcmVuOnMoImNvbW1vbi5yZXRyeSIpfSksXy5zdGFnZSYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazooKT0+aygheCksY2hpbGRyZW46cyh4PyJoZWFsdGgucm90YXRpb24uY2xvc2UiOiJoZWFsdGgucm90YXRpb24ub3BlbiIpfSldfSksdC5waGFzZT09PSJsb2FkaW5nIiYmZS5qc3goQyx7aGVpZ2h0OjcyfSksdC5waGFzZT09PSJlcnJvciImJmUuanN4KEkse29uUmV0cnk6dC5yZWxvYWR9KSxqJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4cygiZGwiLHtjbGFzc05hbWU6InJvdGF0aW9uLW1ldGEiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tbWV0YS1pdGVtIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46cygiaGVhbHRoLmNvbC5jcmVkZW50aWFsIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjpqLm1ldGFkYXRhLm5hbWV9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tbWV0YS1pdGVtIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLmxhc3Rfcm90YXRlZCIpfSksWShqLm1ldGFkYXRhLmxhc3Rfcm90YXRlZF9hdCwiaGVhbHRoLnJvdGF0aW9uLm5ldmVyX3JvdGF0ZWQiKV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tbWV0YS1pdGVtIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLmV4cGlyZXMiKX0pLFkoai5tZXRhZGF0YS5leHBpcmVzX2F0LCJoZWFsdGgucm90YXRpb24ubm9fZXhwaXJ5IildfSldfSksbSYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLXN0YXRlIiwiZGF0YS1zdGF0ZSI6bS5zdGF0ZSwiZGF0YS10b25lIjpHW20uc3RhdGVdLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLWJ1c3kiOmQsY2hpbGRyZW46W2UuanN4KHEse3RvbmU6R1ttLnN0YXRlXSxjaGlsZHJlbjpzKGBoZWFsdGgucm90YXRpb24uc3RhdGUuJHttLnN0YXRlfWApfSksbS5yZWFzb25fY29kZSE9PW51bGwmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1zdGF0ZS1yZWFzb24iLGNoaWxkcmVuOnMoYHJlYXNvbi4ke20ucmVhc29uX2NvZGV9YCx7fSwicmVhc29uLnVua25vd24iKX0pXX0pLHgmJl8uc3RhZ2UmJmUuanN4cygiZm9ybSIse2NsYXNzTmFtZToicm90YXRpb24tZm9ybSIsb25TdWJtaXQ6cD0+e3AucHJldmVudERlZmF1bHQoKSxhZSgpfSxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdGF0aW9uLWZpZWxkcyIsY2hpbGRyZW46W2UuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24ubmV3X3NlY3JldCIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZToicGFzc3dvcmQiLHZhbHVlOmwubmV3X3ZhbHVlLG9uQ2hhbmdlOnA9PmMoYj0+KHsuLi5iLG5ld192YWx1ZTpwLnRhcmdldC52YWx1ZX0pKSxhdXRvQ29tcGxldGU6Im9mZiIsc3BlbGxDaGVjazohMX0pXX0pLGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24ubmV3X2V4cGlyeSIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZToidGV4dCIsdmFsdWU6bC5leHBpcmVzX2F0LG9uQ2hhbmdlOnA9PmMoYj0+KHsuLi5iLGV4cGlyZXNfYXQ6cC50YXJnZXQudmFsdWV9KSkscGxhY2Vob2xkZXI6IllZWVktTU0tRERUSEg6TU06U1MrMDg6MDAiLGF1dG9Db21wbGV0ZToib2ZmIixzcGVsbENoZWNrOiExfSldfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5zdGVwX3VwX21ldGhvZCIpfSksZS5qc3hzKCJzZWxlY3QiLHtjbGFzc05hbWU6ImlucHV0Iix2YWx1ZTpsLm1ldGhvZCxvbkNoYW5nZTpwPT5jKGI9Pih7Li4uYixtZXRob2Q6cC50YXJnZXQudmFsdWUsY29kZToiIn0pKSxjaGlsZHJlbjpbZS5qc3goIm9wdGlvbiIse3ZhbHVlOiJ0b3RwIixjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3RvdHAiKX0pLGUuanN4KCJvcHRpb24iLHt2YWx1ZToicmVjb3ZlcnkiLGNoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfcmVjb3ZlcnkiKX0pXX0pXX0pLGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZpZWxkIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24ub25lX3RpbWVfY29kZSIpfSksZS5qc3goImlucHV0Iix7Y2xhc3NOYW1lOiJpbnB1dCIsdHlwZTpsLm1ldGhvZD09PSJ0b3RwIj8idGV4dCI6InBhc3N3b3JkIix2YWx1ZTpsLmNvZGUsb25DaGFuZ2U6cD0+YyhiPT4oey4uLmIsY29kZTpwLnRhcmdldC52YWx1ZX0pKSxhdXRvQ29tcGxldGU6bC5tZXRob2Q9PT0idG90cCI/Im9uZS10aW1lLWNvZGUiOiJvZmYiLHNwZWxsQ2hlY2s6ITF9KV19KV19KSxnJiZlLmpzeCgicCIse2NsYXNzTmFtZToicm90YXRpb24tZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpzKGcpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tYWN0aW9ucyIsY2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6InN1Ym1pdCIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLGRpc2FibGVkOiFfLnN0YWdlLGNoaWxkcmVuOnMoZD8iaGVhbHRoLnJvdGF0aW9uLndvcmtpbmciOiJoZWFsdGgucm90YXRpb24uc3RhZ2UiKX0pfSldfSksXy5zaG93U3RlcFVwJiZlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tZm9ybSIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1maWVsZHMiLGNoaWxkcmVuOltlLmpzeHMoImxhYmVsIix7Y2xhc3NOYW1lOiJmaWVsZCIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLnN0ZXBfdXBfbWV0aG9kIil9KSxlLmpzeHMoInNlbGVjdCIse2NsYXNzTmFtZToiaW5wdXQiLHZhbHVlOmYubWV0aG9kLG9uQ2hhbmdlOnA9PmgoYj0+KHsuLi5iLG1ldGhvZDpwLnRhcmdldC52YWx1ZSxjb2RlOiIifSkpLGNoaWxkcmVuOltlLmpzeCgib3B0aW9uIix7dmFsdWU6InRvdHAiLGNoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfdG90cCIpfSksZS5qc3goIm9wdGlvbiIse3ZhbHVlOiJyZWNvdmVyeSIsY2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLm1ldGhvZF9yZWNvdmVyeSIpfSldfSldfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmllbGQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5vbmVfdGltZV9jb2RlIil9KSxlLmpzeCgiaW5wdXQiLHtjbGFzc05hbWU6ImlucHV0Iix0eXBlOmYubWV0aG9kPT09InRvdHAiPyJ0ZXh0IjoicGFzc3dvcmQiLHZhbHVlOmYuY29kZSxvbkNoYW5nZTpwPT5oKGI9Pih7Li4uYixjb2RlOnAudGFyZ2V0LnZhbHVlfSkpLGF1dG9Db21wbGV0ZTpmLm1ldGhvZD09PSJ0b3RwIj8ib25lLXRpbWUtY29kZSI6Im9mZiIsc3BlbGxDaGVjazohMX0pXX0pXX0pLGcmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1lcnJvciIscm9sZToiYWxlcnQiLGNoaWxkcmVuOnMoZyl9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicm90YXRpb24tYWN0aW9ucyIsY2hpbGRyZW46W2UuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IixkaXNhYmxlZDohXy5maW5hbGl6ZSxvbkNsaWNrOigpPT57VigiZmluYWxpemUiKX0sY2hpbGRyZW46cyhkPyJoZWFsdGgucm90YXRpb24ud29ya2luZyI6ImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSIpfSksZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsZGlzYWJsZWQ6IV8uY2FuY2VsLG9uQ2xpY2s6KCk9PntWKCJjYW5jZWwiKX0sY2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbCIpfSldfSldfSksKF8udW5rbm93bnx8ZyE9PW51bGwpJiYhXy5zaG93U3RlcFVwJiZlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJyb3RhdGlvbi1hY3Rpb25zIixjaGlsZHJlbjplLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOm5lLGNoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5yZWZyZXNoIil9KX0pXX0pLGomJl8udW5rbm93biYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLnVua25vd25fbm90ZSIpfSksaiYmKF8uc3RhZ2V8fF8uZmluYWxpemUpJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpzKCJoZWFsdGgucm90YXRpb24uc3RhZ2Vfbm90ZSIpfSksaiYmXy5jYW5jZWwmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnMoImhlYWx0aC5yb3RhdGlvbi5jYW5jZWxfbm90ZSIpfSksaiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cygiaGVhbHRoLnJvdGF0aW9uLndyaXRlX29ubHlfbm90ZSIpfSldfSl9ZnVuY3Rpb24gV2UodCl7Y29uc3Qgbj10O3JldHVybiBuPy5zdGF0dXM9PT00MDkmJm4/Lm1lc3NhZ2U9PT0icnVudGltZV9kYWlseV9iaW5kaW5nX2NoYW5nZWQifWNvbnN0IFQ9e29rOiJoZWFsdGguZ3JpZC5vayIsZmFpbGVkOiJoZWFsdGguZ3JpZC5mYWlsZWQiLGJsb2NrZWQ6ImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCIsIm5vdC1ydW4iOiJoZWFsdGguZ3JpZC5ub3RfcnVuIiwibm8tcmVjb3JkIjoiaGVhbHRoLmdyaWQubm9fcmVjb3JkIix1bmtub3duOiJzdGF0ZS51bmtub3duIixpbmNvbXBsZXRlOiJoZWFsdGguZ3JpZC5pbmNvbXBsZXRlIixzdGFsZToic3RhdGUuc3RhbGUiLCJyZWFkLWZhaWxlZCI6InN0YXRlLnJlYWRfZmFpbGVkIiwiYmluZGluZy1jaGFuZ2VkIjoiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkIn0sTz17b2s6IuKckyIsZmFpbGVkOiLinJciLGJsb2NrZWQ6IuKKmCIsIm5vdC1ydW4iOiLigJMiLCJuby1yZWNvcmQiOiIiLHVua25vd246Ij8iLGluY29tcGxldGU6IuKApiIsc3RhbGU6In4iLCJyZWFkLWZhaWxlZCI6IiEiLCJiaW5kaW5nLWNoYW5nZWQiOiLihrsifTtmdW5jdGlvbiBBKHQsbil7cmV0dXJuYCR7dC5wbGF0Zm9ybX0vJHt0LmFjY291bnRfYWxpYXN9LyR7bn1gfWZ1bmN0aW9uIFplKHQsbil7Y29uc3QgYT1bXTtsZXQgbz1EYXRlLnBhcnNlKGAke3R9VDAwOjAwOjAwWmApO2Zvcig7YS5sZW5ndGg8bjspe2NvbnN0IHM9bmV3IERhdGUobykuZ2V0VVRDRGF5KCk7cyE9PTAmJnMhPT02JiZhLnVuc2hpZnQobmV3IERhdGUobykudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKSksby09ODY0ZTV9cmV0dXJuIGF9ZnVuY3Rpb24gSmUoe3NlbGVjdGlvbjp0LGNlbGw6bn0pe2NvbnN0IGE9RSgpLG89VSgpLHM9VygpLHI9ZmUodC5kYXRlLHMpO2xldCBsO2lmKCFufHxuLnBoYXNlPT09ImxvYWRpbmciKWw9ZS5qc3goQyx7aGVpZ2h0OjE2LHdpZHRoOjI0MH0pO2Vsc2UgaWYobi5waGFzZT09PSJiaW5kaW5nLWNoYW5nZWQiKWw9ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImhlYWx0aC1ncmlkLW5vdGUgaGVhbHRoLWdyaWQtbm90ZS1pbmZvIixjaGlsZHJlbjphKCJoZWFsdGguZ3JpZC5iaW5kaW5nX2NoYW5nZWRfZGV0YWlsIil9KTtlbHNlIGlmKG4ucGhhc2U9PT0iZXJyb3IiKWw9ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImhlYWx0aC1ncmlkLW5vdGUiLGNoaWxkcmVuOmEoInN0YXRlLnJlYWRfZmFpbGVkIil9KTtlbHNlIGlmKCFuLnNuYXBzaG90LnJlY29yZClsPWUuanN4KCJzcGFuIix7Y2hpbGRyZW46YSgiaGVhbHRoLmdyaWQubm9fcmVjb3JkIil9KTtlbHNle2NvbnN0IGM9bi5zbmFwc2hvdC5yZWNvcmQsZj1jLnJ1bnM/P1tdLGg9bmV3IE1hcDtmb3IoY29uc3QgZCBvZiBmKXtjb25zdCB2PWQuYWN0aXZpdHk9PT0iYmxvY2tlZCI/ImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCI6YHN0YXRlLiR7ZC5hY3Rpdml0eXx8InVua25vd24ifWAsZz1hKHYpO2guc2V0KGcsKGguZ2V0KGcpfHwwKSsxKX1sPWUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImhlYWx0aC1kYXktZGV0YWlsLW1ldGEiLGNoaWxkcmVuOltjLnN0YXR1cz09PSJibG9ja2VkIj9lLmpzeChxLHt0b25lOiJ3YXJuIixjaGlsZHJlbjphKCJoZWFsdGgucnVuX3N0YXRlLmJsb2NrZWQiKX0pOmUuanN4KEose3N0YXR1czpjLnN0YXR1c30pLFEobi5zbmFwc2hvdCk9PT0iYmxvY2tlZCImJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46YShjLmJsb2NrX3JlYXNvbl9jb2RlP2ByZWFzb24uJHtjLmJsb2NrX3JlYXNvbl9jb2RlfWA6InJlYXNvbi51bmtub3duIil9KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOmEoImhlYWx0aC5kYXlfZGV0YWlsX3N1bW1hcnkiLHtjb3VudDpjLnJ1bnM/Zi5sZW5ndGg6MH0pfSksWy4uLmhdLm1hcCgoW2Qsdl0pPT5lLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46W3YsIiAiLGRdfSxkKSldfSksZi5sZW5ndGg+MCYmZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJoZWFsdGgtZGF5LXJ1bnMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOmEoImhlYWx0aC5kYXlfZGV0YWlsX3J1bnMiKX0pLGUuanN4KCJ1bCIse2NoaWxkcmVuOmYubWFwKChkLHYpPT57Y29uc3QgZz1GKGQuc3RhcnRlZF9hdCxzKS50ZXh0LGk9RihkLmZpbmlzaGVkX2F0LHMpLnRleHQ7cmV0dXJuIGUuanN4cygibGkiLHtjaGlsZHJlbjpbZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJudW0iLGNoaWxkcmVuOlthKCJoZWFsdGguZGV0YWlsLnN0YXJ0ZWQiKSwiICIsZ119KSxlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46W2EoImhlYWx0aC5kZXRhaWwuZmluaXNoZWQiKSwiICIsaV19KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOmEoZC5hY3Rpdml0eT09PSJibG9ja2VkIj8iaGVhbHRoLnJ1bl9zdGF0ZS5ibG9ja2VkIjpgc3RhdGUuJHtkLmFjdGl2aXR5fHwidW5rbm93biJ9YCl9KSxkLmVycm9yc19wcmVzZW50PT09ITAmJmQuYWN0aXZpdHkhPT0iYmxvY2tlZCImJmUuanN4KHEse3RvbmU6ImVycm9yIixjaGlsZHJlbjphKCJoZWFsdGguZ3JpZC5mYWlsZWQiKX0pXX0sdil9KX0pXX0pXX0pfXJldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaGVhbHRoLWRheS1kZXRhaWwiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaGVhbHRoLWRheS1kZXRhaWwtaGVhZCIsY2hpbGRyZW46W2UuanN4KCJzdHJvbmciLHtjaGlsZHJlbjphKCJoZWFsdGguZGF5X2RldGFpbCIpfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjpvLmFjY291bnQodC5hY2NvdW50LmFjY291bnRfYWxpYXMsdC5hY2NvdW50LnBsYXRmb3JtKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJudW0iLGNoaWxkcmVuOnJ9KV19KSxsXX0pfWZ1bmN0aW9uIFFlKHthY2NvdW50czp0LGVwb2NoOm59KXtjb25zdCBhPUUoKSxvPVUoKSxzPU4udXNlTWVtbygoKT0+WmUoQWUoKSwxNCksW25dKSxbcixsXT1OLnVzZVN0YXRlKHt9KSxbYyxmXT1OLnVzZVN0YXRlKCExKSxbaCxkXT1OLnVzZVN0YXRlKG51bGwpO2lmKE4udXNlRWZmZWN0KCgpPT57aWYoIXQubGVuZ3RoKXJldHVybjtsZXQgaT0hMTtjb25zdCB4PXt9O2Zvcihjb25zdCBrIG9mIHQpZm9yKGNvbnN0IHUgb2Ygcyl4W0Eoayx1KV09e3BoYXNlOiJsb2FkaW5nIn07cmV0dXJuIGwoeCksZighMSksZChudWxsKSwoYXN5bmMoKT0+e2xldCBrPSExO2Zvcihjb25zdCB1IG9mIHMpe2NvbnN0IHk9YXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHQubWFwKG09PnBlKHUsbS5wbGF0Zm9ybSxtLmFjY291bnRfYWxpYXMsITEpKSk7aWYoaSlyZXR1cm47Y29uc3Qgaj17fTt5LmZvckVhY2goKG0sXyk9Pntjb25zdCB3PUEodFtfXSx1KTttLnN0YXR1cz09PSJmdWxmaWxsZWQiP2pbd109e3BoYXNlOiJyZWFkeSIsc25hcHNob3Q6bS52YWx1ZX06V2UobS5yZWFzb24pP2pbd109e3BoYXNlOiJiaW5kaW5nLWNoYW5nZWQifTooalt3XT17cGhhc2U6ImVycm9yIn0saz0hMCl9KSxsKG09Pih7Li4ubSwuLi5qfSkpfSFpJiZrJiZmKCEwKX0pKCkuY2F0Y2goKCk9PntpfHxmKCEwKX0pLCgpPT57aT0hMH19LFt0LHMsbl0pLCF0Lmxlbmd0aClyZXR1cm4gZS5qc3goWix7dGl0bGU6YSgic3RhdGUubm9fZGF0YSIpfSk7Y29uc3Qgdj1PYmplY3Qua2V5cyhUKSxnPU9iamVjdC52YWx1ZXMocikuc29tZShpPT5pLnBoYXNlPT09ImJpbmRpbmctY2hhbmdlZCIpO3JldHVybiBlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KCJwIix7Y2xhc3NOYW1lOiJoZWFsdGgtZ3JpZC1oaW50IixjaGlsZHJlbjphKCJoZWFsdGguZ3JpZF9zY3JvbGxfaGludCIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiaGVhbHRoLWdyaWQiLHRhYkluZGV4OjAscm9sZToicmVnaW9uIiwiYXJpYS1sYWJlbCI6YSgiaGVhbHRoLmdyaWRfdGl0bGUiKSxjaGlsZHJlbjplLmpzeHMoInRhYmxlIix7Y2hpbGRyZW46W2UuanN4KCJjYXB0aW9uIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjphKCJoZWFsdGguZ3JpZF90aXRsZSIpfSksZS5qc3goInRoZWFkIix7Y2hpbGRyZW46ZS5qc3hzKCJ0ciIse2NoaWxkcmVuOltlLmpzeCgidGgiLHtzY29wZToiY29sIixjaGlsZHJlbjphKCJoZWFsdGguY29sLmFjY291bnQiKX0pLHMubWFwKGk9PmUuanN4KCJ0aCIse3Njb3BlOiJjb2wiLGNsYXNzTmFtZToibnVtIixjaGlsZHJlbjppLnNsaWNlKDUpfSxpKSldfSl9KSxlLmpzeCgidGJvZHkiLHtjaGlsZHJlbjp0Lm1hcChpPT5lLmpzeHMoInRyIix7Y2hpbGRyZW46W2UuanN4cygidGgiLHtzY29wZToicm93IixjaGlsZHJlbjpbby5hY2NvdW50KGkuYWNjb3VudF9hbGlhcyxpLnBsYXRmb3JtKSxlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46WyIgwrcgIixvLnBsYXRmb3JtKGkucGxhdGZvcm0pXX0pXX0pLHMubWFwKHg9Pntjb25zdCBrPUEoaSx4KSx1PXJba10seT1oPy5hY2NvdW50LnBsYXRmb3JtPT09aS5wbGF0Zm9ybSYmaC5hY2NvdW50LmFjY291bnRfYWxpYXM9PT1pLmFjY291bnRfYWxpYXMmJmguZGF0ZT09PXg7aWYoIXV8fHUucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KCJ0ZCIse2NoaWxkcmVuOmUuanN4KEMse2hlaWdodDoyNix3aWR0aDoyNn0pfSx4KTtpZih1LnBoYXNlPT09ImJpbmRpbmctY2hhbmdlZCJ8fHUucGhhc2U9PT0iZXJyb3IiKXtjb25zdCBfPXUucGhhc2U9PT0iZXJyb3IiPyJyZWFkLWZhaWxlZCI6ImJpbmRpbmctY2hhbmdlZCIsdz1hKFRbX10pO3JldHVybiBlLmpzeCgidGQiLHtjaGlsZHJlbjplLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YGhlYWx0aC1jZWxsICR7X30ke3k/IiBzZWxlY3RlZCI6IiJ9YCx0aXRsZTp3LCJhcmlhLWxhYmVsIjpgJHtvLmFjY291bnQoaS5hY2NvdW50X2FsaWFzLGkucGxhdGZvcm0pfSAke3h9OiAke3d9YCxvbkNsaWNrOigpPT5kKHthY2NvdW50OmksZGF0ZTp4fSksY2hpbGRyZW46T1tfXX0pfSx4KX1jb25zdCBqPVEodS5zbmFwc2hvdCksbT1hKFRbal0pO3JldHVybiBlLmpzeCgidGQiLHtjaGlsZHJlbjplLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YGhlYWx0aC1jZWxsICR7an0ke3k/IiBzZWxlY3RlZCI6IiJ9YCx0aXRsZTptLCJhcmlhLWxhYmVsIjpgJHtvLmFjY291bnQoaS5hY2NvdW50X2FsaWFzLGkucGxhdGZvcm0pfSAke3h9OiAke219YCwiYXJpYS1wcmVzc2VkIjp5LG9uQ2xpY2s6KCk9PmQoe2FjY291bnQ6aSxkYXRlOnh9KSxjaGlsZHJlbjpPW2pdfSl9LHgpfSldfSxgJHtpLnBsYXRmb3JtfS8ke2kuYWNjb3VudF9hbGlhc31gKSl9KV19KX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImhlYWx0aC1sZWdlbmQiLGNoaWxkcmVuOnYubWFwKGk9PmUuanN4cygic3BhbiIse2NoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZTpgaGVhbHRoLWNlbGwgJHtpfWAsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46T1tpXX0pLGEoVFtpXSldfSxpKSl9KSxjJiZlLmpzeCgicCIse2NsYXNzTmFtZToiaGVhbHRoLWdyaWQtbm90ZSIsY2hpbGRyZW46YSgiaGVhbHRoLmdyaWRfcmVhZF9mYWlsZWRfbm90ZSIpfSksZyYmZS5qc3goInAiLHtjbGFzc05hbWU6ImhlYWx0aC1ncmlkLW5vdGUgaGVhbHRoLWdyaWQtbm90ZS1pbmZvIixjaGlsZHJlbjphKCJoZWFsdGguZ3JpZF9iaW5kaW5nX2NoYW5nZWRfbm90ZSIpfSksaCYmZS5qc3goSmUse3NlbGVjdGlvbjpoLGNlbGw6cltBKGguYWNjb3VudCxoLmRhdGUpXX0pXX0pfWZ1bmN0aW9uIFhlKHQsbil7cmV0dXJuIHQuZmlsdGVyKGE9PntpZihuLnNvbWUocz0+cy5wbGF0Zm9ybT09PWEucGxhdGZvcm0mJnMuc3RhdHVzPT09InJlYWRfZmFpbGVkIikpcmV0dXJuITE7Y29uc3Qgbz1uLmZpbHRlcihzPT5zLnBsYXRmb3JtPT09YS5wbGF0Zm9ybSYmcy5hY2NvdW50X2tleT09PWEuYWNjb3VudF9hbGlhcyk7cmV0dXJuIG8ubGVuZ3RoPT09MSYmb1swXS5zdGF0dXM9PT0iYm91bmQiJiYhIW9bMF0udGFyZ2V0X2tleX0pfWNvbnN0IGV0PVsiMzAiLCIxNCIsIjciLCJleHBpcmVkIl07ZnVuY3Rpb24geih7c3RhdGU6dCxyZW5kZXI6bn0pe2NvbnN0IGE9RSgpO3JldHVybiB0LnBoYXNlPT09ImxvYWRpbmciP2UuanN4KEMse2hlaWdodDoyNCx3aWR0aDo5MH0pOnQucGhhc2U9PT0iZXJyb3IifHx0LnBoYXNlPT09InJlYWR5IiYmdC5kYXRhIT09bnVsbCYmdHlwZW9mIHQuZGF0YT09Im9iamVjdCImJiJzdGF0dXMiaW4gdC5kYXRhJiZ0LmRhdGEuc3RhdHVzPT09InJlYWRfZmFpbGVkIj9lLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN0YXRlIixjaGlsZHJlbjphKCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSk6ZS5qc3goZS5GcmFnbWVudCx7Y2hpbGRyZW46bigpfSl9ZnVuY3Rpb24gdHQoe3N1bW1hcnk6dCxjcmVkZW50aWFsOm59KXtjb25zdCBhPUUoKSxvPXQucGhhc2U9PT0icmVhZHkiP3QuZGF0YTpudWxsLHM9bz9vLmFjY291bnRzLmZpbHRlcih1PT51LnN0YXR1cz09PSJvayIpLmxlbmd0aDowLHI9bz9EZShvKTp7Y291bnQ6MCxjb21wbGV0ZTohMX0sbD1vP3FlKG8uYWNjb3VudHMpOm51bGwsYz1vP1JlKG8pOiExLGY9bCYmKGwubm90X2Nvbm5lY3RlZD4wfHxsLm5vX2RhdGE+MCk/YSgiaGVhbHRoLmtwaS50b2RheV9ydW5zX25vdGUiLHtub3RfY29ubmVjdGVkOmwubm90X2Nvbm5lY3RlZCxub19kYXRhOmwubm9fZGF0YX0pOnZvaWQgMCxoPW4ucGhhc2U9PT0icmVhZHkiP24uZGF0YTpudWxsLGQ9aD8ucmVxdWlyZXNfYWN0aW9uPT09ITB8fGgmJmV0LmluY2x1ZGVzKGgucGhhc2UpPzE6MCx2PSFofHxoLnBoYXNlPT09InVua25vd24iLGc9WyJzdWNjZWVkZWQiLCJmYWlsZWQiLCJyZWFkX2ZhaWxlZCIsImluY29tcGxldGUiXSxpPWw/T2JqZWN0LmVudHJpZXMobCk6W10seD1pLmZpbHRlcigoW3VdKT0+Zy5pbmNsdWRlcyh1KSksaz1pLmZpbHRlcigoW3UseV0pPT4hZy5pbmNsdWRlcyh1KSYmeT4wKTtyZXR1cm4gZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RhdC1zdHJpcCBoZWFsdGgta3BpcyIsY2hpbGRyZW46W2UuanN4KFIse3RpdGxlOmEoImhlYWx0aC5rcGkudG9kYXlfcnVucyIpLHZhbHVlOmUuanN4KHose3N0YXRlOnQscmVuZGVyOigpPT5jJiYobz8uY291bnRzLm9ic2VydmVkPz8wKT09PTA/IuKAlCI6YSgiaGVhbHRoLmFjY291bnRfZnJhY3Rpb24iLHtjb3VudDpzLHRvdGFsOm8/LmNvdW50cy5jb25maWd1cmVkPz8wfSl9KSxzdWI6Yz9lLmpzeCgic3BhbiIse2NoaWxkcmVuOmEoImhlYWx0aC5ub25fdHJhZGluZ19kYXlfc2hvcnQiKX0pOmY/ZS5qc3goInNwYW4iLHt0aXRsZTphKCJoZWFsdGgua3BpLnRvZGF5X3J1bnNfbm90ZV90aXRsZSIpLGNoaWxkcmVuOmZ9KTp2b2lkIDAsZm9vdGVyOm8/LmFzX29mP2UuanN4KEsse3ZhbHVlOm8uYXNfb2Z9KTp2b2lkIDB9KSxlLmpzeChSLHt0aXRsZTphKCJoZWFsdGgua3BpLm9ic2VydmVkIiksdmFsdWU6ZS5qc3goeix7c3RhdGU6dCxyZW5kZXI6KCk9PmEoImhlYWx0aC5hY2NvdW50X2ZyYWN0aW9uIix7Y291bnQ6bz8uY291bnRzLm9ic2VydmVkPz8wLHRvdGFsOm8/LmNvdW50cy5jb25maWd1cmVkPz8wfSl9KX0pLGUuanN4KFIse3RpdGxlOmEoImhlYWx0aC5rcGkucmVjZW50X2ZhaWx1cmUiKSx2YWx1ZTplLmpzeCh6LHtzdGF0ZTp0LHJlbmRlcjooKT0+YyYmci5jb3VudD09PTA/IuKAlCI6ci5jb21wbGV0ZT9TdHJpbmcoci5jb3VudCk6ci5jb3VudD4wP2EoImhlYWx0aC5mYWlsdXJlX2F0X2xlYXN0Iix7Y291bnQ6ci5jb3VudH0pOmEoInN0YXRlLnVua25vd24iKX0pLHN1YjpjP2EoImhlYWx0aC5ub25fdHJhZGluZ19kYXlfc2hvcnQiKTp2b2lkIDB9KSxlLmpzeChSLHt0aXRsZTphKCJoZWFsdGgua3BpLmNyZWRlbnRpYWxzIiksdmFsdWU6ZS5qc3goeix7c3RhdGU6bixyZW5kZXI6KCk9PnY/YSgic3RhdGUudW5rbm93biIpOlN0cmluZyhkKX0pLHN1YjphKCJoZWFsdGgua3BpLmNyZWRlbnRpYWxzX3VuaXQiKX0pXX0pLGwmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtc3RhdGUtc3VtbWFyeSIsY2hpbGRyZW46W2UuanN4KCJ1bCIse2NsYXNzTmFtZToiaGVhbHRoLXN0YXRlLWNvdW50cyIsImFyaWEtbGFiZWwiOmEoImhlYWx0aC5zdGF0ZV9jb3VudHMiKSxjaGlsZHJlbjp4Lm1hcCgoW3UseV0pPT5lLmpzeHMoImxpIix7Y2hpbGRyZW46W2EoTCh1KSksIjogIixlLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjp5fSldfSx1KSl9KSxrLmxlbmd0aD4wJiZlLmpzeCgidWwiLHtjbGFzc05hbWU6ImhlYWx0aC1zdGF0ZS1jb3VudHMgaGVhbHRoLXN0YXRlLXNlY29uZGFyeSIsY2hpbGRyZW46ay5tYXAoKFt1LHldKT0+ZS5qc3hzKCJsaSIse2NoaWxkcmVuOlthKEwodSkpLCI6ICIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46eX0pXX0sdSkpfSldfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJtZXRyaWMtbm90ZSIsdGl0bGU6YSgiaGVhbHRoLmZhaWx1cmVfd2luZG93X2RldGFpbCIpLGNoaWxkcmVuOlthKCJoZWFsdGguZmFpbHVyZV93aW5kb3ciLHtkYXRlOm8/LmRhdGU/PyLigJQifSksYz9gIMK3ICR7YSgiaGVhbHRoLm5vbl90cmFkaW5nX2RheV9zaG9ydCIpfWA6IXIuY29tcGxldGUmJmAgwrcgJHthKCJoZWFsdGguZmFpbHVyZV9pbmNvbXBsZXRlIil9YF19KV19KX1mdW5jdGlvbiBhdCh7c3VtbWFyeTp0fSl7Y29uc3Qgbj1FKCksYT1VKCk7aWYodC5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goQyx7aGVpZ2h0OjEyMH0pO2lmKHQucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChJLHtvblJldHJ5OnQucmVsb2FkfSk7Y29uc3Qgbz1be2lkOiJhY2NvdW50IixoZWFkZXI6bigiaGVhbHRoLmNvbC5hY2NvdW50IiksY2VsbDpyPT5lLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjphLmFjY291bnQoci5hY2NvdW50X2FsaWFzLHIucGxhdGZvcm0pfSksc29ydFZhbHVlOnI9PmAke2EuYWNjb3VudChyLmFjY291bnRfYWxpYXMsci5wbGF0Zm9ybSl9OiR7ci5hY2NvdW50X2FsaWFzfWB9LHtpZDoic3RhdHVzIixoZWFkZXI6bigiaGVhbHRoLmNvbC5zdGF0dXMiKSxjZWxsOnI9PnIudW5hdmFpbGFibGVfcmVhc29uPT09InJ1bnRpbWVfZGFpbHlfYmluZGluZ19jb25mbGljdCI/ZS5qc3goInNwYW4iLHtjaGlsZHJlbjpuKCJyZWFzb24ucnVudGltZV9kYWlseV9iaW5kaW5nX2NvbmZsaWN0Iil9KTplLmpzeChKLHtzdGF0dXM6ci5mcmVzaG5lc3M/PyhyLnN0YWxlPT09ITA/InN0YWxlIjpyLmZyZXNoPT09ITA/ImZyZXNoIjpyLnN0YXR1cykscmVhc29uOnIudW5hdmFpbGFibGVfcmVhc29ufSksc29ydFZhbHVlOnI9PnIuc3RhdHVzfSx7aWQ6ImFjdGl2aXR5IixoZWFkZXI6bigiaGVhbHRoLmFjdGl2aXR5IiksY2VsbDpyPT57Y29uc3QgbD1UZShyKTtyZXR1cm4gZS5qc3goInNwYW4iLHsiZGF0YS1zdGF0ZSI6bCx0aXRsZTpyLnJ1bl9zdGF0dXNfcmVhc29uP24oYHJlYXNvbi4ke3IucnVuX3N0YXR1c19yZWFzb259YCk6dm9pZCAwLGNoaWxkcmVuOm4oTChsKSl9KX19LHtpZDoicnVuX2NvdW50IixoZWFkZXI6bigiaGVhbHRoLnJ1bl9jb3VudCIpLG51bWVyaWM6ITAsY2VsbDpyPT5yLnJ1bl9jb3VudD09PW51bGw/IuKAlCI6ci5ydW5fY291bnQsc29ydFZhbHVlOnI9PnIucnVuX2NvdW50fSx7aWQ6ImFzX29mIixoZWFkZXI6bigiaGVhbHRoLmNvbC5hc19vZiIpLGNlbGw6cj0+ZS5qc3goSyx7dmFsdWU6ci5hc19vZixwcmVmaXg6ImNvbW1vbi5hc19vZiJ9KSxzb3J0VmFsdWU6cj0+ci5hc19vZn1dLHM9TmUodC5kYXRhLmFjY291bnRzLGEuY29uZmlnKS5zb3J0KChyLGwpPT5hLnBsYXRmb3JtKHIucGxhdGZvcm0pLmxvY2FsZUNvbXBhcmUoYS5wbGF0Zm9ybShsLnBsYXRmb3JtKSkpO3JldHVybiBlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3QuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiJiZlLmpzeCgicCIse3JvbGU6ImFsZXJ0IixjaGlsZHJlbjpuKCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSkscy5tYXAocj0+ZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJoZWFsdGgtcGxhdGZvcm0tZ3JvdXAiLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjaGlsZHJlbjphLnBsYXRmb3JtKHIucGxhdGZvcm0pfSksZS5qc3god2Use2NvbHVtbnM6byxyb3dzOnIuYWNjb3VudHMuZmxhdE1hcChsPT5sLnJvd3MpLHJvd0tleTpsPT5gJHtsLnBsYXRmb3JtfS8ke2wuYWNjb3VudF9hbGlhc31gLGRlZmF1bHRTb3J0Ontjb2x1bW46ImFjY291bnQiLGRpcmVjdGlvbjoiYXNjIn0sc2Nyb2xsSGludDohMCxjYXB0aW9uOmAke24oImhlYWx0aC5mcmVzaG5lc3NfdGl0bGUiKX0gwrcgJHthLnBsYXRmb3JtKHIucGxhdGZvcm0pfWB9KV19LHIucGxhdGZvcm0pKSwhcy5sZW5ndGgmJmUuanN4KFose3RpdGxlOm4oInN0YXRlLm5vX2RhdGEiKX0pXX0pfWZ1bmN0aW9uIG50KCl7Y29uc3QgdD1FKCksbj0kKCgpPT55ZSgpLFtdKSxhPSQoKCk9PmJlKCksW10pLG89Ti51c2VNZW1vKCgpPT5uLnBoYXNlPT09InJlYWR5IiYmYS5waGFzZT09PSJyZWFkeSI/WGUobi5kYXRhLmFjY291bnRzLGEuZGF0YSk6W10sW24ucGhhc2Usbi5kYXRhLGEucGhhc2UsYS5kYXRhXSk7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46dCgiaGVhbHRoLmdyaWRfdGl0bGUiKX0pLChuLnBoYXNlPT09ImxvYWRpbmcifHxhLnBoYXNlPT09ImxvYWRpbmciKSYmZS5qc3goQyx7aGVpZ2h0OjE2MH0pLG4ucGhhc2U9PT0iZXJyb3IiJiZlLmpzeChJLHtvblJldHJ5Om4ucmVsb2FkfSksYS5waGFzZT09PSJlcnJvciImJmUuanN4KEkse29uUmV0cnk6YS5yZWxvYWR9KSxhLnBoYXNlPT09InJlYWR5IiYmYS5kYXRhLnNvbWUocz0+cy5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKSYmZS5qc3goInAiLHtyb2xlOiJhbGVydCIsY2hpbGRyZW46dCgic3RhdGUucmVhZF9mYWlsZWQiKX0pLG4ucGhhc2U9PT0icmVhZHkiJiZhLnBoYXNlPT09InJlYWR5IiYmKG8ubGVuZ3RoPjB8fCFhLmRhdGEuc29tZShzPT5zLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpKSYmZS5qc3goUWUse2FjY291bnRzOm8sZXBvY2g6MH0pXX0pfWZ1bmN0aW9uIHV0KCl7Y29uc3QgdD1FKCksW24sYV09Ti51c2VTdGF0ZSgwKSx7Y29uZmlybVJlcXVlc3Q6byxjb25maXJtOnMscmVzb2x2ZUNvbmZpcm06cn09U2UoKSxsPSQoKCk9Pm1lKCksW25dKSxjPSQoKCk9Pl9lKCksW25dKSxmPSQoKCk9PnhlKCksW25dKSxoPSQoYXN5bmMoKT0+amUoYXdhaXQgZ2UoMSksITEpLFtuXSksZD0kKCgpPT52ZSgpLFtuXSksdj1oLnBoYXNlPT09ImxvYWRpbmciPyJsb2FkaW5nIjpoLnBoYXNlPT09ImVycm9yIj8iZXJyb3IiOmguZGF0YS5zdGF0dXM9PT0ibm90X3JlYWR5Ij8ibm90X3JlYWR5IjoicmVhZHkiLGc9aC5waGFzZT09PSJyZWFkeSImJmguZGF0YS5zdGF0dXM9PT0icmVhZHkiP2guZGF0YS5kYXRhOm51bGwsaT1kLnBoYXNlPT09ImxvYWRpbmciPyJsb2FkaW5nIjpkLnBoYXNlPT09ImVycm9yIj8iZXJyb3IiOmQuZGF0YS5zdGF0dXM9PT0ibm90X3JlYWR5Ij8ibm90X3JlYWR5IjoicmVhZHkiLHg9ZC5waGFzZT09PSJyZWFkeSImJmQuZGF0YS5zdGF0dXM9PT0icmVhZHkiP2QuZGF0YS5kYXRhOm51bGw7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlIixjaGlsZHJlbjpbZS5qc3hzKCJoZWFkZXIiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyIixjaGlsZHJlbjpbZS5qc3goImgxIix7Y2xhc3NOYW1lOiJwYWdlLXRpdGxlIixjaGlsZHJlbjp0KCJoZWFsdGgudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PmEoaz0+aysxKSxjaGlsZHJlbjp0KCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjp0KCJoZWFsdGguZ2xvYmFsX3Njb3BlX25vdGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtZGF5LWNvbnRleHQiLGNoaWxkcmVuOltsLnBoYXNlPT09ImxvYWRpbmciP2UuanN4KEMse2hlaWdodDoxOCx3aWR0aDoyNDB9KTpsLnBoYXNlPT09ImVycm9yIj9lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWJ1c2luZXNzLWRheSIsImRhdGEtc3RhdGUiOiJyZWFkX2ZhaWxlZCIsY2hpbGRyZW46dCgic3RhdGUucmVhZF9mYWlsZWQiKX0pOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJoZWFsdGgtYnVzaW5lc3MtZGF5IixjaGlsZHJlbjp0KCJoZWFsdGguYnVzaW5lc3NfZGF0ZSIse3ZhbHVlOmAke2wuZGF0YS5kYXRlfSDCtyAke2wuZGF0YS50aW1lem9uZX1gfSl9KSxsLnBoYXNlPT09InJlYWR5IiYmbC5kYXRhLmFzX29mJiZlLmpzeChLLHt2YWx1ZTpsLmRhdGEuYXNfb2Z9KSxsLnBoYXNlPT09InJlYWR5IiYmbC5kYXRhLm1hcmtldF9zZXNzaW9uPT09IndlZWtlbmQiJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWJ1c2luZXNzLWRheSIsImRhdGEtc3RhdGUiOiJub25fdHJhZGluZyIsY2hpbGRyZW46dCgiaGVhbHRoLm5vbl90cmFkaW5nX2RheSIpfSldfSksZS5qc3godHQse3N1bW1hcnk6bCxjcmVkZW50aWFsOmN9KSxlLmpzeChudCx7fSxuKSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnQoImhlYWx0aC5mcmVzaG5lc3NfdGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImhlYWx0aC1mcmVzaG5lc3MiLGNoaWxkcmVuOmUuanN4KGF0LHtzdW1tYXJ5Omx9KX0pXX0pLGUuanN4KEdlLHtyb3RhdGlvbjpmLHJlbWluZGVyOmMsY29uZmlybTpzLG9uUm90YXRlZDooKT0+e2YucmVsb2FkKCksYy5yZWxvYWQoKSxkLnJlbG9hZCgpfX0pLGUuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIGhlYWx0aC1kaWdlc3QiLGNoaWxkcmVuOmUuanN4KEVlLHtkaWdlc3Q6ZyxzdGF0dXM6dixvblJldHJ5OmgucmVsb2FkfSl9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgaGVhbHRoLWFjdGl2aXR5IixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjp0KCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiKX0pLGUuanN4KCRlLHtldmVudHM6eCxzdGF0dXM6aX0pXX0pLG8mJmUuanN4KENlLHtyZXF1ZXN0Om8sb25SZXNvbHZlOnJ9KV19KX1leHBvcnR7dXQgYXMgZGVmYXVsdH07Cg==" }, - "/v2/assets/KpiCard-CTc5p4LJ.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e2ogYXMgc31mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2Z1bmN0aW9uIHgoe3RpdGxlOnQsdmFsdWU6cCxzdWI6bixmb290ZXI6YSxkZXRhaWw6bCxvbkNsaWNrOmUsY2xhc3NOYW1lOml9KXtjb25zdCByPWQ9PnMuanN4cyhzLkZyYWdtZW50LHtjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS10aXRsZSIsY2hpbGRyZW46dH0pLHMuanN4KGQse2NsYXNzTmFtZToia3BpLXZhbHVlIG51bSIsY2hpbGRyZW46cH0pLG4mJnMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjpufSksYSYmcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS1mb290IixjaGlsZHJlbjphfSldfSksYz1pP2BrcGktY2FyZCAke2l9YDoia3BpLWNhcmQiO3JldHVybiBlP3MuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpjLG9uQ2xpY2s6ZSxjaGlsZHJlbjpyKCJzcGFuIil9KTpzLmpzeHMoImRpdiIse2NsYXNzTmFtZTpjLGNoaWxkcmVuOltyKCJkaXYiKSxsXX0pfWV4cG9ydHt4IGFzIEt9Owo=" }, - "/v2/assets/OverviewPage-C36_kJdd.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgaixiIGFzIFksciBhcyBGLGQgYXMgRSxqIGFzIGUsZSBhcyAkLEUgYXMgUixCIGFzIHEsUyBhcyB5LEEgYXMgYixmIGFzIFEsaCBhcyBVLGkgYXMgeixNIGFzIEIsayBhcyBILFAgYXMgRCxtIGFzIFcsbiBhcyBrLG8gYXMgRyxwIGFzIFYscSBhcyBYLHQgYXMgWn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2ltcG9ydHtpIGFzIEp9ZnJvbSIuL2luYm94RmFpbHVyZS1EXzNmdGxCdC5qcyI7aW1wb3J0e3IgYXMgSyx1IGFzIGVlLGMgYXMgTyxMIGFzIGFlLEEgYXMgc2UsQyBhcyB0ZSxEIGFzIG5lLFUgYXMgcmV9ZnJvbSIuL2Nhc2hmbG93TWV0aG9kLUJMOW41T2twLmpzIjtpbXBvcnR7dSBhcyBnfWZyb20iLi9ob29rcy1DTW5BMWxPUC5qcyI7aW1wb3J0e0EgYXMgb2UsRiBhcyBpZX1mcm9tIi4vY29ja3BpdC1DLU5DTFpuSy5qcyI7aW1wb3J0e0sgYXMgcH1mcm9tIi4vS3BpQ2FyZC1DVGM1cDRMSi5qcyI7aW1wb3J0e3cgYXMgY2V9ZnJvbSIuL3N0YXR1cy1CX1VYVW84Ry5qcyI7aW1wb3J0Ii4vdGlja3MtQmNXYXdNNGQuanMiO2ltcG9ydCIuL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiO2Z1bmN0aW9uIGxlKGEpe2lmKCFLKGEuc3RhdHVzKXx8YS51bmF2YWlsYWJsZV9yZWFzb249PT0ibWl4ZWRfY3VycmVuY3kifHwhYS5jdXJyZW5jeSlyZXR1cm4gbnVsbDtjb25zdCB0PWEucG9pbnRzLnJlZHVjZSgocyxuKT0+IXN8fG4uZGF0ZT49cy5kYXRlP246cyxudWxsKTtyZXR1cm4gdCYmTnVtYmVyLmlzRmluaXRlKHQudmFsdWUpP3QudmFsdWU6bnVsbH1jb25zdCBOPSJZVEQiO2Z1bmN0aW9uIHVlKCl7Y29uc3QgYT1uZXcgRGF0ZSx0PVN0cmluZyhhLmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwiMCIpLHM9U3RyaW5nKGEuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCIwIik7cmV0dXJuYCR7YS5nZXRGdWxsWWVhcigpfS0ke3R9LSR7c31gfWZ1bmN0aW9uIFQoYSl7Y29uc3QgdD11ZSgpO3JldHVybiBhLmZpbHRlcihzPT50eXBlb2Ygcy5kYXRlPT0ic3RyaW5nIiYmcy5kYXRlPD10JiYocy5hbW91bnQhPT1udWxsfHxzLnJldHVybl9wZXJjZW50IT09bnVsbCkpfWZ1bmN0aW9uIGRlKGEpe2lmKGEubW9udGg9PT1udWxsfHxUKGEuY2VsbHMpLmxlbmd0aD4wKXJldHVybiBudWxsO2NvbnN0IHQ9L14oXGR7NH0pLShcZHsyfSktXGR7Mn0kLy5leGVjKGEuYXNfb2Y/PyIiKTtpZighdClyZXR1cm4gbnVsbDtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzJdKTtpZihuPDF8fG4+MTIpcmV0dXJuIG51bGw7Y29uc3Qgcj1gJHthLnllYXJ9LSR7U3RyaW5nKGEubW9udGgpLnBhZFN0YXJ0KDIsIjAiKX1gO3JldHVybmAke3N9LSR7U3RyaW5nKG4pLnBhZFN0YXJ0KDIsIjAiKX1gPHI/e3llYXI6cyxtb250aDpufTpudWxsfWNvbnN0IFM9SztmdW5jdGlvbiBtKHtzdGF0dXM6YX0pe2NvbnN0IHQ9aigpO3JldHVybiBlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImZsYXQga3BpLWVtcHR5LXZhbHVlIiwiZGF0YS1zdGF0ZSI6YSxjaGlsZHJlbjpbIuKAlCIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOnQoYHN0YXRlLiR7YX1gKX0pXX0pfWZ1bmN0aW9uIEEoYSl7cmV0dXJuIGUuanN4KHAse3RpdGxlOmEsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSl9KX1mdW5jdGlvbiBDKGEsdCl7cmV0dXJuIHQ9PT0ibWl4ZWRfY3VycmVuY3kiP2EoIm92ZXJ2aWV3Lm1peGVkX2N1cnJlbmN5X3Nob3J0Iik6dD9hKGByZWFzb24uJHt0fWApOnZvaWQgMH1mdW5jdGlvbiB2ZSh7c3RhdGU6YX0pe2NvbnN0IHQ9aigpLHM9dCgib3ZlcnZpZXcudG90YWxfYXNzZXRzIik7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gQShzKTtpZihhLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChtLHtzdGF0dXM6InJlYWRfZmFpbGVkIn0pLHN1Yjp0KCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSk7Y29uc3Qgbj1hLmRhdGE7aWYobi5wZXJfY3VycmVuY3k/Lmxlbmd0aCYmbi51bmF2YWlsYWJsZV9yZWFzb24hPT0ic3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3godGUse3RvdGFsczpuLnBlcl9jdXJyZW5jeSxmcmVzaG5lc3M6bi5mcmVzaG5lc3Nfc3VtbWFyeX0pfSk7Y29uc3Qgcj1sZShuKSxvPXI9PT1udWxsJiZTKG4uc3RhdHVzKT8idW5hdmFpbGFibGUiOm4uc3RhdHVzLGk9ciE9PW51bGw/ZS5qc3goQix7dmFsdWU6cixjdXJyZW5jeTpuLmN1cnJlbmN5fSk6ZS5qc3gobSx7c3RhdHVzOm99KSxsPXI9PT1udWxsP0ModCxuLnVuYXZhaWxhYmxlX3JlYXNvbil8fHQoYHN0YXRlLiR7b31gKTp2b2lkIDAsdT1vIT09Im9rInx8bi5hc19vZj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W28hPT0ib2siJiZlLmpzeCh5LHtzdGF0dXM6byxyZWFzb246bi51bmF2YWlsYWJsZV9yZWFzb259KSxuLmFzX29mJiZlLmpzeChiLHt2YWx1ZTpuLmFzX29mfSldfSk6dm9pZCAwO3JldHVybiBlLmpzeChwLHt0aXRsZTpzLHZhbHVlOmksc3ViOmwsZm9vdGVyOnV9KX1mdW5jdGlvbiBwZShhLHQpe2NvbnN0IHM9TyhhKTtyZXR1cm4gdChzPT09ImRpZXR6X2FwcHJveCI/bmU6cz09PSJ1bmtub3duIj9yZToib3ZlcnZpZXcudHdyX3RhZyIpfWZ1bmN0aW9uIGZlKHtzdGF0ZTphfSl7Y29uc3QgdD1qKCkscz10KCJvdmVydmlldy5yYW5nZV9yZXR1cm4iLHtyYW5nZTp0KGBwZXJmLnJhbmdlLiR7Tn1gKX0pO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIEEocyk7aWYoYS5waGFzZT09PSJlcnJvciIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9KSxzdWI6dCgic3RhdGUucmVhZF9mYWlsZWQiKX0pO2NvbnN0IG49YS5kYXRhO2lmKCFTKG4uc3RhdHVzKSlyZXR1cm4gZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChtLHtzdGF0dXM6bi5zdGF0dXN9KSxzdWI6Qyh0LG4udW5hdmFpbGFibGVfcmVhc29uKXx8dChgc3RhdGUuJHtuLnN0YXR1c31gKSxmb290ZXI6bi5hc19vZj9lLmpzeChiLHt2YWx1ZTpuLmFzX29mfSk6dm9pZCAwfSk7Y29uc3Qgcj1uLnN0YXR1cyE9PSJvayIsbz1uLm1ldHJpY19yZWFzb25zPy50d3J8fG4udW5hdmFpbGFibGVfcmVhc29uLGk9cj9lLmpzeCh5LHtzdGF0dXM6bi5zdGF0dXMscmVhc29uOm4udW5hdmFpbGFibGVfcmVhc29ufSk6dm9pZCAwLGw9aXx8bi5hc19vZj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2ksbi5hc19vZiYmZS5qc3goYix7dmFsdWU6bi5hc19vZn0pXX0pOnZvaWQgMDtyZXR1cm4gbi50d3JfcmV0dXJuX3BlcmNlbnQ9PT1udWxsP2UuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOiJ1bmF2YWlsYWJsZSJ9KSxzdWI6Qyh0LG8pfHx0KCJzdGF0ZS51bmF2YWlsYWJsZSIpLGZvb3RlcjpsfSk6ZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChELHt2YWx1ZTpuLnR3cl9yZXR1cm5fcGVyY2VudH0pLHN1YjpwZShuLHQpLGZvb3RlcjpsfSl9ZnVuY3Rpb24gaGUoe3N0YXRlOmEsY2FycnlvdmVyOnQsY2FycnlvdmVyU3RhdGU6c30pe2NvbnN0IG49aigpLHI9bigib3ZlcnZpZXcubGFzdF9kYXlfY2hhbmdlIik7bGV0IG89YTtpZih0JiZzPy5waGFzZSE9PSJlcnJvciImJihvPXM/LnBoYXNlPT09InJlYWR5IiYmcy5kYXRhP3twaGFzZToicmVhZHkiLGRhdGE6cy5kYXRhLGVycm9yOm51bGx9OntwaGFzZToibG9hZGluZyIsZGF0YTpudWxsLGVycm9yOm51bGx9KSxvLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBBKHIpO2lmKG8ucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOm4oInN0YXRlLnJlYWRfZmFpbGVkIil9KTtjb25zdCBpPW8uZGF0YTtpZighUyhpLnN0YXR1cykpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOmkuc3RhdHVzfSksc3ViOkMobixpLnVuYXZhaWxhYmxlX3JlYXNvbil8fG4oYHN0YXRlLiR7aS5zdGF0dXN9YCksZm9vdGVyOmkuYXNfb2Y/ZS5qc3goYix7dmFsdWU6aS5hc19vZn0pOnZvaWQgMH0pO2NvbnN0IHU9aS5zdGF0dXMhPT0ib2siP2UuanN4KHkse3N0YXR1czppLnN0YXR1cyxyZWFzb246aS51bmF2YWlsYWJsZV9yZWFzb259KTp2b2lkIDAsaD11fHxpLmFzX29mP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbdSxpLmFzX29mJiZlLmpzeChiLHt2YWx1ZTppLmFzX29mfSldfSk6dm9pZCAwLGQ9VChpLmNlbGxzKS5zb3J0KChjLHYpPT5jLmRhdGU8di5kYXRlPzE6LTEpWzBdO2lmKCFkKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IixjaGlsZHJlbjoi4oCUIn0pLHN1YjpDKG4saS51bmF2YWlsYWJsZV9yZWFzb24pfHxuKCJzdGF0ZS5ub19kYXRhIiksZm9vdGVyOmh9KTtjb25zdCBmPWQuYW1vdW50IT09bnVsbD9lLmpzeChCLHt2YWx1ZTpkLmFtb3VudCxjdXJyZW5jeTpkLmN1cnJlbmN5LHNpZ25lZDohMH0pOmUuanN4KEQse3ZhbHVlOmQucmV0dXJuX3BlcmNlbnR9KSx4PWQudmFsdWVfa2luZD09PSJwbmwiP24oInBlcmYudmFsdWVfa2luZF9wbmwiKTpuKCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIik7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZixzdWI6eCxmb290ZXI6aH0pfWZ1bmN0aW9uIF9lKHtzdGF0ZTphfSl7Y29uc3QgdD1qKCkscz0kKCksbj0oKT0+cyh7cGFnZToiZGVjaXNpb25zIixkZWNpc2lvbjpudWxsfSkscj10KCJvdmVydmlldy50b2RvcyIpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSksb25DbGljazpufSk7aWYoYS5waGFzZT09PSJlcnJvciJ8fGEuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOnQoYGluYm94LmVycm9yLiR7SihhLmRhdGEsYS5lcnJvcil9LnRpdGxlYCksb25DbGljazpufSk7Y29uc3Qgbz1hLmRhdGEsaT1vLml0ZW1zLmZpbHRlcih1PT51LnN0YXR1cz09PSJwZW5kaW5nIiksbD1pLmZpbHRlcih1PT51LnByaW9yaXR5PT09ImhpZ2giKS5sZW5ndGg7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6aS5sZW5ndGgsc3ViOnQoIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCIse2NvdW50Omx9KSxmb290ZXI6by5zdGF0dXM9PT0icGFydGlhbCI/ZS5qc3goeSx7c3RhdHVzOiJwYXJ0aWFsIn0pOnZvaWQgMCxvbkNsaWNrOm59KX1mdW5jdGlvbiB4ZSh7c3RhdGU6YX0pe2NvbnN0IHQ9aigpLHM9JCgpLG49KCk9PnMoe3BhZ2U6ImhlYWx0aCJ9KSxyPXQoIm92ZXJ2aWV3LnJ1bnNfY2FyZF90aXRsZSIpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSksb25DbGljazpufSk7aWYoYS5waGFzZT09PSJlcnJvciJ8fGEuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOnQoInN0YXRlLnJlYWRfZmFpbGVkIiksb25DbGljazpufSk7Y29uc3Qgbz1hLmRhdGEse2NvbmZpZ3VyZWQ6aSxvYnNlcnZlZDpsfT1vLmNvdW50cyx1PU51bWJlci5pc1NhZmVJbnRlZ2VyKGkpJiZpPjAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGwpJiZsPj0wLGg9dT9gJHtsfS8ke2l9YDplLmpzeChtLHtzdGF0dXM6InVua25vd24ifSksZD1uZXcgU2V0KChvLmFjY291bnRzPz9bXSkubWFwKF89Pl8udW5hdmFpbGFibGVfcmVhc29uKS5maWx0ZXIoXz0+dHlwZW9mIF89PSJzdHJpbmciJiZfIT09IiIpKSxmPWQuaGFzKCJydW50aW1lX2RhaWx5X2JpbmRpbmdfY29uZmxpY3QiKT8icnVudGltZV9kYWlseV9iaW5kaW5nX2NvbmZsaWN0IjpkLmhhcygicnVudGltZV9kYWlseV9ub3RfY29ubmVjdGVkIik/InJ1bnRpbWVfZGFpbHlfbm90X2Nvbm5lY3RlZCI6dm9pZCAwLHg9Y2UobyksYz1vLm1hcmtldF9zZXNzaW9uPT09InRyYWRpbmdfZGF5Ij8ib3ZlcnZpZXcuYnVzaW5lc3NfZGF0ZSI6Im92ZXJ2aWV3LmNhbGVuZGFyX2RhdGUiLHY9dT9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3QoYyx7dmFsdWU6by5kYXRlfSksIXgmJmw9PT0wJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46WyIgwrcgIix0KCJvdmVydmlldy5ub19yZWNvcmRzX2Zvcl9kYXkiKV19KV19KTp0KCJzdGF0ZS5ub19kYXRhIik7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6aCxzdWI6dixmb290ZXI6eD9lLmpzeChxLHt0b25lOiJ1bmtub3duIixjaGlsZHJlbjp0KCJvdmVydmlldy5ub25fdHJhZGluZ19kYXlfc2hvcnQiKX0pOm8uc3RhdHVzPT09InBhcnRpYWwiP2UuanN4KHkse3N0YXR1czoicGFydGlhbCIscmVhc29uOmZ9KTp2b2lkIDAsb25DbGljazpufSl9ZnVuY3Rpb24gbWUoYSl7aWYoIWEpcmV0dXJuW107Y29uc3QgdD1hLmN1cnZlX3N0YXR1cz8/YS5zdGF0dXMscz1hLmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbj09PXZvaWQgMD9hLnVuYXZhaWxhYmxlX3JlYXNvbjphLmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbjtyZXR1cm4oYS5oaXN0b3J5X3Blcl9jdXJyZW5jeT8ubGVuZ3RoP2EuaGlzdG9yeV9wZXJfY3VycmVuY3kubWFwKHI9Pih7Y3VycmVuY3k6ci5jdXJyZW5jeSxzdGF0dXM6ci5zdGF0dXMscmVhc29uOnIudW5hdmFpbGFibGVfcmVhc29uLGFzT2Y6ci5hc19vZixjb3ZlcmFnZTpyLmNvdmVyYWdlLHBvaW50czpyLnBvaW50c30pKTpbe2N1cnJlbmN5OmEuY3VycmVuY3k/PyIiLHN0YXR1czp0LHJlYXNvbjpzLGFzT2Y6YS5hc19vZixjb3ZlcmFnZTphLmN1cnZlX2NvdmVyYWdlLHBvaW50czphLnBvaW50c31dKS5mbGF0TWFwKHI9Pntjb25zdCBvPVtdO2xldCBpPSExO2Zvcihjb25zdCBsIG9mIHIucG9pbnRzKXtpZighTnVtYmVyLmlzRmluaXRlKGwudmFsdWUpKXtpPSEwO2NvbnRpbnVlfW8ucHVzaChpJiYhbC5icmVha0JlZm9yZT97Li4ubCxicmVha0JlZm9yZTohMH06bCksaT0hMX1yZXR1cm4hUyhyLnN0YXR1cyl8fCFyLmN1cnJlbmN5fHxvLmxlbmd0aD09PTA/W106W3tjdXJyZW5jeTpyLmN1cnJlbmN5LHN0YXR1czpyLnN0YXR1cyxyZWFzb246ci5yZWFzb24sYXNPZjpyLmFzT2YscG9pbnRzOm8scGFydGlhbDpvLnNvbWUobD0+bC5wYXJ0aWFsKXx8ISFyLmNvdmVyYWdlPy50cnVuY2F0ZWR8fCEhci5jb3ZlcmFnZT8ucmVhZF9mYWlsdXJlcz8ubGVuZ3RofV19KX1mdW5jdGlvbiBqZShhLHQpe3JldHVybiBhLmxlbmd0aD9hLmZpbmQocz0+cy5jdXJyZW5jeT09PXQpPz9hWzBdOm51bGx9ZnVuY3Rpb24gZ2Uoe3JldHVybnM6YSxhc3NldHM6dH0pe2NvbnN0IHM9aigpLG49JCgpLHI9ZWUoKSxbbyxpXT1GLnVzZVN0YXRlKG51bGwpLGw9KCk9Pm4oe3BhZ2U6InBlcmZvcm1hbmNlIn0pO2xldCB1LGg9cygib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIiksZD1udWxsLGY9bnVsbDtjb25zdCB4PWEucGhhc2U9PT0icmVhZHkiJiZTKGEuZGF0YS5zdGF0dXMpJiZhLmRhdGEucG9pbnRzLmxlbmd0aD4wO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpdT1lLmpzeChrLHtoZWlnaHQ6MjIwfSk7ZWxzZSBpZihhLnBoYXNlPT09ImVycm9yIil1PWUuanN4KFIse29uUmV0cnk6YS5yZWxvYWR9KTtlbHNlIGlmKHgpe2NvbnN0IGM9YS5kYXRhO2MucmV0dXJuX2tpbmQ9PT0idHdyIiYmTyhjKSE9PSJ1bmtub3duInx8KGg9cygicGVyZi5hc3NldF9jaGFuZ2VfdGl0bGUiKSk7Y29uc3QgXz1be2lkOiJtYWluIixsYWJlbDpyLGNvbG9yOiJ2YXIoLS1hY2NlbnQpIixwb2ludHM6Yy5wb2ludHMscHJpbWFyeTohMH1dO3U9ZS5qc3goYWUse3NlcmllczpfLG1vZGU6ImN1bXVsYXRpdmUiLGFyaWFMYWJlbDpoLGFsaWduU3RhcnQ6Yy5hbGlnbmVkX3N0YXJ0fSksKGMuc3RhdHVzPT09InBhcnRpYWwifHxjLnN0YXR1cz09PSJzdGFsZSIpJiYoZj1lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIG92ZXJ2aWV3LXRyZW5kLW5vdGUiLGNoaWxkcmVuOltjLnN0YXR1cz09PSJwYXJ0aWFsIj9lLmpzeChxLHt0b25lOiJ3YXJuIixjaGlsZHJlbjpzKCJzdGF0ZS5wYXJ0aWFsX3ZhbHVhdGlvbiIpfSk6ZS5qc3goeSx7c3RhdHVzOmMuc3RhdHVzfSksYy5hc19vZiYmZS5qc3goYix7dmFsdWU6Yy5hc19vZn0pXX0pKX1lbHNle2NvbnN0IGM9bWUodC5waGFzZT09PSJyZWFkeSI/dC5kYXRhOm51bGwpLHY9amUoYyxvKTt0LnBoYXNlPT09ImxvYWRpbmciP3U9ZS5qc3goayx7aGVpZ2h0OjIyMH0pOnQucGhhc2U9PT0iZXJyb3IiP3U9ZS5qc3goUix7b25SZXRyeTp0LnJlbG9hZH0pOnY/KGg9cygicGVyZi5hc3NldF9iYWxhbmNlX3RpdGxlIiksYy5sZW5ndGg+MSYmKGQ9ZS5qc3goImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6cygicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpjLm1hcChfPT5lLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke18uY3VycmVuY3k9PT12LmN1cnJlbmN5PyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOl8uY3VycmVuY3k9PT12LmN1cnJlbmN5LG9uQ2xpY2s6KCk9PmkoXy5jdXJyZW5jeSksY2hpbGRyZW46Xy5jdXJyZW5jeX0sXy5jdXJyZW5jeSkpfSl9KSksdT1lLmpzeChzZSx7cG9pbnRzOnYucG9pbnRzLGN1cnJlbmN5OnYuY3VycmVuY3ksYXJpYUxhYmVsOmh9KSwodi5zdGF0dXMhPT0ib2sifHx2LnBhcnRpYWwpJiYoZj1lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIG92ZXJ2aWV3LXRyZW5kLW5vdGUiLGNoaWxkcmVuOltlLmpzeCh5LHtzdGF0dXM6di5zdGF0dXM9PT0ib2siPyJwYXJ0aWFsIjp2LnN0YXR1cyxyZWFzb246di5yZWFzb259KSx2LmFzT2YmJmUuanN4KGIse3ZhbHVlOnYuYXNPZn0pXX0pKSk6dT1lLmpzeChRLHt0aXRsZTpzKGBzdGF0ZS4ke1MoYS5kYXRhLnN0YXR1cyk/Im5vX2RhdGEiOmEuZGF0YS5zdGF0dXN9YCl9KX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctbGluay1jYXJkIG92ZXJ2aWV3LXRyZW5kLWNhcmQiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY2FyZC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpofSksZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToib3ZlcnZpZXctdHJlbmQtb3BlbiIsb25DbGljazpsLGNoaWxkcmVuOltzKCJvdmVydmlldy5vcGVuX3BlcmZvcm1hbmNlIiksIiAiLGUuanN4KCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46IuKGkiJ9KV19KV19KSxkLHUsZl19KX1jb25zdCBMPXtoaWdoOjAsbWVkaXVtOjEsbm9ybWFsOjJ9O2Z1bmN0aW9uIHllKGEsdCl7Y29uc3Qgcz0rKHQuY2F0ZWdvcnk9PT0icmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiKS0rKGEuY2F0ZWdvcnk9PT0icmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiKTtyZXR1cm4gcyE9PTA/czooTFthLnByaW9yaXR5XT8/MyktKExbdC5wcmlvcml0eV0/PzMpfHwodC5jcmVhdGVkX2F0fHwiIikubG9jYWxlQ29tcGFyZShhLmNyZWF0ZWRfYXR8fCIiKX1mdW5jdGlvbiBiZSh7aXRlbTphLG9uT3Blbjp0fSl7Y29uc3Qgcz1qKCksbj1YKCkscj1zKGEudGl0bGVfa2V5KSxvPWEuZXhwaXJlc19hdD9aKGEuZXhwaXJlc19hdCxuKTpudWxsO3JldHVybiBlLmpzeCgibGkiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLWl0ZW0iLGNoaWxkcmVuOmUuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLW9wZW4iLG9uQ2xpY2s6dCxjaGlsZHJlbjpbZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1tYWluIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLXRpdGxlIixjaGlsZHJlbjpyPT09YS50aXRsZV9rZXk/YS5zaG9ydF9pZDpyfSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1tZXRhIixjaGlsZHJlbjpbZS5qc3gocSx7dG9uZTphLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Ij8id2FybiI6ImFjY2VudCIsY2hpbGRyZW46cyhgY2F0ZWdvcnkuJHthLmNhdGVnb3J5fWApfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjphLmFjY291bnRfYWxpYXN8fHMoImRlY2lzaW9ucy5hY2NvdW50X3VuYm91bmQiKX0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46cygiZGVjaXNpb25zLnJlZiIse2lkOmEuc2hvcnRfaWR9KX0pLG8mJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46cygib3ZlcnZpZXcuZXhwaXJlc19wbGFpbiIse3ZhbHVlOm8uem9uZT9gJHtvLnRleHR9ICgke28uem9uZX0pYDpvLnRleHR9KX0pXX0pXX0pLGUuanN4KGllLHtzdGF0ZTphLmV2aWRlbmNlX2ZyZXNobmVzcz8uc3RhdHVzLG9ic2VydmVkQXQ6YS5ldmlkZW5jZV9mcmVzaG5lc3M/LmFzX29mfSldfSl9KX1mdW5jdGlvbiB3ZSh7aW5ib3g6YSxvblJldHJ5OnR9KXtjb25zdCBzPWooKSxuPSQoKSxyPSgpPT5uKHtwYWdlOiJkZWNpc2lvbnMiLGRlY2lzaW9uOm51bGx9KSxvPWw9Pm4oe3BhZ2U6ImRlY2lzaW9ucyIsZGVjaXNpb246bH0pO2xldCBpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpaT1lLmpzeChrLHtoZWlnaHQ6ODh9KTtlbHNlIGlmKGEucGhhc2U9PT0iZXJyb3IifHxhLnBoYXNlPT09InJlYWR5IiYmYS5kYXRhLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCImJmEuZGF0YS5pdGVtcy5sZW5ndGg9PT0wKWk9ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOnMoIm92ZXJ2aWV3LnF1ZXVlX3JlYWRfZmFpbGVkIil9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazp0LGNoaWxkcmVuOnMoImNvbW1vbi5yZXRyeSIpfSldfSk7ZWxzZXtjb25zdCBsPWEuZGF0YSx1PWwuc3RhdHVzPT09Im9rIiYmbC5zb3VyY2VzLmV2ZXJ5KGM9PmMuc3RhdHVzPT09Im9rIiksaD1EYXRlLm5vdygpLGQ9bC5pdGVtcy5maWx0ZXIoYz0+Yy5zdGF0dXM9PT0icGVuZGluZyImJiEoYy5leHBpcmVzX2F0JiZEYXRlLnBhcnNlKGMuZXhwaXJlc19hdCk8aCkpLnNvcnQoeWUpLGY9ZC5maWx0ZXIoYz0+IVsiZnJlc2giLCJyZWFkeSJdLmluY2x1ZGVzKGMuZXZpZGVuY2VfZnJlc2huZXNzPy5zdGF0dXM/PyIiKSkubGVuZ3RoLHg9ZC5maWx0ZXIoYz0+Yy5wcmlvcml0eT09PSJoaWdoIikubGVuZ3RoO2k9ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToib3ZlcnZpZXctcXVldWUtbGVkZSIsY2hpbGRyZW46dT9kLmxlbmd0aD09PTA/cygib3ZlcnZpZXcucXVldWVfY29tcGxldGVfZW1wdHkiKTpzKCJvdmVydmlldy5uZWVkc19yZXZpZXciLHtjb3VudDpkLmxlbmd0aH0pOnMoIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiKX0pLHUmJmQubGVuZ3RoPjAmJmUuanN4cygicCIse2NsYXNzTmFtZToib3ZlcnZpZXctcXVldWUtY291bnRzIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJvdmVydmlldy5xdWV1ZV9ibG9ja2VkIix7Y291bnQ6Zn0pfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJvdmVydmlldy5xdWV1ZV9oaWdoX3ByaW9yaXR5Iix7Y291bnQ6eH0pfSldfSksZC5sZW5ndGg+MCYmZS5qc3goInVsIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1saXN0IixjaGlsZHJlbjpkLnNsaWNlKDAsMykubWFwKGM9PmUuanN4KGJlLHtpdGVtOmMsb25PcGVuOigpPT5vKGMuaWQpfSxjLmlkKSl9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpyLGNoaWxkcmVuOnMoIm92ZXJ2aWV3LnF1ZXVlX21vcmUiKX0pXX0pfXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctcXVldWUiLCJhcmlhLWxhYmVsIjpzKCJvdmVydmlldy5kZWNpc2lvbl9xdWV1ZSIpLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJvdmVydmlldy1jYXJkLWhlYWQiLGNoaWxkcmVuOmUuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46cygib3ZlcnZpZXcuZGVjaXNpb25fcXVldWUiKX0pfSksaV19KX1mdW5jdGlvbiBMZSgpe2NvbnN0IGE9aigpLHtzY29wZTp0fT1ZKCksW3Msbl09Ri51c2VTdGF0ZSgwKSxyPSgpPT5uKEk9PkkrMSksbz1uZXcgRGF0ZSxpPW8uZ2V0RnVsbFllYXIoKSxsPW8uZ2V0TW9udGgoKSsxLHU9ZygoKT0+SCh0LE4pLFt0LHNdKSxoPWcoKCk9PlcodCxOKSxbdCxzXSksZD1nKCgpPT5FKHQsTixpLGwpLFt0LHNdKSxmPWQucGhhc2U9PT0icmVhZHkiP2RlKGQuZGF0YSk6bnVsbCx4PWcoKCk9PmY/RSh0LE4sZi55ZWFyLGYubW9udGgpOlByb21pc2UucmVzb2x2ZShudWxsKSxbdCxzLGY/YCR7Zi55ZWFyfS0ke2YubW9udGh9YDoiIl0pLGM9ZygoKT0+eihzPjApLFtzXSksdj1nKCgpPT5HKCksW3NdKSxfPWcoKCk9PlYodCxOKSxbdCxzXSksdz1nKCgpPT5VKCksW3NdKSxQPXcucGhhc2U9PT0ibG9hZGluZyI/ImxvYWRpbmciOncucGhhc2U9PT0iZXJyb3IiPyJlcnJvciI6dy5kYXRhLnN0YXR1cz09PSJub3RfcmVhZHkiPyJub3RfcmVhZHkiOiJyZWFkeSIsTT13LnBoYXNlPT09InJlYWR5IiYmdy5kYXRhLnN0YXR1cz09PSJyZWFkeSI/dy5kYXRhLmRhdGE6bnVsbDtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltlLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOmEoIm5hdi5vdmVydmlldyIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXItYWN0aW9ucyIsY2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazpyLGNoaWxkcmVuOmEoImNvbW1vbi5yZWZyZXNoIil9KX0pXX0pLGUuanN4KHdlLHtpbmJveDpjLG9uUmV0cnk6Yy5yZWxvYWR9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXN1bW1hcnkiLCJhcmlhLWxhYmVsIjphKCJvdmVydmlldy5hc3NldF9zdW1tYXJ5IiksY2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXByaW1hcnkta3BpIixjaGlsZHJlbjplLmpzeCh2ZSx7c3RhdGU6dX0pfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIixjaGlsZHJlbjpbZS5qc3goZmUse3N0YXRlOmh9KSxlLmpzeChoZSx7c3RhdGU6ZCxjYXJyeW92ZXI6ZixjYXJyeW92ZXJTdGF0ZTp4fSksZS5qc3goX2Use3N0YXRlOmN9KSxlLmpzeCh4ZSx7c3RhdGU6dn0pXX0pXX0pLGUuanN4KGdlLHtyZXR1cm5zOl8sYXNzZXRzOnV9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctYWN0aXZpdHkiLCJhcmlhLWxhYmVsIjphKCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiKSxjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY2FyZC1oZWFkIixjaGlsZHJlbjplLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOmEoIm92ZXJ2aWV3LmxhdGVzdF9hY3Rpdml0eSIpfSl9KSxlLmpzeChvZSx7ZXZlbnRzOk0sc3RhdHVzOlB9KV19KV19KX1leHBvcnR7Z2UgYXMgVHJlbmRDYXJkLG1lIGFzIGFzc2V0QmFsYW5jZUhpc3RvcmllcyxkZSBhcyBjYXJyeW92ZXJNb250aEZvckxhdGVzdERheSxMZSBhcyBkZWZhdWx0LGplIGFzIHNlbGVjdEFzc2V0SGlzdG9yeX07Cg==" }, + "/v2/assets/HealthPage-CK1bvZih.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgTix5IGFzIEIsciBhcyBiLGFpIGFzIEgsaiBhcyBlLGggYXMgTyxvIGFzIFMsdCBhcyBJLHcgYXMgUCxCIGFzIEwsUyBhcyBNLHYgYXMgRixmIGFzIEsscCBhcyBxLGFqIGFzIEcsYWsgYXMgVSxhbCBhcyB6LGFtIGFzIFcsaSBhcyBZLGFjIGFzIFosYW4gYXMgSixFIGFzIFIsYTAgYXMgUX1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHt1IGFzIHZ9ZnJvbSIuL2hvb2tzLUJpNW8yVlRELmpzIjtpbXBvcnR7SyBhcyBDfWZyb20iLi9LcGlDYXJkLUQ1WlkyZzZtLmpzIjtpbXBvcnR7RCBhcyBYfWZyb20iLi9EYXRhVGFibGUtQ1R1TTh3WmcuanMiO2ltcG9ydHt1IGFzIGVlLEMgYXMgYWV9ZnJvbSIuL0RpYWxvZy1CZTBJVkxJOC5qcyI7aW1wb3J0e0QgYXMgdGUsQSBhcyBzZX1mcm9tIi4vY29ja3BpdC1CVmlRUWVmcy5qcyI7aW1wb3J0IG5lIGZyb20iLi9DcmVkZW50aWFsUm90YXRpb25QYW5lbC02UVZyeFBnSS5qcyI7aW1wb3J0e2MgYXMgVix0IGFzIGxlLHIgYXMgcmUsdyBhcyBpZSxhIGFzIFQsYiBhcyBvZX1mcm9tIi4vc3RhdHVzLUJfVVhVbzhHLmpzIjtpbXBvcnR7ciBhcyBjZX1mcm9tIi4vcnVudGltZV9kYWlseV9jb250cmFjdC14VzQzbVpRWS5qcyI7ZnVuY3Rpb24gZGUocyl7Y29uc3QgdD1zO3JldHVybiB0Py5zdGF0dXM9PT00MDkmJnQ/Lm1lc3NhZ2U9PT0icnVudGltZV9kYWlseV9iaW5kaW5nX2NoYW5nZWQifWNvbnN0IEQ9e29rOiJoZWFsdGguZ3JpZC5vayIsZmFpbGVkOiJoZWFsdGguZ3JpZC5mYWlsZWQiLGJsb2NrZWQ6ImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCIsIm5vdC1ydW4iOiJoZWFsdGguZ3JpZC5ub3RfcnVuIiwibm8tcmVjb3JkIjoiaGVhbHRoLmdyaWQubm9fcmVjb3JkIix1bmtub3duOiJzdGF0ZS51bmtub3duIixpbmNvbXBsZXRlOiJoZWFsdGguZ3JpZC5pbmNvbXBsZXRlIixzdGFsZToic3RhdGUuc3RhbGUiLCJyZWFkLWZhaWxlZCI6InN0YXRlLnJlYWRfZmFpbGVkIiwiYmluZGluZy1jaGFuZ2VkIjoiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkIn0sQT17b2s6IuKckyIsZmFpbGVkOiLinJciLGJsb2NrZWQ6IuKKmCIsIm5vdC1ydW4iOiLigJMiLCJuby1yZWNvcmQiOiIiLHVua25vd246Ij8iLGluY29tcGxldGU6IuKApiIsc3RhbGU6In4iLCJyZWFkLWZhaWxlZCI6IiEiLCJiaW5kaW5nLWNoYW5nZWQiOiLihrsifTtmdW5jdGlvbiB3KHMsdCl7cmV0dXJuYCR7cy5wbGF0Zm9ybX0vJHtzLmFjY291bnRfYWxpYXN9LyR7dH1gfWZ1bmN0aW9uIGhlKHMsdCl7Y29uc3QgYT1bXTtsZXQgcj1EYXRlLnBhcnNlKGAke3N9VDAwOjAwOjAwWmApO2Zvcig7YS5sZW5ndGg8dDspe2NvbnN0IG89bmV3IERhdGUocikuZ2V0VVRDRGF5KCk7byE9PTAmJm8hPT02JiZhLnVuc2hpZnQobmV3IERhdGUocikudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKSksci09ODY0ZTV9cmV0dXJuIGF9ZnVuY3Rpb24gdWUoe3NlbGVjdGlvbjpzLGNlbGw6dH0pe2NvbnN0IGE9TigpLHI9QigpLG89SSgpLG49UChzLmRhdGUsbyk7bGV0IGw7aWYoIXR8fHQucGhhc2U9PT0ibG9hZGluZyIpbD1lLmpzeChTLHtoZWlnaHQ6MTYsd2lkdGg6MjQwfSk7ZWxzZSBpZih0LnBoYXNlPT09ImJpbmRpbmctY2hhbmdlZCIpbD1lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWdyaWQtbm90ZSBoZWFsdGgtZ3JpZC1ub3RlLWluZm8iLGNoaWxkcmVuOmEoImhlYWx0aC5ncmlkLmJpbmRpbmdfY2hhbmdlZF9kZXRhaWwiKX0pO2Vsc2UgaWYodC5waGFzZT09PSJlcnJvciIpbD1lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWdyaWQtbm90ZSIsY2hpbGRyZW46YSgic3RhdGUucmVhZF9mYWlsZWQiKX0pO2Vsc2UgaWYoIXQuc25hcHNob3QucmVjb3JkKWw9ZS5qc3goInNwYW4iLHtjaGlsZHJlbjphKCJoZWFsdGguZ3JpZC5ub19yZWNvcmQiKX0pO2Vsc2V7Y29uc3QgdT10LnNuYXBzaG90LnJlY29yZCxmPXUucnVucz8/W10sZD1uZXcgTWFwO2Zvcihjb25zdCBjIG9mIGYpe2NvbnN0IG09Yy5hY3Rpdml0eT09PSJibG9ja2VkIj8iaGVhbHRoLnJ1bl9zdGF0ZS5ibG9ja2VkIjpgc3RhdGUuJHtjLmFjdGl2aXR5fHwidW5rbm93biJ9YCxfPWEobSk7ZC5zZXQoXywoZC5nZXQoXyl8fDApKzEpfWw9ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaGVhbHRoLWRheS1kZXRhaWwtbWV0YSIsY2hpbGRyZW46W3Uuc3RhdHVzPT09ImJsb2NrZWQiP2UuanN4KEwse3RvbmU6Indhcm4iLGNoaWxkcmVuOmEoImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCIpfSk6ZS5qc3goTSx7c3RhdHVzOnUuc3RhdHVzfSksVih0LnNuYXBzaG90KT09PSJibG9ja2VkIiYmZS5qc3goInNwYW4iLHtjaGlsZHJlbjphKHUuYmxvY2tfcmVhc29uX2NvZGU/YHJlYXNvbi4ke3UuYmxvY2tfcmVhc29uX2NvZGV9YDoicmVhc29uLnVua25vd24iKX0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46YSgiaGVhbHRoLmRheV9kZXRhaWxfc3VtbWFyeSIse2NvdW50OnUucnVucz9mLmxlbmd0aDowfSl9KSxbLi4uZF0ubWFwKChbYyxtXSk9PmUuanN4cygic3BhbiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpbbSwiICIsY119LGMpKV19KSxmLmxlbmd0aD4wJiZlLmpzeHMoImRldGFpbHMiLHtjbGFzc05hbWU6ImhlYWx0aC1kYXktcnVucyIsY2hpbGRyZW46W2UuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46YSgiaGVhbHRoLmRheV9kZXRhaWxfcnVucyIpfSksZS5qc3goInVsIix7Y2hpbGRyZW46Zi5tYXAoKGMsbSk9Pntjb25zdCBfPUYoYy5zdGFydGVkX2F0LG8pLnRleHQsaT1GKGMuZmluaXNoZWRfYXQsbykudGV4dDtyZXR1cm4gZS5qc3hzKCJsaSIse2NoaWxkcmVuOltlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46W2EoImhlYWx0aC5kZXRhaWwuc3RhcnRlZCIpLCIgIixfXX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpbYSgiaGVhbHRoLmRldGFpbC5maW5pc2hlZCIpLCIgIixpXX0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46YShjLmFjdGl2aXR5PT09ImJsb2NrZWQiPyJoZWFsdGgucnVuX3N0YXRlLmJsb2NrZWQiOmBzdGF0ZS4ke2MuYWN0aXZpdHl8fCJ1bmtub3duIn1gKX0pLGMuZXJyb3JzX3ByZXNlbnQ9PT0hMCYmYy5hY3Rpdml0eSE9PSJibG9ja2VkIiYmZS5qc3goTCx7dG9uZToiZXJyb3IiLGNoaWxkcmVuOmEoImhlYWx0aC5ncmlkLmZhaWxlZCIpfSldfSxtKX0pfSldfSldfSl9cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtZGF5LWRldGFpbCIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtZGF5LWRldGFpbC1oZWFkIixjaGlsZHJlbjpbZS5qc3goInN0cm9uZyIse2NoaWxkcmVuOmEoImhlYWx0aC5kYXlfZGV0YWlsIil9KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOnIuYWNjb3VudChzLmFjY291bnQuYWNjb3VudF9hbGlhcyxzLmFjY291bnQucGxhdGZvcm0pfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46bn0pXX0pLGxdfSl9ZnVuY3Rpb24gcGUoe2FjY291bnRzOnMsZXBvY2g6dH0pe2NvbnN0IGE9TigpLHI9QigpLG89Yi51c2VNZW1vKCgpPT5oZShjZSgpLDE0KSxbdF0pLFtuLGxdPWIudXNlU3RhdGUoe30pLFt1LGZdPWIudXNlU3RhdGUoITEpLFtkLGNdPWIudXNlU3RhdGUobnVsbCk7aWYoYi51c2VFZmZlY3QoKCk9PntpZighcy5sZW5ndGgpcmV0dXJuO2xldCBpPSExO2NvbnN0IHA9e307Zm9yKGNvbnN0IHggb2Ygcylmb3IoY29uc3QgaCBvZiBvKXBbdyh4LGgpXT17cGhhc2U6ImxvYWRpbmcifTtyZXR1cm4gbChwKSxmKCExKSxjKG51bGwpLChhc3luYygpPT57bGV0IHg9ITE7Zm9yKGNvbnN0IGggb2Ygbyl7Y29uc3QgZz1hd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocy5tYXAoaj0+SChoLGoucGxhdGZvcm0sai5hY2NvdW50X2FsaWFzLCExKSkpO2lmKGkpcmV0dXJuO2NvbnN0IHk9e307Zy5mb3JFYWNoKChqLCQpPT57Y29uc3Qgaz13KHNbJF0saCk7ai5zdGF0dXM9PT0iZnVsZmlsbGVkIj95W2tdPXtwaGFzZToicmVhZHkiLHNuYXBzaG90OmoudmFsdWV9OmRlKGoucmVhc29uKT95W2tdPXtwaGFzZToiYmluZGluZy1jaGFuZ2VkIn06KHlba109e3BoYXNlOiJlcnJvciJ9LHg9ITApfSksbChqPT4oey4uLmosLi4ueX0pKX0haSYmeCYmZighMCl9KSgpLmNhdGNoKCgpPT57aXx8ZighMCl9KSwoKT0+e2k9ITB9fSxbcyxvLHRdKSwhcy5sZW5ndGgpcmV0dXJuIGUuanN4KE8se3RpdGxlOmEoInN0YXRlLm5vX2RhdGEiKX0pO2NvbnN0IG09T2JqZWN0LmtleXMoRCksXz1PYmplY3QudmFsdWVzKG4pLnNvbWUoaT0+aS5waGFzZT09PSJiaW5kaW5nLWNoYW5nZWQiKTtyZXR1cm4gZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToiaGVhbHRoLWdyaWQtaGludCIsY2hpbGRyZW46YSgiaGVhbHRoLmdyaWRfc2Nyb2xsX2hpbnQiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImhlYWx0aC1ncmlkIix0YWJJbmRleDowLHJvbGU6InJlZ2lvbiIsImFyaWEtbGFiZWwiOmEoImhlYWx0aC5ncmlkX3RpdGxlIiksY2hpbGRyZW46ZS5qc3hzKCJ0YWJsZSIse2NoaWxkcmVuOltlLmpzeCgiY2FwdGlvbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46YSgiaGVhbHRoLmdyaWRfdGl0bGUiKX0pLGUuanN4KCJ0aGVhZCIse2NoaWxkcmVuOmUuanN4cygidHIiLHtjaGlsZHJlbjpbZS5qc3goInRoIix7c2NvcGU6ImNvbCIsY2hpbGRyZW46YSgiaGVhbHRoLmNvbC5hY2NvdW50Iil9KSxvLm1hcChpPT5lLmpzeCgidGgiLHtzY29wZToiY29sIixjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46aS5zbGljZSg1KX0saSkpXX0pfSksZS5qc3goInRib2R5Iix7Y2hpbGRyZW46cy5tYXAoaT0+ZS5qc3hzKCJ0ciIse2NoaWxkcmVuOltlLmpzeHMoInRoIix7c2NvcGU6InJvdyIsY2hpbGRyZW46W3IuYWNjb3VudChpLmFjY291bnRfYWxpYXMsaS5wbGF0Zm9ybSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOlsiIMK3ICIsci5wbGF0Zm9ybShpLnBsYXRmb3JtKV19KV19KSxvLm1hcChwPT57Y29uc3QgeD13KGkscCksaD1uW3hdLGc9ZD8uYWNjb3VudC5wbGF0Zm9ybT09PWkucGxhdGZvcm0mJmQuYWNjb3VudC5hY2NvdW50X2FsaWFzPT09aS5hY2NvdW50X2FsaWFzJiZkLmRhdGU9PT1wO2lmKCFofHxoLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBlLmpzeCgidGQiLHtjaGlsZHJlbjplLmpzeChTLHtoZWlnaHQ6MjYsd2lkdGg6MjZ9KX0scCk7aWYoaC5waGFzZT09PSJiaW5kaW5nLWNoYW5nZWQifHxoLnBoYXNlPT09ImVycm9yIil7Y29uc3QgJD1oLnBoYXNlPT09ImVycm9yIj8icmVhZC1mYWlsZWQiOiJiaW5kaW5nLWNoYW5nZWQiLGs9YShEWyRdKTtyZXR1cm4gZS5qc3goInRkIix7Y2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBoZWFsdGgtY2VsbCAkeyR9JHtnPyIgc2VsZWN0ZWQiOiIifWAsdGl0bGU6aywiYXJpYS1sYWJlbCI6YCR7ci5hY2NvdW50KGkuYWNjb3VudF9hbGlhcyxpLnBsYXRmb3JtKX0gJHtwfTogJHtrfWAsb25DbGljazooKT0+Yyh7YWNjb3VudDppLGRhdGU6cH0pLGNoaWxkcmVuOkFbJF19KX0scCl9Y29uc3QgeT1WKGguc25hcHNob3QpLGo9YShEW3ldKTtyZXR1cm4gZS5qc3goInRkIix7Y2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBoZWFsdGgtY2VsbCAke3l9JHtnPyIgc2VsZWN0ZWQiOiIifWAsdGl0bGU6aiwiYXJpYS1sYWJlbCI6YCR7ci5hY2NvdW50KGkuYWNjb3VudF9hbGlhcyxpLnBsYXRmb3JtKX0gJHtwfTogJHtqfWAsImFyaWEtcHJlc3NlZCI6ZyxvbkNsaWNrOigpPT5jKHthY2NvdW50OmksZGF0ZTpwfSksY2hpbGRyZW46QVt5XX0pfSxwKX0pXX0sYCR7aS5wbGF0Zm9ybX0vJHtpLmFjY291bnRfYWxpYXN9YCkpfSldfSl9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtbGVnZW5kIixjaGlsZHJlbjptLm1hcChpPT5lLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6YGhlYWx0aC1jZWxsICR7aX1gLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOkFbaV19KSxhKERbaV0pXX0saSkpfSksdSYmZS5qc3goInAiLHtjbGFzc05hbWU6ImhlYWx0aC1ncmlkLW5vdGUiLGNoaWxkcmVuOmEoImhlYWx0aC5ncmlkX3JlYWRfZmFpbGVkX25vdGUiKX0pLF8mJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJoZWFsdGgtZ3JpZC1ub3RlIGhlYWx0aC1ncmlkLW5vdGUtaW5mbyIsY2hpbGRyZW46YSgiaGVhbHRoLmdyaWRfYmluZGluZ19jaGFuZ2VkX25vdGUiKX0pLGQmJmUuanN4KHVlLHtzZWxlY3Rpb246ZCxjZWxsOm5bdyhkLmFjY291bnQsZC5kYXRlKV19KV19KX1mdW5jdGlvbiBmZShzLHQpe3JldHVybiBzLmZpbHRlcihhPT57aWYodC5zb21lKG89Pm8ucGxhdGZvcm09PT1hLnBsYXRmb3JtJiZvLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpKXJldHVybiExO2NvbnN0IHI9dC5maWx0ZXIobz0+by5wbGF0Zm9ybT09PWEucGxhdGZvcm0mJm8uYWNjb3VudF9rZXk9PT1hLmFjY291bnRfYWxpYXMpO3JldHVybiByLmxlbmd0aD09PTEmJnJbMF0uc3RhdHVzPT09ImJvdW5kIiYmISFyWzBdLnRhcmdldF9rZXl9KX1jb25zdCBtZT1bIjMwIiwiMTQiLCI3IiwiZXhwaXJlZCJdO2Z1bmN0aW9uIEUoe3N0YXRlOnMscmVuZGVyOnR9KXtjb25zdCBhPU4oKTtyZXR1cm4gcy5waGFzZT09PSJsb2FkaW5nIj9lLmpzeChTLHtoZWlnaHQ6MjQsd2lkdGg6OTB9KTpzLnBoYXNlPT09ImVycm9yInx8cy5waGFzZT09PSJyZWFkeSImJnMuZGF0YSE9PW51bGwmJnR5cGVvZiBzLmRhdGE9PSJvYmplY3QiJiYic3RhdHVzImluIHMuZGF0YSYmcy5kYXRhLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCI/ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS1zdGF0ZSIsY2hpbGRyZW46YSgic3RhdGUucmVhZF9mYWlsZWQiKX0pOmUuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOnQoKX0pfWZ1bmN0aW9uIF9lKHtzdW1tYXJ5OnMsY3JlZGVudGlhbDp0fSl7Y29uc3QgYT1OKCkscj1zLnBoYXNlPT09InJlYWR5Ij9zLmRhdGE6bnVsbCxvPXI/ci5hY2NvdW50cy5maWx0ZXIoaD0+aC5zdGF0dXM9PT0ib2siKS5sZW5ndGg6MCxuPXI/bGUocik6e2NvdW50OjAsY29tcGxldGU6ITF9LGw9cj9yZShyLmFjY291bnRzKTpudWxsLHU9cj9pZShyKTohMSxmPWwmJihsLm5vdF9jb25uZWN0ZWQ+MHx8bC5ub19kYXRhPjApP2EoImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlIix7bm90X2Nvbm5lY3RlZDpsLm5vdF9jb25uZWN0ZWQsbm9fZGF0YTpsLm5vX2RhdGF9KTp2b2lkIDAsZD10LnBoYXNlPT09InJlYWR5Ij90LmRhdGE6bnVsbCxjPWQ/LnJlcXVpcmVzX2FjdGlvbj09PSEwfHxkJiZtZS5pbmNsdWRlcyhkLnBoYXNlKT8xOjAsbT0hZHx8ZC5waGFzZT09PSJ1bmtub3duIixfPVsic3VjY2VlZGVkIiwiZmFpbGVkIiwicmVhZF9mYWlsZWQiLCJpbmNvbXBsZXRlIl0saT1sP09iamVjdC5lbnRyaWVzKGwpOltdLHA9aS5maWx0ZXIoKFtoXSk9Pl8uaW5jbHVkZXMoaCkpLHg9aS5maWx0ZXIoKFtoLGddKT0+IV8uaW5jbHVkZXMoaCkmJmc+MCk7cmV0dXJuIGUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0YXQtc3RyaXAgaGVhbHRoLWtwaXMiLGNoaWxkcmVuOltlLmpzeChDLHt0aXRsZTphKCJoZWFsdGgua3BpLnRvZGF5X3J1bnMiKSx2YWx1ZTplLmpzeChFLHtzdGF0ZTpzLHJlbmRlcjooKT0+dSYmKHI/LmNvdW50cy5vYnNlcnZlZD8/MCk9PT0wPyLigJQiOmEoImhlYWx0aC5hY2NvdW50X2ZyYWN0aW9uIix7Y291bnQ6byx0b3RhbDpyPy5jb3VudHMuY29uZmlndXJlZD8/MH0pfSksc3ViOnU/ZS5qc3goInNwYW4iLHtjaGlsZHJlbjphKCJoZWFsdGgubm9uX3RyYWRpbmdfZGF5X3Nob3J0Iil9KTpmP2UuanN4KCJzcGFuIix7dGl0bGU6YSgiaGVhbHRoLmtwaS50b2RheV9ydW5zX25vdGVfdGl0bGUiKSxjaGlsZHJlbjpmfSk6dm9pZCAwLGZvb3RlcjpyPy5hc19vZj9lLmpzeChLLHt2YWx1ZTpyLmFzX29mfSk6dm9pZCAwfSksZS5qc3goQyx7dGl0bGU6YSgiaGVhbHRoLmtwaS5vYnNlcnZlZCIpLHZhbHVlOmUuanN4KEUse3N0YXRlOnMscmVuZGVyOigpPT5hKCJoZWFsdGguYWNjb3VudF9mcmFjdGlvbiIse2NvdW50OnI/LmNvdW50cy5vYnNlcnZlZD8/MCx0b3RhbDpyPy5jb3VudHMuY29uZmlndXJlZD8/MH0pfSl9KSxlLmpzeChDLHt0aXRsZTphKCJoZWFsdGgua3BpLnJlY2VudF9mYWlsdXJlIiksdmFsdWU6ZS5qc3goRSx7c3RhdGU6cyxyZW5kZXI6KCk9PnUmJm4uY291bnQ9PT0wPyLigJQiOm4uY29tcGxldGU/U3RyaW5nKG4uY291bnQpOm4uY291bnQ+MD9hKCJoZWFsdGguZmFpbHVyZV9hdF9sZWFzdCIse2NvdW50Om4uY291bnR9KTphKCJzdGF0ZS51bmtub3duIil9KSxzdWI6dT9hKCJoZWFsdGgubm9uX3RyYWRpbmdfZGF5X3Nob3J0Iik6dm9pZCAwfSksZS5qc3goQyx7dGl0bGU6YSgiaGVhbHRoLmtwaS5jcmVkZW50aWFscyIpLHZhbHVlOmUuanN4KEUse3N0YXRlOnQscmVuZGVyOigpPT5tP2EoInN0YXRlLnVua25vd24iKTpTdHJpbmcoYyl9KSxzdWI6YSgiaGVhbHRoLmtwaS5jcmVkZW50aWFsc191bml0Iil9KV19KSxsJiZlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaGVhbHRoLXN0YXRlLXN1bW1hcnkiLGNoaWxkcmVuOltlLmpzeCgidWwiLHtjbGFzc05hbWU6ImhlYWx0aC1zdGF0ZS1jb3VudHMiLCJhcmlhLWxhYmVsIjphKCJoZWFsdGguc3RhdGVfY291bnRzIiksY2hpbGRyZW46cC5tYXAoKFtoLGddKT0+ZS5qc3hzKCJsaSIse2NoaWxkcmVuOlthKFQoaCkpLCI6ICIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46Z30pXX0saCkpfSkseC5sZW5ndGg+MCYmZS5qc3goInVsIix7Y2xhc3NOYW1lOiJoZWFsdGgtc3RhdGUtY291bnRzIGhlYWx0aC1zdGF0ZS1zZWNvbmRhcnkiLGNoaWxkcmVuOngubWFwKChbaCxnXSk9PmUuanN4cygibGkiLHtjaGlsZHJlbjpbYShUKGgpKSwiOiAiLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJudW0iLGNoaWxkcmVuOmd9KV19LGgpKX0pXX0pLGUuanN4cygicCIse2NsYXNzTmFtZToibWV0cmljLW5vdGUiLHRpdGxlOmEoImhlYWx0aC5mYWlsdXJlX3dpbmRvd19kZXRhaWwiKSxjaGlsZHJlbjpbYSgiaGVhbHRoLmZhaWx1cmVfd2luZG93Iix7ZGF0ZTpyPy5kYXRlPz8i4oCUIn0pLHU/YCDCtyAke2EoImhlYWx0aC5ub25fdHJhZGluZ19kYXlfc2hvcnQiKX1gOiFuLmNvbXBsZXRlJiZgIMK3ICR7YSgiaGVhbHRoLmZhaWx1cmVfaW5jb21wbGV0ZSIpfWBdfSldfSl9ZnVuY3Rpb24geGUoe3N1bW1hcnk6c30pe2NvbnN0IHQ9TigpLGE9QigpO2lmKHMucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KFMse2hlaWdodDoxMjB9KTtpZihzLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3goUix7b25SZXRyeTpzLnJlbG9hZH0pO2NvbnN0IHI9W3tpZDoiYWNjb3VudCIsaGVhZGVyOnQoImhlYWx0aC5jb2wuYWNjb3VudCIpLGNlbGw6bj0+ZS5qc3goZS5GcmFnbWVudCx7Y2hpbGRyZW46YS5hY2NvdW50KG4uYWNjb3VudF9hbGlhcyxuLnBsYXRmb3JtKX0pLHNvcnRWYWx1ZTpuPT5gJHthLmFjY291bnQobi5hY2NvdW50X2FsaWFzLG4ucGxhdGZvcm0pfToke24uYWNjb3VudF9hbGlhc31gfSx7aWQ6InN0YXR1cyIsaGVhZGVyOnQoImhlYWx0aC5jb2wuc3RhdHVzIiksY2VsbDpuPT5uLnVuYXZhaWxhYmxlX3JlYXNvbj09PSJydW50aW1lX2RhaWx5X2JpbmRpbmdfY29uZmxpY3QiP2UuanN4KCJzcGFuIix7Y2hpbGRyZW46dCgicmVhc29uLnJ1bnRpbWVfZGFpbHlfYmluZGluZ19jb25mbGljdCIpfSk6ZS5qc3goTSx7c3RhdHVzOm4uZnJlc2huZXNzPz8obi5zdGFsZT09PSEwPyJzdGFsZSI6bi5mcmVzaD09PSEwPyJmcmVzaCI6bi5zdGF0dXMpLHJlYXNvbjpuLnVuYXZhaWxhYmxlX3JlYXNvbn0pLHNvcnRWYWx1ZTpuPT5uLnN0YXR1c30se2lkOiJhY3Rpdml0eSIsaGVhZGVyOnQoImhlYWx0aC5hY3Rpdml0eSIpLGNlbGw6bj0+e2NvbnN0IGw9b2Uobik7cmV0dXJuIGUuanN4KCJzcGFuIix7ImRhdGEtc3RhdGUiOmwsdGl0bGU6bi5ydW5fc3RhdHVzX3JlYXNvbj90KGByZWFzb24uJHtuLnJ1bl9zdGF0dXNfcmVhc29ufWApOnZvaWQgMCxjaGlsZHJlbjp0KFQobCkpfSl9fSx7aWQ6InJ1bl9jb3VudCIsaGVhZGVyOnQoImhlYWx0aC5ydW5fY291bnQiKSxudW1lcmljOiEwLGNlbGw6bj0+bi5ydW5fY291bnQ9PT1udWxsPyLigJQiOm4ucnVuX2NvdW50LHNvcnRWYWx1ZTpuPT5uLnJ1bl9jb3VudH0se2lkOiJhc19vZiIsaGVhZGVyOnQoImhlYWx0aC5jb2wuYXNfb2YiKSxjZWxsOm49PmUuanN4KEsse3ZhbHVlOm4uYXNfb2YscHJlZml4OiJjb21tb24uYXNfb2YifSksc29ydFZhbHVlOm49Pm4uYXNfb2Z9XSxvPVEocy5kYXRhLmFjY291bnRzLGEuY29uZmlnKS5zb3J0KChuLGwpPT5hLnBsYXRmb3JtKG4ucGxhdGZvcm0pLmxvY2FsZUNvbXBhcmUoYS5wbGF0Zm9ybShsLnBsYXRmb3JtKSkpO3JldHVybiBlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3MuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiJiZlLmpzeCgicCIse3JvbGU6ImFsZXJ0IixjaGlsZHJlbjp0KCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSksby5tYXAobj0+ZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJoZWFsdGgtcGxhdGZvcm0tZ3JvdXAiLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjaGlsZHJlbjphLnBsYXRmb3JtKG4ucGxhdGZvcm0pfSksZS5qc3goWCx7Y29sdW1uczpyLHJvd3M6bi5hY2NvdW50cy5mbGF0TWFwKGw9Pmwucm93cykscm93S2V5Omw9PmAke2wucGxhdGZvcm19LyR7bC5hY2NvdW50X2FsaWFzfWAsZGVmYXVsdFNvcnQ6e2NvbHVtbjoiYWNjb3VudCIsZGlyZWN0aW9uOiJhc2MifSxzY3JvbGxIaW50OiEwLGNhcHRpb246YCR7dCgiaGVhbHRoLmZyZXNobmVzc190aXRsZSIpfSDCtyAke2EucGxhdGZvcm0obi5wbGF0Zm9ybSl9YH0pXX0sbi5wbGF0Zm9ybSkpLCFvLmxlbmd0aCYmZS5qc3goTyx7dGl0bGU6dCgic3RhdGUubm9fZGF0YSIpfSldfSl9ZnVuY3Rpb24gZ2UoKXtjb25zdCBzPU4oKSx0PXYoKCk9PlooKSxbXSksYT12KCgpPT5KKCksW10pLHI9Yi51c2VNZW1vKCgpPT50LnBoYXNlPT09InJlYWR5IiYmYS5waGFzZT09PSJyZWFkeSI/ZmUodC5kYXRhLmFjY291bnRzLGEuZGF0YSk6W10sW3QucGhhc2UsdC5kYXRhLGEucGhhc2UsYS5kYXRhXSk7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46cygiaGVhbHRoLmdyaWRfdGl0bGUiKX0pLCh0LnBoYXNlPT09ImxvYWRpbmcifHxhLnBoYXNlPT09ImxvYWRpbmciKSYmZS5qc3goUyx7aGVpZ2h0OjE2MH0pLHQucGhhc2U9PT0iZXJyb3IiJiZlLmpzeChSLHtvblJldHJ5OnQucmVsb2FkfSksYS5waGFzZT09PSJlcnJvciImJmUuanN4KFIse29uUmV0cnk6YS5yZWxvYWR9KSxhLnBoYXNlPT09InJlYWR5IiYmYS5kYXRhLnNvbWUobz0+by5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKSYmZS5qc3goInAiLHtyb2xlOiJhbGVydCIsY2hpbGRyZW46cygic3RhdGUucmVhZF9mYWlsZWQiKX0pLHQucGhhc2U9PT0icmVhZHkiJiZhLnBoYXNlPT09InJlYWR5IiYmKHIubGVuZ3RoPjB8fCFhLmRhdGEuc29tZShvPT5vLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpKSYmZS5qc3gocGUse2FjY291bnRzOnIsZXBvY2g6MH0pXX0pfWZ1bmN0aW9uIERlKCl7Y29uc3Qgcz1OKCksW3QsYV09Yi51c2VTdGF0ZSgwKSx7Y29uZmlybVJlcXVlc3Q6cixjb25maXJtOm8scmVzb2x2ZUNvbmZpcm06bn09ZWUoKSxsPXYoKCk9PnEoKSxbdF0pLHU9digoKT0+RygpLFt0XSksZj12KCgpPT5VKCksW3RdKSxkPXYoYXN5bmMoKT0+eihhd2FpdCBXKDEpLCExKSxbdF0pLGM9digoKT0+WSgpLFt0XSksbT1kLnBoYXNlPT09ImxvYWRpbmciPyJsb2FkaW5nIjpkLnBoYXNlPT09ImVycm9yIj8iZXJyb3IiOmQuZGF0YS5zdGF0dXM9PT0ibm90X3JlYWR5Ij8ibm90X3JlYWR5IjoicmVhZHkiLF89ZC5waGFzZT09PSJyZWFkeSImJmQuZGF0YS5zdGF0dXM9PT0icmVhZHkiP2QuZGF0YS5kYXRhOm51bGwsaT1jLnBoYXNlPT09ImxvYWRpbmciPyJsb2FkaW5nIjpjLnBoYXNlPT09ImVycm9yIj8iZXJyb3IiOmMuZGF0YS5zdGF0dXM9PT0ibm90X3JlYWR5Ij8ibm90X3JlYWR5IjoicmVhZHkiLHA9Yy5waGFzZT09PSJyZWFkeSImJmMuZGF0YS5zdGF0dXM9PT0icmVhZHkiP2MuZGF0YS5kYXRhOm51bGw7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlIixjaGlsZHJlbjpbZS5qc3hzKCJoZWFkZXIiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyIixjaGlsZHJlbjpbZS5qc3goImgxIix7Y2xhc3NOYW1lOiJwYWdlLXRpdGxlIixjaGlsZHJlbjpzKCJoZWFsdGgudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9PmEoeD0+eCsxKSxjaGlsZHJlbjpzKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpzKCJoZWFsdGguZ2xvYmFsX3Njb3BlX25vdGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJoZWFsdGgtZGF5LWNvbnRleHQiLGNoaWxkcmVuOltsLnBoYXNlPT09ImxvYWRpbmciP2UuanN4KFMse2hlaWdodDoxOCx3aWR0aDoyNDB9KTpsLnBoYXNlPT09ImVycm9yIj9lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWJ1c2luZXNzLWRheSIsImRhdGEtc3RhdGUiOiJyZWFkX2ZhaWxlZCIsY2hpbGRyZW46cygic3RhdGUucmVhZF9mYWlsZWQiKX0pOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJoZWFsdGgtYnVzaW5lc3MtZGF5IixjaGlsZHJlbjpzKCJoZWFsdGguYnVzaW5lc3NfZGF0ZSIse3ZhbHVlOmAke2wuZGF0YS5kYXRlfSDCtyAke2wuZGF0YS50aW1lem9uZX1gfSl9KSxsLnBoYXNlPT09InJlYWR5IiYmbC5kYXRhLmFzX29mJiZlLmpzeChLLHt2YWx1ZTpsLmRhdGEuYXNfb2Z9KSxsLnBoYXNlPT09InJlYWR5IiYmbC5kYXRhLm1hcmtldF9zZXNzaW9uPT09IndlZWtlbmQiJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaGVhbHRoLWJ1c2luZXNzLWRheSIsImRhdGEtc3RhdGUiOiJub25fdHJhZGluZyIsY2hpbGRyZW46cygiaGVhbHRoLm5vbl90cmFkaW5nX2RheSIpfSldfSksZS5qc3goX2Use3N1bW1hcnk6bCxjcmVkZW50aWFsOnV9KSxlLmpzeChnZSx7fSx0KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnMoImhlYWx0aC5mcmVzaG5lc3NfdGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImhlYWx0aC1mcmVzaG5lc3MiLGNoaWxkcmVuOmUuanN4KHhlLHtzdW1tYXJ5Omx9KX0pXX0pLGUuanN4KG5lLHtyb3RhdGlvbjpmLHJlbWluZGVyOnUsY29uZmlybTpvLG9uUm90YXRlZDooKT0+e2YucmVsb2FkKCksdS5yZWxvYWQoKSxjLnJlbG9hZCgpfX0pLGUuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjYXJkIGhlYWx0aC1kaWdlc3QiLGNoaWxkcmVuOmUuanN4KHRlLHtkaWdlc3Q6XyxzdGF0dXM6bSxvblJldHJ5OmQucmVsb2FkfSl9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgaGVhbHRoLWFjdGl2aXR5IixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpzKCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiKX0pLGUuanN4KHNlLHtldmVudHM6cCxzdGF0dXM6aX0pXX0pLHImJmUuanN4KGFlLHtyZXF1ZXN0OnIsb25SZXNvbHZlOm59KV19KX1leHBvcnR7RGUgYXMgZGVmYXVsdH07Cg==" }, + "/v2/assets/KpiCard-D5ZY2g6m.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e2ogYXMgc31mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2Z1bmN0aW9uIHgoe3RpdGxlOnQsdmFsdWU6cCxzdWI6bixmb290ZXI6YSxkZXRhaWw6bCxvbkNsaWNrOmUsY2xhc3NOYW1lOml9KXtjb25zdCByPWQ9PnMuanN4cyhzLkZyYWdtZW50LHtjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS10aXRsZSIsY2hpbGRyZW46dH0pLHMuanN4KGQse2NsYXNzTmFtZToia3BpLXZhbHVlIG51bSIsY2hpbGRyZW46cH0pLG4mJnMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjpufSksYSYmcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS1mb290IixjaGlsZHJlbjphfSldfSksYz1pP2BrcGktY2FyZCAke2l9YDoia3BpLWNhcmQiO3JldHVybiBlP3MuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpjLG9uQ2xpY2s6ZSxjaGlsZHJlbjpyKCJzcGFuIil9KTpzLmpzeHMoImRpdiIse2NsYXNzTmFtZTpjLGNoaWxkcmVuOltyKCJkaXYiKSxsXX0pfWV4cG9ydHt4IGFzIEt9Owo=" }, "/v2/assets/OverviewPage-CDp0o79F.css": { contentType: "text/css; charset=utf-8", base64: "Lm92ZXJ2aWV3LXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMzAwcHgsMS4xZnIpIG1pbm1heCgwLDEuN2ZyKTthbGlnbi1pdGVtczpzdGFydDtnYXA6MTRweH0ub3ZlcnZpZXctcHJpbWFyeS1rcGksLm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlze21pbi13aWR0aDowfS5vdmVydmlldy1wcmltYXJ5LWtwaT4ua3BpLWNhcmR7aGVpZ2h0OmF1dG87Z2FwOjhweDtwYWRkaW5nOjIwcHggMjJweDtib3JkZXItdG9wOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpfS5vdmVydmlldy1wcmltYXJ5LWtwaSAua3BpLXRpdGxle2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwfS5vdmVydmlldy1wcmltYXJ5LWtwaSAua3BpLXZhbHVle2ZvbnQtc2l6ZTpjbGFtcCgyNnB4LDIuM3Z3LDMycHgpO2xpbmUtaGVpZ2h0OjEuMTU7bGV0dGVyLXNwYWNpbmc6LS4wM2VtfS5vdmVydmlldy1wcmltYXJ5LWtwaSAua3BpLXZhbHVlIC5rcGktZW1wdHktdmFsdWV7Zm9udC1zaXplOjI0cHh9Lm92ZXJ2aWV3LXByaW1hcnkta3BpIC5jdXJyZW5jeS10b3RhbHN7Z2FwOjE2cHggMjhweH0ub3ZlcnZpZXctcHJpbWFyeS1rcGkgLmN1cnJlbmN5LXRvdGFsLWhlYWQgLm51bSwub3ZlcnZpZXctcHJpbWFyeS1rcGkgLmN1cnJlbmN5LXRvdGFsPi5udW17Zm9udC1zaXplOjIzcHg7Zm9udC13ZWlnaHQ6NzAwfS5vdmVydmlldy1wcmltYXJ5LWtwaSAua3BpLXN1YntsaW5lLWhlaWdodDoxLjQ1fS5vdmVydmlldy1jdXJyZW5jeS10b3RhbHN7Z2FwOjEycHggMjRweH0ub3ZlcnZpZXctc2Vjb25kYXJ5LWtwaXN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKTthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6c3RhcnQ7Z2FwOjEycHh9Lm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIC5rcGktY2FyZHttaW4taGVpZ2h0Ojc4cHg7Z2FwOjNweDtwYWRkaW5nOjExcHggMTRweDtib3JkZXItcmFkaXVzOjEwcHh9Lm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIC5rcGktdGl0bGV7bWluLWhlaWdodDoyLjRlbTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjN9Lm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIC5rcGktdmFsdWV7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4yMn0ub3ZlcnZpZXctc2Vjb25kYXJ5LWtwaXMgLmtwaS12YWx1ZSAuZmxhdCwub3ZlcnZpZXctc2Vjb25kYXJ5LWtwaXMgLmtwaS1lbXB0eS12YWx1ZXtmb250LXNpemU6MThweDtmb250LXdlaWdodDo1MDB9Lm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIC5rcGktc3ViLC5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLWZvb3R7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS40fS5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLWZvb3R7Z2FwOjRweCA4cHg7bWFyZ2luLXRvcDphdXRvfS5vdmVydmlldy10cmVuZC1jYXJke21pbi1oZWlnaHQ6MjYwcHh9Lm92ZXJ2aWV3LXF1ZXVlLC5vdmVydmlldy1hY3Rpdml0eXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4fS5vdmVydmlldy1xdWV1ZS1sZWRle21hcmdpbjowO2NvbG9yOnZhcigtLWluayk7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwfS5vdmVydmlldy1xdWV1ZS1jb3VudHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo0cHggMTZweDttYXJnaW46MDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEyLjVweH0ub3ZlcnZpZXctcXVldWUtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9Lm92ZXJ2aWV3LXF1ZXVlLWl0ZW0rLm92ZXJ2aWV3LXF1ZXVlLWl0ZW17Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSl9Lm92ZXJ2aWV3LXF1ZXVlLW9wZW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweCAxNnB4O3dpZHRoOjEwMCU7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6MTBweCAycHg7dGV4dC1hbGlnbjpsZWZ0fS5vdmVydmlldy1xdWV1ZS1vcGVuOmhvdmVyIC5vdmVydmlldy1xdWV1ZS10aXRsZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5vdmVydmlldy1xdWV1ZS1tYWlue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7Z2FwOjRweH0ub3ZlcnZpZXctcXVldWUtdGl0bGV7Y29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjYwMH0ub3ZlcnZpZXctcXVldWUtbWV0YXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTBweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9Lm92ZXJ2aWV3LXF1ZXVlIC5idXR0b257YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5vdmVydmlldy1hY3Rpdml0eSAuY29ja3BpdC1jaGFuZ2UtbG9ne21hcmdpbjowfS5vdmVydmlldy1jYXJkLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEwcHggMTRweDttYXJnaW4tYm90dG9tOjEycHh9Lm92ZXJ2aWV3LWNhcmQtaGVhZCAuY2FyZC10aXRsZXttaW4td2lkdGg6MDttYXJnaW46MH0ub3ZlcnZpZXctbGluay1jYXJke21pbi13aWR0aDowfS5vdmVydmlldy10cmVuZC1vcGVue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7bWluLWhlaWdodDoyOHB4O3BhZGRpbmc6MnB4IDA7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjU1MDt3aGl0ZS1zcGFjZTpub3dyYXB9Lm92ZXJ2aWV3LXRyZW5kLW9wZW46aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ub3ZlcnZpZXctY3VycmVuY3ktc3dpdGNoe21hcmdpbjowIDAgMTBweH0ub3ZlcnZpZXctY3VycmVuY3ktc3dpdGNoIC5zZWdtZW50ZWR7bWF4LXdpZHRoOjEwMCV9Lm92ZXJ2aWV3LWxpbmstY2FyZCAuZW1wdHktc3RhdGV7bWluLWhlaWdodDoxNTBweDttYXJnaW4tdG9wOjA7cGFkZGluZzoyNHB4IDE2cHh9Lm92ZXJ2aWV3LXRyZW5kLW5vdGV7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4IDhweDttYXJnaW4tdG9wOjEwcHh9QG1lZGlhKG1heC13aWR0aDoxMTAwcHgpey5vdmVydmlldy1zdW1tYXJ5e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5vdmVydmlldy1wcmltYXJ5LWtwaT4ua3BpLWNhcmR7aGVpZ2h0OmF1dG87cGFkZGluZzoxNnB4IDE4cHh9Lm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlze2FsaWduLXNlbGY6c3RyZXRjaH19QG1lZGlhKG1heC13aWR0aDo3NjhweCl7Lm92ZXJ2aWV3LXN1bW1hcnksLm92ZXJ2aWV3LXNlY29uZGFyeS1rcGlze2dhcDoxMHB4fS5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLWNhcmR7bWluLWhlaWdodDowO3BhZGRpbmc6MTFweCAxMnB4fS5vdmVydmlldy1jYXJkLWhlYWR7ZmxleC13cmFwOndyYXB9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5vdmVydmlldy1wcmltYXJ5LWtwaT4ua3BpLWNhcmR7cGFkZGluZzoxNXB4IDE2cHh9Lm92ZXJ2aWV3LXByaW1hcnkta3BpIC5rcGktdmFsdWV7Zm9udC1zaXplOjI2cHh9Lm92ZXJ2aWV3LXByaW1hcnkta3BpIC5jdXJyZW5jeS10b3RhbC1oZWFkIC5udW0sLm92ZXJ2aWV3LXByaW1hcnkta3BpIC5jdXJyZW5jeS10b3RhbD4ubnVte2ZvbnQtc2l6ZToyMXB4fS5vdmVydmlldy1zZWNvbmRhcnkta3Bpc3tnYXA6OHB4fS5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLWNhcmR7cGFkZGluZzoxMHB4fS5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLXRpdGxle2ZvbnQtc2l6ZToxMXB4fS5vdmVydmlldy1zZWNvbmRhcnkta3BpcyAua3BpLXZhbHVle2ZvbnQtc2l6ZToxOHB4fS5vdmVydmlldy1jdXJyZW5jeS10b3RhbHN7Z2FwOjEwcHggMTZweH0ub3ZlcnZpZXctY2FyZC1oZWFkIC5idXR0b257d2hpdGUtc3BhY2U6bm9ybWFsfX0K" }, + "/v2/assets/OverviewPage-Yh2kxuaW.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgaixiIGFzIFksciBhcyBGLGQgYXMgUixqIGFzIGUsZSBhcyAkLEUgYXMgQSxCIGFzIHEsUyBhcyB5LGYgYXMgYixoIGFzIFEsaSBhcyBVLGsgYXMgeixNIGFzIEIsbSBhcyBILFAgYXMgRCxuIGFzIFcsbyBhcyBrLHAgYXMgRyxxIGFzIFYsdCBhcyBYLHYgYXMgWn1mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHtpIGFzIEp9ZnJvbSIuL2luYm94RmFpbHVyZS1CRHZBTWdnQy5qcyI7aW1wb3J0e3IgYXMgSyx1IGFzIGVlLGMgYXMgTyxMIGFzIGFlLEEgYXMgc2UsQyBhcyB0ZSxEIGFzIG5lLFUgYXMgcmV9ZnJvbSIuL2Nhc2hmbG93TWV0aG9kLURtVFQ2R1YtLmpzIjtpbXBvcnR7dSBhcyBnfWZyb20iLi9ob29rcy1CaTVvMlZURC5qcyI7aW1wb3J0e0EgYXMgb2UsRiBhcyBpZX1mcm9tIi4vY29ja3BpdC1CVmlRUWVmcy5qcyI7aW1wb3J0e0sgYXMgcH1mcm9tIi4vS3BpQ2FyZC1ENVpZMmc2bS5qcyI7aW1wb3J0e3cgYXMgY2V9ZnJvbSIuL3N0YXR1cy1CX1VYVW84Ry5qcyI7aW1wb3J0Ii4vdGlja3MtQmNXYXdNNGQuanMiO2ltcG9ydCIuL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiO2Z1bmN0aW9uIGxlKGEpe2lmKCFLKGEuc3RhdHVzKXx8YS51bmF2YWlsYWJsZV9yZWFzb249PT0ibWl4ZWRfY3VycmVuY3kifHwhYS5jdXJyZW5jeSlyZXR1cm4gbnVsbDtjb25zdCB0PWEucG9pbnRzLnJlZHVjZSgocyxuKT0+IXN8fG4uZGF0ZT49cy5kYXRlP246cyxudWxsKTtyZXR1cm4gdCYmTnVtYmVyLmlzRmluaXRlKHQudmFsdWUpP3QudmFsdWU6bnVsbH1jb25zdCBOPSJZVEQiO2Z1bmN0aW9uIHVlKCl7Y29uc3QgYT1uZXcgRGF0ZSx0PVN0cmluZyhhLmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwiMCIpLHM9U3RyaW5nKGEuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCIwIik7cmV0dXJuYCR7YS5nZXRGdWxsWWVhcigpfS0ke3R9LSR7c31gfWZ1bmN0aW9uIFQoYSl7Y29uc3QgdD11ZSgpO3JldHVybiBhLmZpbHRlcihzPT50eXBlb2Ygcy5kYXRlPT0ic3RyaW5nIiYmcy5kYXRlPD10JiYocy5hbW91bnQhPT1udWxsfHxzLnJldHVybl9wZXJjZW50IT09bnVsbCkpfWZ1bmN0aW9uIGRlKGEpe2lmKGEubW9udGg9PT1udWxsfHxUKGEuY2VsbHMpLmxlbmd0aD4wKXJldHVybiBudWxsO2NvbnN0IHQ9L14oXGR7NH0pLShcZHsyfSktXGR7Mn0kLy5leGVjKGEuYXNfb2Y/PyIiKTtpZighdClyZXR1cm4gbnVsbDtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzJdKTtpZihuPDF8fG4+MTIpcmV0dXJuIG51bGw7Y29uc3Qgcj1gJHthLnllYXJ9LSR7U3RyaW5nKGEubW9udGgpLnBhZFN0YXJ0KDIsIjAiKX1gO3JldHVybmAke3N9LSR7U3RyaW5nKG4pLnBhZFN0YXJ0KDIsIjAiKX1gPHI/e3llYXI6cyxtb250aDpufTpudWxsfWNvbnN0IFM9SztmdW5jdGlvbiBtKHtzdGF0dXM6YX0pe2NvbnN0IHQ9aigpO3JldHVybiBlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImZsYXQga3BpLWVtcHR5LXZhbHVlIiwiZGF0YS1zdGF0ZSI6YSxjaGlsZHJlbjpbIuKAlCIsZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOnQoYHN0YXRlLiR7YX1gKX0pXX0pfWZ1bmN0aW9uIEUoYSl7cmV0dXJuIGUuanN4KHAse3RpdGxlOmEsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSl9KX1mdW5jdGlvbiBDKGEsdCl7cmV0dXJuIHQ9PT0ibWl4ZWRfY3VycmVuY3kiP2EoIm92ZXJ2aWV3Lm1peGVkX2N1cnJlbmN5X3Nob3J0Iik6dD9hKGByZWFzb24uJHt0fWApOnZvaWQgMH1mdW5jdGlvbiB2ZSh7c3RhdGU6YX0pe2NvbnN0IHQ9aigpLHM9dCgib3ZlcnZpZXcudG90YWxfYXNzZXRzIik7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gRShzKTtpZihhLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChtLHtzdGF0dXM6InJlYWRfZmFpbGVkIn0pLHN1Yjp0KCJzdGF0ZS5yZWFkX2ZhaWxlZCIpfSk7Y29uc3Qgbj1hLmRhdGE7aWYobi5wZXJfY3VycmVuY3k/Lmxlbmd0aCYmbi51bmF2YWlsYWJsZV9yZWFzb24hPT0ic3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3godGUse3RvdGFsczpuLnBlcl9jdXJyZW5jeSxmcmVzaG5lc3M6bi5mcmVzaG5lc3Nfc3VtbWFyeX0pfSk7Y29uc3Qgcj1sZShuKSxvPXI9PT1udWxsJiZTKG4uc3RhdHVzKT8idW5hdmFpbGFibGUiOm4uc3RhdHVzLGk9ciE9PW51bGw/ZS5qc3goQix7dmFsdWU6cixjdXJyZW5jeTpuLmN1cnJlbmN5fSk6ZS5qc3gobSx7c3RhdHVzOm99KSxsPXI9PT1udWxsP0ModCxuLnVuYXZhaWxhYmxlX3JlYXNvbil8fHQoYHN0YXRlLiR7b31gKTp2b2lkIDAsdT1vIT09Im9rInx8bi5hc19vZj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W28hPT0ib2siJiZlLmpzeCh5LHtzdGF0dXM6byxyZWFzb246bi51bmF2YWlsYWJsZV9yZWFzb259KSxuLmFzX29mJiZlLmpzeChiLHt2YWx1ZTpuLmFzX29mfSldfSk6dm9pZCAwO3JldHVybiBlLmpzeChwLHt0aXRsZTpzLHZhbHVlOmksc3ViOmwsZm9vdGVyOnV9KX1mdW5jdGlvbiBwZShhLHQpe2NvbnN0IHM9TyhhKTtyZXR1cm4gdChzPT09ImRpZXR6X2FwcHJveCI/bmU6cz09PSJ1bmtub3duIj9yZToib3ZlcnZpZXcudHdyX3RhZyIpfWZ1bmN0aW9uIGZlKHtzdGF0ZTphfSl7Y29uc3QgdD1qKCkscz10KCJvdmVydmlldy5yYW5nZV9yZXR1cm4iLHtyYW5nZTp0KGBwZXJmLnJhbmdlLiR7Tn1gKX0pO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIEUocyk7aWYoYS5waGFzZT09PSJlcnJvciIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9KSxzdWI6dCgic3RhdGUucmVhZF9mYWlsZWQiKX0pO2NvbnN0IG49YS5kYXRhO2lmKCFTKG4uc3RhdHVzKSlyZXR1cm4gZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChtLHtzdGF0dXM6bi5zdGF0dXN9KSxzdWI6Qyh0LG4udW5hdmFpbGFibGVfcmVhc29uKXx8dChgc3RhdGUuJHtuLnN0YXR1c31gKSxmb290ZXI6bi5hc19vZj9lLmpzeChiLHt2YWx1ZTpuLmFzX29mfSk6dm9pZCAwfSk7Y29uc3Qgcj1uLnN0YXR1cyE9PSJvayIsbz1uLm1ldHJpY19yZWFzb25zPy50d3J8fG4udW5hdmFpbGFibGVfcmVhc29uLGk9cj9lLmpzeCh5LHtzdGF0dXM6bi5zdGF0dXMscmVhc29uOm4udW5hdmFpbGFibGVfcmVhc29ufSk6dm9pZCAwLGw9aXx8bi5hc19vZj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2ksbi5hc19vZiYmZS5qc3goYix7dmFsdWU6bi5hc19vZn0pXX0pOnZvaWQgMDtyZXR1cm4gbi50d3JfcmV0dXJuX3BlcmNlbnQ9PT1udWxsP2UuanN4KHAse3RpdGxlOnMsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOiJ1bmF2YWlsYWJsZSJ9KSxzdWI6Qyh0LG8pfHx0KCJzdGF0ZS51bmF2YWlsYWJsZSIpLGZvb3RlcjpsfSk6ZS5qc3gocCx7dGl0bGU6cyx2YWx1ZTplLmpzeChELHt2YWx1ZTpuLnR3cl9yZXR1cm5fcGVyY2VudH0pLHN1YjpwZShuLHQpLGZvb3RlcjpsfSl9ZnVuY3Rpb24gaGUoe3N0YXRlOmEsY2FycnlvdmVyOnQsY2FycnlvdmVyU3RhdGU6c30pe2NvbnN0IG49aigpLHI9bigib3ZlcnZpZXcubGFzdF9kYXlfY2hhbmdlIik7bGV0IG89YTtpZih0JiZzPy5waGFzZSE9PSJlcnJvciImJihvPXM/LnBoYXNlPT09InJlYWR5IiYmcy5kYXRhP3twaGFzZToicmVhZHkiLGRhdGE6cy5kYXRhLGVycm9yOm51bGx9OntwaGFzZToibG9hZGluZyIsZGF0YTpudWxsLGVycm9yOm51bGx9KSxvLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBFKHIpO2lmKG8ucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOm4oInN0YXRlLnJlYWRfZmFpbGVkIil9KTtjb25zdCBpPW8uZGF0YTtpZighUyhpLnN0YXR1cykpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3gobSx7c3RhdHVzOmkuc3RhdHVzfSksc3ViOkMobixpLnVuYXZhaWxhYmxlX3JlYXNvbil8fG4oYHN0YXRlLiR7aS5zdGF0dXN9YCksZm9vdGVyOmkuYXNfb2Y/ZS5qc3goYix7dmFsdWU6aS5hc19vZn0pOnZvaWQgMH0pO2NvbnN0IHU9aS5zdGF0dXMhPT0ib2siP2UuanN4KHkse3N0YXR1czppLnN0YXR1cyxyZWFzb246aS51bmF2YWlsYWJsZV9yZWFzb259KTp2b2lkIDAsaD11fHxpLmFzX29mP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbdSxpLmFzX29mJiZlLmpzeChiLHt2YWx1ZTppLmFzX29mfSldfSk6dm9pZCAwLGQ9VChpLmNlbGxzKS5zb3J0KChjLHYpPT5jLmRhdGU8di5kYXRlPzE6LTEpWzBdO2lmKCFkKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IixjaGlsZHJlbjoi4oCUIn0pLHN1YjpDKG4saS51bmF2YWlsYWJsZV9yZWFzb24pfHxuKCJzdGF0ZS5ub19kYXRhIiksZm9vdGVyOmh9KTtjb25zdCBmPWQuYW1vdW50IT09bnVsbD9lLmpzeChCLHt2YWx1ZTpkLmFtb3VudCxjdXJyZW5jeTpkLmN1cnJlbmN5LHNpZ25lZDohMH0pOmUuanN4KEQse3ZhbHVlOmQucmV0dXJuX3BlcmNlbnR9KSx4PWQudmFsdWVfa2luZD09PSJwbmwiP24oInBlcmYudmFsdWVfa2luZF9wbmwiKTpuKCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIik7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZixzdWI6eCxmb290ZXI6aH0pfWZ1bmN0aW9uIF9lKHtzdGF0ZTphfSl7Y29uc3QgdD1qKCkscz0kKCksbj0oKT0+cyh7cGFnZToiZGVjaXNpb25zIixkZWNpc2lvbjpudWxsfSkscj10KCJvdmVydmlldy50b2RvcyIpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSksb25DbGljazpufSk7aWYoYS5waGFzZT09PSJlcnJvciJ8fGEuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOnQoYGluYm94LmVycm9yLiR7SihhLmRhdGEsYS5lcnJvcil9LnRpdGxlYCksb25DbGljazpufSk7Y29uc3Qgbz1hLmRhdGEsaT1vLml0ZW1zLmZpbHRlcih1PT51LnN0YXR1cz09PSJwZW5kaW5nIiksbD1pLmZpbHRlcih1PT51LnByaW9yaXR5PT09ImhpZ2giKS5sZW5ndGg7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6aS5sZW5ndGgsc3ViOnQoIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCIse2NvdW50Omx9KSxmb290ZXI6by5zdGF0dXM9PT0icGFydGlhbCI/ZS5qc3goeSx7c3RhdHVzOiJwYXJ0aWFsIn0pOnZvaWQgMCxvbkNsaWNrOm59KX1mdW5jdGlvbiB4ZSh7c3RhdGU6YX0pe2NvbnN0IHQ9aigpLHM9JCgpLG49KCk9PnMoe3BhZ2U6ImhlYWx0aCJ9KSxyPXQoIm92ZXJ2aWV3LnJ1bnNfY2FyZF90aXRsZSIpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6ZS5qc3goayx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSksb25DbGljazpufSk7aWYoYS5waGFzZT09PSJlcnJvciJ8fGEuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKXJldHVybiBlLmpzeChwLHt0aXRsZTpyLHZhbHVlOmUuanN4KG0se3N0YXR1czoicmVhZF9mYWlsZWQifSksc3ViOnQoInN0YXRlLnJlYWRfZmFpbGVkIiksb25DbGljazpufSk7Y29uc3Qgbz1hLmRhdGEse2NvbmZpZ3VyZWQ6aSxvYnNlcnZlZDpsfT1vLmNvdW50cyx1PU51bWJlci5pc1NhZmVJbnRlZ2VyKGkpJiZpPjAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGwpJiZsPj0wLGg9dT9gJHtsfS8ke2l9YDplLmpzeChtLHtzdGF0dXM6InVua25vd24ifSksZD1uZXcgU2V0KChvLmFjY291bnRzPz9bXSkubWFwKF89Pl8udW5hdmFpbGFibGVfcmVhc29uKS5maWx0ZXIoXz0+dHlwZW9mIF89PSJzdHJpbmciJiZfIT09IiIpKSxmPWQuaGFzKCJydW50aW1lX2RhaWx5X2JpbmRpbmdfY29uZmxpY3QiKT8icnVudGltZV9kYWlseV9iaW5kaW5nX2NvbmZsaWN0IjpkLmhhcygicnVudGltZV9kYWlseV9ub3RfY29ubmVjdGVkIik/InJ1bnRpbWVfZGFpbHlfbm90X2Nvbm5lY3RlZCI6dm9pZCAwLHg9Y2UobyksYz1vLm1hcmtldF9zZXNzaW9uPT09InRyYWRpbmdfZGF5Ij8ib3ZlcnZpZXcuYnVzaW5lc3NfZGF0ZSI6Im92ZXJ2aWV3LmNhbGVuZGFyX2RhdGUiLHY9dT9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3QoYyx7dmFsdWU6by5kYXRlfSksIXgmJmw9PT0wJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46WyIgwrcgIix0KCJvdmVydmlldy5ub19yZWNvcmRzX2Zvcl9kYXkiKV19KV19KTp0KCJzdGF0ZS5ub19kYXRhIik7cmV0dXJuIGUuanN4KHAse3RpdGxlOnIsdmFsdWU6aCxzdWI6dixmb290ZXI6eD9lLmpzeChxLHt0b25lOiJ1bmtub3duIixjaGlsZHJlbjp0KCJvdmVydmlldy5ub25fdHJhZGluZ19kYXlfc2hvcnQiKX0pOm8uc3RhdHVzPT09InBhcnRpYWwiP2UuanN4KHkse3N0YXR1czoicGFydGlhbCIscmVhc29uOmZ9KTp2b2lkIDAsb25DbGljazpufSl9ZnVuY3Rpb24gbWUoYSl7aWYoIWEpcmV0dXJuW107Y29uc3QgdD1hLmN1cnZlX3N0YXR1cz8/YS5zdGF0dXMscz1hLmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbj09PXZvaWQgMD9hLnVuYXZhaWxhYmxlX3JlYXNvbjphLmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbjtyZXR1cm4oYS5oaXN0b3J5X3Blcl9jdXJyZW5jeT8ubGVuZ3RoP2EuaGlzdG9yeV9wZXJfY3VycmVuY3kubWFwKHI9Pih7Y3VycmVuY3k6ci5jdXJyZW5jeSxzdGF0dXM6ci5zdGF0dXMscmVhc29uOnIudW5hdmFpbGFibGVfcmVhc29uLGFzT2Y6ci5hc19vZixjb3ZlcmFnZTpyLmNvdmVyYWdlLHBvaW50czpyLnBvaW50c30pKTpbe2N1cnJlbmN5OmEuY3VycmVuY3k/PyIiLHN0YXR1czp0LHJlYXNvbjpzLGFzT2Y6YS5hc19vZixjb3ZlcmFnZTphLmN1cnZlX2NvdmVyYWdlLHBvaW50czphLnBvaW50c31dKS5mbGF0TWFwKHI9Pntjb25zdCBvPVtdO2xldCBpPSExO2Zvcihjb25zdCBsIG9mIHIucG9pbnRzKXtpZighTnVtYmVyLmlzRmluaXRlKGwudmFsdWUpKXtpPSEwO2NvbnRpbnVlfW8ucHVzaChpJiYhbC5icmVha0JlZm9yZT97Li4ubCxicmVha0JlZm9yZTohMH06bCksaT0hMX1yZXR1cm4hUyhyLnN0YXR1cyl8fCFyLmN1cnJlbmN5fHxvLmxlbmd0aD09PTA/W106W3tjdXJyZW5jeTpyLmN1cnJlbmN5LHN0YXR1czpyLnN0YXR1cyxyZWFzb246ci5yZWFzb24sYXNPZjpyLmFzT2YscG9pbnRzOm8scGFydGlhbDpvLnNvbWUobD0+bC5wYXJ0aWFsKXx8ISFyLmNvdmVyYWdlPy50cnVuY2F0ZWR8fCEhci5jb3ZlcmFnZT8ucmVhZF9mYWlsdXJlcz8ubGVuZ3RofV19KX1mdW5jdGlvbiBqZShhLHQpe3JldHVybiBhLmxlbmd0aD9hLmZpbmQocz0+cy5jdXJyZW5jeT09PXQpPz9hWzBdOm51bGx9ZnVuY3Rpb24gZ2Uoe3JldHVybnM6YSxhc3NldHM6dH0pe2NvbnN0IHM9aigpLG49JCgpLHI9ZWUoKSxbbyxpXT1GLnVzZVN0YXRlKG51bGwpLGw9KCk9Pm4oe3BhZ2U6InBlcmZvcm1hbmNlIn0pO2xldCB1LGg9cygib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIiksZD1udWxsLGY9bnVsbDtjb25zdCB4PWEucGhhc2U9PT0icmVhZHkiJiZTKGEuZGF0YS5zdGF0dXMpJiZhLmRhdGEucG9pbnRzLmxlbmd0aD4wO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpdT1lLmpzeChrLHtoZWlnaHQ6MjIwfSk7ZWxzZSBpZihhLnBoYXNlPT09ImVycm9yIil1PWUuanN4KEEse29uUmV0cnk6YS5yZWxvYWR9KTtlbHNlIGlmKHgpe2NvbnN0IGM9YS5kYXRhO2MucmV0dXJuX2tpbmQ9PT0idHdyIiYmTyhjKSE9PSJ1bmtub3duInx8KGg9cygicGVyZi5hc3NldF9jaGFuZ2VfdGl0bGUiKSk7Y29uc3QgXz1be2lkOiJtYWluIixsYWJlbDpyLGNvbG9yOiJ2YXIoLS1hY2NlbnQpIixwb2ludHM6Yy5wb2ludHMscHJpbWFyeTohMH1dO3U9ZS5qc3goYWUse3NlcmllczpfLG1vZGU6ImN1bXVsYXRpdmUiLGFyaWFMYWJlbDpoLGFsaWduU3RhcnQ6Yy5hbGlnbmVkX3N0YXJ0fSksKGMuc3RhdHVzPT09InBhcnRpYWwifHxjLnN0YXR1cz09PSJzdGFsZSIpJiYoZj1lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIG92ZXJ2aWV3LXRyZW5kLW5vdGUiLGNoaWxkcmVuOltjLnN0YXR1cz09PSJwYXJ0aWFsIj9lLmpzeChxLHt0b25lOiJ3YXJuIixjaGlsZHJlbjpzKCJzdGF0ZS5wYXJ0aWFsX3ZhbHVhdGlvbiIpfSk6ZS5qc3goeSx7c3RhdHVzOmMuc3RhdHVzfSksYy5hc19vZiYmZS5qc3goYix7dmFsdWU6Yy5hc19vZn0pXX0pKX1lbHNle2NvbnN0IGM9bWUodC5waGFzZT09PSJyZWFkeSI/dC5kYXRhOm51bGwpLHY9amUoYyxvKTt0LnBoYXNlPT09ImxvYWRpbmciP3U9ZS5qc3goayx7aGVpZ2h0OjIyMH0pOnQucGhhc2U9PT0iZXJyb3IiP3U9ZS5qc3goQSx7b25SZXRyeTp0LnJlbG9hZH0pOnY/KGg9cygicGVyZi5hc3NldF9iYWxhbmNlX3RpdGxlIiksYy5sZW5ndGg+MSYmKGQ9ZS5qc3goImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6cygicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpjLm1hcChfPT5lLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke18uY3VycmVuY3k9PT12LmN1cnJlbmN5PyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOl8uY3VycmVuY3k9PT12LmN1cnJlbmN5LG9uQ2xpY2s6KCk9PmkoXy5jdXJyZW5jeSksY2hpbGRyZW46Xy5jdXJyZW5jeX0sXy5jdXJyZW5jeSkpfSl9KSksdT1lLmpzeChzZSx7cG9pbnRzOnYucG9pbnRzLGN1cnJlbmN5OnYuY3VycmVuY3ksYXJpYUxhYmVsOmh9KSwodi5zdGF0dXMhPT0ib2sifHx2LnBhcnRpYWwpJiYoZj1lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIG92ZXJ2aWV3LXRyZW5kLW5vdGUiLGNoaWxkcmVuOltlLmpzeCh5LHtzdGF0dXM6di5zdGF0dXM9PT0ib2siPyJwYXJ0aWFsIjp2LnN0YXR1cyxyZWFzb246di5yZWFzb259KSx2LmFzT2YmJmUuanN4KGIse3ZhbHVlOnYuYXNPZn0pXX0pKSk6dT1lLmpzeChRLHt0aXRsZTpzKGBzdGF0ZS4ke1MoYS5kYXRhLnN0YXR1cyk/Im5vX2RhdGEiOmEuZGF0YS5zdGF0dXN9YCl9KX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctbGluay1jYXJkIG92ZXJ2aWV3LXRyZW5kLWNhcmQiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY2FyZC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpofSksZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToib3ZlcnZpZXctdHJlbmQtb3BlbiIsb25DbGljazpsLGNoaWxkcmVuOltzKCJvdmVydmlldy5vcGVuX3BlcmZvcm1hbmNlIiksIiAiLGUuanN4KCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46IuKGkiJ9KV19KV19KSxkLHUsZl19KX1jb25zdCBMPXtoaWdoOjAsbWVkaXVtOjEsbm9ybWFsOjJ9O2Z1bmN0aW9uIHllKGEsdCl7Y29uc3Qgcz0rKHQuY2F0ZWdvcnk9PT0icmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiKS0rKGEuY2F0ZWdvcnk9PT0icmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiKTtyZXR1cm4gcyE9PTA/czooTFthLnByaW9yaXR5XT8/MyktKExbdC5wcmlvcml0eV0/PzMpfHwodC5jcmVhdGVkX2F0fHwiIikubG9jYWxlQ29tcGFyZShhLmNyZWF0ZWRfYXR8fCIiKX1mdW5jdGlvbiBiZSh7aXRlbTphLG9uT3Blbjp0fSl7Y29uc3Qgcz1qKCksbj1YKCkscj1zKGEudGl0bGVfa2V5KSxvPWEuZXhwaXJlc19hdD9aKGEuZXhwaXJlc19hdCxuKTpudWxsO3JldHVybiBlLmpzeCgibGkiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLWl0ZW0iLGNoaWxkcmVuOmUuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLW9wZW4iLG9uQ2xpY2s6dCxjaGlsZHJlbjpbZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1tYWluIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXF1ZXVlLXRpdGxlIixjaGlsZHJlbjpyPT09YS50aXRsZV9rZXk/YS5zaG9ydF9pZDpyfSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1tZXRhIixjaGlsZHJlbjpbZS5qc3gocSx7dG9uZTphLmNhdGVnb3J5PT09InJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Ij8id2FybiI6ImFjY2VudCIsY2hpbGRyZW46cyhgY2F0ZWdvcnkuJHthLmNhdGVnb3J5fWApfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjphLmFjY291bnRfYWxpYXN8fHMoImRlY2lzaW9ucy5hY2NvdW50X3VuYm91bmQiKX0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46cygiZGVjaXNpb25zLnJlZiIse2lkOmEuc2hvcnRfaWR9KX0pLG8mJmUuanN4KCJzcGFuIix7Y2hpbGRyZW46cygib3ZlcnZpZXcuZXhwaXJlc19wbGFpbiIse3ZhbHVlOm8uem9uZT9gJHtvLnRleHR9ICgke28uem9uZX0pYDpvLnRleHR9KX0pXX0pXX0pLGUuanN4KGllLHtzdGF0ZTphLmV2aWRlbmNlX2ZyZXNobmVzcz8uc3RhdHVzLG9ic2VydmVkQXQ6YS5ldmlkZW5jZV9mcmVzaG5lc3M/LmFzX29mfSldfSl9KX1mdW5jdGlvbiB3ZSh7aW5ib3g6YSxvblJldHJ5OnR9KXtjb25zdCBzPWooKSxuPSQoKSxyPSgpPT5uKHtwYWdlOiJkZWNpc2lvbnMiLGRlY2lzaW9uOm51bGx9KSxvPWw9Pm4oe3BhZ2U6ImRlY2lzaW9ucyIsZGVjaXNpb246bH0pO2xldCBpO2lmKGEucGhhc2U9PT0ibG9hZGluZyIpaT1lLmpzeChrLHtoZWlnaHQ6ODh9KTtlbHNlIGlmKGEucGhhc2U9PT0iZXJyb3IifHxhLnBoYXNlPT09InJlYWR5IiYmYS5kYXRhLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCImJmEuZGF0YS5pdGVtcy5sZW5ndGg9PT0wKWk9ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOnMoIm92ZXJ2aWV3LnF1ZXVlX3JlYWRfZmFpbGVkIil9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazp0LGNoaWxkcmVuOnMoImNvbW1vbi5yZXRyeSIpfSldfSk7ZWxzZXtjb25zdCBsPWEuZGF0YSx1PWwuc3RhdHVzPT09Im9rIiYmbC5zb3VyY2VzLmV2ZXJ5KGM9PmMuc3RhdHVzPT09Im9rIiksaD1EYXRlLm5vdygpLGQ9bC5pdGVtcy5maWx0ZXIoYz0+Yy5zdGF0dXM9PT0icGVuZGluZyImJiEoYy5leHBpcmVzX2F0JiZEYXRlLnBhcnNlKGMuZXhwaXJlc19hdCk8aCkpLnNvcnQoeWUpLGY9ZC5maWx0ZXIoYz0+IVsiZnJlc2giLCJyZWFkeSJdLmluY2x1ZGVzKGMuZXZpZGVuY2VfZnJlc2huZXNzPy5zdGF0dXM/PyIiKSkubGVuZ3RoLHg9ZC5maWx0ZXIoYz0+Yy5wcmlvcml0eT09PSJoaWdoIikubGVuZ3RoO2k9ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToib3ZlcnZpZXctcXVldWUtbGVkZSIsY2hpbGRyZW46dT9kLmxlbmd0aD09PTA/cygib3ZlcnZpZXcucXVldWVfY29tcGxldGVfZW1wdHkiKTpzKCJvdmVydmlldy5uZWVkc19yZXZpZXciLHtjb3VudDpkLmxlbmd0aH0pOnMoIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiKX0pLHUmJmQubGVuZ3RoPjAmJmUuanN4cygicCIse2NsYXNzTmFtZToib3ZlcnZpZXctcXVldWUtY291bnRzIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJvdmVydmlldy5xdWV1ZV9ibG9ja2VkIix7Y291bnQ6Zn0pfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJvdmVydmlldy5xdWV1ZV9oaWdoX3ByaW9yaXR5Iix7Y291bnQ6eH0pfSldfSksZC5sZW5ndGg+MCYmZS5qc3goInVsIix7Y2xhc3NOYW1lOiJvdmVydmlldy1xdWV1ZS1saXN0IixjaGlsZHJlbjpkLnNsaWNlKDAsMykubWFwKGM9PmUuanN4KGJlLHtpdGVtOmMsb25PcGVuOigpPT5vKGMuaWQpfSxjLmlkKSl9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpyLGNoaWxkcmVuOnMoIm92ZXJ2aWV3LnF1ZXVlX21vcmUiKX0pXX0pfXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctcXVldWUiLCJhcmlhLWxhYmVsIjpzKCJvdmVydmlldy5kZWNpc2lvbl9xdWV1ZSIpLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJvdmVydmlldy1jYXJkLWhlYWQiLGNoaWxkcmVuOmUuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46cygib3ZlcnZpZXcuZGVjaXNpb25fcXVldWUiKX0pfSksaV19KX1mdW5jdGlvbiBMZSgpe2NvbnN0IGE9aigpLHtzY29wZTp0fT1ZKCksW3Msbl09Ri51c2VTdGF0ZSgwKSxyPSgpPT5uKEk9PkkrMSksbz1uZXcgRGF0ZSxpPW8uZ2V0RnVsbFllYXIoKSxsPW8uZ2V0TW9udGgoKSsxLHU9ZygoKT0+SCh0LE4pLFt0LHNdKSxoPWcoKCk9PlcodCxOKSxbdCxzXSksZD1nKCgpPT5SKHQsTixpLGwpLFt0LHNdKSxmPWQucGhhc2U9PT0icmVhZHkiP2RlKGQuZGF0YSk6bnVsbCx4PWcoKCk9PmY/Uih0LE4sZi55ZWFyLGYubW9udGgpOlByb21pc2UucmVzb2x2ZShudWxsKSxbdCxzLGY/YCR7Zi55ZWFyfS0ke2YubW9udGh9YDoiIl0pLGM9ZygoKT0+eihzPjApLFtzXSksdj1nKCgpPT5HKCksW3NdKSxfPWcoKCk9PlYodCxOKSxbdCxzXSksdz1nKCgpPT5VKCksW3NdKSxQPXcucGhhc2U9PT0ibG9hZGluZyI/ImxvYWRpbmciOncucGhhc2U9PT0iZXJyb3IiPyJlcnJvciI6dy5kYXRhLnN0YXR1cz09PSJub3RfcmVhZHkiPyJub3RfcmVhZHkiOiJyZWFkeSIsTT13LnBoYXNlPT09InJlYWR5IiYmdy5kYXRhLnN0YXR1cz09PSJyZWFkeSI/dy5kYXRhLmRhdGE6bnVsbDtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltlLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOmEoIm5hdi5vdmVydmlldyIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXItYWN0aW9ucyIsY2hpbGRyZW46ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSIsb25DbGljazpyLGNoaWxkcmVuOmEoImNvbW1vbi5yZWZyZXNoIil9KX0pXX0pLGUuanN4KHdlLHtpbmJveDpjLG9uUmV0cnk6Yy5yZWxvYWR9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXN1bW1hcnkiLCJhcmlhLWxhYmVsIjphKCJvdmVydmlldy5hc3NldF9zdW1tYXJ5IiksY2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXByaW1hcnkta3BpIixjaGlsZHJlbjplLmpzeCh2ZSx7c3RhdGU6dX0pfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im92ZXJ2aWV3LXNlY29uZGFyeS1rcGlzIixjaGlsZHJlbjpbZS5qc3goZmUse3N0YXRlOmh9KSxlLmpzeChoZSx7c3RhdGU6ZCxjYXJyeW92ZXI6ZixjYXJyeW92ZXJTdGF0ZTp4fSksZS5qc3goX2Use3N0YXRlOmN9KSxlLmpzeCh4ZSx7c3RhdGU6dn0pXX0pXX0pLGUuanN4KGdlLHtyZXR1cm5zOl8sYXNzZXRzOnV9KSxlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNhcmQgb3ZlcnZpZXctYWN0aXZpdHkiLCJhcmlhLWxhYmVsIjphKCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiKSxjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToib3ZlcnZpZXctY2FyZC1oZWFkIixjaGlsZHJlbjplLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOmEoIm92ZXJ2aWV3LmxhdGVzdF9hY3Rpdml0eSIpfSl9KSxlLmpzeChvZSx7ZXZlbnRzOk0sc3RhdHVzOlB9KV19KV19KX1leHBvcnR7Z2UgYXMgVHJlbmRDYXJkLG1lIGFzIGFzc2V0QmFsYW5jZUhpc3RvcmllcyxkZSBhcyBjYXJyeW92ZXJNb250aEZvckxhdGVzdERheSxMZSBhcyBkZWZhdWx0LGplIGFzIHNlbGVjdEFzc2V0SGlzdG9yeX07Cg==" }, "/v2/assets/PerformancePage-BMNSw_qo.css": { contentType: "text/css; charset=utf-8", base64: "LnBlcmYta3BpLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKTthbGlnbi1pdGVtczpzdHJldGNoO2dhcDoxMnB4fS5wZXJmLWtwaS1ncmlkPi5rcGktY2FyZHtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0Ojk2cHg7cGFkZGluZzoxNHB4IDE2cHg7Z2FwOjRweDtib3JkZXItcmFkaXVzOjEwcHh9LnBlcmYta3BpLWdyaWQgLmtwaS10aXRsZXttaW4taGVpZ2h0OjIuN2VtO2xpbmUtaGVpZ2h0OjEuMzV9LnBlcmYta3BpLWdyaWQgLmtwaS12YWx1ZXtmb250LXNpemU6MjNweDtsaW5lLWhlaWdodDoxLjE4fS5wZXJmLWtwaS1ncmlkIC5rcGktZW1wdHktdmFsdWV7Zm9udC1zaXplOjIwcHh9LnBlcmYta3BpLWdyaWQgLmtwaS1yZWFzb257Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDU7Y29sb3I6dmFyKC0tbXV0ZWQpfS5wZXJmLXN1bW1hcnktbm90ZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTBweDttYXJnaW46MDttYXgtd2lkdGg6ODhjaDtsaW5lLWhlaWdodDoxLjU1fS5oaXN0b3J5LW5vdGljZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTBweDttYXJnaW4tdG9wOjhweH0ucGVyZi1rcGktZ3JpZCAua3BpLXN1YiwucGVyZi1rcGktZ3JpZCAua3BpLXJlYXNvbiwucGVyZi1zdW1tYXJ5LW5vdGV7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ucGVyZi1jYXJkLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjhweCAxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206MTRweH0ucGVyZi1jYXJkLWhlYWQgLmNhcmQtdGl0bGV7bWFyZ2luOjA7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS4zNX0ucGVyZi1oZWFkLW1ldGF7bWFyZ2luLWxlZnQ6YXV0bzthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOndyYXB9LnBlcmYta2luZCwucGVyZi1jdXJyZW5jeXtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCl9LmtwaS1mb290IC5rcGktcmVhc29ue2ZsZXgtYmFzaXM6MTAwJTtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCl9LnBlcmYtbW9kZS10b2dnbGV7bWFyZ2luLWxlZnQ6YXV0b30ucGVyZi1iZW5jaG1hcmtzLW9mZnttYXJnaW4tdG9wOjZweH0ucGVyZi1iZW5jaG1hcmtzLW9mZj5zdW1tYXJ5e3dpZHRoOmZpdC1jb250ZW50O21pbi1oZWlnaHQ6MjhweDtwYWRkaW5nOjRweCAwO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtjdXJzb3I6cG9pbnRlcn0ucGVyZi1iZW5jaG1hcmtzLW9mZj5zdW1tYXJ5OmhvdmVye2NvbG9yOnZhcigtLWluayl9LnBlcmYtYmVuY2htYXJrcy1vZmYtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjRweCAxNnB4O21hcmdpbi10b3A6MnB4fS5wZXJmLWJlbmNobWFyay1vZmZ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2N1cnNvcjpoZWxwfS5wZXJmLWN1cnJlbmN5LXN3aXRjaHttYXJnaW46MCAwIDEwcHh9LnBlcmYtY3VycmVuY3ktc3dpdGNoIC5zZWdtZW50ZWR7bWF4LXdpZHRoOjEwMCV9LnBlcmYtZXhjZXNzLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS5wZXJmLXRhYi1ib2R5e21hcmdpbi10b3A6MTRweH0udHJhZGUtc3VtbWFyeXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTJweDttYXJnaW46MCAwIDEwcHh9LnRyYWRlLXN1bW1hcnkgLmNhcmQtbm90ZXttYXJnaW46MH0udHJhZGUtdGltZXtkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93LXdyYXA6YW55d2hlcmV9LnRyYWRlLWNhcmRze2Rpc3BsYXk6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS50cmFkZS1jYXJke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweDttaW4td2lkdGg6MDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpfS50cmFkZS1jYXJkLWhlYWR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4IDhweDttaW4td2lkdGg6MH0udHJhZGUtY2FyZC1kYXRle2ZvbnQtc2l6ZToxM3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHJhZGUtY2FyZC10aW1le2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRyYWRlLWNhcmQtc3ltYm9se2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRyYWRlLXNpZGV7cGFkZGluZzowIDZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNjt3aGl0ZS1zcGFjZTpub3dyYXB9LnRyYWRlLWNhcmQtYWNjb3VudHtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0udHJhZGUtY2FyZC1maWd1cmVze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOjRweCA4cHg7bWFyZ2luOjB9LnRyYWRlLWZpZ3VyZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6YmFzZWxpbmU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjAgNHB4O21pbi13aWR0aDowfS50cmFkZS1maWd1cmUgZHR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4fS50cmFkZS1maWd1cmUgZGR7bWFyZ2luOjA7Zm9udC1zaXplOjEzcHg7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS5wZXJmLXJhbmtpbmctc2VjdGlvbisucGVyZi1yYW5raW5nLXNlY3Rpb257bWFyZ2luLXRvcDoxOHB4fS5wZXJmLXJhbmtpbmctaGVhZGluZ3ttYXJnaW46MCAwIDhweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tbXV0ZWQpfS5wZXJmLXJhbmtpbmctY3VycmVuY3krLnBlcmYtcmFua2luZy1jdXJyZW5jeXttYXJnaW4tdG9wOjIycHh9LnBlcmYtcmFua2luZy1jdXJyZW5jeS1oZWFkaW5ne2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi4wMmVtfS5wZXJmLXJhbmtpbmctY3VycmVuY3kgLmJhcmxpc3Qtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIG1pbm1heCg1NXB4LDFmcikgYXV0b30ucGVyZi1yYW5raW5nLWN1cnJlbmN5IC5iYXJsaXN0LWxhYmVse3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5wZXJmLWR1by1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMS4xNWZyKSBtaW5tYXgoMCwuODVmcik7YWxpZ24taXRlbXM6c3RhcnQ7Z2FwOjE4cHh9LnBlcmYtZHVvLWdyaWQ+LmNhcmR7bWluLXdpZHRoOjB9LmNhbGVuZGFyLW1vbnRoLWdyaWR7bWF4LXdpZHRoOjUyMHB4O21hcmdpbi1pbmxpbmU6YXV0b30uY2FsZW5kYXIteWVhci1ncmlke21heC13aWR0aDo2MDBweDttYXJnaW4taW5saW5lOmF1dG99Lm1ldGhvZC1ub3Rle21hcmdpbi10b3A6MTBweH0ubWV0aG9kLW5vdGUgc3VtbWFyeXtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZToxM3B4O21pbi1oZWlnaHQ6MjhweDtwYWRkaW5nOjRweCAwfS5tZXRob2Qtbm90ZVtvcGVuXSAuY2FyZC1ub3Rle21heC1oZWlnaHQ6NDB2aDtvdmVyZmxvdy15OmF1dG99LnBlcmYtYWNjb3VudC1kYWlseXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO2dhcDoxMnB4IDE4cHg7bWFyZ2luLXRvcDoxNHB4fS5wZXJmLWFjY291bnQtZGFpbHk+LnBlcmYtY2FyZC1oZWFkLC5wZXJmLWFjY291bnQtZGFpbHk+LmNhcmQtbm90ZXtncmlkLWNvbHVtbjoxIC8gLTE7bWFyZ2luOjB9LnBlcmYtYWNjb3VudC1kYWlseS1pdGVte21pbi13aWR0aDowfUBtZWRpYShtYXgtd2lkdGg6OTAwcHgpey5wZXJmLWFjY291bnQtZGFpbHl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9fUBtZWRpYShtYXgtd2lkdGg6MTEwMHB4KXsucGVyZi1kdW8tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKX19QG1lZGlhKG1heC13aWR0aDo5MDBweCl7LnBlcmYta3BpLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsucGVyZi1jYXJkLWhlYWR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ucGVyZi1oZWFkLW1ldGF7bWFyZ2luLWxlZnQ6YXV0b30ucGVyZi1tb2RlLXRvZ2dsZXtvcmRlcjozO3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MH0ucGVyZi1tb2RlLXRvZ2dsZSAuc2VnbWVudGVke2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5wZXJmLW1vZGUtdG9nZ2xlIC5zZWdtZW50e2ZsZXg6MSAxIGF1dG87anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGVyZi1jdXJyZW5jeS1zd2l0Y2ggLnNlZ21lbnRlZHtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0ucGVyZi1jdXJyZW5jeS1zd2l0Y2ggLnNlZ21lbnR7ZmxleDoxIDEgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5jYWxlbmRhci1tb250aC1ncmlke21heC13aWR0aDo1MjBweH0uY2FsZW5kYXIteWVhci1ncmlke21heC13aWR0aDo2MDBweH0udHJhZGUtdGFibGV7ZGlzcGxheTpub25lfS50cmFkZS1jYXJkc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHh9fS5ob2xkaW5ncy12aWV3IC50YWJsZS13cmFwe21heC13aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0b30uaG9sZGluZ3MtdmlldyAuZGF0YS10YWJsZXttaW4td2lkdGg6OTIwcHh9LmhvbGRpbmdzLXZpZXcgLmRhdGEtdGFibGUgdGgsLmhvbGRpbmdzLXZpZXcgLmRhdGEtdGFibGUgdGR7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93LXdyYXA6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsfS5ob2xkaW5ncy1zY3JvbGwtaGludHtkaXNwbGF5Om5vbmV9QG1lZGlhKG1heC13aWR0aDoxMDAwcHgpey5ob2xkaW5ncy1zY3JvbGwtaGludHtkaXNwbGF5OmJsb2NrfX1AbWVkaWEobWF4LXdpZHRoOjQ4MHB4KXsucGVyZi1rcGktZ3JpZHtnYXA6OHB4fS5wZXJmLWtwaS1ncmlkPi5rcGktY2FyZHtwYWRkaW5nOjExcHggMTJweH0ucGVyZi1rcGktZ3JpZCAua3BpLXZhbHVle2ZvbnQtc2l6ZToyMHB4fS5wZXJmLWNhcmQtaGVhZCAuY2FyZC10aXRsZXtmb250LXNpemU6MTVweH0ubWV0aG9kLW5vdGVbb3Blbl0gLmNhcmQtbm90ZXttYXgtaGVpZ2h0OjMydmh9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5jYWxlbmRhci1zY3JvbGx7b3ZlcmZsb3cteDphdXRvO292ZXJzY3JvbGwtYmVoYXZpb3IteDpjb250YWluO3BhZGRpbmc6MnB4O21hcmdpbjotMnB4fS5jYWxlbmRhci1tb250aC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNyxtaW5tYXgoYXV0bywxZnIpKTtnYXA6MnB4O21heC13aWR0aDoxMDAlfS5jYWxlbmRhci1jZWxse3BhZGRpbmc6M3B4IDJweDtnYXA6MXB4fS5jYWxlbmRhci1jZWxsIC5jZWxsLWRhdGV7Zm9udC1zaXplOjEwcHh9LmNhbGVuZGFyLWNlbGwgLmNlbGwtdmFsdWV7Zm9udC1zaXplOjEwcHg7d2hpdGUtc3BhY2U6bm93cmFwfX0uaG9sZGluZy1zdGF0dXN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS5ob2xkaW5nLXN0YXR1cyBzbWFsbHtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCl9LmhvbGRpbmctYnJva2VyLWNvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6M3B4fS5ob2xkaW5nLWJyb2tlci1jb3N0IHNtYWxse2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKX0K" }, - "/v2/assets/PerformancePage-BPVy1DBX.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgQyxxIGFzIHosYiBhcyByZSxqIGFzIGUsbiBhcyBMLEUgYXMgRix2IGFzIFYsUyBhcyBxLEEgYXMgVyxQIGFzIGFlLE0gYXMgVSx3IGFzIHBlLHggYXMgbmUsciBhcyBQLGYgYXMgRCx5IGFzIEZlLGsgYXMgUGUseiBhcyBsZSxDIGFzIHNlLEQgYXMgQWUsZCBhcyBxZSxCIGFzIHplLEYgYXMgT2UsRyBhcyBWZSxJIGFzIEhlLFIgYXMgSWUsbSBhcyBZZSxwIGFzIFVlfWZyb20iLi9pbmRleC1DNGN3T19Qai5qcyI7aW1wb3J0e3UgYXMgSH1mcm9tIi4vaG9va3MtQ01uQTFsT1AuanMiO2ltcG9ydHtLIGFzIFN9ZnJvbSIuL0twaUNhcmQtQ1RjNXA0TEouanMiO2ltcG9ydHtjIGFzIEksciBhcyBqLEQgYXMgY2UsVSBhcyBpZSx1IGFzIFRlLGkgYXMgbWUsTCBhcyBEZSxDIGFzIFdlLEEgYXMgX2UsRiBhcyBaZX1mcm9tIi4vY2FzaGZsb3dNZXRob2QtQkw5bjVPa3AuanMiO2ltcG9ydHtEIGFzIFJlfWZyb20iLi9EYXRhVGFibGUtQ25GdW1mcy0uanMiO2ltcG9ydHtUIGFzIEdlfWZyb20iLi9UYWJzLUNGb1gxeHpNLmpzIjtpbXBvcnQiLi90aWNrcy1CY1dhd000ZC5qcyI7Y29uc3QgUWU9WyLnurPmlq/ovr7lhYsxMDAiLCLmoIfmma41MDAiXTtmdW5jdGlvbiBNZShhLG4sbCl7bGV0IHI7aWYoYT09PSJhbGwiKXtjb25zdCBpPWwuZmlsdGVyKHU9PnUucGFwZXI9PT0hMSk7cj0oaS5sZW5ndGg+MD9pOmwpLm1hcCh1PT51LnBsYXRmb3JtKX1lbHNle2NvbnN0IGk9bnx8YS5zbGljZSgwLE1hdGgubWF4KDAsYS5pbmRleE9mKCI6IikpKTtyPWk/W2ldOltdfXI9Wy4uLm5ldyBTZXQoci5maWx0ZXIoQm9vbGVhbikpXTtjb25zdCB0PXIuaW5jbHVkZXMoImJpbmFuY2UiKSxvPXIuc29tZShpPT5pIT09ImJpbmFuY2UiKTtyZXR1cm4gdD97ZW5hYmxlZDohMSxyZWFzb246bz8ibWl4ZWQiOiJjcnlwdG8iLGRlZmF1bHRzOltdfTp7ZW5hYmxlZDohMCxyZWFzb246bnVsbCxkZWZhdWx0czpRZX19ZnVuY3Rpb24gWGUoYSl7cmV0dXJuIWF8fGE9PT0iVVNEIn1mdW5jdGlvbiBKZShhKXtyZXR1cm4gYS50d3JfcmV0dXJuX3BlcmNlbnQ9PT1udWxsJiZhLmFtb3VudD09PW51bGwmJmEubWF4X2RyYXdkb3duLnBlcmNlbnQ9PT1udWxsJiYoYS5wZXJfY3VycmVuY3k/P1tdKS5ldmVyeShuPT5uLm1heF9kcmF3ZG93bi5wZXJjZW50PT09bnVsbCkmJmEuZXhjZXNzX3JldHVybnMuZXZlcnkobj0+bi5wZXJjZW50YWdlX3BvaW50cz09PW51bGwpJiZhLmJlc3RfZGF5PT09bnVsbCYmYS53b3JzdF9kYXk9PT1udWxsfWZ1bmN0aW9uIFooe3N0YXR1czphfSl7Y29uc3Qgbj1DKCk7cmV0dXJuIGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiZmxhdCBrcGktZW1wdHktdmFsdWUiLCJkYXRhLXN0YXRlIjphLGNoaWxkcmVuOlsi4oCUIixlLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46bihgc3RhdGUuJHthfWApfSldfSl9ZnVuY3Rpb24gZWEoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9SShhKSxyPW4obD09PSJ1bmtub3duIj8icGVyZi5jYXJkLnJldHVybl92YWx1ZSI6InBlcmYuY2FyZC50d3IiKTtpZighaihhLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goWix7c3RhdHVzOmEuc3RhdHVzfSl9KTtpZihhLnR3cl9yZXR1cm5fcGVyY2VudD09PW51bGwpe2NvbnN0IG89YS5tZXRyaWNfcmVhc29ucz8udHdyPz9hLnVuYXZhaWxhYmxlX3JlYXNvbjtyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZmxhdCIsImRhdGEtc3RhdGUiOiJ1bmF2YWlsYWJsZSIsImRhdGEtcmVhc29uIjpvPz92b2lkIDAsY2hpbGRyZW46IuKAlCJ9KSxzdWI6bigic3RhdGUudW5hdmFpbGFibGUiKX0pfWNvbnN0IHQ9bD09PSJkaWV0el9hcHByb3giP24oY2UpOmw9PT0idW5rbm93biI/bihpZSk6dm9pZCAwO3JldHVybiBlLmpzeChTLHt0aXRsZTpyLHZhbHVlOmUuanN4KGFlLHt2YWx1ZTphLnR3cl9yZXR1cm5fcGVyY2VudH0pLHN1Yjp0fSl9ZnVuY3Rpb24gYWEoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9YS52YWx1ZV9raW5kPT09InBubCI/bigicGVyZi5jYXJkLmFtb3VudCIpOm4oInBlcmYuY2FyZC5hbW91bnRfYXNzZXRfY2hhbmdlIik7cmV0dXJuIGooYS5zdGF0dXMpP2EudW5hdmFpbGFibGVfcmVhc29uPT09Im1peGVkX2N1cnJlbmN5Inx8YS5hbW91bnQ9PT1udWxsP2UuanN4KFMse3RpdGxlOmwsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOm4oInN0YXRlLnVuYXZhaWxhYmxlIil9KTplLmpzeChTLHt0aXRsZTpsLHZhbHVlOmUuanN4KFUse3ZhbHVlOmEuYW1vdW50LGN1cnJlbmN5OmEuY3VycmVuY3ksc2lnbmVkOiEwfSl9KTplLmpzeChTLHt0aXRsZTpsLHZhbHVlOmUuanN4KFose3N0YXR1czphLnN0YXR1c30pfSl9ZnVuY3Rpb24gZmUoYSxuKXtjb25zdCBsPUkoYSk7cmV0dXJuIGw9PT0iZGlldHpfYXBwcm94Ij9uKGNlKTpsPT09InVua25vd24iP24oaWUpOm51bGx9ZnVuY3Rpb24gc2Eoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9eigpLHI9bihJKGEpPT09InVua25vd24iPyJwZXJmLmRyYXdkb3duX3BsYWluX3RpdGxlIjoicGVyZi5kcmF3ZG93bl90d3JfdGl0bGUiKTtpZihhLnBlcl9jdXJyZW5jeT8ubGVuZ3RoJiZhLnVuYXZhaWxhYmxlX3JlYXNvbiE9PSJzdG9yZWRfcmVjb3Jkc191bnJlYWRhYmxlIilyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWxzIixjaGlsZHJlbjphLnBlcl9jdXJyZW5jeS5tYXAodT0+e2NvbnN0IGQ9dS5tYXhfZHJhd2Rvd24sZj1kLnBlcmNlbnQsXz1mIT09bnVsbCx5PV8/ZmUodSxuKTpudWxsLGs9Xz9udWxsOmQudW5hdmFpbGFibGVfcmVhc29uP24oYHJlYXNvbi4ke2QudW5hdmFpbGFibGVfcmVhc29ufWApOm4oInN0YXRlLnVuYXZhaWxhYmxlIikseD1fJiZkLnBlYWtfZGF0ZSYmZC50cm91Z2hfZGF0ZT9uKCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIix7cGVhazpWKGQucGVha19kYXRlLGwpLHRyb3VnaDpWKGQudHJvdWdoX2RhdGUsbCl9KTpudWxsO3JldHVybiBlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LXRvdGFsIiwiZGF0YS1zdGF0ZSI6ZC51bmF2YWlsYWJsZV9yZWFzb258fHZvaWQgMCxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS1zdWIiLGNoaWxkcmVuOnUuY3VycmVuY3l9KSx5JiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46eX0pLGY9PT1udWxsP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IiwiZGF0YS1yZWFzb24iOmQudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46IuKAlCJ9KTplLmpzeChhZSx7dmFsdWU6LWZ8fDB9KSxrJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46a30pLHgmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjp4fSldfSx1LmN1cnJlbmN5KX0pfSl9KTtpZighaihhLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goWix7c3RhdHVzOmEuc3RhdHVzfSl9KTtjb25zdCB0PWEubWF4X2RyYXdkb3duO2lmKHQucGVyY2VudD09PW51bGwpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOm4oInN0YXRlLnVuYXZhaWxhYmxlIil9KTtjb25zdCBvPXQucGVha19kYXRlJiZ0LnRyb3VnaF9kYXRlP24oInBlcmYuY2FyZC5tYXhfZHJhd2Rvd25fZGF0ZXMiLHtwZWFrOlYodC5wZWFrX2RhdGUsbCksdHJvdWdoOlYodC50cm91Z2hfZGF0ZSxsKX0pOnZvaWQgMCxzPVtmZShhLG4pLG9dLmZpbHRlcihCb29sZWFuKS5qb2luKCIgwrcgIil8fHZvaWQgMDtyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeChhZSx7dmFsdWU6LXQucGVyY2VudHx8MH0pLHN1YjpzfSl9ZnVuY3Rpb24gbmEoe2RhdGE6YSxwb2xpY3k6bn0pe2NvbnN0IGw9QygpLHI9eigpLHQ9bCgicGVyZi5jYXJkLmV4Y2VzcyIpO2lmKCFqKGEuc3RhdHVzKSlyZXR1cm4gZS5qc3goUyx7dGl0bGU6dCx2YWx1ZTplLmpzeChaLHtzdGF0dXM6YS5zdGF0dXN9KX0pO2lmKCFuLmVuYWJsZWQpcmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOmwoInBlcmYuYmVuY2htYXJrX25vdF9hcHBsaWNhYmxlIil9KTtjb25zdCBvPW4uZGVmYXVsdHMuZmxhdE1hcChmPT5hLmV4Y2Vzc19yZXR1cm5zLmZpbHRlcihfPT5fLmJlbmNobWFyaz09PWYpKSxpPW8uZmluZChmPT5mLnBlcmNlbnRhZ2VfcG9pbnRzIT09bnVsbCk7aWYoIWl8fGkucGVyY2VudGFnZV9wb2ludHM9PT1udWxsKXJldHVybiBlLmpzeChTLHt0aXRsZTp0LHZhbHVlOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IixjaGlsZHJlbjoi4oCUIn0pLHN1YjpsKCJzdGF0ZS51bmF2YWlsYWJsZSIpfSk7Y29uc3Qgcz1pLnBlcmNlbnRhZ2VfcG9pbnRzLHU9by5maWx0ZXIoZj0+ZiE9PWkmJmYucGVyY2VudGFnZV9wb2ludHMhPT1udWxsKSxkPXUubGVuZ3RoP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJwZXJmLWV4Y2Vzcy1saXN0IixjaGlsZHJlbjp1Lm1hcChmPT5lLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbZi5iZW5jaG1hcmssIiAiLHBlKGYucGVyY2VudGFnZV9wb2ludHMscildfSxmLmJlbmNobWFyaykpfSk6aS5iZW5jaG1hcms7cmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6cz4wPyJ1cCI6czwwPyJkb3duIjoiZmxhdCIsY2hpbGRyZW46cGUocyxyKX0pLHN1YjpkfSl9ZnVuY3Rpb24gaGUoe2RhdGE6YSxmaWVsZDpuLHRpdGxlS2V5Omx9KXtjb25zdCByPUMoKSx0PXIobCk7aWYoIWooYS5zdGF0dXMpKXJldHVybiBlLmpzeChTLHt0aXRsZTp0LHZhbHVlOmUuanN4KFose3N0YXR1czphLnN0YXR1c30pfSk7Y29uc3Qgbz1hW25dO2lmKCFvfHwhaihvLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOnIoInN0YXRlLm5vX2RhdGEiKX0pO2NvbnN0IGk9by5hbW91bnQhPT1udWxsP2UuanN4KFUse3ZhbHVlOm8uYW1vdW50LGN1cnJlbmN5OmEuY3VycmVuY3ksc2lnbmVkOiEwfSk6ZS5qc3goYWUse3ZhbHVlOm8ucmV0dXJuX3BlcmNlbnR9KSxzPW8udmFsdWVfa2luZD09PSJhc3NldF9jaGFuZ2UiP2AgwrcgJHtyKCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIil9YDoiIjtyZXR1cm4gZS5qc3goUyx7dGl0bGU6dCx2YWx1ZTppLHN1YjpgJHtvLmRhdGV9JHtzfWB9KX1mdW5jdGlvbiB0YSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHN0YXRlOmwsY2hhcnRBdmFpbGFibGU6cn0pe2NvbnN0IHQ9QygpLG89eigpLHtvcHRpb25zOml9PXJlKCkscz1NZShhLG4saSk7aWYobC5waGFzZT09PSJsb2FkaW5nIil7Y29uc3QgYz1bInBlcmYuY2FyZC50d3IiLCJwZXJmLmNhcmQuYW1vdW50IiwicGVyZi5jYXJkLm1heF9kcmF3ZG93biIsInBlcmYuY2FyZC5leGNlc3MiLCJwZXJmLmNhcmQuYmVzdF9kYXkiLCJwZXJmLmNhcmQud29yc3RfZGF5Il07cmV0dXJuIGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYta3BpLWdyaWQiLGNoaWxkcmVuOmMubWFwKG09PmUuanN4KFMse3RpdGxlOnQobSksdmFsdWU6ZS5qc3goTCx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSl9LG0pKX0pfWlmKGwucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChGLHtvblJldHJ5OmwucmVsb2FkfSk7Y29uc3QgdT1sLmRhdGEsZD1KZSh1KSxmPXUuY292ZXJhZ2UsXz1mJiYhQXJyYXkuaXNBcnJheShmKSYmZiE9PSJmaWxsc19ub3RfY29ubmVjdGVkIj9mOm51bGwseT1fPy5meD09PSJub3RfYXBwbGllZCIsaz1kJiZfJiZfLnJhbmdlX2NvbXBsZXRlPT09ITEmJnR5cGVvZiBfLnBlcmlvZF9mcm9tPT0ic3RyaW5nIiYmdHlwZW9mIF8ucmVxdWVzdGVkX3BlcmlvZF9mcm9tPT0ic3RyaW5nIiYmXy5wZXJpb2RfZnJvbT5fLnJlcXVlc3RlZF9wZXJpb2RfZnJvbT9fOm51bGwseD11LnVuYXZhaWxhYmxlX3JlYXNvbj09PSJtaXhlZF9jdXJyZW5jeSI/dCh5PyJwZXJmLm1peGVkX2N1cnJlbmN5X3VuYXZhaWxhYmxlIjoicGVyZi5taXhlZF9jdXJyZW5jeV9uYXRpdmUiKTprP3QoInBlcmYuaGlzdG9yeV93aW5kb3dfc2hvcnQiLHtyZXF1ZXN0ZWQ6VihrLnJlcXVlc3RlZF9wZXJpb2RfZnJvbSxvKSxhdmFpbGFibGU6VihrLnBlcmlvZF9mcm9tLG8pfSk6ZCYmcj90KCJwZXJmLmNvbWJpbmVkX21ldHJpY3NfdW5hdmFpbGFibGUiKTpudWxsO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46Wyh1LnN0YXR1cyE9PSJvayJ8fHUudW5hdmFpbGFibGVfcmVhc29ufHx1LmFzX29mfHx4KSYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1ldHJpYy1ub3RlIHBlcmYtc3VtbWFyeS1ub3RlIiwiZGF0YS1zdGF0ZSI6dS5zdGF0dXMsImRhdGEtcmVhc29uIjp1LnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOlt1LnN0YXR1cyE9PSJvayImJmUuanN4KHEse3N0YXR1czp1LnN0YXR1c30pLHgmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46eH0pLHUuYXNfb2YmJmUuanN4KFcse3ZhbHVlOnUuYXNfb2Z9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1rcGktZ3JpZCIsY2hpbGRyZW46W2UuanN4KGVhLHtkYXRhOnV9KSxlLmpzeChhYSx7ZGF0YTp1fSksZS5qc3goc2Ese2RhdGE6dX0pLGUuanN4KG5hLHtkYXRhOnUscG9saWN5OnN9KSxlLmpzeChoZSx7ZGF0YTp1LGZpZWxkOiJiZXN0X2RheSIsdGl0bGVLZXk6InBlcmYuY2FyZC5iZXN0X2RheSJ9KSxlLmpzeChoZSx7ZGF0YTp1LGZpZWxkOiJ3b3JzdF9kYXkiLHRpdGxlS2V5OiJwZXJmLmNhcmQud29yc3RfZGF5In0pXX0pXX0pfWNvbnN0IHJhPVsidmFyKC0tYmVuY2htYXJrLTEpIiwidmFyKC0tYmVuY2htYXJrLTIpIiwidmFyKC0tYmVuY2htYXJrLTMpIiwidmFyKC0tYmVuY2htYXJrLTQpIl0seGU9e+agh+aZrjUwMDoicGVyZi5iZW5jaG1hcmtfc3A1MDAiLOe6s+aWr+i+vuWFizEwMDoicGVyZi5iZW5jaG1hcmtfbmFzZGFxMTAwIizpgZPnkLzmlq/lt6XkuJrlubPlnYfmjIfmlbA6InBlcmYuYmVuY2htYXJrX2RvdyIs572X57SgMjAwMDoicGVyZi5iZW5jaG1hcmtfcnVzc2VsbDIwMDAifSxlZT17c2VyaWVzOltdLGRlZmF1bHRzOltdLGRpc2FibGVkOltdfTtmdW5jdGlvbiBiZShhKXtyZXR1cm4gYS5wb2ludHMubGVuZ3RoPjA/e3BvaW50czphLnBvaW50cyxmYWxsYmFjazpudWxsfTp7cG9pbnRzOmEuYXNzZXRfY2hhbmdlPy5wb2ludHM/P1tdLGZhbGxiYWNrOmEuYXNzZXRfY2hhbmdlPz9udWxsfX1mdW5jdGlvbiBsYShhKXtpZighYSlyZXR1cm4hMTtjb25zdCBuPWEuY292ZXJhZ2U7cmV0dXJuIW58fHR5cGVvZiBuIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShuKT8hMTpuLm5hdGl2ZV9kYWlseV9vbmx5PT09ITB9ZnVuY3Rpb24gY2EoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmcifHxhPT09IiIpcmV0dXJuIG51bGw7Y29uc3Qgbj1EYXRlLnBhcnNlKGAke2F9VDAwOjAwOjAwWmApO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobik/bjpudWxsfWZ1bmN0aW9uIEVlKGEpe2NvbnN0IG49W10sbD1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIGEpbC5zZXQodC5kYXRlLChsLmdldCh0LmRhdGUpPz8wKSsxKTtsZXQgcj0hMTtmb3IoY29uc3QgdCBvZiBhKXtjb25zdCBvPXQuZGFpbHlfcmV0dXJuX3BlcmNlbnQ7aWYoY2EodC5kYXRlKT09PW51bGx8fGwuZ2V0KHQuZGF0ZSkhPT0xfHx0eXBlb2YgbyE9Im51bWJlciJ8fCFOdW1iZXIuaXNGaW5pdGUobyl8fG88LTEwMCl7cj0hMDtjb250aW51ZX1uLnB1c2goe2RhdGU6dC5kYXRlLHZhbHVlOnQudmFsdWUsZGFpbHlfcmV0dXJuX3BlcmNlbnQ6byxicmVha0JlZm9yZTp0LmJyZWFrQmVmb3JlPT09ITB8fHJ9KSxyPSExfXJldHVybiBufWZ1bmN0aW9uIHllKGEpe3JldHVybiBhLnNvbWUobj0+e2NvbnN0IGw9bi5kYWlseV9yZXR1cm5fcGVyY2VudDtyZXR1cm4gdHlwZW9mIGw9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUobCkmJmw+PS0xMDB9KX1mdW5jdGlvbiB2ZShhLG4pe3JldHVybiBuPyJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6YS5yZXR1cm5LaW5kPT09InVuYWRqdXN0ZWRfYXNzZXRfcmF0aW8iPyJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6InBlcmYucmV0dXJuc190aXRsZSJ9ZnVuY3Rpb24gaWEoYSxuKXtpZihhPT09InVuYWRqdXN0ZWRfYXNzZXRfcmF0aW8iKXJldHVybiJwZXJmLmFzc2V0X2NoYW5nZV90YWciO2NvbnN0IGw9SShuKTtyZXR1cm4gbD09PSJkaWV0el9hcHByb3giP2NlOmw9PT0idW5rbm93biI/aWU6InBlcmYucmV0dXJuX2tpbmRfdHdyIn1mdW5jdGlvbiBqZShhLG4pe2lmKCEobi5lbmFibGVkJiZhLnJldHVybktpbmQ9PT0idHdyIiYmSShhLm1ldGhvZCkhPT0idW5rbm93biImJlhlKGEuY3VycmVuY3kpKSlyZXR1cm4gZWU7Y29uc3Qgcj1hLmJlbmNobWFya3MuZmlsdGVyKHQ9PnQucG9pbnRzLmxlbmd0aD4wKTtyZXR1cm57c2VyaWVzOnIsZGVmYXVsdHM6bi5kZWZhdWx0cy5maWx0ZXIodD0+ci5zb21lKG89Pm8uaWQ9PT10KSksZGlzYWJsZWQ6YS5kaXNhYmxlZC5maWx0ZXIodD0+bi5kZWZhdWx0cy5pbmNsdWRlcyh0LmlkKSl9fWZ1bmN0aW9uIGdlKHt2aWV3OmEsc2VyaWVzTGFiZWw6bixtb2RlOmwsYXJpYUxhYmVsOnIsYmVuY2htYXJrczp0LGRpc2FibGVkOm8sbmF0aXZlRGFpbHlPbmx5Oml9KXtjb25zdCBzPUMoKSx1PVt7aWQ6Im1haW4iLGxhYmVsOm4sY29sb3I6InZhcigtLWFjY2VudCkiLHBvaW50czphLnBvaW50cyxwcmltYXJ5OiEwfSwuLi50LnNlcmllcy5tYXAoKGQsZik9Pih7aWQ6ZC5pZCxsYWJlbDpzKHhlW2QuaWRdfHwicGVyZi5iZW5jaG1hcmtfdW5rbm93biIpLGNvbG9yOnJhW2ZdLHBvaW50czpkLnBvaW50c30pKV07cmV0dXJuIGUuanN4cygiZGl2Iix7ImRhdGEtc3RhdGUiOmEuc3RhdHVzLCJkYXRhLXJlYXNvbiI6YS51bmF2YWlsYWJsZVJlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOltlLmpzeHMoInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsc3R5bGU6e21hcmdpblRvcDowfSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InBlcmYta2luZCIsY2hpbGRyZW46cyhpYShhLnJldHVybktpbmQsYS5tZXRob2QpKX0pLGkmJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1raW5kIiwiZGF0YS1uYXRpdmUtZGFpbHktdGFnIjoidHJ1ZSIsY2hpbGRyZW46WyIgwrcgIixzKCJwZXJmLm5hdGl2ZV9kYWlseV90YWciKV19KSxhLmN1cnJlbmN5JiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3kiLGNoaWxkcmVuOlsiIMK3ICIsYS5jdXJyZW5jeV19KV19KSxlLmpzeChEZSx7c2VyaWVzOnUsbW9kZTpsLGFyaWFMYWJlbDpyLGFsaWduU3RhcnQ6YS5hbGlnbmVkU3RhcnQsZGVmYXVsdFZpc2libGU6dC5zZXJpZXMubGVuZ3RoPjA/dC5kZWZhdWx0czp2b2lkIDB9LGAke2EuY3VycmVuY3k/PyJuYXRpdmUifToke3Quc2VyaWVzLm1hcChkPT5kLmlkKS5qb2luKCIsIil9YCksaSYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsImRhdGEtbmF0aXZlLWRhaWx5LW9ubHkiOiJ0cnVlIixjaGlsZHJlbjpzKCJwZXJmLm5hdGl2ZV9kYWlseV9ub3RlIil9KSxvLmxlbmd0aD4wJiZlLmpzeHMoImRldGFpbHMiLHtjbGFzc05hbWU6InBlcmYtYmVuY2htYXJrcy1vZmYiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOnMoInBlcmYuYmVuY2htYXJrc191bmF2YWlsYWJsZSIse2NvdW50Om8ubGVuZ3RofSl9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWJlbmNobWFya3Mtb2ZmLWxpc3QiLGNoaWxkcmVuOm8ubWFwKGQ9PmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1iZW5jaG1hcmstb2ZmIix0aXRsZTpkLnVuYXZhaWxhYmxlX3JlYXNvbj9zKGByZWFzb24uJHtkLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDAsY2hpbGRyZW46W3MoeGVbZC5pZF18fCJwZXJmLmJlbmNobWFya191bmtub3duIiksIiDCtyAiLHMoYHN0YXRlLiR7ZC5zdGF0dXN9YCldfSxkLmlkKSl9KV19KV19KX1mdW5jdGlvbiBvYSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHN0YXRlOmx9KXtjb25zdCByPUMoKSx7b3B0aW9uczp0fT1yZSgpLG89VGUoYSksaT1uZSgpLFtzLHVdPVAudXNlU3RhdGUoImN1bXVsYXRpdmUiKSxbZCxmXT1QLnVzZVN0YXRlKG51bGwpLF89bC5waGFzZT09PSJyZWFkeSI/bC5kYXRhOm51bGwseT1sYShfKSxrPXA9PnM9PT0iZGFpbHkiJiZ5ZShwKT8iZGFpbHkiOiJjdW11bGF0aXZlIix4PU1lKGEsbix0KSxjPV8/LnBlcl9hY2NvdW50Py5maWx0ZXIocD0+aihwLnN0YXR1cykmJnAucmV0dXJuX2tpbmQ9PT0idHdyIiYmcC5wb2ludHMubGVuZ3RoPjApPz9bXSxtPVtdO2lmKGE9PT0iYWxsIiYmXz8ucGVyX2FjY291bnQpZm9yKGNvbnN0IHAgb2YgXy5wZXJfYWNjb3VudCl7aWYoIWoocC5zdGF0dXMpfHxwLnJldHVybl9raW5kIT09InR3ciIpY29udGludWU7Y29uc3QgRT1FZShwLnBvaW50cyk7RS5sZW5ndGghPT0wJiZtLnB1c2goe2tleTpgJHtwLnBsYXRmb3JtfToke3AuYWNjb3VudF9hbGlhc31gLHBsYXRmb3JtOnAucGxhdGZvcm0sYWNjb3VudEFsaWFzOnAuYWNjb3VudF9hbGlhcyxjdXJyZW5jeTpwLmN1cnJlbmN5Pz9udWxsLHBvaW50czpFfSl9Y29uc3QgZz1uZXcgU2V0KG0ubWFwKHA9PnAua2V5KSksTj1jLmZpbHRlcihwPT4hZy5oYXMoYCR7cC5wbGF0Zm9ybX06JHtwLmFjY291bnRfYWxpYXN9YCkpLGI9ISEoXyYmYT09PSJhbGwiJiZfLnBlcl9jdXJyZW5jeS5sZW5ndGg+MCYmKGooXy5zdGF0dXMpfHxfLnVuYXZhaWxhYmxlX3JlYXNvbj09PSJtaXhlZF9jdXJyZW5jeSIpKSxoPWImJl8/Xy5wZXJfY3VycmVuY3kuZmluZChwPT5wLmN1cnJlbmN5PT09ZCk/P18ucGVyX2N1cnJlbmN5LmZpbmQocD0+aihwLnN0YXR1cykmJihwLnBvaW50cy5sZW5ndGg+MHx8KHAuYXNzZXRfY2hhbmdlPy5wb2ludHMubGVuZ3RoPz8wKT4wKSk/P18ucGVyX2N1cnJlbmN5WzBdPz9udWxsOm51bGw7bGV0IHY9bnVsbCx3PWVlLEE7aWYobC5waGFzZT09PSJsb2FkaW5nIilBPWUuanN4KEwse2hlaWdodDoyODB9KTtlbHNlIGlmKGwucGhhc2U9PT0iZXJyb3IiKUE9ZS5qc3goRix7b25SZXRyeTpsLnJlbG9hZH0pO2Vsc2V7Y29uc3QgcD1sLmRhdGEsRT1wLmJlbmNobWFya19hdmFpbGFiaWxpdHkuZmlsdGVyKCQ9PiFqKCQuc3RhdHVzKSksUT1iZShwKSxNPVEuZmFsbGJhY2s7aWYoYiYmaCl7Y29uc3QgJD1oLGRlPWUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6cigicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpwLnBlcl9jdXJyZW5jeS5tYXAoVD0+ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtULmN1cnJlbmN5PT09JC5jdXJyZW5jeT8iIGFjdGl2ZSI6IiJ9YCwiYXJpYS1wcmVzc2VkIjpULmN1cnJlbmN5PT09JC5jdXJyZW5jeSxvbkNsaWNrOigpPT5mKFQuY3VycmVuY3kpLGNoaWxkcmVuOlQuY3VycmVuY3l9LFQuY3VycmVuY3kpKX0pfSksWD1iZSgkKSxSPVguZmFsbGJhY2ssSj1SP1Iuc3RhdHVzOiQuc3RhdHVzLFk9Uj9SLnVuYXZhaWxhYmxlX3JlYXNvbjokLnVuYXZhaWxhYmxlX3JlYXNvbjtpZihqKEopJiZYLnBvaW50cy5sZW5ndGg+MCl7Y29uc3QgVD17cG9pbnRzOlgucG9pbnRzLGJlbmNobWFya3M6Uj9bXTokLmJlbmNobWFya3MscmV0dXJuS2luZDpSPyJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIjokLnJldHVybl9raW5kLG1ldGhvZDokLGFsaWduZWRTdGFydDpSP1IuYWxpZ25lZF9zdGFydDokLmFsaWduZWRfc3RhcnQsY3VycmVuY3k6JC5jdXJyZW5jeSxzdGF0dXM6Six1bmF2YWlsYWJsZVJlYXNvbjpZLGFzT2Y6Uj9SLmFzX29mOiQuYXNfb2Y/P251bGwsZGlzYWJsZWQ6RX07dj1ULHc9eXx8Uj9lZTpqZShULHgpLEE9ZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZGUsUiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cigicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiKX0pLGUuanN4KGdlLHt2aWV3OlQsc2VyaWVzTGFiZWw6YCR7b30gwrcgJHskLmN1cnJlbmN5fWAsbW9kZTp5PyJkYWlseSI6ayhYLnBvaW50cyksYXJpYUxhYmVsOmAke3IodmUoVCx5KSl9ICR7JC5jdXJyZW5jeX1gLGJlbmNobWFya3M6dyxkaXNhYmxlZDp3LmRpc2FibGVkLG5hdGl2ZURhaWx5T25seTp5fSldfSl9ZWxzZXtjb25zdCBUPWooSik/Im5vX2RhdGEiOko7QT1lLmpzeHMoImRpdiIse2NoaWxkcmVuOltkZSxlLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpZPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6cihUPT09Im5vX2RhdGEiJiZZPT09ImV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIj8icGVyZi5taXNzaW5nX2Nhc2hmbG93X3JlY29yZHMiOmBzdGF0ZS4ke1R9YCksc3RhdGU6VCxib2R5Olk/cihgcmVhc29uLiR7WX1gKTp2b2lkIDB9KX0pXX0pfX1lbHNlIGlmKCFqKHAuc3RhdHVzKSlBPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOnAudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6cihgc3RhdGUuJHtwLnN0YXR1c31gKSxzdGF0ZTpwLnN0YXR1cyxib2R5OnAudW5hdmFpbGFibGVfcmVhc29uP3IoYHJlYXNvbi4ke3AudW5hdmFpbGFibGVfcmVhc29ufWApOnZvaWQgMH0pfSk7ZWxzZSBpZihRLnBvaW50cy5sZW5ndGg9PT0wKUE9ZS5qc3goImRpdiIseyJkYXRhLXJlYXNvbiI6cC51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCxjaGlsZHJlbjplLmpzeChELHt0aXRsZTpyKHAudW5hdmFpbGFibGVfcmVhc29uPT09ImV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIj8icGVyZi5taXNzaW5nX2Nhc2hmbG93X3JlY29yZHMiOiJzdGF0ZS5ub19kYXRhIiksc3RhdGU6Im5vX2RhdGEiLGJvZHk6cC51bmF2YWlsYWJsZV9yZWFzb24/cihgcmVhc29uLiR7cC51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwfSl9KTtlbHNle2NvbnN0ICQ9e3BvaW50czpRLnBvaW50cyxiZW5jaG1hcmtzOk0/W106cC5ub19jb21tb25fZGF0ZT9bXTpwLmJlbmNobWFya3MscmV0dXJuS2luZDpNPyJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIjpwLnJldHVybl9raW5kLG1ldGhvZDpwLGFsaWduZWRTdGFydDpNP00uYWxpZ25lZF9zdGFydDpwLmFsaWduZWRfc3RhcnQsY3VycmVuY3k6cC5jdXJyZW5jeT8/bnVsbCxzdGF0dXM6TT9NLnN0YXR1czpwLnN0YXR1cyx1bmF2YWlsYWJsZVJlYXNvbjpNP00udW5hdmFpbGFibGVfcmVhc29uOnAudW5hdmFpbGFibGVfcmVhc29uLGFzT2Y6TT9NLmFzX29mOnAuYXNfb2Y/P251bGwsZGlzYWJsZWQ6RX07dj0kLHc9eXx8TXx8cC5ub19jb21tb25fZGF0ZT9lZTpqZSgkLHgpLEE9ZS5qc3goZ2Use3ZpZXc6JCxzZXJpZXNMYWJlbDpvLG1vZGU6eT8iZGFpbHkiOmsoUS5wb2ludHMpLGFyaWFMYWJlbDpyKHZlKCQseSkpLGJlbmNobWFya3M6dyxkaXNhYmxlZDp3LmRpc2FibGVkLG5hdGl2ZURhaWx5T25seTp5fSl9fWNvbnN0IE89dj8ucmV0dXJuS2luZD09PSJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIix0ZT13LnNlcmllcy5sZW5ndGg+MCxHPXIodj95PyJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6Tz8icGVyZi5hc3NldF9jaGFuZ2VfdGl0bGUiOnRlPyJwZXJmLnJldHVybnNfdGl0bGUiOiJwZXJmLnJldHVybnNfdGl0bGVfcGxhaW4iOiJwZXJmLnJldHVybnNfdGl0bGUiKSxLZT0hISh2JiYheSYmIU8mJmoodi5zdGF0dXMpJiZ2LnBvaW50cy5sZW5ndGg+MCYmeWUodi5wb2ludHMpKSxMZT15PyJwZXJmLm1ldGhvZF9ib2R5X25hdGl2ZV9kYWlseSI6diYmTz8icGVyZi5tZXRob2RfYm9keV9hc3NldF9jaGFuZ2UiOl8mJltfLC4uLl8ucGVyX2N1cnJlbmN5XS5zb21lKHA9PkkocCk9PT0idW5rbm93biIpPyJwZXJmLm1ldGhvZF9ib2R5X3Vua25vd24iOl8mJihtZShfKXx8Xy5wZXJfY3VycmVuY3kuc29tZShtZSkpPyJwZXJmLm1ldGhvZF9ib2R5X2RpZXR6IjoicGVyZi5tZXRob2RfYm9keSIsb2U9ISEodiYmaih2LnN0YXR1cykmJnYucG9pbnRzLmxlbmd0aD4wKSx1ZT1tLmxlbmd0aD4wP2UuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicGVyZi1hY2NvdW50LWRhaWx5IiwiZGF0YS1hY2NvdW50LWRhaWx5LWNvdW50IjptLmxlbmd0aCxjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToicGVyZi1jYXJkLWhlYWQiLGNoaWxkcmVuOmUuanN4KCJoMyIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46cigicGVyZi5wZXJfYWNjb3VudF9kYWlseV90aXRsZSIpfSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpyKCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X25vdGUiKX0pLG0ubWFwKHA9Pntjb25zdCBFPWAke2kucGxhdGZvcm0ocC5wbGF0Zm9ybSl9IMK3ICR7aS5hY2NvdW50KHAuYWNjb3VudEFsaWFzLHAucGxhdGZvcm0pfWA7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWFjY291bnQtZGFpbHktaXRlbSIsImRhdGEtYWNjb3VudCI6cC5hY2NvdW50QWxpYXMsY2hpbGRyZW46W2UuanN4cygicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InBlcmYta2luZCIsY2hpbGRyZW46RX0pLHAuY3VycmVuY3kmJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1jdXJyZW5jeSIsY2hpbGRyZW46WyIgwrcgIixwLmN1cnJlbmN5XX0pXX0pLGUuanN4KERlLHtzZXJpZXM6W3tpZDoibWFpbiIsbGFiZWw6RSxjb2xvcjoidmFyKC0tYWNjZW50KSIscG9pbnRzOnAucG9pbnRzLHByaW1hcnk6ITB9XSxtb2RlOiJkYWlseSIsYXJpYUxhYmVsOmAke3IoInBlcmYucGVyX2FjY291bnRfZGFpbHlfdGl0bGUiKX0gwrcgJHtFfWB9KV19LHAua2V5KX0pXX0pOm51bGw7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY2FyZC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpHfSksS2UmJmUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtbW9kZS10b2dnbGUiLGNoaWxkcmVuOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6RyxjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtzPT09ImN1bXVsYXRpdmUiPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOnM9PT0iY3VtdWxhdGl2ZSIsb25DbGljazooKT0+dSgiY3VtdWxhdGl2ZSIpLGNoaWxkcmVuOnIoInBlcmYucmV0dXJuc19jdW11bGF0aXZlIil9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke3M9PT0iZGFpbHkiPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOnM9PT0iZGFpbHkiLG9uQ2xpY2s6KCk9PnUoImRhaWx5IiksY2hpbGRyZW46cigicGVyZi5yZXR1cm5zX2RhaWx5Iil9KV19KX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1oZWFkLW1ldGEiLGNoaWxkcmVuOlt2JiZ2LnN0YXR1cyE9PSJvayImJmoodi5zdGF0dXMpJiZlLmpzeChxLHtzdGF0dXM6di5zdGF0dXMscmVhc29uOnYudW5hdmFpbGFibGVSZWFzb259KSx2JiZqKHYuc3RhdHVzKSYmZS5qc3goVyx7dmFsdWU6di5hc09mfSldfSldfSksIW9lJiZ1ZSxBLG9lJiZ1ZSxOLmxlbmd0aD4wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLCJkYXRhLW5hdGl2ZS1yZXR1cm4tYWNjb3VudHMiOk4ubGVuZ3RoLGNoaWxkcmVuOnIoInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyIse2FjY291bnRzOk4ubWFwKHA9PmAke2kucGxhdGZvcm0ocC5wbGF0Zm9ybSl9IMK3ICR7aS5hY2NvdW50KHAuYWNjb3VudF9hbGlhcyxwLnBsYXRmb3JtKX1gKS5qb2luKCLjgIEiKX0pfSk6bnVsbCxlLmpzeChGZSx7dGl0bGVLZXk6InBlcmYuaG93X2NhbGN1bGF0ZWQiLGJvZHlLZXk6TGV9KV19KX1mdW5jdGlvbiBOZSh7c3RhdHVzOmEscG9pbnRzOm4sY292ZXJhZ2U6bCxyZWFzb246cn0pe2NvbnN0IHQ9QygpLG89bi5zb21lKGQ9PihkLmZvcndhcmRfZmlsbGVkX2FjY291bnRzPy5sZW5ndGh8fDApPjApLGk9b3x8bi5zb21lKGQ9PmQucGFydGlhbCl8fCEhbD8udHJ1bmNhdGVkfHwhIWw/LnJlYWRfZmFpbHVyZXM/Lmxlbmd0aCxzPWE9PT0ib2siP2k/InBhcnRpYWwiOiJvayI6YTtpZihzPT09Im9rIilyZXR1cm4gbnVsbDtjb25zdCB1PVsuLi5uZXcgU2V0KFsuLi5uLmZsYXRNYXAoZD0+Wy4uLmQubWlzc2luZ19hY2NvdW50c3x8W10sLi4uZC5mb3J3YXJkX2ZpbGxlZF9hY2NvdW50c3x8W11dKSwuLi5sPy5taXNzaW5nX2FjY291bnRzfHxbXSwuLi5sPy5leGNsdWRlZF9hY2NvdW50c3x8W10sLi4ubD8ucmVhZF9mYWlsdXJlc3x8W11dKV07cmV0dXJuIGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiaGlzdG9yeS1ub3RpY2UiLHJvbGU6InN0YXR1cyIsImRhdGEtc3RhdGUiOnMsImRhdGEtcmVhc29uIjpyPz92b2lkIDAsImRhdGEtYWZmZWN0ZWQtY291bnQiOnUubGVuZ3RofHx2b2lkIDAsY2hpbGRyZW46W2UuanN4KHEse3N0YXR1czpzfSksdS5sZW5ndGg+MCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46dCgicGVyZi5oaXN0b3J5X2FmZmVjdGVkX2FjY291bnRzIix7Y291bnQ6dS5sZW5ndGh9KX0pLG8mJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnQoInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIil9KSxyJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjp0KGByZWFzb24uJHtyfWApfSldfSl9ZnVuY3Rpb24gdWEoe3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KXtjb25zdCB0PUMoKSxbbyxpXT1QLnVzZVN0YXRlKG51bGwpLHM9SCgoKT0+UGUoYSxsLG4pLFthLG4sbCxyXSk7bGV0IHUsZCxmLF89bnVsbCx5PW51bGwsaz1udWxsO2lmKHMucGhhc2U9PT0ibG9hZGluZyIpZj1lLmpzeChMLHtoZWlnaHQ6MjIwfSk7ZWxzZSBpZihzLnBoYXNlPT09ImVycm9yIilmPWUuanN4KEYse29uUmV0cnk6cy5yZWxvYWR9KTtlbHNle2NvbnN0IHg9cy5kYXRhO3U9eC5wZXJfY3VycmVuY3k/Lmxlbmd0aCYmeC51bmF2YWlsYWJsZV9yZWFzb24hPT0ic3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSI/ZS5qc3goV2Use3RvdGFsczp4LnBlcl9jdXJyZW5jeSxmcmVzaG5lc3M6eC5mcmVzaG5lc3Nfc3VtbWFyeSxub3Rlczp4LnBlcl9jdXJyZW5jeS5sZW5ndGg+MT90KCJwZXJmLm5hdGl2ZV90b3RhbHNfbm90ZSIpOnZvaWQgMH0pOm51bGwsXz14LnN0YXR1cyx5PXgudW5hdmFpbGFibGVfcmVhc29uLGs9eC5hc19vZjtjb25zdCBjPXguY3VydmVfc3RhdHVzfHx4LnN0YXR1cyxtPXguY3VydmVfdW5hdmFpbGFibGVfcmVhc29uPT09dm9pZCAwP3gudW5hdmFpbGFibGVfcmVhc29uOnguY3VydmVfdW5hdmFpbGFibGVfcmVhc29uLGc9eC5oaXN0b3J5X3Blcl9jdXJyZW5jeT8ubGVuZ3RoP3guaGlzdG9yeV9wZXJfY3VycmVuY3k6W3tjdXJyZW5jeTp4LmN1cnJlbmN5LHN0YXR1czpjLGNvdmVyYWdlOnguY3VydmVfY292ZXJhZ2UscG9pbnRzOngucG9pbnRzLHVuYXZhaWxhYmxlX3JlYXNvbjp4LmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbj8/eC51bmF2YWlsYWJsZV9yZWFzb259XTtpZih4LnBlcl9jdXJyZW5jeT8ubGVuZ3RoJiZtPT09Im1peGVkX2N1cnJlbmN5Iil7Y29uc3QgTj1nLmZpbHRlcihoPT5oLnBvaW50cy5sZW5ndGg+MCksYj1OLmZpbmQoaD0+aC5jdXJyZW5jeT09PW8pPz9OWzBdO2I/KGQ9ZS5qc3goTmUse3N0YXR1czpiLnN0YXR1cyxwb2ludHM6Yi5wb2ludHMsY292ZXJhZ2U6Yi5jb3ZlcmFnZSxyZWFzb246Yi51bmF2YWlsYWJsZV9yZWFzb259KSxmPWUuanN4cygiZGl2Iix7Y2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dCgicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpOLm1hcChoPT5lLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2guY3VycmVuY3k9PT1iLmN1cnJlbmN5PyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOmguY3VycmVuY3k9PT1iLmN1cnJlbmN5LG9uQ2xpY2s6KCk9PmkoaC5jdXJyZW5jeT8/bnVsbCksY2hpbGRyZW46aC5jdXJyZW5jeXx8dCgicGVyZi5jdXJyZW5jeV9zd2l0Y2giKX0saC5jdXJyZW5jeXx8Im5hdGl2ZSIpKX0pfSksZS5qc3goX2Use3BvaW50czpiLnBvaW50cyxjdXJyZW5jeTpiLmN1cnJlbmN5LGFyaWFMYWJlbDp0KCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiKX0pXX0pKTpmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOiJtaXhlZF9jdXJyZW5jeSIsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgicGVyZi5taXhlZF9jdXJyZW5jeV90aXRsZSIpLHN0YXRlOiJ1bmF2YWlsYWJsZSJ9KX0pfWVsc2UgaWYoZD1qKGMpP2cubWFwKE49PmUuanN4KE5lLHtzdGF0dXM6Zy5sZW5ndGg9PT0xP2M6Ti5zdGF0dXMscG9pbnRzOk4ucG9pbnRzLGNvdmVyYWdlOk4uY292ZXJhZ2UscmVhc29uOk4udW5hdmFpbGFibGVfcmVhc29ufSxOLmN1cnJlbmN5fHwiaGlzdG9yeSIpKTpudWxsLCFqKGMpKWY9ZS5qc3goImRpdiIseyJkYXRhLXJlYXNvbiI6bT8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoYHN0YXRlLiR7Y31gKSxzdGF0ZTpjLGJvZHk6bT90KGByZWFzb24uJHttfWApOnZvaWQgMH0pfSk7ZWxzZSBpZihtPT09Im1peGVkX2N1cnJlbmN5IilmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOiJtaXhlZF9jdXJyZW5jeSIsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgicGVyZi5taXhlZF9jdXJyZW5jeV90aXRsZSIpLHN0YXRlOiJ1bmF2YWlsYWJsZSJ9KX0pO2Vsc2UgaWYoeC5wb2ludHMubGVuZ3RoPT09MClmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOngudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgic3RhdGUubm9fZGF0YSIpLHN0YXRlOiJub19kYXRhIixib2R5Om0/dChgcmVhc29uLiR7bX1gKTp2b2lkIDB9KX0pO2Vsc2V7Y29uc3QgTj14LnBvaW50cztmPWUuanN4KF9lLHtwb2ludHM6TixjdXJyZW5jeTp4LmN1cnJlbmN5LGFyaWFMYWJlbDp0KCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiKX0pfX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1jYXJkLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnQoInBlcmYuYXNzZXRfYmFsYW5jZV90aXRsZSIpfSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJwZXJmLWhlYWQtbWV0YSIsY2hpbGRyZW46W18mJl8hPT0ib2siJiZqKF8pJiZlLmpzeChxLHtzdGF0dXM6XyxyZWFzb246eX0pLF8mJmooXykmJmsmJmUuanN4KFcse3ZhbHVlOmt9KV19KV19KSx1LGQsZl19KX1jb25zdCBkYT1bIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCIsIlN1biJdLHBhPXtNb246IuS4gCIsVHVlOiLkuowiLFdlZDoi5LiJIixUaHU6IuWbmyIsRnJpOiLkupQiLFNhdDoi5YWtIixTdW46IuaXpSJ9O2Z1bmN0aW9uIEsoYSl7cmV0dXJuIHR5cGVvZiBhPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGEpP2E6bnVsbH1mdW5jdGlvbiBrZShhKXtjb25zdCBuPUsoYS5yZXR1cm5fcGVyY2VudCk7cmV0dXJuIG49PT1udWxsPyIiOm4+MD8idXAiOm48MD8iZG93biI6ImZsYXQifWZ1bmN0aW9uICRlKGEsbil7Y29uc3QgbD1LKGEucmV0dXJuX3BlcmNlbnQpO2lmKGw9PT1udWxsfHxsPT09MHx8bjw9MClyZXR1cm47Y29uc3Qgcj1NYXRoLm1pbigxLE1hdGguYWJzKGwpL24pLHQ9OCtNYXRoLnJvdW5kKHIqNDApO3JldHVybmBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tJHtsPjA/InVwIjoiZG93biJ9KSAke3R9JSwgdHJhbnNwYXJlbnQpYH1mdW5jdGlvbiBtYSh7eWVhcjphLG1vbnRoOm4sY2VsbHM6bCxvbk5hdmlnYXRlOnJ9KXtjb25zdCB0PUMoKSxvPXooKSx7cHJlZnM6aX09bGUoKSxzPU1hdGgubWF4KDAsLi4ubC5tYXAobT0+e2NvbnN0IGc9SyhtLnJldHVybl9wZXJjZW50KTtyZXR1cm4gZz09PW51bGw/MDpNYXRoLmFicyhnKX0pKSx1PW5ldyBEYXRlLGQ9YCR7dS5nZXRGdWxsWWVhcigpfS0ke1N0cmluZyh1LmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZyh1LmdldERhdGUoKSkucGFkU3RhcnQoMiwiMCIpfWAsZj1kLnNsaWNlKDAsNyksXz1tPT57Y29uc3QgZz1LKG0ucmV0dXJuX3BlcmNlbnQpO2lmKGchPT1udWxsKXJldHVybiBzZShnLG8pO2NvbnN0IE49SyhtLmFtb3VudCk7cmV0dXJuIE4hPT1udWxsP2kuaGlkZUFtb3VudHM/QWUoTik6U3RyaW5nKE1hdGgucm91bmQoTikpOiIifTtpZihuPT09bnVsbClyZXR1cm4gZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLW5hdiIsY2hpbGRyZW46W2UuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKGEtMSxudWxsKSwiYXJpYS1sYWJlbCI6IuKAuSIsY2hpbGRyZW46IuKAuSJ9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY3VycmVudCBudW0iLGNoaWxkcmVuOmF9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+cihhKzEsbnVsbCksImFyaWEtbGFiZWwiOiLigLoiLGNoaWxkcmVuOiLigLoifSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXIteWVhci1ncmlkIixzdHlsZTp7bWFyZ2luVG9wOjEyfSxjaGlsZHJlbjpsLm1hcChtPT57Y29uc3QgZz1tLnVuYXZhaWxhYmxlX3JlYXNvbixOPWc9PT0ic25hcHNob3RfcGVuZGluZyIsYj1nPT09ImZ1dHVyZV9kYXRlInx8IU4mJiEhKG0ubW9udGgmJm0ubW9udGg+Zik7cmV0dXJuIGUuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YGNhbGVuZGFyLWNlbGwke2I/IiBjZWxsLWZ1dHVyZSI6IiJ9JHtOPyIgY2VsbC1wZW5kaW5nIjoiIn0ke0sobS5yZXR1cm5fcGVyY2VudCk9PT1udWxsJiZLKG0uYW1vdW50KT09PW51bGw/IiBjZWxsLWVtcHR5IjoiIn1gLHN0eWxlOntiYWNrZ3JvdW5kOmI/dm9pZCAwOiRlKG0scyl9LHRpdGxlOmI/dm9pZCAwOk4/dCgicmVhc29uLnNuYXBzaG90X3BlbmRpbmciKTptLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHttLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDAsb25DbGljazooKT0+bS5tb250aCYmcihhLE51bWJlcihtLm1vbnRoLnNwbGl0KCItIilbMV0pKSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNlbGwtZGF0ZSIsY2hpbGRyZW46bS5tb250aH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBjZWxsLXZhbHVlICR7Yj8iIjprZShtKX1gLGNoaWxkcmVuOmI/IsKgIjpfKG0pfHwiwqAifSksTiYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOnQoInJlYXNvbi5zbmFwc2hvdF9wZW5kaW5nIil9KV19LG0ubW9udGgpfSl9KV19KTtjb25zdCB5PW5ldyBNYXAobC5maWx0ZXIobT0+bS5kYXRlKS5tYXAobT0+W20uZGF0ZSxtXSkpLGs9bmV3IERhdGUoRGF0ZS5VVEMoYSxuLDApKS5nZXRVVENEYXRlKCkseD1bXTtsZXQgYz1bXTtmb3IobGV0IG09MTttPD1rO20rKyl7Y29uc3QgZz1gJHthfS0ke1N0cmluZyhuKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKG0pLnBhZFN0YXJ0KDIsIjAiKX1gLGI9KG5ldyBEYXRlKGAke2d9VDAwOjAwOjAwWmApLmdldFVUQ0RheSgpKzYpJTc7Zm9yKGI9PT0wJiZjLmxlbmd0aCYmKHgucHVzaChjKSxjPVtdKTtjLmxlbmd0aDxiOyljLnB1c2gobnVsbCk7Yy5wdXNoKHkuZ2V0KGcpfHx7ZGF0ZTpnLGFtb3VudDpudWxsLHJldHVybl9wZXJjZW50Om51bGwsY3VycmVuY3k6bnVsbCxzdGF0dXM6Im5vX2RhdGEiLHZhbHVlX2tpbmQ6ImFzc2V0X2NoYW5nZSIsdW5hdmFpbGFibGVfcmVhc29uOm51bGx9KX1yZXR1cm4gYy5sZW5ndGgmJngucHVzaChjKSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXItbmF2IixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6KCk9PnIoLi4ubj09PTE/W2EtMSwxMl06W2Esbi0xXSksImFyaWEtbGFiZWwiOiLigLkiLGNoaWxkcmVuOiLigLkifSksZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiY3VycmVudCBidXR0b24gYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKGEsbnVsbCksImFyaWEtbGFiZWwiOnQoInBlcmYuY2FsZW5kYXJfeWVhciIpLGNoaWxkcmVuOlthLCItIixTdHJpbmcobikucGFkU3RhcnQoMiwiMCIpXX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKC4uLm49PT0xMj9bYSsxLDFdOlthLG4rMV0pLCJhcmlhLWxhYmVsIjoi4oC6IixjaGlsZHJlbjoi4oC6In0pXX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLXNjcm9sbCIsc3R5bGU6e21hcmdpblRvcDoxMn0sY2hpbGRyZW46ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLW1vbnRoLWdyaWQiLGNoaWxkcmVuOltkYS5tYXAobT0+ZS5qc3goImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXItd2Vla2RheSIsY2hpbGRyZW46bz09PSJ6aCI/cGFbbV06bX0sbSkpLHguZmxhdE1hcCgobSxnKT0+WzAsMSwyLDMsNCw1LDZdLm1hcChOPT57Y29uc3QgYj1tW05dO2lmKCFiKXJldHVybiBlLmpzeCgiZGl2Iix7fSxgJHtnfS0ke059YCk7Y29uc3QgaD1TdHJpbmcoYi5zdGF0dXMpLHY9Yi51bmF2YWlsYWJsZV9yZWFzb24sdz12PT09InNuYXBzaG90X3BlbmRpbmciLEE9dj09PSJmdXR1cmVfZGF0ZSJ8fCF3JiYhIShiLmRhdGUmJmIuZGF0ZT5kKSxPPSFBJiYoSyhiLnJldHVybl9wZXJjZW50KSE9PW51bGx8fEsoYi5hbW91bnQpIT09bnVsbCksdGU9IUEmJihoPT09Im1hcmtldF9jbG9zZWQifHx2PT09Im1hcmtldF9jbG9zZWQifHx2PT09Im5vbl90cmFkaW5nX3dlZWtlbmQiKSxHPUE/dm9pZCAwOnc/dCgicmVhc29uLnNuYXBzaG90X3BlbmRpbmciKTpoPT09Im1hcmtldF9jbG9zZWQifHx2PT09Im1hcmtldF9jbG9zZWQiP3QoInN0YXRlLm1hcmtldF9jbG9zZWQiKTp2PT09Im5vbl90cmFkaW5nX3dlZWtlbmQiP3QoInJlYXNvbi5ub25fdHJhZGluZ193ZWVrZW5kIik6Yi51bmF2YWlsYWJsZV9yZWFzb24/dChgcmVhc29uLiR7Yi51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZTpgY2FsZW5kYXItY2VsbCR7QT8iIGNlbGwtZnV0dXJlIjoiIn0ke3c/IiBjZWxsLXBlbmRpbmciOiIifSR7dGU/IiBjZWxsLWNsb3NlZCI6IiJ9JHtPPyIiOiIgY2VsbC1lbXB0eSJ9YCxzdHlsZTp7YmFja2dyb3VuZDpBP3ZvaWQgMDokZShiLHMpfSx0aXRsZTpHLHRhYkluZGV4Onc/MDp2b2lkIDAsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjZWxsLWRhdGUgbnVtIixjaGlsZHJlbjpiLmRhdGU/TnVtYmVyKGIuZGF0ZS5zbGljZSg4KSk6IiJ9KSxPJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZTpgY2VsbC12YWx1ZSAke2tlKGIpfWAsY2hpbGRyZW46XyhiKX0pLHcmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjp0KCJyZWFzb24uc25hcHNob3RfcGVuZGluZyIpfSldfSxiLmRhdGUpfSkpXX0pfSldfSl9ZnVuY3Rpb24gX2Eoe3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KXtjb25zdCB0PUMoKSxvPW5ldyBEYXRlLFtpLHNdPVAudXNlU3RhdGUoe3llYXI6by5nZXRGdWxsWWVhcigpLG1vbnRoOm8uZ2V0TW9udGgoKSsxfSksW3UsZF09UC51c2VTdGF0ZShudWxsKSxmPXU/LnNjb3BlPT09YSYmdS5wbGF0Zm9ybT09PW4/dS5jdXJyZW5jeTp2b2lkIDAsXz1IKCgpPT5xZShhLGwsaS55ZWFyLGkubW9udGgsbixmKSxbYSxuLGwsaS55ZWFyLGkubW9udGgsZixyXSk7bGV0IHksaz1udWxsLHg9bnVsbCxjPW51bGwsbT0hMSxnPSExLE49ITEsYjtpZihfLnBoYXNlPT09ImxvYWRpbmciKXk9ZS5qc3goTCx7aGVpZ2h0OjIyMH0pO2Vsc2UgaWYoXy5waGFzZT09PSJlcnJvciIpeT1lLmpzeChGLHtvblJldHJ5Ol8ucmVsb2FkfSk7ZWxzZXtjb25zdCBoPV8uZGF0YTtrPWguc3RhdHVzLHg9aC51bmF2YWlsYWJsZV9yZWFzb24sYz1oLmFzX29mLG09aC52YWx1ZV9raW5kPT09ImFzc2V0X2NoYW5nZSIsZz0hIWguY292ZXJhZ2UmJnR5cGVvZiBoLmNvdmVyYWdlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoaC5jb3ZlcmFnZSkmJmguY292ZXJhZ2UuYXNzZXRfY2hhbmdlX2ZhbGxiYWNrPT09ITAsTj1oLmNlbGxzLnNvbWUodj0+di5vYnNlcnZlZF9hbW91bnQhPT1udWxsJiZ2Lm9ic2VydmVkX2Ftb3VudCE9PXZvaWQgMCksKGguYXZhaWxhYmxlX2N1cnJlbmNpZXM/Lmxlbmd0aHx8MCk+MSYmKGI9ZS5qc3goImRpdiIse2NsYXNzTmFtZToicGVyZi1jdXJyZW5jeS1zd2l0Y2giLGNoaWxkcmVuOmUuanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjp0KCJwZXJmLmN1cnJlbmN5X3N3aXRjaCIpLGNoaWxkcmVuOmguYXZhaWxhYmxlX2N1cnJlbmNpZXMubWFwKHY9PmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PWguY3VycmVuY3k/IiBhY3RpdmUiOiIifWAsImFyaWEtcHJlc3NlZCI6dj09PWguY3VycmVuY3ksb25DbGljazooKT0+ZCh7c2NvcGU6YSxwbGF0Zm9ybTpuLGN1cnJlbmN5OnZ9KSxjaGlsZHJlbjp2fSx2KSl9KX0pKSxqKGguc3RhdHVzKT9oLmNlbGxzLmxlbmd0aD09PTA/eT1lLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpoLnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoInN0YXRlLm5vX2RhdGEiKSxzdGF0ZToibm9fZGF0YSIsYm9keTpoLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHtoLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDB9KX0pOnk9ZS5qc3gobWEse3llYXI6aC55ZWFyLG1vbnRoOmgubW9udGgsY2VsbHM6aC5jZWxscyxvbk5hdmlnYXRlOih2LHcpPT5zKHt5ZWFyOnYsbW9udGg6d30pfSk6eT1lLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpoLnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoYHN0YXRlLiR7aC5zdGF0dXN9YCksc3RhdGU6aC5zdGF0dXMsYm9keTpoLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHtoLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDB9KX0pfXJldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWNhcmQtaGVhZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46dChtPyJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6InBlcmYuY2FsZW5kYXJfdGl0bGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dCgicGVyZi5jYWxlbmRhcl90aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2kubW9udGghPT1udWxsPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOmkubW9udGghPT1udWxsLG9uQ2xpY2s6KCk9PnMoaD0+KHsuLi5oLG1vbnRoOmgubW9udGg/P25ldyBEYXRlKCkuZ2V0TW9udGgoKSsxfSkpLGNoaWxkcmVuOnQoInBlcmYuY2FsZW5kYXJfbW9udGgiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7aS5tb250aD09PW51bGw/IiBhY3RpdmUiOiIifWAsImFyaWEtcHJlc3NlZCI6aS5tb250aD09PW51bGwsb25DbGljazooKT0+cyhoPT4oey4uLmgsbW9udGg6bnVsbH0pKSxjaGlsZHJlbjp0KCJwZXJmLmNhbGVuZGFyX3llYXIiKX0pXX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1oZWFkLW1ldGEiLGNoaWxkcmVuOlttJiZlLmpzeCh6ZSx7dG9uZToiYWNjZW50Iix0aXRsZTp0KCJwZXJmLmFzc2V0X2NoYW5nZV9ub3RlIiksY2hpbGRyZW46dCgicGVyZi5hc3NldF9jaGFuZ2VfY2FsZW5kYXJfdGFnIil9KSxrJiZrIT09Im9rIiYmaihrKSYmZS5qc3gocSx7c3RhdHVzOmsscmVhc29uOnh9KSxrJiZqKGspJiZlLmpzeChXLHt2YWx1ZTpjfSldfSldfSksYix5LGcmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLCJkYXRhLWFzc2V0LWNoYW5nZS1mYWxsYmFjayI6InRydWUiLGNoaWxkcmVuOnQoInBlcmYuY2FsZW5kYXJfZmFsbGJhY2tfbm90ZSIpfSksTiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46dCgicGVyZi5jYWxlbmRhcl9kZXBvc2l0X25vdGUiKX0pXX0pfWZ1bmN0aW9uIFNlKHtpdGVtczphfSl7Y29uc3Qgbj16KCksbD1NYXRoLm1heCgxZS05LC4uLmEubWFwKHI9Pk1hdGguYWJzKHIudmFsdWUpKSk7cmV0dXJuIGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImJhcmxpc3QiLGNoaWxkcmVuOmEubWFwKHI9Pntjb25zdCB0PU1hdGguYWJzKHIudmFsdWUpL2wqNTAsbz1yLnZhbHVlPjA7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LXJvdyIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJiYXJsaXN0LWxhYmVsIix0aXRsZTpyLmxhYmVsLGNoaWxkcmVuOnIubGFiZWx9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LXRyYWNrIixyb2xlOiJpbWciLCJhcmlhLWxhYmVsIjpgJHtyLmxhYmVsfSAke3NlKHIudmFsdWUsbil9YCxjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LWZpbGwiLHN0eWxlOntiYWNrZ3JvdW5kOm8/InZhcigtLXVwKSI6InZhcigtLWRvd24pIix3aWR0aDpgJHt0fSVgLGxlZnQ6bz8iNTAlIjpgJHs1MC10fSVgfX0pfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6YGJhcmxpc3QtdmFsdWUgJHtvPyJ1cCI6ci52YWx1ZTwwPyJkb3duIjoiZmxhdCJ9YCxjaGlsZHJlbjpzZShyLnZhbHVlLG4pfSldfSxyLmlkKX0pfSl9Y29uc3QgQ2U9NTtmdW5jdGlvbiBmYSh7dmFsdWU6YX0pe2NvbnN0IG49eigpO3JldHVybiBlLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpIZShhLG4pfSl9ZnVuY3Rpb24gaGEoe3N0YXRlOmF9KXtjb25zdCBuPUMoKSxsPW5lKCk7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLGNoaWxkcmVuOltlLmpzeChMLHtoZWlnaHQ6MzJ9KSxlLmpzeChMLHtoZWlnaHQ6MzJ9KSxlLmpzeChMLHtoZWlnaHQ6MzJ9KV19KTtpZihhLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3goRix7b25SZXRyeTphLnJlbG9hZH0pO2NvbnN0IHI9YS5kYXRhO2lmKCFqKHIuc3RhdHVzKSlyZXR1cm4gZS5qc3goRCx7dGl0bGU6bihgc3RhdGUuJHtyLnN0YXR1c31gKSxzdGF0ZTpyLnN0YXR1c30pO2NvbnN0IHQ9W3tpZDoiYWNjb3VudCIsaGVhZGVyOm4oInBlcmYuY29sLmFjY291bnQiKSxjZWxsOnM9PmwuYWNjb3VudChzLmFjY291bnRfYWxpYXMscy5wbGF0Zm9ybSksc29ydFZhbHVlOnM9PnMuYWNjb3VudF9hbGlhc30se2lkOiJzeW1ib2wiLGhlYWRlcjpuKCJwZXJmLmNvbC5zeW1ib2wiKSxjZWxsOnM9PmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJob2xkaW5nLXN5bWJvbCIsY2hpbGRyZW46cy5zeW1ib2x9KSxzb3J0VmFsdWU6cz0+cy5zeW1ib2x9LHtpZDoicXVhbnRpdHkiLGhlYWRlcjpuKCJwZXJmLmNvbC5xdWFudGl0eSIpLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9lLmpzeChmYSx7dmFsdWU6cy5xdWFudGl0eX0pOiLigJQiLHNvcnRWYWx1ZTpzPT5zLnF1YW50aXR5fSx7aWQ6Im1hcmtldF92YWx1ZSIsaGVhZGVyOmAke24oInBlcmYuY29sLm1hcmtldF92YWx1ZSIpfSAoJHtuKCJwZXJmLmNvbC5jdXJyZW5jeSIpfSlgLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9lLmpzeChVLHt2YWx1ZTpzLm1hcmtldF92YWx1ZSxjdXJyZW5jeTpzLmN1cnJlbmN5fSk6IuKAlCIsc29ydFZhbHVlOnM9PnMubWFya2V0X3ZhbHVlfSx7aWQ6ImF2Z19jb3N0IixoZWFkZXI6bigicGVyZi5jb2wuY29zdF9iYXNpcyIpLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9zLmF2Z19jb3N0IT09bnVsbCYmTnVtYmVyLmlzRmluaXRlKHMuYXZnX2Nvc3QpP2UuanN4KFUse3ZhbHVlOnMuYXZnX2Nvc3QsY3VycmVuY3k6cy5jdXJyZW5jeX0pOndlKHMpIT09bnVsbD9lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZy1icm9rZXItY29zdCIsY2hpbGRyZW46W2UuanN4KEIse3ZhbHVlOndlKHMpLGN1cnJlbmN5OnMuY3VycmVuY3l9KSxlLmpzeCgic21hbGwiLHtjaGlsZHJlbjpuKCJwZXJmLmJyb2tlcl9jb3N0X2xhYmVsIil9KV19KToi4oCUIjoi4oCUIixzb3J0VmFsdWU6cz0+cy5hdmdfY29zdH0se2lkOiJ1bnJlYWxpemVkX3BubCIsaGVhZGVyOm4oInBlcmYuY29sLnVucmVhbGl6ZWRfcG5sIiksbnVtZXJpYzohMCxjZWxsOnM9Pmoocy5zdGF0dXMpP2UuanN4KFUse3ZhbHVlOnMudW5yZWFsaXplZF9wbmwsY3VycmVuY3k6cy5jdXJyZW5jeSxzaWduZWQ6ITB9KToi4oCUIixzb3J0VmFsdWU6cz0+cy51bnJlYWxpemVkX3BubH0se2lkOiJzdGF0dXMiLGhlYWRlcjpuKCJjb21tb24uc3RhdHVzIiksY2VsbDpzPT5lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZy1zdGF0dXMiLGNoaWxkcmVuOltzLnN0YXR1cyE9PSJvayImJmUuanN4KHEse3N0YXR1czpzLnN0YXR1cyxyZWFzb246cy51bmF2YWlsYWJsZV9yZWFzb259KSxqKHMuc3RhdHVzKSYmWyJxdWFudGl0eSIsIm1hcmtldF92YWx1ZSIsImF2Z19jb3N0IiwidW5yZWFsaXplZF9wbmwiXS5zb21lKHU9PnNbdV09PT1udWxsKSYmZS5qc3goInNtYWxsIix7Y2hpbGRyZW46bigicGVyZi5maWVsZHNfbm90X3Byb3ZpZGVkIix7ZmllbGRzOlsicXVhbnRpdHkiLCJtYXJrZXRfdmFsdWUiLCJhdmdfY29zdCIsInVucmVhbGl6ZWRfcG5sIl0uZmlsdGVyKHU9PnNbdV09PT1udWxsKS5tYXAodT0+bih1PT09ImF2Z19jb3N0Ij8icGVyZi5hdmVyYWdlX2Nvc3RfZmllbGQiOmBwZXJmLmNvbC4ke3V9YCkpLmpvaW4oIiAvICIpfSl9KV19KX1dLG89ci5jb3ZlcmFnZSxpPUFycmF5LmlzQXJyYXkobyk/by5sZW5ndGg6byYmdHlwZW9mIG89PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KG8uYWNjb3VudF9hbGlhc2VzKT9vLmFjY291bnRfYWxpYXNlcy5sZW5ndGg6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZ3MtdmlldyIsImRhdGEtc3RhdGUiOnIuc3RhdHVzLCJkYXRhLXJlYXNvbiI6ci51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCwiZGF0YS1jb3ZlcmFnZS1jb3VudCI6aSxjaGlsZHJlbjpbZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLHN0eWxlOnttYXJnaW5Ub3A6MH0sY2hpbGRyZW46W24oci5sYWJlbF9rZXkpLHIuc3RhdHVzIT09Im9rIiYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOlsiIMK3ICIsZS5qc3gocSx7c3RhdHVzOnIuc3RhdHVzfSldfSldfSksci5yb3dzLnNvbWUocz0+aihzLnN0YXR1cykmJltzLm1hcmtldF92YWx1ZSxzLmF2Z19jb3N0LHMudW5yZWFsaXplZF9wbmxdLnNvbWUodT0+dT09PW51bGwpKSYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bigicGVyZi5ob2xkaW5nc19taXNzaW5nX2ZpZWxkcyIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBob2xkaW5ncy1zY3JvbGwtaGludCIsY2hpbGRyZW46bigicGVyZi5ob2xkaW5nc19zY3JvbGxfaGludCIpfSksZS5qc3goUmUse2NvbHVtbnM6dCxyb3dzOnIucm93cyxyb3dLZXk6cz0+YCR7cy5wbGF0Zm9ybX06JHtzLmFjY291bnRfYWxpYXN9fCR7cy5zeW1ib2x9YCxkZWZhdWx0U29ydDp7Y29sdW1uOiJtYXJrZXRfdmFsdWUiLGRpcmVjdGlvbjoiZGVzYyJ9LGNhcHRpb246bigicGVyZi5ob2xkaW5nc190aXRsZSIpfSldfSl9ZnVuY3Rpb24geGEoYSl7aWYoIWooYS5zdGF0dXMpKXJldHVybiBudWxsO2NvbnN0IG49YS51bnJlYWxpemVkX3BubCxsPWEudW5yZWFsaXplZF9wbmxfcGVyY2VudDtpZih0eXBlb2YgbiE9Im51bWJlciJ8fCFOdW1iZXIuaXNGaW5pdGUobil8fHR5cGVvZiBsIT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZShsKSlyZXR1cm4gbnVsbDtjb25zdCByPXR5cGVvZiBhLmN1cnJlbmN5PT0ic3RyaW5nIiYmYS5jdXJyZW5jeS50cmltKCk/YS5jdXJyZW5jeS50cmltKCk6bnVsbDtyZXR1cm57cm93OmEsaWQ6YCR7YS5wbGF0Zm9ybX06JHthLmFjY291bnRfYWxpYXN9fCR7YS5zeW1ib2x9YCxzeW1ib2w6YS5zeW1ib2wsY3VycmVuY3k6cixwbmw6bix2YWx1ZTpsfX1mdW5jdGlvbiBiYShhLG4pe2NvbnN0IGw9YS5tYXAoeGEpLmZpbHRlcihpPT5pIT09bnVsbCkscj1sLmZpbHRlcihpPT5pLmN1cnJlbmN5PT09bnVsbCkubGVuZ3RoLHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBsKXtpZihpLmN1cnJlbmN5PT09bnVsbCljb250aW51ZTtjb25zdCBzPXQuZ2V0KGkuY3VycmVuY3kpO3M/cy5wdXNoKGkpOnQuc2V0KGkuY3VycmVuY3ksW2ldKX1yZXR1cm57Z3JvdXBzOlsuLi50LmVudHJpZXMoKV0uc29ydCgoW2ldLFtzXSk9PmkubG9jYWxlQ29tcGFyZShzKSkubWFwKChbaSxzXSk9Pntjb25zdCB1PWQ9Pih7aWQ6ZC5pZCxsYWJlbDpgJHtkLnN5bWJvbH0gwrcgJHtuKGQucm93KX1gLHZhbHVlOmQudmFsdWV9KTtyZXR1cm57Y3VycmVuY3k6aSx3aW5uZXJzOnMuZmlsdGVyKGQ9PmQucG5sPjApLnNvcnQoKGQsZik9PmYucG5sLWQucG5sKS5zbGljZSgwLENlKS5tYXAodSksbG9zZXJzOnMuZmlsdGVyKGQ9PmQucG5sPDApLnNvcnQoKGQsZik9PmQucG5sLWYucG5sKS5zbGljZSgwLENlKS5tYXAodSl9fSkuZmlsdGVyKGk9Pmkud2lubmVycy5sZW5ndGg+MHx8aS5sb3NlcnMubGVuZ3RoPjApLHJhbmtlZENvdW50OmwubGVuZ3RoLXIsbWlzc2luZ0N1cnJlbmN5Q291bnQ6cn19ZnVuY3Rpb24geWEoe3N0YXRlOmF9KXtjb25zdCBuPUMoKSxsPW5lKCk7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goTCx7aGVpZ2h0OjE2MH0pO2lmKGEucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChGLHtvblJldHJ5OmEucmVsb2FkfSk7Y29uc3Qgcj1hLmRhdGE7aWYoIWooci5zdGF0dXMpKXJldHVybiBlLmpzeChELHt0aXRsZTpuKGBzdGF0ZS4ke3Iuc3RhdHVzfWApLHN0YXRlOnIuc3RhdHVzfSk7Y29uc3R7Z3JvdXBzOnQscmFua2VkQ291bnQ6byxtaXNzaW5nQ3VycmVuY3lDb3VudDppfT1iYShyLnJvd3Mscz0+bC5hY2NvdW50KHMuYWNjb3VudF9hbGlhcyxzLnBsYXRmb3JtKSk7aWYoIXQubGVuZ3RoKXtjb25zdCBzPWk+MD9uKCJwZXJmLnJhbmtpbmdfbWlzc2luZ19jdXJyZW5jeSIpOm8+MD92b2lkIDA6ci5yb3dzLmxlbmd0aD4wP24oInBlcmYucmFua2luZ19taXNzaW5nX2ZpZWxkcyIpOnIudW5hdmFpbGFibGVfcmVhc29uP24oYHJlYXNvbi4ke3IudW5hdmFpbGFibGVfcmVhc29ufWApOm4oInJlYXNvbi5wb3NpdGlvbnNfbm90X2Nvbm5lY3RlZCIpO3JldHVybiBlLmpzeChELHt0aXRsZTpuKG8+MD8icGVyZi5yYW5raW5nX25vX21vdmVtZW50IjoicGVyZi5yYW5raW5nX3VuYXZhaWxhYmxlIiksYm9keTpzfSl9cmV0dXJuIGUuanN4cygiZGl2Iix7Y2hpbGRyZW46W3QubWFwKHM9PmUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicGVyZi1yYW5raW5nLWN1cnJlbmN5IiwiZGF0YS1jdXJyZW5jeSI6cy5jdXJyZW5jeSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyBwZXJmLXJhbmtpbmctY3VycmVuY3ktaGVhZGluZyIsY2hpbGRyZW46cy5jdXJyZW5jeX0pLHMud2lubmVycy5sZW5ndGg+MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtcmFua2luZy1zZWN0aW9uIixjaGlsZHJlbjpbZS5qc3goImg0Iix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyIsY2hpbGRyZW46bigicGVyZi5yYW5raW5nX3dpbm5lcnMiKX0pLGUuanN4KFNlLHtpdGVtczpzLndpbm5lcnN9KV19KSxzLmxvc2Vycy5sZW5ndGg+MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtcmFua2luZy1zZWN0aW9uIixjaGlsZHJlbjpbZS5qc3goImg0Iix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyIsY2hpbGRyZW46bigicGVyZi5yYW5raW5nX2xvc2VycyIpfSksZS5qc3goU2Use2l0ZW1zOnMubG9zZXJzfSldfSldfSxzLmN1cnJlbmN5KSksaT4wJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpuKCJwZXJmLnJhbmtpbmdfbWlzc2luZ19jdXJyZW5jeSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bigicGVyZi5uYXRpdmVfdG90YWxzX25vdGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOm4oInBlcmYucmFua2luZ19ub3RlIil9KV19KX1jb25zdCBCZT0vXi0/KD86MHxbMS05XVxkKikoPzpcLlxkKyk/JC87ZnVuY3Rpb24gd2UoYSl7cmV0dXJuIGEucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSImJmEuYnJva2VyX2Nvc3RfbWV0aG9kPT09ImJyb2tlcl9jb25maWd1cmVkIiYmdHlwZW9mIGEuYnJva2VyX2Nvc3RfcHJpY2U9PSJzdHJpbmciJiZCZS50ZXN0KGEuYnJva2VyX2Nvc3RfcHJpY2UpP2EuYnJva2VyX2Nvc3RfcHJpY2U6bnVsbH1mdW5jdGlvbiB2YShhKXtjb25zdCBuPWEuc3RhcnRzV2l0aCgiLSIpLGw9bj9hLnNsaWNlKDEpOmEsW3IsdF09bC5zcGxpdCgiLiIpLG89ci5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCIsIik7cmV0dXJuYCR7bj8iLSI6IiJ9JHtvfSR7dD09PXZvaWQgMD8iIjpgLiR7dH1gfWB9ZnVuY3Rpb24gQih7dmFsdWU6YSxjdXJyZW5jeTpufSl7Y29uc3R7cHJlZnM6bH09bGUoKTtyZXR1cm4gdHlwZW9mIGEhPSJzdHJpbmcifHwhQmUudGVzdChhKT9lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZmxhdCIsY2hpbGRyZW46IuKAlCJ9KTpsLmhpZGVBbW91bnRzP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSIsY2hpbGRyZW46QWUoYSl9KTplLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im51bSIsdGl0bGU6YSxjaGlsZHJlbjpbdmEoYSksbj9gICR7bn1gOiIiXX0pfWZ1bmN0aW9uIGphKHtzY29wZTphLHBsYXRmb3JtOm4scmFuZ2U6bCxlcG9jaDpyfSl7Y29uc3QgdD1DKCksbz1uZSgpLGk9SCgoKT0+VmUoYSxsLG4pLFthLG4sbCxyXSk7aWYoaS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goTCx7aGVpZ2h0OjQ4fSk7aWYoaS5waGFzZT09PSJlcnJvciIpcmV0dXJuIGUuanN4KEYse29uUmV0cnk6aS5yZWxvYWR9KTtjb25zdCBzPWkuZGF0YTtpZighc3x8IUFycmF5LmlzQXJyYXkocy5yb3dzKSlyZXR1cm4gZS5qc3goRix7b25SZXRyeTppLnJlbG9hZH0pO2NvbnN0IHU9cy5yb3dzO2lmKCF1Lmxlbmd0aCYmcy5zdGF0dXM9PT0ibm90X2Nvbm5lY3RlZCIpcmV0dXJuIGUuanN4KEQse3RpdGxlOnQoInN0YXRlLm5vdF9jb25uZWN0ZWQiKSxib2R5OnQoInJlYXNvbi5maWxsc19ub3RfY29ubmVjdGVkIiksc3RhdGU6Im5vdF9jb25uZWN0ZWQifSk7Y29uc3QgZD1bLi4udV0uc29ydCgoYyxtKT0+U3RyaW5nKG0udHJhZGVfZGF0ZT8/IiIpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKGMudHJhZGVfZGF0ZT8/IiIpKSksZj1jPT5jLnNpZGU9PT0iQlVZIj90KCJwZXJmLnNpZGUuYnV5Iik6Yy5zaWRlPT09IlNFTEwiP3QoInBlcmYuc2lkZS5zZWxsIik6IuKAlCIsXz1be2lkOiJ0cmFkZV9kYXRlIixoZWFkZXI6dCgicGVyZi5jb2wuZGF0ZSIpLGNlbGw6Yz0+ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIiwiZGF0YS1hc3NldC1jYXRlZ29yeSI6Yy5hc3NldF9jYXRlZ29yeSwiZGF0YS1leGVjdXRpb24tcmVmIjpjLmV4ZWN1dGlvbl9yZWYsY2hpbGRyZW46Yy50cmFkZV9kYXRlfSksYy5sb2NhbF90aW1lJiZlLmpzeHMoInNtYWxsIix7Y2xhc3NOYW1lOiJ0cmFkZS10aW1lIixjaGlsZHJlbjpbYy5sb2NhbF90aW1lLnNsaWNlKDExKSxjLnRpbWVfem9uZT9gIMK3ICR7Yy50aW1lX3pvbmV9YDoiIl19KV19KSxzb3J0VmFsdWU6Yz0+Yy50cmFkZV9kYXRlfSx7aWQ6ImFjY291bnQiLGhlYWRlcjp0KCJwZXJmLmNvbC5hY2NvdW50IiksY2VsbDpjPT5lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W28uYWNjb3VudChjLmFjY291bnRfYWxpYXMsYy5wbGF0Zm9ybSksZS5qc3goInNtYWxsIix7Y2xhc3NOYW1lOiJ0cmFkZS10aW1lIixjaGlsZHJlbjpvLnBsYXRmb3JtKGMucGxhdGZvcm0pfSldfSksc29ydFZhbHVlOmM9PmAke2MucGxhdGZvcm19OiR7Yy5hY2NvdW50X2FsaWFzfWB9LHtpZDoic3ltYm9sIixoZWFkZXI6dCgicGVyZi5jb2wuc3ltYm9sIiksY2VsbDpjPT5jLnN5bWJvbCxzb3J0VmFsdWU6Yz0+Yy5zeW1ib2x9LHtpZDoic2lkZSIsaGVhZGVyOnQoInBlcmYuY29sLnNpZGUiKSxjZWxsOmZ9LHtpZDoicXVhbnRpdHkiLGhlYWRlcjp0KCJwZXJmLmNvbC5xdWFudGl0eSIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnF1YW50aXR5fSl9LHtpZDoicHJpY2UiLGhlYWRlcjp0KCJwZXJmLmNvbC5wcmljZSIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnByaWNlLGN1cnJlbmN5OmMuY3VycmVuY3l9KX0se2lkOiJjb21taXNzaW9uIixoZWFkZXI6dCgicGVyZi5jb2wuY29tbWlzc2lvbiIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLmNvbW1pc3Npb24sY3VycmVuY3k6Yy5jb21taXNzaW9uX2N1cnJlbmN5fSl9LHtpZDoidGF4ZXMiLGhlYWRlcjp0KCJwZXJmLmNvbC50YXhlcyIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnRheGVzLGN1cnJlbmN5OmMuY3VycmVuY3l9KX1dLHk9cy5yZXBvcnRlZF9leGVjdXRpb25fY291bnQ/P3UubGVuZ3RoLGs9cy5zdGF0dXM9PT0icGFydGlhbCJ8fHMuc3RhdHVzPT09Im9rIj8ibm9fZGF0YSI6cy5zdGF0dXMseD1zLnN0YXR1cz09PSJwYXJ0aWFsIj90KCJwZXJmLmV4ZWN1dGlvbnNfZW1wdHlfcGFydGlhbCIpOnMuc3RhdHVzPT09Im9rIj92b2lkIDA6cy51bmF2YWlsYWJsZV9yZWFzb24/dChgcmVhc29uLiR7cy51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToidHJhZGUtdmlldyIsImRhdGEtc3RhdGUiOnMuc3RhdHVzLCJkYXRhLXJlYXNvbiI6cy51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLXN1bW1hcnkiLGNoaWxkcmVuOlt5PjAmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnQoInBlcmYuZXhlY3V0aW9uc19jb3VudCIse2NvdW50Onl9KX0pLHMuc3RhdHVzPT09InBhcnRpYWwiJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RhdGUtc2hvcnQiLHRpdGxlOnQoInBlcmYuZXhlY3V0aW9uc19wYXJ0aWFsIiksY2hpbGRyZW46dCgicGVyZi5leGVjdXRpb25zX3BhcnRpYWxfc2hvcnQiKX0pLHMuYXNfb2YmJmUuanN4KFcse3ZhbHVlOnMuYXNfb2Z9KV19KSxkLmxlbmd0aD9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLXRhYmxlIixjaGlsZHJlbjplLmpzeChSZSx7Y29sdW1uczpfLHJvd3M6ZCxyb3dLZXk6Yz0+YCR7Yy5wbGF0Zm9ybX06JHtjLmFjY291bnRfYWxpYXN9OiR7Yy5leGVjdXRpb25fcmVmfWAsZGVmYXVsdFNvcnQ6e2NvbHVtbjoidHJhZGVfZGF0ZSIsZGlyZWN0aW9uOiJkZXNjIn0sY2FwdGlvbjp0KCJwZXJmLnRyYWRlc190aXRsZSIpfSl9KSxlLmpzeCgidWwiLHtjbGFzc05hbWU6InRyYWRlLWNhcmRzIiwiYXJpYS1sYWJlbCI6dCgicGVyZi50cmFkZXNfdGl0bGUiKSxjaGlsZHJlbjpkLm1hcChjPT5lLmpzeHMoImxpIix7Y2xhc3NOYW1lOiJ0cmFkZS1jYXJkIiwiZGF0YS1hc3NldC1jYXRlZ29yeSI6Yy5hc3NldF9jYXRlZ29yeSwiZGF0YS1leGVjdXRpb24tcmVmIjpjLmV4ZWN1dGlvbl9yZWYsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0cmFkZS1jYXJkLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1kYXRlIG51bSIsY2hpbGRyZW46Yy50cmFkZV9kYXRlfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRyYWRlLWNhcmQtc3ltYm9sIixjaGlsZHJlbjpjLnN5bWJvbH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0cmFkZS1zaWRlIixjaGlsZHJlbjpmKGMpfSksYy5sb2NhbF90aW1lJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRyYWRlLWNhcmQtdGltZSIsY2hpbGRyZW46W2MubG9jYWxfdGltZS5zbGljZSgxMSksYy50aW1lX3pvbmU/YCDCtyAke2MudGltZV96b25lfWA6IiJdfSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1hY2NvdW50IixjaGlsZHJlbjpvLmFjY291bnQoYy5hY2NvdW50X2FsaWFzLGMucGxhdGZvcm0pfSksZS5qc3hzKCJkbCIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1maWd1cmVzIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLWZpZ3VyZSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInBlcmYuY29sLnF1YW50aXR5Iil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChCLHt2YWx1ZTpjLnF1YW50aXR5fSl9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToidHJhZGUtZmlndXJlIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgicGVyZi5jb2wucHJpY2UiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KEIse3ZhbHVlOmMucHJpY2UsY3VycmVuY3k6Yy5jdXJyZW5jeX0pfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLWZpZ3VyZSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInBlcmYuY29sLmNvbW1pc3Npb24iKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KEIse3ZhbHVlOmMuY29tbWlzc2lvbixjdXJyZW5jeTpjLmNvbW1pc3Npb25fY3VycmVuY3l9KX0pXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0cmFkZS1maWd1cmUiLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJwZXJmLmNvbC50YXhlcyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46ZS5qc3goQix7dmFsdWU6Yy50YXhlcyxjdXJyZW5jeTpjLmN1cnJlbmN5fSl9KV19KV19KV19LGAke2MucGxhdGZvcm19OiR7Yy5hY2NvdW50X2FsaWFzfToke2MuZXhlY3V0aW9uX3JlZn1gKSl9KV19KTplLmpzeChELHt0aXRsZTp0KGBzdGF0ZS4ke2t9YCksYm9keTp4LHN0YXRlOmt9KV19KX1mdW5jdGlvbiBnYSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHJhbmdlOmwsZXBvY2g6cn0pe2NvbnN0IHQ9QygpLFtvLGldPVAudXNlU3RhdGUoImhvbGRpbmdzIikscz1IKCgpPT5PZShhLGwsbiksW2EsbixsLHJdKTtsZXQgdTtyZXR1cm4gbz09PSJob2xkaW5ncyI/dT1lLmpzeChoYSx7c3RhdGU6c30pOm89PT0icmFua2luZyI/dT1lLmpzeCh5YSx7c3RhdGU6c30pOnU9ZS5qc3goamEse3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4KEdlLHtpZDoicGVyZm9ybWFuY2UiLGl0ZW1zOlt7aWQ6ImhvbGRpbmdzIixsYWJlbDp0KCJwZXJmLmhvbGRpbmdzX3RpdGxlIil9LHtpZDoicmFua2luZyIsbGFiZWw6dCgicGVyZi5yYW5raW5nX3RpdGxlIil9LHtpZDoidHJhZGVzIixsYWJlbDp0KCJwZXJmLnRyYWRlc190aXRsZSIpfV0sYWN0aXZlOm8sb25DaGFuZ2U6aSxhcmlhTGFiZWw6dCgibmF2LnBlcmZvcm1hbmNlIil9KSxlLmpzeHMoImRpdiIse2lkOiJwZXJmb3JtYW5jZS1wYW5lbCIsY2xhc3NOYW1lOiJwZXJmLXRhYi1ib2R5Iixyb2xlOiJ0YWJwYW5lbCIsImFyaWEtbGFiZWxsZWRieSI6YHBlcmZvcm1hbmNlLXRhYi0ke299YCx0YWJJbmRleDowLGNoaWxkcmVuOltvIT09InRyYWRlcyImJnMucGhhc2U9PT0icmVhZHkiJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjplLmpzeChaZSx7Y291bnRzOnMuZGF0YS5mcmVzaG5lc3Nfc3VtbWFyeX0pfSksdV19KV19KX1mdW5jdGlvbiBUYSgpe2NvbnN0IGE9QygpLG49eigpLHtwcmVmczpsfT1sZSgpLHtzY29wZTpyLG9wdGlvbnM6dH09cmUoKSxvPVRlKHIpLGk9cj09PSJhbGwiP3ZvaWQgMDp0LmZpbmQoZz0+YCR7Zy5wbGF0Zm9ybX06JHtnLmFsaWFzfWA9PT1yKT8ucGxhdGZvcm0sW3MsdV09UC51c2VTdGF0ZShsLmRlZmF1bHRSYW5nZSksW2QsZl09UC51c2VTdGF0ZSgwKSxfPSgpPT5mKGc9PmcrMSkseT1IKCgpPT5ZZShyLHMsaSksW3IsaSxzLGRdKSxrPUgoKCk9PlVlKHIscyxpKSxbcixpLHMsZF0pLHg9cj09PSJhbGwiJiZrLnBoYXNlPT09InJlYWR5IiYmKGsuZGF0YS5wZXJfYWNjb3VudD8/W10pLnNvbWUoZz0+aihnLnN0YXR1cykmJmcucmV0dXJuX2tpbmQ9PT0idHdyIiYmRWUoZy5wb2ludHMpLmxlbmd0aD4wKSxjPXkucGhhc2U9PT0icmVhZHkiJiZqKHkuZGF0YS5zdGF0dXMpJiZ5LmRhdGEudHdyX3JldHVybl9wZXJjZW50IT09bnVsbD9zZSh5LmRhdGEudHdyX3JldHVybl9wZXJjZW50LG4pOm51bGwsbT15LnBoYXNlPT09InJlYWR5Ij97W3NdOmN9OnZvaWQgMDtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltlLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOmEoIm5hdi5wZXJmb3JtYW5jZSIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOltlLmpzeChJZSx7dmFsdWU6cyxvbkNoYW5nZTp1LHJldHVybnM6bX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6XyxjaGlsZHJlbjphKCJjb21tb24ucmVmcmVzaCIpfSldfSldfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJwYWdlLXN1YnRpdGxlIixjaGlsZHJlbjpbbywiIMK3ICIsYShgcGVyZi5yYW5nZS4ke3N9YCldfSksZS5qc3godGEse3Njb3BlOnIscGxhdGZvcm06aSxzdGF0ZTp5LGNoYXJ0QXZhaWxhYmxlOnh9KSxlLmpzeChvYSx7c2NvcGU6cixwbGF0Zm9ybTppLHN0YXRlOmt9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1kdW8tZ3JpZCIsY2hpbGRyZW46W2UuanN4KHVhLHtzY29wZTpyLHBsYXRmb3JtOmkscmFuZ2U6cyxlcG9jaDpkfSksZS5qc3goX2Ese3Njb3BlOnIscGxhdGZvcm06aSxyYW5nZTpzLGVwb2NoOmR9KV19KSxlLmpzeChnYSx7c2NvcGU6cixwbGF0Zm9ybTppLHJhbmdlOnMsZXBvY2g6ZH0pXX0pfWV4cG9ydHtUYSBhcyBkZWZhdWx0fTsK" }, + "/v2/assets/PerformancePage-S-TG_zQB.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgQyx0IGFzIHosYiBhcyByZSxqIGFzIGUsbyBhcyBMLEUgYXMgRix3IGFzIFYsUyBhcyBxLGYgYXMgVyxQIGFzIGFlLE0gYXMgVSx4IGFzIHBlLHkgYXMgbmUsciBhcyBQLGggYXMgRCx6IGFzIEZlLG0gYXMgUGUsRCBhcyBsZSxGIGFzIHNlLEcgYXMgQWUsZCBhcyBxZSxCIGFzIHplLEogYXMgT2UsSyBhcyBWZSxMIGFzIEhlLFIgYXMgSWUsbiBhcyBZZSxxIGFzIFVlfWZyb20iLi9pbmRleC1EdG5EMFY2WC5qcyI7aW1wb3J0e3UgYXMgSH1mcm9tIi4vaG9va3MtQmk1bzJWVEQuanMiO2ltcG9ydHtLIGFzIFN9ZnJvbSIuL0twaUNhcmQtRDVaWTJnNm0uanMiO2ltcG9ydHtjIGFzIEksciBhcyBqLEQgYXMgY2UsVSBhcyBpZSx1IGFzIFRlLGkgYXMgbWUsTCBhcyBEZSxDIGFzIFdlLEEgYXMgX2UsRiBhcyBaZX1mcm9tIi4vY2FzaGZsb3dNZXRob2QtRG1UVDZHVi0uanMiO2ltcG9ydHtEIGFzIFJlfWZyb20iLi9EYXRhVGFibGUtQ1R1TTh3WmcuanMiO2ltcG9ydHtUIGFzIEdlfWZyb20iLi9UYWJzLUJJVmNJUENvLmpzIjtpbXBvcnQiLi90aWNrcy1CY1dhd000ZC5qcyI7Y29uc3QgUWU9WyLnurPmlq/ovr7lhYsxMDAiLCLmoIfmma41MDAiXTtmdW5jdGlvbiBNZShhLG4sbCl7bGV0IHI7aWYoYT09PSJhbGwiKXtjb25zdCBpPWwuZmlsdGVyKHU9PnUucGFwZXI9PT0hMSk7cj0oaS5sZW5ndGg+MD9pOmwpLm1hcCh1PT51LnBsYXRmb3JtKX1lbHNle2NvbnN0IGk9bnx8YS5zbGljZSgwLE1hdGgubWF4KDAsYS5pbmRleE9mKCI6IikpKTtyPWk/W2ldOltdfXI9Wy4uLm5ldyBTZXQoci5maWx0ZXIoQm9vbGVhbikpXTtjb25zdCB0PXIuaW5jbHVkZXMoImJpbmFuY2UiKSxvPXIuc29tZShpPT5pIT09ImJpbmFuY2UiKTtyZXR1cm4gdD97ZW5hYmxlZDohMSxyZWFzb246bz8ibWl4ZWQiOiJjcnlwdG8iLGRlZmF1bHRzOltdfTp7ZW5hYmxlZDohMCxyZWFzb246bnVsbCxkZWZhdWx0czpRZX19ZnVuY3Rpb24gWGUoYSl7cmV0dXJuIWF8fGE9PT0iVVNEIn1mdW5jdGlvbiBKZShhKXtyZXR1cm4gYS50d3JfcmV0dXJuX3BlcmNlbnQ9PT1udWxsJiZhLmFtb3VudD09PW51bGwmJmEubWF4X2RyYXdkb3duLnBlcmNlbnQ9PT1udWxsJiYoYS5wZXJfY3VycmVuY3k/P1tdKS5ldmVyeShuPT5uLm1heF9kcmF3ZG93bi5wZXJjZW50PT09bnVsbCkmJmEuZXhjZXNzX3JldHVybnMuZXZlcnkobj0+bi5wZXJjZW50YWdlX3BvaW50cz09PW51bGwpJiZhLmJlc3RfZGF5PT09bnVsbCYmYS53b3JzdF9kYXk9PT1udWxsfWZ1bmN0aW9uIFooe3N0YXR1czphfSl7Y29uc3Qgbj1DKCk7cmV0dXJuIGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiZmxhdCBrcGktZW1wdHktdmFsdWUiLCJkYXRhLXN0YXRlIjphLGNoaWxkcmVuOlsi4oCUIixlLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46bihgc3RhdGUuJHthfWApfSldfSl9ZnVuY3Rpb24gZWEoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9SShhKSxyPW4obD09PSJ1bmtub3duIj8icGVyZi5jYXJkLnJldHVybl92YWx1ZSI6InBlcmYuY2FyZC50d3IiKTtpZighaihhLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goWix7c3RhdHVzOmEuc3RhdHVzfSl9KTtpZihhLnR3cl9yZXR1cm5fcGVyY2VudD09PW51bGwpe2NvbnN0IG89YS5tZXRyaWNfcmVhc29ucz8udHdyPz9hLnVuYXZhaWxhYmxlX3JlYXNvbjtyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZmxhdCIsImRhdGEtc3RhdGUiOiJ1bmF2YWlsYWJsZSIsImRhdGEtcmVhc29uIjpvPz92b2lkIDAsY2hpbGRyZW46IuKAlCJ9KSxzdWI6bigic3RhdGUudW5hdmFpbGFibGUiKX0pfWNvbnN0IHQ9bD09PSJkaWV0el9hcHByb3giP24oY2UpOmw9PT0idW5rbm93biI/bihpZSk6dm9pZCAwO3JldHVybiBlLmpzeChTLHt0aXRsZTpyLHZhbHVlOmUuanN4KGFlLHt2YWx1ZTphLnR3cl9yZXR1cm5fcGVyY2VudH0pLHN1Yjp0fSl9ZnVuY3Rpb24gYWEoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9YS52YWx1ZV9raW5kPT09InBubCI/bigicGVyZi5jYXJkLmFtb3VudCIpOm4oInBlcmYuY2FyZC5hbW91bnRfYXNzZXRfY2hhbmdlIik7cmV0dXJuIGooYS5zdGF0dXMpP2EudW5hdmFpbGFibGVfcmVhc29uPT09Im1peGVkX2N1cnJlbmN5Inx8YS5hbW91bnQ9PT1udWxsP2UuanN4KFMse3RpdGxlOmwsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOm4oInN0YXRlLnVuYXZhaWxhYmxlIil9KTplLmpzeChTLHt0aXRsZTpsLHZhbHVlOmUuanN4KFUse3ZhbHVlOmEuYW1vdW50LGN1cnJlbmN5OmEuY3VycmVuY3ksc2lnbmVkOiEwfSl9KTplLmpzeChTLHt0aXRsZTpsLHZhbHVlOmUuanN4KFose3N0YXR1czphLnN0YXR1c30pfSl9ZnVuY3Rpb24gZmUoYSxuKXtjb25zdCBsPUkoYSk7cmV0dXJuIGw9PT0iZGlldHpfYXBwcm94Ij9uKGNlKTpsPT09InVua25vd24iP24oaWUpOm51bGx9ZnVuY3Rpb24gc2Eoe2RhdGE6YX0pe2NvbnN0IG49QygpLGw9eigpLHI9bihJKGEpPT09InVua25vd24iPyJwZXJmLmRyYXdkb3duX3BsYWluX3RpdGxlIjoicGVyZi5kcmF3ZG93bl90d3JfdGl0bGUiKTtpZihhLnBlcl9jdXJyZW5jeT8ubGVuZ3RoJiZhLnVuYXZhaWxhYmxlX3JlYXNvbiE9PSJzdG9yZWRfcmVjb3Jkc191bnJlYWRhYmxlIilyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWxzIixjaGlsZHJlbjphLnBlcl9jdXJyZW5jeS5tYXAodT0+e2NvbnN0IGQ9dS5tYXhfZHJhd2Rvd24sZj1kLnBlcmNlbnQsXz1mIT09bnVsbCx5PV8/ZmUodSxuKTpudWxsLGs9Xz9udWxsOmQudW5hdmFpbGFibGVfcmVhc29uP24oYHJlYXNvbi4ke2QudW5hdmFpbGFibGVfcmVhc29ufWApOm4oInN0YXRlLnVuYXZhaWxhYmxlIikseD1fJiZkLnBlYWtfZGF0ZSYmZC50cm91Z2hfZGF0ZT9uKCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIix7cGVhazpWKGQucGVha19kYXRlLGwpLHRyb3VnaDpWKGQudHJvdWdoX2RhdGUsbCl9KTpudWxsO3JldHVybiBlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LXRvdGFsIiwiZGF0YS1zdGF0ZSI6ZC51bmF2YWlsYWJsZV9yZWFzb258fHZvaWQgMCxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImtwaS1zdWIiLGNoaWxkcmVuOnUuY3VycmVuY3l9KSx5JiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46eX0pLGY9PT1udWxsP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IiwiZGF0YS1yZWFzb24iOmQudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46IuKAlCJ9KTplLmpzeChhZSx7dmFsdWU6LWZ8fDB9KSxrJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46a30pLHgmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjp4fSldfSx1LmN1cnJlbmN5KX0pfSl9KTtpZighaihhLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goWix7c3RhdHVzOmEuc3RhdHVzfSl9KTtjb25zdCB0PWEubWF4X2RyYXdkb3duO2lmKHQucGVyY2VudD09PW51bGwpcmV0dXJuIGUuanN4KFMse3RpdGxlOnIsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOm4oInN0YXRlLnVuYXZhaWxhYmxlIil9KTtjb25zdCBvPXQucGVha19kYXRlJiZ0LnRyb3VnaF9kYXRlP24oInBlcmYuY2FyZC5tYXhfZHJhd2Rvd25fZGF0ZXMiLHtwZWFrOlYodC5wZWFrX2RhdGUsbCksdHJvdWdoOlYodC50cm91Z2hfZGF0ZSxsKX0pOnZvaWQgMCxzPVtmZShhLG4pLG9dLmZpbHRlcihCb29sZWFuKS5qb2luKCIgwrcgIil8fHZvaWQgMDtyZXR1cm4gZS5qc3goUyx7dGl0bGU6cix2YWx1ZTplLmpzeChhZSx7dmFsdWU6LXQucGVyY2VudHx8MH0pLHN1YjpzfSl9ZnVuY3Rpb24gbmEoe2RhdGE6YSxwb2xpY3k6bn0pe2NvbnN0IGw9QygpLHI9eigpLHQ9bCgicGVyZi5jYXJkLmV4Y2VzcyIpO2lmKCFqKGEuc3RhdHVzKSlyZXR1cm4gZS5qc3goUyx7dGl0bGU6dCx2YWx1ZTplLmpzeChaLHtzdGF0dXM6YS5zdGF0dXN9KX0pO2lmKCFuLmVuYWJsZWQpcmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOmwoInBlcmYuYmVuY2htYXJrX25vdF9hcHBsaWNhYmxlIil9KTtjb25zdCBvPW4uZGVmYXVsdHMuZmxhdE1hcChmPT5hLmV4Y2Vzc19yZXR1cm5zLmZpbHRlcihfPT5fLmJlbmNobWFyaz09PWYpKSxpPW8uZmluZChmPT5mLnBlcmNlbnRhZ2VfcG9pbnRzIT09bnVsbCk7aWYoIWl8fGkucGVyY2VudGFnZV9wb2ludHM9PT1udWxsKXJldHVybiBlLmpzeChTLHt0aXRsZTp0LHZhbHVlOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmbGF0IixjaGlsZHJlbjoi4oCUIn0pLHN1YjpsKCJzdGF0ZS51bmF2YWlsYWJsZSIpfSk7Y29uc3Qgcz1pLnBlcmNlbnRhZ2VfcG9pbnRzLHU9by5maWx0ZXIoZj0+ZiE9PWkmJmYucGVyY2VudGFnZV9wb2ludHMhPT1udWxsKSxkPXUubGVuZ3RoP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJwZXJmLWV4Y2Vzcy1saXN0IixjaGlsZHJlbjp1Lm1hcChmPT5lLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbZi5iZW5jaG1hcmssIiAiLHBlKGYucGVyY2VudGFnZV9wb2ludHMscildfSxmLmJlbmNobWFyaykpfSk6aS5iZW5jaG1hcms7cmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6cz4wPyJ1cCI6czwwPyJkb3duIjoiZmxhdCIsY2hpbGRyZW46cGUocyxyKX0pLHN1YjpkfSl9ZnVuY3Rpb24gaGUoe2RhdGE6YSxmaWVsZDpuLHRpdGxlS2V5Omx9KXtjb25zdCByPUMoKSx0PXIobCk7aWYoIWooYS5zdGF0dXMpKXJldHVybiBlLmpzeChTLHt0aXRsZTp0LHZhbHVlOmUuanN4KFose3N0YXR1czphLnN0YXR1c30pfSk7Y29uc3Qgbz1hW25dO2lmKCFvfHwhaihvLnN0YXR1cykpcmV0dXJuIGUuanN4KFMse3RpdGxlOnQsdmFsdWU6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOiLigJQifSksc3ViOnIoInN0YXRlLm5vX2RhdGEiKX0pO2NvbnN0IGk9by5hbW91bnQhPT1udWxsP2UuanN4KFUse3ZhbHVlOm8uYW1vdW50LGN1cnJlbmN5OmEuY3VycmVuY3ksc2lnbmVkOiEwfSk6ZS5qc3goYWUse3ZhbHVlOm8ucmV0dXJuX3BlcmNlbnR9KSxzPW8udmFsdWVfa2luZD09PSJhc3NldF9jaGFuZ2UiP2AgwrcgJHtyKCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIil9YDoiIjtyZXR1cm4gZS5qc3goUyx7dGl0bGU6dCx2YWx1ZTppLHN1YjpgJHtvLmRhdGV9JHtzfWB9KX1mdW5jdGlvbiB0YSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHN0YXRlOmwsY2hhcnRBdmFpbGFibGU6cn0pe2NvbnN0IHQ9QygpLG89eigpLHtvcHRpb25zOml9PXJlKCkscz1NZShhLG4saSk7aWYobC5waGFzZT09PSJsb2FkaW5nIil7Y29uc3QgYz1bInBlcmYuY2FyZC50d3IiLCJwZXJmLmNhcmQuYW1vdW50IiwicGVyZi5jYXJkLm1heF9kcmF3ZG93biIsInBlcmYuY2FyZC5leGNlc3MiLCJwZXJmLmNhcmQuYmVzdF9kYXkiLCJwZXJmLmNhcmQud29yc3RfZGF5Il07cmV0dXJuIGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYta3BpLWdyaWQiLGNoaWxkcmVuOmMubWFwKG09PmUuanN4KFMse3RpdGxlOnQobSksdmFsdWU6ZS5qc3goTCx7aGVpZ2h0OjI4LHdpZHRoOiI3MCUifSl9LG0pKX0pfWlmKGwucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChGLHtvblJldHJ5OmwucmVsb2FkfSk7Y29uc3QgdT1sLmRhdGEsZD1KZSh1KSxmPXUuY292ZXJhZ2UsXz1mJiYhQXJyYXkuaXNBcnJheShmKSYmZiE9PSJmaWxsc19ub3RfY29ubmVjdGVkIj9mOm51bGwseT1fPy5meD09PSJub3RfYXBwbGllZCIsaz1kJiZfJiZfLnJhbmdlX2NvbXBsZXRlPT09ITEmJnR5cGVvZiBfLnBlcmlvZF9mcm9tPT0ic3RyaW5nIiYmdHlwZW9mIF8ucmVxdWVzdGVkX3BlcmlvZF9mcm9tPT0ic3RyaW5nIiYmXy5wZXJpb2RfZnJvbT5fLnJlcXVlc3RlZF9wZXJpb2RfZnJvbT9fOm51bGwseD11LnVuYXZhaWxhYmxlX3JlYXNvbj09PSJtaXhlZF9jdXJyZW5jeSI/dCh5PyJwZXJmLm1peGVkX2N1cnJlbmN5X3VuYXZhaWxhYmxlIjoicGVyZi5taXhlZF9jdXJyZW5jeV9uYXRpdmUiKTprP3QoInBlcmYuaGlzdG9yeV93aW5kb3dfc2hvcnQiLHtyZXF1ZXN0ZWQ6VihrLnJlcXVlc3RlZF9wZXJpb2RfZnJvbSxvKSxhdmFpbGFibGU6VihrLnBlcmlvZF9mcm9tLG8pfSk6ZCYmcj90KCJwZXJmLmNvbWJpbmVkX21ldHJpY3NfdW5hdmFpbGFibGUiKTpudWxsO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46Wyh1LnN0YXR1cyE9PSJvayJ8fHUudW5hdmFpbGFibGVfcmVhc29ufHx1LmFzX29mfHx4KSYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1ldHJpYy1ub3RlIHBlcmYtc3VtbWFyeS1ub3RlIiwiZGF0YS1zdGF0ZSI6dS5zdGF0dXMsImRhdGEtcmVhc29uIjp1LnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOlt1LnN0YXR1cyE9PSJvayImJmUuanN4KHEse3N0YXR1czp1LnN0YXR1c30pLHgmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46eH0pLHUuYXNfb2YmJmUuanN4KFcse3ZhbHVlOnUuYXNfb2Z9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1rcGktZ3JpZCIsY2hpbGRyZW46W2UuanN4KGVhLHtkYXRhOnV9KSxlLmpzeChhYSx7ZGF0YTp1fSksZS5qc3goc2Ese2RhdGE6dX0pLGUuanN4KG5hLHtkYXRhOnUscG9saWN5OnN9KSxlLmpzeChoZSx7ZGF0YTp1LGZpZWxkOiJiZXN0X2RheSIsdGl0bGVLZXk6InBlcmYuY2FyZC5iZXN0X2RheSJ9KSxlLmpzeChoZSx7ZGF0YTp1LGZpZWxkOiJ3b3JzdF9kYXkiLHRpdGxlS2V5OiJwZXJmLmNhcmQud29yc3RfZGF5In0pXX0pXX0pfWNvbnN0IHJhPVsidmFyKC0tYmVuY2htYXJrLTEpIiwidmFyKC0tYmVuY2htYXJrLTIpIiwidmFyKC0tYmVuY2htYXJrLTMpIiwidmFyKC0tYmVuY2htYXJrLTQpIl0seGU9e+agh+aZrjUwMDoicGVyZi5iZW5jaG1hcmtfc3A1MDAiLOe6s+aWr+i+vuWFizEwMDoicGVyZi5iZW5jaG1hcmtfbmFzZGFxMTAwIizpgZPnkLzmlq/lt6XkuJrlubPlnYfmjIfmlbA6InBlcmYuYmVuY2htYXJrX2RvdyIs572X57SgMjAwMDoicGVyZi5iZW5jaG1hcmtfcnVzc2VsbDIwMDAifSxlZT17c2VyaWVzOltdLGRlZmF1bHRzOltdLGRpc2FibGVkOltdfTtmdW5jdGlvbiBiZShhKXtyZXR1cm4gYS5wb2ludHMubGVuZ3RoPjA/e3BvaW50czphLnBvaW50cyxmYWxsYmFjazpudWxsfTp7cG9pbnRzOmEuYXNzZXRfY2hhbmdlPy5wb2ludHM/P1tdLGZhbGxiYWNrOmEuYXNzZXRfY2hhbmdlPz9udWxsfX1mdW5jdGlvbiBsYShhKXtpZighYSlyZXR1cm4hMTtjb25zdCBuPWEuY292ZXJhZ2U7cmV0dXJuIW58fHR5cGVvZiBuIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShuKT8hMTpuLm5hdGl2ZV9kYWlseV9vbmx5PT09ITB9ZnVuY3Rpb24gY2EoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmcifHxhPT09IiIpcmV0dXJuIG51bGw7Y29uc3Qgbj1EYXRlLnBhcnNlKGAke2F9VDAwOjAwOjAwWmApO3JldHVybiBOdW1iZXIuaXNGaW5pdGUobik/bjpudWxsfWZ1bmN0aW9uIEVlKGEpe2NvbnN0IG49W10sbD1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIGEpbC5zZXQodC5kYXRlLChsLmdldCh0LmRhdGUpPz8wKSsxKTtsZXQgcj0hMTtmb3IoY29uc3QgdCBvZiBhKXtjb25zdCBvPXQuZGFpbHlfcmV0dXJuX3BlcmNlbnQ7aWYoY2EodC5kYXRlKT09PW51bGx8fGwuZ2V0KHQuZGF0ZSkhPT0xfHx0eXBlb2YgbyE9Im51bWJlciJ8fCFOdW1iZXIuaXNGaW5pdGUobyl8fG88LTEwMCl7cj0hMDtjb250aW51ZX1uLnB1c2goe2RhdGU6dC5kYXRlLHZhbHVlOnQudmFsdWUsZGFpbHlfcmV0dXJuX3BlcmNlbnQ6byxicmVha0JlZm9yZTp0LmJyZWFrQmVmb3JlPT09ITB8fHJ9KSxyPSExfXJldHVybiBufWZ1bmN0aW9uIHllKGEpe3JldHVybiBhLnNvbWUobj0+e2NvbnN0IGw9bi5kYWlseV9yZXR1cm5fcGVyY2VudDtyZXR1cm4gdHlwZW9mIGw9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUobCkmJmw+PS0xMDB9KX1mdW5jdGlvbiB2ZShhLG4pe3JldHVybiBuPyJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6YS5yZXR1cm5LaW5kPT09InVuYWRqdXN0ZWRfYXNzZXRfcmF0aW8iPyJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6InBlcmYucmV0dXJuc190aXRsZSJ9ZnVuY3Rpb24gaWEoYSxuKXtpZihhPT09InVuYWRqdXN0ZWRfYXNzZXRfcmF0aW8iKXJldHVybiJwZXJmLmFzc2V0X2NoYW5nZV90YWciO2NvbnN0IGw9SShuKTtyZXR1cm4gbD09PSJkaWV0el9hcHByb3giP2NlOmw9PT0idW5rbm93biI/aWU6InBlcmYucmV0dXJuX2tpbmRfdHdyIn1mdW5jdGlvbiBqZShhLG4pe2lmKCEobi5lbmFibGVkJiZhLnJldHVybktpbmQ9PT0idHdyIiYmSShhLm1ldGhvZCkhPT0idW5rbm93biImJlhlKGEuY3VycmVuY3kpKSlyZXR1cm4gZWU7Y29uc3Qgcj1hLmJlbmNobWFya3MuZmlsdGVyKHQ9PnQucG9pbnRzLmxlbmd0aD4wKTtyZXR1cm57c2VyaWVzOnIsZGVmYXVsdHM6bi5kZWZhdWx0cy5maWx0ZXIodD0+ci5zb21lKG89Pm8uaWQ9PT10KSksZGlzYWJsZWQ6YS5kaXNhYmxlZC5maWx0ZXIodD0+bi5kZWZhdWx0cy5pbmNsdWRlcyh0LmlkKSl9fWZ1bmN0aW9uIGdlKHt2aWV3OmEsc2VyaWVzTGFiZWw6bixtb2RlOmwsYXJpYUxhYmVsOnIsYmVuY2htYXJrczp0LGRpc2FibGVkOm8sbmF0aXZlRGFpbHlPbmx5Oml9KXtjb25zdCBzPUMoKSx1PVt7aWQ6Im1haW4iLGxhYmVsOm4sY29sb3I6InZhcigtLWFjY2VudCkiLHBvaW50czphLnBvaW50cyxwcmltYXJ5OiEwfSwuLi50LnNlcmllcy5tYXAoKGQsZik9Pih7aWQ6ZC5pZCxsYWJlbDpzKHhlW2QuaWRdfHwicGVyZi5iZW5jaG1hcmtfdW5rbm93biIpLGNvbG9yOnJhW2ZdLHBvaW50czpkLnBvaW50c30pKV07cmV0dXJuIGUuanN4cygiZGl2Iix7ImRhdGEtc3RhdGUiOmEuc3RhdHVzLCJkYXRhLXJlYXNvbiI6YS51bmF2YWlsYWJsZVJlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOltlLmpzeHMoInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsc3R5bGU6e21hcmdpblRvcDowfSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InBlcmYta2luZCIsY2hpbGRyZW46cyhpYShhLnJldHVybktpbmQsYS5tZXRob2QpKX0pLGkmJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1raW5kIiwiZGF0YS1uYXRpdmUtZGFpbHktdGFnIjoidHJ1ZSIsY2hpbGRyZW46WyIgwrcgIixzKCJwZXJmLm5hdGl2ZV9kYWlseV90YWciKV19KSxhLmN1cnJlbmN5JiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3kiLGNoaWxkcmVuOlsiIMK3ICIsYS5jdXJyZW5jeV19KV19KSxlLmpzeChEZSx7c2VyaWVzOnUsbW9kZTpsLGFyaWFMYWJlbDpyLGFsaWduU3RhcnQ6YS5hbGlnbmVkU3RhcnQsZGVmYXVsdFZpc2libGU6dC5zZXJpZXMubGVuZ3RoPjA/dC5kZWZhdWx0czp2b2lkIDB9LGAke2EuY3VycmVuY3k/PyJuYXRpdmUifToke3Quc2VyaWVzLm1hcChkPT5kLmlkKS5qb2luKCIsIil9YCksaSYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsImRhdGEtbmF0aXZlLWRhaWx5LW9ubHkiOiJ0cnVlIixjaGlsZHJlbjpzKCJwZXJmLm5hdGl2ZV9kYWlseV9ub3RlIil9KSxvLmxlbmd0aD4wJiZlLmpzeHMoImRldGFpbHMiLHtjbGFzc05hbWU6InBlcmYtYmVuY2htYXJrcy1vZmYiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOnMoInBlcmYuYmVuY2htYXJrc191bmF2YWlsYWJsZSIse2NvdW50Om8ubGVuZ3RofSl9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWJlbmNobWFya3Mtb2ZmLWxpc3QiLGNoaWxkcmVuOm8ubWFwKGQ9PmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1iZW5jaG1hcmstb2ZmIix0aXRsZTpkLnVuYXZhaWxhYmxlX3JlYXNvbj9zKGByZWFzb24uJHtkLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDAsY2hpbGRyZW46W3MoeGVbZC5pZF18fCJwZXJmLmJlbmNobWFya191bmtub3duIiksIiDCtyAiLHMoYHN0YXRlLiR7ZC5zdGF0dXN9YCldfSxkLmlkKSl9KV19KV19KX1mdW5jdGlvbiBvYSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHN0YXRlOmx9KXtjb25zdCByPUMoKSx7b3B0aW9uczp0fT1yZSgpLG89VGUoYSksaT1uZSgpLFtzLHVdPVAudXNlU3RhdGUoImN1bXVsYXRpdmUiKSxbZCxmXT1QLnVzZVN0YXRlKG51bGwpLF89bC5waGFzZT09PSJyZWFkeSI/bC5kYXRhOm51bGwseT1sYShfKSxrPXA9PnM9PT0iZGFpbHkiJiZ5ZShwKT8iZGFpbHkiOiJjdW11bGF0aXZlIix4PU1lKGEsbix0KSxjPV8/LnBlcl9hY2NvdW50Py5maWx0ZXIocD0+aihwLnN0YXR1cykmJnAucmV0dXJuX2tpbmQ9PT0idHdyIiYmcC5wb2ludHMubGVuZ3RoPjApPz9bXSxtPVtdO2lmKGE9PT0iYWxsIiYmXz8ucGVyX2FjY291bnQpZm9yKGNvbnN0IHAgb2YgXy5wZXJfYWNjb3VudCl7aWYoIWoocC5zdGF0dXMpfHxwLnJldHVybl9raW5kIT09InR3ciIpY29udGludWU7Y29uc3QgRT1FZShwLnBvaW50cyk7RS5sZW5ndGghPT0wJiZtLnB1c2goe2tleTpgJHtwLnBsYXRmb3JtfToke3AuYWNjb3VudF9hbGlhc31gLHBsYXRmb3JtOnAucGxhdGZvcm0sYWNjb3VudEFsaWFzOnAuYWNjb3VudF9hbGlhcyxjdXJyZW5jeTpwLmN1cnJlbmN5Pz9udWxsLHBvaW50czpFfSl9Y29uc3QgZz1uZXcgU2V0KG0ubWFwKHA9PnAua2V5KSksTj1jLmZpbHRlcihwPT4hZy5oYXMoYCR7cC5wbGF0Zm9ybX06JHtwLmFjY291bnRfYWxpYXN9YCkpLGI9ISEoXyYmYT09PSJhbGwiJiZfLnBlcl9jdXJyZW5jeS5sZW5ndGg+MCYmKGooXy5zdGF0dXMpfHxfLnVuYXZhaWxhYmxlX3JlYXNvbj09PSJtaXhlZF9jdXJyZW5jeSIpKSxoPWImJl8/Xy5wZXJfY3VycmVuY3kuZmluZChwPT5wLmN1cnJlbmN5PT09ZCk/P18ucGVyX2N1cnJlbmN5LmZpbmQocD0+aihwLnN0YXR1cykmJihwLnBvaW50cy5sZW5ndGg+MHx8KHAuYXNzZXRfY2hhbmdlPy5wb2ludHMubGVuZ3RoPz8wKT4wKSk/P18ucGVyX2N1cnJlbmN5WzBdPz9udWxsOm51bGw7bGV0IHY9bnVsbCx3PWVlLEE7aWYobC5waGFzZT09PSJsb2FkaW5nIilBPWUuanN4KEwse2hlaWdodDoyODB9KTtlbHNlIGlmKGwucGhhc2U9PT0iZXJyb3IiKUE9ZS5qc3goRix7b25SZXRyeTpsLnJlbG9hZH0pO2Vsc2V7Y29uc3QgcD1sLmRhdGEsRT1wLmJlbmNobWFya19hdmFpbGFiaWxpdHkuZmlsdGVyKCQ9PiFqKCQuc3RhdHVzKSksUT1iZShwKSxNPVEuZmFsbGJhY2s7aWYoYiYmaCl7Y29uc3QgJD1oLGRlPWUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6cigicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpwLnBlcl9jdXJyZW5jeS5tYXAoVD0+ZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtULmN1cnJlbmN5PT09JC5jdXJyZW5jeT8iIGFjdGl2ZSI6IiJ9YCwiYXJpYS1wcmVzc2VkIjpULmN1cnJlbmN5PT09JC5jdXJyZW5jeSxvbkNsaWNrOigpPT5mKFQuY3VycmVuY3kpLGNoaWxkcmVuOlQuY3VycmVuY3l9LFQuY3VycmVuY3kpKX0pfSksWD1iZSgkKSxSPVguZmFsbGJhY2ssSj1SP1Iuc3RhdHVzOiQuc3RhdHVzLFk9Uj9SLnVuYXZhaWxhYmxlX3JlYXNvbjokLnVuYXZhaWxhYmxlX3JlYXNvbjtpZihqKEopJiZYLnBvaW50cy5sZW5ndGg+MCl7Y29uc3QgVD17cG9pbnRzOlgucG9pbnRzLGJlbmNobWFya3M6Uj9bXTokLmJlbmNobWFya3MscmV0dXJuS2luZDpSPyJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIjokLnJldHVybl9raW5kLG1ldGhvZDokLGFsaWduZWRTdGFydDpSP1IuYWxpZ25lZF9zdGFydDokLmFsaWduZWRfc3RhcnQsY3VycmVuY3k6JC5jdXJyZW5jeSxzdGF0dXM6Six1bmF2YWlsYWJsZVJlYXNvbjpZLGFzT2Y6Uj9SLmFzX29mOiQuYXNfb2Y/P251bGwsZGlzYWJsZWQ6RX07dj1ULHc9eXx8Uj9lZTpqZShULHgpLEE9ZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZGUsUiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cigicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiKX0pLGUuanN4KGdlLHt2aWV3OlQsc2VyaWVzTGFiZWw6YCR7b30gwrcgJHskLmN1cnJlbmN5fWAsbW9kZTp5PyJkYWlseSI6ayhYLnBvaW50cyksYXJpYUxhYmVsOmAke3IodmUoVCx5KSl9ICR7JC5jdXJyZW5jeX1gLGJlbmNobWFya3M6dyxkaXNhYmxlZDp3LmRpc2FibGVkLG5hdGl2ZURhaWx5T25seTp5fSldfSl9ZWxzZXtjb25zdCBUPWooSik/Im5vX2RhdGEiOko7QT1lLmpzeHMoImRpdiIse2NoaWxkcmVuOltkZSxlLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpZPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6cihUPT09Im5vX2RhdGEiJiZZPT09ImV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIj8icGVyZi5taXNzaW5nX2Nhc2hmbG93X3JlY29yZHMiOmBzdGF0ZS4ke1R9YCksc3RhdGU6VCxib2R5Olk/cihgcmVhc29uLiR7WX1gKTp2b2lkIDB9KX0pXX0pfX1lbHNlIGlmKCFqKHAuc3RhdHVzKSlBPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOnAudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6cihgc3RhdGUuJHtwLnN0YXR1c31gKSxzdGF0ZTpwLnN0YXR1cyxib2R5OnAudW5hdmFpbGFibGVfcmVhc29uP3IoYHJlYXNvbi4ke3AudW5hdmFpbGFibGVfcmVhc29ufWApOnZvaWQgMH0pfSk7ZWxzZSBpZihRLnBvaW50cy5sZW5ndGg9PT0wKUE9ZS5qc3goImRpdiIseyJkYXRhLXJlYXNvbiI6cC51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCxjaGlsZHJlbjplLmpzeChELHt0aXRsZTpyKHAudW5hdmFpbGFibGVfcmVhc29uPT09ImV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIj8icGVyZi5taXNzaW5nX2Nhc2hmbG93X3JlY29yZHMiOiJzdGF0ZS5ub19kYXRhIiksc3RhdGU6Im5vX2RhdGEiLGJvZHk6cC51bmF2YWlsYWJsZV9yZWFzb24/cihgcmVhc29uLiR7cC51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwfSl9KTtlbHNle2NvbnN0ICQ9e3BvaW50czpRLnBvaW50cyxiZW5jaG1hcmtzOk0/W106cC5ub19jb21tb25fZGF0ZT9bXTpwLmJlbmNobWFya3MscmV0dXJuS2luZDpNPyJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIjpwLnJldHVybl9raW5kLG1ldGhvZDpwLGFsaWduZWRTdGFydDpNP00uYWxpZ25lZF9zdGFydDpwLmFsaWduZWRfc3RhcnQsY3VycmVuY3k6cC5jdXJyZW5jeT8/bnVsbCxzdGF0dXM6TT9NLnN0YXR1czpwLnN0YXR1cyx1bmF2YWlsYWJsZVJlYXNvbjpNP00udW5hdmFpbGFibGVfcmVhc29uOnAudW5hdmFpbGFibGVfcmVhc29uLGFzT2Y6TT9NLmFzX29mOnAuYXNfb2Y/P251bGwsZGlzYWJsZWQ6RX07dj0kLHc9eXx8TXx8cC5ub19jb21tb25fZGF0ZT9lZTpqZSgkLHgpLEE9ZS5qc3goZ2Use3ZpZXc6JCxzZXJpZXNMYWJlbDpvLG1vZGU6eT8iZGFpbHkiOmsoUS5wb2ludHMpLGFyaWFMYWJlbDpyKHZlKCQseSkpLGJlbmNobWFya3M6dyxkaXNhYmxlZDp3LmRpc2FibGVkLG5hdGl2ZURhaWx5T25seTp5fSl9fWNvbnN0IE89dj8ucmV0dXJuS2luZD09PSJ1bmFkanVzdGVkX2Fzc2V0X3JhdGlvIix0ZT13LnNlcmllcy5sZW5ndGg+MCxHPXIodj95PyJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6Tz8icGVyZi5hc3NldF9jaGFuZ2VfdGl0bGUiOnRlPyJwZXJmLnJldHVybnNfdGl0bGUiOiJwZXJmLnJldHVybnNfdGl0bGVfcGxhaW4iOiJwZXJmLnJldHVybnNfdGl0bGUiKSxLZT0hISh2JiYheSYmIU8mJmoodi5zdGF0dXMpJiZ2LnBvaW50cy5sZW5ndGg+MCYmeWUodi5wb2ludHMpKSxMZT15PyJwZXJmLm1ldGhvZF9ib2R5X25hdGl2ZV9kYWlseSI6diYmTz8icGVyZi5tZXRob2RfYm9keV9hc3NldF9jaGFuZ2UiOl8mJltfLC4uLl8ucGVyX2N1cnJlbmN5XS5zb21lKHA9PkkocCk9PT0idW5rbm93biIpPyJwZXJmLm1ldGhvZF9ib2R5X3Vua25vd24iOl8mJihtZShfKXx8Xy5wZXJfY3VycmVuY3kuc29tZShtZSkpPyJwZXJmLm1ldGhvZF9ib2R5X2RpZXR6IjoicGVyZi5tZXRob2RfYm9keSIsb2U9ISEodiYmaih2LnN0YXR1cykmJnYucG9pbnRzLmxlbmd0aD4wKSx1ZT1tLmxlbmd0aD4wP2UuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicGVyZi1hY2NvdW50LWRhaWx5IiwiZGF0YS1hY2NvdW50LWRhaWx5LWNvdW50IjptLmxlbmd0aCxjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToicGVyZi1jYXJkLWhlYWQiLGNoaWxkcmVuOmUuanN4KCJoMyIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46cigicGVyZi5wZXJfYWNjb3VudF9kYWlseV90aXRsZSIpfSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpyKCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X25vdGUiKX0pLG0ubWFwKHA9Pntjb25zdCBFPWAke2kucGxhdGZvcm0ocC5wbGF0Zm9ybSl9IMK3ICR7aS5hY2NvdW50KHAuYWNjb3VudEFsaWFzLHAucGxhdGZvcm0pfWA7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWFjY291bnQtZGFpbHktaXRlbSIsImRhdGEtYWNjb3VudCI6cC5hY2NvdW50QWxpYXMsY2hpbGRyZW46W2UuanN4cygicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InBlcmYta2luZCIsY2hpbGRyZW46RX0pLHAuY3VycmVuY3kmJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1jdXJyZW5jeSIsY2hpbGRyZW46WyIgwrcgIixwLmN1cnJlbmN5XX0pXX0pLGUuanN4KERlLHtzZXJpZXM6W3tpZDoibWFpbiIsbGFiZWw6RSxjb2xvcjoidmFyKC0tYWNjZW50KSIscG9pbnRzOnAucG9pbnRzLHByaW1hcnk6ITB9XSxtb2RlOiJkYWlseSIsYXJpYUxhYmVsOmAke3IoInBlcmYucGVyX2FjY291bnRfZGFpbHlfdGl0bGUiKX0gwrcgJHtFfWB9KV19LHAua2V5KX0pXX0pOm51bGw7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY2FyZC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJjYXJkLXRpdGxlIixjaGlsZHJlbjpHfSksS2UmJmUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtbW9kZS10b2dnbGUiLGNoaWxkcmVuOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6RyxjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtzPT09ImN1bXVsYXRpdmUiPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOnM9PT0iY3VtdWxhdGl2ZSIsb25DbGljazooKT0+dSgiY3VtdWxhdGl2ZSIpLGNoaWxkcmVuOnIoInBlcmYucmV0dXJuc19jdW11bGF0aXZlIil9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke3M9PT0iZGFpbHkiPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOnM9PT0iZGFpbHkiLG9uQ2xpY2s6KCk9PnUoImRhaWx5IiksY2hpbGRyZW46cigicGVyZi5yZXR1cm5zX2RhaWx5Iil9KV19KX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1oZWFkLW1ldGEiLGNoaWxkcmVuOlt2JiZ2LnN0YXR1cyE9PSJvayImJmoodi5zdGF0dXMpJiZlLmpzeChxLHtzdGF0dXM6di5zdGF0dXMscmVhc29uOnYudW5hdmFpbGFibGVSZWFzb259KSx2JiZqKHYuc3RhdHVzKSYmZS5qc3goVyx7dmFsdWU6di5hc09mfSldfSldfSksIW9lJiZ1ZSxBLG9lJiZ1ZSxOLmxlbmd0aD4wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLCJkYXRhLW5hdGl2ZS1yZXR1cm4tYWNjb3VudHMiOk4ubGVuZ3RoLGNoaWxkcmVuOnIoInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyIse2FjY291bnRzOk4ubWFwKHA9PmAke2kucGxhdGZvcm0ocC5wbGF0Zm9ybSl9IMK3ICR7aS5hY2NvdW50KHAuYWNjb3VudF9hbGlhcyxwLnBsYXRmb3JtKX1gKS5qb2luKCLjgIEiKX0pfSk6bnVsbCxlLmpzeChGZSx7dGl0bGVLZXk6InBlcmYuaG93X2NhbGN1bGF0ZWQiLGJvZHlLZXk6TGV9KV19KX1mdW5jdGlvbiBOZSh7c3RhdHVzOmEscG9pbnRzOm4sY292ZXJhZ2U6bCxyZWFzb246cn0pe2NvbnN0IHQ9QygpLG89bi5zb21lKGQ9PihkLmZvcndhcmRfZmlsbGVkX2FjY291bnRzPy5sZW5ndGh8fDApPjApLGk9b3x8bi5zb21lKGQ9PmQucGFydGlhbCl8fCEhbD8udHJ1bmNhdGVkfHwhIWw/LnJlYWRfZmFpbHVyZXM/Lmxlbmd0aCxzPWE9PT0ib2siP2k/InBhcnRpYWwiOiJvayI6YTtpZihzPT09Im9rIilyZXR1cm4gbnVsbDtjb25zdCB1PVsuLi5uZXcgU2V0KFsuLi5uLmZsYXRNYXAoZD0+Wy4uLmQubWlzc2luZ19hY2NvdW50c3x8W10sLi4uZC5mb3J3YXJkX2ZpbGxlZF9hY2NvdW50c3x8W11dKSwuLi5sPy5taXNzaW5nX2FjY291bnRzfHxbXSwuLi5sPy5leGNsdWRlZF9hY2NvdW50c3x8W10sLi4ubD8ucmVhZF9mYWlsdXJlc3x8W11dKV07cmV0dXJuIGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiaGlzdG9yeS1ub3RpY2UiLHJvbGU6InN0YXR1cyIsImRhdGEtc3RhdGUiOnMsImRhdGEtcmVhc29uIjpyPz92b2lkIDAsImRhdGEtYWZmZWN0ZWQtY291bnQiOnUubGVuZ3RofHx2b2lkIDAsY2hpbGRyZW46W2UuanN4KHEse3N0YXR1czpzfSksdS5sZW5ndGg+MCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46dCgicGVyZi5oaXN0b3J5X2FmZmVjdGVkX2FjY291bnRzIix7Y291bnQ6dS5sZW5ndGh9KX0pLG8mJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnQoInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIil9KSxyJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjp0KGByZWFzb24uJHtyfWApfSldfSl9ZnVuY3Rpb24gdWEoe3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KXtjb25zdCB0PUMoKSxbbyxpXT1QLnVzZVN0YXRlKG51bGwpLHM9SCgoKT0+UGUoYSxsLG4pLFthLG4sbCxyXSk7bGV0IHUsZCxmLF89bnVsbCx5PW51bGwsaz1udWxsO2lmKHMucGhhc2U9PT0ibG9hZGluZyIpZj1lLmpzeChMLHtoZWlnaHQ6MjIwfSk7ZWxzZSBpZihzLnBoYXNlPT09ImVycm9yIilmPWUuanN4KEYse29uUmV0cnk6cy5yZWxvYWR9KTtlbHNle2NvbnN0IHg9cy5kYXRhO3U9eC5wZXJfY3VycmVuY3k/Lmxlbmd0aCYmeC51bmF2YWlsYWJsZV9yZWFzb24hPT0ic3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSI/ZS5qc3goV2Use3RvdGFsczp4LnBlcl9jdXJyZW5jeSxmcmVzaG5lc3M6eC5mcmVzaG5lc3Nfc3VtbWFyeSxub3Rlczp4LnBlcl9jdXJyZW5jeS5sZW5ndGg+MT90KCJwZXJmLm5hdGl2ZV90b3RhbHNfbm90ZSIpOnZvaWQgMH0pOm51bGwsXz14LnN0YXR1cyx5PXgudW5hdmFpbGFibGVfcmVhc29uLGs9eC5hc19vZjtjb25zdCBjPXguY3VydmVfc3RhdHVzfHx4LnN0YXR1cyxtPXguY3VydmVfdW5hdmFpbGFibGVfcmVhc29uPT09dm9pZCAwP3gudW5hdmFpbGFibGVfcmVhc29uOnguY3VydmVfdW5hdmFpbGFibGVfcmVhc29uLGc9eC5oaXN0b3J5X3Blcl9jdXJyZW5jeT8ubGVuZ3RoP3guaGlzdG9yeV9wZXJfY3VycmVuY3k6W3tjdXJyZW5jeTp4LmN1cnJlbmN5LHN0YXR1czpjLGNvdmVyYWdlOnguY3VydmVfY292ZXJhZ2UscG9pbnRzOngucG9pbnRzLHVuYXZhaWxhYmxlX3JlYXNvbjp4LmN1cnZlX3VuYXZhaWxhYmxlX3JlYXNvbj8/eC51bmF2YWlsYWJsZV9yZWFzb259XTtpZih4LnBlcl9jdXJyZW5jeT8ubGVuZ3RoJiZtPT09Im1peGVkX2N1cnJlbmN5Iil7Y29uc3QgTj1nLmZpbHRlcihoPT5oLnBvaW50cy5sZW5ndGg+MCksYj1OLmZpbmQoaD0+aC5jdXJyZW5jeT09PW8pPz9OWzBdO2I/KGQ9ZS5qc3goTmUse3N0YXR1czpiLnN0YXR1cyxwb2ludHM6Yi5wb2ludHMsY292ZXJhZ2U6Yi5jb3ZlcmFnZSxyZWFzb246Yi51bmF2YWlsYWJsZV9yZWFzb259KSxmPWUuanN4cygiZGl2Iix7Y2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6InBlcmYtY3VycmVuY3ktc3dpdGNoIixjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dCgicGVyZi5jdXJyZW5jeV9zd2l0Y2giKSxjaGlsZHJlbjpOLm1hcChoPT5lLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2guY3VycmVuY3k9PT1iLmN1cnJlbmN5PyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOmguY3VycmVuY3k9PT1iLmN1cnJlbmN5LG9uQ2xpY2s6KCk9PmkoaC5jdXJyZW5jeT8/bnVsbCksY2hpbGRyZW46aC5jdXJyZW5jeXx8dCgicGVyZi5jdXJyZW5jeV9zd2l0Y2giKX0saC5jdXJyZW5jeXx8Im5hdGl2ZSIpKX0pfSksZS5qc3goX2Use3BvaW50czpiLnBvaW50cyxjdXJyZW5jeTpiLmN1cnJlbmN5LGFyaWFMYWJlbDp0KCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiKX0pXX0pKTpmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOiJtaXhlZF9jdXJyZW5jeSIsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgicGVyZi5taXhlZF9jdXJyZW5jeV90aXRsZSIpLHN0YXRlOiJ1bmF2YWlsYWJsZSJ9KX0pfWVsc2UgaWYoZD1qKGMpP2cubWFwKE49PmUuanN4KE5lLHtzdGF0dXM6Zy5sZW5ndGg9PT0xP2M6Ti5zdGF0dXMscG9pbnRzOk4ucG9pbnRzLGNvdmVyYWdlOk4uY292ZXJhZ2UscmVhc29uOk4udW5hdmFpbGFibGVfcmVhc29ufSxOLmN1cnJlbmN5fHwiaGlzdG9yeSIpKTpudWxsLCFqKGMpKWY9ZS5qc3goImRpdiIseyJkYXRhLXJlYXNvbiI6bT8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoYHN0YXRlLiR7Y31gKSxzdGF0ZTpjLGJvZHk6bT90KGByZWFzb24uJHttfWApOnZvaWQgMH0pfSk7ZWxzZSBpZihtPT09Im1peGVkX2N1cnJlbmN5IilmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOiJtaXhlZF9jdXJyZW5jeSIsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgicGVyZi5taXhlZF9jdXJyZW5jeV90aXRsZSIpLHN0YXRlOiJ1bmF2YWlsYWJsZSJ9KX0pO2Vsc2UgaWYoeC5wb2ludHMubGVuZ3RoPT09MClmPWUuanN4KCJkaXYiLHsiZGF0YS1yZWFzb24iOngudW5hdmFpbGFibGVfcmVhc29uPz92b2lkIDAsY2hpbGRyZW46ZS5qc3goRCx7dGl0bGU6dCgic3RhdGUubm9fZGF0YSIpLHN0YXRlOiJub19kYXRhIixib2R5Om0/dChgcmVhc29uLiR7bX1gKTp2b2lkIDB9KX0pO2Vsc2V7Y29uc3QgTj14LnBvaW50cztmPWUuanN4KF9lLHtwb2ludHM6TixjdXJyZW5jeTp4LmN1cnJlbmN5LGFyaWFMYWJlbDp0KCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiKX0pfX1yZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1jYXJkLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6ImNhcmQtdGl0bGUiLGNoaWxkcmVuOnQoInBlcmYuYXNzZXRfYmFsYW5jZV90aXRsZSIpfSksZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJwZXJmLWhlYWQtbWV0YSIsY2hpbGRyZW46W18mJl8hPT0ib2siJiZqKF8pJiZlLmpzeChxLHtzdGF0dXM6XyxyZWFzb246eX0pLF8mJmooXykmJmsmJmUuanN4KFcse3ZhbHVlOmt9KV19KV19KSx1LGQsZl19KX1jb25zdCBkYT1bIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCIsIlN1biJdLHBhPXtNb246IuS4gCIsVHVlOiLkuowiLFdlZDoi5LiJIixUaHU6IuWbmyIsRnJpOiLkupQiLFNhdDoi5YWtIixTdW46IuaXpSJ9O2Z1bmN0aW9uIEsoYSl7cmV0dXJuIHR5cGVvZiBhPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGEpP2E6bnVsbH1mdW5jdGlvbiBrZShhKXtjb25zdCBuPUsoYS5yZXR1cm5fcGVyY2VudCk7cmV0dXJuIG49PT1udWxsPyIiOm4+MD8idXAiOm48MD8iZG93biI6ImZsYXQifWZ1bmN0aW9uICRlKGEsbil7Y29uc3QgbD1LKGEucmV0dXJuX3BlcmNlbnQpO2lmKGw9PT1udWxsfHxsPT09MHx8bjw9MClyZXR1cm47Y29uc3Qgcj1NYXRoLm1pbigxLE1hdGguYWJzKGwpL24pLHQ9OCtNYXRoLnJvdW5kKHIqNDApO3JldHVybmBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tJHtsPjA/InVwIjoiZG93biJ9KSAke3R9JSwgdHJhbnNwYXJlbnQpYH1mdW5jdGlvbiBtYSh7eWVhcjphLG1vbnRoOm4sY2VsbHM6bCxvbk5hdmlnYXRlOnJ9KXtjb25zdCB0PUMoKSxvPXooKSx7cHJlZnM6aX09bGUoKSxzPU1hdGgubWF4KDAsLi4ubC5tYXAobT0+e2NvbnN0IGc9SyhtLnJldHVybl9wZXJjZW50KTtyZXR1cm4gZz09PW51bGw/MDpNYXRoLmFicyhnKX0pKSx1PW5ldyBEYXRlLGQ9YCR7dS5nZXRGdWxsWWVhcigpfS0ke1N0cmluZyh1LmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZyh1LmdldERhdGUoKSkucGFkU3RhcnQoMiwiMCIpfWAsZj1kLnNsaWNlKDAsNyksXz1tPT57Y29uc3QgZz1LKG0ucmV0dXJuX3BlcmNlbnQpO2lmKGchPT1udWxsKXJldHVybiBzZShnLG8pO2NvbnN0IE49SyhtLmFtb3VudCk7cmV0dXJuIE4hPT1udWxsP2kuaGlkZUFtb3VudHM/QWUoTik6U3RyaW5nKE1hdGgucm91bmQoTikpOiIifTtpZihuPT09bnVsbClyZXR1cm4gZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLW5hdiIsY2hpbGRyZW46W2UuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKGEtMSxudWxsKSwiYXJpYS1sYWJlbCI6IuKAuSIsY2hpbGRyZW46IuKAuSJ9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY3VycmVudCBudW0iLGNoaWxkcmVuOmF9KSxlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazooKT0+cihhKzEsbnVsbCksImFyaWEtbGFiZWwiOiLigLoiLGNoaWxkcmVuOiLigLoifSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXIteWVhci1ncmlkIixzdHlsZTp7bWFyZ2luVG9wOjEyfSxjaGlsZHJlbjpsLm1hcChtPT57Y29uc3QgZz1tLnVuYXZhaWxhYmxlX3JlYXNvbixOPWc9PT0ic25hcHNob3RfcGVuZGluZyIsYj1nPT09ImZ1dHVyZV9kYXRlInx8IU4mJiEhKG0ubW9udGgmJm0ubW9udGg+Zik7cmV0dXJuIGUuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YGNhbGVuZGFyLWNlbGwke2I/IiBjZWxsLWZ1dHVyZSI6IiJ9JHtOPyIgY2VsbC1wZW5kaW5nIjoiIn0ke0sobS5yZXR1cm5fcGVyY2VudCk9PT1udWxsJiZLKG0uYW1vdW50KT09PW51bGw/IiBjZWxsLWVtcHR5IjoiIn1gLHN0eWxlOntiYWNrZ3JvdW5kOmI/dm9pZCAwOiRlKG0scyl9LHRpdGxlOmI/dm9pZCAwOk4/dCgicmVhc29uLnNuYXBzaG90X3BlbmRpbmciKTptLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHttLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDAsb25DbGljazooKT0+bS5tb250aCYmcihhLE51bWJlcihtLm1vbnRoLnNwbGl0KCItIilbMV0pKSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNlbGwtZGF0ZSIsY2hpbGRyZW46bS5tb250aH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBjZWxsLXZhbHVlICR7Yj8iIjprZShtKX1gLGNoaWxkcmVuOmI/IsKgIjpfKG0pfHwiwqAifSksTiYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOnQoInJlYXNvbi5zbmFwc2hvdF9wZW5kaW5nIil9KV19LG0ubW9udGgpfSl9KV19KTtjb25zdCB5PW5ldyBNYXAobC5maWx0ZXIobT0+bS5kYXRlKS5tYXAobT0+W20uZGF0ZSxtXSkpLGs9bmV3IERhdGUoRGF0ZS5VVEMoYSxuLDApKS5nZXRVVENEYXRlKCkseD1bXTtsZXQgYz1bXTtmb3IobGV0IG09MTttPD1rO20rKyl7Y29uc3QgZz1gJHthfS0ke1N0cmluZyhuKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKG0pLnBhZFN0YXJ0KDIsIjAiKX1gLGI9KG5ldyBEYXRlKGAke2d9VDAwOjAwOjAwWmApLmdldFVUQ0RheSgpKzYpJTc7Zm9yKGI9PT0wJiZjLmxlbmd0aCYmKHgucHVzaChjKSxjPVtdKTtjLmxlbmd0aDxiOyljLnB1c2gobnVsbCk7Yy5wdXNoKHkuZ2V0KGcpfHx7ZGF0ZTpnLGFtb3VudDpudWxsLHJldHVybl9wZXJjZW50Om51bGwsY3VycmVuY3k6bnVsbCxzdGF0dXM6Im5vX2RhdGEiLHZhbHVlX2tpbmQ6ImFzc2V0X2NoYW5nZSIsdW5hdmFpbGFibGVfcmVhc29uOm51bGx9KX1yZXR1cm4gYy5sZW5ndGgmJngucHVzaChjKSxlLmpzeHMoImRpdiIse2NoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXItbmF2IixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6KCk9PnIoLi4ubj09PTE/W2EtMSwxMl06W2Esbi0xXSksImFyaWEtbGFiZWwiOiLigLkiLGNoaWxkcmVuOiLigLkifSksZS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiY3VycmVudCBidXR0b24gYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKGEsbnVsbCksImFyaWEtbGFiZWwiOnQoInBlcmYuY2FsZW5kYXJfeWVhciIpLGNoaWxkcmVuOlthLCItIixTdHJpbmcobikucGFkU3RhcnQoMiwiMCIpXX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOigpPT5yKC4uLm49PT0xMj9bYSsxLDFdOlthLG4rMV0pLCJhcmlhLWxhYmVsIjoi4oC6IixjaGlsZHJlbjoi4oC6In0pXX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLXNjcm9sbCIsc3R5bGU6e21hcmdpblRvcDoxMn0sY2hpbGRyZW46ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhbGVuZGFyLW1vbnRoLWdyaWQiLGNoaWxkcmVuOltkYS5tYXAobT0+ZS5qc3goImRpdiIse2NsYXNzTmFtZToiY2FsZW5kYXItd2Vla2RheSIsY2hpbGRyZW46bz09PSJ6aCI/cGFbbV06bX0sbSkpLHguZmxhdE1hcCgobSxnKT0+WzAsMSwyLDMsNCw1LDZdLm1hcChOPT57Y29uc3QgYj1tW05dO2lmKCFiKXJldHVybiBlLmpzeCgiZGl2Iix7fSxgJHtnfS0ke059YCk7Y29uc3QgaD1TdHJpbmcoYi5zdGF0dXMpLHY9Yi51bmF2YWlsYWJsZV9yZWFzb24sdz12PT09InNuYXBzaG90X3BlbmRpbmciLEE9dj09PSJmdXR1cmVfZGF0ZSJ8fCF3JiYhIShiLmRhdGUmJmIuZGF0ZT5kKSxPPSFBJiYoSyhiLnJldHVybl9wZXJjZW50KSE9PW51bGx8fEsoYi5hbW91bnQpIT09bnVsbCksdGU9IUEmJihoPT09Im1hcmtldF9jbG9zZWQifHx2PT09Im1hcmtldF9jbG9zZWQifHx2PT09Im5vbl90cmFkaW5nX3dlZWtlbmQiKSxHPUE/dm9pZCAwOnc/dCgicmVhc29uLnNuYXBzaG90X3BlbmRpbmciKTpoPT09Im1hcmtldF9jbG9zZWQifHx2PT09Im1hcmtldF9jbG9zZWQiP3QoInN0YXRlLm1hcmtldF9jbG9zZWQiKTp2PT09Im5vbl90cmFkaW5nX3dlZWtlbmQiP3QoInJlYXNvbi5ub25fdHJhZGluZ193ZWVrZW5kIik6Yi51bmF2YWlsYWJsZV9yZWFzb24/dChgcmVhc29uLiR7Yi51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZTpgY2FsZW5kYXItY2VsbCR7QT8iIGNlbGwtZnV0dXJlIjoiIn0ke3c/IiBjZWxsLXBlbmRpbmciOiIifSR7dGU/IiBjZWxsLWNsb3NlZCI6IiJ9JHtPPyIiOiIgY2VsbC1lbXB0eSJ9YCxzdHlsZTp7YmFja2dyb3VuZDpBP3ZvaWQgMDokZShiLHMpfSx0aXRsZTpHLHRhYkluZGV4Onc/MDp2b2lkIDAsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjZWxsLWRhdGUgbnVtIixjaGlsZHJlbjpiLmRhdGU/TnVtYmVyKGIuZGF0ZS5zbGljZSg4KSk6IiJ9KSxPJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZTpgY2VsbC12YWx1ZSAke2tlKGIpfWAsY2hpbGRyZW46XyhiKX0pLHcmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjp0KCJyZWFzb24uc25hcHNob3RfcGVuZGluZyIpfSldfSxiLmRhdGUpfSkpXX0pfSldfSl9ZnVuY3Rpb24gX2Eoe3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KXtjb25zdCB0PUMoKSxvPW5ldyBEYXRlLFtpLHNdPVAudXNlU3RhdGUoe3llYXI6by5nZXRGdWxsWWVhcigpLG1vbnRoOm8uZ2V0TW9udGgoKSsxfSksW3UsZF09UC51c2VTdGF0ZShudWxsKSxmPXU/LnNjb3BlPT09YSYmdS5wbGF0Zm9ybT09PW4/dS5jdXJyZW5jeTp2b2lkIDAsXz1IKCgpPT5xZShhLGwsaS55ZWFyLGkubW9udGgsbixmKSxbYSxuLGwsaS55ZWFyLGkubW9udGgsZixyXSk7bGV0IHksaz1udWxsLHg9bnVsbCxjPW51bGwsbT0hMSxnPSExLE49ITEsYjtpZihfLnBoYXNlPT09ImxvYWRpbmciKXk9ZS5qc3goTCx7aGVpZ2h0OjIyMH0pO2Vsc2UgaWYoXy5waGFzZT09PSJlcnJvciIpeT1lLmpzeChGLHtvblJldHJ5Ol8ucmVsb2FkfSk7ZWxzZXtjb25zdCBoPV8uZGF0YTtrPWguc3RhdHVzLHg9aC51bmF2YWlsYWJsZV9yZWFzb24sYz1oLmFzX29mLG09aC52YWx1ZV9raW5kPT09ImFzc2V0X2NoYW5nZSIsZz0hIWguY292ZXJhZ2UmJnR5cGVvZiBoLmNvdmVyYWdlPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoaC5jb3ZlcmFnZSkmJmguY292ZXJhZ2UuYXNzZXRfY2hhbmdlX2ZhbGxiYWNrPT09ITAsTj1oLmNlbGxzLnNvbWUodj0+di5vYnNlcnZlZF9hbW91bnQhPT1udWxsJiZ2Lm9ic2VydmVkX2Ftb3VudCE9PXZvaWQgMCksKGguYXZhaWxhYmxlX2N1cnJlbmNpZXM/Lmxlbmd0aHx8MCk+MSYmKGI9ZS5qc3goImRpdiIse2NsYXNzTmFtZToicGVyZi1jdXJyZW5jeS1zd2l0Y2giLGNoaWxkcmVuOmUuanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjp0KCJwZXJmLmN1cnJlbmN5X3N3aXRjaCIpLGNoaWxkcmVuOmguYXZhaWxhYmxlX2N1cnJlbmNpZXMubWFwKHY9PmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7dj09PWguY3VycmVuY3k/IiBhY3RpdmUiOiIifWAsImFyaWEtcHJlc3NlZCI6dj09PWguY3VycmVuY3ksb25DbGljazooKT0+ZCh7c2NvcGU6YSxwbGF0Zm9ybTpuLGN1cnJlbmN5OnZ9KSxjaGlsZHJlbjp2fSx2KSl9KX0pKSxqKGguc3RhdHVzKT9oLmNlbGxzLmxlbmd0aD09PTA/eT1lLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpoLnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoInN0YXRlLm5vX2RhdGEiKSxzdGF0ZToibm9fZGF0YSIsYm9keTpoLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHtoLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDB9KX0pOnk9ZS5qc3gobWEse3llYXI6aC55ZWFyLG1vbnRoOmgubW9udGgsY2VsbHM6aC5jZWxscyxvbk5hdmlnYXRlOih2LHcpPT5zKHt5ZWFyOnYsbW9udGg6d30pfSk6eT1lLmpzeCgiZGl2Iix7ImRhdGEtcmVhc29uIjpoLnVuYXZhaWxhYmxlX3JlYXNvbj8/dm9pZCAwLGNoaWxkcmVuOmUuanN4KEQse3RpdGxlOnQoYHN0YXRlLiR7aC5zdGF0dXN9YCksc3RhdGU6aC5zdGF0dXMsYm9keTpoLnVuYXZhaWxhYmxlX3JlYXNvbj90KGByZWFzb24uJHtoLnVuYXZhaWxhYmxlX3JlYXNvbn1gKTp2b2lkIDB9KX0pfXJldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwZXJmLWNhcmQtaGVhZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToiY2FyZC10aXRsZSIsY2hpbGRyZW46dChtPyJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6InBlcmYuY2FsZW5kYXJfdGl0bGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dCgicGVyZi5jYWxlbmRhcl90aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2kubW9udGghPT1udWxsPyIgYWN0aXZlIjoiIn1gLCJhcmlhLXByZXNzZWQiOmkubW9udGghPT1udWxsLG9uQ2xpY2s6KCk9PnMoaD0+KHsuLi5oLG1vbnRoOmgubW9udGg/P25ldyBEYXRlKCkuZ2V0TW9udGgoKSsxfSkpLGNoaWxkcmVuOnQoInBlcmYuY2FsZW5kYXJfbW9udGgiKX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7aS5tb250aD09PW51bGw/IiBhY3RpdmUiOiIifWAsImFyaWEtcHJlc3NlZCI6aS5tb250aD09PW51bGwsb25DbGljazooKT0+cyhoPT4oey4uLmgsbW9udGg6bnVsbH0pKSxjaGlsZHJlbjp0KCJwZXJmLmNhbGVuZGFyX3llYXIiKX0pXX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToicGVyZi1oZWFkLW1ldGEiLGNoaWxkcmVuOlttJiZlLmpzeCh6ZSx7dG9uZToiYWNjZW50Iix0aXRsZTp0KCJwZXJmLmFzc2V0X2NoYW5nZV9ub3RlIiksY2hpbGRyZW46dCgicGVyZi5hc3NldF9jaGFuZ2VfY2FsZW5kYXJfdGFnIil9KSxrJiZrIT09Im9rIiYmaihrKSYmZS5qc3gocSx7c3RhdHVzOmsscmVhc29uOnh9KSxrJiZqKGspJiZlLmpzeChXLHt2YWx1ZTpjfSldfSldfSksYix5LGcmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLCJkYXRhLWFzc2V0LWNoYW5nZS1mYWxsYmFjayI6InRydWUiLGNoaWxkcmVuOnQoInBlcmYuY2FsZW5kYXJfZmFsbGJhY2tfbm90ZSIpfSksTiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46dCgicGVyZi5jYWxlbmRhcl9kZXBvc2l0X25vdGUiKX0pXX0pfWZ1bmN0aW9uIFNlKHtpdGVtczphfSl7Y29uc3Qgbj16KCksbD1NYXRoLm1heCgxZS05LC4uLmEubWFwKHI9Pk1hdGguYWJzKHIudmFsdWUpKSk7cmV0dXJuIGUuanN4KCJkaXYiLHtjbGFzc05hbWU6ImJhcmxpc3QiLGNoaWxkcmVuOmEubWFwKHI9Pntjb25zdCB0PU1hdGguYWJzKHIudmFsdWUpL2wqNTAsbz1yLnZhbHVlPjA7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LXJvdyIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJiYXJsaXN0LWxhYmVsIix0aXRsZTpyLmxhYmVsLGNoaWxkcmVuOnIubGFiZWx9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LXRyYWNrIixyb2xlOiJpbWciLCJhcmlhLWxhYmVsIjpgJHtyLmxhYmVsfSAke3NlKHIudmFsdWUsbil9YCxjaGlsZHJlbjplLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJiYXJsaXN0LWZpbGwiLHN0eWxlOntiYWNrZ3JvdW5kOm8/InZhcigtLXVwKSI6InZhcigtLWRvd24pIix3aWR0aDpgJHt0fSVgLGxlZnQ6bz8iNTAlIjpgJHs1MC10fSVgfX0pfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6YGJhcmxpc3QtdmFsdWUgJHtvPyJ1cCI6ci52YWx1ZTwwPyJkb3duIjoiZmxhdCJ9YCxjaGlsZHJlbjpzZShyLnZhbHVlLG4pfSldfSxyLmlkKX0pfSl9Y29uc3QgQ2U9NTtmdW5jdGlvbiBmYSh7dmFsdWU6YX0pe2NvbnN0IG49eigpO3JldHVybiBlLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpIZShhLG4pfSl9ZnVuY3Rpb24gaGEoe3N0YXRlOmF9KXtjb25zdCBuPUMoKSxsPW5lKCk7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLGNoaWxkcmVuOltlLmpzeChMLHtoZWlnaHQ6MzJ9KSxlLmpzeChMLHtoZWlnaHQ6MzJ9KSxlLmpzeChMLHtoZWlnaHQ6MzJ9KV19KTtpZihhLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3goRix7b25SZXRyeTphLnJlbG9hZH0pO2NvbnN0IHI9YS5kYXRhO2lmKCFqKHIuc3RhdHVzKSlyZXR1cm4gZS5qc3goRCx7dGl0bGU6bihgc3RhdGUuJHtyLnN0YXR1c31gKSxzdGF0ZTpyLnN0YXR1c30pO2NvbnN0IHQ9W3tpZDoiYWNjb3VudCIsaGVhZGVyOm4oInBlcmYuY29sLmFjY291bnQiKSxjZWxsOnM9PmwuYWNjb3VudChzLmFjY291bnRfYWxpYXMscy5wbGF0Zm9ybSksc29ydFZhbHVlOnM9PnMuYWNjb3VudF9hbGlhc30se2lkOiJzeW1ib2wiLGhlYWRlcjpuKCJwZXJmLmNvbC5zeW1ib2wiKSxjZWxsOnM9PmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJob2xkaW5nLXN5bWJvbCIsY2hpbGRyZW46cy5zeW1ib2x9KSxzb3J0VmFsdWU6cz0+cy5zeW1ib2x9LHtpZDoicXVhbnRpdHkiLGhlYWRlcjpuKCJwZXJmLmNvbC5xdWFudGl0eSIpLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9lLmpzeChmYSx7dmFsdWU6cy5xdWFudGl0eX0pOiLigJQiLHNvcnRWYWx1ZTpzPT5zLnF1YW50aXR5fSx7aWQ6Im1hcmtldF92YWx1ZSIsaGVhZGVyOmAke24oInBlcmYuY29sLm1hcmtldF92YWx1ZSIpfSAoJHtuKCJwZXJmLmNvbC5jdXJyZW5jeSIpfSlgLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9lLmpzeChVLHt2YWx1ZTpzLm1hcmtldF92YWx1ZSxjdXJyZW5jeTpzLmN1cnJlbmN5fSk6IuKAlCIsc29ydFZhbHVlOnM9PnMubWFya2V0X3ZhbHVlfSx7aWQ6ImF2Z19jb3N0IixoZWFkZXI6bigicGVyZi5jb2wuY29zdF9iYXNpcyIpLG51bWVyaWM6ITAsY2VsbDpzPT5qKHMuc3RhdHVzKT9zLmF2Z19jb3N0IT09bnVsbCYmTnVtYmVyLmlzRmluaXRlKHMuYXZnX2Nvc3QpP2UuanN4KFUse3ZhbHVlOnMuYXZnX2Nvc3QsY3VycmVuY3k6cy5jdXJyZW5jeX0pOndlKHMpIT09bnVsbD9lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZy1icm9rZXItY29zdCIsY2hpbGRyZW46W2UuanN4KEIse3ZhbHVlOndlKHMpLGN1cnJlbmN5OnMuY3VycmVuY3l9KSxlLmpzeCgic21hbGwiLHtjaGlsZHJlbjpuKCJwZXJmLmJyb2tlcl9jb3N0X2xhYmVsIil9KV19KToi4oCUIjoi4oCUIixzb3J0VmFsdWU6cz0+cy5hdmdfY29zdH0se2lkOiJ1bnJlYWxpemVkX3BubCIsaGVhZGVyOm4oInBlcmYuY29sLnVucmVhbGl6ZWRfcG5sIiksbnVtZXJpYzohMCxjZWxsOnM9Pmoocy5zdGF0dXMpP2UuanN4KFUse3ZhbHVlOnMudW5yZWFsaXplZF9wbmwsY3VycmVuY3k6cy5jdXJyZW5jeSxzaWduZWQ6ITB9KToi4oCUIixzb3J0VmFsdWU6cz0+cy51bnJlYWxpemVkX3BubH0se2lkOiJzdGF0dXMiLGhlYWRlcjpuKCJjb21tb24uc3RhdHVzIiksY2VsbDpzPT5lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZy1zdGF0dXMiLGNoaWxkcmVuOltzLnN0YXR1cyE9PSJvayImJmUuanN4KHEse3N0YXR1czpzLnN0YXR1cyxyZWFzb246cy51bmF2YWlsYWJsZV9yZWFzb259KSxqKHMuc3RhdHVzKSYmWyJxdWFudGl0eSIsIm1hcmtldF92YWx1ZSIsImF2Z19jb3N0IiwidW5yZWFsaXplZF9wbmwiXS5zb21lKHU9PnNbdV09PT1udWxsKSYmZS5qc3goInNtYWxsIix7Y2hpbGRyZW46bigicGVyZi5maWVsZHNfbm90X3Byb3ZpZGVkIix7ZmllbGRzOlsicXVhbnRpdHkiLCJtYXJrZXRfdmFsdWUiLCJhdmdfY29zdCIsInVucmVhbGl6ZWRfcG5sIl0uZmlsdGVyKHU9PnNbdV09PT1udWxsKS5tYXAodT0+bih1PT09ImF2Z19jb3N0Ij8icGVyZi5hdmVyYWdlX2Nvc3RfZmllbGQiOmBwZXJmLmNvbC4ke3V9YCkpLmpvaW4oIiAvICIpfSl9KV19KX1dLG89ci5jb3ZlcmFnZSxpPUFycmF5LmlzQXJyYXkobyk/by5sZW5ndGg6byYmdHlwZW9mIG89PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KG8uYWNjb3VudF9hbGlhc2VzKT9vLmFjY291bnRfYWxpYXNlcy5sZW5ndGg6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaG9sZGluZ3MtdmlldyIsImRhdGEtc3RhdGUiOnIuc3RhdHVzLCJkYXRhLXJlYXNvbiI6ci51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCwiZGF0YS1jb3ZlcmFnZS1jb3VudCI6aSxjaGlsZHJlbjpbZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLHN0eWxlOnttYXJnaW5Ub3A6MH0sY2hpbGRyZW46W24oci5sYWJlbF9rZXkpLHIuc3RhdHVzIT09Im9rIiYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOlsiIMK3ICIsZS5qc3gocSx7c3RhdHVzOnIuc3RhdHVzfSldfSldfSksci5yb3dzLnNvbWUocz0+aihzLnN0YXR1cykmJltzLm1hcmtldF92YWx1ZSxzLmF2Z19jb3N0LHMudW5yZWFsaXplZF9wbmxdLnNvbWUodT0+dT09PW51bGwpKSYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bigicGVyZi5ob2xkaW5nc19taXNzaW5nX2ZpZWxkcyIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBob2xkaW5ncy1zY3JvbGwtaGludCIsY2hpbGRyZW46bigicGVyZi5ob2xkaW5nc19zY3JvbGxfaGludCIpfSksZS5qc3goUmUse2NvbHVtbnM6dCxyb3dzOnIucm93cyxyb3dLZXk6cz0+YCR7cy5wbGF0Zm9ybX06JHtzLmFjY291bnRfYWxpYXN9fCR7cy5zeW1ib2x9YCxkZWZhdWx0U29ydDp7Y29sdW1uOiJtYXJrZXRfdmFsdWUiLGRpcmVjdGlvbjoiZGVzYyJ9LGNhcHRpb246bigicGVyZi5ob2xkaW5nc190aXRsZSIpfSldfSl9ZnVuY3Rpb24geGEoYSl7aWYoIWooYS5zdGF0dXMpKXJldHVybiBudWxsO2NvbnN0IG49YS51bnJlYWxpemVkX3BubCxsPWEudW5yZWFsaXplZF9wbmxfcGVyY2VudDtpZih0eXBlb2YgbiE9Im51bWJlciJ8fCFOdW1iZXIuaXNGaW5pdGUobil8fHR5cGVvZiBsIT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZShsKSlyZXR1cm4gbnVsbDtjb25zdCByPXR5cGVvZiBhLmN1cnJlbmN5PT0ic3RyaW5nIiYmYS5jdXJyZW5jeS50cmltKCk/YS5jdXJyZW5jeS50cmltKCk6bnVsbDtyZXR1cm57cm93OmEsaWQ6YCR7YS5wbGF0Zm9ybX06JHthLmFjY291bnRfYWxpYXN9fCR7YS5zeW1ib2x9YCxzeW1ib2w6YS5zeW1ib2wsY3VycmVuY3k6cixwbmw6bix2YWx1ZTpsfX1mdW5jdGlvbiBiYShhLG4pe2NvbnN0IGw9YS5tYXAoeGEpLmZpbHRlcihpPT5pIT09bnVsbCkscj1sLmZpbHRlcihpPT5pLmN1cnJlbmN5PT09bnVsbCkubGVuZ3RoLHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBsKXtpZihpLmN1cnJlbmN5PT09bnVsbCljb250aW51ZTtjb25zdCBzPXQuZ2V0KGkuY3VycmVuY3kpO3M/cy5wdXNoKGkpOnQuc2V0KGkuY3VycmVuY3ksW2ldKX1yZXR1cm57Z3JvdXBzOlsuLi50LmVudHJpZXMoKV0uc29ydCgoW2ldLFtzXSk9PmkubG9jYWxlQ29tcGFyZShzKSkubWFwKChbaSxzXSk9Pntjb25zdCB1PWQ9Pih7aWQ6ZC5pZCxsYWJlbDpgJHtkLnN5bWJvbH0gwrcgJHtuKGQucm93KX1gLHZhbHVlOmQudmFsdWV9KTtyZXR1cm57Y3VycmVuY3k6aSx3aW5uZXJzOnMuZmlsdGVyKGQ9PmQucG5sPjApLnNvcnQoKGQsZik9PmYucG5sLWQucG5sKS5zbGljZSgwLENlKS5tYXAodSksbG9zZXJzOnMuZmlsdGVyKGQ9PmQucG5sPDApLnNvcnQoKGQsZik9PmQucG5sLWYucG5sKS5zbGljZSgwLENlKS5tYXAodSl9fSkuZmlsdGVyKGk9Pmkud2lubmVycy5sZW5ndGg+MHx8aS5sb3NlcnMubGVuZ3RoPjApLHJhbmtlZENvdW50OmwubGVuZ3RoLXIsbWlzc2luZ0N1cnJlbmN5Q291bnQ6cn19ZnVuY3Rpb24geWEoe3N0YXRlOmF9KXtjb25zdCBuPUMoKSxsPW5lKCk7aWYoYS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goTCx7aGVpZ2h0OjE2MH0pO2lmKGEucGhhc2U9PT0iZXJyb3IiKXJldHVybiBlLmpzeChGLHtvblJldHJ5OmEucmVsb2FkfSk7Y29uc3Qgcj1hLmRhdGE7aWYoIWooci5zdGF0dXMpKXJldHVybiBlLmpzeChELHt0aXRsZTpuKGBzdGF0ZS4ke3Iuc3RhdHVzfWApLHN0YXRlOnIuc3RhdHVzfSk7Y29uc3R7Z3JvdXBzOnQscmFua2VkQ291bnQ6byxtaXNzaW5nQ3VycmVuY3lDb3VudDppfT1iYShyLnJvd3Mscz0+bC5hY2NvdW50KHMuYWNjb3VudF9hbGlhcyxzLnBsYXRmb3JtKSk7aWYoIXQubGVuZ3RoKXtjb25zdCBzPWk+MD9uKCJwZXJmLnJhbmtpbmdfbWlzc2luZ19jdXJyZW5jeSIpOm8+MD92b2lkIDA6ci5yb3dzLmxlbmd0aD4wP24oInBlcmYucmFua2luZ19taXNzaW5nX2ZpZWxkcyIpOnIudW5hdmFpbGFibGVfcmVhc29uP24oYHJlYXNvbi4ke3IudW5hdmFpbGFibGVfcmVhc29ufWApOm4oInJlYXNvbi5wb3NpdGlvbnNfbm90X2Nvbm5lY3RlZCIpO3JldHVybiBlLmpzeChELHt0aXRsZTpuKG8+MD8icGVyZi5yYW5raW5nX25vX21vdmVtZW50IjoicGVyZi5yYW5raW5nX3VuYXZhaWxhYmxlIiksYm9keTpzfSl9cmV0dXJuIGUuanN4cygiZGl2Iix7Y2hpbGRyZW46W3QubWFwKHM9PmUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicGVyZi1yYW5raW5nLWN1cnJlbmN5IiwiZGF0YS1jdXJyZW5jeSI6cy5jdXJyZW5jeSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyBwZXJmLXJhbmtpbmctY3VycmVuY3ktaGVhZGluZyIsY2hpbGRyZW46cy5jdXJyZW5jeX0pLHMud2lubmVycy5sZW5ndGg+MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtcmFua2luZy1zZWN0aW9uIixjaGlsZHJlbjpbZS5qc3goImg0Iix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyIsY2hpbGRyZW46bigicGVyZi5yYW5raW5nX3dpbm5lcnMiKX0pLGUuanN4KFNlLHtpdGVtczpzLndpbm5lcnN9KV19KSxzLmxvc2Vycy5sZW5ndGg+MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBlcmYtcmFua2luZy1zZWN0aW9uIixjaGlsZHJlbjpbZS5qc3goImg0Iix7Y2xhc3NOYW1lOiJwZXJmLXJhbmtpbmctaGVhZGluZyIsY2hpbGRyZW46bigicGVyZi5yYW5raW5nX2xvc2VycyIpfSksZS5qc3goU2Use2l0ZW1zOnMubG9zZXJzfSldfSldfSxzLmN1cnJlbmN5KSksaT4wJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpuKCJwZXJmLnJhbmtpbmdfbWlzc2luZ19jdXJyZW5jeSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46bigicGVyZi5uYXRpdmVfdG90YWxzX25vdGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOm4oInBlcmYucmFua2luZ19ub3RlIil9KV19KX1jb25zdCBCZT0vXi0/KD86MHxbMS05XVxkKikoPzpcLlxkKyk/JC87ZnVuY3Rpb24gd2UoYSl7cmV0dXJuIGEucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSImJmEuYnJva2VyX2Nvc3RfbWV0aG9kPT09ImJyb2tlcl9jb25maWd1cmVkIiYmdHlwZW9mIGEuYnJva2VyX2Nvc3RfcHJpY2U9PSJzdHJpbmciJiZCZS50ZXN0KGEuYnJva2VyX2Nvc3RfcHJpY2UpP2EuYnJva2VyX2Nvc3RfcHJpY2U6bnVsbH1mdW5jdGlvbiB2YShhKXtjb25zdCBuPWEuc3RhcnRzV2l0aCgiLSIpLGw9bj9hLnNsaWNlKDEpOmEsW3IsdF09bC5zcGxpdCgiLiIpLG89ci5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCIsIik7cmV0dXJuYCR7bj8iLSI6IiJ9JHtvfSR7dD09PXZvaWQgMD8iIjpgLiR7dH1gfWB9ZnVuY3Rpb24gQih7dmFsdWU6YSxjdXJyZW5jeTpufSl7Y29uc3R7cHJlZnM6bH09bGUoKTtyZXR1cm4gdHlwZW9mIGEhPSJzdHJpbmcifHwhQmUudGVzdChhKT9lLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZmxhdCIsY2hpbGRyZW46IuKAlCJ9KTpsLmhpZGVBbW91bnRzP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSIsY2hpbGRyZW46QWUoYSl9KTplLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6Im51bSIsdGl0bGU6YSxjaGlsZHJlbjpbdmEoYSksbj9gICR7bn1gOiIiXX0pfWZ1bmN0aW9uIGphKHtzY29wZTphLHBsYXRmb3JtOm4scmFuZ2U6bCxlcG9jaDpyfSl7Y29uc3QgdD1DKCksbz1uZSgpLGk9SCgoKT0+VmUoYSxsLG4pLFthLG4sbCxyXSk7aWYoaS5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goTCx7aGVpZ2h0OjQ4fSk7aWYoaS5waGFzZT09PSJlcnJvciIpcmV0dXJuIGUuanN4KEYse29uUmV0cnk6aS5yZWxvYWR9KTtjb25zdCBzPWkuZGF0YTtpZighc3x8IUFycmF5LmlzQXJyYXkocy5yb3dzKSlyZXR1cm4gZS5qc3goRix7b25SZXRyeTppLnJlbG9hZH0pO2NvbnN0IHU9cy5yb3dzO2lmKCF1Lmxlbmd0aCYmcy5zdGF0dXM9PT0ibm90X2Nvbm5lY3RlZCIpcmV0dXJuIGUuanN4KEQse3RpdGxlOnQoInN0YXRlLm5vdF9jb25uZWN0ZWQiKSxib2R5OnQoInJlYXNvbi5maWxsc19ub3RfY29ubmVjdGVkIiksc3RhdGU6Im5vdF9jb25uZWN0ZWQifSk7Y29uc3QgZD1bLi4udV0uc29ydCgoYyxtKT0+U3RyaW5nKG0udHJhZGVfZGF0ZT8/IiIpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKGMudHJhZGVfZGF0ZT8/IiIpKSksZj1jPT5jLnNpZGU9PT0iQlVZIj90KCJwZXJmLnNpZGUuYnV5Iik6Yy5zaWRlPT09IlNFTEwiP3QoInBlcmYuc2lkZS5zZWxsIik6IuKAlCIsXz1be2lkOiJ0cmFkZV9kYXRlIixoZWFkZXI6dCgicGVyZi5jb2wuZGF0ZSIpLGNlbGw6Yz0+ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIiwiZGF0YS1hc3NldC1jYXRlZ29yeSI6Yy5hc3NldF9jYXRlZ29yeSwiZGF0YS1leGVjdXRpb24tcmVmIjpjLmV4ZWN1dGlvbl9yZWYsY2hpbGRyZW46Yy50cmFkZV9kYXRlfSksYy5sb2NhbF90aW1lJiZlLmpzeHMoInNtYWxsIix7Y2xhc3NOYW1lOiJ0cmFkZS10aW1lIixjaGlsZHJlbjpbYy5sb2NhbF90aW1lLnNsaWNlKDExKSxjLnRpbWVfem9uZT9gIMK3ICR7Yy50aW1lX3pvbmV9YDoiIl19KV19KSxzb3J0VmFsdWU6Yz0+Yy50cmFkZV9kYXRlfSx7aWQ6ImFjY291bnQiLGhlYWRlcjp0KCJwZXJmLmNvbC5hY2NvdW50IiksY2VsbDpjPT5lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W28uYWNjb3VudChjLmFjY291bnRfYWxpYXMsYy5wbGF0Zm9ybSksZS5qc3goInNtYWxsIix7Y2xhc3NOYW1lOiJ0cmFkZS10aW1lIixjaGlsZHJlbjpvLnBsYXRmb3JtKGMucGxhdGZvcm0pfSldfSksc29ydFZhbHVlOmM9PmAke2MucGxhdGZvcm19OiR7Yy5hY2NvdW50X2FsaWFzfWB9LHtpZDoic3ltYm9sIixoZWFkZXI6dCgicGVyZi5jb2wuc3ltYm9sIiksY2VsbDpjPT5jLnN5bWJvbCxzb3J0VmFsdWU6Yz0+Yy5zeW1ib2x9LHtpZDoic2lkZSIsaGVhZGVyOnQoInBlcmYuY29sLnNpZGUiKSxjZWxsOmZ9LHtpZDoicXVhbnRpdHkiLGhlYWRlcjp0KCJwZXJmLmNvbC5xdWFudGl0eSIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnF1YW50aXR5fSl9LHtpZDoicHJpY2UiLGhlYWRlcjp0KCJwZXJmLmNvbC5wcmljZSIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnByaWNlLGN1cnJlbmN5OmMuY3VycmVuY3l9KX0se2lkOiJjb21taXNzaW9uIixoZWFkZXI6dCgicGVyZi5jb2wuY29tbWlzc2lvbiIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLmNvbW1pc3Npb24sY3VycmVuY3k6Yy5jb21taXNzaW9uX2N1cnJlbmN5fSl9LHtpZDoidGF4ZXMiLGhlYWRlcjp0KCJwZXJmLmNvbC50YXhlcyIpLG51bWVyaWM6ITAsY2VsbDpjPT5lLmpzeChCLHt2YWx1ZTpjLnRheGVzLGN1cnJlbmN5OmMuY3VycmVuY3l9KX1dLHk9cy5yZXBvcnRlZF9leGVjdXRpb25fY291bnQ/P3UubGVuZ3RoLGs9cy5zdGF0dXM9PT0icGFydGlhbCJ8fHMuc3RhdHVzPT09Im9rIj8ibm9fZGF0YSI6cy5zdGF0dXMseD1zLnN0YXR1cz09PSJwYXJ0aWFsIj90KCJwZXJmLmV4ZWN1dGlvbnNfZW1wdHlfcGFydGlhbCIpOnMuc3RhdHVzPT09Im9rIj92b2lkIDA6cy51bmF2YWlsYWJsZV9yZWFzb24/dChgcmVhc29uLiR7cy51bmF2YWlsYWJsZV9yZWFzb259YCk6dm9pZCAwO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToidHJhZGUtdmlldyIsImRhdGEtc3RhdGUiOnMuc3RhdHVzLCJkYXRhLXJlYXNvbiI6cy51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLXN1bW1hcnkiLGNoaWxkcmVuOlt5PjAmJmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnQoInBlcmYuZXhlY3V0aW9uc19jb3VudCIse2NvdW50Onl9KX0pLHMuc3RhdHVzPT09InBhcnRpYWwiJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RhdGUtc2hvcnQiLHRpdGxlOnQoInBlcmYuZXhlY3V0aW9uc19wYXJ0aWFsIiksY2hpbGRyZW46dCgicGVyZi5leGVjdXRpb25zX3BhcnRpYWxfc2hvcnQiKX0pLHMuYXNfb2YmJmUuanN4KFcse3ZhbHVlOnMuYXNfb2Z9KV19KSxkLmxlbmd0aD9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLXRhYmxlIixjaGlsZHJlbjplLmpzeChSZSx7Y29sdW1uczpfLHJvd3M6ZCxyb3dLZXk6Yz0+YCR7Yy5wbGF0Zm9ybX06JHtjLmFjY291bnRfYWxpYXN9OiR7Yy5leGVjdXRpb25fcmVmfWAsZGVmYXVsdFNvcnQ6e2NvbHVtbjoidHJhZGVfZGF0ZSIsZGlyZWN0aW9uOiJkZXNjIn0sY2FwdGlvbjp0KCJwZXJmLnRyYWRlc190aXRsZSIpfSl9KSxlLmpzeCgidWwiLHtjbGFzc05hbWU6InRyYWRlLWNhcmRzIiwiYXJpYS1sYWJlbCI6dCgicGVyZi50cmFkZXNfdGl0bGUiKSxjaGlsZHJlbjpkLm1hcChjPT5lLmpzeHMoImxpIix7Y2xhc3NOYW1lOiJ0cmFkZS1jYXJkIiwiZGF0YS1hc3NldC1jYXRlZ29yeSI6Yy5hc3NldF9jYXRlZ29yeSwiZGF0YS1leGVjdXRpb24tcmVmIjpjLmV4ZWN1dGlvbl9yZWYsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0cmFkZS1jYXJkLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1kYXRlIG51bSIsY2hpbGRyZW46Yy50cmFkZV9kYXRlfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRyYWRlLWNhcmQtc3ltYm9sIixjaGlsZHJlbjpjLnN5bWJvbH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0cmFkZS1zaWRlIixjaGlsZHJlbjpmKGMpfSksYy5sb2NhbF90aW1lJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRyYWRlLWNhcmQtdGltZSIsY2hpbGRyZW46W2MubG9jYWxfdGltZS5zbGljZSgxMSksYy50aW1lX3pvbmU/YCDCtyAke2MudGltZV96b25lfWA6IiJdfSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1hY2NvdW50IixjaGlsZHJlbjpvLmFjY291bnQoYy5hY2NvdW50X2FsaWFzLGMucGxhdGZvcm0pfSksZS5qc3hzKCJkbCIse2NsYXNzTmFtZToidHJhZGUtY2FyZC1maWd1cmVzIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLWZpZ3VyZSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInBlcmYuY29sLnF1YW50aXR5Iil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChCLHt2YWx1ZTpjLnF1YW50aXR5fSl9KV19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToidHJhZGUtZmlndXJlIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgicGVyZi5jb2wucHJpY2UiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KEIse3ZhbHVlOmMucHJpY2UsY3VycmVuY3k6Yy5jdXJyZW5jeX0pfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRyYWRlLWZpZ3VyZSIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInBlcmYuY29sLmNvbW1pc3Npb24iKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KEIse3ZhbHVlOmMuY29tbWlzc2lvbixjdXJyZW5jeTpjLmNvbW1pc3Npb25fY3VycmVuY3l9KX0pXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0cmFkZS1maWd1cmUiLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJwZXJmLmNvbC50YXhlcyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46ZS5qc3goQix7dmFsdWU6Yy50YXhlcyxjdXJyZW5jeTpjLmN1cnJlbmN5fSl9KV19KV19KV19LGAke2MucGxhdGZvcm19OiR7Yy5hY2NvdW50X2FsaWFzfToke2MuZXhlY3V0aW9uX3JlZn1gKSl9KV19KTplLmpzeChELHt0aXRsZTp0KGBzdGF0ZS4ke2t9YCksYm9keTp4LHN0YXRlOmt9KV19KX1mdW5jdGlvbiBnYSh7c2NvcGU6YSxwbGF0Zm9ybTpuLHJhbmdlOmwsZXBvY2g6cn0pe2NvbnN0IHQ9QygpLFtvLGldPVAudXNlU3RhdGUoImhvbGRpbmdzIikscz1IKCgpPT5PZShhLGwsbiksW2EsbixsLHJdKTtsZXQgdTtyZXR1cm4gbz09PSJob2xkaW5ncyI/dT1lLmpzeChoYSx7c3RhdGU6c30pOm89PT0icmFua2luZyI/dT1lLmpzeCh5YSx7c3RhdGU6c30pOnU9ZS5qc3goamEse3Njb3BlOmEscGxhdGZvcm06bixyYW5nZTpsLGVwb2NoOnJ9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZCIsY2hpbGRyZW46W2UuanN4KEdlLHtpZDoicGVyZm9ybWFuY2UiLGl0ZW1zOlt7aWQ6ImhvbGRpbmdzIixsYWJlbDp0KCJwZXJmLmhvbGRpbmdzX3RpdGxlIil9LHtpZDoicmFua2luZyIsbGFiZWw6dCgicGVyZi5yYW5raW5nX3RpdGxlIil9LHtpZDoidHJhZGVzIixsYWJlbDp0KCJwZXJmLnRyYWRlc190aXRsZSIpfV0sYWN0aXZlOm8sb25DaGFuZ2U6aSxhcmlhTGFiZWw6dCgibmF2LnBlcmZvcm1hbmNlIil9KSxlLmpzeHMoImRpdiIse2lkOiJwZXJmb3JtYW5jZS1wYW5lbCIsY2xhc3NOYW1lOiJwZXJmLXRhYi1ib2R5Iixyb2xlOiJ0YWJwYW5lbCIsImFyaWEtbGFiZWxsZWRieSI6YHBlcmZvcm1hbmNlLXRhYi0ke299YCx0YWJJbmRleDowLGNoaWxkcmVuOltvIT09InRyYWRlcyImJnMucGhhc2U9PT0icmVhZHkiJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjplLmpzeChaZSx7Y291bnRzOnMuZGF0YS5mcmVzaG5lc3Nfc3VtbWFyeX0pfSksdV19KV19KX1mdW5jdGlvbiBUYSgpe2NvbnN0IGE9QygpLG49eigpLHtwcmVmczpsfT1sZSgpLHtzY29wZTpyLG9wdGlvbnM6dH09cmUoKSxvPVRlKHIpLGk9cj09PSJhbGwiP3ZvaWQgMDp0LmZpbmQoZz0+YCR7Zy5wbGF0Zm9ybX06JHtnLmFsaWFzfWA9PT1yKT8ucGxhdGZvcm0sW3MsdV09UC51c2VTdGF0ZShsLmRlZmF1bHRSYW5nZSksW2QsZl09UC51c2VTdGF0ZSgwKSxfPSgpPT5mKGc9PmcrMSkseT1IKCgpPT5ZZShyLHMsaSksW3IsaSxzLGRdKSxrPUgoKCk9PlVlKHIscyxpKSxbcixpLHMsZF0pLHg9cj09PSJhbGwiJiZrLnBoYXNlPT09InJlYWR5IiYmKGsuZGF0YS5wZXJfYWNjb3VudD8/W10pLnNvbWUoZz0+aihnLnN0YXR1cykmJmcucmV0dXJuX2tpbmQ9PT0idHdyIiYmRWUoZy5wb2ludHMpLmxlbmd0aD4wKSxjPXkucGhhc2U9PT0icmVhZHkiJiZqKHkuZGF0YS5zdGF0dXMpJiZ5LmRhdGEudHdyX3JldHVybl9wZXJjZW50IT09bnVsbD9zZSh5LmRhdGEudHdyX3JldHVybl9wZXJjZW50LG4pOm51bGwsbT15LnBoYXNlPT09InJlYWR5Ij97W3NdOmN9OnZvaWQgMDtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltlLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOmEoIm5hdi5wZXJmb3JtYW5jZSIpfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOltlLmpzeChJZSx7dmFsdWU6cyxvbkNoYW5nZTp1LHJldHVybnM6bX0pLGUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6XyxjaGlsZHJlbjphKCJjb21tb24ucmVmcmVzaCIpfSldfSldfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJwYWdlLXN1YnRpdGxlIixjaGlsZHJlbjpbbywiIMK3ICIsYShgcGVyZi5yYW5nZS4ke3N9YCldfSksZS5qc3godGEse3Njb3BlOnIscGxhdGZvcm06aSxzdGF0ZTp5LGNoYXJ0QXZhaWxhYmxlOnh9KSxlLmpzeChvYSx7c2NvcGU6cixwbGF0Zm9ybTppLHN0YXRlOmt9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToicGVyZi1kdW8tZ3JpZCIsY2hpbGRyZW46W2UuanN4KHVhLHtzY29wZTpyLHBsYXRmb3JtOmkscmFuZ2U6cyxlcG9jaDpkfSksZS5qc3goX2Ese3Njb3BlOnIscGxhdGZvcm06aSxyYW5nZTpzLGVwb2NoOmR9KV19KSxlLmpzeChnYSx7c2NvcGU6cixwbGF0Zm9ybTppLHJhbmdlOnMsZXBvY2g6ZH0pXX0pfWV4cG9ydHtUYSBhcyBkZWZhdWx0fTsK" }, + "/v2/assets/StrategiesPage-BfVQMiLk.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UsciBhcyBTLGogYXMgZSx5LGUgYXMgQSxhZyBhcyAkLGFoIGFzIEwsbyBhcyBoLEUgYXMgdyxoIGFzIHAsUyBhcyBnLGYgYXMgeCxhMiBhcyBqLEIgYXMgXyxnIGFzIFJ9ZnJvbSIuL2luZGV4LUR0bkQwVjZYLmpzIjtpbXBvcnR7RSBhcyBDfWZyb20iLi9FeGVjdXRpb25FdmlkZW5jZS0yOGx5OElFZy5qcyI7aW1wb3J0e3UgYXMgRX1mcm9tIi4vaG9va3MtQmk1bzJWVEQuanMiO2ltcG9ydHtMIGFzIEYsYSBhcyBULHIgYXMgQn1mcm9tIi4vY29ja3BpdC1CVmlRUWVmcy5qcyI7aW1wb3J0e1QgYXMgUH1mcm9tIi4vVGFicy1CSVZjSVBDby5qcyI7ZnVuY3Rpb24gSyhhLHMpe3JldHVybiBhLmV4ZWN1dGlvbl9ldmlkZW5jZT8udmFsdWV8fCJ1bmtub3duIn1mdW5jdGlvbiBNKHthY2NvdW50czphfSl7Y29uc3Qgcz11KCkscj15KCksdD1BKCk7cmV0dXJuIGEubGVuZ3RoPT09MD9lLmpzeChlLkZyYWdtZW50LHtjaGlsZHJlbjpzKCJjb21tb24ubm9uZSIpfSk6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0cmF0ZWd5LWFjY291bnRzIixjaGlsZHJlbjphLm1hcChuPT5lLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJzdHJhdGVneS1hY2NvdW50LWxpbmsiLG9uQ2xpY2s6KCk9PnQoe3BhZ2U6ImFjY291bnRzIixhY2NvdW50Omoobil9KSxjaGlsZHJlbjpbci5wbGF0Zm9ybShuLnBsYXRmb3JtKSwiIMK3ICIsci5hY2NvdW50KG4uYWNjb3VudF9hbGlhcyxuLnBsYXRmb3JtKV19LGoobikpKX0pfWZ1bmN0aW9uIE8oe3N0cmF0ZWd5OmF9KXtjb25zdCBzPXUoKTtyZXR1cm4gYS5oZWFsdGhfc2NvcmU9PT1udWxsP2UuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOnMoImNvbW1vbi5uYSIpfSk6ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6Im51bSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5oZWFsdGhfc2NvcmUiLHt2YWx1ZTphLmhlYWx0aF9zY29yZX0pfSl9ZnVuY3Rpb24gcSh7YWNjb3VudHM6YX0pe2NvbnN0IHM9dSgpLHI9eSgpO3JldHVybiBhLmxlbmd0aD09PTA/bnVsbDplLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZXhlY3V0aW9uIixjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZXhlY3V0aW9uLXRpdGxlIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmFjY291bnRfZXhlY3V0aW9uIil9KSxhLm1hcCh0PT5lLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZXhlY3V0aW9uLWFjY291bnQiLGNoaWxkcmVuOltlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbci5wbGF0Zm9ybSh0LnBsYXRmb3JtKSwiIMK3ICIsci5hY2NvdW50KHQuYWNjb3VudF9hbGlhcyx0LnBsYXRmb3JtKV19KSxlLmpzeChDLHtldmlkZW5jZTp0LmV4ZWN1dGlvbl9ldmlkZW5jZSxzaG93U3RhdGU6ITB9KV19LGoodCkpKV19KX1mdW5jdGlvbiBrKHtzdHJhdGVneTphLGFzc2lnbm1lbnRLbm93bjpzPSEwLGxpZmVjeWNsZXM6cn0pe2NvbnN0IHQ9dSgpLG49eSgpLG89YS5hbGxvd2VkX2V4ZWN1dGlvbl9tb2Rlcy5sZW5ndGg+MD9hLmFsbG93ZWRfZXhlY3V0aW9uX21vZGVzLm1hcChuLmxhbmUpLmpvaW4oIiDCtyAiKTp0KCJjb21tb24ubmEiKSxpPWEuY29uZmlndXJlZF9hY2NvdW50cy5maWx0ZXIobD0+IWwuZXhlY3V0aW9uX2V2aWRlbmNlPy52YWx1ZXx8bC5leGVjdXRpb25fZXZpZGVuY2UudmFsdWU9PT0idW5rbm93biIpLmxlbmd0aCxkPWk+MDtyZXR1cm4gZS5qc3hzKCJhcnRpY2xlIix7Y2xhc3NOYW1lOiJjYXJkIHN0cmF0ZWd5LWNhcmQiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktY2FyZC1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1jYXJkLXRpdGxlIixjaGlsZHJlbjpuLnN0cmF0ZWd5KGEucHJvZmlsZSl9KSxlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InN0cmF0ZWd5LWhlYWx0aC10YWciLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RyYXRlZ3ktaGVhbHRoLWxhYmVsIixjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmhlYWx0aF9sYWJlbCIpfSksYS5oZWFsdGhfc3RhdHVzP2UuanN4KGcse3N0YXR1czphLmhlYWx0aF9zdGF0dXN9KTplLmpzeChfLHt0b25lOiJ1bmtub3duIixjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmhlYWx0aF9ub3RfcHJvdmlkZWQiKX0pXX0pXX0pLGUuanN4cygiZGwiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXJvd3MiLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktcm93IixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgic3RyYXRlZ2llcy5kb21haW4iKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOm4uZG9tYWluKGEuZG9tYWluKX0pXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1yb3ciLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLm1vZGVzIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjpvfSldfSksYS5jb25maWd1cmVkX2FjY291bnRzLmxlbmd0aD09PTAmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1yb3ciLCJkYXRhLWJpbmRpbmciOnM/InVuYm91bmQiOiJ1bmtub3duIixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgic3RyYXRlZ2llcy5iaW5kaW5nIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjpzP2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdHJhdGVneS11bmJvdW5kIix0aXRsZTp0KCJzdHJhdGVnaWVzLnVuYm91bmRfbm90ZSIpLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMudW5ib3VuZCIpfSk6ZS5qc3goInNwYW4iLHtjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5rbm93biIpfSl9KV19KSxhLmNvbmZpZ3VyZWRfYWNjb3VudHMubGVuZ3RoPjAmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1yb3ciLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmFjY291bnRzX3VzaW5nIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChNLHthY2NvdW50czphLmNvbmZpZ3VyZWRfYWNjb3VudHN9KX0pXX0pLGEuaGVhbHRoX3Njb3JlIT09bnVsbCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXJvdyIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInN0cmF0ZWdpZXMuaGVhbHRoIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjplLmpzeChPLHtzdHJhdGVneTphfSl9KV19KV19KSxhLmNvbmZpZ3VyZWRfYWNjb3VudHMubGVuZ3RoPjAmJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToic3RyYXRlZ3ktZGV0YWlscyIsY2hpbGRyZW46W2UuanN4cygic3VtbWFyeSIse2NoaWxkcmVuOlt0KCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl9zZWN0aW9uIiksZD9gIMK3ICR7dCgic3RyYXRlZ2llcy5leGVjdXRpb24udW5rbm93biIpfSAke2l9YDoiIl19KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZGV0YWlscy1ib2R5IixjaGlsZHJlbjpbZS5qc3gocSx7YWNjb3VudHM6YS5jb25maWd1cmVkX2FjY291bnRzfSksZCYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46dCgic3RyYXRlZ2llcy5leGVjdXRpb25fdW5rbm93bl9ub3RlIil9KV19KV19KSxyJiZyLmxlbmd0aD4wJiZlLmpzeHMoImRldGFpbHMiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWRldGFpbHMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOnQoImNvY2twaXQubGlmZWN5Y2xlLnRpdGxlIil9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1kZXRhaWxzLWJvZHkiLGNoaWxkcmVuOnIubWFwKChsLG0pPT5lLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktbGlmZWN5Y2xlIixjaGlsZHJlbjpbZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOltsLnBsYXRmb3JtJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W24ucGxhdGZvcm0obC5wbGF0Zm9ybSksIiDCtyAiXX0pLGwuYWNjb3VudF9hbGlhcz9uLmFjY291bnQobC5hY2NvdW50X2FsaWFzLGwucGxhdGZvcm0/PyIiKTp0KCJkZWNpc2lvbnMuYWNjb3VudF91bmJvdW5kIiksIiDCtyAiLHQoImNvY2twaXQubGlmZWN5Y2xlLmlkZW50aXR5Iix7cmVsZWFzZTpsLnJlbGVhc2VfaWQ/P3QoImNvY2twaXQudW5rbm93biIpLHRhcmdldDpsLnRhcmdldF9pZD8/dCgiY29ja3BpdC51bmtub3duIil9KV19KSxsLnByZXNlbnQ/ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeChGLHtiaW5kaW5nOmx9KSxsLmV2aWRlbmNlJiZlLmpzeChULHtldmlkZW5jZTpsLmV2aWRlbmNlfSksbC5yZWdpbWVfZWZmZWN0JiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjpCKGwucmVnaW1lX2VmZmVjdCx0KX0pXX0pOmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOnQoImNvY2twaXQubGlmZWN5Y2xlLm5vdF9wcm92aWRlZCIpfSldfSxgJHtsLmFjY291bnRfYWxpYXN9LyR7bC5wbGF0Zm9ybX0vJHtsLnJlbGVhc2VfaWQ/P219YCkpfSldfSksKGEuc3RhdHVzIT09Im9rInx8YS5hc19vZikmJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1jYXJkLWZvb3QiLGNoaWxkcmVuOlthLnN0YXR1cyE9PSJvayImJmUuanN4KGcse3N0YXR1czphLnN0YXR1cyxyZWFzb246YS51bmF2YWlsYWJsZV9yZWFzb259KSxhLmFzX29mJiZlLmpzeCh4LHt2YWx1ZTphLmFzX29mLHByZWZpeDoic3RyYXRlZ2llcy5oZWFsdGhfYXNfb2YifSldfSldfSl9ZnVuY3Rpb24gRCh7cmVmcmVzaEVwb2NoOmF9KXtjb25zdCBzPXUoKSxyPXkoKSx0PUEoKSxuPUUoJCxbYV0pLG89RSgoKT0+bi5waGFzZT09PSJyZWFkeSI/TChuLmRhdGEpOlByb21pc2UucmVzb2x2ZSh7c3RhdHVzOiJyZWFkeSIsZGF0YTpbXSxzeW50aGV0aWM6ITF9KSxbbi5waGFzZT09PSJyZWFkeSI/bi5kYXRhOm51bGxdKTtpZihuLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1ncmlkIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46WzAsMSwyXS5tYXAoYz0+ZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQgc3RyYXRlZ3ktY2FyZCIsY2hpbGRyZW46W2UuanN4KGgse2hlaWdodDoxOCx3aWR0aDoiNTUlIn0pLGUuanN4KGgse2hlaWdodDoxMn0pLGUuanN4KGgse2hlaWdodDoxMn0pLGUuanN4KGgse2hlaWdodDoxMix3aWR0aDoiNzAlIn0pXX0sYykpfSk7aWYobi5waGFzZT09PSJlcnJvciIpcmV0dXJuIGUuanN4KHcse29uUmV0cnk6bi5yZWxvYWR9KTtjb25zdCBpPW4uZGF0YTtpZihpLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpcmV0dXJuIGUuanN4KHcse29uUmV0cnk6bi5yZWxvYWR9KTtjb25zdCBkPW5ldyBNYXA7aWYoby5waGFzZT09PSJyZWFkeSImJm8uZGF0YS5zdGF0dXM9PT0icmVhZHkiKWZvcihjb25zdCBjIG9mIG8uZGF0YS5kYXRhKXtjb25zdCBmPWQuZ2V0KGMucHJvZmlsZSk7Zj9mLnB1c2goYyk6ZC5zZXQoYy5wcm9maWxlLFtjXSl9aWYoaS5zdHJhdGVnaWVzLmxlbmd0aD09PTApcmV0dXJuIGkuc3RhdHVzPT09Im5vdF9jb25uZWN0ZWQiP2UuanN4KHAse3RpdGxlOnMoInN0YXRlLm5vdF9jb25uZWN0ZWQiKSxib2R5OnMoInJlYXNvbi5zdHJhdGVneV9oZWFsdGhfbm90X2Nvbm5lY3RlZCIpfSk6ZS5qc3gocCx7dGl0bGU6cygic3RyYXRlZ2llcy5lbXB0eSIpfSk7Y29uc3QgbD1pLmFjY291bnRfYXNzaWdubWVudF9zdGF0dXM9PT12b2lkIDB8fGkuYWNjb3VudF9hc3NpZ25tZW50X3N0YXR1cz09PSJjb21wbGV0ZSIsbT1pLnN0cmF0ZWdpZXMuc29tZShjPT5jLmNvbmZpZ3VyZWRfYWNjb3VudHMuc29tZShmPT5LKGYpPT09ImxpdmUiKSksTj1pLnN0cmF0ZWdpZXMuZmlsdGVyKGM9PmMuY29uZmlndXJlZF9hY2NvdW50cy5sZW5ndGg+MCksdj1pLnN0cmF0ZWdpZXMuZmlsdGVyKGM9PmMuY29uZmlndXJlZF9hY2NvdW50cy5sZW5ndGg9PT0wKSxiPWkudW5tYXRjaGVkX3N0cmF0ZWd5X2Fzc2lnbm1lbnRzfHxbXTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzZWN0aW9uLXN0YWNrIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhdGFsb2ctbWV0YSIsY2hpbGRyZW46W2kuc3RhdHVzIT09Im9rIiYmZS5qc3goZyx7c3RhdHVzOmkuc3RhdHVzfSksZS5qc3goeCx7dmFsdWU6aS5hc19vZn0pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUgc3RyYXRlZ3ktZG9tYWluLW5vdGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuZG9tYWluX25vdGUiKX0pLGIubGVuZ3RoPjAmJmUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbiIsImRhdGEtYmluZGluZyI6InVubWF0Y2hlZCIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMudW5tYXRjaGVkX3RpdGxlIil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiLHtjb3VudDpiLmxlbmd0aH0pfSldfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLnVubWF0Y2hlZF9ub3RlIil9KSxlLmpzeCgidWwiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXVubWF0Y2hlZCIsY2hpbGRyZW46Yi5tYXAoYz0+ZS5qc3hzKCJsaSIse2NoaWxkcmVuOltlLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJzdHJhdGVneS1hY2NvdW50LWxpbmsiLG9uQ2xpY2s6KCk9PnQoe3BhZ2U6ImFjY291bnRzIixhY2NvdW50OmooYyl9KSxjaGlsZHJlbjpbci5wbGF0Zm9ybShjLnBsYXRmb3JtKSwiIMK3ICIsci5hY2NvdW50KGMuYWNjb3VudF9hbGlhcyxjLnBsYXRmb3JtKV19KSxlLmpzeCgiY29kZSIse3RpdGxlOnMoInN0cmF0ZWdpZXMudW5tYXRjaGVkX3Byb2ZpbGUiKSxjaGlsZHJlbjpjLnN0cmF0ZWd5X3Byb2ZpbGV9KV19LGooYykpKX0pXX0pLG0mJmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUgc3RyYXRlZ3ktbGl2ZS1ub3RlIixjaGlsZHJlbjpbZS5qc3goXyx7dG9uZToid2FybiIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZSIpfSksZS5qc3goInNwYW4iLHtjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmxpdmVfZXhwb3N1cmUiKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5leGVjdXRpb25fc291cmNlIil9KV19KSxsP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24taGVhZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5jb25maWd1cmVkX3NlY3Rpb24iKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuc2VjdGlvbl9jb3VudCIse2NvdW50Ok4ubGVuZ3RofSl9KV19KSxOLmxlbmd0aD4wP2UuanN4KCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWdyaWQiLGNoaWxkcmVuOk4ubWFwKGM9PmUuanN4KGsse3N0cmF0ZWd5OmMsbGlmZWN5Y2xlczpkLmdldChjLnByb2ZpbGUpfSxjLnByb2ZpbGUpKX0pOmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUgc3RyYXRlZ3ktc2VjdGlvbi1lbXB0eSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5ub19jb25maWd1cmVkIil9KV19KSx2Lmxlbmd0aD4wJiZlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24iLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbi1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmNhdGFsb2dfc2VjdGlvbiIpfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5zZWN0aW9uX2NvdW50Iix7Y291bnQ6di5sZW5ndGh9KX0pXX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWdyaWQiLGNoaWxkcmVuOnYubWFwKGM9PmUuanN4KGsse3N0cmF0ZWd5OmMsbGlmZWN5Y2xlczpkLmdldChjLnByb2ZpbGUpfSxjLnByb2ZpbGUpKX0pXX0pXX0pOmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5hdmFpbGFibGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWdyaWQiLGNoaWxkcmVuOmkuc3RyYXRlZ2llcy5tYXAoYz0+ZS5qc3goayx7c3RyYXRlZ3k6Yyxhc3NpZ25tZW50S25vd246ITEsbGlmZWN5Y2xlczpkLmdldChjLnByb2ZpbGUpfSxjLnByb2ZpbGUpKX0pXX0pXX0pfWZ1bmN0aW9uIEgoYSl7aWYoIWF8fHR5cGVvZiBhIT0ib2JqZWN0IilyZXR1cm57c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9O2NvbnN0IHM9YTtyZXR1cm4gcy5zY2hlbWFfdmVyc2lvbiE9PSJxc2xfbTBfcmVzZWFyY2hfZGFzaGJvYXJkLnYxInx8IVsicmVhZHkiLCJzdGFsZSIsInVuYXZhaWxhYmxlIl0uaW5jbHVkZXMocy5kYXRhX3N0YXR1cyl8fCFBcnJheS5pc0FycmF5KHMuc3ViamVjdHMpfHwhQXJyYXkuaXNBcnJheShzLmVycm9ycyk/e3N0YXR1czoicmVhZF9mYWlsZWQifTpzLmVycm9ycy5zb21lKHI9PnR5cGVvZiByIT0ic3RyaW5nInx8L2ZhaWxlZHx1bnJlYWRhYmxlfGludmFsaWQvLnRlc3QocikpP3tzdGF0dXM6InJlYWRfZmFpbGVkIn06cy5kYXRhX3N0YXR1cz09PSJ1bmF2YWlsYWJsZSI/e3N0YXR1czoidW5hdmFpbGFibGUifTpzLnN1YmplY3RzLmV2ZXJ5KHI9PnI/LnN1YmplY3QmJnR5cGVvZiByLnN1YmplY3QuaWRlbnRpZmllcj09InN0cmluZyImJkFycmF5LmlzQXJyYXkoci5vYnNlcnZhdGlvbnMpJiZyLm9ic2VydmF0aW9ucy5ldmVyeSh0PT50JiZBcnJheS5pc0FycmF5KHQuc291cmNlX2lkcykmJnQuc291cmNlX2lkcy5ldmVyeShuPT50eXBlb2Ygbj09InN0cmluZyIpJiZ0eXBlb2YgdC5nZW5lcmF0ZWRfYXQ9PSJzdHJpbmciJiZ0eXBlb2YgdC5leHBpcmVzX2F0PT0ic3RyaW5nIiYmdHlwZW9mIHQuYXNfb2Y9PSJzdHJpbmciJiZ0eXBlb2YgdC5yZXNlYXJjaF9jb250ZXh0Py5zdGF0ZT09InN0cmluZyImJnR5cGVvZiB0LmZyZXNobmVzcz8uc3RhdHVzPT0ic3RyaW5nIikpP3tzdGF0dXM6cy5kYXRhX3N0YXR1cyxkYXNoYm9hcmQ6c306e3N0YXR1czoicmVhZF9mYWlsZWQifX1hc3luYyBmdW5jdGlvbiBJKCl7cmV0dXJuIEgoYXdhaXQgUigiL2FwaS9tMC1yZXNlYXJjaCIpKX1mdW5jdGlvbiBKKHtyZWZyZXNoRXBvY2g6YX0pe2NvbnN0IHM9dSgpLHI9RShJLFthXSk7aWYoci5waGFzZT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLCJhcmlhLWJ1c3kiOiJ0cnVlIixjaGlsZHJlbjpbZS5qc3goaCx7aGVpZ2h0OjcyfSksZS5qc3goaCx7aGVpZ2h0OjcyfSldfSk7aWYoci5waGFzZT09PSJlcnJvciJ8fHIuZGF0YS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKXJldHVybiBlLmpzeCh3LHtvblJldHJ5OnIucmVsb2FkfSk7aWYoci5kYXRhLnN0YXR1cz09PSJ1bmF2YWlsYWJsZSIpcmV0dXJuIGUuanN4KHAse3RpdGxlOnMoInN0cmF0ZWdpZXMucmVzZWFyY2hfdW5hdmFpbGFibGUiKX0pO2NvbnN0IHQ9ci5kYXRhLmRhc2hib2FyZDtyZXR1cm4gdC5zdWJqZWN0cy5sZW5ndGg9PT0wP2UuanN4KHAse3RpdGxlOnMoInN0cmF0ZWdpZXMucmVzZWFyY2hfZW1wdHkiKX0pOmUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXRhbG9nLW1ldGEiLGNoaWxkcmVuOltlLmpzeChfLHt0b25lOiJhY2NlbnQiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMucmVzZWFyY2hfb25seSIpfSksci5kYXRhLnN0YXR1cz09PSJzdGFsZSImJmUuanN4KGcse3N0YXR1czoic3RhbGUifSksZS5qc3goeCx7dmFsdWU6dC5zb3VyY2VfZ2VuZXJhdGVkX2F0fSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToicmVzZWFyY2gtbGlzdCIsY2hpbGRyZW46dC5zdWJqZWN0cy5tYXAoKG4sbyk9PmUuanN4cygiYXJ0aWNsZSIse2NsYXNzTmFtZToiY2FyZCByZXNlYXJjaC1pdGVtIixjaGlsZHJlbjpbZS5qc3goImRpdiIse2NsYXNzTmFtZToicmVzZWFyY2gtaXRlbS1oZWFkIixjaGlsZHJlbjplLmpzeCgic3BhbiIse2NsYXNzTmFtZToicmVzZWFyY2gtaXRlbS10aXRsZSIsY2hpbGRyZW46bi5zdWJqZWN0LmlkZW50aWZpZXJ9KX0pLG4ub2JzZXJ2YXRpb25zLm1hcCgoaSxkKT0+e2NvbnN0IGw9aS5zb3VyY2VfaWRzLm1hcChtPT5zKGByZXNlYXJjaC5zb3VyY2UuJHttfWApKTtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLCJkYXRhLXNvdXJjZS1pZHMiOmkuc291cmNlX2lkcy5qb2luKCIsIiksY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjYXRhbG9nLW1ldGEiLGNoaWxkcmVuOltlLmpzeChfLHt0b25lOmkuZnJlc2huZXNzLnN0YXR1cz09PSJzdGFsZSI/Indhcm4iOiJhY2NlbnQiLHRpdGxlOnMoYHN0YXRlLiR7aS5mcmVzaG5lc3Muc3RhdHVzfWApLGNoaWxkcmVuOnMoYHJlc2VhcmNoLnN0YXRlLiR7aS5yZXNlYXJjaF9jb250ZXh0LnN0YXRlfWApfSksaS5mcmVzaG5lc3Muc3RhdHVzIT09ImZyZXNoIiYmZS5qc3goZyx7c3RhdHVzOmkuZnJlc2huZXNzLnN0YXR1c30pXX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJyZXNlYXJjaC1pdGVtLXN1bW1hcnkiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMucmVzZWFyY2hfc291cmNlcyIse3ZhbHVlOmwuam9pbigiIMK3ICIpfHxzKCJjb21tb24udW5rbm93biIpfSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToicmVzZWFyY2gtaXRlbS1zdW1tYXJ5IixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLnJlc2VhcmNoX2FzX29mIix7dmFsdWU6aS5hc19vZn0pfSksZS5qc3goeCx7dmFsdWU6aS5nZW5lcmF0ZWRfYXR9KSxlLmpzeCh4LHt2YWx1ZTppLmV4cGlyZXNfYXQscHJlZml4OiJzdHJhdGVnaWVzLnJlc2VhcmNoX2V4cGlyZXMifSldfSxkKX0pXX0sYCR7bi5zdWJqZWN0LmtpbmR9LyR7bi5zdWJqZWN0LmlkZW50aWZpZXJ9LyR7b31gKSl9KV19KX1mdW5jdGlvbiBXKCl7Y29uc3QgYT11KCksW3Mscl09Uy51c2VTdGF0ZSgiY2F0YWxvZyIpLFt0LG5dPVMudXNlU3RhdGUoMCk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlIixjaGlsZHJlbjpbZS5qc3hzKCJoZWFkZXIiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyIixjaGlsZHJlbjpbZS5qc3goImgxIix7Y2xhc3NOYW1lOiJwYWdlLXRpdGxlIixjaGlsZHJlbjphKCJzdHJhdGVnaWVzLnRpdGxlIil9KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlLWhlYWRlci1hY3Rpb25zIixjaGlsZHJlbjplLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IixvbkNsaWNrOigpPT5uKG89Pm8rMSksY2hpbGRyZW46YSgiY29tbW9uLnJlZnJlc2giKX0pfSldfSksZS5qc3goUCx7aWQ6InN0cmF0ZWdpZXMiLGl0ZW1zOlt7aWQ6ImNhdGFsb2ciLGxhYmVsOmEoInN0cmF0ZWdpZXMudGFiLmNhdGFsb2ciKX0se2lkOiJyZXNlYXJjaCIsbGFiZWw6YSgic3RyYXRlZ2llcy50YWIucmVzZWFyY2giKX1dLGFjdGl2ZTpzLG9uQ2hhbmdlOm89PnIobyksYXJpYUxhYmVsOmEoInN0cmF0ZWdpZXMudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtpZDoic3RyYXRlZ2llcy1wYW5lbCIscm9sZToidGFicGFuZWwiLCJhcmlhLWxhYmVsbGVkYnkiOmBzdHJhdGVnaWVzLXRhYi0ke3N9YCx0YWJJbmRleDowLGNoaWxkcmVuOnM9PT0iY2F0YWxvZyI/ZS5qc3goRCx7cmVmcmVzaEVwb2NoOnR9KTplLmpzeChKLHtyZWZyZXNoRXBvY2g6dH0pfSldfSl9ZXhwb3J0e1cgYXMgZGVmYXVsdH07Cg==" }, "/v2/assets/StrategiesPage-CeZkxG_N.css": { contentType: "text/css; charset=utf-8", base64: "LmNhdGFsb2ctbWV0YXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHggMTJweDtmbGV4LXdyYXA6d3JhcH0uc3RyYXRlZ3ktZG9tYWluLW5vdGV7bWFyZ2luOjA7bWF4LXdpZHRoOjg4Y2h9LnN0cmF0ZWd5LXNlY3Rpb24taGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweCAxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206MTBweH0uc3RyYXRlZ3ktc2VjdGlvbi10aXRsZXttYXJnaW46MDtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo2NTA7bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5zdHJhdGVneS1zZWN0aW9uLWhlYWQgLmNhcmQtbm90ZXttYXJnaW46MH0uc3RyYXRlZ3ktc2VjdGlvbi1lbXB0eXttYXJnaW46MDtwYWRkaW5nOjEwcHggMH0uc3RyYXRlZ3ktdW5tYXRjaGVke2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46OHB4IDAgMDtwYWRkaW5nOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4fS5zdHJhdGVneS11bm1hdGNoZWQgbGl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4IDEycHg7ZmxleC13cmFwOndyYXB9LnN0cmF0ZWd5LXVubWF0Y2hlZCBjb2Rle2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5zdHJhdGVneS1jYXJke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHg7bWluLXdpZHRoOjA7cGFkZGluZzoxNnB4IDE4cHh9LnN0cmF0ZWd5LWNhcmQtaGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweDtmbGV4LXdyYXA6d3JhcH0uc3RyYXRlZ3ktY2FyZC10aXRsZXttYXJnaW46MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2NTA7bGluZS1oZWlnaHQ6MS4zNTtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5zdHJhdGVneS1oZWFsdGgtdGFne2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXB9LnN0cmF0ZWd5LWhlYWx0aC1sYWJlbHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LnN0cmF0ZWd5LXJvd3N7bWFyZ2luOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MH0uc3RyYXRlZ3ktcm93e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTRweDtwYWRkaW5nOjZweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXNvZnQtbGluZSwgdmFyKC0tbGluZSkpO2ZvbnQtc2l6ZToxM3B4O2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5zdHJhdGVneS1yb3c6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjB9LnN0cmF0ZWd5LXJvdyBkdHtjb2xvcjp2YXIoLS1tdXRlZCk7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTJweH0uc3RyYXRlZ3ktcm93IGRke21hcmdpbjowO3RleHQtYWxpZ246cmlnaHQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtkaXNwbGF5OmZsZXg7Z2FwOjZweDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyfS5zdHJhdGVneS11bmJvdW5ke2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo1MDB9LnN0cmF0ZWd5LWFjY291bnRze2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjRweCA4cHg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zdHJhdGVneS1hY2NvdW50LWxpbmt7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDozMnB4O2NvbG9yOnZhcigtLWFjY2VudCk7cGFkZGluZzo0cHggNnB4O2JvcmRlci1yYWRpdXM6NHB4fS5zdHJhdGVneS1hY2NvdW50LWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uc3RyYXRlZ3ktY2FyZC1mb290e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tdG9wOmF1dG99LnN0cmF0ZWd5LWV4ZWN1dGlvbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1zb2Z0LWxpbmUsIHZhcigtLWxpbmUpKTtib3JkZXItcmFkaXVzOjlweDtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMik7Zm9udC1zaXplOjEzcHh9LnN0cmF0ZWd5LWV4ZWN1dGlvbi10aXRsZSwuc3RyYXRlZ3ktZXhlY3V0aW9uLW5vdGV7Y29sb3I6dmFyKC0tbXV0ZWQpfS5zdHJhdGVneS1leGVjdXRpb24tdGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwfS5zdHJhdGVneS1leGVjdXRpb24tYWNjb3VudHtkaXNwbGF5OmZsZXg7Z2FwOjZweCAxMnB4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnN0cmF0ZWd5LWV4ZWN1dGlvbi1ub3Rle21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNX0uc3RyYXRlZ3ktbGl2ZS1ub3Rle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo4cHg7ZmxleC13cmFwOndyYXB9LnN0cmF0ZWd5LWxpdmUtbm90ZSBkZXRhaWxze2ZsZXgtYmFzaXM6MTAwJX0uc3RyYXRlZ3ktbGl2ZS1ub3RlIHN1bW1hcnksLnJlc2VhcmNoLWl0ZW0tbW9yZSBzdW1tYXJ5e2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOjEycHh9LnN0cmF0ZWd5LWxpdmUtbm90ZSBwe21hcmdpbjo0cHggMCAwfS5yZXNlYXJjaC1pdGVtLW1vcmV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpfS5yZXNlYXJjaC1pdGVtLW1vcmUgcHttYXJnaW46NHB4IDAgMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5zdHJhdGVneS1kZXRhaWxze2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO3BhZGRpbmctdG9wOjhweDttYXJnaW4tdG9wOmF1dG99LnN0cmF0ZWd5LWRldGFpbHMgc3VtbWFyeXtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NnB4IDB9LnN0cmF0ZWd5LWRldGFpbHMgc3VtbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1pbmspfS5zdHJhdGVneS1kZXRhaWxzLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3BhZGRpbmctdG9wOjRweH0uc3RyYXRlZ3ktZGV0YWlscy1ib2R5IC5zdHJhdGVneS1leGVjdXRpb257cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnN0cmF0ZWd5LWxpZmVjeWNsZSsuc3RyYXRlZ3ktbGlmZWN5Y2xle2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO3BhZGRpbmctdG9wOjEwcHh9LnN0cmF0ZWd5LWxpZmVjeWNsZSAuY29ja3BpdC1zZWN0aW9ue3BhZGRpbmc6MDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5yZXNlYXJjaC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LnJlc2VhcmNoLWl0ZW17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3BhZGRpbmc6MTZweCAxOHB4fS5yZXNlYXJjaC1pdGVtLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4O2ZsZXgtd3JhcDp3cmFwfS5yZXNlYXJjaC1pdGVtLXRpdGxle2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5yZXNlYXJjaC1pdGVtLXN1bW1hcnl7bWFyZ2luOjA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNTU7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuc3RyYXRlZ3ktZ3JpZHtnYXA6MTJweH0uc3RyYXRlZ3ktY2FyZCwucmVzZWFyY2gtaXRlbXtwYWRkaW5nOjE0cHggMTZweH19QG1lZGlhKG1heC13aWR0aDo2MDBweCl7LnN0cmF0ZWd5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9LnN0cmF0ZWd5LXJvd3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0uc3RyYXRlZ3ktcm93IGRke2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3RleHQtYWxpZ246bGVmdH0uc3RyYXRlZ3ktYWNjb3VudHN7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9fQo=" }, - "/v2/assets/StrategiesPage-DWya5By5.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UsciBhcyBTLGogYXMgZSx4IGFzIHksZSBhcyBBLGFlIGFzICQsYWYgYXMgTCxuIGFzIGgsRSBhcyB3LGYgYXMgcCxTIGFzIGcsQSBhcyB4LGEwIGFzIGosQiBhcyBfLGcgYXMgUn1mcm9tIi4vaW5kZXgtQzRjd09fUGouanMiO2ltcG9ydHtFIGFzIEN9ZnJvbSIuL0V4ZWN1dGlvbkV2aWRlbmNlLUNXYXFlRGFBLmpzIjtpbXBvcnR7dSBhcyBFfWZyb20iLi9ob29rcy1DTW5BMWxPUC5qcyI7aW1wb3J0e0wgYXMgRixhIGFzIFQsciBhcyBCfWZyb20iLi9jb2NrcGl0LUMtTkNMWm5LLmpzIjtpbXBvcnR7VCBhcyBQfWZyb20iLi9UYWJzLUNGb1gxeHpNLmpzIjtmdW5jdGlvbiBLKGEscyl7cmV0dXJuIGEuZXhlY3V0aW9uX2V2aWRlbmNlPy52YWx1ZXx8InVua25vd24ifWZ1bmN0aW9uIE0oe2FjY291bnRzOmF9KXtjb25zdCBzPXUoKSxyPXkoKSx0PUEoKTtyZXR1cm4gYS5sZW5ndGg9PT0wP2UuanN4KGUuRnJhZ21lbnQse2NoaWxkcmVuOnMoImNvbW1vbi5ub25lIil9KTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RyYXRlZ3ktYWNjb3VudHMiLGNoaWxkcmVuOmEubWFwKG49PmUuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6InN0cmF0ZWd5LWFjY291bnQtbGluayIsb25DbGljazooKT0+dCh7cGFnZToiYWNjb3VudHMiLGFjY291bnQ6aihuKX0pLGNoaWxkcmVuOltyLnBsYXRmb3JtKG4ucGxhdGZvcm0pLCIgwrcgIixyLmFjY291bnQobi5hY2NvdW50X2FsaWFzLG4ucGxhdGZvcm0pXX0saihuKSkpfSl9ZnVuY3Rpb24gTyh7c3RyYXRlZ3k6YX0pe2NvbnN0IHM9dSgpO3JldHVybiBhLmhlYWx0aF9zY29yZT09PW51bGw/ZS5qc3goZS5GcmFnbWVudCx7Y2hpbGRyZW46cygiY29tbW9uLm5hIil9KTplLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmhlYWx0aF9zY29yZSIse3ZhbHVlOmEuaGVhbHRoX3Njb3JlfSl9KX1mdW5jdGlvbiBxKHthY2NvdW50czphfSl7Y29uc3Qgcz11KCkscj15KCk7cmV0dXJuIGEubGVuZ3RoPT09MD9udWxsOmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1leGVjdXRpb24iLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1leGVjdXRpb24tdGl0bGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuYWNjb3VudF9leGVjdXRpb24iKX0pLGEubWFwKHQ9PmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1leGVjdXRpb24tYWNjb3VudCIsY2hpbGRyZW46W2UuanN4cygic3BhbiIse2NoaWxkcmVuOltyLnBsYXRmb3JtKHQucGxhdGZvcm0pLCIgwrcgIixyLmFjY291bnQodC5hY2NvdW50X2FsaWFzLHQucGxhdGZvcm0pXX0pLGUuanN4KEMse2V2aWRlbmNlOnQuZXhlY3V0aW9uX2V2aWRlbmNlLHNob3dTdGF0ZTohMH0pXX0saih0KSkpXX0pfWZ1bmN0aW9uIGsoe3N0cmF0ZWd5OmEsYXNzaWdubWVudEtub3duOnM9ITAsbGlmZWN5Y2xlczpyfSl7Y29uc3QgdD11KCksbj15KCksbz1hLmFsbG93ZWRfZXhlY3V0aW9uX21vZGVzLmxlbmd0aD4wP2EuYWxsb3dlZF9leGVjdXRpb25fbW9kZXMubWFwKG4ubGFuZSkuam9pbigiIMK3ICIpOnQoImNvbW1vbi5uYSIpLGk9YS5jb25maWd1cmVkX2FjY291bnRzLmZpbHRlcihsPT4hbC5leGVjdXRpb25fZXZpZGVuY2U/LnZhbHVlfHxsLmV4ZWN1dGlvbl9ldmlkZW5jZS52YWx1ZT09PSJ1bmtub3duIikubGVuZ3RoLGQ9aT4wO3JldHVybiBlLmpzeHMoImFydGljbGUiLHtjbGFzc05hbWU6ImNhcmQgc3RyYXRlZ3ktY2FyZCIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1jYXJkLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWNhcmQtdGl0bGUiLGNoaWxkcmVuOm4uc3RyYXRlZ3koYS5wcm9maWxlKX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToic3RyYXRlZ3ktaGVhbHRoLXRhZyIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1oZWFsdGgtbGFiZWwiLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuaGVhbHRoX2xhYmVsIil9KSxhLmhlYWx0aF9zdGF0dXM/ZS5qc3goZyx7c3RhdHVzOmEuaGVhbHRoX3N0YXR1c30pOmUuanN4KF8se3RvbmU6InVua25vd24iLGNoaWxkcmVuOnQoInN0cmF0ZWdpZXMuaGVhbHRoX25vdF9wcm92aWRlZCIpfSldfSldfSksZS5qc3hzKCJkbCIse2NsYXNzTmFtZToic3RyYXRlZ3ktcm93cyIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1yb3ciLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmRvbWFpbiIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46bi5kb21haW4oYS5kb21haW4pfSldfSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXJvdyIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInN0cmF0ZWdpZXMubW9kZXMiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOm99KV19KSxhLmNvbmZpZ3VyZWRfYWNjb3VudHMubGVuZ3RoPT09MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXJvdyIsImRhdGEtYmluZGluZyI6cz8idW5ib3VuZCI6InVua25vd24iLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmJpbmRpbmciKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOnM/ZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0cmF0ZWd5LXVuYm91bmQiLHRpdGxlOnQoInN0cmF0ZWdpZXMudW5ib3VuZF9ub3RlIiksY2hpbGRyZW46dCgic3RyYXRlZ2llcy51bmJvdW5kIil9KTplLmpzeCgic3BhbiIse2NoaWxkcmVuOnQoInN0cmF0ZWdpZXMuYXNzaWdubWVudF91bmtub3duIil9KX0pXX0pLGEuY29uZmlndXJlZF9hY2NvdW50cy5sZW5ndGg+MCYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXJvdyIsY2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnQoInN0cmF0ZWdpZXMuYWNjb3VudHNfdXNpbmciKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KE0se2FjY291bnRzOmEuY29uZmlndXJlZF9hY2NvdW50c30pfSldfSksYS5oZWFsdGhfc2NvcmUhPT1udWxsJiZlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktcm93IixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgic3RyYXRlZ2llcy5oZWFsdGgiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmUuanN4KE8se3N0cmF0ZWd5OmF9KX0pXX0pXX0pLGEuY29uZmlndXJlZF9hY2NvdW50cy5sZW5ndGg+MCYmZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1kZXRhaWxzIixjaGlsZHJlbjpbZS5qc3hzKCJzdW1tYXJ5Iix7Y2hpbGRyZW46W3QoInN0cmF0ZWdpZXMuZXhlY3V0aW9uX3NlY3Rpb24iKSxkP2AgwrcgJHt0KCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi51bmtub3duIil9ICR7aX1gOiIiXX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1kZXRhaWxzLWJvZHkiLGNoaWxkcmVuOltlLmpzeChxLHthY2NvdW50czphLmNvbmZpZ3VyZWRfYWNjb3VudHN9KSxkJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjp0KCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl91bmtub3duX25vdGUiKX0pXX0pXX0pLHImJnIubGVuZ3RoPjAmJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToic3RyYXRlZ3ktZGV0YWlscyIsY2hpbGRyZW46W2UuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46dCgiY29ja3BpdC5saWZlY3ljbGUudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWRldGFpbHMtYm9keSIsY2hpbGRyZW46ci5tYXAoKGwsbSk9PmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1saWZlY3ljbGUiLGNoaWxkcmVuOltlLmpzeHMoInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46W2wucGxhdGZvcm0mJmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbbi5wbGF0Zm9ybShsLnBsYXRmb3JtKSwiIMK3ICJdfSksbC5hY2NvdW50X2FsaWFzP24uYWNjb3VudChsLmFjY291bnRfYWxpYXMsbC5wbGF0Zm9ybT8/IiIpOnQoImRlY2lzaW9ucy5hY2NvdW50X3VuYm91bmQiKSwiIMK3ICIsdCgiY29ja3BpdC5saWZlY3ljbGUuaWRlbnRpdHkiLHtyZWxlYXNlOmwucmVsZWFzZV9pZD8/dCgiY29ja3BpdC51bmtub3duIiksdGFyZ2V0OmwudGFyZ2V0X2lkPz90KCJjb2NrcGl0LnVua25vd24iKX0pXX0pLGwucHJlc2VudD9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KEYse2JpbmRpbmc6bH0pLGwuZXZpZGVuY2UmJmUuanN4KFQse2V2aWRlbmNlOmwuZXZpZGVuY2V9KSxsLnJlZ2ltZV9lZmZlY3QmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOkIobC5yZWdpbWVfZWZmZWN0LHQpfSldfSk6ZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSIsY2hpbGRyZW46dCgiY29ja3BpdC5saWZlY3ljbGUubm90X3Byb3ZpZGVkIil9KV19LGAke2wuYWNjb3VudF9hbGlhc30vJHtsLnBsYXRmb3JtfS8ke2wucmVsZWFzZV9pZD8/bX1gKSl9KV19KSwoYS5zdGF0dXMhPT0ib2sifHxhLmFzX29mKSYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWNhcmQtZm9vdCIsY2hpbGRyZW46W2Euc3RhdHVzIT09Im9rIiYmZS5qc3goZyx7c3RhdHVzOmEuc3RhdHVzLHJlYXNvbjphLnVuYXZhaWxhYmxlX3JlYXNvbn0pLGEuYXNfb2YmJmUuanN4KHgse3ZhbHVlOmEuYXNfb2YscHJlZml4OiJzdHJhdGVnaWVzLmhlYWx0aF9hc19vZiJ9KV19KV19KX1mdW5jdGlvbiBEKHtyZWZyZXNoRXBvY2g6YX0pe2NvbnN0IHM9dSgpLHI9eSgpLHQ9QSgpLG49RSgkLFthXSksbz1FKCgpPT5uLnBoYXNlPT09InJlYWR5Ij9MKG4uZGF0YSk6UHJvbWlzZS5yZXNvbHZlKHtzdGF0dXM6InJlYWR5IixkYXRhOltdLHN5bnRoZXRpYzohMX0pLFtuLnBoYXNlPT09InJlYWR5Ij9uLmRhdGE6bnVsbF0pO2lmKG4ucGhhc2U9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LWdyaWQiLCJhcmlhLWJ1c3kiOiJ0cnVlIixjaGlsZHJlbjpbMCwxLDJdLm1hcChjPT5lLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2FyZCBzdHJhdGVneS1jYXJkIixjaGlsZHJlbjpbZS5qc3goaCx7aGVpZ2h0OjE4LHdpZHRoOiI1NSUifSksZS5qc3goaCx7aGVpZ2h0OjEyfSksZS5qc3goaCx7aGVpZ2h0OjEyfSksZS5qc3goaCx7aGVpZ2h0OjEyLHdpZHRoOiI3MCUifSldfSxjKSl9KTtpZihuLnBoYXNlPT09ImVycm9yIilyZXR1cm4gZS5qc3godyx7b25SZXRyeTpuLnJlbG9hZH0pO2NvbnN0IGk9bi5kYXRhO2lmKGkuc3RhdHVzPT09InJlYWRfZmFpbGVkIilyZXR1cm4gZS5qc3godyx7b25SZXRyeTpuLnJlbG9hZH0pO2NvbnN0IGQ9bmV3IE1hcDtpZihvLnBoYXNlPT09InJlYWR5IiYmby5kYXRhLnN0YXR1cz09PSJyZWFkeSIpZm9yKGNvbnN0IGMgb2Ygby5kYXRhLmRhdGEpe2NvbnN0IGY9ZC5nZXQoYy5wcm9maWxlKTtmP2YucHVzaChjKTpkLnNldChjLnByb2ZpbGUsW2NdKX1pZihpLnN0cmF0ZWdpZXMubGVuZ3RoPT09MClyZXR1cm4gaS5zdGF0dXM9PT0ibm90X2Nvbm5lY3RlZCI/ZS5qc3gocCx7dGl0bGU6cygic3RhdGUubm90X2Nvbm5lY3RlZCIpLGJvZHk6cygicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9ub3RfY29ubmVjdGVkIil9KTplLmpzeChwLHt0aXRsZTpzKCJzdHJhdGVnaWVzLmVtcHR5Iil9KTtjb25zdCBsPWkuYWNjb3VudF9hc3NpZ25tZW50X3N0YXR1cz09PXZvaWQgMHx8aS5hY2NvdW50X2Fzc2lnbm1lbnRfc3RhdHVzPT09ImNvbXBsZXRlIixtPWkuc3RyYXRlZ2llcy5zb21lKGM9PmMuY29uZmlndXJlZF9hY2NvdW50cy5zb21lKGY9PksoZik9PT0ibGl2ZSIpKSxOPWkuc3RyYXRlZ2llcy5maWx0ZXIoYz0+Yy5jb25maWd1cmVkX2FjY291bnRzLmxlbmd0aD4wKSx2PWkuc3RyYXRlZ2llcy5maWx0ZXIoYz0+Yy5jb25maWd1cmVkX2FjY291bnRzLmxlbmd0aD09PTApLGI9aS51bm1hdGNoZWRfc3RyYXRlZ3lfYXNzaWdubWVudHN8fFtdO3JldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNlY3Rpb24tc3RhY2siLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2F0YWxvZy1tZXRhIixjaGlsZHJlbjpbaS5zdGF0dXMhPT0ib2siJiZlLmpzeChnLHtzdGF0dXM6aS5zdGF0dXN9KSxlLmpzeCh4LHt2YWx1ZTppLmFzX29mfSldfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBzdHJhdGVneS1kb21haW4tbm90ZSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5kb21haW5fbm90ZSIpfSksYi5sZW5ndGg+MCYmZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uIiwiZGF0YS1iaW5kaW5nIjoidW5tYXRjaGVkIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24taGVhZCIsY2hpbGRyZW46W2UuanN4KCJoMiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy51bm1hdGNoZWRfdGl0bGUiKX0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuc2VjdGlvbl9jb3VudCIse2NvdW50OmIubGVuZ3RofSl9KV19KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMudW5tYXRjaGVkX25vdGUiKX0pLGUuanN4KCJ1bCIse2NsYXNzTmFtZToic3RyYXRlZ3ktdW5tYXRjaGVkIixjaGlsZHJlbjpiLm1hcChjPT5lLmpzeHMoImxpIix7Y2hpbGRyZW46W2UuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6InN0cmF0ZWd5LWFjY291bnQtbGluayIsb25DbGljazooKT0+dCh7cGFnZToiYWNjb3VudHMiLGFjY291bnQ6aihjKX0pLGNoaWxkcmVuOltyLnBsYXRmb3JtKGMucGxhdGZvcm0pLCIgwrcgIixyLmFjY291bnQoYy5hY2NvdW50X2FsaWFzLGMucGxhdGZvcm0pXX0pLGUuanN4KCJjb2RlIix7dGl0bGU6cygic3RyYXRlZ2llcy51bm1hdGNoZWRfcHJvZmlsZSIpLGNoaWxkcmVuOmMuc3RyYXRlZ3lfcHJvZmlsZX0pXX0saihjKSkpfSldfSksbSYmZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBzdHJhdGVneS1saXZlLW5vdGUiLGNoaWxkcmVuOltlLmpzeChfLHt0b25lOiJ3YXJuIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5saXZlIil9KSxlLmpzeCgic3BhbiIse2NoaWxkcmVuOnMoInN0cmF0ZWdpZXMubGl2ZV9leHBvc3VyZSIpfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6InN0YXRlLXNob3J0IixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl9zb3VyY2UiKX0pXX0pLGw/ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24iLGNoaWxkcmVuOltlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbi1oZWFkIixjaGlsZHJlbjpbZS5qc3goImgyIix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLmNvbmZpZ3VyZWRfc2VjdGlvbiIpfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5zZWN0aW9uX2NvdW50Iix7Y291bnQ6Ti5sZW5ndGh9KX0pXX0pLE4ubGVuZ3RoPjA/ZS5qc3goImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZ3JpZCIsY2hpbGRyZW46Ti5tYXAoYz0+ZS5qc3goayx7c3RyYXRlZ3k6YyxsaWZlY3ljbGVzOmQuZ2V0KGMucHJvZmlsZSl9LGMucHJvZmlsZSkpfSk6ZS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSBzdHJhdGVneS1zZWN0aW9uLWVtcHR5IixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLm5vX2NvbmZpZ3VyZWQiKX0pXX0pLHYubGVuZ3RoPjAmJmUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3RyYXRlZ3ktc2VjdGlvbiIsY2hpbGRyZW46W2UuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzdHJhdGVneS1zZWN0aW9uLWhlYWQiLGNoaWxkcmVuOltlLmpzeCgiaDIiLHtjbGFzc05hbWU6InN0cmF0ZWd5LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuY2F0YWxvZ19zZWN0aW9uIil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixjaGlsZHJlbjpzKCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiLHtjb3VudDp2Lmxlbmd0aH0pfSldfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZ3JpZCIsY2hpbGRyZW46di5tYXAoYz0+ZS5qc3goayx7c3RyYXRlZ3k6YyxsaWZlY3ljbGVzOmQuZ2V0KGMucHJvZmlsZSl9LGMucHJvZmlsZSkpfSldfSldfSk6ZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMuYXNzaWdubWVudF91bmF2YWlsYWJsZSIpfSksZS5qc3goImRpdiIse2NsYXNzTmFtZToic3RyYXRlZ3ktZ3JpZCIsY2hpbGRyZW46aS5zdHJhdGVnaWVzLm1hcChjPT5lLmpzeChrLHtzdHJhdGVneTpjLGFzc2lnbm1lbnRLbm93bjohMSxsaWZlY3ljbGVzOmQuZ2V0KGMucHJvZmlsZSl9LGMucHJvZmlsZSkpfSldfSldfSl9ZnVuY3Rpb24gSChhKXtpZighYXx8dHlwZW9mIGEhPSJvYmplY3QiKXJldHVybntzdGF0dXM6InJlYWRfZmFpbGVkIn07Y29uc3Qgcz1hO3JldHVybiBzLnNjaGVtYV92ZXJzaW9uIT09InFzbF9tMF9yZXNlYXJjaF9kYXNoYm9hcmQudjEifHwhWyJyZWFkeSIsInN0YWxlIiwidW5hdmFpbGFibGUiXS5pbmNsdWRlcyhzLmRhdGFfc3RhdHVzKXx8IUFycmF5LmlzQXJyYXkocy5zdWJqZWN0cyl8fCFBcnJheS5pc0FycmF5KHMuZXJyb3JzKT97c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9OnMuZXJyb3JzLnNvbWUocj0+dHlwZW9mIHIhPSJzdHJpbmcifHwvZmFpbGVkfHVucmVhZGFibGV8aW52YWxpZC8udGVzdChyKSk/e3N0YXR1czoicmVhZF9mYWlsZWQifTpzLmRhdGFfc3RhdHVzPT09InVuYXZhaWxhYmxlIj97c3RhdHVzOiJ1bmF2YWlsYWJsZSJ9OnMuc3ViamVjdHMuZXZlcnkocj0+cj8uc3ViamVjdCYmdHlwZW9mIHIuc3ViamVjdC5pZGVudGlmaWVyPT0ic3RyaW5nIiYmQXJyYXkuaXNBcnJheShyLm9ic2VydmF0aW9ucykmJnIub2JzZXJ2YXRpb25zLmV2ZXJ5KHQ9PnQmJkFycmF5LmlzQXJyYXkodC5zb3VyY2VfaWRzKSYmdC5zb3VyY2VfaWRzLmV2ZXJ5KG49PnR5cGVvZiBuPT0ic3RyaW5nIikmJnR5cGVvZiB0LmdlbmVyYXRlZF9hdD09InN0cmluZyImJnR5cGVvZiB0LmV4cGlyZXNfYXQ9PSJzdHJpbmciJiZ0eXBlb2YgdC5hc19vZj09InN0cmluZyImJnR5cGVvZiB0LnJlc2VhcmNoX2NvbnRleHQ/LnN0YXRlPT0ic3RyaW5nIiYmdHlwZW9mIHQuZnJlc2huZXNzPy5zdGF0dXM9PSJzdHJpbmciKSk/e3N0YXR1czpzLmRhdGFfc3RhdHVzLGRhc2hib2FyZDpzfTp7c3RhdHVzOiJyZWFkX2ZhaWxlZCJ9fWFzeW5jIGZ1bmN0aW9uIEkoKXtyZXR1cm4gSChhd2FpdCBSKCIvYXBpL20wLXJlc2VhcmNoIikpfWZ1bmN0aW9uIEooe3JlZnJlc2hFcG9jaDphfSl7Y29uc3Qgcz11KCkscj1FKEksW2FdKTtpZihyLnBoYXNlPT09ImxvYWRpbmciKXJldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOltlLmpzeChoLHtoZWlnaHQ6NzJ9KSxlLmpzeChoLHtoZWlnaHQ6NzJ9KV19KTtpZihyLnBoYXNlPT09ImVycm9yInx8ci5kYXRhLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpcmV0dXJuIGUuanN4KHcse29uUmV0cnk6ci5yZWxvYWR9KTtpZihyLmRhdGEuc3RhdHVzPT09InVuYXZhaWxhYmxlIilyZXR1cm4gZS5qc3gocCx7dGl0bGU6cygic3RyYXRlZ2llcy5yZXNlYXJjaF91bmF2YWlsYWJsZSIpfSk7Y29uc3QgdD1yLmRhdGEuZGFzaGJvYXJkO3JldHVybiB0LnN1YmplY3RzLmxlbmd0aD09PTA/ZS5qc3gocCx7dGl0bGU6cygic3RyYXRlZ2llcy5yZXNlYXJjaF9lbXB0eSIpfSk6ZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzZWN0aW9uLXN0YWNrIixjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhdGFsb2ctbWV0YSIsY2hpbGRyZW46W2UuanN4KF8se3RvbmU6ImFjY2VudCIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5yZXNlYXJjaF9vbmx5Iil9KSxyLmRhdGEuc3RhdHVzPT09InN0YWxlIiYmZS5qc3goZyx7c3RhdHVzOiJzdGFsZSJ9KSxlLmpzeCh4LHt2YWx1ZTp0LnNvdXJjZV9nZW5lcmF0ZWRfYXR9KV19KSxlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJyZXNlYXJjaC1saXN0IixjaGlsZHJlbjp0LnN1YmplY3RzLm1hcCgobixvKT0+ZS5qc3hzKCJhcnRpY2xlIix7Y2xhc3NOYW1lOiJjYXJkIHJlc2VhcmNoLWl0ZW0iLGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJyZXNlYXJjaC1pdGVtLWhlYWQiLGNoaWxkcmVuOmUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJyZXNlYXJjaC1pdGVtLXRpdGxlIixjaGlsZHJlbjpuLnN1YmplY3QuaWRlbnRpZmllcn0pfSksbi5vYnNlcnZhdGlvbnMubWFwKChpLGQpPT57Y29uc3QgbD1pLnNvdXJjZV9pZHMubWFwKG09PnMoYHJlc2VhcmNoLnNvdXJjZS4ke219YCkpO3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2VjdGlvbi1zdGFjayIsImRhdGEtc291cmNlLWlkcyI6aS5zb3VyY2VfaWRzLmpvaW4oIiwiKSxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNhdGFsb2ctbWV0YSIsY2hpbGRyZW46W2UuanN4KF8se3RvbmU6aS5mcmVzaG5lc3Muc3RhdHVzPT09InN0YWxlIj8id2FybiI6ImFjY2VudCIsdGl0bGU6cyhgc3RhdGUuJHtpLmZyZXNobmVzcy5zdGF0dXN9YCksY2hpbGRyZW46cyhgcmVzZWFyY2guc3RhdGUuJHtpLnJlc2VhcmNoX2NvbnRleHQuc3RhdGV9YCl9KSxpLmZyZXNobmVzcy5zdGF0dXMhPT0iZnJlc2giJiZlLmpzeChnLHtzdGF0dXM6aS5mcmVzaG5lc3Muc3RhdHVzfSldfSksZS5qc3goInAiLHtjbGFzc05hbWU6InJlc2VhcmNoLWl0ZW0tc3VtbWFyeSIsY2hpbGRyZW46cygic3RyYXRlZ2llcy5yZXNlYXJjaF9zb3VyY2VzIix7dmFsdWU6bC5qb2luKCIgwrcgIil8fHMoImNvbW1vbi51bmtub3duIil9KX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJyZXNlYXJjaC1pdGVtLXN1bW1hcnkiLGNoaWxkcmVuOnMoInN0cmF0ZWdpZXMucmVzZWFyY2hfYXNfb2YiLHt2YWx1ZTppLmFzX29mfSl9KSxlLmpzeCh4LHt2YWx1ZTppLmdlbmVyYXRlZF9hdH0pLGUuanN4KHgse3ZhbHVlOmkuZXhwaXJlc19hdCxwcmVmaXg6InN0cmF0ZWdpZXMucmVzZWFyY2hfZXhwaXJlcyJ9KV19LGQpfSldfSxgJHtuLnN1YmplY3Qua2luZH0vJHtuLnN1YmplY3QuaWRlbnRpZmllcn0vJHtvfWApKX0pXX0pfWZ1bmN0aW9uIFcoKXtjb25zdCBhPXUoKSxbcyxyXT1TLnVzZVN0YXRlKCJjYXRhbG9nIiksW3Qsbl09Uy51c2VTdGF0ZSgwKTtyZXR1cm4gZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InBhZ2UiLGNoaWxkcmVuOltlLmpzeHMoImhlYWRlciIse2NsYXNzTmFtZToicGFnZS1oZWFkZXIiLGNoaWxkcmVuOltlLmpzeCgiaDEiLHtjbGFzc05hbWU6InBhZ2UtdGl0bGUiLGNoaWxkcmVuOmEoInN0cmF0ZWdpZXMudGl0bGUiKX0pLGUuanN4KCJkaXYiLHtjbGFzc05hbWU6InBhZ2UtaGVhZGVyLWFjdGlvbnMiLGNoaWxkcmVuOmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pm4obz0+bysxKSxjaGlsZHJlbjphKCJjb21tb24ucmVmcmVzaCIpfSl9KV19KSxlLmpzeChQLHtpZDoic3RyYXRlZ2llcyIsaXRlbXM6W3tpZDoiY2F0YWxvZyIsbGFiZWw6YSgic3RyYXRlZ2llcy50YWIuY2F0YWxvZyIpfSx7aWQ6InJlc2VhcmNoIixsYWJlbDphKCJzdHJhdGVnaWVzLnRhYi5yZXNlYXJjaCIpfV0sYWN0aXZlOnMsb25DaGFuZ2U6bz0+cihvKSxhcmlhTGFiZWw6YSgic3RyYXRlZ2llcy50aXRsZSIpfSksZS5qc3goImRpdiIse2lkOiJzdHJhdGVnaWVzLXBhbmVsIixyb2xlOiJ0YWJwYW5lbCIsImFyaWEtbGFiZWxsZWRieSI6YHN0cmF0ZWdpZXMtdGFiLSR7c31gLHRhYkluZGV4OjAsY2hpbGRyZW46cz09PSJjYXRhbG9nIj9lLmpzeChELHtyZWZyZXNoRXBvY2g6dH0pOmUuanN4KEose3JlZnJlc2hFcG9jaDp0fSl9KV19KX1leHBvcnR7VyBhcyBkZWZhdWx0fTsK" }, - "/v2/assets/Tabs-CFoX1xzM.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3IgYXMgaSxqIGFzIGR9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtmdW5jdGlvbiB4KGwscixlKXtpZihyPj1lKXJldHVybiBsO2NvbnN0IGM9bCtyO3JldHVybiBsPDA/bDpjPmU/Yy1lOjB9ZnVuY3Rpb24gaCh7aWQ6bCxpdGVtczpyLGFjdGl2ZTplLG9uQ2hhbmdlOmMsYXJpYUxhYmVsOmZ9KXtjb25zdCB1PWkudXNlUmVmKG51bGwpO3JldHVybiBpLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHQ9dS5jdXJyZW50O2lmKCF0fHx0LnNjcm9sbFdpZHRoPD10LmNsaWVudFdpZHRoKXJldHVybjtjb25zdCBuPXQucXVlcnlTZWxlY3RvcignW3JvbGU9InRhYiJdW2FyaWEtc2VsZWN0ZWQ9InRydWUiXScpO2lmKCFuKXJldHVybjtjb25zdCBzPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9eChvLmxlZnQtcy5sZWZ0LG8ud2lkdGgsdC5jbGllbnRXaWR0aCk7YSE9PTAmJih0LnNjcm9sbExlZnQ9TWF0aC5tYXgoMCx0LnNjcm9sbExlZnQrYSkpfSxbZV0pLGQuanN4KCJkaXYiLHtjbGFzc05hbWU6InRhYnMiLHJvbGU6InRhYmxpc3QiLCJhcmlhLWxhYmVsIjpmLHJlZjp1LGNoaWxkcmVuOnIubWFwKHQ9PmQuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLHJvbGU6InRhYiIsaWQ6YCR7bH0tdGFiLSR7dC5pZH1gLCJhcmlhLWNvbnRyb2xzIjpgJHtsfS1wYW5lbGAsImFyaWEtc2VsZWN0ZWQiOnQuaWQ9PT1lLHRhYkluZGV4OnQuaWQ9PT1lPzA6LTEsY2xhc3NOYW1lOmB0YWIke3QuaWQ9PT1lPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9PmModC5pZCksb25LZXlEb3duOm49Pntjb25zdCBzPXIuZmluZEluZGV4KGI9PmIuaWQ9PT10LmlkKSxvPW4ua2V5PT09IkhvbWUiPzA6bi5rZXk9PT0iRW5kIj9yLmxlbmd0aC0xOm4ua2V5PT09IkFycm93UmlnaHQiPyhzKzEpJXIubGVuZ3RoOm4ua2V5PT09IkFycm93TGVmdCI/KHMtMStyLmxlbmd0aCklci5sZW5ndGg6bnVsbDtpZihvPT09bnVsbClyZXR1cm47bi5wcmV2ZW50RGVmYXVsdCgpLG4uY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdbcm9sZT0idGFiIl0nKT8uW29dPy5mb2N1cygpLGMocltvXS5pZCl9LGNoaWxkcmVuOnQubGFiZWx9LHQuaWQpKX0pfWV4cG9ydHtoIGFzIFR9Owo=" }, - "/v2/assets/cashflowMethod-BL9n5Okp.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgWSx4IGFzIFYsaiBhcyBhLE0gYXMgYWUsQSBhcyBPLFMgYXMgRyxCIGFzIHNlLGIgYXMgbmUscSBhcyBlZSx6IGFzIHJlLHIgYXMgdyxEIGFzIG9lLEogYXMgbGUsQyBhcyBKfWZyb20iLi9pbmRleC1DNGN3T19Qai5qcyI7aW1wb3J0e24gYXMgY2V9ZnJvbSIuL3RpY2tzLUJjV2F3TTRkLmpzIjtmdW5jdGlvbiB5ZSh7Y291bnRzOnN9KXtyZXR1cm4hc3x8cy5zdGFsZTw9MD9udWxsOmEuanN4KCJzcGFuIix7ImRhdGEtc3RhdGUiOiJzdGFsZSIsImRhdGEtc3RhbGUtY291bnQiOnMuc3RhbGUsY2hpbGRyZW46YS5qc3goRyx7c3RhdHVzOiJzdGFsZSJ9KX0pfWZ1bmN0aW9uIF9lKHt0b3RhbHM6cyxmcmVzaG5lc3M6dixub3RlczpnfSl7Y29uc3QgaT1ZKCkseT1WKCksZD12Py5zdGFsZT8/MDtyZXR1cm4gYS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImN1cnJlbmN5LXRvdGFscyIsImRhdGEtc3RhbGUtY291bnQiOmQ+MD9kOnZvaWQgMCxjaGlsZHJlbjpbcy5tYXAobj0+e2NvbnN0IGY9bi50b3RhbD09PW51bGwmJm4uc3RhdHVzPT09Im9rIj8idW5hdmFpbGFibGUiOm4uc3RhdHVzLHg9bi5sYXRlc3RfYXNfb2YhPT12b2lkIDAsYj1uLmV4cGVjdGVkX2FjY291bnRfY291bnQ+MCYmKHh8fG4uYWNjb3VudF9jb3VudDxuLmV4cGVjdGVkX2FjY291bnRfY291bnQpP246bnVsbCxwPSEhKG4uYXNfb2YmJm4ubGF0ZXN0X2FzX29mJiZuLmFzX29mIT09bi5sYXRlc3RfYXNfb2YpO3JldHVybiBhLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWwiLCJkYXRhLXN0YXRlIjpmLCJkYXRhLXJlYXNvbiI6bi51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCwiZGF0YS1leGNsdWRlZC1jb3VudCI6bi5leGNsdWRlZF9hY2NvdW50X2NvdW50fHx2b2lkIDAsY2hpbGRyZW46W2EuanN4cygic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWwtaGVhZCIsY2hpbGRyZW46W2EuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjppKHg/bi5zdGF0dXM9PT0icGFydGlhbCI/InBlcmYubGF0ZXN0X2JhbGFuY2Vfc3VidG90YWwiOiJwZXJmLmxhdGVzdF9iYWxhbmNlX3RvdGFsIjpuLnN0YXR1cz09PSJwYXJ0aWFsIj8icGVyZi5jdXJyZW5jeV9zdWJ0b3RhbCI6InBlcmYuY3VycmVuY3lfdG90YWwiLHtjdXJyZW5jeTpuLmN1cnJlbmN5fSl9KSxhLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpuLnRvdGFsPT09bnVsbD8i4oCUIjphLmpzeChhZSx7dmFsdWU6bi50b3RhbCxjdXJyZW5jeTpuLmN1cnJlbmN5fSl9KV19KSxhLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LW1ldGEiLGNoaWxkcmVuOltiJiZhLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46aSgiZmFjdHMuY292ZXJhZ2UiLHtjb3ZlcmVkOmIuYWNjb3VudF9jb3VudCxleHBlY3RlZDpiLmV4cGVjdGVkX2FjY291bnRfY291bnR9KX0pLG4uYXNfb2YmJih4P2EuanN4cygic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktb2JzZXJ2YXRpb24tdGltZSIsY2hpbGRyZW46W2EuanN4KE8se3ZhbHVlOm4uYXNfb2YscHJlZml4OnA/InBlcmYuYmFsYW5jZV9vbGRlc3RfdGltZSI6InBlcmYuYmFsYW5jZV9zb3VyY2VfdGltZSJ9KSxwJiZhLmpzeChPLHt2YWx1ZTpuLmxhdGVzdF9hc19vZixwcmVmaXg6InBlcmYuYmFsYW5jZV9sYXRlc3RfdGltZSJ9KV19KTphLmpzeChPLHt2YWx1ZTpuLmFzX29mfSkpLG4uc3RhbGUmJmYhPT0ic3RhbGUiJiZhLmpzeChHLHtzdGF0dXM6InN0YWxlIn0pLGY9PT0icGFydGlhbCI/IWImJmEuanN4KHNlLHt0b25lOiJ3YXJuIixjaGlsZHJlbjppKCJwZXJmLnBhcnRpYWxfYWNjb3VudHMiKX0pOmYhPT0ib2siJiZhLmpzeChHLHtzdGF0dXM6Zn0pXX0pLG4uYWNjb3VudF9jb3ZlcmFnZT8ubGVuZ3RoP2EuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiY3VycmVuY3ktZGV0YWlscyIsY2hpbGRyZW46W2EuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46aSgicGVyZi5jb3ZlcmFnZV9kZXRhaWxzIil9KSxhLmpzeCgidWwiLHtjbGFzc05hbWU6ImN1cnJlbmN5LWNvdmVyYWdlLWxpc3QiLGNoaWxkcmVuOm4uYWNjb3VudF9jb3ZlcmFnZS5tYXAobz0+YS5qc3hzKCJsaSIse2NoaWxkcmVuOlthLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LWRldGFpbC1uYW1lIixjaGlsZHJlbjpbby5wbGF0Zm9ybT9gJHt5LnBsYXRmb3JtKG8ucGxhdGZvcm0pfSDCtyBgOiIiLHkuYWNjb3VudChvLmFjY291bnRfYWxpYXMsby5wbGF0Zm9ybSldfSksYS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2koby5pbmNsdWRlZD8icGVyZi5hY2NvdW50X2luY2x1ZGVkIjoicGVyZi5hY2NvdW50X2V4Y2x1ZGVkIiksby51bmF2YWlsYWJsZV9yZWFzb24/YCDCtyAke2koYHJlYXNvbi4ke28udW5hdmFpbGFibGVfcmVhc29ufWApfWA6IiJdfSksYS5qc3goInNwYW4iLHtjaGlsZHJlbjpvLm9ic2VydmF0aW9uX2RhdGU/aSgicGVyZi52YWx1YXRpb25fZGF0ZSIse2RhdGU6by5vYnNlcnZhdGlvbl9kYXRlfSk6aSgicmVhc29uLm5vX3NuYXBzaG90Iil9KSxvLmFzX29mJiZhLmpzeChPLHt2YWx1ZTpvLmFzX29mfSksKHh8fG8uZnJlc2huZXNzIT09ImZyZXNoIikmJmEuanN4KEcse3N0YXR1czpvLmZyZXNobmVzc3x8InVua25vd24ifSldfSxgJHtvLnBsYXRmb3JtfToke28uYWNjb3VudF9hbGlhc31gKSl9KV19KTpuLnVuYXZhaWxhYmxlX3JlYXNvbiYmZiE9PSJvayI/YS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46aShgcmVhc29uLiR7bi51bmF2YWlsYWJsZV9yZWFzb259YCl9KTpudWxsXX0sbi5jdXJyZW5jeSl9KSxnJiZhLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIGN1cnJlbmN5LW5vdGUiLGNoaWxkcmVuOmd9KV19KX1mdW5jdGlvbiBqZShzKXtyZXR1cm4gcz09PSJvayJ8fHM9PT0icGFydGlhbCJ8fHM9PT0ic3RhbGUifWZ1bmN0aW9uIGJlKHMpe2NvbnN0e3Njb3BlOnYsb3B0aW9uczpnfT1uZSgpLGk9VigpLHk9WSgpLGQ9cz8/djtpZighZHx8ZD09PSJhbGwiKXJldHVybiB5KCJwZXJmLnBvcnRmb2xpb19zZXJpZXMiKTtjb25zdCBuPWcuZmluZCh4PT5gJHt4LnBsYXRmb3JtfToke3guYWxpYXN9YD09PWQpO2lmKG4pcmV0dXJuIGkuYWNjb3VudChuLmFsaWFzLG4ucGxhdGZvcm0pO2NvbnN0IGY9ZC5pbmRleE9mKCI6Iik7cmV0dXJuIGY+PTA/aS5hY2NvdW50KGQuc2xpY2UoZisxKSxkLnNsaWNlKDAsZikpOmkuYWNjb3VudChkKX1jb25zdCBpZT04MDAsSz0yMjAsUj17dG9wOjEyLHJpZ2h0OjEyLGJvdHRvbToyNCxsZWZ0OjY0fTtmdW5jdGlvbiBYKHMpe3JldHVybiBEYXRlLnBhcnNlKGAke3N9VDAwOjAwOjAwWmApfWZ1bmN0aW9uIFEocyl7cmV0dXJuIHMuYnJlYWtCZWZvcmU9PT0hMHx8cy5tZW1iZXJzaGlwX2NoYW5nZWQ9PT0hMH1mdW5jdGlvbiBNZSh7cG9pbnRzOnMsY3VycmVuY3k6dixhcmlhTGFiZWw6Z30pe2NvbnN0IGk9ZWUoKSx5PVkoKSx7cHJlZnM6ZH09cmUoKSxbbixmXT13LnVzZVN0YXRlKG51bGwpLHg9dy51c2VSZWYobnVsbCksW2IscF09dy51c2VTdGF0ZShpZSk7dy51c2VFZmZlY3QoKCk9Pntjb25zdCBlPXguY3VycmVudDtpZighZSlyZXR1cm47Y29uc3Qgcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKFttXSk9PnttLmNvbnRlbnRSZWN0LndpZHRoPjAmJnAobS5jb250ZW50UmVjdC53aWR0aCl9KTtyZXR1cm4gci5vYnNlcnZlKGUpLCgpPT5yLmRpc2Nvbm5lY3QoKX0sW10pO2NvbnN0e3lNaW46byx5TWF4Omt9PXcudXNlTWVtbygoKT0+e2lmKCFzLmxlbmd0aClyZXR1cm57eU1pbjowLHlNYXg6MX07bGV0IGU9MS8wLHI9LTEvMDtmb3IoY29uc3QgRiBvZiBzKUYudmFsdWU8ZSYmKGU9Ri52YWx1ZSksRi52YWx1ZT5yJiYocj1GLnZhbHVlKTtlPT09ciYmKGUtPTEscis9MSk7Y29uc3QgbT0oci1lKSouMDg7cmV0dXJue3lNaW46ZS1tLHlNYXg6cittfX0sW3NdKSxoPWU9PmQuaGlkZUFtb3VudHM/b2UoZSk6bGUoZSx2LGkpLEU9WzAsMSwyLDMsNF0ubWFwKGU9Pm8rKGstbykqZS80KSxfPXtsZWZ0Ok1hdGgubWF4KFIubGVmdCwuLi5FLm1hcChlPT5oKGUpLmxlbmd0aCo4KzE2KSl9LE49TWF0aC5tYXgoYixfLmxlZnQrODApLGo9Ti1fLmxlZnQtUi5yaWdodCxUPXMubGVuZ3RoP1goc1swXS5kYXRlKTowLEQ9KHMubGVuZ3RoP1gocy5hdCgtMSkuZGF0ZSk6MCktVCwkPWU9PntpZihzLmxlbmd0aDw9MXx8IShEPjApKXJldHVybiBfLmxlZnQrai8yO2NvbnN0IHI9KFgoc1tlXS5kYXRlKS1UKS9EO3JldHVybiBfLmxlZnQrTWF0aC5taW4oTWF0aC5tYXgociwwKSwxKSpqfSxNPWU9PlIudG9wKygxLShlLW8pLyhrLW8pKSooSy1SLnRvcC1SLmJvdHRvbSkscT1zLm1hcCgoZSxyKT0+YCR7UShlKXx8cj09PTA/Ik0iOiJMIn0keyQocikudG9GaXhlZCgyKX0sJHtNKGUudmFsdWUpLnRvRml4ZWQoMil9YCkuam9pbigiIiksQj1bXTtzLmZvckVhY2goKGUscik9Pnsocj09PTB8fFEoZSkpJiZCLnB1c2goW10pLEIuYXQoLTEpLnB1c2gocil9KTtjb25zdCBJPUIuZmlsdGVyKGU9PmUubGVuZ3RoPj0zKS5tYXAoZT0+YE0keyQoZVswXSkudG9GaXhlZCgyKX0sJHtNKG8pLnRvRml4ZWQoMil9JHtlLm1hcChyPT5gTCR7JChyKS50b0ZpeGVkKDIpfSwke00oc1tyXS52YWx1ZSkudG9GaXhlZCgyKX1gKS5qb2luKCIiKX1MJHskKGUuYXQoLTEpKS50b0ZpeGVkKDIpfSwke00obykudG9GaXhlZCgyKX1aYCkuam9pbigiIiksQT1lPT57Y29uc3Qgcj14LmN1cnJlbnQ7aWYoIXJ8fHMubGVuZ3RoPT09MClyZXR1cm47Y29uc3QgbT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEY9KGUtbS5sZWZ0KS9tLndpZHRoKk4sdD1NYXRoLm1pbihNYXRoLm1heChGLF8ubGVmdCksXy5sZWZ0K2opLGw9RD4wP1QrKHQtXy5sZWZ0KS9qKkQ6VDtsZXQgYz0wLHU9MS8wO3MuZm9yRWFjaCgoQyxQKT0+e2NvbnN0IEg9TWF0aC5hYnMoWChDLmRhdGUpLWwpO0g8dSYmKHU9SCxjPVApfSksZihjKX0sej1lPT57aWYocy5sZW5ndGghPT0wJiYoZS5rZXk9PT0iQXJyb3dMZWZ0Inx8ZS5rZXk9PT0iQXJyb3dSaWdodCIpKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcj1lLmtleT09PSJBcnJvd1JpZ2h0Ij8xOi0xO2YobT0+TWF0aC5tYXgoMCxNYXRoLm1pbihzLmxlbmd0aC0xLChtPz8wKStyKSkpfX0sVT0oKCk9Pntjb25zdCBlPXMubGVuZ3RoO2lmKGU9PT0wKXJldHVybltdO2NvbnN0IHI9Tjw0ODA/MjpOPDc2MD8zOjU7cmV0dXJuWy4uLm5ldyBTZXQoQXJyYXkuZnJvbSh7bGVuZ3RoOnJ9LChtLEYpPT5NYXRoLnJvdW5kKEYvTWF0aC5tYXgoMSxyLTEpKihlLTEpKSkpXS5tYXAobT0+KHtpOm0sZGF0ZTpzW21dLmRhdGUsYW5jaG9yOm09PT0wPyJzdGFydCI6bT09PWUtMT8iZW5kIjoibWlkZGxlIn0pKX0pKCksVz1uIT09bnVsbD9zW25dOm51bGw7cmV0dXJuIGEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjaGFydC1mcmFtZSIscmVmOngsY2hpbGRyZW46W2EuanN4cygic3ZnIix7Y2xhc3NOYW1lOiJjaGFydCIsdmlld0JveDpgMCAwICR7Tn0gJHtLfWAscm9sZToiaW1nIiwiYXJpYS1sYWJlbCI6Zyx0YWJJbmRleDowLG9uS2V5RG93bjp6LG9uTW91c2VNb3ZlOmU9PkEoZS5jbGllbnRYKSxvbk1vdXNlTGVhdmU6KCk9PmYobnVsbCksb25Qb2ludGVyRG93bjplPT57ZS5wb2ludGVyVHlwZSE9PSJtb3VzZSImJkEoZS5jbGllbnRYKX0sb25Qb2ludGVyTW92ZTplPT57ZS5wb2ludGVyVHlwZSE9PSJtb3VzZSImJkEoZS5jbGllbnRYKX0sb25Gb2N1czooKT0+ZihlPT5lPz8wKSxvbkJsdXI6KCk9PmYobnVsbCksY2hpbGRyZW46W0UubWFwKChlLHIpPT5hLmpzeHMoImciLHtjaGlsZHJlbjpbYS5qc3goImxpbmUiLHt4MTpfLmxlZnQseDI6Ti1SLnJpZ2h0LHkxOk0oZSkseTI6TShlKSxzdHJva2U6InZhcigtLWxpbmUpIixzdHJva2VXaWR0aDoiMSJ9KSxhLmpzeCgidGV4dCIse3g6Xy5sZWZ0LTYseTpNKGUpKzQsdGV4dEFuY2hvcjoiZW5kIixmb250U2l6ZToiMTMiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46aChlKX0pXX0scikpLFUubWFwKGU9PmEuanN4KCJ0ZXh0Iix7eDokKGUuaSkseTpLLTYsdGV4dEFuY2hvcjplLmFuY2hvcixmb250U2l6ZToiMTEiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46ZS5kYXRlLnNsaWNlKDUpfSxlLmkpKSxzLmxlbmd0aD4wJiZhLmpzeHMoYS5GcmFnbWVudCx7Y2hpbGRyZW46W2EuanN4KCJwYXRoIix7ZDpJLGZpbGw6InZhcigtLWFjY2VudCkiLG9wYWNpdHk6IjAuMTIifSksYS5qc3goInBhdGgiLHtkOnEsZmlsbDoibm9uZSIsc3Ryb2tlOiJ2YXIoLS1hY2NlbnQpIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLEIuZmlsdGVyKGU9PmUubGVuZ3RoPDMpLmZsYXRNYXAoZT0+ZS5tYXAocj0+YS5qc3goImNpcmNsZSIse2N4OiQociksY3k6TShzW3JdLnZhbHVlKSxyOmUubGVuZ3RoPT09MT80LjU6MyxmaWxsOiJ2YXIoLS1hY2NlbnQpIixzdHJva2U6InZhcigtLXN1cmZhY2UpIixzdHJva2VXaWR0aDplLmxlbmd0aD09PTE/MS41OjB9LHNbcl0uZGF0ZSkpKSxzLm1hcCgoZSxyKT0+ZS5leHRlcm5hbEZsb3c/YS5qc3goImciLHtjaGlsZHJlbjphLmpzeCgiY2lyY2xlIix7Y3g6JChyKSxjeTpNKGUudmFsdWUpLHI6IjQiLGZpbGw6InZhcigtLXN1cmZhY2UpIixzdHJva2U6InZhcigtLWFjY2VudCkiLHN0cm9rZVdpZHRoOiIyIixjaGlsZHJlbjphLmpzeCgidGl0bGUiLHtjaGlsZHJlbjpgJHtlLmRhdGV9IMK3ICR7eSgicGVyZi5hc3NldHNfZmxvd19tYXJrIil9YH0pfSl9LGUuZGF0ZSk6bnVsbCldfSksbiE9PW51bGwmJlcmJmEuanN4KCJsaW5lIix7eDE6JChuKSx4MjokKG4pLHkxOlIudG9wLHkyOkstUi5ib3R0b20sc3Ryb2tlOiJ2YXIoLS1tdXRlZCkiLHN0cm9rZVdpZHRoOiIxIn0pXX0pLG4hPT1udWxsJiZXJiZhLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2hhcnQtdG9vbHRpcCIsc3R5bGU6e2xlZnQ6YCR7TWF0aC5taW4oTWF0aC5tYXgoJChuKS9OKjEwMCw4KSw4MCl9JWAsdG9wOjh9LGNoaWxkcmVuOlthLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0b29sdGlwLWRhdGUiLGNoaWxkcmVuOlcuZGF0ZX0pLGEuanN4KCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtcm93IixjaGlsZHJlbjphLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46aChXLnZhbHVlKX0pfSksVy5leHRlcm5hbEZsb3c/YS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtcm93IixjaGlsZHJlbjpbeSgicGVyZi5hc3NldHNfZmxvd19tYXJrIiksIjogIixoKFcuZXh0ZXJuYWxGbG93KV19KTpudWxsXX0pXX0pfWNvbnN0IHVlPTgwMCxkZT0yODAsZmU9MjgwLEw9e3RvcDoxMixyaWdodDoxMixib3R0b206MjQsbGVmdDo0OH07ZnVuY3Rpb24gWihzKXtyZXR1cm4gRGF0ZS5wYXJzZShgJHtzfVQwMDowMDowMFpgKX1mdW5jdGlvbiB0ZShzKXtyZXR1cm4gcy5icmVha0JlZm9yZT09PSEwfHxzLm1lbWJlcnNoaXBfY2hhbmdlZD09PSEwfWZ1bmN0aW9uIGhlKHMpe2xldCB2PSIiO2Zvcihjb25zdCBnIG9mIHMpdis9YCR7Zy5icmVha0JlZm9yZXx8dj09PSIiPyJNIjoiTCJ9JHtnLngudG9GaXhlZCgyKX0sJHtnLnkudG9GaXhlZCgyKX1gO3JldHVybiB2fWZ1bmN0aW9uIHhlKHMsdil7Y29uc3QgZz1zLmZpbHRlcihkPT4hdnx8ZC5kYXRlPj12KSxpPVtdO2xldCB5PSEwO2Zvcihjb25zdCBkIG9mIGcpe3RlKGQpJiYoeT0hMCk7Y29uc3Qgbj1kLmRhaWx5X3JldHVybl9wZXJjZW50LGY9dHlwZW9mIG49PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUobikmJm4+PS0xMDA/bjpudWxsO2lmKGY9PT1udWxsKXt5PSEwO2NvbnRpbnVlfWkucHVzaCh7ZGF0ZTpkLmRhdGUsdmFsdWU6ZixicmVha0JlZm9yZTp5fSkseT0hMX1yZXR1cm4gaX1mdW5jdGlvbiBwZShzLHYsZz1udWxsKXtjb25zdCBpPXMuZmlsdGVyKHA9PnAucG9pbnRzLmxlbmd0aD4wKSx5PWkubWFwKHA9Pm5ldyBTZXQocC5wb2ludHMubWFwKG89Pm8uZGF0ZSkpKSxkPWkubGVuZ3RoPjA/Wy4uLnlbMF1dLmZpbHRlcihwPT55LmV2ZXJ5KG89Pm8uaGFzKHApKSkuc29ydCgpWzBdPz9udWxsOm51bGwsbj1nPz9kPz9pWzBdPy5wb2ludHNbMF0/LmRhdGU/P251bGwsZj1pLm1hcChwPT57aWYodj09PSJkYWlseSIpcmV0dXJuey4uLnAscG9pbnRzOnhlKHAucG9pbnRzLG4pfTtjb25zdCBvPXAucG9pbnRzLmZpbHRlcihrPT4oIW58fGsuZGF0ZT49bikmJk51bWJlci5pc0Zpbml0ZShrLnZhbHVlKSkuc2xpY2UoKS5zb3J0KChrLGgpPT5rLmRhdGUubG9jYWxlQ29tcGFyZShoLmRhdGUpKS5tYXAoaz0+KHtkYXRlOmsuZGF0ZSx2YWx1ZTprLnZhbHVlLGJyZWFrQmVmb3JlOnRlKGspfSkpO3JldHVybnsuLi5wLHBvaW50czpvfX0pLHg9Wy4uLm5ldyBTZXQoZi5mbGF0TWFwKHA9PnAucG9pbnRzLm1hcChvPT5vLmRhdGUpKSldLnNvcnQoKSxiPW5ldyBNYXAoeC5tYXAoKHAsbyk9PltwLG9dKSk7cmV0dXJue2RhdGVzOngsaW5kZXg6YixzZXJpZXM6Zn19ZnVuY3Rpb24gd2Uoe3NlcmllczpzLG1vZGU6dj0iY3VtdWxhdGl2ZSIsYXJpYUxhYmVsOmcsYWxpZ25TdGFydDppPW51bGwsZGVmYXVsdFZpc2libGU6eX0pe2NvbnN0IGQ9ZWUoKSxbbixmXT13LnVzZVN0YXRlKCgpPT57Y29uc3QgdD15P25ldyBTZXQoeSk6bnVsbDtyZXR1cm4gbmV3IFNldChzLmZpbHRlcihsPT4hbC5wcmltYXJ5JiYoIXR8fCF0LmhhcyhsLmlkKSkpLm1hcChsPT5sLmlkKSl9KSxbeCxiXT13LnVzZVN0YXRlKG51bGwpLHA9dy51c2VSZWYobnVsbCksW28sa109dy51c2VTdGF0ZSh1ZSk7dy51c2VFZmZlY3QoKCk9Pntjb25zdCB0PXAuY3VycmVudDtpZighdClyZXR1cm47Y29uc3QgbD1uZXcgUmVzaXplT2JzZXJ2ZXIoKFtjXSk9PntjLmNvbnRlbnRSZWN0LndpZHRoPjAmJmsoYy5jb250ZW50UmVjdC53aWR0aCl9KTtyZXR1cm4gbC5vYnNlcnZlKHQpLCgpPT5sLmRpc2Nvbm5lY3QoKX0sW10pO2NvbnN0IGg9dy51c2VNZW1vKCgpPT5wZShzLHYsaSksW3MsdixpXSksRT1oLnNlcmllcy5maWx0ZXIodD0+IW4uaGFzKHQuaWQpJiZ0LnBvaW50cy5sZW5ndGg+MCksXz13LnVzZU1lbW8oKCk9Pntjb25zdCB0PVtdO2Zvcihjb25zdCBsIG9mIEUpZm9yKGNvbnN0IGMgb2YgbC5wb2ludHMpdC5wdXNoKGMudmFsdWUpO3JldHVybiBjZSh0LDQpfSxbRV0pLE49dy51c2VNZW1vKCgpPT5fLnRpY2tzLm1hcCh0PT4oe3ZhbHVlOnQsbGFiZWw6Sih0LGQsXy5kaWdpdHMpfSkpLFtfLGRdKSxqPU1hdGgubWF4KG8sZmUpLFQ9ajw0ODA/MjIwOmRlLFM9TWF0aC5tYXgoTC5sZWZ0LC4uLk4ubWFwKHQ9PnQubGFiZWwubGVuZ3RoKjcrMTIpKSxEPU1hdGgubWF4KDEsai1TLUwucmlnaHQpLCQ9VC1MLnRvcC1MLmJvdHRvbSxNPWguZGF0ZXMubGVuZ3RoP1ooaC5kYXRlc1swXSk6MCxCPShoLmRhdGVzLmxlbmd0aD9aKGguZGF0ZXMuYXQoLTEpKTowKS1NLEk9dD0+e2lmKGguZGF0ZXMubGVuZ3RoPD0xfHwhKEI+MCkpcmV0dXJuIFMrRC8yO2NvbnN0IGw9KFooaC5kYXRlc1t0XSktTSkvQjtyZXR1cm4gUytNYXRoLm1pbihNYXRoLm1heChsLDApLDEpKkR9LEE9dD0+TC50b3ArKDEtKHQtXy5taW4pLyhfLm1heC1fLm1pbikpKiQsej0odCxsKT0+dC5wb2ludHMuZmluZChjPT5jLmRhdGU9PT1sKT8udmFsdWU/P251bGwsVT10PT57bGV0IGw9MCxjPTEvMDtyZXR1cm4gaC5kYXRlcy5mb3JFYWNoKCh1LEMpPT57Y29uc3QgUD1NYXRoLmFicyhaKHUpLXQpO1A8YyYmKGM9UCxsPUMpfSksbH0sVz10PT57Y29uc3QgbD1wLmN1cnJlbnQ7aWYoIWx8fGguZGF0ZXMubGVuZ3RoPT09MClyZXR1cm47Y29uc3QgYz1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9Yy53aWR0aD4wPyh0LWMubGVmdCkvYy53aWR0aDowLEM9TWF0aC5taW4oTWF0aC5tYXgodSwwKSwxKSpqLFA9TWF0aC5taW4oTWF0aC5tYXgoQyxTKSxTK0QpLEg9Qj4wP00rKFAtUykvRCpCOk07YihVKEgpKX0sZT10PT57aWYoaC5kYXRlcy5sZW5ndGghPT0wJiYodC5rZXk9PT0iQXJyb3dMZWZ0Inx8dC5rZXk9PT0iQXJyb3dSaWdodCIpKXt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgbD10LmtleT09PSJBcnJvd1JpZ2h0Ij8xOi0xO2IoYz0+TWF0aC5tYXgoMCxNYXRoLm1pbihoLmRhdGVzLmxlbmd0aC0xLChjPz8wKStsKSkpfX0scj13LnVzZU1lbW8oKCk9Pntjb25zdCB0PWguZGF0ZXMubGVuZ3RoO2lmKHQ9PT0wKXJldHVybltdO2NvbnN0IGw9ajw0ODA/MjpqPDc2MD8zOjU7cmV0dXJuWy4uLm5ldyBTZXQoQXJyYXkuZnJvbSh7bGVuZ3RoOmx9LChjLHUpPT5NYXRoLnJvdW5kKHUvTWF0aC5tYXgoMSxsLTEpKih0LTEpKSkpXS5tYXAoYz0+KHtpOmMsZGF0ZTpoLmRhdGVzW2NdLGFuY2hvcjpjPT09MD8ic3RhcnQiOmM9PT10LTE/ImVuZCI6Im1pZGRsZSJ9KSl9LFtoLmRhdGVzLGpdKSxtPXghPT1udWxsP2guZGF0ZXNbeF06bnVsbCxGPXghPT1udWxsP0koeCkvaioxMDA6MDtyZXR1cm4gYS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbYS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNoYXJ0LWZyYW1lIixyZWY6cCxjaGlsZHJlbjpbYS5qc3hzKCJzdmciLHtjbGFzc05hbWU6ImNoYXJ0Iix2aWV3Qm94OmAwIDAgJHtqfSAke1R9YCxyb2xlOiJpbWciLCJhcmlhLWxhYmVsIjpnLHRhYkluZGV4OjAsb25LZXlEb3duOmUsb25Nb3VzZU1vdmU6dD0+Vyh0LmNsaWVudFgpLG9uTW91c2VMZWF2ZTooKT0+YihudWxsKSxvbkZvY3VzOigpPT5iKHQ9PnQ/PzApLG9uQmx1cjooKT0+YihudWxsKSxjaGlsZHJlbjpbTi5tYXAodD0+YS5qc3hzKCJnIix7Y2hpbGRyZW46W2EuanN4KCJsaW5lIix7eDE6Uyx4MjpqLUwucmlnaHQseTE6QSh0LnZhbHVlKSx5MjpBKHQudmFsdWUpLHN0cm9rZToidmFyKC0tbGluZSkiLHN0cm9rZVdpZHRoOiIxIn0pLGEuanN4KCJ0ZXh0Iix7eDpTLTYseTpBKHQudmFsdWUpKzQsdGV4dEFuY2hvcjoiZW5kIixmb250U2l6ZToiMTEiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46dC5sYWJlbH0pXX0sdC52YWx1ZSkpLGEuanN4KCJsaW5lIix7eDE6Uyx4MjpqLUwucmlnaHQseTE6QSgwKSx5MjpBKDApLHN0cm9rZToidmFyKC0tbXV0ZWQpIixzdHJva2VXaWR0aDoiMSIsc3Ryb2tlRGFzaGFycmF5OiIzIDMifSksci5tYXAodD0+YS5qc3goInRleHQiLHt4OkkodC5pKSx5OlQtNix0ZXh0QW5jaG9yOnQuYW5jaG9yLGZvbnRTaXplOiIxMSIsZmlsbDoidmFyKC0tbXV0ZWQpIixjaGlsZHJlbjp0LmRhdGUuc2xpY2UoNSl9LHQuaSkpLEUubWFwKHQ9Pntjb25zdCBsPXQucG9pbnRzLm1hcCh1PT4oey4uLnUseDpJKGguaW5kZXguZ2V0KHUuZGF0ZSkpLHk6QSh1LnZhbHVlKX0pKSxjPVtdO2Zvcihjb25zdCB1IG9mIGwpKCFjLmxlbmd0aHx8dS5icmVha0JlZm9yZSkmJmMucHVzaChbXSksYy5hdCgtMSkucHVzaCh1KTtyZXR1cm4gYS5qc3hzKCJnIix7Y2hpbGRyZW46W2EuanN4KCJwYXRoIix7ZDpoZShsKSxmaWxsOiJub25lIixzdHJva2U6dC5jb2xvcixzdHJva2VXaWR0aDp0LnByaW1hcnk/Mi41OjEuNCxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLGMuZmlsdGVyKHU9PnUubGVuZ3RoPT09MSkubWFwKChbdV0pPT5hLmpzeCgiY2lyY2xlIix7Y3g6dS54LGN5OnUueSxyOiIzIixmaWxsOnQuY29sb3J9LHUuZGF0ZSkpXX0sdC5pZCl9KSx4IT09bnVsbCYmYS5qc3goImxpbmUiLHt4MTpJKHgpLHgyOkkoeCkseTE6TC50b3AseTI6VC1MLmJvdHRvbSxzdHJva2U6InZhcigtLW11dGVkKSIsc3Ryb2tlV2lkdGg6IjEifSldfSkseCE9PW51bGwmJm0mJmEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjaGFydC10b29sdGlwIixzdHlsZTp7bGVmdDpgJHtNYXRoLm1pbihNYXRoLm1heChGLDgpLDg4KX0lYCx0b3A6OH0sY2hpbGRyZW46W2EuanN4KCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtZGF0ZSIsY2hpbGRyZW46bX0pLEUubWFwKHQ9PmEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0b29sdGlwLXJvdyIsY2hpbGRyZW46W2EuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJsZWdlbmQtc3dhdGNoIixzdHlsZTp7YmFja2dyb3VuZDp0LmNvbG9yfX0pLGEuanN4KCJzcGFuIix7Y2hpbGRyZW46dC5sYWJlbH0pLGEuanN4KCJzdHJvbmciLHtjaGlsZHJlbjp6KHQsbSk9PT1udWxsPyLigJQiOkooeih0LG0pLGQpfSldfSx0LmlkKSldfSldfSksYS5qc3goImRpdiIse2NsYXNzTmFtZToiY2hhcnQtbGVnZW5kIixjaGlsZHJlbjpoLnNlcmllcy5tYXAodD0+e2NvbnN0IGw9bi5oYXModC5pZCk7cmV0dXJuIGEuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6bD8ib2ZmIjoiIiwiYXJpYS1wcmVzc2VkIjohbCxvbkNsaWNrOigpPT5mKGM9Pntjb25zdCB1PW5ldyBTZXQoYyk7cmV0dXJuIHUuaGFzKHQuaWQpP3UuZGVsZXRlKHQuaWQpOnUuYWRkKHQuaWQpLHV9KSxjaGlsZHJlbjpbYS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImxlZ2VuZC1zd2F0Y2giLHN0eWxlOntiYWNrZ3JvdW5kOnQuY29sb3J9fSksdC5sYWJlbF19LHQuaWQpfSl9KV19KX1jb25zdCBrZT0icGVyZi5tZXRob2RfZGlldHpfYXBwcm94IiwkZT0icGVyZi5tZXRob2RfdW5rbm93biI7ZnVuY3Rpb24gbWUocyl7aWYoIXMpcmV0dXJuImFic2VudCI7Y29uc3Qgdj1zLmNhc2hmbG93X21ldGhvZCxnPXMuYXBwcm94aW1hdGU7cmV0dXJuIHY9PT12b2lkIDAmJmc9PT12b2lkIDA/ImFic2VudCI6dj09PSJtb2RpZmllZF9kaWV0eiImJmc9PT0hMD8iZGlldHpfYXBwcm94IjoidW5rbm93biJ9ZnVuY3Rpb24gTmUocyl7cmV0dXJuIG1lKHMpPT09ImRpZXR6X2FwcHJveCJ9ZXhwb3J0e01lIGFzIEEsX2UgYXMgQyxrZSBhcyBELHllIGFzIEYsd2UgYXMgTCwkZSBhcyBVLG1lIGFzIGMsTmUgYXMgaSxqZSBhcyByLGJlIGFzIHV9Owo=" }, + "/v2/assets/Tabs-BIVcIPCo.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3IgYXMgaSxqIGFzIGR9ZnJvbSIuL2luZGV4LUR0bkQwVjZYLmpzIjtmdW5jdGlvbiB4KGwscixlKXtpZihyPj1lKXJldHVybiBsO2NvbnN0IGM9bCtyO3JldHVybiBsPDA/bDpjPmU/Yy1lOjB9ZnVuY3Rpb24gaCh7aWQ6bCxpdGVtczpyLGFjdGl2ZTplLG9uQ2hhbmdlOmMsYXJpYUxhYmVsOmZ9KXtjb25zdCB1PWkudXNlUmVmKG51bGwpO3JldHVybiBpLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHQ9dS5jdXJyZW50O2lmKCF0fHx0LnNjcm9sbFdpZHRoPD10LmNsaWVudFdpZHRoKXJldHVybjtjb25zdCBuPXQucXVlcnlTZWxlY3RvcignW3JvbGU9InRhYiJdW2FyaWEtc2VsZWN0ZWQ9InRydWUiXScpO2lmKCFuKXJldHVybjtjb25zdCBzPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9eChvLmxlZnQtcy5sZWZ0LG8ud2lkdGgsdC5jbGllbnRXaWR0aCk7YSE9PTAmJih0LnNjcm9sbExlZnQ9TWF0aC5tYXgoMCx0LnNjcm9sbExlZnQrYSkpfSxbZV0pLGQuanN4KCJkaXYiLHtjbGFzc05hbWU6InRhYnMiLHJvbGU6InRhYmxpc3QiLCJhcmlhLWxhYmVsIjpmLHJlZjp1LGNoaWxkcmVuOnIubWFwKHQ9PmQuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLHJvbGU6InRhYiIsaWQ6YCR7bH0tdGFiLSR7dC5pZH1gLCJhcmlhLWNvbnRyb2xzIjpgJHtsfS1wYW5lbGAsImFyaWEtc2VsZWN0ZWQiOnQuaWQ9PT1lLHRhYkluZGV4OnQuaWQ9PT1lPzA6LTEsY2xhc3NOYW1lOmB0YWIke3QuaWQ9PT1lPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9PmModC5pZCksb25LZXlEb3duOm49Pntjb25zdCBzPXIuZmluZEluZGV4KGI9PmIuaWQ9PT10LmlkKSxvPW4ua2V5PT09IkhvbWUiPzA6bi5rZXk9PT0iRW5kIj9yLmxlbmd0aC0xOm4ua2V5PT09IkFycm93UmlnaHQiPyhzKzEpJXIubGVuZ3RoOm4ua2V5PT09IkFycm93TGVmdCI/KHMtMStyLmxlbmd0aCklci5sZW5ndGg6bnVsbDtpZihvPT09bnVsbClyZXR1cm47bi5wcmV2ZW50RGVmYXVsdCgpLG4uY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdbcm9sZT0idGFiIl0nKT8uW29dPy5mb2N1cygpLGMocltvXS5pZCl9LGNoaWxkcmVuOnQubGFiZWx9LHQuaWQpKX0pfWV4cG9ydHtoIGFzIFR9Owo=" }, + "/v2/assets/accounts-C0_-6Aj-.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgZ31mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCBlPSIyMDI2LTExLTAyVDE0OjMxOjEyWiIsbj0iMjAyNi0xMS0wMlQxNDozMTo0OFoiLHQ9KHMscj1lKT0+KHtzdGF0dXM6Imtub3duIix2YWx1ZTpzLG9ic2VydmVkX2F0OnJ9KSxhPShzLHIsZixrLG8pPT4oe2tpbmQ6cyxleHBpcnk6cixwaGFzZTpmLHJlcXVpcmVzX2FjdGlvbjprLC4uLm8/e25vdGU6b306e319KSxjPXtwbGF0Zm9ybToiaWJrciIsbGFiZWw6IklCS1IiLHRhcmdldHM6W3t0YXJnZXRfaWQ6Imlia3IvdHFxcSIsYWNjb3VudF9yZWY6IlXigKLigKLigKIwMDAxIn0se3RhcmdldF9pZDoiaWJrci9zb3hsIixhY2NvdW50X3JlZjoiVeKAouKAouKAojAwMDIifV0sY29ubmVjdGl2aXR5OnQoInVwIiksY29ubmVjdGl2aXR5X2RldGFpbDpudWxsLGhlYXJ0YmVhdDp0KHthdDpufSksZGF0YV9mcmVzaG5lc3M6e2RhdGFfc3RhdHVzOiJyZWFkeSIsYWdlX3NlY29uZHM6MzY3fSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxjcmVkZW50aWFsOmEoImZsZXhfdG9rZW4iLHtzdGF0dXM6Imtub3duIixhdDoiMjAyNi0xMS0wOVQxNzozMDowMFoiLHNvdXJjZToib3BlcmF0b3JfcmVnaXN0ZXJlZCJ9LCI3IiwhMCksbGFzdF9vcmRlcjp0KHthdDoiMjAyNi0xMS0wMlQxNDoyNTowMFoiLGNvdW50OjJ9KX0sZD17cGxhdGZvcm06InNjaHdhYiIsbGFiZWw6IlNjaHdhYiIsdGFyZ2V0czpbe3RhcmdldF9pZDoic2Nod2FiL2NvcmUiLGFjY291bnRfcmVmOiJT4oCi4oCi4oCiMDAwMyJ9XSxjb25uZWN0aXZpdHk6dCgidXAiKSxjb25uZWN0aXZpdHlfZGV0YWlsOm51bGwsaGVhcnRiZWF0OnQoe2F0Om59KSxkYXRhX2ZyZXNobmVzczp7ZGF0YV9zdGF0dXM6InJlYWR5IixhZ2Vfc2Vjb25kczozNjd9LGNvbmZpZzp7c3RhdGU6InN5bmNlZCIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0OmV9LGNyZWRlbnRpYWw6YSgib2F1dGhfcmVmcmVzaCIse3N0YXR1czoia25vd24iLGF0OiIyMDI2LTExLTAzVDE3OjMwOjAwWiIsc291cmNlOiJicm9rZXJfbWV0YWRhdGEifSwiMSIsITApLGxhc3Rfb3JkZXI6dCh7YXQ6IjIwMjYtMTEtMDJUMDY6MDU6MDBaIixjb3VudDoxfSl9LGk9e3BsYXRmb3JtOiJsb25nYnJpZGdlIixsYWJlbDoiTG9uZ0JyaWRnZSIsdGFyZ2V0czpbe3RhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIsYWNjb3VudF9yZWY6IkxC4oCi4oCi4oCiMDAwNSJ9XSxjb25uZWN0aXZpdHk6dCgiZGVncmFkZWQiKSxjb25uZWN0aXZpdHlfZGV0YWlsOiJPbmUgaGVhcnRiZWF0IG1pc3NlZDsgdGhlIGxhc3QgcmVhZCBpcyBzdGlsbCBmcmVzaC4iLGhlYXJ0YmVhdDp0KHthdDpufSksZGF0YV9mcmVzaG5lc3M6e2RhdGFfc3RhdHVzOiJyZWFkeSIsYWdlX3NlY29uZHM6MzY3fSxjb25maWc6e3N0YXRlOiJkcmlmdCIsZHJpZnRfY291bnQ6MixjaGVja2VkX2F0OmV9LGNyZWRlbnRpYWw6YSgiYWNjZXNzX3Rva2VuIix7c3RhdHVzOiJrbm93biIsYXQ6IjIwMjYtMTItMDJUMDA6MDA6MDBaIixzb3VyY2U6ImJyb2tlcl9tZXRhZGF0YSJ9LCIzMCIsITApLGxhc3Rfb3JkZXI6dCh7YXQ6IjIwMjYtMTEtMDJUMDk6MDU6MDBaIixjb3VudDozfSl9LF89e3BsYXRmb3JtOiJmaXJzdHJhZGUiLGxhYmVsOiJGaXJzdHJhZGUiLHRhcmdldHM6W3t0YXJnZXRfaWQ6ImZpcnN0cmFkZS9pbmNvbWUiLGFjY291bnRfcmVmOiJG4oCi4oCi4oCiMDAwNCJ9XSxjb25uZWN0aXZpdHk6dCgidXAiKSxjb25uZWN0aXZpdHlfZGV0YWlsOm51bGwsaGVhcnRiZWF0OnQoe2F0Om59KSxkYXRhX2ZyZXNobmVzczp7ZGF0YV9zdGF0dXM6InJlYWR5IixhZ2Vfc2Vjb25kczozNjd9LGNvbmZpZzp7c3RhdGU6InN5bmNlZCIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0OmV9LGNyZWRlbnRpYWw6YSgicGFzc3dvcmQiLHtzdGF0dXM6Imtub3duIixhdDoiMjAyNi0xMS0wMVQwMDowMDowMFoiLHNvdXJjZToib3BlcmF0b3JfcmVnaXN0ZXJlZCJ9LCJleHBpcmVkIiwhMCksbGFzdF9vcmRlcjp0KHthdDoiMjAyNi0xMC0zMFQxOTo0NTowMFoiLGNvdW50OjR9KX0sbD17cGxhdGZvcm06ImJpbmFuY2UiLGxhYmVsOiJCaW5hbmNlIix0YXJnZXRzOlt7dGFyZ2V0X2lkOiJiaW5hbmNlL3Nwb3QiLGFjY291bnRfcmVmOiJCTuKAouKAouKAojAwMDYifV0sY29ubmVjdGl2aXR5OnQoInVwIiksY29ubmVjdGl2aXR5X2RldGFpbDpudWxsLGhlYXJ0YmVhdDp0KHthdDpufSksZGF0YV9mcmVzaG5lc3M6e2RhdGFfc3RhdHVzOiJyZWFkeSIsYWdlX3NlY29uZHM6MzY3fSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxjcmVkZW50aWFsOmEoImFwaV9rZXkiLHtzdGF0dXM6InVua25vd24iLHJlYXNvbjoibmV2ZXJfcmVhZCJ9LCJ1bmtub3duIiwhMSwiTm8gZXhwaXJ5IHNvdXJjZSB5ZXQuIiksbGFzdF9vcmRlcjp0KHthdDoiMjAyNi0xMS0wMlQxNDozMDowMFoiLGNvdW50OjF9KX0sdT17b2s6ITAsc2NoZW1hX3ZlcnNpb246InFzbC5kZXNrLmFjY291bnRzLnYxIixnZW5lcmF0ZWRfYXQ6Zyxicm9rZXJzOltjLGQsaSxfLGxdfSxoPXsuLi51LGJyb2tlcnM6W2MsZCx7Li4uaSxjb25uZWN0aXZpdHk6e3N0YXR1czoidW5rbm93biIscmVhc29uOiJyZWFkX2ZhaWxlZCIsb2JzZXJ2ZWRfYXQ6bnVsbH0saGVhcnRiZWF0OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoicmVhZF9mYWlsZWQiLG9ic2VydmVkX2F0Om51bGx9LGRhdGFfZnJlc2huZXNzOntkYXRhX3N0YXR1czoic3RhbGUiLGFnZV9zZWNvbmRzOjE0MDQwMH0sY29uZmlnOntzdGF0ZToidW5rbm93biIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0Om51bGx9fSxfLHsuLi5sLGNyZWRlbnRpYWw6YSgiYXBpX2tleSIse3N0YXR1czoidW5rbm93biIscmVhc29uOiJyZWFkX2ZhaWxlZCJ9LCJ1bmtub3duIiwhMSksbGFzdF9vcmRlcjp7c3RhdHVzOiJ1bmtub3duIixyZWFzb246InJlYWRfZmFpbGVkIixvYnNlcnZlZF9hdDpudWxsfX1dfSx5PXsuLi51LGJyb2tlcnM6W119O2V4cG9ydHtoIGFzIGRlZ3JhZGVkLHkgYXMgZW1wdHksdSBhcyBva307Cg==" }, + "/v2/assets/cashflowMethod-DmTT6GV-.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgWSx5IGFzIFYsaiBhcyBhLE0gYXMgYWUsZiBhcyBPLFMgYXMgRyxCIGFzIHNlLGIgYXMgbmUsdCBhcyBlZSxEIGFzIHJlLHIgYXMgdyxHIGFzIG9lLE4gYXMgbGUsRiBhcyBKfWZyb20iLi9pbmRleC1EdG5EMFY2WC5qcyI7aW1wb3J0e24gYXMgY2V9ZnJvbSIuL3RpY2tzLUJjV2F3TTRkLmpzIjtmdW5jdGlvbiB5ZSh7Y291bnRzOnN9KXtyZXR1cm4hc3x8cy5zdGFsZTw9MD9udWxsOmEuanN4KCJzcGFuIix7ImRhdGEtc3RhdGUiOiJzdGFsZSIsImRhdGEtc3RhbGUtY291bnQiOnMuc3RhbGUsY2hpbGRyZW46YS5qc3goRyx7c3RhdHVzOiJzdGFsZSJ9KX0pfWZ1bmN0aW9uIF9lKHt0b3RhbHM6cyxmcmVzaG5lc3M6dixub3RlczpnfSl7Y29uc3QgaT1ZKCkseT1WKCksZD12Py5zdGFsZT8/MDtyZXR1cm4gYS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImN1cnJlbmN5LXRvdGFscyIsImRhdGEtc3RhbGUtY291bnQiOmQ+MD9kOnZvaWQgMCxjaGlsZHJlbjpbcy5tYXAobj0+e2NvbnN0IGY9bi50b3RhbD09PW51bGwmJm4uc3RhdHVzPT09Im9rIj8idW5hdmFpbGFibGUiOm4uc3RhdHVzLHg9bi5sYXRlc3RfYXNfb2YhPT12b2lkIDAsYj1uLmV4cGVjdGVkX2FjY291bnRfY291bnQ+MCYmKHh8fG4uYWNjb3VudF9jb3VudDxuLmV4cGVjdGVkX2FjY291bnRfY291bnQpP246bnVsbCxwPSEhKG4uYXNfb2YmJm4ubGF0ZXN0X2FzX29mJiZuLmFzX29mIT09bi5sYXRlc3RfYXNfb2YpO3JldHVybiBhLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWwiLCJkYXRhLXN0YXRlIjpmLCJkYXRhLXJlYXNvbiI6bi51bmF2YWlsYWJsZV9yZWFzb24/P3ZvaWQgMCwiZGF0YS1leGNsdWRlZC1jb3VudCI6bi5leGNsdWRlZF9hY2NvdW50X2NvdW50fHx2b2lkIDAsY2hpbGRyZW46W2EuanN4cygic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktdG90YWwtaGVhZCIsY2hpbGRyZW46W2EuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJrcGktc3ViIixjaGlsZHJlbjppKHg/bi5zdGF0dXM9PT0icGFydGlhbCI/InBlcmYubGF0ZXN0X2JhbGFuY2Vfc3VidG90YWwiOiJwZXJmLmxhdGVzdF9iYWxhbmNlX3RvdGFsIjpuLnN0YXR1cz09PSJwYXJ0aWFsIj8icGVyZi5jdXJyZW5jeV9zdWJ0b3RhbCI6InBlcmYuY3VycmVuY3lfdG90YWwiLHtjdXJyZW5jeTpuLmN1cnJlbmN5fSl9KSxhLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpuLnRvdGFsPT09bnVsbD8i4oCUIjphLmpzeChhZSx7dmFsdWU6bi50b3RhbCxjdXJyZW5jeTpuLmN1cnJlbmN5fSl9KV19KSxhLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LW1ldGEiLGNoaWxkcmVuOltiJiZhLmpzeCgic3BhbiIse2NsYXNzTmFtZToia3BpLXN1YiIsY2hpbGRyZW46aSgiZmFjdHMuY292ZXJhZ2UiLHtjb3ZlcmVkOmIuYWNjb3VudF9jb3VudCxleHBlY3RlZDpiLmV4cGVjdGVkX2FjY291bnRfY291bnR9KX0pLG4uYXNfb2YmJih4P2EuanN4cygic3BhbiIse2NsYXNzTmFtZToiY3VycmVuY3ktb2JzZXJ2YXRpb24tdGltZSIsY2hpbGRyZW46W2EuanN4KE8se3ZhbHVlOm4uYXNfb2YscHJlZml4OnA/InBlcmYuYmFsYW5jZV9vbGRlc3RfdGltZSI6InBlcmYuYmFsYW5jZV9zb3VyY2VfdGltZSJ9KSxwJiZhLmpzeChPLHt2YWx1ZTpuLmxhdGVzdF9hc19vZixwcmVmaXg6InBlcmYuYmFsYW5jZV9sYXRlc3RfdGltZSJ9KV19KTphLmpzeChPLHt2YWx1ZTpuLmFzX29mfSkpLG4uc3RhbGUmJmYhPT0ic3RhbGUiJiZhLmpzeChHLHtzdGF0dXM6InN0YWxlIn0pLGY9PT0icGFydGlhbCI/IWImJmEuanN4KHNlLHt0b25lOiJ3YXJuIixjaGlsZHJlbjppKCJwZXJmLnBhcnRpYWxfYWNjb3VudHMiKX0pOmYhPT0ib2siJiZhLmpzeChHLHtzdGF0dXM6Zn0pXX0pLG4uYWNjb3VudF9jb3ZlcmFnZT8ubGVuZ3RoP2EuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiY3VycmVuY3ktZGV0YWlscyIsY2hpbGRyZW46W2EuanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46aSgicGVyZi5jb3ZlcmFnZV9kZXRhaWxzIil9KSxhLmpzeCgidWwiLHtjbGFzc05hbWU6ImN1cnJlbmN5LWNvdmVyYWdlLWxpc3QiLGNoaWxkcmVuOm4uYWNjb3VudF9jb3ZlcmFnZS5tYXAobz0+YS5qc3hzKCJsaSIse2NoaWxkcmVuOlthLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImN1cnJlbmN5LWRldGFpbC1uYW1lIixjaGlsZHJlbjpbby5wbGF0Zm9ybT9gJHt5LnBsYXRmb3JtKG8ucGxhdGZvcm0pfSDCtyBgOiIiLHkuYWNjb3VudChvLmFjY291bnRfYWxpYXMsby5wbGF0Zm9ybSldfSksYS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2koby5pbmNsdWRlZD8icGVyZi5hY2NvdW50X2luY2x1ZGVkIjoicGVyZi5hY2NvdW50X2V4Y2x1ZGVkIiksby51bmF2YWlsYWJsZV9yZWFzb24/YCDCtyAke2koYHJlYXNvbi4ke28udW5hdmFpbGFibGVfcmVhc29ufWApfWA6IiJdfSksYS5qc3goInNwYW4iLHtjaGlsZHJlbjpvLm9ic2VydmF0aW9uX2RhdGU/aSgicGVyZi52YWx1YXRpb25fZGF0ZSIse2RhdGU6by5vYnNlcnZhdGlvbl9kYXRlfSk6aSgicmVhc29uLm5vX3NuYXBzaG90Iil9KSxvLmFzX29mJiZhLmpzeChPLHt2YWx1ZTpvLmFzX29mfSksKHh8fG8uZnJlc2huZXNzIT09ImZyZXNoIikmJmEuanN4KEcse3N0YXR1czpvLmZyZXNobmVzc3x8InVua25vd24ifSldfSxgJHtvLnBsYXRmb3JtfToke28uYWNjb3VudF9hbGlhc31gKSl9KV19KTpuLnVuYXZhaWxhYmxlX3JlYXNvbiYmZiE9PSJvayI/YS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46aShgcmVhc29uLiR7bi51bmF2YWlsYWJsZV9yZWFzb259YCl9KTpudWxsXX0sbi5jdXJyZW5jeSl9KSxnJiZhLmpzeCgicCIse2NsYXNzTmFtZToiY2FyZC1ub3RlIGN1cnJlbmN5LW5vdGUiLGNoaWxkcmVuOmd9KV19KX1mdW5jdGlvbiBqZShzKXtyZXR1cm4gcz09PSJvayJ8fHM9PT0icGFydGlhbCJ8fHM9PT0ic3RhbGUifWZ1bmN0aW9uIGJlKHMpe2NvbnN0e3Njb3BlOnYsb3B0aW9uczpnfT1uZSgpLGk9VigpLHk9WSgpLGQ9cz8/djtpZighZHx8ZD09PSJhbGwiKXJldHVybiB5KCJwZXJmLnBvcnRmb2xpb19zZXJpZXMiKTtjb25zdCBuPWcuZmluZCh4PT5gJHt4LnBsYXRmb3JtfToke3guYWxpYXN9YD09PWQpO2lmKG4pcmV0dXJuIGkuYWNjb3VudChuLmFsaWFzLG4ucGxhdGZvcm0pO2NvbnN0IGY9ZC5pbmRleE9mKCI6Iik7cmV0dXJuIGY+PTA/aS5hY2NvdW50KGQuc2xpY2UoZisxKSxkLnNsaWNlKDAsZikpOmkuYWNjb3VudChkKX1jb25zdCBpZT04MDAsSz0yMjAsUj17dG9wOjEyLHJpZ2h0OjEyLGJvdHRvbToyNCxsZWZ0OjY0fTtmdW5jdGlvbiBYKHMpe3JldHVybiBEYXRlLnBhcnNlKGAke3N9VDAwOjAwOjAwWmApfWZ1bmN0aW9uIFEocyl7cmV0dXJuIHMuYnJlYWtCZWZvcmU9PT0hMHx8cy5tZW1iZXJzaGlwX2NoYW5nZWQ9PT0hMH1mdW5jdGlvbiBNZSh7cG9pbnRzOnMsY3VycmVuY3k6dixhcmlhTGFiZWw6Z30pe2NvbnN0IGk9ZWUoKSx5PVkoKSx7cHJlZnM6ZH09cmUoKSxbbixmXT13LnVzZVN0YXRlKG51bGwpLHg9dy51c2VSZWYobnVsbCksW2IscF09dy51c2VTdGF0ZShpZSk7dy51c2VFZmZlY3QoKCk9Pntjb25zdCBlPXguY3VycmVudDtpZighZSlyZXR1cm47Y29uc3Qgcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKFttXSk9PnttLmNvbnRlbnRSZWN0LndpZHRoPjAmJnAobS5jb250ZW50UmVjdC53aWR0aCl9KTtyZXR1cm4gci5vYnNlcnZlKGUpLCgpPT5yLmRpc2Nvbm5lY3QoKX0sW10pO2NvbnN0e3lNaW46byx5TWF4Omt9PXcudXNlTWVtbygoKT0+e2lmKCFzLmxlbmd0aClyZXR1cm57eU1pbjowLHlNYXg6MX07bGV0IGU9MS8wLHI9LTEvMDtmb3IoY29uc3QgQSBvZiBzKUEudmFsdWU8ZSYmKGU9QS52YWx1ZSksQS52YWx1ZT5yJiYocj1BLnZhbHVlKTtlPT09ciYmKGUtPTEscis9MSk7Y29uc3QgbT0oci1lKSouMDg7cmV0dXJue3lNaW46ZS1tLHlNYXg6cittfX0sW3NdKSxoPWU9PmQuaGlkZUFtb3VudHM/b2UoZSk6bGUoZSx2LGkpLEU9WzAsMSwyLDMsNF0ubWFwKGU9Pm8rKGstbykqZS80KSxfPXtsZWZ0Ok1hdGgubWF4KFIubGVmdCwuLi5FLm1hcChlPT5oKGUpLmxlbmd0aCo4KzE2KSl9LCQ9TWF0aC5tYXgoYixfLmxlZnQrODApLGo9JC1fLmxlZnQtUi5yaWdodCxUPXMubGVuZ3RoP1goc1swXS5kYXRlKTowLEQ9KHMubGVuZ3RoP1gocy5hdCgtMSkuZGF0ZSk6MCktVCxOPWU9PntpZihzLmxlbmd0aDw9MXx8IShEPjApKXJldHVybiBfLmxlZnQrai8yO2NvbnN0IHI9KFgoc1tlXS5kYXRlKS1UKS9EO3JldHVybiBfLmxlZnQrTWF0aC5taW4oTWF0aC5tYXgociwwKSwxKSpqfSxNPWU9PlIudG9wKygxLShlLW8pLyhrLW8pKSooSy1SLnRvcC1SLmJvdHRvbSkscT1zLm1hcCgoZSxyKT0+YCR7UShlKXx8cj09PTA/Ik0iOiJMIn0ke04ocikudG9GaXhlZCgyKX0sJHtNKGUudmFsdWUpLnRvRml4ZWQoMil9YCkuam9pbigiIiksQj1bXTtzLmZvckVhY2goKGUscik9Pnsocj09PTB8fFEoZSkpJiZCLnB1c2goW10pLEIuYXQoLTEpLnB1c2gocil9KTtjb25zdCBJPUIuZmlsdGVyKGU9PmUubGVuZ3RoPj0zKS5tYXAoZT0+YE0ke04oZVswXSkudG9GaXhlZCgyKX0sJHtNKG8pLnRvRml4ZWQoMil9JHtlLm1hcChyPT5gTCR7TihyKS50b0ZpeGVkKDIpfSwke00oc1tyXS52YWx1ZSkudG9GaXhlZCgyKX1gKS5qb2luKCIiKX1MJHtOKGUuYXQoLTEpKS50b0ZpeGVkKDIpfSwke00obykudG9GaXhlZCgyKX1aYCkuam9pbigiIiksRj1lPT57Y29uc3Qgcj14LmN1cnJlbnQ7aWYoIXJ8fHMubGVuZ3RoPT09MClyZXR1cm47Y29uc3QgbT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEE9KGUtbS5sZWZ0KS9tLndpZHRoKiQsdD1NYXRoLm1pbihNYXRoLm1heChBLF8ubGVmdCksXy5sZWZ0K2opLGw9RD4wP1QrKHQtXy5sZWZ0KS9qKkQ6VDtsZXQgYz0wLHU9MS8wO3MuZm9yRWFjaCgoQyxQKT0+e2NvbnN0IEg9TWF0aC5hYnMoWChDLmRhdGUpLWwpO0g8dSYmKHU9SCxjPVApfSksZihjKX0sej1lPT57aWYocy5sZW5ndGghPT0wJiYoZS5rZXk9PT0iQXJyb3dMZWZ0Inx8ZS5rZXk9PT0iQXJyb3dSaWdodCIpKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcj1lLmtleT09PSJBcnJvd1JpZ2h0Ij8xOi0xO2YobT0+TWF0aC5tYXgoMCxNYXRoLm1pbihzLmxlbmd0aC0xLChtPz8wKStyKSkpfX0sVT0oKCk9Pntjb25zdCBlPXMubGVuZ3RoO2lmKGU9PT0wKXJldHVybltdO2NvbnN0IHI9JDw0ODA/MjokPDc2MD8zOjU7cmV0dXJuWy4uLm5ldyBTZXQoQXJyYXkuZnJvbSh7bGVuZ3RoOnJ9LChtLEEpPT5NYXRoLnJvdW5kKEEvTWF0aC5tYXgoMSxyLTEpKihlLTEpKSkpXS5tYXAobT0+KHtpOm0sZGF0ZTpzW21dLmRhdGUsYW5jaG9yOm09PT0wPyJzdGFydCI6bT09PWUtMT8iZW5kIjoibWlkZGxlIn0pKX0pKCksVz1uIT09bnVsbD9zW25dOm51bGw7cmV0dXJuIGEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjaGFydC1mcmFtZSIscmVmOngsY2hpbGRyZW46W2EuanN4cygic3ZnIix7Y2xhc3NOYW1lOiJjaGFydCIsdmlld0JveDpgMCAwICR7JH0gJHtLfWAscm9sZToiaW1nIiwiYXJpYS1sYWJlbCI6Zyx0YWJJbmRleDowLG9uS2V5RG93bjp6LG9uTW91c2VNb3ZlOmU9PkYoZS5jbGllbnRYKSxvbk1vdXNlTGVhdmU6KCk9PmYobnVsbCksb25Qb2ludGVyRG93bjplPT57ZS5wb2ludGVyVHlwZSE9PSJtb3VzZSImJkYoZS5jbGllbnRYKX0sb25Qb2ludGVyTW92ZTplPT57ZS5wb2ludGVyVHlwZSE9PSJtb3VzZSImJkYoZS5jbGllbnRYKX0sb25Gb2N1czooKT0+ZihlPT5lPz8wKSxvbkJsdXI6KCk9PmYobnVsbCksY2hpbGRyZW46W0UubWFwKChlLHIpPT5hLmpzeHMoImciLHtjaGlsZHJlbjpbYS5qc3goImxpbmUiLHt4MTpfLmxlZnQseDI6JC1SLnJpZ2h0LHkxOk0oZSkseTI6TShlKSxzdHJva2U6InZhcigtLWxpbmUpIixzdHJva2VXaWR0aDoiMSJ9KSxhLmpzeCgidGV4dCIse3g6Xy5sZWZ0LTYseTpNKGUpKzQsdGV4dEFuY2hvcjoiZW5kIixmb250U2l6ZToiMTMiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46aChlKX0pXX0scikpLFUubWFwKGU9PmEuanN4KCJ0ZXh0Iix7eDpOKGUuaSkseTpLLTYsdGV4dEFuY2hvcjplLmFuY2hvcixmb250U2l6ZToiMTEiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46ZS5kYXRlLnNsaWNlKDUpfSxlLmkpKSxzLmxlbmd0aD4wJiZhLmpzeHMoYS5GcmFnbWVudCx7Y2hpbGRyZW46W2EuanN4KCJwYXRoIix7ZDpJLGZpbGw6InZhcigtLWFjY2VudCkiLG9wYWNpdHk6IjAuMTIifSksYS5qc3goInBhdGgiLHtkOnEsZmlsbDoibm9uZSIsc3Ryb2tlOiJ2YXIoLS1hY2NlbnQpIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLEIuZmlsdGVyKGU9PmUubGVuZ3RoPDMpLmZsYXRNYXAoZT0+ZS5tYXAocj0+YS5qc3goImNpcmNsZSIse2N4Ok4ociksY3k6TShzW3JdLnZhbHVlKSxyOmUubGVuZ3RoPT09MT80LjU6MyxmaWxsOiJ2YXIoLS1hY2NlbnQpIixzdHJva2U6InZhcigtLXN1cmZhY2UpIixzdHJva2VXaWR0aDplLmxlbmd0aD09PTE/MS41OjB9LHNbcl0uZGF0ZSkpKSxzLm1hcCgoZSxyKT0+ZS5leHRlcm5hbEZsb3c/YS5qc3goImciLHtjaGlsZHJlbjphLmpzeCgiY2lyY2xlIix7Y3g6TihyKSxjeTpNKGUudmFsdWUpLHI6IjQiLGZpbGw6InZhcigtLXN1cmZhY2UpIixzdHJva2U6InZhcigtLWFjY2VudCkiLHN0cm9rZVdpZHRoOiIyIixjaGlsZHJlbjphLmpzeCgidGl0bGUiLHtjaGlsZHJlbjpgJHtlLmRhdGV9IMK3ICR7eSgicGVyZi5hc3NldHNfZmxvd19tYXJrIil9YH0pfSl9LGUuZGF0ZSk6bnVsbCldfSksbiE9PW51bGwmJlcmJmEuanN4KCJsaW5lIix7eDE6TihuKSx4MjpOKG4pLHkxOlIudG9wLHkyOkstUi5ib3R0b20sc3Ryb2tlOiJ2YXIoLS1tdXRlZCkiLHN0cm9rZVdpZHRoOiIxIn0pXX0pLG4hPT1udWxsJiZXJiZhLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY2hhcnQtdG9vbHRpcCIsc3R5bGU6e2xlZnQ6YCR7TWF0aC5taW4oTWF0aC5tYXgoTihuKS8kKjEwMCw4KSw4MCl9JWAsdG9wOjh9LGNoaWxkcmVuOlthLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0b29sdGlwLWRhdGUiLGNoaWxkcmVuOlcuZGF0ZX0pLGEuanN4KCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtcm93IixjaGlsZHJlbjphLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46aChXLnZhbHVlKX0pfSksVy5leHRlcm5hbEZsb3c/YS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtcm93IixjaGlsZHJlbjpbeSgicGVyZi5hc3NldHNfZmxvd19tYXJrIiksIjogIixoKFcuZXh0ZXJuYWxGbG93KV19KTpudWxsXX0pXX0pfWNvbnN0IHVlPTgwMCxkZT0yODAsZmU9MjgwLEw9e3RvcDoxMixyaWdodDoxMixib3R0b206MjQsbGVmdDo0OH07ZnVuY3Rpb24gWihzKXtyZXR1cm4gRGF0ZS5wYXJzZShgJHtzfVQwMDowMDowMFpgKX1mdW5jdGlvbiB0ZShzKXtyZXR1cm4gcy5icmVha0JlZm9yZT09PSEwfHxzLm1lbWJlcnNoaXBfY2hhbmdlZD09PSEwfWZ1bmN0aW9uIGhlKHMpe2xldCB2PSIiO2Zvcihjb25zdCBnIG9mIHMpdis9YCR7Zy5icmVha0JlZm9yZXx8dj09PSIiPyJNIjoiTCJ9JHtnLngudG9GaXhlZCgyKX0sJHtnLnkudG9GaXhlZCgyKX1gO3JldHVybiB2fWZ1bmN0aW9uIHhlKHMsdil7Y29uc3QgZz1zLmZpbHRlcihkPT4hdnx8ZC5kYXRlPj12KSxpPVtdO2xldCB5PSEwO2Zvcihjb25zdCBkIG9mIGcpe3RlKGQpJiYoeT0hMCk7Y29uc3Qgbj1kLmRhaWx5X3JldHVybl9wZXJjZW50LGY9dHlwZW9mIG49PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUobikmJm4+PS0xMDA/bjpudWxsO2lmKGY9PT1udWxsKXt5PSEwO2NvbnRpbnVlfWkucHVzaCh7ZGF0ZTpkLmRhdGUsdmFsdWU6ZixicmVha0JlZm9yZTp5fSkseT0hMX1yZXR1cm4gaX1mdW5jdGlvbiBwZShzLHYsZz1udWxsKXtjb25zdCBpPXMuZmlsdGVyKHA9PnAucG9pbnRzLmxlbmd0aD4wKSx5PWkubWFwKHA9Pm5ldyBTZXQocC5wb2ludHMubWFwKG89Pm8uZGF0ZSkpKSxkPWkubGVuZ3RoPjA/Wy4uLnlbMF1dLmZpbHRlcihwPT55LmV2ZXJ5KG89Pm8uaGFzKHApKSkuc29ydCgpWzBdPz9udWxsOm51bGwsbj1nPz9kPz9pWzBdPy5wb2ludHNbMF0/LmRhdGU/P251bGwsZj1pLm1hcChwPT57aWYodj09PSJkYWlseSIpcmV0dXJuey4uLnAscG9pbnRzOnhlKHAucG9pbnRzLG4pfTtjb25zdCBvPXAucG9pbnRzLmZpbHRlcihrPT4oIW58fGsuZGF0ZT49bikmJk51bWJlci5pc0Zpbml0ZShrLnZhbHVlKSkuc2xpY2UoKS5zb3J0KChrLGgpPT5rLmRhdGUubG9jYWxlQ29tcGFyZShoLmRhdGUpKS5tYXAoaz0+KHtkYXRlOmsuZGF0ZSx2YWx1ZTprLnZhbHVlLGJyZWFrQmVmb3JlOnRlKGspfSkpO3JldHVybnsuLi5wLHBvaW50czpvfX0pLHg9Wy4uLm5ldyBTZXQoZi5mbGF0TWFwKHA9PnAucG9pbnRzLm1hcChvPT5vLmRhdGUpKSldLnNvcnQoKSxiPW5ldyBNYXAoeC5tYXAoKHAsbyk9PltwLG9dKSk7cmV0dXJue2RhdGVzOngsaW5kZXg6YixzZXJpZXM6Zn19ZnVuY3Rpb24gd2Uoe3NlcmllczpzLG1vZGU6dj0iY3VtdWxhdGl2ZSIsYXJpYUxhYmVsOmcsYWxpZ25TdGFydDppPW51bGwsZGVmYXVsdFZpc2libGU6eX0pe2NvbnN0IGQ9ZWUoKSxbbixmXT13LnVzZVN0YXRlKCgpPT57Y29uc3QgdD15P25ldyBTZXQoeSk6bnVsbDtyZXR1cm4gbmV3IFNldChzLmZpbHRlcihsPT4hbC5wcmltYXJ5JiYoIXR8fCF0LmhhcyhsLmlkKSkpLm1hcChsPT5sLmlkKSl9KSxbeCxiXT13LnVzZVN0YXRlKG51bGwpLHA9dy51c2VSZWYobnVsbCksW28sa109dy51c2VTdGF0ZSh1ZSk7dy51c2VFZmZlY3QoKCk9Pntjb25zdCB0PXAuY3VycmVudDtpZighdClyZXR1cm47Y29uc3QgbD1uZXcgUmVzaXplT2JzZXJ2ZXIoKFtjXSk9PntjLmNvbnRlbnRSZWN0LndpZHRoPjAmJmsoYy5jb250ZW50UmVjdC53aWR0aCl9KTtyZXR1cm4gbC5vYnNlcnZlKHQpLCgpPT5sLmRpc2Nvbm5lY3QoKX0sW10pO2NvbnN0IGg9dy51c2VNZW1vKCgpPT5wZShzLHYsaSksW3MsdixpXSksRT1oLnNlcmllcy5maWx0ZXIodD0+IW4uaGFzKHQuaWQpJiZ0LnBvaW50cy5sZW5ndGg+MCksXz13LnVzZU1lbW8oKCk9Pntjb25zdCB0PVtdO2Zvcihjb25zdCBsIG9mIEUpZm9yKGNvbnN0IGMgb2YgbC5wb2ludHMpdC5wdXNoKGMudmFsdWUpO3JldHVybiBjZSh0LDQpfSxbRV0pLCQ9dy51c2VNZW1vKCgpPT5fLnRpY2tzLm1hcCh0PT4oe3ZhbHVlOnQsbGFiZWw6Sih0LGQsXy5kaWdpdHMpfSkpLFtfLGRdKSxqPU1hdGgubWF4KG8sZmUpLFQ9ajw0ODA/MjIwOmRlLFM9TWF0aC5tYXgoTC5sZWZ0LC4uLiQubWFwKHQ9PnQubGFiZWwubGVuZ3RoKjcrMTIpKSxEPU1hdGgubWF4KDEsai1TLUwucmlnaHQpLE49VC1MLnRvcC1MLmJvdHRvbSxNPWguZGF0ZXMubGVuZ3RoP1ooaC5kYXRlc1swXSk6MCxCPShoLmRhdGVzLmxlbmd0aD9aKGguZGF0ZXMuYXQoLTEpKTowKS1NLEk9dD0+e2lmKGguZGF0ZXMubGVuZ3RoPD0xfHwhKEI+MCkpcmV0dXJuIFMrRC8yO2NvbnN0IGw9KFooaC5kYXRlc1t0XSktTSkvQjtyZXR1cm4gUytNYXRoLm1pbihNYXRoLm1heChsLDApLDEpKkR9LEY9dD0+TC50b3ArKDEtKHQtXy5taW4pLyhfLm1heC1fLm1pbikpKk4sej0odCxsKT0+dC5wb2ludHMuZmluZChjPT5jLmRhdGU9PT1sKT8udmFsdWU/P251bGwsVT10PT57bGV0IGw9MCxjPTEvMDtyZXR1cm4gaC5kYXRlcy5mb3JFYWNoKCh1LEMpPT57Y29uc3QgUD1NYXRoLmFicyhaKHUpLXQpO1A8YyYmKGM9UCxsPUMpfSksbH0sVz10PT57Y29uc3QgbD1wLmN1cnJlbnQ7aWYoIWx8fGguZGF0ZXMubGVuZ3RoPT09MClyZXR1cm47Y29uc3QgYz1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9Yy53aWR0aD4wPyh0LWMubGVmdCkvYy53aWR0aDowLEM9TWF0aC5taW4oTWF0aC5tYXgodSwwKSwxKSpqLFA9TWF0aC5taW4oTWF0aC5tYXgoQyxTKSxTK0QpLEg9Qj4wP00rKFAtUykvRCpCOk07YihVKEgpKX0sZT10PT57aWYoaC5kYXRlcy5sZW5ndGghPT0wJiYodC5rZXk9PT0iQXJyb3dMZWZ0Inx8dC5rZXk9PT0iQXJyb3dSaWdodCIpKXt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgbD10LmtleT09PSJBcnJvd1JpZ2h0Ij8xOi0xO2IoYz0+TWF0aC5tYXgoMCxNYXRoLm1pbihoLmRhdGVzLmxlbmd0aC0xLChjPz8wKStsKSkpfX0scj13LnVzZU1lbW8oKCk9Pntjb25zdCB0PWguZGF0ZXMubGVuZ3RoO2lmKHQ9PT0wKXJldHVybltdO2NvbnN0IGw9ajw0ODA/MjpqPDc2MD8zOjU7cmV0dXJuWy4uLm5ldyBTZXQoQXJyYXkuZnJvbSh7bGVuZ3RoOmx9LChjLHUpPT5NYXRoLnJvdW5kKHUvTWF0aC5tYXgoMSxsLTEpKih0LTEpKSkpXS5tYXAoYz0+KHtpOmMsZGF0ZTpoLmRhdGVzW2NdLGFuY2hvcjpjPT09MD8ic3RhcnQiOmM9PT10LTE/ImVuZCI6Im1pZGRsZSJ9KSl9LFtoLmRhdGVzLGpdKSxtPXghPT1udWxsP2guZGF0ZXNbeF06bnVsbCxBPXghPT1udWxsP0koeCkvaioxMDA6MDtyZXR1cm4gYS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbYS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNoYXJ0LWZyYW1lIixyZWY6cCxjaGlsZHJlbjpbYS5qc3hzKCJzdmciLHtjbGFzc05hbWU6ImNoYXJ0Iix2aWV3Qm94OmAwIDAgJHtqfSAke1R9YCxyb2xlOiJpbWciLCJhcmlhLWxhYmVsIjpnLHRhYkluZGV4OjAsb25LZXlEb3duOmUsb25Nb3VzZU1vdmU6dD0+Vyh0LmNsaWVudFgpLG9uTW91c2VMZWF2ZTooKT0+YihudWxsKSxvbkZvY3VzOigpPT5iKHQ9PnQ/PzApLG9uQmx1cjooKT0+YihudWxsKSxjaGlsZHJlbjpbJC5tYXAodD0+YS5qc3hzKCJnIix7Y2hpbGRyZW46W2EuanN4KCJsaW5lIix7eDE6Uyx4MjpqLUwucmlnaHQseTE6Rih0LnZhbHVlKSx5MjpGKHQudmFsdWUpLHN0cm9rZToidmFyKC0tbGluZSkiLHN0cm9rZVdpZHRoOiIxIn0pLGEuanN4KCJ0ZXh0Iix7eDpTLTYseTpGKHQudmFsdWUpKzQsdGV4dEFuY2hvcjoiZW5kIixmb250U2l6ZToiMTEiLGZpbGw6InZhcigtLW11dGVkKSIsY2hpbGRyZW46dC5sYWJlbH0pXX0sdC52YWx1ZSkpLGEuanN4KCJsaW5lIix7eDE6Uyx4MjpqLUwucmlnaHQseTE6RigwKSx5MjpGKDApLHN0cm9rZToidmFyKC0tbXV0ZWQpIixzdHJva2VXaWR0aDoiMSIsc3Ryb2tlRGFzaGFycmF5OiIzIDMifSksci5tYXAodD0+YS5qc3goInRleHQiLHt4OkkodC5pKSx5OlQtNix0ZXh0QW5jaG9yOnQuYW5jaG9yLGZvbnRTaXplOiIxMSIsZmlsbDoidmFyKC0tbXV0ZWQpIixjaGlsZHJlbjp0LmRhdGUuc2xpY2UoNSl9LHQuaSkpLEUubWFwKHQ9Pntjb25zdCBsPXQucG9pbnRzLm1hcCh1PT4oey4uLnUseDpJKGguaW5kZXguZ2V0KHUuZGF0ZSkpLHk6Rih1LnZhbHVlKX0pKSxjPVtdO2Zvcihjb25zdCB1IG9mIGwpKCFjLmxlbmd0aHx8dS5icmVha0JlZm9yZSkmJmMucHVzaChbXSksYy5hdCgtMSkucHVzaCh1KTtyZXR1cm4gYS5qc3hzKCJnIix7Y2hpbGRyZW46W2EuanN4KCJwYXRoIix7ZDpoZShsKSxmaWxsOiJub25lIixzdHJva2U6dC5jb2xvcixzdHJva2VXaWR0aDp0LnByaW1hcnk/Mi41OjEuNCxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLGMuZmlsdGVyKHU9PnUubGVuZ3RoPT09MSkubWFwKChbdV0pPT5hLmpzeCgiY2lyY2xlIix7Y3g6dS54LGN5OnUueSxyOiIzIixmaWxsOnQuY29sb3J9LHUuZGF0ZSkpXX0sdC5pZCl9KSx4IT09bnVsbCYmYS5qc3goImxpbmUiLHt4MTpJKHgpLHgyOkkoeCkseTE6TC50b3AseTI6VC1MLmJvdHRvbSxzdHJva2U6InZhcigtLW11dGVkKSIsc3Ryb2tlV2lkdGg6IjEifSldfSkseCE9PW51bGwmJm0mJmEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjaGFydC10b29sdGlwIixzdHlsZTp7bGVmdDpgJHtNYXRoLm1pbihNYXRoLm1heChBLDgpLDg4KX0lYCx0b3A6OH0sY2hpbGRyZW46W2EuanN4KCJkaXYiLHtjbGFzc05hbWU6InRvb2x0aXAtZGF0ZSIsY2hpbGRyZW46bX0pLEUubWFwKHQ9PmEuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0b29sdGlwLXJvdyIsY2hpbGRyZW46W2EuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJsZWdlbmQtc3dhdGNoIixzdHlsZTp7YmFja2dyb3VuZDp0LmNvbG9yfX0pLGEuanN4KCJzcGFuIix7Y2hpbGRyZW46dC5sYWJlbH0pLGEuanN4KCJzdHJvbmciLHtjaGlsZHJlbjp6KHQsbSk9PT1udWxsPyLigJQiOkooeih0LG0pLGQpfSldfSx0LmlkKSldfSldfSksYS5qc3goImRpdiIse2NsYXNzTmFtZToiY2hhcnQtbGVnZW5kIixjaGlsZHJlbjpoLnNlcmllcy5tYXAodD0+e2NvbnN0IGw9bi5oYXModC5pZCk7cmV0dXJuIGEuanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6bD8ib2ZmIjoiIiwiYXJpYS1wcmVzc2VkIjohbCxvbkNsaWNrOigpPT5mKGM9Pntjb25zdCB1PW5ldyBTZXQoYyk7cmV0dXJuIHUuaGFzKHQuaWQpP3UuZGVsZXRlKHQuaWQpOnUuYWRkKHQuaWQpLHV9KSxjaGlsZHJlbjpbYS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImxlZ2VuZC1zd2F0Y2giLHN0eWxlOntiYWNrZ3JvdW5kOnQuY29sb3J9fSksdC5sYWJlbF19LHQuaWQpfSl9KV19KX1jb25zdCBrZT0icGVyZi5tZXRob2RfZGlldHpfYXBwcm94IixOZT0icGVyZi5tZXRob2RfdW5rbm93biI7ZnVuY3Rpb24gbWUocyl7aWYoIXMpcmV0dXJuImFic2VudCI7Y29uc3Qgdj1zLmNhc2hmbG93X21ldGhvZCxnPXMuYXBwcm94aW1hdGU7cmV0dXJuIHY9PT12b2lkIDAmJmc9PT12b2lkIDA/ImFic2VudCI6dj09PSJtb2RpZmllZF9kaWV0eiImJmc9PT0hMD8iZGlldHpfYXBwcm94IjoidW5rbm93biJ9ZnVuY3Rpb24gJGUocyl7cmV0dXJuIG1lKHMpPT09ImRpZXR6X2FwcHJveCJ9ZXhwb3J0e01lIGFzIEEsX2UgYXMgQyxrZSBhcyBELHllIGFzIEYsd2UgYXMgTCxOZSBhcyBVLG1lIGFzIGMsJGUgYXMgaSxqZSBhcyByLGJlIGFzIHV9Owo=" }, "/v2/assets/cashflowMethod-Gm8aPj9t.css": { contentType: "text/css; charset=utf-8", base64: "LmN1cnJlbmN5LXRvdGFsc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTZweCAzMHB4O21pbi13aWR0aDowfS5jdXJyZW5jeS10b3RhbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDozcHg7bWluLXdpZHRoOjA7ZmxleDoxIDEgMjAwcHh9LmN1cnJlbmN5LXRvdGFsLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo0cHggMTJweDttaW4td2lkdGg6MH0uY3VycmVuY3ktdG90YWwtaGVhZCAua3BpLXN1YnttaW4td2lkdGg6MDtmb250LXdlaWdodDo1MDB9LmN1cnJlbmN5LXRvdGFsLWhlYWQgLm51bXttYXJnaW4tbGVmdDphdXRvO3RleHQtYWxpZ246cmlnaHQ7d2hpdGUtc3BhY2U6bm93cmFwfS5jdXJyZW5jeS10b3RhbC1oZWFkIC5udW0sLmN1cnJlbmN5LXRvdGFsPi5udW17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NjgwO2xpbmUtaGVpZ2h0OjEuMTg7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbX0uY3VycmVuY3ktdG90YWw+Lm51bSwuY3VycmVuY3ktdG90YWw+LnBlcmNlbnQsLmN1cnJlbmN5LXRvdGFsPi5mbGF0e2FsaWduLXNlbGY6ZmxleC1lbmQ7dGV4dC1hbGlnbjpyaWdodH0uY3VycmVuY3ktdG90YWw+Lm51bXt3aGl0ZS1zcGFjZTpub3dyYXB9LmN1cnJlbmN5LXRvdGFsIC5tb25leXtmb250LXNpemU6aW5oZXJpdH0uY3VycmVuY3ktdG90YWwgLnBlcmNlbnR7Zm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6NjgwO2xldHRlci1zcGFjaW5nOi0uMDJlbTt3aGl0ZS1zcGFjZTpub3dyYXB9LmN1cnJlbmN5LW1ldGF7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDozcHggMTBweDttaW4td2lkdGg6MDttYXJnaW4tdG9wOjFweH0uY3VycmVuY3ktbWV0YSAua3BpLXN1YntvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5jdXJyZW5jeS1tZXRhIC5hc29me2ZvbnQtc2l6ZToxMnB4fS5jdXJyZW5jeS1tZXRhIC5zdGF0ZS1zaG9ydHtmbGV4LWJhc2lzOjEwMCV9LmN1cnJlbmN5LW5vdGV7ZmxleC1iYXNpczoxMDAlO21hcmdpbjowfS5jdXJyZW5jeS1zdGF0dXN7ZmxleC1iYXNpczoxMDAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOjZweDtjb2xvcjp2YXIoLS1zdGF0dXMtd2Fybik7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuNDV9LmN1cnJlbmN5LXN0YXR1czpiZWZvcmV7Y29udGVudDoiIjtmbGV4OjAgMCBhdXRvO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjdweCBzb2xpZCBjdXJyZW50Q29sb3I7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5jdXJyZW5jeS1kZXRhaWxze2ZsZXgtYmFzaXM6MTAwJTttaW4td2lkdGg6MDttYXJnaW4tdG9wOjA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU1fS5jdXJyZW5jeS1kZXRhaWxzPnN1bW1hcnl7d2lkdGg6Zml0LWNvbnRlbnQ7bWluLWhlaWdodDoyOHB4O3BhZGRpbmc6NHB4IDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjU1MDtjdXJzb3I6cG9pbnRlcn0uY3VycmVuY3ktZGV0YWlscz5zdW1tYXJ5OmhvdmVye2NvbG9yOnZhcigtLWluayl9LmN1cnJlbmN5LWRldGFpbHMgcHttYXJnaW46NHB4IDAgMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5jdXJyZW5jeS1kZXRhaWwtbmFtZXtjb2xvcjp2YXIoLS1pbmspO2ZvbnQtd2VpZ2h0OjYwMH1AbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsuY3VycmVuY3ktdG90YWxze2dhcDoxMnB4IDB9LmN1cnJlbmN5LXRvdGFse2ZsZXgtYmFzaXM6MTAwJX0uY3VycmVuY3ktdG90YWwtaGVhZCAubnVtLC5jdXJyZW5jeS10b3RhbD4ubnVte2ZvbnQtc2l6ZToyMXB4fS5jdXJyZW5jeS10b3RhbCAucGVyY2VudHtmb250LXNpemU6MjBweH19LmN1cnJlbmN5LWNvdmVyYWdlLWxpc3R7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDttYXJnaW46NHB4IDAgMH0uY3VycmVuY3ktY292ZXJhZ2UtbGlzdCBsaXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjNweCAxMHB4O3BhZGRpbmctYmxvY2s6OHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpfS5jdXJyZW5jeS1jb3ZlcmFnZS1saXN0IGxpPnNwYW57b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uY3VycmVuY3ktY292ZXJhZ2UtbGlzdCAuY3VycmVuY3ktZGV0YWlsLW5hbWV7ZmxleC1iYXNpczoxMDAlfS5jdXJyZW5jeS1vYnNlcnZhdGlvbi10aW1le2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MnB4IDEycHg7bWluLXdpZHRoOjB9LmN1cnJlbmN5LW9ic2VydmF0aW9uLXRpbWUgLmFzb2Z7d2hpdGUtc3BhY2U6bm9ybWFsfQo=" }, - "/v2/assets/cockpit-C-NCLZnK.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgeCxxIGFzIGosaiBhcyBlLG4gYXMgeSx0IGFzIG0sQiBhcyBmLHIgYXMgXyxXIGFzICQsUSBhcyB6LGFzIGFzIGJ9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtjb25zdCBTPVsiQ0FQSVRBTF9QUkVTRVJWQVRJT04iLCJCQUxBTkNFRF9DT01QT1VORElORyIsIkdST1dUSF9DT01QT1VORElORyJdLGc9WyJyZXNlYXJjaCIsInBhcGVyIiwic21hbGxfbGl2ZSIsImZ1bGxfbGl2ZSJdO2Z1bmN0aW9uIHYoYyxpKXtyZXR1cm4gYz09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/aSgiY29ja3BpdC50aWVyLmNhcGl0YWwiKTpjPT09IkJBTEFOQ0VEX0NPTVBPVU5ESU5HIj9pKCJjb2NrcGl0LnRpZXIuYmFsYW5jZWQiKTpjPT09IkdST1dUSF9DT01QT1VORElORyI/aSgiY29ja3BpdC50aWVyLmdyb3d0aCIpOmM9PW51bGx8fGM9PT0iIj9pKCJjb2NrcGl0Lm5vdF9zZXQiKTppKCJjb2NrcGl0LnRpZXIudW5rbm93biIpfWZ1bmN0aW9uIEQoYyxpKXtyZXR1cm4gaShgY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC4ke2N9YCx7fSwiY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC51bmtub3duIil9ZnVuY3Rpb24gVChjLGkpe2NvbnN0IHM9YHJlYXNvbi4ke2N9YDtpZihiKHMpKXJldHVybiBpKHMpO2NvbnN0IHQ9YGNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi4ke2N9YDtyZXR1cm4gYih0KT9pKHQpOmkoImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIil9ZnVuY3Rpb24gQShjKXtjb25zdFtpLHNdPV8udXNlU3RhdGUoKCk9PkRhdGUubm93KCkpO3JldHVybiBfLnVzZUVmZmVjdCgoKT0+e2lmKCFjKXJldHVybjtjb25zdCB0PXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+cyhEYXRlLm5vdygpKSwzZTQpO3JldHVybigpPT53aW5kb3cuY2xlYXJJbnRlcnZhbCh0KX0sW2NdKSxpfWZ1bmN0aW9uIEMoYyxpKXtjb25zdCBzPU1hdGgubWF4KDEsTWF0aC5jZWlsKGMvNmU0KSksdD1NYXRoLmZsb29yKHMvNjApLGw9cyU2MDtyZXR1cm4gdD09PTA/aT09PSJ6aCI/YCR7bH0g5YiG6ZKfYDpgJHtsfW1gOmk9PT0iemgiP2Ake3R9IOWwj+aXtiAke1N0cmluZyhsKS5wYWRTdGFydCgyLCIwIil9IOWIhmA6YCR7dH1oICR7U3RyaW5nKGwpLnBhZFN0YXJ0KDIsIjAiKX1tYH1mdW5jdGlvbiBFKHtzdGF0ZTpjLG9ic2VydmVkQXQ6aX0pe2NvbnN0IHM9eCgpLHQ9aigpLG89Yz09PSJmcmVzaCJ8fGM9PT0icmVhZHkiPyJjdXJyZW50IjpjPT09ImN1cnJlbnQifHxjPT09InN0YWxlInx8Yz09PSJtaXNzaW5nInx8Yz09PSJ1bmtub3duInx8Yz09PSJwYXJ0aWFsInx8Yz09PSJ1bmF2YWlsYWJsZSJ8fGM9PT0icmVhZF9mYWlsZWQifHxjPT09ImV4cGlyZWQifHxjPT09ImZyZXNoInx8Yz09PSJyZWFkeSI/YzoidW5rbm93biIscj1vPT09ImN1cnJlbnQiPyJvayI6bz09PSJyZWFkX2ZhaWxlZCJ8fG89PT0iZXhwaXJlZCI/ImVycm9yIjpvPT09InN0YWxlInx8bz09PSJwYXJ0aWFsIj8id2FybiI6InVua25vd24iLG49aT9tKGksdCk6bnVsbDtyZXR1cm4gZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWZyZXNobmVzcyIsImRhdGEtc3RhdGUiOm8sY2hpbGRyZW46W2UuanN4KGYse3RvbmU6cixjaGlsZHJlbjpzKGBjb2NrcGl0LmZyZXNobmVzcy4ke299YCl9KSxuJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpzKCJjb2NrcGl0LmFzX29mIix7dmFsdWU6bi56b25lP2Ake24udGV4dH0gKCR7bi56b25lfSlgOm4udGV4dH0pfSldfSl9ZnVuY3Rpb24gTCh7ZXhwaXJlc0F0OmMsc2VydmVyVGltZTppLHJlY2VpdmVkQXQ6cyxvbkJvdW5kYXJ5OnQsc2hvd0NvbnNlcXVlbmNlOmw9ITB9KXtjb25zdCBvPXgoKSxyPWooKSxuPUEoISFjKSxhPSQoYyxpLHMsbiksZD1fLnVzZVJlZihudWxsKTtpZihfLnVzZUVmZmVjdCgoKT0+e2Euc3RhdGU9PT0iZXhwaXJlZCImJmQuY3VycmVudCE9PWMmJihkLmN1cnJlbnQ9Yyx0Py4oKSl9LFthLnN0YXRlLGMsdF0pLGEuc3RhdGU9PT0ibm9uZSIpcmV0dXJuIGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV4cGlyeSIsImRhdGEtc3RhdGUiOiJub25lIixjaGlsZHJlbjpvKCJjb2NrcGl0LmV4cGlyeS5ub25lIil9KTtpZihhLnN0YXRlPT09InVua25vd24iKXJldHVybiBlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnkiLCJkYXRhLXN0YXRlIjoidW5rbm93biIsY2hpbGRyZW46bygiY29ja3BpdC5leHBpcnkudW5rbm93biIpfSk7Y29uc3QgcD1tKGEuZXhwaXJlc0F0LHIpLHU9cC50ZXh0PT09IuKAlCI/YS5leHBpcmVzQXQ6cC56b25lP2Ake3AudGV4dH0gKCR7cC56b25lfSlgOnAudGV4dCxoPWEuc3RhdGU9PT0iZXhwaXJlZCIsaz1hLnN0YXRlPT09ImV4cGlyZWQiPzA6YS5yZW1haW5pbmdNcyxOPWg/ImV4cGlyZWQiOms8NSo2ZTQ/InVuZGVyX2ZpdmUiOms8NjAqNmU0PyJ1bmRlcl9ob3VyIjoib3BlbiIsdz1oP28oImNvY2twaXQuZXhwaXJ5LmV4cGlyZWQiKTpvKGBjb2NrcGl0LmV4cGlyeS4ke059YCx7dmFsdWU6QyhrLHIpfSk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV4cGlyeSIsImRhdGEtc3RhdGUiOk4sY2hpbGRyZW46W2UuanN4cygicCIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnktbGluZSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46bygiY29ja3BpdC5leHBpcnkuYXQiLHt2YWx1ZTp1fSl9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnktcmVtYWluaW5nIixjaGlsZHJlbjp3fSldfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtZXhwaXJ5LXV0YyIsY2hpbGRyZW46ZS5qc3goInRpbWUiLHtkYXRlVGltZTphLmV4cGlyZXNBdCxjaGlsZHJlbjphLmV4cGlyZXNBdH0pfSksbCYmZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOltvKCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiIpLCIgIiwhaCYmbygiY29ja3BpdC5leHBpcnkuYm91bmRhcnkiKV19KV19KX1mdW5jdGlvbiBSKHtldmlkZW5jZTpjLHN0YXR1czppPSJyZWFkeSJ9KXtjb25zdCBzPXgoKSx0PWooKTtpZihpPT09ImxvYWRpbmciKXJldHVybiBlLmpzeCh5LHtoZWlnaHQ6NzJ9KTtpZihpPT09InVuYXZhaWxhYmxlInx8IWMpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6cygiY29ja3BpdC5zdXBwb3J0LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQudGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46cygiY29ja3BpdC5zdXBwb3J0Lm1pc3NpbmciKX0pXX0pO2NvbnN0IGw9Yy5saW1pdGF0aW9ucyxvPWMucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQiP2wubGVuZ3RoPjA/cygiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZF9saW1pdGVkIik6cygiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZCIpOmMucXVhbGlmaWNhdGlvbj09PSJ1bnF1YWxpZmllZCI/cygiY29ja3BpdC5zdXBwb3J0LnVucXVhbGlmaWVkIik6cygiY29ja3BpdC5zdXBwb3J0LnVua25vd24iKSxyPWMucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQiP2wubGVuZ3RoPjA/Indhcm4iOiJvayI6Yy5xdWFsaWZpY2F0aW9uPT09InVucXVhbGlmaWVkIj8iZXJyb3IiOiJ1bmtub3duIixuPWMuc3RhdGU9PT0ic3RhbGUiP3MoImNvY2twaXQuc3VwcG9ydC5zdGFsZSIpOmMuc3RhdGU9PT0iZXhwaXJlZCI/cygiY29ja3BpdC5zdXBwb3J0LmV4cGlyZWQiKTpjLnN0YXRlPT09InVuYXZhaWxhYmxlIj9zKCJjb2NrcGl0LnN1cHBvcnQudW5hdmFpbGFibGUiKTpjLnN0YXRlPT09Im1pc3NpbmciP3MoImNvY2twaXQuc3VwcG9ydC5taXNzaW5nIik6bnVsbCxhPWMub2JzZXJ2ZWRfYXQ/bShjLm9ic2VydmVkX2F0LHQpOm51bGwsZD1jLnZhbGlkX3VudGlsP20oYy52YWxpZF91bnRpbCx0KTpudWxsO3JldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnMoImNvY2twaXQuc3VwcG9ydC50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46cygiY29ja3BpdC5zdXBwb3J0LnRpdGxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1iYWRnZXMiLGNoaWxkcmVuOltlLmpzeChmLHt0b25lOnIsY2hpbGRyZW46b30pLGUuanN4KEUse3N0YXRlOmMuc3RhdGV9KV19KSxuJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOm59KSxlLmpzeHMoImRsIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2IixjaGlsZHJlbjpbYSYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQub2JzZXJ2ZWRfbGFiZWwiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmEuem9uZT9gJHthLnRleHR9ICgke2Euem9uZX0pYDphLnRleHR9KV19KSxkJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnMoImNvY2twaXQuc3VwcG9ydC52YWxpZF91bnRpbF9sYWJlbCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46ZC56b25lP2Ake2QudGV4dH0gKCR7ZC56b25lfSlgOmQudGV4dH0pXX0pLGUuanN4KCJkdCIse2NoaWxkcmVuOnMoImNvY2twaXQuc3VwcG9ydC5saW1pdGF0aW9ucyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46bC5sZW5ndGg+MD9sLmpvaW4oIiDCtyAiKTpzKCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiKX0pXX0pLGMuZXZpZGVuY2VfaWQmJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiY29ja3BpdC1kZXRhaWxzIixjaGlsZHJlbjpbZS5qc3goInN1bW1hcnkiLHtjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQucHJvdmVuYW5jZSIpfSksZS5qc3goImNvZGUiLHtjaGlsZHJlbjpjLmV2aWRlbmNlX2lkfSldfSldfSl9ZnVuY3Rpb24gQih7c2NvcGU6Yyx2YWx1ZTppLHNhdmVkVmFsdWU6cyxzZWxlY3Rpb25SZXZpc2lvbjp0LG1hcHBpbmdBdmFpbGFibGU6bCxkaXNhYmxlZDpvLHNhdmluZzpyLGRpcnR5Om4sb25DaGFuZ2U6YSxvblNhdmU6ZH0pe2NvbnN0IHA9eCgpLHU9Xy51c2VJZCgpLGg9aSE9PSIiJiYheihpKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjpwKCJjb2NrcGl0LnRpZXIudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnAoImNvY2twaXQudGllci50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46cCgiY29ja3BpdC50aWVyLnNjb3BlIix7dmFsdWU6Y30pfSksZS5qc3hzKCJmaWVsZHNldCIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLWdyb3VwIixkaXNhYmxlZDpvfHxyLGNoaWxkcmVuOltlLmpzeCgibGVnZW5kIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNyLW9ubHkiLGNoaWxkcmVuOnAoImNvY2twaXQudGllci50aXRsZSIpfSksUy5tYXAoaz0+e2NvbnN0IE49az09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/ImNvY2twaXQudGllci5jYXBpdGFsX25vdGUiOms9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkciPyJjb2NrcGl0LnRpZXIuYmFsYW5jZWRfbm90ZSI6ImNvY2twaXQudGllci5ncm93dGhfbm90ZSI7cmV0dXJuIGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImNvY2twaXQtdGllci1vcHRpb24iLGNoaWxkcmVuOltlLmpzeCgiaW5wdXQiLHt0eXBlOiJyYWRpbyIsbmFtZTpgJHt1fS10aWVyYCx2YWx1ZTprLGNoZWNrZWQ6aT09PWssImFyaWEtZGVzY3JpYmVkYnkiOmAke3V9LSR7a31gLG9uQ2hhbmdlOigpPT5hKGspfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpZXItbmFtZSIsY2hpbGRyZW46cChgY29ja3BpdC50aWVyLiR7az09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/ImNhcGl0YWwiOms9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkciPyJiYWxhbmNlZCI6Imdyb3d0aCJ9YCl9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW5vdGUiLGlkOmAke3V9LSR7a31gLGNoaWxkcmVuOnAoTil9KV19KV19LGspfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW9wdGlvbiIsY2hpbGRyZW46W2UuanN4KCJpbnB1dCIse3R5cGU6InJhZGlvIixuYW1lOmAke3V9LXRpZXJgLHZhbHVlOiIiLGNoZWNrZWQ6aT09PSIiLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHt1fS11bnNldGAsb25DaGFuZ2U6KCk9PmEoIiIpfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpZXItbmFtZSIsY2hpbGRyZW46cCgiY29ja3BpdC50aWVyLnVuc2V0Iil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW5vdGUiLGlkOmAke3V9LXVuc2V0YCxjaGlsZHJlbjpwKCJjb2NrcGl0LnRpZXIudW5zZXRfbm90ZSIpfSldfSldfSldfSksaCYmZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46W3AoImNvY2twaXQudW5rbm93biIpLCI6ICIsaV19KSwhbCYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSBlcnJvciIscm9sZToic3RhdHVzIixjaGlsZHJlbjpwKCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC10b29sYmFyIixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkgYnV0dG9uLXNtIixkaXNhYmxlZDpvfHxyfHwhbnx8IWwsb25DbGljazpkLGNoaWxkcmVuOnAoImNvY2twaXQudGllci5zYXZlIil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpwKG4/ImNvY2twaXQudGllci5kaXJ0eSI6ImNvY2twaXQudGllci51bmNoYW5nZWQiKX0pLHQhPT1udWxsJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpwKCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIix7dmFsdWU6dH0pfSldfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOltwKCJjb2NrcGl0LmRlY2lzaW9uLnNlbGVjdGVkIiksIjogIixzPT09IiI/cCgiY29ja3BpdC50aWVyLnVuc2V0Iik6dihzLHApXX0pLCFsJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjpwKCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmVfbm90ZSIpfSldfSl9ZnVuY3Rpb24gSSh7dmFsdWU6Y30pe2NvbnN0IGk9eCgpO2lmKGMuc3RhdHVzIT09Imtub3duInx8Yy52YWx1ZT09PW51bGwpcmV0dXJuIGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXVua25vd24iLGNoaWxkcmVuOmkoImNvY2twaXQucG9saWN5LnVua25vd25fdmFsdWUiKX0pO2NvbnN0IHM9Yy51bml0PT09InBlcmNlbnQiP2koImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCIpOiIiO3JldHVybiBlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbU3RyaW5nKGMudmFsdWUpLHNdfSl9ZnVuY3Rpb24gRih7YmluZGluZzpjLHN0YXR1czppPSJyZWFkeSIsb25SZXRyeTpzfSl7Y29uc3QgdD14KCksbD1qKCk7aWYoaT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goeSx7aGVpZ2h0Ojk2fSk7aWYoaT09PSJlcnJvciIpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5wb2xpY3kudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kucmVhZF9mYWlsZWQiKX0pLHMmJmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46dCgiY29tbW9uLnJldHJ5Iil9KV19KTtpZihpPT09Im5vdF9yZWFkeSJ8fCFjKXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnQoImNvY2twaXQucG9saWN5LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSBlcnJvciIscm9sZToic3RhdHVzIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KV19KTtjb25zdCBvPWMudGVtcG9yYXJ5X3Jlc3RyaWN0aW9uLHI9Yy5lZmZlY3RpdmVfb2JzZXJ2ZWRfYXQ/bShjLmVmZmVjdGl2ZV9vYnNlcnZlZF9hdCxsKTpudWxsLG49bz8udW50aWw/bShvLnVudGlsLGwpOm51bGw7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5wb2xpY3kudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LnRpdGxlIil9KSxlLmpzeHMoImRsIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2IixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kuc2VsZWN0ZWQiKX0pLGUuanN4cygiZGQiLHtjaGlsZHJlbjpbYy5zZWxlY3RlZF90aWVyP3YoYy5zZWxlY3RlZF90aWVyLHQpOnQoImNvY2twaXQudW5rbm93biIpLGMuc2VsZWN0aW9uX3JldmlzaW9uIT09bnVsbCYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpjLnNlbGVjdGlvbl9yZXZpc2lvbn0pXX0pXX0pLGUuanN4KCJkdCIse2NoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LmFwcHJvdmVkIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjpjLmFwcHJvdmVkX3BvbGljeV9pZHx8Yy5hcHByb3ZlZF90aWVyP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbYy5hcHByb3ZlZF90aWVyJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3YoYy5hcHByb3ZlZF90aWVyLHQpLCIgwrcgIl19KSxjLmFwcHJvdmVkX3BvbGljeV9pZHx8dCgiY29ja3BpdC51bmtub3duIiksYy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb24mJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpbIiDCtyAiLHQoImNvY2twaXQucG9saWN5LnJldmlzaW9uIix7dmFsdWU6Yy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb259KV19KV19KTp0KCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KSxlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmUiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmMuZWZmZWN0aXZlX3BvbGljeV9pZHx8Yy5lZmZlY3RpdmVfdGllcj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2MuZWZmZWN0aXZlX3RpZXImJmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbdihjLmVmZmVjdGl2ZV90aWVyLHQpLCIgwrcgIl19KSxjLmVmZmVjdGl2ZV9wb2xpY3lfaWR8fHQoImNvY2twaXQudW5rbm93biIpLGMuZWZmZWN0aXZlX3BvbGljeV9yZXZpc2lvbiYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpjLmVmZmVjdGl2ZV9wb2xpY3lfcmV2aXNpb259KV19KSxyJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46WyIgwrcgIix0KCJjb2NrcGl0LmFzX29mIix7dmFsdWU6ci50ZXh0fSldfSldfSk6dCgiY29ja3BpdC5wb2xpY3kubm90X29ic2VydmVkIil9KSxlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbiIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46bz8uYWN0aXZlP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbby5yZWFzb249PT0icmVkdWN0aW9uX29ubHkifHxvLnJlYXNvbj09PSJSZWR1Y3Rpb24gb25seSI/dCgiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnJlZHVjdGlvbl9vbmx5Iik6dCgiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnVua25vd24iKSxuJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46WyIgwrcgIix0KCJjb2NrcGl0LnBvbGljeS5zaW5jZSIse3ZhbHVlOm4udGV4dH0pXX0pXX0pOnQoImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uX25vbmUiKX0pXX0pLGUuanN4KCJoNCIse2NsYXNzTmFtZToiY29ja3BpdC1zdWJ0aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kudmFsdWVzIil9KSxjLnZhbHVlcy5sZW5ndGg9PT0wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5Lm5vX3ZhbHVlcyIpfSk6ZS5qc3hzKCJ0YWJsZSIse2NsYXNzTmFtZToiY29ja3BpdC10YWJsZSIsY2hpbGRyZW46W2UuanN4KCJ0aGVhZCIse2NoaWxkcmVuOmUuanN4cygidHIiLHtjaGlsZHJlbjpbZS5qc3goInRoIix7c2NvcGU6ImNvbCIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kudmFsdWVzIil9KSxlLmpzeCgidGgiLHtzY29wZToiY29sIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5zb3VyY2VfbGFiZWwiKX0pXX0pfSksZS5qc3goInRib2R5Iix7Y2hpbGRyZW46Yy52YWx1ZXMubWFwKGE9PmUuanN4cygidHIiLHsiZGF0YS1saW1pdC1rZXkiOmEua2V5LGNoaWxkcmVuOltlLmpzeCgidGgiLHtzY29wZToicm93IixjaGlsZHJlbjphLmxhYmVsX2tleT90KGEubGFiZWxfa2V5LHt9LGBjb2NrcGl0LnBvbGljeS5saW1pdC4ke2Eua2V5fWApOnQoYGNvY2twaXQucG9saWN5LmxpbWl0LiR7YS5rZXl9YCl9KSxlLmpzeHMoInRkIix7Y2hpbGRyZW46W2UuanN4KEkse3ZhbHVlOmF9KSxhLnNvdXJjZSYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kuc291cmNlIix7dmFsdWU6dChgY29ja3BpdC5wb2xpY3kuc291cmNlLiR7YS5zb3VyY2V9YCl9KV19KV19KV19LGEua2V5KSl9KV19KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmVfbm90ZSIpfSldfSl9ZnVuY3Rpb24gTSh7YmluZGluZzpjfSl7Y29uc3QgaT14KCkscz1nLmluY2x1ZGVzKGMuYXV0aG9yaXplZF9zdGFnZSk/Yy5hdXRob3JpemVkX3N0YWdlOm51bGwsdD1nLmluY2x1ZGVzKGMuZWZmZWN0aXZlX3N0YWdlKT9jLmVmZmVjdGl2ZV9zdGFnZTpudWxsLGw9cz8/dCxvPXM/ImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6dD8iY29ja3BpdC5saWZlY3ljbGUuc3RlcC5lZmZlY3RpdmUiOiJjb2NrcGl0LmxpZmVjeWNsZS5zdGVwLnVuY29uZmlybWVkIixyPWw/Zy5pbmRleE9mKGwpOi0xLG49W3trZXk6ImNvY2twaXQubGlmZWN5Y2xlLmF4aXMucmVzZWFyY2giLHZhbHVlOmkoYGNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLiR7Yy5yZXNlYXJjaF9zdGFnZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hdXRob3JpemVkIix2YWx1ZTppKGBjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS4ke2MuYXV0aG9yaXplZF9zdGFnZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5lZmZlY3RpdmUiLHZhbHVlOmkoYGNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLiR7Yy5lZmZlY3RpdmVfc3RhZ2V9YCl9LHtrZXk6ImNvY2twaXQubGlmZWN5Y2xlLmF4aXMub3BlcmF0aW5nIix2YWx1ZTppKGBjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcuJHtjLm9wZXJhdGluZ19zdGF0ZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hcHBsaWNhdGlvbiIsdmFsdWU6aShgY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24uJHtjLmFwcGxpY2F0aW9uX3N0YXRlfWApfV07cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6aSgiY29ja3BpdC5saWZlY3ljbGUudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOmkoImNvY2twaXQubGlmZWN5Y2xlLnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjppKG8pfSksZS5qc3goIm9sIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXN0ZXBwZXIiLGNoaWxkcmVuOmcubWFwKChhLGQpPT57Y29uc3QgcD1yPj0wJiZkPT09cix1PXI+PTAmJmQ8cjtyZXR1cm4gZS5qc3hzKCJsaSIse2NsYXNzTmFtZTpgY29ja3BpdC1zdGVwJHtwPyIgYWN0aXZlIjoiIn0ke3U/IiBjb21wbGV0ZSI6IiJ9YCwiYXJpYS1jdXJyZW50IjpwPyJzdGVwIjp2b2lkIDAsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXN0ZXAtZG90IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46aShgY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuJHthfWApfSldfSxhKX0pfSksbD09PW51bGwmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46aSgiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIil9KSxlLmpzeCgiZGwiLHtjbGFzc05hbWU6ImNvY2twaXQta3YiLGNoaWxkcmVuOm4ubWFwKGE9PmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2LXBhaXIiLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjppKGEua2V5KX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmEudmFsdWV9KV19LGEua2V5KSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjppKCJjb2NrcGl0LmxpZmVjeWNsZS5ub3RlIil9KV19KX1mdW5jdGlvbiBPKGMsaSl7cmV0dXJuIGMucnVudGltZV9jb25maXJtZWRfYXQ/aSgiY29ja3BpdC5vcGVyYXRpb24uY29uZmlybWVkIik6Yy5zdGF0ZT09PSJwZW5kaW5nIj9jLmRpc3BhdGNoZWRfYXQ/aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbHlpbmciKTppKCJjb2NrcGl0Lm9wZXJhdGlvbi5hY2NlcHRlZCIpOmMuc3RhdGU9PT0iYXBwbHlpbmciP2koImNvY2twaXQub3BlcmF0aW9uLmFwcGx5aW5nIik6Yy5zdGF0ZT09PSJhcHBsaWVkIj9jLnJlYWRiYWNrX2F2YWlsYWJsZT09PSExP2koImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfbm9fcmVhZGJhY2siKTpjLnJlYWRiYWNrX2F2YWlsYWJsZT09PW51bGw/aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9yZWFkYmFja191bmtub3duIik6aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF91bm9ic2VydmVkIik6Yy5zdGF0ZT09PSJyZWplY3RlZCI/aSgiY29ja3BpdC5vcGVyYXRpb24ucmVqZWN0ZWQiKTpjLnN0YXRlPT09ImZhaWxlZCI/aSgiY29ja3BpdC5vcGVyYXRpb24uZmFpbGVkIik6aSgiY29ja3BpdC5vcGVyYXRpb24udW5rbm93biIpfWZ1bmN0aW9uIFAoYyl7cmV0dXJuIGMucnVudGltZV9jb25maXJtZWRfYXQ/Im9rIjpjLnN0YXRlPT09InJlamVjdGVkInx8Yy5zdGF0ZT09PSJmYWlsZWQiPyJlcnJvciI6Yy5zdGF0ZT09PSJhcHBsaWVkInx8Yy5zdGF0ZT09PSJhcHBseWluZyJ8fGMuc3RhdGU9PT0icGVuZGluZyI/Indhcm4iOiJ1bmtub3duIn1mdW5jdGlvbiBHKHtvcGVyYXRpb246YyxzdGF0dXM6aSxvblJlZnJlc2g6c30pe2NvbnN0IHQ9eCgpLGw9aigpO2lmKGk9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHkse2hlaWdodDo3Mn0pO2lmKGk9PT0ibm90X3JlYWR5IilyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24ubm90X3JlYWR5Iil9KV19KTtpZihpPT09ImVycm9yIilyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWFkX2ZhaWxlZCIpfSkscyYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6cyxjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWZyZXNoIil9KV19KTtpZighYylyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLm5vbmUiKX0pXX0pO2NvbnN0IG89Yy5zdGF0ZT09PSJhcHBsaWVkInx8ISFjLnJ1bnRpbWVfY29uZmlybWVkX2F0LHI9ISFjLnJ1bnRpbWVfY29uZmlybWVkX2F0LG49Yy5zdGF0ZT09PSJyZWplY3RlZCJ8fGMuc3RhdGU9PT0iZmFpbGVkIixhPW8mJmMucmVhZGJhY2tfYXZhaWxhYmxlPT09ITEsZD1rPT50KGBjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS4ke2t9YCkscD1be2xhYmVsOnQoImNvY2twaXQub3BlcmF0aW9uLmRlY2lzaW9uIiksc3RhdGU6ImNvbXBsZXRlIixkZXRhaWw6ZCgiY29tcGxldGUiKX0se2xhYmVsOnQoImNvY2twaXQub3BlcmF0aW9uLmFwcGxpY2F0aW9uIiksc3RhdGU6bj8iZmFpbGVkIjpyfHxvPyJjb21wbGV0ZSI6ImFjdGl2ZSIsZGV0YWlsOmQobj8iZmFpbGVkIjpyfHxvPyJjb21wbGV0ZSI6ImFjdGl2ZSIpfSx7bGFiZWw6dCgiY29ja3BpdC5vcGVyYXRpb24ub2JzZXJ2YXRpb24iKSxzdGF0ZTpyPyJjb21wbGV0ZSI6YT8idW5hdmFpbGFibGUiOm8/ImFjdGl2ZSI6ImlkbGUiLGRldGFpbDpkKHI/ImNvbXBsZXRlIjphPyJ1bmF2YWlsYWJsZSI6bz8iYWN0aXZlIjoiaWRsZSIpfV0sdT1jLmFwcGxpZWRfYXQ/P2MucnVudGltZV9jb25maXJtZWRfYXQ/P2MuZGlzcGF0Y2hlZF9hdD8/Yy5yZWNvcmRlZF9hdCxoPXU/bSh1LGwpOm51bGw7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLnRpdGxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1iYWRnZXMiLGNoaWxkcmVuOltlLmpzeChmLHt0b25lOlAoYyksY2hpbGRyZW46TyhjLHQpfSksaCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46dCgiY29ja3BpdC5hc19vZiIse3ZhbHVlOmguem9uZT9gJHtoLnRleHR9ICgke2guem9uZX0pYDpoLnRleHR9KX0pXX0pLGUuanN4KCJvbCIse2NsYXNzTmFtZToiY29ja3BpdC1zdGFnZXMiLGNoaWxkcmVuOnAubWFwKGs9PmUuanN4cygibGkiLHtjbGFzc05hbWU6ImNvY2twaXQtc3RhZ2UiLCJkYXRhLXN0YXRlIjprLnN0YXRlLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1zdGFnZS1uYW1lIixjaGlsZHJlbjprLmxhYmVsfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtc3RhZ2UtZGV0YWlsIixjaGlsZHJlbjprLmRldGFpbH0pXX0say5sYWJlbCkpfSksKGMuZmFpbHVyZV9yZWFzb258fGMudW5rbm93bl9yZWFzb24pJiZlLmpzeCgicCIse2NsYXNzTmFtZTpgY29ja3BpdC1ub3RlICR7bj8iZXJyb3IiOiIifWAscm9sZToic3RhdHVzIixjaGlsZHJlbjpUKGMuZmFpbHVyZV9yZWFzb258fGMudW5rbm93bl9yZWFzb258fCIiLHQpfSksYy5zdGF0ZT09PSJ1bmtub3duIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5ub19yZXRyeSIpfSksZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWRldGFpbHMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLmlkIix7dmFsdWU6Yy5vcGVyYXRpb25faWR8fHQoImNvY2twaXQudW5rbm93biIpfSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZXF1ZXN0Iix7dmFsdWU6Yy5yZXF1ZXN0X2lkfHx0KCJjb2NrcGl0LnVua25vd24iKX0pfSksYy5kZWNpc2lvbl9yZXZpc2lvbiE9PW51bGwmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLnJldmlzaW9uIix7dmFsdWU6Yy5kZWNpc2lvbl9yZXZpc2lvbn0pfSldfSkscyYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6cyxjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWZyZXNoIil9KV19KX1mdW5jdGlvbiBVKHtldmVudHM6YyxzdGF0dXM6aSxoYXNNb3JlOnM9ITEsbG9hZGluZ01vcmU6dD0hMSxvbk1vcmU6bH0pe2NvbnN0IG89eCgpLHI9aigpO3JldHVybiBpPT09ImxvYWRpbmciP2UuanN4KHkse2hlaWdodDo5Nn0pOmk9PT0ibm90X3JlYWR5Ij9lLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cudW5hdmFpbGFibGUiKX0pOmk9PT0iZXJyb3IiP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cubG9hZF9mYWlsZWQiKX0pOiFjfHxjLmxlbmd0aD09PTA/ZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46bygiY29ja3BpdC5jaGFuZ2VfbG9nLmVtcHR5Iil9KTplLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1jaGFuZ2UtbG9nIixjaGlsZHJlbjpbZS5qc3goIm9sIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpbWVsaW5lIixjaGlsZHJlbjpjLm1hcChuPT57Y29uc3QgYT1tKG4ub2NjdXJyZWRfYXQscik7cmV0dXJuIGUuanN4cygibGkiLHtjbGFzc05hbWU6ImNvY2twaXQtZXZlbnQiLCJkYXRhLWFjdGlvbiI6bi5hY3Rpb24sY2hpbGRyZW46W2UuanN4KCJ0aW1lIix7ZGF0ZVRpbWU6bi5vY2N1cnJlZF9hdCxjaGlsZHJlbjphLnpvbmU/YCR7YS50ZXh0fSAoJHthLnpvbmV9KWA6YS50ZXh0fSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNvY2twaXQtZXZlbnQtYm9keSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV2ZW50LWFjdGlvbiIsY2hpbGRyZW46byhgY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi4ke24uYWN0aW9ufWAse30sImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiKX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpbbi5hY3Rvcj9vKCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0b3IiLHt2YWx1ZTpuLmFjdG9yfSk6bygiY29ja3BpdC51bmtub3duIiksbi5vdXRjb21lJiZgIMK3ICR7bygiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUiLHt2YWx1ZTpvKGBjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS4ke24ub3V0Y29tZX1gLHt9LCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS51bmtub3duIil9KX1gXX0pLG4uc3ViamVjdCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsImRhdGEtc3ViamVjdC1raW5kIjpuLnN1YmplY3Qua2luZCxjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdCIse3ZhbHVlOmAke28oYGNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuJHtuLnN1YmplY3Qua2luZH1gLHt9LCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm90aGVyIil9JHtuLnN1YmplY3QuaWQ/YCDCtyAke24uc3ViamVjdC5pZH1gOiIifWB9KX0pLG4ucmV2aXNpb24hPT1udWxsJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cucmV2aXNpb24iLHt2YWx1ZTpuLnJldmlzaW9ufSl9KV19KV19LG4uZXZlbnRfaWQpfSl9KSxzJiZsJiZlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsZGlzYWJsZWQ6dCxvbkNsaWNrOmwsY2hpbGRyZW46bygiY29ja3BpdC5jaGFuZ2VfbG9nLm1vcmUiKX0pXX0pfWZ1bmN0aW9uIEsoe2RpZ2VzdDpjLHN0YXR1czppPSJyZWFkeSIsb25SZXRyeTpzfSl7Y29uc3QgdD14KCksbD1qKCk7aWYoaT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goeSx7aGVpZ2h0Ojk2fSk7aWYoaT09PSJlcnJvciIpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5kaWdlc3QudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QucmVhZF9mYWlsZWQiKX0pLHMmJmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46dCgiY29tbW9uLnJldHJ5Iil9KV19KTtpZihpPT09Im5vdF9yZWFkeSJ8fCFjKXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnQoImNvY2twaXQuZGlnZXN0LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjp0KCJjb2NrcGl0LmRpZ2VzdC50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3Qubm9fZGF0YSIpfSldfSk7Y29uc3Qgbz1jLmRlbGl2ZXJ5X3N0YXRlPT09ImRlbGl2ZXJlZCI/Im9rIjpjLmRlbGl2ZXJ5X3N0YXRlPT09ImZhaWxlZCI/ImVycm9yIjpjLmRlbGl2ZXJ5X3N0YXRlPT09ImFjY2VwdGVkIj8id2FybiI6InVua25vd24iLHI9Yy5hY2NlcHRlZF9hdD9tKGMuYWNjZXB0ZWRfYXQsbCk6bnVsbCxuPWMuYWNrbm93bGVkZ2VkX2F0P20oYy5hY2tub3dsZWRnZWRfYXQsbCk6bnVsbCxhPWQ9PmQ9PT1udWxsP3QoImNvY2twaXQudW5rbm93biIpOlN0cmluZyhkKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0LmRpZ2VzdC50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QudGl0bGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWJhZGdlcyIsY2hpbGRyZW46W2UuanN4KGYse3RvbmU6byxjaGlsZHJlbjp0KGBjb2NrcGl0LmRpZ2VzdC4ke2MuZGVsaXZlcnlfc3RhdGV9YCl9KSxjLmxlZ2FjeV9yZWNlaXB0cyYmZS5qc3goZix7dG9uZToidW5rbm93biIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QubGVnYWN5Iil9KV19KSwoYy5idXNpbmVzc19kYXl8fGMudGltZXpvbmUpJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjp0KCJjb2NrcGl0LmRpZ2VzdC53aW5kb3ciLHtkYXk6Yy5idXNpbmVzc19kYXl8fHQoImNvY2twaXQudW5rbm93biIpLHpvbmU6Yy50aW1lem9uZXx8dCgiY29ja3BpdC51bmtub3duIil9KX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LnRhcmdldHMiLHtleHBlY3RlZDphKGMuZXhwZWN0ZWRfdGFyZ2V0cyksY292ZXJlZDphKGMuY292ZXJlZF90YXJnZXRzKSx1bmF2YWlsYWJsZTphKGMudW5hdmFpbGFibGVfdGFyZ2V0cyl9KX0pLHImJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LmFjY2VwdGVkX2F0Iix7dmFsdWU6ci56b25lP2Ake3IudGV4dH0gKCR7ci56b25lfSlgOnIudGV4dH0pfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlt0KCJjb2NrcGl0LmRpZ2VzdC5hY2siKSwiOiAiLG4/dCgiY29ja3BpdC5kaWdlc3QuYWNrX2F0Iix7dmFsdWU6bi56b25lP2Ake24udGV4dH0gKCR7bi56b25lfSlgOm4udGV4dH0pOnQoImNvY2twaXQuZGlnZXN0LmFja191bmtub3duIildfSksYy50YXJnZXRzLmxlbmd0aD4wJiZlLmpzeCgidWwiLHtjbGFzc05hbWU6ImNvY2twaXQtdGFyZ2V0cyIsY2hpbGRyZW46Yy50YXJnZXRzLm1hcChkPT5lLmpzeHMoImxpIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46ZC5sYWJlbH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOmQua25vd24/IuKckyI6dCgiY29ja3BpdC51bmtub3duIil9KV19LGQubGFiZWwpKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0Lm5vdGUiKX0pXX0pfWV4cG9ydHtVIGFzIEEsSyBhcyBELEwgYXMgRSxFIGFzIEYsTSBhcyBMLEIgYXMgUixSIGFzIGEsRyBhcyBiLEYgYXMgYyxEIGFzIHIsdiBhcyB0fTsK" }, + "/v2/assets/cockpit-BViQQefs.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgeCx0IGFzIGosaiBhcyBlLG8gYXMgeSx2IGFzIG0sQiBhcyBmLHIgYXMgXyxaIGFzICQsViBhcyB6LGFvIGFzIGJ9ZnJvbSIuL2luZGV4LUR0bkQwVjZYLmpzIjtjb25zdCBTPVsiQ0FQSVRBTF9QUkVTRVJWQVRJT04iLCJCQUxBTkNFRF9DT01QT1VORElORyIsIkdST1dUSF9DT01QT1VORElORyJdLGc9WyJyZXNlYXJjaCIsInBhcGVyIiwic21hbGxfbGl2ZSIsImZ1bGxfbGl2ZSJdO2Z1bmN0aW9uIHYoYyxpKXtyZXR1cm4gYz09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/aSgiY29ja3BpdC50aWVyLmNhcGl0YWwiKTpjPT09IkJBTEFOQ0VEX0NPTVBPVU5ESU5HIj9pKCJjb2NrcGl0LnRpZXIuYmFsYW5jZWQiKTpjPT09IkdST1dUSF9DT01QT1VORElORyI/aSgiY29ja3BpdC50aWVyLmdyb3d0aCIpOmM9PW51bGx8fGM9PT0iIj9pKCJjb2NrcGl0Lm5vdF9zZXQiKTppKCJjb2NrcGl0LnRpZXIudW5rbm93biIpfWZ1bmN0aW9uIHEoYyxpKXtyZXR1cm4gaShgY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC4ke2N9YCx7fSwiY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC51bmtub3duIil9ZnVuY3Rpb24gVChjLGkpe2NvbnN0IHM9YHJlYXNvbi4ke2N9YDtpZihiKHMpKXJldHVybiBpKHMpO2NvbnN0IHQ9YGNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi4ke2N9YDtyZXR1cm4gYih0KT9pKHQpOmkoImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIil9ZnVuY3Rpb24gQShjKXtjb25zdFtpLHNdPV8udXNlU3RhdGUoKCk9PkRhdGUubm93KCkpO3JldHVybiBfLnVzZUVmZmVjdCgoKT0+e2lmKCFjKXJldHVybjtjb25zdCB0PXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+cyhEYXRlLm5vdygpKSwzZTQpO3JldHVybigpPT53aW5kb3cuY2xlYXJJbnRlcnZhbCh0KX0sW2NdKSxpfWZ1bmN0aW9uIEMoYyxpKXtjb25zdCBzPU1hdGgubWF4KDEsTWF0aC5jZWlsKGMvNmU0KSksdD1NYXRoLmZsb29yKHMvNjApLGw9cyU2MDtyZXR1cm4gdD09PTA/aT09PSJ6aCI/YCR7bH0g5YiG6ZKfYDpgJHtsfW1gOmk9PT0iemgiP2Ake3R9IOWwj+aXtiAke1N0cmluZyhsKS5wYWRTdGFydCgyLCIwIil9IOWIhmA6YCR7dH1oICR7U3RyaW5nKGwpLnBhZFN0YXJ0KDIsIjAiKX1tYH1mdW5jdGlvbiBFKHtzdGF0ZTpjLG9ic2VydmVkQXQ6aX0pe2NvbnN0IHM9eCgpLHQ9aigpLG89Yz09PSJmcmVzaCJ8fGM9PT0icmVhZHkiPyJjdXJyZW50IjpjPT09ImN1cnJlbnQifHxjPT09InN0YWxlInx8Yz09PSJtaXNzaW5nInx8Yz09PSJ1bmtub3duInx8Yz09PSJwYXJ0aWFsInx8Yz09PSJ1bmF2YWlsYWJsZSJ8fGM9PT0icmVhZF9mYWlsZWQifHxjPT09ImV4cGlyZWQifHxjPT09ImZyZXNoInx8Yz09PSJyZWFkeSI/YzoidW5rbm93biIscj1vPT09ImN1cnJlbnQiPyJvayI6bz09PSJyZWFkX2ZhaWxlZCJ8fG89PT0iZXhwaXJlZCI/ImVycm9yIjpvPT09InN0YWxlInx8bz09PSJwYXJ0aWFsIj8id2FybiI6InVua25vd24iLG49aT9tKGksdCk6bnVsbDtyZXR1cm4gZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWZyZXNobmVzcyIsImRhdGEtc3RhdGUiOm8sY2hpbGRyZW46W2UuanN4KGYse3RvbmU6cixjaGlsZHJlbjpzKGBjb2NrcGl0LmZyZXNobmVzcy4ke299YCl9KSxuJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpzKCJjb2NrcGl0LmFzX29mIix7dmFsdWU6bi56b25lP2Ake24udGV4dH0gKCR7bi56b25lfSlgOm4udGV4dH0pfSldfSl9ZnVuY3Rpb24gTCh7ZXhwaXJlc0F0OmMsc2VydmVyVGltZTppLHJlY2VpdmVkQXQ6cyxvbkJvdW5kYXJ5OnQsc2hvd0NvbnNlcXVlbmNlOmw9ITB9KXtjb25zdCBvPXgoKSxyPWooKSxuPUEoISFjKSxhPSQoYyxpLHMsbiksZD1fLnVzZVJlZihudWxsKTtpZihfLnVzZUVmZmVjdCgoKT0+e2Euc3RhdGU9PT0iZXhwaXJlZCImJmQuY3VycmVudCE9PWMmJihkLmN1cnJlbnQ9Yyx0Py4oKSl9LFthLnN0YXRlLGMsdF0pLGEuc3RhdGU9PT0ibm9uZSIpcmV0dXJuIGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV4cGlyeSIsImRhdGEtc3RhdGUiOiJub25lIixjaGlsZHJlbjpvKCJjb2NrcGl0LmV4cGlyeS5ub25lIil9KTtpZihhLnN0YXRlPT09InVua25vd24iKXJldHVybiBlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnkiLCJkYXRhLXN0YXRlIjoidW5rbm93biIsY2hpbGRyZW46bygiY29ja3BpdC5leHBpcnkudW5rbm93biIpfSk7Y29uc3QgcD1tKGEuZXhwaXJlc0F0LHIpLHU9cC50ZXh0PT09IuKAlCI/YS5leHBpcmVzQXQ6cC56b25lP2Ake3AudGV4dH0gKCR7cC56b25lfSlgOnAudGV4dCxoPWEuc3RhdGU9PT0iZXhwaXJlZCIsaz1hLnN0YXRlPT09ImV4cGlyZWQiPzA6YS5yZW1haW5pbmdNcyxOPWg/ImV4cGlyZWQiOms8NSo2ZTQ/InVuZGVyX2ZpdmUiOms8NjAqNmU0PyJ1bmRlcl9ob3VyIjoib3BlbiIsdz1oP28oImNvY2twaXQuZXhwaXJ5LmV4cGlyZWQiKTpvKGBjb2NrcGl0LmV4cGlyeS4ke059YCx7dmFsdWU6QyhrLHIpfSk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV4cGlyeSIsImRhdGEtc3RhdGUiOk4sY2hpbGRyZW46W2UuanN4cygicCIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnktbGluZSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46bygiY29ja3BpdC5leHBpcnkuYXQiLHt2YWx1ZTp1fSl9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1leHBpcnktcmVtYWluaW5nIixjaGlsZHJlbjp3fSldfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtZXhwaXJ5LXV0YyIsY2hpbGRyZW46ZS5qc3goInRpbWUiLHtkYXRlVGltZTphLmV4cGlyZXNBdCxjaGlsZHJlbjphLmV4cGlyZXNBdH0pfSksbCYmZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOltvKCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiIpLCIgIiwhaCYmbygiY29ja3BpdC5leHBpcnkuYm91bmRhcnkiKV19KV19KX1mdW5jdGlvbiBSKHtldmlkZW5jZTpjLHN0YXR1czppPSJyZWFkeSJ9KXtjb25zdCBzPXgoKSx0PWooKTtpZihpPT09ImxvYWRpbmciKXJldHVybiBlLmpzeCh5LHtoZWlnaHQ6NzJ9KTtpZihpPT09InVuYXZhaWxhYmxlInx8IWMpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6cygiY29ja3BpdC5zdXBwb3J0LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQudGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46cygiY29ja3BpdC5zdXBwb3J0Lm1pc3NpbmciKX0pXX0pO2NvbnN0IGw9Yy5saW1pdGF0aW9ucyxvPWMucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQiP2wubGVuZ3RoPjA/cygiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZF9saW1pdGVkIik6cygiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZCIpOmMucXVhbGlmaWNhdGlvbj09PSJ1bnF1YWxpZmllZCI/cygiY29ja3BpdC5zdXBwb3J0LnVucXVhbGlmaWVkIik6cygiY29ja3BpdC5zdXBwb3J0LnVua25vd24iKSxyPWMucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQiP2wubGVuZ3RoPjA/Indhcm4iOiJvayI6Yy5xdWFsaWZpY2F0aW9uPT09InVucXVhbGlmaWVkIj8iZXJyb3IiOiJ1bmtub3duIixuPWMuc3RhdGU9PT0ic3RhbGUiP3MoImNvY2twaXQuc3VwcG9ydC5zdGFsZSIpOmMuc3RhdGU9PT0iZXhwaXJlZCI/cygiY29ja3BpdC5zdXBwb3J0LmV4cGlyZWQiKTpjLnN0YXRlPT09InVuYXZhaWxhYmxlIj9zKCJjb2NrcGl0LnN1cHBvcnQudW5hdmFpbGFibGUiKTpjLnN0YXRlPT09Im1pc3NpbmciP3MoImNvY2twaXQuc3VwcG9ydC5taXNzaW5nIik6bnVsbCxhPWMub2JzZXJ2ZWRfYXQ/bShjLm9ic2VydmVkX2F0LHQpOm51bGwsZD1jLnZhbGlkX3VudGlsP20oYy52YWxpZF91bnRpbCx0KTpudWxsO3JldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnMoImNvY2twaXQuc3VwcG9ydC50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46cygiY29ja3BpdC5zdXBwb3J0LnRpdGxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1iYWRnZXMiLGNoaWxkcmVuOltlLmpzeChmLHt0b25lOnIsY2hpbGRyZW46b30pLGUuanN4KEUse3N0YXRlOmMuc3RhdGV9KV19KSxuJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOm59KSxlLmpzeHMoImRsIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2IixjaGlsZHJlbjpbYSYmZS5qc3hzKGUuRnJhZ21lbnQse2NoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQub2JzZXJ2ZWRfbGFiZWwiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmEuem9uZT9gJHthLnRleHR9ICgke2Euem9uZX0pYDphLnRleHR9KV19KSxkJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2UuanN4KCJkdCIse2NoaWxkcmVuOnMoImNvY2twaXQuc3VwcG9ydC52YWxpZF91bnRpbF9sYWJlbCIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46ZC56b25lP2Ake2QudGV4dH0gKCR7ZC56b25lfSlgOmQudGV4dH0pXX0pLGUuanN4KCJkdCIse2NoaWxkcmVuOnMoImNvY2twaXQuc3VwcG9ydC5saW1pdGF0aW9ucyIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46bC5sZW5ndGg+MD9sLmpvaW4oIiDCtyAiKTpzKCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiKX0pXX0pLGMuZXZpZGVuY2VfaWQmJmUuanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToiY29ja3BpdC1kZXRhaWxzIixjaGlsZHJlbjpbZS5qc3goInN1bW1hcnkiLHtjaGlsZHJlbjpzKCJjb2NrcGl0LnN1cHBvcnQucHJvdmVuYW5jZSIpfSksZS5qc3goImNvZGUiLHtjaGlsZHJlbjpjLmV2aWRlbmNlX2lkfSldfSldfSl9ZnVuY3Rpb24gQih7c2NvcGU6Yyx2YWx1ZTppLHNhdmVkVmFsdWU6cyxzZWxlY3Rpb25SZXZpc2lvbjp0LG1hcHBpbmdBdmFpbGFibGU6bCxkaXNhYmxlZDpvLHNhdmluZzpyLGRpcnR5Om4sb25DaGFuZ2U6YSxvblNhdmU6ZH0pe2NvbnN0IHA9eCgpLHU9Xy51c2VJZCgpLGg9aSE9PSIiJiYheihpKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjpwKCJjb2NrcGl0LnRpZXIudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnAoImNvY2twaXQudGllci50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46cCgiY29ja3BpdC50aWVyLnNjb3BlIix7dmFsdWU6Y30pfSksZS5qc3hzKCJmaWVsZHNldCIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLWdyb3VwIixkaXNhYmxlZDpvfHxyLGNoaWxkcmVuOltlLmpzeCgibGVnZW5kIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNyLW9ubHkiLGNoaWxkcmVuOnAoImNvY2twaXQudGllci50aXRsZSIpfSksUy5tYXAoaz0+e2NvbnN0IE49az09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/ImNvY2twaXQudGllci5jYXBpdGFsX25vdGUiOms9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkciPyJjb2NrcGl0LnRpZXIuYmFsYW5jZWRfbm90ZSI6ImNvY2twaXQudGllci5ncm93dGhfbm90ZSI7cmV0dXJuIGUuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImNvY2twaXQtdGllci1vcHRpb24iLGNoaWxkcmVuOltlLmpzeCgiaW5wdXQiLHt0eXBlOiJyYWRpbyIsbmFtZTpgJHt1fS10aWVyYCx2YWx1ZTprLGNoZWNrZWQ6aT09PWssImFyaWEtZGVzY3JpYmVkYnkiOmAke3V9LSR7a31gLG9uQ2hhbmdlOigpPT5hKGspfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpZXItbmFtZSIsY2hpbGRyZW46cChgY29ja3BpdC50aWVyLiR7az09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiI/ImNhcGl0YWwiOms9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkciPyJiYWxhbmNlZCI6Imdyb3d0aCJ9YCl9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW5vdGUiLGlkOmAke3V9LSR7a31gLGNoaWxkcmVuOnAoTil9KV19KV19LGspfSksZS5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW9wdGlvbiIsY2hpbGRyZW46W2UuanN4KCJpbnB1dCIse3R5cGU6InJhZGlvIixuYW1lOmAke3V9LXRpZXJgLHZhbHVlOiIiLGNoZWNrZWQ6aT09PSIiLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHt1fS11bnNldGAsb25DaGFuZ2U6KCk9PmEoIiIpfSksZS5qc3hzKCJzcGFuIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpZXItbmFtZSIsY2hpbGRyZW46cCgiY29ja3BpdC50aWVyLnVuc2V0Iil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC10aWVyLW5vdGUiLGlkOmAke3V9LXVuc2V0YCxjaGlsZHJlbjpwKCJjb2NrcGl0LnRpZXIudW5zZXRfbm90ZSIpfSldfSldfSldfSksaCYmZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46W3AoImNvY2twaXQudW5rbm93biIpLCI6ICIsaV19KSwhbCYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSBlcnJvciIscm9sZToic3RhdHVzIixjaGlsZHJlbjpwKCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC10b29sYmFyIixjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkgYnV0dG9uLXNtIixkaXNhYmxlZDpvfHxyfHwhbnx8IWwsb25DbGljazpkLGNoaWxkcmVuOnAoImNvY2twaXQudGllci5zYXZlIil9KSxlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpwKG4/ImNvY2twaXQudGllci5kaXJ0eSI6ImNvY2twaXQudGllci51bmNoYW5nZWQiKX0pLHQhPT1udWxsJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpwKCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIix7dmFsdWU6dH0pfSldfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOltwKCJjb2NrcGl0LmRlY2lzaW9uLnNlbGVjdGVkIiksIjogIixzPT09IiI/cCgiY29ja3BpdC50aWVyLnVuc2V0Iik6dihzLHApXX0pLCFsJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjpwKCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmVfbm90ZSIpfSldfSl9ZnVuY3Rpb24gSSh7dmFsdWU6Y30pe2NvbnN0IGk9eCgpO2lmKGMuc3RhdHVzIT09Imtub3duInx8Yy52YWx1ZT09PW51bGwpcmV0dXJuIGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXVua25vd24iLGNoaWxkcmVuOmkoImNvY2twaXQucG9saWN5LnVua25vd25fdmFsdWUiKX0pO2NvbnN0IHM9Yy51bml0PT09InBlcmNlbnQiP2koImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCIpOiIiO3JldHVybiBlLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbU3RyaW5nKGMudmFsdWUpLHNdfSl9ZnVuY3Rpb24gRih7YmluZGluZzpjLHN0YXR1czppPSJyZWFkeSIsb25SZXRyeTpzfSl7Y29uc3QgdD14KCksbD1qKCk7aWYoaT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goeSx7aGVpZ2h0Ojk2fSk7aWYoaT09PSJlcnJvciIpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5wb2xpY3kudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kucmVhZF9mYWlsZWQiKX0pLHMmJmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46dCgiY29tbW9uLnJldHJ5Iil9KV19KTtpZihpPT09Im5vdF9yZWFkeSJ8fCFjKXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnQoImNvY2twaXQucG9saWN5LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSBlcnJvciIscm9sZToic3RhdHVzIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KV19KTtjb25zdCBvPWMudGVtcG9yYXJ5X3Jlc3RyaWN0aW9uLHI9Yy5lZmZlY3RpdmVfb2JzZXJ2ZWRfYXQ/bShjLmVmZmVjdGl2ZV9vYnNlcnZlZF9hdCxsKTpudWxsLG49bz8udW50aWw/bShvLnVudGlsLGwpOm51bGw7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5wb2xpY3kudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LnRpdGxlIil9KSxlLmpzeHMoImRsIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2IixjaGlsZHJlbjpbZS5qc3goImR0Iix7Y2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kuc2VsZWN0ZWQiKX0pLGUuanN4cygiZGQiLHtjaGlsZHJlbjpbYy5zZWxlY3RlZF90aWVyP3YoYy5zZWxlY3RlZF90aWVyLHQpOnQoImNvY2twaXQudW5rbm93biIpLGMuc2VsZWN0aW9uX3JldmlzaW9uIT09bnVsbCYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpjLnNlbGVjdGlvbl9yZXZpc2lvbn0pXX0pXX0pLGUuanN4KCJkdCIse2NoaWxkcmVuOnQoImNvY2twaXQucG9saWN5LmFwcHJvdmVkIil9KSxlLmpzeCgiZGQiLHtjaGlsZHJlbjpjLmFwcHJvdmVkX3BvbGljeV9pZHx8Yy5hcHByb3ZlZF90aWVyP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbYy5hcHByb3ZlZF90aWVyJiZlLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W3YoYy5hcHByb3ZlZF90aWVyLHQpLCIgwrcgIl19KSxjLmFwcHJvdmVkX3BvbGljeV9pZHx8dCgiY29ja3BpdC51bmtub3duIiksYy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb24mJmUuanN4cygic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpbIiDCtyAiLHQoImNvY2twaXQucG9saWN5LnJldmlzaW9uIix7dmFsdWU6Yy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb259KV19KV19KTp0KCJjb2NrcGl0LnBvbGljeS5tYXBwaW5nX3VuYXZhaWxhYmxlIil9KSxlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmUiKX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmMuZWZmZWN0aXZlX3BvbGljeV9pZHx8Yy5lZmZlY3RpdmVfdGllcj9lLmpzeHMoZS5GcmFnbWVudCx7Y2hpbGRyZW46W2MuZWZmZWN0aXZlX3RpZXImJmUuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbdihjLmVmZmVjdGl2ZV90aWVyLHQpLCIgwrcgIl19KSxjLmVmZmVjdGl2ZV9wb2xpY3lfaWR8fHQoImNvY2twaXQudW5rbm93biIpLGMuZWZmZWN0aXZlX3BvbGljeV9yZXZpc2lvbiYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kucmV2aXNpb24iLHt2YWx1ZTpjLmVmZmVjdGl2ZV9wb2xpY3lfcmV2aXNpb259KV19KSxyJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46WyIgwrcgIix0KCJjb2NrcGl0LmFzX29mIix7dmFsdWU6ci50ZXh0fSldfSldfSk6dCgiY29ja3BpdC5wb2xpY3kubm90X29ic2VydmVkIil9KSxlLmpzeCgiZHQiLHtjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbiIpfSksZS5qc3goImRkIix7Y2hpbGRyZW46bz8uYWN0aXZlP2UuanN4cyhlLkZyYWdtZW50LHtjaGlsZHJlbjpbby5yZWFzb249PT0icmVkdWN0aW9uX29ubHkifHxvLnJlYXNvbj09PSJSZWR1Y3Rpb24gb25seSI/dCgiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnJlZHVjdGlvbl9vbmx5Iik6dCgiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnVua25vd24iKSxuJiZlLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46WyIgwrcgIix0KCJjb2NrcGl0LnBvbGljeS5zaW5jZSIse3ZhbHVlOm4udGV4dH0pXX0pXX0pOnQoImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uX25vbmUiKX0pXX0pLGUuanN4KCJoNCIse2NsYXNzTmFtZToiY29ja3BpdC1zdWJ0aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kudmFsdWVzIil9KSxjLnZhbHVlcy5sZW5ndGg9PT0wP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQucG9saWN5Lm5vX3ZhbHVlcyIpfSk6ZS5qc3hzKCJ0YWJsZSIse2NsYXNzTmFtZToiY29ja3BpdC10YWJsZSIsY2hpbGRyZW46W2UuanN4KCJ0aGVhZCIse2NoaWxkcmVuOmUuanN4cygidHIiLHtjaGlsZHJlbjpbZS5qc3goInRoIix7c2NvcGU6ImNvbCIsY2hpbGRyZW46dCgiY29ja3BpdC5wb2xpY3kudmFsdWVzIil9KSxlLmpzeCgidGgiLHtzY29wZToiY29sIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5zb3VyY2VfbGFiZWwiKX0pXX0pfSksZS5qc3goInRib2R5Iix7Y2hpbGRyZW46Yy52YWx1ZXMubWFwKGE9PmUuanN4cygidHIiLHsiZGF0YS1saW1pdC1rZXkiOmEua2V5LGNoaWxkcmVuOltlLmpzeCgidGgiLHtzY29wZToicm93IixjaGlsZHJlbjphLmxhYmVsX2tleT90KGEubGFiZWxfa2V5LHt9LGBjb2NrcGl0LnBvbGljeS5saW1pdC4ke2Eua2V5fWApOnQoYGNvY2twaXQucG9saWN5LmxpbWl0LiR7YS5rZXl9YCl9KSxlLmpzeHMoInRkIix7Y2hpbGRyZW46W2UuanN4KEkse3ZhbHVlOmF9KSxhLnNvdXJjZSYmZS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlsiIMK3ICIsdCgiY29ja3BpdC5wb2xpY3kuc291cmNlIix7dmFsdWU6dChgY29ja3BpdC5wb2xpY3kuc291cmNlLiR7YS5zb3VyY2V9YCl9KV19KV19KV19LGEua2V5KSl9KV19KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjp0KCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmVfbm90ZSIpfSldfSl9ZnVuY3Rpb24gTSh7YmluZGluZzpjfSl7Y29uc3QgaT14KCkscz1nLmluY2x1ZGVzKGMuYXV0aG9yaXplZF9zdGFnZSk/Yy5hdXRob3JpemVkX3N0YWdlOm51bGwsdD1nLmluY2x1ZGVzKGMuZWZmZWN0aXZlX3N0YWdlKT9jLmVmZmVjdGl2ZV9zdGFnZTpudWxsLGw9cz8/dCxvPXM/ImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6dD8iY29ja3BpdC5saWZlY3ljbGUuc3RlcC5lZmZlY3RpdmUiOiJjb2NrcGl0LmxpZmVjeWNsZS5zdGVwLnVuY29uZmlybWVkIixyPWw/Zy5pbmRleE9mKGwpOi0xLG49W3trZXk6ImNvY2twaXQubGlmZWN5Y2xlLmF4aXMucmVzZWFyY2giLHZhbHVlOmkoYGNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLiR7Yy5yZXNlYXJjaF9zdGFnZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hdXRob3JpemVkIix2YWx1ZTppKGBjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS4ke2MuYXV0aG9yaXplZF9zdGFnZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5lZmZlY3RpdmUiLHZhbHVlOmkoYGNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLiR7Yy5lZmZlY3RpdmVfc3RhZ2V9YCl9LHtrZXk6ImNvY2twaXQubGlmZWN5Y2xlLmF4aXMub3BlcmF0aW5nIix2YWx1ZTppKGBjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcuJHtjLm9wZXJhdGluZ19zdGF0ZX1gKX0se2tleToiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hcHBsaWNhdGlvbiIsdmFsdWU6aShgY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24uJHtjLmFwcGxpY2F0aW9uX3N0YXRlfWApfV07cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6aSgiY29ja3BpdC5saWZlY3ljbGUudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOmkoImNvY2twaXQubGlmZWN5Y2xlLnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjppKG8pfSksZS5qc3goIm9sIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXN0ZXBwZXIiLGNoaWxkcmVuOmcubWFwKChhLGQpPT57Y29uc3QgcD1yPj0wJiZkPT09cix1PXI+PTAmJmQ8cjtyZXR1cm4gZS5qc3hzKCJsaSIse2NsYXNzTmFtZTpgY29ja3BpdC1zdGVwJHtwPyIgYWN0aXZlIjoiIn0ke3U/IiBjb21wbGV0ZSI6IiJ9YCwiYXJpYS1jdXJyZW50IjpwPyJzdGVwIjp2b2lkIDAsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXN0ZXAtZG90IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLGUuanN4KCJzcGFuIix7Y2hpbGRyZW46aShgY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuJHthfWApfSldfSxhKX0pfSksbD09PW51bGwmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46aSgiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIil9KSxlLmpzeCgiZGwiLHtjbGFzc05hbWU6ImNvY2twaXQta3YiLGNoaWxkcmVuOm4ubWFwKGE9PmUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWt2LXBhaXIiLGNoaWxkcmVuOltlLmpzeCgiZHQiLHtjaGlsZHJlbjppKGEua2V5KX0pLGUuanN4KCJkZCIse2NoaWxkcmVuOmEudmFsdWV9KV19LGEua2V5KSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjppKCJjb2NrcGl0LmxpZmVjeWNsZS5ub3RlIil9KV19KX1mdW5jdGlvbiBPKGMsaSl7cmV0dXJuIGMucnVudGltZV9jb25maXJtZWRfYXQ/aSgiY29ja3BpdC5vcGVyYXRpb24uY29uZmlybWVkIik6Yy5zdGF0ZT09PSJwZW5kaW5nIj9jLmRpc3BhdGNoZWRfYXQ/aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbHlpbmciKTppKCJjb2NrcGl0Lm9wZXJhdGlvbi5hY2NlcHRlZCIpOmMuc3RhdGU9PT0iYXBwbHlpbmciP2koImNvY2twaXQub3BlcmF0aW9uLmFwcGx5aW5nIik6Yy5zdGF0ZT09PSJhcHBsaWVkIj9jLnJlYWRiYWNrX2F2YWlsYWJsZT09PSExP2koImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfbm9fcmVhZGJhY2siKTpjLnJlYWRiYWNrX2F2YWlsYWJsZT09PW51bGw/aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9yZWFkYmFja191bmtub3duIik6aSgiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF91bm9ic2VydmVkIik6Yy5zdGF0ZT09PSJyZWplY3RlZCI/aSgiY29ja3BpdC5vcGVyYXRpb24ucmVqZWN0ZWQiKTpjLnN0YXRlPT09ImZhaWxlZCI/aSgiY29ja3BpdC5vcGVyYXRpb24uZmFpbGVkIik6aSgiY29ja3BpdC5vcGVyYXRpb24udW5rbm93biIpfWZ1bmN0aW9uIFAoYyl7cmV0dXJuIGMucnVudGltZV9jb25maXJtZWRfYXQ/Im9rIjpjLnN0YXRlPT09InJlamVjdGVkInx8Yy5zdGF0ZT09PSJmYWlsZWQiPyJlcnJvciI6Yy5zdGF0ZT09PSJhcHBsaWVkInx8Yy5zdGF0ZT09PSJhcHBseWluZyJ8fGMuc3RhdGU9PT0icGVuZGluZyI/Indhcm4iOiJ1bmtub3duIn1mdW5jdGlvbiBHKHtvcGVyYXRpb246YyxzdGF0dXM6aSxvblJlZnJlc2g6c30pe2NvbnN0IHQ9eCgpLGw9aigpO2lmKGk9PT0ibG9hZGluZyIpcmV0dXJuIGUuanN4KHkse2hlaWdodDo3Mn0pO2lmKGk9PT0ibm90X3JlYWR5IilyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLHJvbGU6InN0YXR1cyIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24ubm90X3JlYWR5Iil9KV19KTtpZihpPT09ImVycm9yIilyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWFkX2ZhaWxlZCIpfSkscyYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6cyxjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWZyZXNoIil9KV19KTtpZighYylyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLm5vbmUiKX0pXX0pO2NvbnN0IG89Yy5zdGF0ZT09PSJhcHBsaWVkInx8ISFjLnJ1bnRpbWVfY29uZmlybWVkX2F0LHI9ISFjLnJ1bnRpbWVfY29uZmlybWVkX2F0LG49Yy5zdGF0ZT09PSJyZWplY3RlZCJ8fGMuc3RhdGU9PT0iZmFpbGVkIixhPW8mJmMucmVhZGJhY2tfYXZhaWxhYmxlPT09ITEsZD1rPT50KGBjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS4ke2t9YCkscD1be2xhYmVsOnQoImNvY2twaXQub3BlcmF0aW9uLmRlY2lzaW9uIiksc3RhdGU6ImNvbXBsZXRlIixkZXRhaWw6ZCgiY29tcGxldGUiKX0se2xhYmVsOnQoImNvY2twaXQub3BlcmF0aW9uLmFwcGxpY2F0aW9uIiksc3RhdGU6bj8iZmFpbGVkIjpyfHxvPyJjb21wbGV0ZSI6ImFjdGl2ZSIsZGV0YWlsOmQobj8iZmFpbGVkIjpyfHxvPyJjb21wbGV0ZSI6ImFjdGl2ZSIpfSx7bGFiZWw6dCgiY29ja3BpdC5vcGVyYXRpb24ub2JzZXJ2YXRpb24iKSxzdGF0ZTpyPyJjb21wbGV0ZSI6YT8idW5hdmFpbGFibGUiOm8/ImFjdGl2ZSI6ImlkbGUiLGRldGFpbDpkKHI/ImNvbXBsZXRlIjphPyJ1bmF2YWlsYWJsZSI6bz8iYWN0aXZlIjoiaWRsZSIpfV0sdT1jLmFwcGxpZWRfYXQ/P2MucnVudGltZV9jb25maXJtZWRfYXQ/P2MuZGlzcGF0Y2hlZF9hdD8/Yy5yZWNvcmRlZF9hdCxoPXU/bSh1LGwpOm51bGw7cmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5vcGVyYXRpb24udGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLnRpdGxlIil9KSxlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1iYWRnZXMiLGNoaWxkcmVuOltlLmpzeChmLHt0b25lOlAoYyksY2hpbGRyZW46TyhjLHQpfSksaCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46dCgiY29ja3BpdC5hc19vZiIse3ZhbHVlOmguem9uZT9gJHtoLnRleHR9ICgke2guem9uZX0pYDpoLnRleHR9KX0pXX0pLGUuanN4KCJvbCIse2NsYXNzTmFtZToiY29ja3BpdC1zdGFnZXMiLGNoaWxkcmVuOnAubWFwKGs9PmUuanN4cygibGkiLHtjbGFzc05hbWU6ImNvY2twaXQtc3RhZ2UiLCJkYXRhLXN0YXRlIjprLnN0YXRlLGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1zdGFnZS1uYW1lIixjaGlsZHJlbjprLmxhYmVsfSksZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtc3RhZ2UtZGV0YWlsIixjaGlsZHJlbjprLmRldGFpbH0pXX0say5sYWJlbCkpfSksKGMuZmFpbHVyZV9yZWFzb258fGMudW5rbm93bl9yZWFzb24pJiZlLmpzeCgicCIse2NsYXNzTmFtZTpgY29ja3BpdC1ub3RlICR7bj8iZXJyb3IiOiIifWAscm9sZToic3RhdHVzIixjaGlsZHJlbjpUKGMuZmFpbHVyZV9yZWFzb258fGMudW5rbm93bl9yZWFzb258fCIiLHQpfSksYy5zdGF0ZT09PSJ1bmtub3duIiYmZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5ub19yZXRyeSIpfSksZS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWRldGFpbHMiLGNoaWxkcmVuOltlLmpzeCgic3VtbWFyeSIse2NoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLmlkIix7dmFsdWU6Yy5vcGVyYXRpb25faWR8fHQoImNvY2twaXQudW5rbm93biIpfSl9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZXF1ZXN0Iix7dmFsdWU6Yy5yZXF1ZXN0X2lkfHx0KCJjb2NrcGl0LnVua25vd24iKX0pfSksYy5kZWNpc2lvbl9yZXZpc2lvbiE9PW51bGwmJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQub3BlcmF0aW9uLnJldmlzaW9uIix7dmFsdWU6Yy5kZWNpc2lvbl9yZXZpc2lvbn0pfSldfSkscyYmZS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20iLG9uQ2xpY2s6cyxjaGlsZHJlbjp0KCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWZyZXNoIil9KV19KX1mdW5jdGlvbiBVKHtldmVudHM6YyxzdGF0dXM6aSxoYXNNb3JlOnM9ITEsbG9hZGluZ01vcmU6dD0hMSxvbk1vcmU6bH0pe2NvbnN0IG89eCgpLHI9aigpO3JldHVybiBpPT09ImxvYWRpbmciP2UuanN4KHkse2hlaWdodDo5Nn0pOmk9PT0ibm90X3JlYWR5Ij9lLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cudW5hdmFpbGFibGUiKX0pOmk9PT0iZXJyb3IiP2UuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUgZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cubG9hZF9mYWlsZWQiKX0pOiFjfHxjLmxlbmd0aD09PTA/ZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46bygiY29ja3BpdC5jaGFuZ2VfbG9nLmVtcHR5Iil9KTplLmpzeHMoImRpdiIse2NsYXNzTmFtZToiY29ja3BpdC1jaGFuZ2UtbG9nIixjaGlsZHJlbjpbZS5qc3goIm9sIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXRpbWVsaW5lIixjaGlsZHJlbjpjLm1hcChuPT57Y29uc3QgYT1tKG4ub2NjdXJyZWRfYXQscik7cmV0dXJuIGUuanN4cygibGkiLHtjbGFzc05hbWU6ImNvY2twaXQtZXZlbnQiLCJkYXRhLWFjdGlvbiI6bi5hY3Rpb24sY2hpbGRyZW46W2UuanN4KCJ0aW1lIix7ZGF0ZVRpbWU6bi5vY2N1cnJlZF9hdCxjaGlsZHJlbjphLnpvbmU/YCR7YS50ZXh0fSAoJHthLnpvbmV9KWA6YS50ZXh0fSksZS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImNvY2twaXQtZXZlbnQtYm9keSIsY2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LWV2ZW50LWFjdGlvbiIsY2hpbGRyZW46byhgY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi4ke24uYWN0aW9ufWAse30sImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiKX0pLGUuanN4cygic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpbbi5hY3Rvcj9vKCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0b3IiLHt2YWx1ZTpuLmFjdG9yfSk6bygiY29ja3BpdC51bmtub3duIiksbi5vdXRjb21lJiZgIMK3ICR7bygiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUiLHt2YWx1ZTpvKGBjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS4ke24ub3V0Y29tZX1gLHt9LCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS51bmtub3duIil9KX1gXX0pLG4uc3ViamVjdCYmZS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsImRhdGEtc3ViamVjdC1raW5kIjpuLnN1YmplY3Qua2luZCxjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdCIse3ZhbHVlOmAke28oYGNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuJHtuLnN1YmplY3Qua2luZH1gLHt9LCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm90aGVyIil9JHtuLnN1YmplY3QuaWQ/YCDCtyAke24uc3ViamVjdC5pZH1gOiIifWB9KX0pLG4ucmV2aXNpb24hPT1udWxsJiZlLmpzeCgic3BhbiIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjpvKCJjb2NrcGl0LmNoYW5nZV9sb2cucmV2aXNpb24iLHt2YWx1ZTpuLnJldmlzaW9ufSl9KV19KV19LG4uZXZlbnRfaWQpfSl9KSxzJiZsJiZlLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsZGlzYWJsZWQ6dCxvbkNsaWNrOmwsY2hpbGRyZW46bygiY29ja3BpdC5jaGFuZ2VfbG9nLm1vcmUiKX0pXX0pfWZ1bmN0aW9uIEsoe2RpZ2VzdDpjLHN0YXR1czppPSJyZWFkeSIsb25SZXRyeTpzfSl7Y29uc3QgdD14KCksbD1qKCk7aWYoaT09PSJsb2FkaW5nIilyZXR1cm4gZS5qc3goeSx7aGVpZ2h0Ojk2fSk7aWYoaT09PSJlcnJvciIpcmV0dXJuIGUuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uIiwiYXJpYS1sYWJlbCI6dCgiY29ja3BpdC5kaWdlc3QudGl0bGUiKSxjaGlsZHJlbjpbZS5qc3goImgzIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24tdGl0bGUiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LnRpdGxlIil9KSxlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1ub3RlIGVycm9yIixyb2xlOiJhbGVydCIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QucmVhZF9mYWlsZWQiKX0pLHMmJmUuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOnMsY2hpbGRyZW46dCgiY29tbW9uLnJldHJ5Iil9KV19KTtpZihpPT09Im5vdF9yZWFkeSJ8fCFjKXJldHVybiBlLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbiIsImFyaWEtbGFiZWwiOnQoImNvY2twaXQuZGlnZXN0LnRpdGxlIiksY2hpbGRyZW46W2UuanN4KCJoMyIse2NsYXNzTmFtZToiY29ja3BpdC1zZWN0aW9uLXRpdGxlIixjaGlsZHJlbjp0KCJjb2NrcGl0LmRpZ2VzdC50aXRsZSIpfSksZS5qc3goInAiLHtjbGFzc05hbWU6ImNvY2twaXQtbWV0YSIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3Qubm9fZGF0YSIpfSldfSk7Y29uc3Qgbz1jLmRlbGl2ZXJ5X3N0YXRlPT09ImRlbGl2ZXJlZCI/Im9rIjpjLmRlbGl2ZXJ5X3N0YXRlPT09ImZhaWxlZCI/ImVycm9yIjpjLmRlbGl2ZXJ5X3N0YXRlPT09ImFjY2VwdGVkIj8id2FybiI6InVua25vd24iLHI9Yy5hY2NlcHRlZF9hdD9tKGMuYWNjZXB0ZWRfYXQsbCk6bnVsbCxuPWMuYWNrbm93bGVkZ2VkX2F0P20oYy5hY2tub3dsZWRnZWRfYXQsbCk6bnVsbCxhPWQ9PmQ9PT1udWxsP3QoImNvY2twaXQudW5rbm93biIpOlN0cmluZyhkKTtyZXR1cm4gZS5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJjb2NrcGl0LXNlY3Rpb24iLCJhcmlhLWxhYmVsIjp0KCJjb2NrcGl0LmRpZ2VzdC50aXRsZSIpLGNoaWxkcmVuOltlLmpzeCgiaDMiLHtjbGFzc05hbWU6ImNvY2twaXQtc2VjdGlvbi10aXRsZSIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QudGl0bGUiKX0pLGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJjb2NrcGl0LWJhZGdlcyIsY2hpbGRyZW46W2UuanN4KGYse3RvbmU6byxjaGlsZHJlbjp0KGBjb2NrcGl0LmRpZ2VzdC4ke2MuZGVsaXZlcnlfc3RhdGV9YCl9KSxjLmxlZ2FjeV9yZWNlaXB0cyYmZS5qc3goZix7dG9uZToidW5rbm93biIsY2hpbGRyZW46dCgiY29ja3BpdC5kaWdlc3QubGVnYWN5Iil9KV19KSwoYy5idXNpbmVzc19kYXl8fGMudGltZXpvbmUpJiZlLmpzeCgicCIse2NsYXNzTmFtZToiY29ja3BpdC1tZXRhIixjaGlsZHJlbjp0KCJjb2NrcGl0LmRpZ2VzdC53aW5kb3ciLHtkYXk6Yy5idXNpbmVzc19kYXl8fHQoImNvY2twaXQudW5rbm93biIpLHpvbmU6Yy50aW1lem9uZXx8dCgiY29ja3BpdC51bmtub3duIil9KX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LnRhcmdldHMiLHtleHBlY3RlZDphKGMuZXhwZWN0ZWRfdGFyZ2V0cyksY292ZXJlZDphKGMuY292ZXJlZF90YXJnZXRzKSx1bmF2YWlsYWJsZTphKGMudW5hdmFpbGFibGVfdGFyZ2V0cyl9KX0pLHImJmUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0LmFjY2VwdGVkX2F0Iix7dmFsdWU6ci56b25lP2Ake3IudGV4dH0gKCR7ci56b25lfSlgOnIudGV4dH0pfSksZS5qc3hzKCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOlt0KCJjb2NrcGl0LmRpZ2VzdC5hY2siKSwiOiAiLG4/dCgiY29ja3BpdC5kaWdlc3QuYWNrX2F0Iix7dmFsdWU6bi56b25lP2Ake24udGV4dH0gKCR7bi56b25lfSlgOm4udGV4dH0pOnQoImNvY2twaXQuZGlnZXN0LmFja191bmtub3duIildfSksYy50YXJnZXRzLmxlbmd0aD4wJiZlLmpzeCgidWwiLHtjbGFzc05hbWU6ImNvY2twaXQtdGFyZ2V0cyIsY2hpbGRyZW46Yy50YXJnZXRzLm1hcChkPT5lLmpzeHMoImxpIix7Y2hpbGRyZW46W2UuanN4KCJzcGFuIix7Y2hpbGRyZW46ZC5sYWJlbH0pLGUuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW1ldGEiLGNoaWxkcmVuOmQua25vd24/IuKckyI6dCgiY29ja3BpdC51bmtub3duIil9KV19LGQubGFiZWwpKX0pLGUuanN4KCJwIix7Y2xhc3NOYW1lOiJjb2NrcGl0LW5vdGUiLGNoaWxkcmVuOnQoImNvY2twaXQuZGlnZXN0Lm5vdGUiKX0pXX0pfWV4cG9ydHtVIGFzIEEsSyBhcyBELEwgYXMgRSxFIGFzIEYsTSBhcyBMLEIgYXMgUixSIGFzIGEsRyBhcyBiLEYgYXMgYyxxIGFzIHIsdiBhcyB0fTsK" }, "/v2/assets/cockpit-DEzUzY4W.css": { contentType: "text/css; charset=utf-8", base64: "LmNvY2twaXQtc2VjdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7Z2FwOjEycHg7cGFkZGluZzoyMHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW0pO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1kZWZhdWx0KX0uY29ja3BpdC1zZWN0aW9uLXRpdGxle21hcmdpbjowO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jb2NrcGl0LXN1YnRpdGxle21hcmdpbjo0cHggMCAwO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNvY2twaXQtbWV0YXttYXJnaW46MDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uY29ja3BpdC1ub3Rle21hcmdpbjowO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNvY2twaXQtbm90ZS5lcnJvcntjb2xvcjp2YXIoLS1zdGF0dXMtYmxvY2tlZCl9LmNvY2twaXQtdW5rbm93bntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uY29ja3BpdC1zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAgMCAwIDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXI6MH0uY29ja3BpdC1iYWRnZXMsLmNvY2twaXQtZnJlc2huZXNzLC5jb2NrcGl0LWRlY2lzaW9uLXN1cHBvcnR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4fS5jb2NrcGl0LWJhZGdlcz4uYmFkZ2V7bWF4LXdpZHRoOjEwMCU7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmNvY2twaXQta3Z7ZGlzcGxheTpncmlkO2dhcDo4cHg7bWFyZ2luOjB9LmNvY2twaXQta3YtcGFpcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgxMjBweCwxODBweCkgbWlubWF4KDAsMWZyKTtnYXA6MTJweH0uY29ja3BpdC1rdiBkdHtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uY29ja3BpdC1rdiBkZHttYXJnaW46MDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmNvY2twaXQtdG9vbGJhcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHh9LmNvY2twaXQtZGV0YWlsc3tmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNvY2twaXQtZGV0YWlscyBzdW1tYXJ5e2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jb2NrcGl0LWRldGFpbHMgY29kZXtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uY29ja3BpdC1leHBpcnl7ZGlzcGxheTpncmlkO2dhcDo0cHg7bWFyZ2luOjA7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWJvcmRlci1jb250cm9sKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2Utc3VidGxlKX0uY29ja3BpdC1leHBpcnlbZGF0YS1zdGF0ZT11bmRlcl9maXZlXSwuY29ja3BpdC1leHBpcnlbZGF0YS1zdGF0ZT11bmRlcl9ob3VyXXtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1zdGF0dXMtYXR0ZW50aW9uKTtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1hdHRlbnRpb24tYmcpfS5jb2NrcGl0LWV4cGlyeVtkYXRhLXN0YXRlPWV4cGlyZWRde2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLXN0YXR1cy1ibG9ja2VkKTtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1ibG9ja2VkLWJnKX0uY29ja3BpdC1leHBpcnlbZGF0YS1zdGF0ZT11bmtub3duXXtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1zdGF0dXMtdW5rbm93bil9LmNvY2twaXQtZXhwaXJ5LWxpbmV7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7bWFyZ2luOjA7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uY29ja3BpdC1leHBpcnktcmVtYWluaW5ne2ZvbnQtd2VpZ2h0OjYwMH0uY29ja3BpdC1leHBpcnktdXRje2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jb2NrcGl0LXRpZXItZ3JvdXB7ZGlzcGxheTpncmlkO2dhcDo4cHg7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowfS5jb2NrcGl0LXRpZXItb3B0aW9ue2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6MTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtjdXJzb3I6cG9pbnRlcn0uY29ja3BpdC10aWVyLW9wdGlvbjpoYXMoaW5wdXQ6Y2hlY2tlZCl7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zdXJmYWNlKX0uY29ja3BpdC10aWVyLW9wdGlvbjpoYXMoaW5wdXQ6ZGlzYWJsZWQpe2N1cnNvcjpub3QtYWxsb3dlZH0uY29ja3BpdC10aWVyLW9wdGlvbiBpbnB1dHttYXJnaW4tdG9wOjNweDthY2NlbnQtY29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5jb2NrcGl0LXRpZXItbmFtZXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jb2NrcGl0LXRpZXItbm90ZXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jb2NrcGl0LXRhYmxle3dpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtc2l6ZToxM3B4fS5jb2NrcGl0LXRhYmxlIHRoLC5jb2NrcGl0LXRhYmxlIHRke3BhZGRpbmc6OHB4IDEwcHg7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmNvY2twaXQtdGFibGUgdGhlYWQgdGh7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jb2NrcGl0LXRhYmxlIHRib2R5IHRoe2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmNvY2twaXQtc3RlcHBlcntkaXNwbGF5OmZsZXg7Z2FwOjRweDttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS5jb2NrcGl0LXN0ZXB7ZGlzcGxheTpmbGV4O2ZsZXg6MSAxIDA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWluLXdpZHRoOjA7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1YnRsZSk7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmNvY2twaXQtc3RlcC1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7ZmxleDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLWNvbnRyb2wpfS5jb2NrcGl0LXN0ZXAuY29tcGxldGUgLmNvY2twaXQtc3RlcC1kb3R7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtdmVyaWZpZWQpfS5jb2NrcGl0LXN0ZXAuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LXN1cmZhY2UpO2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKTtmb250LXdlaWdodDo2MDB9LmNvY2twaXQtc3RlcC5hY3RpdmUgLmNvY2twaXQtc3RlcC1kb3R7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmNvY2twaXQtc3RhZ2Vze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9LmNvY2twaXQtc3RhZ2V7ZmxleDoxIDEgMDtwYWRkaW5nOjhweDtib3JkZXItdG9wOjNweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmNvY2twaXQtc3RhZ2UtbmFtZXtkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uY29ja3BpdC1zdGFnZS1kZXRhaWx7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjJweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uY29ja3BpdC1zdGFnZVtkYXRhLXN0YXRlPXVuYXZhaWxhYmxlXXtib3JkZXItdG9wLXN0eWxlOmRhc2hlZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLWJvcmRlci1jb250cm9sKX0uY29ja3BpdC1zdGFnZVtkYXRhLXN0YXRlPWFjdGl2ZV17Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1zdGF0dXMtYXR0ZW50aW9uKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jb2NrcGl0LXN0YWdlW2RhdGEtc3RhdGU9Y29tcGxldGVde2JvcmRlci10b3AtY29sb3I6dmFyKC0tc3RhdHVzLXZlcmlmaWVkKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jb2NrcGl0LXN0YWdlW2RhdGEtc3RhdGU9ZmFpbGVkXXtib3JkZXItdG9wLWNvbG9yOnZhcigtLXN0YXR1cy1ibG9ja2VkKTtjb2xvcjp2YXIoLS1zdGF0dXMtYmxvY2tlZCl9LmNvY2twaXQtY2hhbmdlLWxvZ3tkaXNwbGF5OmdyaWQ7Z2FwOjEycHh9LmNvY2twaXQtdGltZWxpbmV7ZGlzcGxheTpncmlkO2dhcDowO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9LmNvY2twaXQtZXZlbnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTMwcHgsMTgwcHgpIG1pbm1heCgwLDFmcik7Z2FwOjEycHg7cGFkZGluZzoxMHB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLWRpdmlkZXIpfS5jb2NrcGl0LWV2ZW50IHRpbWV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmNvY2twaXQtZXZlbnQtYm9keXtkaXNwbGF5OmdyaWQ7Z2FwOjJweH0uY29ja3BpdC1ldmVudC1hY3Rpb257Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmNvY2twaXQtdGFyZ2V0c3tkaXNwbGF5OmdyaWQ7Z2FwOjRweDttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS5jb2NrcGl0LXRhcmdldHMgbGl7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4O2ZvbnQtc2l6ZToxMnB4fS5jb2NrcGl0LWRlY2lzaW9ue2Rpc3BsYXk6Z3JpZDtnYXA6MTJweDtwYWRkaW5nOjIwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWRlZmF1bHQpfS5jb2NrcGl0LWRlY2lzaW9uLnNlbGVjdGVke2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmNvY2twaXQtZGVjaXNpb24tdGl0bGV7bWFyZ2luOjA7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMzU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uY29ja3BpdC1ibG9ja2Vyc3ttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MThweDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1zdGF0dXMtYmxvY2tlZCl9LmNvY2twaXQtc3RyaXB7cG9zaXRpb246c3RpY2t5O3RvcDo2NHB4O3otaW5kZXg6MjA7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4IDEycHg7cGFkZGluZzoxMHB4IDE2cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWRlZmF1bHQpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KX0uY29ja3BpdC1zdHJpcFtkYXRhLXN0YXRlPXVua25vd25de2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtYmxvY2tlZCk7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtYmxvY2tlZC1iZyl9LmNvY2twaXQtc3RyaXAtdGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmNvY2twaXQtc3RyaXAtc3ViamVjdHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmNvY2twaXQtc3RyaXAtYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW4tbGVmdDphdXRvfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5jb2NrcGl0LXNlY3Rpb24sLmNvY2twaXQtZGVjaXNpb257cGFkZGluZzoxNnB4fS5jb2NrcGl0LWt2LXBhaXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MnB4fS5jb2NrcGl0LXN0ZXBwZXJ7ZmxleC13cmFwOndyYXB9LmNvY2twaXQtc3RlcHtmbGV4OjEgMSA0NSV9LmNvY2twaXQtZXZlbnR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6NHB4fS5jb2NrcGl0LXN0cmlwe3RvcDo1NnB4fS5jb2NrcGl0LXN0cmlwLWFjdGlvbnN7bWFyZ2luLWxlZnQ6MDt3aWR0aDoxMDAlfX0K" }, - "/v2/assets/helpers-XIIGL0J9.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgdyxqIGFzIG8sQiBhcyBqLCQgYXMgTyxhZCBhcyBrfWZyb20iLi9pbmRleC1DNGN3T19Qai5qcyI7aW1wb3J0e1IgYXMgU31mcm9tIi4vcnVudGltZV9kYWlseV9jb250cmFjdC14VzQzbVpRWS5qcyI7ZnVuY3Rpb24gUChlKXtjb25zdCBhPXt9O09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywic3RyYXRlZ3lfcHJvZmlsZSIpJiYoYS5zdHJhdGVneV9wcm9maWxlPWUub3ZlcnJpZGVzLnN0cmF0ZWd5X3Byb2ZpbGU/P251bGwpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywiZGNhX21vZGUiKSYmKGEuZGNhX21vZGU9ZS5vdmVycmlkZXMuZGNhX21vZGU/P251bGwpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywiZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiKSYmKGEuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q9ZS5vdmVycmlkZXMuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2Q/P251bGwpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywiaW5jb21lX2xheWVyX2VuYWJsZWQiKSYmKGEuaW5jb21lX2xheWVyX2VuYWJsZWQ9ZS5vdmVycmlkZXMuaW5jb21lX2xheWVyX2VuYWJsZWQ/P251bGwpLGUub3ZlcnJpZGVzLm9wdGlvbl9vdmVybGF5X2VuYWJsZWQ9PT1udWxsJiYoYS5vcHRpb25fb3ZlcmxheV9lbmFibGVkPW51bGwpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywicmVzZXJ2ZWRfY2FzaF9mbG9vciIpJiYoYS5yZXNlcnZlZF9jYXNoX2Zsb29yPWUub3ZlcnJpZGVzLnJlc2VydmVkX2Nhc2hfZmxvb3I/P251bGwpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLm92ZXJyaWRlcywicmVzZXJ2ZWRfY2FzaF9yYXRpbyIpJiYoYS5yZXNlcnZlZF9jYXNoX3JhdGlvPWUub3ZlcnJpZGVzLnJlc2VydmVkX2Nhc2hfcmF0aW8/P251bGwpO2NvbnN0IGk9e2V4cGVjdGVkX2RyYWZ0X3JldmlzaW9uOmUuZXhwZWN0ZWREcmFmdFJldmlzaW9uLGlkZW50aXR5OmUuaWRlbnRpdHksb3ZlcnJpZGVzOmF9O3JldHVybiBlLmFja25vd2xlZGdlSWRlbnRpdHlDb25mbGljdCYmKGkuYWNrbm93bGVkZ2VfaWRlbnRpdHlfY29uZmxpY3Q9ITApLGl9ZnVuY3Rpb24gRyhlLGEpe2NvbnN0IGk9ZS5jYW5kaWRhdGVfZXZpZGVuY2Vfc2hhMjU2fHxlLm93bmVyX2RlY2lzaW9uPy5jYW5kaWRhdGVfZXZpZGVuY2Vfc2hhMjU2O3JldHVybiFlLmNhbmRpZGF0ZV9pZHx8IS9eW2EtZjAtOV17NjR9JC8udGVzdChTdHJpbmcoaXx8IiIpKXx8IVsiYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Iiwia2VlcF9wYXJrZWQiXS5pbmNsdWRlcyhhKT9udWxsOntjYW5kaWRhdGVfaWQ6ZS5jYW5kaWRhdGVfaWQsY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1NjppLGRlY2lzaW9uOmF9fWZ1bmN0aW9uIHooZSxhPSJhcHByb3ZlIil7Y29uc3QgaT1lPy5yZWNvdmVyeXx8e307cmV0dXJuIGEhPT0iYXBwcm92ZSImJmEhPT0icmVqZWN0Inx8aS5tb2RlIT09ImluaXRpYWxfZW5yb2xsbWVudCJ8fGUuZnJlc2huZXNzPy5kYXRhX3N0YXR1cyE9PSJyZWFkeSJ8fGUuY29uZmlybWF0aW9ufHxlLnJlamVjdGlvbnx8aS5yZWFkaW5lc3MhPT0iYXdhaXRpbmdfaHVtYW5fY29uZmlybWF0aW9uInx8IUFycmF5LmlzQXJyYXkoaS5ibG9ja2VyX2NvZGVzKXx8aS5ibG9ja2VyX2NvZGVzLmxlbmd0aHx8dHlwZW9mIGkucmVjb3ZlcnlfaWQhPSJzdHJpbmcifHwhaS5yZWNvdmVyeV9pZHx8IS9eW2EtZjAtOV17NjR9JC8udGVzdChTdHJpbmcoaS5jYW5kaWRhdGVfc2hhMjU2fHwiIikpfHwhL15bYS1mMC05XXs2NH0kLy50ZXN0KFN0cmluZyhpLmZhY3RzX3NoYTI1Nnx8IiIpKT9udWxsOnttb2RlOiJpbml0aWFsX2Vucm9sbG1lbnQiLGRlY2lzaW9uOmEscmVjb3ZlcnlfaWQ6aS5yZWNvdmVyeV9pZCxjYW5kaWRhdGVfc2hhMjU2OmkuY2FuZGlkYXRlX3NoYTI1NixmYWN0c19zaGEyNTY6aS5mYWN0c19zaGEyNTZ9fWZ1bmN0aW9uIEIoZSxhPSJhcHByb3ZlIil7aWYoZT8ucmVjb3Zlcnk/Lm1vZGU9PT0iaW5pdGlhbF9lbnJvbGxtZW50IilyZXR1cm4geihlLGEpO2NvbnN0IGk9ZS5yZWNvdmVyeXx8e307cmV0dXJuIGEhPT0iYXBwcm92ZSImJmEhPT0icmVqZWN0Inx8ZS5mcmVzaG5lc3M/LmRhdGFfc3RhdHVzIT09InJlYWR5Inx8ZS5jb25maXJtYXRpb258fGUucmVqZWN0aW9ufHxpLnJlYWRpbmVzcyE9PSJhd2FpdGluZ19odW1hbl9jb25maXJtYXRpb24ifHwhQXJyYXkuaXNBcnJheShpLmJsb2NrZXJfY29kZXMpfHxpLmJsb2NrZXJfY29kZXMubGVuZ3RofHwhL15bYS1mMC05XXs2NH0kLy50ZXN0KFN0cmluZyhpLmNhbmRpZGF0ZV9zaGEyNTZ8fCIiKSl8fGkuZHVhbF9yZXZpZXc/LmV2aWRlbmNlX2JpbmRpbmdfc2hhMjU2IT09aS5jYW5kaWRhdGVfc2hhMjU2P251bGw6e2RlY2lzaW9uOmEscmVjb3ZlcnlfaWQ6aS5yZWNvdmVyeV9pZCxjYW5kaWRhdGVfc2hhMjU2OmkuY2FuZGlkYXRlX3NoYTI1NixkdWFsX3Jldmlld19iaW5kaW5nX3NoYTI1NjppLmR1YWxfcmV2aWV3LmV2aWRlbmNlX2JpbmRpbmdfc2hhMjU2fX1mdW5jdGlvbiBRKCl7Y29uc3QgZT1uZXcgU2V0O3JldHVybnthY3F1aXJlKGEpe3JldHVybiBlLmhhcyhhKT8hMTooZS5hZGQoYSksITApfSxyZWxlYXNlKGEpe2UuZGVsZXRlKGEpfSxpc0xvY2tlZChhKXtyZXR1cm4gZS5oYXMoYSl9LGhhc0FueShhKXtyZXR1cm4gYS5zb21lKGk9PmUuaGFzKGkpKX0saGFzQW55V2l0aFByZWZpeGVzKGEpe3JldHVyblsuLi5lXS5zb21lKGk9PmEuc29tZShuPT5pLnN0YXJ0c1dpdGgobikpKX0sY2xlYXIoKXtlLmNsZWFyKCl9fX1mdW5jdGlvbiBDKGUpe3JldHVybiBlP2Uuc3RhdHVzPT09InJlamVjdGVkIjohMH1jb25zdCBiPS9eWzAtOWEtZl17NjR9JC8sZj1lPT4hIShlJiZ0eXBlb2YgZT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGUpKTtmdW5jdGlvbiB1KGUpe2lmKGU9PT1udWxsfHx0eXBlb2YgZT09InN0cmluZyJ8fHR5cGVvZiBlPT0iYm9vbGVhbiJ8fHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBKU09OLnN0cmluZ2lmeShlKTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybmBbJHtlLm1hcCh1KS5qb2luKCIsIil9XWA7aWYoIWYoZSkpdGhyb3cgbmV3IEVycm9yKCJodW1hbl9kZWNpc2lvbl9tYXRlcmlhbF9pbnZhbGlkIik7cmV0dXJuYHske09iamVjdC5rZXlzKGUpLnNvcnQoKS5tYXAoYT0+YCR7SlNPTi5zdHJpbmdpZnkoYSl9OiR7dShlW2FdKX1gKS5qb2luKCIsIil9fWB9YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCBhPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodShlKSkpO3JldHVyblsuLi5uZXcgVWludDhBcnJheShhKV0ubWFwKGk9PmkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiIil9ZnVuY3Rpb24gVChlKXtjb25zdCBhPWU/LmRlY2lzaW9uX2JpbmRpbmc7cmV0dXJuIGE/LmtpbmQ9PT0icHJvbW90aW9uIiYmYS5zdWJqZWN0X2lkPT09ZS50aWNrZXRfaWQmJnR5cGVvZiBhLm1hdGVyaWFsX3NoYTI1Nj09InN0cmluZyImJmIudGVzdChhLm1hdGVyaWFsX3NoYTI1NikmJihhLnJldmlld19iaW5kaW5nPT1udWxsfHxhLnJldmlld19iaW5kaW5nLnNjaGVtYV92ZXJzaW9uPT09InFzbF9wcm9tb3Rpb25fcmV2aWV3X2JpbmRpbmcudjIiJiZ0eXBlb2YgYS5yZXZpZXdfYmluZGluZy5yZXZpZXdfc2hhMjU2PT0ic3RyaW5nIiYmYi50ZXN0KGEucmV2aWV3X2JpbmRpbmcucmV2aWV3X3NoYTI1NikpfWZ1bmN0aW9uIEgoZSxhKXtpZighZihlKXx8ZS5raW5kIT09YS5raW5kfHxlLnN1YmplY3RfaWQhPT1hLnN1YmplY3RfaWR8fGUubWF0ZXJpYWxfc2hhMjU2IT09YS5tYXRlcmlhbF9zaGEyNTYpcmV0dXJuITE7Y29uc3QgaT1lLnJldmlld19iaW5kaW5nO3JldHVybiBhLnJldmlld19zaGEyNTY9PT1udWxsP2k9PW51bGw6ZihpKSYmaS5zY2hlbWFfdmVyc2lvbj09PSJxc2xfcHJvbW90aW9uX3Jldmlld19iaW5kaW5nLnYyIiYmaS5yZXZpZXdfc2hhMjU2PT09YS5yZXZpZXdfc2hhMjU2fWFzeW5jIGZ1bmN0aW9uIE0oZSxhLGkpe3RyeXtjb25zdCBuPWE/LmRlY2lzaW9uX2JpbmRpbmc7bGV0IGwscixfLHQ9bnVsbDtpZihlPT09Im93bmVyIil7aWYobD1pLmNhbmRpZGF0ZV9pZCxyPW51bGwsXz17ZGVjaXNpb246aS5kZWNpc2lvbn0sIVsiYXBwcm92ZV9saW1pdGVkX2xpdmVfY2FuYXJ5Iiwia2VlcF9wYXJrZWQiXS5pbmNsdWRlcyhpLmRlY2lzaW9uKXx8YS5jYW5kaWRhdGU/LmNhbmRpZGF0ZV9pZCE9PWx8fGEuY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1NiE9PWkuY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1NilyZXR1cm4gbnVsbH1lbHNlIGlmKGU9PT0icmVjb3ZlcnkiKXtpZihsPWkucmVjb3ZlcnlfaWQsIVsiYXBwcm92ZSIsInJlamVjdCJdLmluY2x1ZGVzKGkuZGVjaXNpb24pfHxhLnJlY292ZXJ5Py5yZWNvdmVyeV9pZCE9PWx8fGEucmVjb3ZlcnkuY2FuZGlkYXRlX3NoYTI1NiE9PWkuY2FuZGlkYXRlX3NoYTI1NilyZXR1cm4gbnVsbDtpZihpLm1vZGU9PT0iaW5pdGlhbF9lbnJvbGxtZW50Iil7aWYoYS5yZWNvdmVyeS5tb2RlIT09ImluaXRpYWxfZW5yb2xsbWVudCJ8fGEucmVjb3ZlcnkuZmFjdHNfc2hhMjU2IT09aS5mYWN0c19zaGEyNTZ8fHR5cGVvZiBpLmZhY3RzX3NoYTI1NiE9InN0cmluZyJ8fCFiLnRlc3QoaS5mYWN0c19zaGEyNTYpKXJldHVybiBudWxsO3I9e21vZGU6ImluaXRpYWxfZW5yb2xsbWVudCIscmVjb3ZlcnlfaWQ6bCxjYW5kaWRhdGVfc2hhMjU2OmkuY2FuZGlkYXRlX3NoYTI1NixmYWN0c19zaGEyNTY6aS5mYWN0c19zaGEyNTZ9fWVsc2V7aWYoYS5yZWNvdmVyeS5kdWFsX3Jldmlldz8uZXZpZGVuY2VfYmluZGluZ19zaGEyNTYhPT1pLmR1YWxfcmV2aWV3X2JpbmRpbmdfc2hhMjU2KXJldHVybiBudWxsO3I9e3JlY292ZXJ5X2lkOmwsY2FuZGlkYXRlX3NoYTI1NjppLmNhbmRpZGF0ZV9zaGEyNTYsZHVhbF9yZXZpZXdfYmluZGluZ19zaGEyNTY6aS5kdWFsX3Jldmlld19iaW5kaW5nX3NoYTI1Nn19Xz17ZGVjaXNpb246aS5kZWNpc2lvbn19ZWxzZXtpZihsPWkudGlja2V0X2lkLCFUKGEpfHxhLnRpY2tldF9pZCE9PWx8fCFbImFjY2VwdCIsInJlamVjdCJdLmluY2x1ZGVzKGkuZGVjaXNpb24pKXJldHVybiBudWxsO2lmKHI9T2JqZWN0LmZyb21FbnRyaWVzKFsidGlja2V0X2lkIiwic3RyYXRlZ3lfcHJvZmlsZSIsImRvbWFpbiIsInByb3Bvc2VkX3BhcmFtcyIsInNoYWRvd19wYXNzZWQiLCJzaGFkb3dfZXZpZGVuY2Vfa2luZCJdLm1hcChtPT5bbSxhW21dXSkpLG4ucmV2aWV3X2JpbmRpbmchPW51bGwpe2NvbnN0IG09e3NjaGVtYV92ZXJzaW9uOiJxc2xfcHJvbW90aW9uX3Jldmlld19tYXRlcmlhbC52MiIsLi4uciwuLi5PYmplY3QuZnJvbUVudHJpZXMoWyJkcmlmdF9zdGF0dXMiLCJkcmlmdF9zY29yZSIsImJ1ZGdldCIsInNlYXJjaF9pdGVyYXRpb25zIiwic3VnZ2VzdGVkX3Jpc2tfcHJvZmlsZSIsIm5vdGlmaWNhdGlvbl9zdWJqZWN0Iiwibm90aWZpY2F0aW9uX2JvZHkiLCJub3RlcyJdLm1hcChwPT5bcCxhW3BdXSkpLHJlc2VhcmNoX3N1bW1hcnk6YS5yZXNlYXJjaF9zdW1tYXJ5fHxudWxsfTtpZih0PWF3YWl0IHkobSksdCE9PW4ucmV2aWV3X2JpbmRpbmcucmV2aWV3X3NoYTI1NilyZXR1cm4gbnVsbH1jb25zdCBjPWkuc2VsZWN0ZWRfYWNjb3VudD8/bnVsbCxkPWkuY29uZmlybWF0aW9uPz9udWxsO2lmKGkuZGVjaXNpb249PT0iYWNjZXB0IiYmKCFmKGMpfHwhZihkKXx8Yy5wbGF0Zm9ybSE9PWQudGFyZ2V0X3BsYXRmb3JtKSlyZXR1cm4gbnVsbDtfPXtzZWxlY3RlZF9hY2NvdW50OmMsY29uZmlybWF0aW9uOmR9fWNvbnN0IHM9ZT09PSJvd25lciI/aS5jYW5kaWRhdGVfZXZpZGVuY2Vfc2hhMjU2OmF3YWl0IHkocik7cmV0dXJuIHR5cGVvZiBsIT0ic3RyaW5nInx8IWx8fHR5cGVvZiBzIT0ic3RyaW5nInx8IWIudGVzdChzKXx8bj8ua2luZCE9PWV8fG4uc3ViamVjdF9pZCE9PWx8fG4ubWF0ZXJpYWxfc2hhMjU2IT09cz9udWxsOkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoe2tpbmQ6ZSxzdWJqZWN0X2lkOmwsbWF0ZXJpYWxfc2hhMjU2OnMscmV2aWV3X3NoYTI1Njp0LGFjdGlvbjppLmRlY2lzaW9uLHRhcmdldDpffSkpfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyBmdW5jdGlvbiBoKGUsYSl7dHJ5e2lmKCFmKGEpfHwhWyJxc2xfaHVtYW5fZGVjaXNpb25fcmVjZWlwdC52MSIsInFzbF9odW1hbl9kZWNpc2lvbl9yZWNlaXB0LnYyIl0uaW5jbHVkZXMoYS5zY2hlbWFfdmVyc2lvbil8fGEua2luZCE9PWUua2luZHx8YS5zdWJqZWN0X2lkIT09ZS5zdWJqZWN0X2lkfHxhLm1hdGVyaWFsX3NoYTI1NiE9PWUubWF0ZXJpYWxfc2hhMjU2fHxhLmFjdGlvbiE9PWUuYWN0aW9ufHx1KGEudGFyZ2V0KSE9PXUoZS50YXJnZXQpfHxhLm5vX29yZGVyIT09ITB8fGEuZXhlY3V0aW9uX2F1dGhvcml0eV9ncmFudGVkIT09ITF8fHR5cGVvZiBhLmRlY2lkZWRfYnkhPSJzdHJpbmcifHwhYS5kZWNpZGVkX2J5fHxhLmRlY2lkZWRfYnkubGVuZ3RoPjEwMHx8L1tcdTAwMDAtXHUwMDFmXHUwMDdmXS8udGVzdChhLmRlY2lkZWRfYnkpfHx0eXBlb2YgYS5kZWNpZGVkX2F0IT0ic3RyaW5nInx8YS5kZWNpZGVkX2F0Lmxlbmd0aD40MHx8IU51bWJlci5pc0Zpbml0ZShEYXRlLnBhcnNlKGEuZGVjaWRlZF9hdCkpfHwvW1x1MDAwMC1cdTAwMWZcdTAwN2ZdLy50ZXN0KGEuZGVjaWRlZF9hdCl8fHR5cGVvZiBhLnJlY2VpcHRfc2hhMjU2IT0ic3RyaW5nInx8IWIudGVzdChhLnJlY2VpcHRfc2hhMjU2KSlyZXR1cm4hMTtjb25zdCBpPWEuc2NoZW1hX3ZlcnNpb249PT0icXNsX2h1bWFuX2RlY2lzaW9uX3JlY2VpcHQudjIiO2lmKGkhPT0hIWUucmV2aWV3X3NoYTI1Nnx8aSYmKGUua2luZCE9PSJwcm9tb3Rpb24ifHxhLnJldmlld19iaW5kaW5nPy5zY2hlbWFfdmVyc2lvbiE9PSJxc2xfcHJvbW90aW9uX3Jldmlld19iaW5kaW5nLnYyInx8YS5yZXZpZXdfYmluZGluZy5yZXZpZXdfc2hhMjU2IT09ZS5yZXZpZXdfc2hhMjU2KSlyZXR1cm4hMTtjb25zdCBuPXtzY2hlbWFfdmVyc2lvbjphLnNjaGVtYV92ZXJzaW9uLC4uLmk/e3Jldmlld19iaW5kaW5nOntzY2hlbWFfdmVyc2lvbjoicXNsX3Byb21vdGlvbl9yZXZpZXdfYmluZGluZy52MiIscmV2aWV3X3NoYTI1NjplLnJldmlld19zaGEyNTZ9fTp7fSxraW5kOmUua2luZCxzdWJqZWN0X2lkOmUuc3ViamVjdF9pZCxtYXRlcmlhbF9zaGEyNTY6ZS5tYXRlcmlhbF9zaGEyNTYsYWN0aW9uOmUuYWN0aW9uLHRhcmdldDplLnRhcmdldCxkZWNpZGVkX2F0OmEuZGVjaWRlZF9hdCxkZWNpZGVkX2J5OmEuZGVjaWRlZF9ieSxub19vcmRlcjohMCxleGVjdXRpb25fYXV0aG9yaXR5X2dyYW50ZWQ6ITF9O3JldHVybiB1KGEpPT09dSh7Li4ubixyZWNlaXB0X3NoYTI1Njphd2FpdCB5KG4pfSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIFgoKXtjb25zdCBlPW5ldyBNYXAsYT1uZXcgTWFwLGk9bD0+YCR7bC5raW5kfToke2wuc3ViamVjdF9pZH06JHtsLm1hdGVyaWFsX3NoYTI1Nn1gO2xldCBuPTA7cmV0dXJue2Vwb2NoKCl7cmV0dXJuIG59LGNsZWFyKCl7bisrLGUuY2xlYXIoKSxhLmNsZWFyKCl9LGVudHJpZXMoKXtyZXR1cm5bLi4uZS52YWx1ZXMoKV0ubWFwKGw9PkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobCkpKX0sc3RhcnQobCl7Y29uc3Qgcj1pKGwpO3JldHVybiBlLmhhcyhyKT9udWxsOihlLnNldChyLHtleHBlY3RlZDpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGwpKSxzdGF0dXM6InVucmVzb2x2ZWQiLHJlY2VpcHQ6bnVsbCxxdWV1ZUNvbmZpcm1lZDohMX0pLHtpZDpyLGdlbmVyYXRpb246bn0pfSxjdXJyZW50KGwpe3JldHVybiBsLmdlbmVyYXRpb249PT1uJiZlLmhhcyhsLmlkKSYmKGwuc2VxdWVuY2U9PT12b2lkIDB8fGEuZ2V0KGwuaWQpPT09bC5zZXF1ZW5jZSl9LGFzeW5jIHJlY2VpdmUobCxyLF8pe2NvbnN0IHQ9ZS5nZXQobC5pZCk7aWYoIXR8fCF0aGlzLmN1cnJlbnQobCkpcmV0dXJuITE7Y29uc3Qgcz1hd2FpdCBoKHQuZXhwZWN0ZWQscik7cmV0dXJuIHRoaXMuY3VycmVudChsKT8hc3x8dC5yZWNlaXB0JiZ0LnJlY2VpcHQucmVjZWlwdF9zaGEyNTYhPT1yLnJlY2VpcHRfc2hhMjU2Pyh0LnN0YXR1cz0idW5yZXNvbHZlZCIsdC5xdWV1ZUNvbmZpcm1lZD0hMSwhMSk6KHQucmVjZWlwdD1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHIpKSx0LnF1ZXVlQ29uZmlybWVkPV8/P3QucXVldWVDb25maXJtZWQsdC5zdGF0dXM9dC5xdWV1ZUNvbmZpcm1lZD8icmVjb3JkZWQiOiJ1bnJlc29sdmVkIiwhMCk6ITF9LGJlZ2luUmVhZChsKXtjb25zdCByPWkobCksXz0oYS5nZXQocil8fDApKzE7cmV0dXJuIGEuc2V0KHIsXykse2lkOnIsZ2VuZXJhdGlvbjpuLHNlcXVlbmNlOl99fSxhc3luYyByZWFkYmFjayhsLHIsXyl7Y29uc3QgdD1lLmdldChsLmlkKSxzPXI/LmRlY2lzaW9uX3JlYWRiYWNrLGM9KCk9PnRoaXMuY3VycmVudChsKSYmYS5nZXQobC5pZCk9PT1sLnNlcXVlbmNlO2lmKCF0fHwhYygpKXJldHVybiExO2lmKHI/Lm9rIT09ITB8fHM/LnNjaGVtYV92ZXJzaW9uIT09InFzbF9odW1hbl9kZWNpc2lvbl9yZWFkYmFjay52MSJ8fHMuc291cmNlIT09ImR1cmFibGVfaHVtYW5fZGVjaXNpb25fcmVjb3JkInx8cy5raW5kIT09dC5leHBlY3RlZC5raW5kfHxzLnN1YmplY3RfaWQhPT10LmV4cGVjdGVkLnN1YmplY3RfaWR8fHMucmVxdWVzdGVkX21hdGVyaWFsX3NoYTI1NiE9PXQuZXhwZWN0ZWQubWF0ZXJpYWxfc2hhMjU2fHx0eXBlb2Ygcy5vYnNlcnZlZF9hdCE9InN0cmluZyJ8fCFOdW1iZXIuaXNGaW5pdGUoRGF0ZS5wYXJzZShzLm9ic2VydmVkX2F0KSl8fHMubG9va3VwX3N0YXR1cyE9PSJmb3VuZCIpcmV0dXJuIHQuc3RhdHVzPSJ1bnJlc29sdmVkIix0LnF1ZXVlQ29uZmlybWVkPSExLCExO2NvbnN0IGQ9YXdhaXQgaCh0LmV4cGVjdGVkLHMucmVjZWlwdCk7cmV0dXJuIGMoKT90aGlzLnJlY2VpdmUobCxkP3MucmVjZWlwdDpudWxsLF8pOiExfSxyZWFkRmFpbGVkKGwpe2lmKCF0aGlzLmN1cnJlbnQobCl8fGEuZ2V0KGwuaWQpIT09bC5zZXF1ZW5jZSlyZXR1cm4hMTtjb25zdCByPWUuZ2V0KGwuaWQpO3JldHVybiByLnN0YXR1cz0idW5yZXNvbHZlZCIsci5xdWV1ZUNvbmZpcm1lZD0hMSwhMH19fWNvbnN0IHg9T2JqZWN0LmZyZWV6ZShbT2JqZWN0LmZyZWV6ZSh7b3B0aW9uX3Njb3BlOiJwYXBlciIscGF5bG9hZF9zY29wZToiUEFQRVIifSksT2JqZWN0LmZyZWV6ZSh7b3B0aW9uX3Njb3BlOiJISyIscGF5bG9hZF9zY29wZToiSEsifSksT2JqZWN0LmZyZWV6ZSh7b3B0aW9uX3Njb3BlOiJzZyIscGF5bG9hZF9zY29wZToiU0cifSldKTtPYmplY3QuZnJlZXplKHgubWFwKGU9PmUub3B0aW9uX3Njb3BlKSk7T2JqZWN0LmZyZWV6ZSh4Lm1hcChlPT5lLnBheWxvYWRfc2NvcGUpKTtjb25zdCBBPU9iamVjdC5mcmVlemUoWyJtYXhfZmluYW5jZV9hbW91bnQiLCJyZW1haW5pbmdfZmluYW5jZV9hbW91bnQiLCJpbml0X21hcmdpbiIsIm1haW50ZW5hbmNlX21hcmdpbiIsIm1hcmdpbl9jYWxsIiwiYnV5X3Bvd2VyIl0pO09iamVjdC5mcmVlemUoWyJjdXJyZW5jeSIsLi4uQSwicmlza19sZXZlbCJdKTtjb25zdCBxPVt7cHJvZmlsZToidHFxcV9ncm93dGhfaW5jb21lIixsYWJlbDoi57qz5pav6L6+5YWL5aKe6ZW/5pS255uKIixsYWJlbF9lbjoiTkFTREFRIEdyb3d0aCBJbmNvbWUiLGxhYmVsX3poOiLnurPmlq/ovr7lhYvlop7plb/mlLbnm4oiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITAsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITAsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGxpZmVjeWNsZV9zdGFnZToicnVudGltZV9lbmFibGVkIixjYW5fc3dpdGNoX2xpdmU6ITAsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iLCJsaXZlIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoiIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiEwLGFsbG93ZWRfcGxhdGZvcm1zOlsiaWJrciJdfSxpbmNvbWVfbGF5ZXJfc3RhcnRfdXNkOiIyNTAwMDAiLGluY29tZV9sYXllcl9tYXhfcmF0aW86IjAuNTUiLGluY29tZV9sYXllcl9hbGxvY2F0aW9uczp7U0NIRDouMyxER1JPOi4yLFNHT1Y6LjQsU1BZSTouMDgsUVFRSTouMDJ9fSx7cHJvZmlsZToic294bF9zb3h4X3RyZW5kX2luY29tZSIsbGFiZWw6IuWNiuWvvOS9k+i2i+WKv+aUtuebiiIsbGFiZWxfZW46IlNlbWljb25kdWN0b3IgVHJlbmQgSW5jb21lIixsYWJlbF96aDoi5Y2K5a+85L2T6LaL5Yq/5pS255uKIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiEwLGluY29tZV9sYXllcl9lbmFibGVkOiEwLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJ1bnRpbWVfZW5hYmxlZCIsY2FuX3N3aXRjaF9saXZlOiEwLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIiwibGl2ZSJdLGJsb2NrZWRfbGl2ZV9yZWFzb246IiIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMCxhbGxvd2VkX3BsYXRmb3JtczpbImxvbmdicmlkZ2UiLCJpYmtyIiwic2Nod2FiIl19LGluY29tZV9sYXllcl9zdGFydF91c2Q6IjE1MDAwMCIsaW5jb21lX2xheWVyX21heF9yYXRpbzoiMC45NSIsaW5jb21lX2xheWVyX2FsbG9jYXRpb25zOntTQ0hEOi4xNSxER1JPOi4xLFNHT1Y6LjcsU1BZSTouMDQsUVFRSTouMDF9fSx7cHJvZmlsZToic294bF9zb3h4X2NvcmVfb25seV9wMl92N19sb25ndGVybV9jb21wb3VuZGluZ19jYXNoX3Jlc2VydmUiLGxhYmVsOiJTT1hML1NPWFgg5qC45b+D5aSN5Yip77yI546w6YeR5L+d55WZ77yJIixsYWJlbF9lbjoiU09YTC9TT1hYIENvcmUgQ29tcG91bmRpbmcgKENhc2ggUmVzZXJ2ZSkiLGxhYmVsX3poOiJTT1hML1NPWFgg5qC45b+D5aSN5Yip77yI546w6YeR5L+d55WZ77yJIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfb25seV9uYW1lZF9wcm9maWxlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxyZXNlYXJjaF9jYW5kaWRhdGVfaWRlbnRpdHk6e2NhbmRpZGF0ZV9pZDoic294bF9zb3h4X2NvcmVfb25seV9wMl92N19sb25ndGVybV9jb21wb3VuZGluZ19jYXNoX3Jlc2VydmUiLGNvbmZpZ19zaGEyNTY6Ijg0M2FiNGU5M2U4MTk4NWMyYjNiZWNjNjFhMmYwYjk3MTUwOGNjZjI1YWZhNTlhY2Y0MDJlNzVmNTc0NTE0ZDEifX0se3Byb2ZpbGU6Im5hc2RhcV9zcDUwMF9zbWFydF9kY2EiLGxhYmVsOiLnurPmjIfmoIfmma7lrprmipUiLGxhYmVsX2VuOiJOQVNEQVEvUyZQIDUwMCBEQ0EiLGxhYmVsX3poOiLnurPmjIfmoIfmma7lrprmipUiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJtaXNzaW5nX2N1cnJlbnRfcHJvbW90aW9uX2V2aWRlbmNlX2FuZF9wcmVhdXRob3JpemVkX2F1dG9ub215X3BvbGljeSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX0sZGNhX2VuYWJsZWQ6ITAsZGNhX2RlZmF1bHRfbW9kZToiZml4ZWQiLGRjYV9kZWZhdWx0X2Jhc2VfaW52ZXN0bWVudF91c2Q6IjEwMDAifSx7cHJvZmlsZToiaWJpdF9zbWFydF9kY2EiLGxhYmVsOiJJQklU5q+U54m55biB5a6a5oqVIixsYWJlbF9lbjoiSUJJVCBCaXRjb2luIERDQSIsbGFiZWxfemg6IklCSVTmr5TnibnluIHlrprmipUiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITAsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGxpZmVjeWNsZV9zdGFnZToicnVudGltZV9lbmFibGVkIixjYW5fc3dpdGNoX2xpdmU6ITAsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iLCJsaXZlIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoiIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiEwLGFsbG93ZWRfcGxhdGZvcm1zOlsiZmlyc3RyYWRlIl19LGRjYV9lbmFibGVkOiEwLGRjYV9kZWZhdWx0X21vZGU6ImZpeGVkIixkY2FfZGVmYXVsdF9iYXNlX2ludmVzdG1lbnRfdXNkOiIxMDAwIn0se3Byb2ZpbGU6Imdsb2JhbF9ldGZfcm90YXRpb24iLGxhYmVsOiLlhajnkINFVEbova7liqgiLGxhYmVsX2VuOiJHbG9iYWwgRVRGIFJvdGF0aW9uIixsYWJlbF96aDoi5YWo55CDRVRG6L2u5YqoIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiEwLGluY29tZV9sYXllcl9lbmFibGVkOiEwLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITEsbGlmZWN5Y2xlX3N0YWdlOiJydW50aW1lX2VuYWJsZWQiLGNhbl9zd2l0Y2hfbGl2ZTohMCxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biIsImxpdmUiXSxibG9ja2VkX2xpdmVfcmVhc29uOiIiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITAsYWxsb3dlZF9wbGF0Zm9ybXM6WyJpYmtyIl19LGluY29tZV9sYXllcl9zdGFydF91c2Q6IjUwMDAwMCIsaW5jb21lX2xheWVyX21heF9yYXRpbzoiMC4xNSIsaW5jb21lX2xheWVyX2FsbG9jYXRpb25zOntTQ0hEOi40LERHUk86LjI1LFNHT1Y6LjMsU1BZSTouMDV9fSx7cHJvZmlsZToicnVzc2VsbF90b3A1MF9sZWFkZXJfcm90YXRpb24iLGxhYmVsOiLnvZfntKBUb3A1MOmihua2qCIsbGFiZWxfZW46IlJ1c3NlbGwgVG9wNTAgTGVhZGVycyIsbGFiZWxfemg6Iue9l+e0oFRvcDUw6aKG5raoIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiEwLGluY29tZV9sYXllcl9lbmFibGVkOiEwLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJ1bnRpbWVfZW5hYmxlZCIsY2FuX3N3aXRjaF9saXZlOiEwLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIiwibGl2ZSJdLGJsb2NrZWRfbGl2ZV9yZWFzb246IiIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMCxhbGxvd2VkX3BsYXRmb3JtczpbImlia3IiLCJsb25nYnJpZGdlIl19LGluY29tZV9sYXllcl9zdGFydF91c2Q6IjMwMDAwMCIsaW5jb21lX2xheWVyX21heF9yYXRpbzoiMC4yNSIsaW5jb21lX2xheWVyX2FsbG9jYXRpb25zOntTQ0hEOi40NSxER1JPOi4zLFNHT1Y6LjI1fX0se3Byb2ZpbGU6InRlY2xfeGxrX3RyZW5kX2luY29tZSIsbGFiZWw6IlRFQ0wvWExL6LaL5Yq/5pS255uKIixsYWJlbF9lbjoiVEVDTC9YTEsgVHJlbmQgSW5jb21lIixsYWJlbF96aDoiVEVDTC9YTEvotovlir/mlLbnm4oiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246ImZhaWxlZF9wcm9tb3Rpb25fdnNfbGl2ZV9wcm9maWxlcyIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJ1c19lcXVpdHlfY29tYm8iLGxhYmVsOiLnvo7ogqHmoLjlv4PmlLbnm4rnu4TlkIgiLGxhYmVsX2VuOiJVUyBDb3JlIEluY29tZSBDb21ibyIsbGFiZWxfemg6Iue+juiCoeaguOW/g+aUtuebiue7hOWQiCIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMCxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITAsbGlmZWN5Y2xlX3N0YWdlOiJzaGFkb3dfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJzaGFkb3dfY2FuZGlkYXRlX3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGNvbWJvX21vZGU6ImR5bmFtaWMiLGluY29tZV9sYXllcl9zdGFydF91c2Q6IjMwMDAwMCIsaW5jb21lX2xheWVyX21heF9yYXRpbzoiMC4yNSIsaW5jb21lX2xheWVyX2FsbG9jYXRpb25zOntTQ0hEOi4yNSxER1JPOi4yNSxTR09WOi4yLFNQWUk6LjE1LFFRUUk6LjE1fX0se3Byb2ZpbGU6InVzX2VxdWl0eV9jb21ib19jb3JlIixsYWJlbDoi576O6IKh5qC45b+D57uE5ZCIIixsYWJlbF9lbjoiVVMgQ29yZSBDb21ibyIsbGFiZWxfemg6Iue+juiCoeaguOW/g+e7hOWQiCIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITAsbGlmZWN5Y2xlX3N0YWdlOiJzaGFkb3dfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJzaGFkb3dfY2FuZGlkYXRlX3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGNvbWJvX21vZGU6ImR5bmFtaWMifSx7cHJvZmlsZToidXNfZXF1aXR5X2NvbWJvX2xldmVyYWdlZCIsbGFiZWw6Iue+juiCoeWKoOmAn+e7hOWQiCIsbGFiZWxfZW46IlVTIEFscGhhIENvbWJvIixsYWJlbF96aDoi576O6IKh5Yqg6YCf57uE5ZCIIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMCxsaWZlY3ljbGVfc3RhZ2U6InNoYWRvd19hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InNoYWRvd19jYW5kaWRhdGVfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX0sY29tYm9fbW9kZToiZHluYW1pYyJ9LHtwcm9maWxlOiJoa19nbG9iYWxfZXRmX3RhY3RpY2FsX3JvdGF0aW9uIixsYWJlbDoi5riv6IKhRVRG5oiY5pyv6L2u5YqoIixsYWJlbF9lbjoiSEsgRVRGIFRhY3RpY2FsIFJvdGF0aW9uIixsYWJlbF96aDoi5riv6IKhRVRG5oiY5pyv6L2u5YqoIixkb21haW46ImhrX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiaGtfbG93X3ZvbF9kaXZpZGVuZF9xdWFsaXR5X3NuYXBzaG90IixsYWJlbDoi5riv6IKh57qi5Yip6LSo6YePIixsYWJlbF9lbjoiSEsgRGl2aWRlbmQgUXVhbGl0eSIsbGFiZWxfemg6Iua4r+iCoee6ouWIqei0qOmHjyIsZG9tYWluOiJoa19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJtaXNzaW5nX2N1cnJlbnRfcHJvbW90aW9uX2V2aWRlbmNlX2FuZF9wcmVhdXRob3JpemVkX2F1dG9ub215X3BvbGljeSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJoa19lcXVpdHlfY29tYm8iLGxhYmVsOiLmuK/ogqHmgZLnlJ/nu4TlkIgiLGxhYmVsX2VuOiJISyBDb3JlIENvbWJvIixsYWJlbF96aDoi5riv6IKh5oGS55Sf57uE5ZCIIixkb21haW46ImhrX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMCxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGNvbWJvX21vZGU6ImR5bmFtaWMifSx7cHJvZmlsZToiY25faW5kdXN0cnlfZXRmX3JvdGF0aW9uIixsYWJlbDoiQeiCoeihjOS4mkVURui9ruWKqCIsbGFiZWxfZW46IkNOIEluZHVzdHJ5IEVURiBSb3RhdGlvbiIsbGFiZWxfemg6IkHogqHooYzkuJpFVEbova7liqgiLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoibWlzc2luZ19jdXJyZW50X3Byb21vdGlvbl9ldmlkZW5jZV9hbmRfcHJlYXV0aG9yaXplZF9hdXRvbm9teV9wb2xpY3kiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25faW5kdXN0cnlfZXRmX3JvdGF0aW9uX2FnZ3Jlc3NpdmUiLGxhYmVsOiJB6IKhRVRG6L2u5YqoIixsYWJlbF9lbjoiQ04gRVRGIFJvdGF0aW9uIixsYWJlbF96aDoiQeiCoUVURui9ruWKqCIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToibGl2ZV9jYW5kaWRhdGUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246ImxpdmVfY2FuZGlkYXRlX3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25faW5kZXhfZXRmX3RhY3RpY2FsX3JvdGF0aW9uIixsYWJlbDoiQeiCoeWuveWfukVURuaImOacr+i9ruWKqCIsbGFiZWxfZW46IkNOIEluZGV4IEVURiBUYWN0aWNhbCBSb3RhdGlvbiIsbGFiZWxfemg6IkHogqHlrr3ln7pFVEbmiJjmnK/ova7liqgiLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjbl9jaGluZXh0X3RhY3RpY2FsX3JvdGF0aW9uIixsYWJlbDoi5Yib5Lia5p2/5oiY5pyv6L2u5YqoIixsYWJlbF9lbjoiQ04gQ2hpTmV4dCBUYWN0aWNhbCBSb3RhdGlvbiIsbGFiZWxfemg6IuWIm+S4muadv+aImOacr+i9ruWKqCIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX2NoaW5leHRfZ3Jvd3RoX21vbWVudHVtX3F1YWxpdHkiLGxhYmVsOiLliJvkuJrmnb/miJDplb/liqjph4/otKjph48iLGxhYmVsX2VuOiJDTiBDaGlOZXh0IEdyb3d0aCBNb21lbnR1bSBRdWFsaXR5IixsYWJlbF96aDoi5Yib5Lia5p2/5oiQ6ZW/5Yqo6YeP6LSo6YePIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25fZGl2aWRlbmRfcXVhbGl0eV9zbmFwc2hvdCIsbGFiZWw6IkHogqHnuqLliKnotKjph48iLGxhYmVsX2VuOiJDTiBEaXZpZGVuZCBRdWFsaXR5IixsYWJlbF96aDoiQeiCoee6ouWIqei0qOmHjyIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX2NoaW5leHRfZ3Jvd3RoX21vbWVudHVtX3F1YWxpdHlfc25hcHNob3QiLGxhYmVsOiLliJvkuJrmnb/miJDplb/otKjph4/lv6vnhaciLGxhYmVsX2VuOiJDTiBDaGlOZXh0IEdyb3d0aCBRdWFsaXR5IFNuYXBzaG90IixsYWJlbF96aDoi5Yib5Lia5p2/5oiQ6ZW/6LSo6YeP5b+r54WnIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25fc3Rhcl9ncm93dGhfbW9tZW50dW1fcXVhbGl0eSIsbGFiZWw6IuenkeWIm+adv+aIkOmVv+WKqOmHj+i0qOmHjyIsbGFiZWxfZW46IkNOIFNUQVIgR3Jvd3RoIE1vbWVudHVtIFF1YWxpdHkiLGxhYmVsX3poOiLnp5HliJvmnb/miJDplb/liqjph4/otKjph48iLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjbl9lcXVpdHlfY29tYm8iLGxhYmVsOiJB6IKh6L+b5Y+W57uE5ZCIIixsYWJlbF9lbjoiQ04gQWxwaGEgQ29tYm8iLGxhYmVsX3poOiJB6IKh6L+b5Y+W57uE5ZCIIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMCxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGNvbWJvX21vZGU6ImR5bmFtaWMifSx7cHJvZmlsZToiY3J5cHRvX2xpdmVfcG9vbF9yb3RhdGlvbiIsbGFiZWw6IuWKoOWvhuaxoOi9ruWKqCIsbGFiZWxfZW46IkNyeXB0byBQb29sIFJvdGF0aW9uIixsYWJlbF96aDoi5Yqg5a+G5rGg6L2u5YqoIixkb21haW46ImNyeXB0byIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoibWlzc2luZ19jdXJyZW50X3Byb21vdGlvbl9ldmlkZW5jZV9hbmRfcHJlYXV0aG9yaXplZF9hdXRvbm9teV9wb2xpY3kiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITAsYWxsb3dlZF9wbGF0Zm9ybXM6WyJiaW5hbmNlIl19fSx7cHJvZmlsZToiY3J5cHRvX2J0Y19kY2EiLGxhYmVsOiJCVEPlrprmipUiLGxhYmVsX2VuOiJCVEMgRENBIixsYWJlbF96aDoiQlRD5a6a5oqVIixkb21haW46ImNyeXB0byIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InNoYWRvd19hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InNoYWRvd19jYW5kaWRhdGVfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjcnlwdG9fdHJlbmRfcm90YXRpb24iLGxhYmVsOiLlsbHlr6jotovlir/ova7liqgiLGxhYmVsX2VuOiJBbHRjb2luIFRyZW5kIixsYWJlbF96aDoi5bGx5a+o6LaL5Yq/6L2u5YqoIixkb21haW46ImNyeXB0byIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjcnlwdG9fZXF1aXR5X2NvbWJvIixsYWJlbDoi5Yqg5a+G5Yqo6YeP57uE5ZCIIixsYWJlbF9lbjoiQ3J5cHRvIENvcmUgQ29tYm8iLGxhYmVsX3poOiLliqDlr4bliqjph4/nu4TlkIgiLGRvbWFpbjoiY3J5cHRvIixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxjb21ib19tb2RlOiJkeW5hbWljIn1dO1MucGxhdGZvcm07Y29uc3QgTj1uZXcgU2V0KHEubWFwKGU9PmUucHJvZmlsZSkpO25ldyBNYXAocS5maWx0ZXIoZT0+Ti5oYXMoZS5wcm9maWxlKSkubWFwKGU9PltlLnByb2ZpbGUse2xhYmVsX3poOmUubGFiZWxfemgsbGFiZWxfZW46ZS5sYWJlbF9lbn1dKSk7ZnVuY3Rpb24gRChlKXtyZXR1cm4oZT8uYXBwbGljYXRpb25fcHJlcGFyYXRpb24/LmFjY291bnRfb3B0aW9uc3x8W10pLmZpbHRlcihhPT5hPy5wbGF0Zm9ybT09PSJsb25nYnJpZGdlIiYmYT8uYnJva2VyX2Vudmlyb25tZW50PT09InBhcGVyIiYmdHlwZW9mIGEua2V5PT0ic3RyaW5nIiYmYS5rZXkudHJpbSgpKS5tYXAoYT0+KHtpZDpgJHthLnBsYXRmb3JtfToke2Eua2V5fWAsbGFiZWw6dHlwZW9mIGEubGFiZWw9PSJzdHJpbmciJiZhLmxhYmVsLnRyaW0oKT9hLmxhYmVsOlN0cmluZyhhLmtleSl9KSl9ZnVuY3Rpb24gUihlKXtjb25zdCBhPWU/LmFwcGxpY2F0aW9uX3ByZXBhcmF0aW9uPy5ibG9ja2VyX2NvZGVzO3JldHVybiBBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aD4wfWZ1bmN0aW9uIEooZSxhKXtpZighZXx8IUMoZS5hcHBsaWNhdGlvbikpcmV0dXJuITE7Y29uc3QgaT1lLmFwcGxpY2F0aW9uX3ByZXBhcmF0aW9ufHx7fTtyZXR1cm4gUihlKXx8aS5wcmVmbGlnaHRfc3RhdHVzIT09InJlYWR5Inx8IWkucHJldmlld19yZXF1ZXN0PyExOkQoZSkuc29tZShuPT5uLmlkPT09YSl9ZnVuY3Rpb24gVihlLGEsaSl7aWYoZSE9PSJzY2h3YWIifHxhIT09ImZyZXNoInx8IWl8fHR5cGVvZiBpIT0ib2JqZWN0IilyZXR1cm4gbnVsbDtjb25zdCBuPWk7aWYoT2JqZWN0LmtleXMobikubGVuZ3RoIT09Mnx8IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCJ2YWx1ZSIpfHwhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sInNvdXJjZV90YWciKSlyZXR1cm4gbnVsbDtjb25zdCBsPW4udmFsdWU7aWYobi5zb3VyY2VfdGFnIT09InNlY3VyaXRpZXNBY2NvdW50LnR5cGUifHx0eXBlb2YgbCE9InN0cmluZyJ8fGwubGVuZ3RoPDF8fGwubGVuZ3RoPjMyKXJldHVybiBudWxsO2Zvcihjb25zdCBfIG9mIGwpaWYoIShfPj0iQSImJl88PSJaInx8Xz49ImEiJiZfPD0ieiJ8fF89PT0iXyIpKXJldHVybiBudWxsO3JldHVybiBsfWZ1bmN0aW9uIEsoZSl7cmV0dXJuIGU/LmZsb29yVG91Y2hlZD09PSEwfHxlPy5jbGVhckZsb29yPT09ITB8fGU/LnJhdGlvVG91Y2hlZD09PSEwfHxlPy5jbGVhclJhdGlvPT09ITB8fHR5cGVvZiBlPy5jYXNoTW9kZT09InN0cmluZyImJmUuY2FzaE1vZGUhPT0iIn1mdW5jdGlvbiBFKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nInx8ZS5sZW5ndGg+MzJ8fCEvXig/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvLnRlc3QoZSkpcmV0dXJuIG51bGw7Y29uc3RbYSxpPSIiXT1lLnNwbGl0KCIuIik7cmV0dXJuIGE9PT0iMCJ8fGE9PT0iMSImJihpPT09IiJ8fC9eMCskLy50ZXN0KGkpKT9lOm51bGx9ZnVuY3Rpb24gVShlKXtjb25zdCBhPWUudHJpbSgpO2lmKCEvXlxkKyg/OlwuXGQrKT8kLy50ZXN0KGEpKXJldHVybiBudWxsO2NvbnN0W2ksbj0iIl09YS5zcGxpdCgiLiIpLGw9aS5yZXBsYWNlKC9eMCsoPz1cZCkvLCIiKXx8IjAiO2lmKGwubGVuZ3RoPjN8fGwubGVuZ3RoPT09MyYmbCE9PSIxMDAifHxsPT09IjEwMCImJi9bMS05XS8udGVzdChuKSlyZXR1cm4gbnVsbDtjb25zdCByPWAke2x9JHtufWAucmVwbGFjZSgvXjArKD89XGQpLywiIil8fCIwIixfPW4ubGVuZ3RoKzIsdD1yLnBhZFN0YXJ0KF8rMSwiMCIpLHM9dC5sZW5ndGgtXyxjPXQuc2xpY2UoMCxzKS5yZXBsYWNlKC9eMCsoPz1cZCkvLCIiKXx8IjAiLGQ9dC5zbGljZShzKS5yZXBsYWNlKC8wKyQvLCIiKTtyZXR1cm4gRShkP2Ake2N9LiR7ZH1gOmMpfWZ1bmN0aW9uIHYoe3ZhbHVlOmV9KXtjb25zdCBhPXcoKTtyZXR1cm4gZT09bnVsbD9vLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZmxhdCIsY2hpbGRyZW46YSgiZGVjaXNpb25zLm5vdF9zZXQiKX0pOnR5cGVvZiBlPT0iYm9vbGVhbiI/by5qc3goby5GcmFnbWVudCx7Y2hpbGRyZW46ZT8i4pyTIjoi4pyVIn0pOm8uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJudW0iLGNoaWxkcmVuOlN0cmluZyhlKX0pfWZ1bmN0aW9uIFkoe3Jvd3M6ZX0pe2NvbnN0IGE9dygpO3JldHVybiBvLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0YWJsZS13cmFwIixjaGlsZHJlbjpvLmpzeHMoInRhYmxlIix7Y2xhc3NOYW1lOiJkYXRhLXRhYmxlIixjaGlsZHJlbjpbby5qc3goInRoZWFkIix7Y2hpbGRyZW46by5qc3hzKCJ0ciIse2NoaWxkcmVuOltvLmpzeCgidGgiLHtjaGlsZHJlbjphKCJkZWNpc2lvbnMuY29sLmZpZWxkIil9KSxvLmpzeCgidGgiLHtjaGlsZHJlbjphKCJkZWNpc2lvbnMuY29sLmN1cnJlbnQiKX0pLG8uanN4KCJ0aCIse2NoaWxkcmVuOmEoImRlY2lzaW9ucy5jb2wucHJvcG9zZWQiKX0pLG8uanN4KCJ0aCIse2NoaWxkcmVuOmEoImRlY2lzaW9ucy5jb2wuYWZmZWN0c19saXZlIil9KV19KX0pLG8uanN4KCJ0Ym9keSIse2NoaWxkcmVuOmUubWFwKGk9Pm8uanN4cygidHIiLHtjaGlsZHJlbjpbby5qc3goInRkIix7ImRhdGEtZmllbGQiOmkuZmllbGQsY2hpbGRyZW46aS5sYWJlbH0pLG8uanN4KCJ0ZCIse2NoaWxkcmVuOm8uanN4KHYse3ZhbHVlOmkuYmVmb3JlfSl9KSxvLmpzeCgidGQiLHtjaGlsZHJlbjpvLmpzeCh2LHt2YWx1ZTppLmFmdGVyfSl9KSxvLmpzeCgidGQiLHtjbGFzc05hbWU6aS5hZmZlY3RzTGl2ZT8iZGlmZi1hZmZlY3RzLWxpdmUiOiIiLGNoaWxkcmVuOm8uanN4KGose3RvbmU6aS5hZmZlY3RzTGl2ZT8id2FybiI6InVua25vd24iLGNoaWxkcmVuOmkuYWZmZWN0c0xpdmU/YSgiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9yZXF1aXJlZCIpOmEoImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm9uZSIpfSl9KV19LGkuZmllbGQpKX0pXX0pfSl9ZnVuY3Rpb24gVyh7aXRlbXM6ZX0pe3JldHVybiBvLmpzeCgidWwiLHtjbGFzc05hbWU6InRpbWVsaW5lIixjaGlsZHJlbjplLm1hcChhPT5vLmpzeHMoImxpIix7Y2hpbGRyZW46W28uanN4KCJkaXYiLHtjaGlsZHJlbjphLnRpdGxlfSksYS5kZXRhaWwmJm8uanN4KCJkaXYiLHtzdHlsZTp7Y29sb3I6InZhcigtLW11dGVkKSIsZm9udFNpemU6MTN9LGNoaWxkcmVuOmEuZGV0YWlsfSksby5qc3goImRpdiIse2NsYXNzTmFtZToidGltZWxpbmUtdGltZSIsY2hpbGRyZW46by5qc3goTyx7dmFsdWU6YS50aW1lfSl9KV19LGEuaWQpKX0pfWNvbnN0IEk9WyJzdHJhdGVneSIsImRjYSIsImNhc2hfcmVzZXJ2ZSIsImluY29tZV9sYXllciJdO2Z1bmN0aW9uIFooZSxhKXtyZXR1cm4gZT8ucGxhdGZvcm1NZXRhPy5bYV0/LmxhYmVsfHxhfWZ1bmN0aW9uIGVlKGUsYSxpKXtyZXR1cm4gZT8uYWNjb3VudE9wdGlvbnM/LlthXT8uZmluZChsPT5sLmtleT09PWkpPy50YXJnZXRfbmFtZXx8aX1mdW5jdGlvbiBhZShlLGEpe3JldHVybihlPy5zdHJhdGVneVByb2ZpbGVzfHxbXSkuZmlsdGVyKGk9PnR5cGVvZiBpPy5wcm9maWxlPT0ic3RyaW5nIiYmaS5wcm9maWxlLmxlbmd0aD4wKS5tYXAoaT0+KHtwcm9maWxlOmkucHJvZmlsZSxsYWJlbDprKGkucHJvZmlsZSxhLGE9PT0iemgiP2kubGFiZWxfemg6aS5sYWJlbF9lbil9KSl9ZnVuY3Rpb24gaWUoZSxhKXtyZXR1cm4gZShhLmxhYmVsX2tleSx7fSxgYWNjb3VudHMuZmllbGQuJHthLmZpZWxkfWApfWZ1bmN0aW9uIGxlKGUsYSl7cmV0dXJuIGUoYGFjY291bnRzLnNlY3Rpb24uJHthfWApfWZ1bmN0aW9uIG5lKGUsYSxpLG49ITEsbD0iZW4iKXtyZXR1cm4gbj9lKCJjb21tb24udW5rbm93biIpOmk9PW51bGx8fGk9PT0iIj9lKCJjb21tb24ubmEiKTp0eXBlb2YgaT09ImJvb2xlYW4iP2UoaT8iYWNjb3VudHMuYm9vbC5vbiI6ImFjY291bnRzLmJvb2wub2ZmIik6YT09PSJkY2FfbW9kZSImJihpPT09ImZpeGVkInx8aT09PSJzbWFydCIpP2UoYGFjY291bnRzLmRjYV9tb2RlLiR7aX1gKTphPT09InN0cmF0ZWd5X3Byb2ZpbGUiP2soU3RyaW5nKGkpLGwpOlN0cmluZyhpKX1mdW5jdGlvbiByZShlLGEpe2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGUuZmllbGQpKXtjb25zdCBpPWFbZS5maWVsZF07cmV0dXJuIGk9PT1udWxsfHxpPT09dm9pZCAwP2UuY3VycmVudDppfXJldHVybiBlLm92ZXJyaWRkZW4/ZS5kcmFmdDplLmN1cnJlbnR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gZT09bnVsbD9udWxsOnR5cGVvZiBlPT0ibnVtYmVyIj9TdHJpbmcoZSk6ZX1mdW5jdGlvbiB0ZShlLGEpe2NvbnN0IGk9e307Zm9yKGNvbnN0IG4gb2YgZSl7aWYobi5maWVsZD09PSJvcHRpb25fb3ZlcmxheV9lbmFibGVkIil7bi5vdmVycmlkZGVuJiYoaS5vcHRpb25fb3ZlcmxheV9lbmFibGVkPW51bGwpO2NvbnRpbnVlfU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLG4uZmllbGQpP2lbbi5maWVsZF09ZyhhW24uZmllbGRdKTpuLm92ZXJyaWRkZW4mJihpW24uZmllbGRdPWcobi5kcmFmdCkpfXJldHVybiBpfWZ1bmN0aW9uIG9lKGUpe2NvbnN0IGE9W107Zm9yKGNvbnN0IGkgb2YgSSl7Y29uc3Qgbj1lLmZpbHRlcihsPT5sLnNlY3Rpb249PT1pKTtuLmxlbmd0aCYmYS5wdXNoKHtzZWN0aW9uOmkscm93czpufSl9cmV0dXJuIGF9ZnVuY3Rpb24gRihlKXtyZXR1cm4vXlxkKyg/OlwuXGQrKT8kLy50ZXN0KGUpJiZOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKGUpKX1mdW5jdGlvbiBfZShlKXtpZighRihlKSlyZXR1cm4hMTtjb25zdCBhPU51bWJlcihlKTtyZXR1cm4gYT49MCYmYTw9MX1mdW5jdGlvbiBzZShlKXtyZXR1cm4gZS5sZW5ndGg8PTMyJiYvXig/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvLnRlc3QoZSkmJk51bWJlci5pc0Zpbml0ZShOdW1iZXIoZSkpJiZOdW1iZXIoZSk+MH1leHBvcnR7WSBhcyBELFcgYXMgVCxRIGFzIGEsSCBhcyBiLFggYXMgYyxuZSBhcyBkLGFlIGFzIGUsaWUgYXMgZixvZSBhcyBnLE0gYXMgaCxyZSBhcyBpLEYgYXMgaixfZSBhcyBrLHNlIGFzIGwsdGUgYXMgbSxLIGFzIG4sRyBhcyBvLEogYXMgcCxVIGFzIHEsQiBhcyByLGxlIGFzIHMsZWUgYXMgdCxFIGFzIHUsUCBhcyB2LFYgYXMgdyxaIGFzIHh9Owo=" }, - "/v2/assets/hooks-CMnA1lOP.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3J9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtmdW5jdGlvbiBwKCl7bGV0IGU9MDtyZXR1cm57YmVnaW4oKXtyZXR1cm4gZSs9MSxlfSxpc0N1cnJlbnQoYSl7cmV0dXJuIGE9PT1lfSxpbnZhbGlkYXRlKCl7ZSs9MX19fWZ1bmN0aW9uIGcoZSxhKXtjb25zdFtsLHVdPXIudXNlU3RhdGUoe3BoYXNlOiJsb2FkaW5nIixkYXRhOm51bGwsZXJyb3I6bnVsbH0pLHM9ci51c2VSZWYocCgpKSxbaSxmXT1yLnVzZVN0YXRlKDApLGM9ci51c2VSZWYoZSk7Yy5jdXJyZW50PWUsci51c2VFZmZlY3QoKCk9Pntjb25zdCB0PXMuY3VycmVudC5iZWdpbigpO3Uoe3BoYXNlOiJsb2FkaW5nIixkYXRhOm51bGwsZXJyb3I6bnVsbH0pO2xldCBvPSExO3JldHVybiBjLmN1cnJlbnQoKS50aGVuKG49PnshbyYmcy5jdXJyZW50LmlzQ3VycmVudCh0KSYmdSh7cGhhc2U6InJlYWR5IixkYXRhOm4sZXJyb3I6bnVsbH0pfSkuY2F0Y2gobj0+eyFvJiZzLmN1cnJlbnQuaXNDdXJyZW50KHQpJiZ1KHtwaGFzZToiZXJyb3IiLGRhdGE6bnVsbCxlcnJvcjpuIGluc3RhbmNlb2YgRXJyb3I/bjpuZXcgRXJyb3IoInJlcXVlc3RfZmFpbGVkIil9KX0pLCgpPT57bz0hMH19LFsuLi5hLGldKTtjb25zdCBkPXIudXNlQ2FsbGJhY2soKCk9PmYodD0+dCsxKSxbXSk7cmV0dXJuey4uLmwscmVsb2FkOmR9fWV4cG9ydHtwIGFzIGMsZyBhcyB1fTsK" }, - "/v2/assets/inboxFailure-D_3ftlBt.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e1kgYXMgbyxIIGFzIGl9ZnJvbSIuL2luZGV4LUM0Y3dPX1BqLmpzIjtjb25zdCByPW5ldyBTZXQoWyJxdW90YV9leGhhdXN0ZWQiLCJ1bmF1dGhvcml6ZWQiLCJpbmRleF9taXNzaW5nIiwiaW5kZXhfaW5jb21wbGV0ZSIsImluZGV4X3VuYXZhaWxhYmxlIiwidW5rbm93biJdKTtmdW5jdGlvbiBhKGUsdCl7aWYodCBpbnN0YW5jZW9mIG8pcmV0dXJuInVuYXV0aG9yaXplZCI7aWYodCBpbnN0YW5jZW9mIGkpe2NvbnN0IG49dC5wYXlsb2FkPy5lcnJvcl9zdGF0ZTtpZihuJiZyLmhhcyhuKSlyZXR1cm4gbn1yZXR1cm4gZT8uZXJyb3Jfc3RhdGUmJnIuaGFzKGUuZXJyb3Jfc3RhdGUpP2UuZXJyb3Jfc3RhdGU6InVua25vd24ifWV4cG9ydHthIGFzIGl9Owo=" }, - "/v2/assets/index-C4cwO_Pj.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9PdmVydmlld1BhZ2UtQzM2X2tKZGQuanMiLCJhc3NldHMvaW5ib3hGYWlsdXJlLURfM2Z0bEJ0LmpzIiwiYXNzZXRzL2Nhc2hmbG93TWV0aG9kLUJMOW41T2twLmpzIiwiYXNzZXRzL3RpY2tzLUJjV2F3TTRkLmpzIiwiYXNzZXRzL2Nhc2hmbG93TWV0aG9kLUdtOGFQajl0LmNzcyIsImFzc2V0cy9ob29rcy1DTW5BMWxPUC5qcyIsImFzc2V0cy9jb2NrcGl0LUMtTkNMWm5LLmpzIiwiYXNzZXRzL2NvY2twaXQtREV6VXpZNFcuY3NzIiwiYXNzZXRzL0twaUNhcmQtQ1RjNXA0TEouanMiLCJhc3NldHMvc3RhdHVzLUJfVVhVbzhHLmpzIiwiYXNzZXRzL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiLCJhc3NldHMvT3ZlcnZpZXdQYWdlLUNEcDBvNzlGLmNzcyIsImFzc2V0cy9QZXJmb3JtYW5jZVBhZ2UtQlBWeTFEQlguanMiLCJhc3NldHMvRGF0YVRhYmxlLUNuRnVtZnMtLmpzIiwiYXNzZXRzL1RhYnMtQ0ZvWDF4ek0uanMiLCJhc3NldHMvUGVyZm9ybWFuY2VQYWdlLUJNTlN3X3FvLmNzcyIsImFzc2V0cy9EZWNpc2lvbnNQYWdlLUJfVVF4UVZlLmpzIiwiYXNzZXRzL2hlbHBlcnMtWElJR0wwSjkuanMiLCJhc3NldHMvRGlhbG9nLURjZGdyY1d4LmpzIiwiYXNzZXRzL0RlY2lzaW9uc1BhZ2UtQ3lldVRQaG4uY3NzIiwiYXNzZXRzL0FjY291bnRzUGFnZS1CbEVJMWE3ay5qcyIsImFzc2V0cy9FeGVjdXRpb25FdmlkZW5jZS1DV2FxZURhQS5qcyIsImFzc2V0cy9BY2NvdW50c1BhZ2UtQ2FCOUVWREYuY3NzIiwiYXNzZXRzL1N0cmF0ZWdpZXNQYWdlLURXeWE1Qnk1LmpzIiwiYXNzZXRzL1N0cmF0ZWdpZXNQYWdlLUNlWmt4R19OLmNzcyIsImFzc2V0cy9IZWFsdGhQYWdlLU9UWU1PR2dlLmpzIiwiYXNzZXRzL0hlYWx0aFBhZ2UtQzMxdmgxeGEuY3NzIiwiYXNzZXRzL0Rlc2tBcHAtRG9rUmpLMzUuanMiLCJhc3NldHMvRGVza0FwcC1YWVNzY2Q2aC5jc3MiXSkpKT0+aS5tYXAoaT0+ZFtpXSk7CihmdW5jdGlvbigpe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLnJlbExpc3Q7aWYociYmci5zdXBwb3J0cyYmci5zdXBwb3J0cygibW9kdWxlcHJlbG9hZCIpKXJldHVybjtmb3IoY29uc3QgdiBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdJykpdSh2KTtuZXcgTXV0YXRpb25PYnNlcnZlcih2PT57Zm9yKGNvbnN0IHggb2YgdilpZih4LnR5cGU9PT0iY2hpbGRMaXN0Iilmb3IoY29uc3QgTiBvZiB4LmFkZGVkTm9kZXMpTi50YWdOYW1lPT09IkxJTksiJiZOLnJlbD09PSJtb2R1bGVwcmVsb2FkIiYmdShOKX0pLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZnVuY3Rpb24gZCh2KXtjb25zdCB4PXt9O3JldHVybiB2LmludGVncml0eSYmKHguaW50ZWdyaXR5PXYuaW50ZWdyaXR5KSx2LnJlZmVycmVyUG9saWN5JiYoeC5yZWZlcnJlclBvbGljeT12LnJlZmVycmVyUG9saWN5KSx2LmNyb3NzT3JpZ2luPT09InVzZS1jcmVkZW50aWFscyI/eC5jcmVkZW50aWFscz0iaW5jbHVkZSI6di5jcm9zc09yaWdpbj09PSJhbm9ueW1vdXMiP3guY3JlZGVudGlhbHM9Im9taXQiOnguY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIix4fWZ1bmN0aW9uIHUodil7aWYodi5lcClyZXR1cm47di5lcD0hMDtjb25zdCB4PWQodik7ZmV0Y2godi5ocmVmLHgpfX0pKCk7Y29uc3QgYW09Im1vZHVsZXByZWxvYWQiLGltPWZ1bmN0aW9uKGMpe3JldHVybiIvdjIvIitjfSxLZj17fSxZbj1mdW5jdGlvbihyLGQsdSl7bGV0IHY9UHJvbWlzZS5yZXNvbHZlKCk7aWYoZCYmZC5sZW5ndGg+MCl7bGV0IGg9ZnVuY3Rpb24oeSl7cmV0dXJuIFByb21pc2UuYWxsKHkubWFwKE89PlByb21pc2UucmVzb2x2ZShPKS50aGVuKEI9Pih7c3RhdHVzOiJmdWxmaWxsZWQiLHZhbHVlOkJ9KSxCPT4oe3N0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjpCfSkpKSl9O2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIik7Y29uc3QgTj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW3Byb3BlcnR5PWNzcC1ub25jZV0iKSxEPU4/Lm5vbmNlfHxOPy5nZXRBdHRyaWJ1dGUoIm5vbmNlIik7dj1oKGQubWFwKHk9PntpZih5PWltKHkpLHkgaW4gS2YpcmV0dXJuO0tmW3ldPSEwO2NvbnN0IE89eS5lbmRzV2l0aCgiLmNzcyIpLEI9Tz8nW3JlbD0ic3R5bGVzaGVldCJdJzoiIjtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7eX0iXSR7Qn1gKSlyZXR1cm47Y29uc3QgWj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7aWYoWi5yZWw9Tz8ic3R5bGVzaGVldCI6YW0sT3x8KFouYXM9InNjcmlwdCIpLFouY3Jvc3NPcmlnaW49IiIsWi5ocmVmPXksRCYmWi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixEKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKFopLE8pcmV0dXJuIG5ldyBQcm9taXNlKChfZSxjZSk9PntaLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLF9lKSxaLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+Y2UobmV3IEVycm9yKGBVbmFibGUgdG8gcHJlbG9hZCBDU1MgZm9yICR7eX1gKSkpfSl9KSl9ZnVuY3Rpb24geChOKXtjb25zdCBEPW5ldyBFdmVudCgidml0ZTpwcmVsb2FkRXJyb3IiLHtjYW5jZWxhYmxlOiEwfSk7aWYoRC5wYXlsb2FkPU4sd2luZG93LmRpc3BhdGNoRXZlbnQoRCksIUQuZGVmYXVsdFByZXZlbnRlZCl0aHJvdyBOfXJldHVybiB2LnRoZW4oTj0+e2Zvcihjb25zdCBEIG9mIE58fFtdKUQuc3RhdHVzPT09InJlamVjdGVkIiYmeChELnJlYXNvbik7cmV0dXJuIHIoKS5jYXRjaCh4KX0pfTt2YXIgeHI9e2V4cG9ydHM6e319LEVpPXt9O3ZhciBKZjtmdW5jdGlvbiBsbSgpe2lmKEpmKXJldHVybiBFaTtKZj0xO3ZhciBjPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpO2Z1bmN0aW9uIGQodSx2LHgpe3ZhciBOPW51bGw7aWYoeCE9PXZvaWQgMCYmKE49IiIreCksdi5rZXkhPT12b2lkIDAmJihOPSIiK3Yua2V5KSwia2V5ImluIHYpe3g9e307Zm9yKHZhciBEIGluIHYpRCE9PSJrZXkiJiYoeFtEXT12W0RdKX1lbHNlIHg9djtyZXR1cm4gdj14LnJlZix7JCR0eXBlb2Y6Yyx0eXBlOnUsa2V5Ok4scmVmOnYhPT12b2lkIDA/djpudWxsLHByb3BzOnh9fXJldHVybiBFaS5GcmFnbWVudD1yLEVpLmpzeD1kLEVpLmpzeHM9ZCxFaX12YXIgJGY7ZnVuY3Rpb24gY20oKXtyZXR1cm4gJGZ8fCgkZj0xLHhyLmV4cG9ydHM9bG0oKSkseHIuZXhwb3J0c312YXIgbT1jbSgpLFRyPXtleHBvcnRzOnt9fSxSaT17fSxBcj17ZXhwb3J0czp7fX0sRXI9e307dmFyIFdmO2Z1bmN0aW9uIG9tKCl7cmV0dXJuIFdmfHwoV2Y9MSwoZnVuY3Rpb24oYyl7ZnVuY3Rpb24gcihBLHEpe3ZhciBHPUEubGVuZ3RoO0EucHVzaChxKTtlOmZvcig7MDxHOyl7dmFyIHJlPUctMT4+PjEscD1BW3JlXTtpZigwPHYocCxxKSlBW3JlXT1xLEFbR109cCxHPXJlO2Vsc2UgYnJlYWsgZX19ZnVuY3Rpb24gZChBKXtyZXR1cm4gQS5sZW5ndGg9PT0wP251bGw6QVswXX1mdW5jdGlvbiB1KEEpe2lmKEEubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgcT1BWzBdLEc9QS5wb3AoKTtpZihHIT09cSl7QVswXT1HO2U6Zm9yKHZhciByZT0wLHA9QS5sZW5ndGgsVD1wPj4+MTtyZTxUOyl7dmFyIE09MioocmUrMSktMSxDPUFbTV0saj1NKzEsRj1BW2pdO2lmKDA+dihDLEcpKWo8cCYmMD52KEYsQyk/KEFbcmVdPUYsQVtqXT1HLHJlPWopOihBW3JlXT1DLEFbTV09RyxyZT1NKTtlbHNlIGlmKGo8cCYmMD52KEYsRykpQVtyZV09RixBW2pdPUcscmU9ajtlbHNlIGJyZWFrIGV9fXJldHVybiBxfWZ1bmN0aW9uIHYoQSxxKXt2YXIgRz1BLnNvcnRJbmRleC1xLnNvcnRJbmRleDtyZXR1cm4gRyE9PTA/RzpBLmlkLXEuaWR9aWYoYy51bnN0YWJsZV9ub3c9dm9pZCAwLHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciB4PXBlcmZvcm1hbmNlO2MudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHgubm93KCl9fWVsc2V7dmFyIE49RGF0ZSxEPU4ubm93KCk7Yy51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gTi5ub3coKS1EfX12YXIgaD1bXSx5PVtdLE89MSxCPW51bGwsWj0zLF9lPSExLGNlPSExLHZlPSExLHdlPSExLEtlPXR5cGVvZiBzZXRUaW1lb3V0PT0iZnVuY3Rpb24iP3NldFRpbWVvdXQ6bnVsbCxPZT10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDpudWxsLG9lPXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIGplKEEpe2Zvcih2YXIgcT1kKHkpO3EhPT1udWxsOyl7aWYocS5jYWxsYmFjaz09PW51bGwpdSh5KTtlbHNlIGlmKHEuc3RhcnRUaW1lPD1BKXUoeSkscS5zb3J0SW5kZXg9cS5leHBpcmF0aW9uVGltZSxyKGgscSk7ZWxzZSBicmVhaztxPWQoeSl9fWZ1bmN0aW9uIFcoQSl7aWYodmU9ITEsamUoQSksIWNlKWlmKGQoaCkhPT1udWxsKWNlPSEwLEp8fChKPSEwLFRlKCkpO2Vsc2V7dmFyIHE9ZCh5KTtxIT09bnVsbCYmQmUoVyxxLnN0YXJ0VGltZS1BKX19dmFyIEo9ITEseWU9LTEsYmU9NSxIZT0tMTtmdW5jdGlvbiBsZSgpe3JldHVybiB3ZT8hMDohKGMudW5zdGFibGVfbm93KCktSGU8YmUpfWZ1bmN0aW9uIFJlKCl7aWYod2U9ITEsSil7dmFyIEE9Yy51bnN0YWJsZV9ub3coKTtIZT1BO3ZhciBxPSEwO3RyeXtlOntjZT0hMSx2ZSYmKHZlPSExLE9lKHllKSx5ZT0tMSksX2U9ITA7dmFyIEc9Wjt0cnl7dDp7Zm9yKGplKEEpLEI9ZChoKTtCIT09bnVsbCYmIShCLmV4cGlyYXRpb25UaW1lPkEmJmxlKCkpOyl7dmFyIHJlPUIuY2FsbGJhY2s7aWYodHlwZW9mIHJlPT0iZnVuY3Rpb24iKXtCLmNhbGxiYWNrPW51bGwsWj1CLnByaW9yaXR5TGV2ZWw7dmFyIHA9cmUoQi5leHBpcmF0aW9uVGltZTw9QSk7aWYoQT1jLnVuc3RhYmxlX25vdygpLHR5cGVvZiBwPT0iZnVuY3Rpb24iKXtCLmNhbGxiYWNrPXAsamUoQSkscT0hMDticmVhayB0fUI9PT1kKGgpJiZ1KGgpLGplKEEpfWVsc2UgdShoKTtCPWQoaCl9aWYoQiE9PW51bGwpcT0hMDtlbHNle3ZhciBUPWQoeSk7VCE9PW51bGwmJkJlKFcsVC5zdGFydFRpbWUtQSkscT0hMX19YnJlYWsgZX1maW5hbGx5e0I9bnVsbCxaPUcsX2U9ITF9cT12b2lkIDB9fWZpbmFsbHl7cT9UZSgpOko9ITF9fX12YXIgVGU7aWYodHlwZW9mIG9lPT0iZnVuY3Rpb24iKVRlPWZ1bmN0aW9uKCl7b2UoUmUpfTtlbHNlIGlmKHR5cGVvZiBNZXNzYWdlQ2hhbm5lbDwidSIpe3ZhciBsdD1uZXcgTWVzc2FnZUNoYW5uZWwsY3Q9bHQucG9ydDI7bHQucG9ydDEub25tZXNzYWdlPVJlLFRlPWZ1bmN0aW9uKCl7Y3QucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgVGU9ZnVuY3Rpb24oKXtLZShSZSwwKX07ZnVuY3Rpb24gQmUoQSxxKXt5ZT1LZShmdW5jdGlvbigpe0EoYy51bnN0YWJsZV9ub3coKSl9LHEpfWMudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsYy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLGMudW5zdGFibGVfTG93UHJpb3JpdHk9NCxjLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsYy51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxjLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsYy51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihBKXtBLmNhbGxiYWNrPW51bGx9LGMudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oQSl7MD5BfHwxMjU8QT9jb25zb2xlLmVycm9yKCJmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQiKTpiZT0wPEE/TWF0aC5mbG9vcigxZTMvQSk6NX0sYy51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBafSxjLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oQSl7c3dpdGNoKFope2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciBxPTM7YnJlYWs7ZGVmYXVsdDpxPVp9dmFyIEc9WjtaPXE7dHJ5e3JldHVybiBBKCl9ZmluYWxseXtaPUd9fSxjLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe3dlPSEwfSxjLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihBLHEpe3N3aXRjaChBKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6QT0zfXZhciBHPVo7Wj1BO3RyeXtyZXR1cm4gcSgpfWZpbmFsbHl7Wj1HfX0sYy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKEEscSxHKXt2YXIgcmU9Yy51bnN0YWJsZV9ub3coKTtzd2l0Y2godHlwZW9mIEc9PSJvYmplY3QiJiZHIT09bnVsbD8oRz1HLmRlbGF5LEc9dHlwZW9mIEc9PSJudW1iZXIiJiYwPEc/cmUrRzpyZSk6Rz1yZSxBKXtjYXNlIDE6dmFyIHA9LTE7YnJlYWs7Y2FzZSAyOnA9MjUwO2JyZWFrO2Nhc2UgNTpwPTEwNzM3NDE4MjM7YnJlYWs7Y2FzZSA0OnA9MWU0O2JyZWFrO2RlZmF1bHQ6cD01ZTN9cmV0dXJuIHA9RytwLEE9e2lkOk8rKyxjYWxsYmFjazpxLHByaW9yaXR5TGV2ZWw6QSxzdGFydFRpbWU6RyxleHBpcmF0aW9uVGltZTpwLHNvcnRJbmRleDotMX0sRz5yZT8oQS5zb3J0SW5kZXg9RyxyKHksQSksZChoKT09PW51bGwmJkE9PT1kKHkpJiYodmU/KE9lKHllKSx5ZT0tMSk6dmU9ITAsQmUoVyxHLXJlKSkpOihBLnNvcnRJbmRleD1wLHIoaCxBKSxjZXx8X2V8fChjZT0hMCxKfHwoSj0hMCxUZSgpKSkpLEF9LGMudW5zdGFibGVfc2hvdWxkWWllbGQ9bGUsYy51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oQSl7dmFyIHE9WjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgRz1aO1o9cTt0cnl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7Wj1HfX19fSkoRXIpKSxFcn12YXIgRmY7ZnVuY3Rpb24gcm0oKXtyZXR1cm4gRmZ8fChGZj0xLEFyLmV4cG9ydHM9b20oKSksQXIuZXhwb3J0c312YXIgUnI9e2V4cG9ydHM6e319LCQ9e307dmFyIFBmO2Z1bmN0aW9uIHNtKCl7aWYoUGYpcmV0dXJuICQ7UGY9MTt2YXIgYz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSx2PVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikseD1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLE49U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLEQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxoPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikseT1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksQj1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gWihwKXtyZXR1cm4gcD09PW51bGx8fHR5cGVvZiBwIT0ib2JqZWN0Ij9udWxsOihwPUImJnBbQl18fHBbIkBAaXRlcmF0b3IiXSx0eXBlb2YgcD09ImZ1bmN0aW9uIj9wOm51bGwpfXZhciBfZT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sY2U9T2JqZWN0LmFzc2lnbix2ZT17fTtmdW5jdGlvbiB3ZShwLFQsTSl7dGhpcy5wcm9wcz1wLHRoaXMuY29udGV4dD1ULHRoaXMucmVmcz12ZSx0aGlzLnVwZGF0ZXI9TXx8X2V9d2UucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sd2UucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHAsVCl7aWYodHlwZW9mIHAhPSJvYmplY3QiJiZ0eXBlb2YgcCE9ImZ1bmN0aW9uIiYmcCE9bnVsbCl0aHJvdyBFcnJvcigidGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLHAsVCwic2V0U3RhdGUiKX0sd2UucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKHApe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxwLCJmb3JjZVVwZGF0ZSIpfTtmdW5jdGlvbiBLZSgpe31LZS5wcm90b3R5cGU9d2UucHJvdG90eXBlO2Z1bmN0aW9uIE9lKHAsVCxNKXt0aGlzLnByb3BzPXAsdGhpcy5jb250ZXh0PVQsdGhpcy5yZWZzPXZlLHRoaXMudXBkYXRlcj1NfHxfZX12YXIgb2U9T2UucHJvdG90eXBlPW5ldyBLZTtvZS5jb25zdHJ1Y3Rvcj1PZSxjZShvZSx3ZS5wcm90b3R5cGUpLG9lLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBqZT1BcnJheS5pc0FycmF5LFc9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbCxWOm51bGx9LEo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB5ZShwLFQsTSxDLGosRil7cmV0dXJuIE09Ri5yZWYseyQkdHlwZW9mOmMsdHlwZTpwLGtleTpULHJlZjpNIT09dm9pZCAwP006bnVsbCxwcm9wczpGfX1mdW5jdGlvbiBiZShwLFQpe3JldHVybiB5ZShwLnR5cGUsVCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxwLnByb3BzKX1mdW5jdGlvbiBIZShwKXtyZXR1cm4gdHlwZW9mIHA9PSJvYmplY3QiJiZwIT09bnVsbCYmcC4kJHR5cGVvZj09PWN9ZnVuY3Rpb24gbGUocCl7dmFyIFQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrcC5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24oTSl7cmV0dXJuIFRbTV19KX12YXIgUmU9L1wvKy9nO2Z1bmN0aW9uIFRlKHAsVCl7cmV0dXJuIHR5cGVvZiBwPT0ib2JqZWN0IiYmcCE9PW51bGwmJnAua2V5IT1udWxsP2xlKCIiK3Aua2V5KTpULnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBsdCgpe31mdW5jdGlvbiBjdChwKXtzd2l0Y2gocC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gcC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBwLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCh0eXBlb2YgcC5zdGF0dXM9PSJzdHJpbmciP3AudGhlbihsdCxsdCk6KHAuc3RhdHVzPSJwZW5kaW5nIixwLnRoZW4oZnVuY3Rpb24oVCl7cC5zdGF0dXM9PT0icGVuZGluZyImJihwLnN0YXR1cz0iZnVsZmlsbGVkIixwLnZhbHVlPVQpfSxmdW5jdGlvbihUKXtwLnN0YXR1cz09PSJwZW5kaW5nIiYmKHAuc3RhdHVzPSJyZWplY3RlZCIscC5yZWFzb249VCl9KSkscC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gcC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBwLnJlYXNvbn19dGhyb3cgcH1mdW5jdGlvbiBCZShwLFQsTSxDLGope3ZhciBGPXR5cGVvZiBwOyhGPT09InVuZGVmaW5lZCJ8fEY9PT0iYm9vbGVhbiIpJiYocD1udWxsKTt2YXIgSz0hMTtpZihwPT09bnVsbClLPSEwO2Vsc2Ugc3dpdGNoKEYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOks9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChwLiQkdHlwZW9mKXtjYXNlIGM6Y2FzZSByOks9ITA7YnJlYWs7Y2FzZSBPOnJldHVybiBLPXAuX2luaXQsQmUoSyhwLl9wYXlsb2FkKSxULE0sQyxqKX19aWYoSylyZXR1cm4gaj1qKHApLEs9Qz09PSIiPyIuIitUZShwLDApOkMsamUoaik/KE09IiIsSyE9bnVsbCYmKE09Sy5yZXBsYWNlKFJlLCIkJi8iKSsiLyIpLEJlKGosVCxNLCIiLGZ1bmN0aW9uKEZ0KXtyZXR1cm4gRnR9KSk6aiE9bnVsbCYmKEhlKGopJiYoaj1iZShqLE0rKGoua2V5PT1udWxsfHxwJiZwLmtleT09PWoua2V5PyIiOigiIitqLmtleSkucmVwbGFjZShSZSwiJCYvIikrIi8iKStLKSksVC5wdXNoKGopKSwxO0s9MDt2YXIgb3Q9Qz09PSIiPyIuIjpDKyI6IjtpZihqZShwKSlmb3IodmFyIGtlPTA7a2U8cC5sZW5ndGg7a2UrKylDPXBba2VdLEY9b3QrVGUoQyxrZSksSys9QmUoQyxULE0sRixqKTtlbHNlIGlmKGtlPVoocCksdHlwZW9mIGtlPT0iZnVuY3Rpb24iKWZvcihwPWtlLmNhbGwocCksa2U9MDshKEM9cC5uZXh0KCkpLmRvbmU7KUM9Qy52YWx1ZSxGPW90K1RlKEMsa2UrKyksSys9QmUoQyxULE0sRixqKTtlbHNlIGlmKEY9PT0ib2JqZWN0Iil7aWYodHlwZW9mIHAudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gQmUoY3QocCksVCxNLEMsaik7dGhyb3cgVD1TdHJpbmcocCksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoVD09PSJbb2JqZWN0IE9iamVjdF0iPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHApLmpvaW4oIiwgIikrIn0iOlQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIil9cmV0dXJuIEt9ZnVuY3Rpb24gQShwLFQsTSl7aWYocD09bnVsbClyZXR1cm4gcDt2YXIgQz1bXSxqPTA7cmV0dXJuIEJlKHAsQywiIiwiIixmdW5jdGlvbihGKXtyZXR1cm4gVC5jYWxsKE0sRixqKyspfSksQ31mdW5jdGlvbiBxKHApe2lmKHAuX3N0YXR1cz09PS0xKXt2YXIgVD1wLl9yZXN1bHQ7VD1UKCksVC50aGVuKGZ1bmN0aW9uKE0peyhwLl9zdGF0dXM9PT0wfHxwLl9zdGF0dXM9PT0tMSkmJihwLl9zdGF0dXM9MSxwLl9yZXN1bHQ9TSl9LGZ1bmN0aW9uKE0peyhwLl9zdGF0dXM9PT0wfHxwLl9zdGF0dXM9PT0tMSkmJihwLl9zdGF0dXM9MixwLl9yZXN1bHQ9TSl9KSxwLl9zdGF0dXM9PT0tMSYmKHAuX3N0YXR1cz0wLHAuX3Jlc3VsdD1UKX1pZihwLl9zdGF0dXM9PT0xKXJldHVybiBwLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBwLl9yZXN1bHR9dmFyIEc9dHlwZW9mIHJlcG9ydEVycm9yPT0iZnVuY3Rpb24iP3JlcG9ydEVycm9yOmZ1bmN0aW9uKHApe2lmKHR5cGVvZiB3aW5kb3c9PSJvYmplY3QiJiZ0eXBlb2Ygd2luZG93LkVycm9yRXZlbnQ9PSJmdW5jdGlvbiIpe3ZhciBUPW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZTp0eXBlb2YgcD09Im9iamVjdCImJnAhPT1udWxsJiZ0eXBlb2YgcC5tZXNzYWdlPT0ic3RyaW5nIj9TdHJpbmcocC5tZXNzYWdlKTpTdHJpbmcocCksZXJyb3I6cH0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudChUKSlyZXR1cm59ZWxzZSBpZih0eXBlb2YgcHJvY2Vzcz09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLmVtaXQ9PSJmdW5jdGlvbiIpe3Byb2Nlc3MuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLHApO3JldHVybn1jb25zb2xlLmVycm9yKHApfTtmdW5jdGlvbiByZSgpe31yZXR1cm4gJC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihwLFQsTSl7QShwLGZ1bmN0aW9uKCl7VC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE0pfSxjb3VudDpmdW5jdGlvbihwKXt2YXIgVD0wO3JldHVybiBBKHAsZnVuY3Rpb24oKXtUKyt9KSxUfSx0b0FycmF5OmZ1bmN0aW9uKHApe3JldHVybiBBKHAsZnVuY3Rpb24oVCl7cmV0dXJuIFR9KXx8W119LG9ubHk6ZnVuY3Rpb24ocCl7aWYoIUhlKHApKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gcH19LCQuQ29tcG9uZW50PXdlLCQuRnJhZ21lbnQ9ZCwkLlByb2ZpbGVyPXYsJC5QdXJlQ29tcG9uZW50PU9lLCQuU3RyaWN0TW9kZT11LCQuU3VzcGVuc2U9aCwkLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERT1XLCQuX19DT01QSUxFUl9SVU5USU1FPXtfX3Byb3RvX186bnVsbCxjOmZ1bmN0aW9uKHApe3JldHVybiBXLkgudXNlTWVtb0NhY2hlKHApfX0sJC5jYWNoZT1mdW5jdGlvbihwKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcC5hcHBseShudWxsLGFyZ3VtZW50cyl9fSwkLmNsb25lRWxlbWVudD1mdW5jdGlvbihwLFQsTSl7aWYocD09bnVsbCl0aHJvdyBFcnJvcigiVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3ArIi4iKTt2YXIgQz1jZSh7fSxwLnByb3BzKSxqPXAua2V5LEY9dm9pZCAwO2lmKFQhPW51bGwpZm9yKEsgaW4gVC5yZWYhPT12b2lkIDAmJihGPXZvaWQgMCksVC5rZXkhPT12b2lkIDAmJihqPSIiK1Qua2V5KSxUKSFKLmNhbGwoVCxLKXx8Sz09PSJrZXkifHxLPT09Il9fc2VsZiJ8fEs9PT0iX19zb3VyY2UifHxLPT09InJlZiImJlQucmVmPT09dm9pZCAwfHwoQ1tLXT1UW0tdKTt2YXIgSz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoSz09PTEpQy5jaGlsZHJlbj1NO2Vsc2UgaWYoMTxLKXtmb3IodmFyIG90PUFycmF5KEspLGtlPTA7a2U8SztrZSsrKW90W2tlXT1hcmd1bWVudHNba2UrMl07Qy5jaGlsZHJlbj1vdH1yZXR1cm4geWUocC50eXBlLGosdm9pZCAwLHZvaWQgMCxGLEMpfSwkLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24ocCl7cmV0dXJuIHA9eyQkdHlwZW9mOk4sX2N1cnJlbnRWYWx1ZTpwLF9jdXJyZW50VmFsdWUyOnAsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSxwLlByb3ZpZGVyPXAscC5Db25zdW1lcj17JCR0eXBlb2Y6eCxfY29udGV4dDpwfSxwfSwkLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24ocCxULE0pe3ZhciBDLGo9e30sRj1udWxsO2lmKFQhPW51bGwpZm9yKEMgaW4gVC5rZXkhPT12b2lkIDAmJihGPSIiK1Qua2V5KSxUKUouY2FsbChULEMpJiZDIT09ImtleSImJkMhPT0iX19zZWxmIiYmQyE9PSJfX3NvdXJjZSImJihqW0NdPVRbQ10pO3ZhciBLPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihLPT09MSlqLmNoaWxkcmVuPU07ZWxzZSBpZigxPEspe2Zvcih2YXIgb3Q9QXJyYXkoSyksa2U9MDtrZTxLO2tlKyspb3Rba2VdPWFyZ3VtZW50c1trZSsyXTtqLmNoaWxkcmVuPW90fWlmKHAmJnAuZGVmYXVsdFByb3BzKWZvcihDIGluIEs9cC5kZWZhdWx0UHJvcHMsSylqW0NdPT09dm9pZCAwJiYoaltDXT1LW0NdKTtyZXR1cm4geWUocCxGLHZvaWQgMCx2b2lkIDAsbnVsbCxqKX0sJC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sJC5mb3J3YXJkUmVmPWZ1bmN0aW9uKHApe3JldHVybnskJHR5cGVvZjpELHJlbmRlcjpwfX0sJC5pc1ZhbGlkRWxlbWVudD1IZSwkLmxhenk9ZnVuY3Rpb24ocCl7cmV0dXJueyQkdHlwZW9mOk8sX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDpwfSxfaW5pdDpxfX0sJC5tZW1vPWZ1bmN0aW9uKHAsVCl7cmV0dXJueyQkdHlwZW9mOnksdHlwZTpwLGNvbXBhcmU6VD09PXZvaWQgMD9udWxsOlR9fSwkLnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihwKXt2YXIgVD1XLlQsTT17fTtXLlQ9TTt0cnl7dmFyIEM9cCgpLGo9Vy5TO2ohPT1udWxsJiZqKE0sQyksdHlwZW9mIEM9PSJvYmplY3QiJiZDIT09bnVsbCYmdHlwZW9mIEMudGhlbj09ImZ1bmN0aW9uIiYmQy50aGVuKHJlLEcpfWNhdGNoKEYpe0coRil9ZmluYWxseXtXLlQ9VH19LCQudW5zdGFibGVfdXNlQ2FjaGVSZWZyZXNoPWZ1bmN0aW9uKCl7cmV0dXJuIFcuSC51c2VDYWNoZVJlZnJlc2goKX0sJC51c2U9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2UocCl9LCQudXNlQWN0aW9uU3RhdGU9ZnVuY3Rpb24ocCxULE0pe3JldHVybiBXLkgudXNlQWN0aW9uU3RhdGUocCxULE0pfSwkLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VDYWxsYmFjayhwLFQpfSwkLnVzZUNvbnRleHQ9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VDb250ZXh0KHApfSwkLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LCQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihwLFQpe3JldHVybiBXLkgudXNlRGVmZXJyZWRWYWx1ZShwLFQpfSwkLnVzZUVmZmVjdD1mdW5jdGlvbihwLFQsTSl7dmFyIEM9Vy5IO2lmKHR5cGVvZiBNPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJ1c2VFZmZlY3QgQ1JVRCBvdmVybG9hZCBpcyBub3QgZW5hYmxlZCBpbiB0aGlzIGJ1aWxkIG9mIFJlYWN0LiIpO3JldHVybiBDLnVzZUVmZmVjdChwLFQpfSwkLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFcuSC51c2VJZCgpfSwkLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24ocCxULE0pe3JldHVybiBXLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShwLFQsTSl9LCQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VJbnNlcnRpb25FZmZlY3QocCxUKX0sJC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24ocCxUKXtyZXR1cm4gVy5ILnVzZUxheW91dEVmZmVjdChwLFQpfSwkLnVzZU1lbW89ZnVuY3Rpb24ocCxUKXtyZXR1cm4gVy5ILnVzZU1lbW8ocCxUKX0sJC51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VPcHRpbWlzdGljKHAsVCl9LCQudXNlUmVkdWNlcj1mdW5jdGlvbihwLFQsTSl7cmV0dXJuIFcuSC51c2VSZWR1Y2VyKHAsVCxNKX0sJC51c2VSZWY9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VSZWYocCl9LCQudXNlU3RhdGU9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VTdGF0ZShwKX0sJC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihwLFQsTSl7cmV0dXJuIFcuSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShwLFQsTSl9LCQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBXLkgudXNlVHJhbnNpdGlvbigpfSwkLnZlcnNpb249IjE5LjEuMSIsJH12YXIgSWY7ZnVuY3Rpb24gWXIoKXtyZXR1cm4gSWZ8fChJZj0xLFJyLmV4cG9ydHM9c20oKSksUnIuZXhwb3J0c312YXIgenI9e2V4cG9ydHM6e319LFdlPXt9O3ZhciBlcDtmdW5jdGlvbiB1bSgpe2lmKGVwKXJldHVybiBXZTtlcD0xO3ZhciBjPVlyKCk7ZnVuY3Rpb24gcihoKXt2YXIgeT0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIraDtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3krPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBPPTI7Tzxhcmd1bWVudHMubGVuZ3RoO08rKyl5Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbT10pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitoKyI7IHZpc2l0ICIreSsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIGQoKXt9dmFyIHU9e2Q6e2Y6ZCxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iocig1MjIpKX0sRDpkLEM6ZCxMOmQsbTpkLFg6ZCxTOmQsTTpkfSxwOjAsZmluZERPTU5vZGU6bnVsbH0sdj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKTtmdW5jdGlvbiB4KGgseSxPKXt2YXIgQj0zPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1szXSE9PXZvaWQgMD9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6dixrZXk6Qj09bnVsbD9udWxsOiIiK0IsY2hpbGRyZW46aCxjb250YWluZXJJbmZvOnksaW1wbGVtZW50YXRpb246T319dmFyIE49Yy5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU7ZnVuY3Rpb24gRChoLHkpe2lmKGg9PT0iZm9udCIpcmV0dXJuIiI7aWYodHlwZW9mIHk9PSJzdHJpbmciKXJldHVybiB5PT09InVzZS1jcmVkZW50aWFscyI/eToiIn1yZXR1cm4gV2UuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPXUsV2UuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGgseSl7dmFyIE89Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIXl8fHkubm9kZVR5cGUhPT0xJiZ5Lm5vZGVUeXBlIT09OSYmeS5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKHIoMjk5KSk7cmV0dXJuIHgoaCx5LG51bGwsTyl9LFdlLmZsdXNoU3luYz1mdW5jdGlvbihoKXt2YXIgeT1OLlQsTz11LnA7dHJ5e2lmKE4uVD1udWxsLHUucD0yLGgpcmV0dXJuIGgoKX1maW5hbGx5e04uVD15LHUucD1PLHUuZC5mKCl9fSxXZS5wcmVjb25uZWN0PWZ1bmN0aW9uKGgseSl7dHlwZW9mIGg9PSJzdHJpbmciJiYoeT8oeT15LmNyb3NzT3JpZ2luLHk9dHlwZW9mIHk9PSJzdHJpbmciP3k9PT0idXNlLWNyZWRlbnRpYWxzIj95OiIiOnZvaWQgMCk6eT1udWxsLHUuZC5DKGgseSkpfSxXZS5wcmVmZXRjaEROUz1mdW5jdGlvbihoKXt0eXBlb2YgaD09InN0cmluZyImJnUuZC5EKGgpfSxXZS5wcmVpbml0PWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciJiZ5JiZ0eXBlb2YgeS5hcz09InN0cmluZyIpe3ZhciBPPXkuYXMsQj1EKE8seS5jcm9zc09yaWdpbiksWj10eXBlb2YgeS5pbnRlZ3JpdHk9PSJzdHJpbmciP3kuaW50ZWdyaXR5OnZvaWQgMCxfZT10eXBlb2YgeS5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj95LmZldGNoUHJpb3JpdHk6dm9pZCAwO089PT0ic3R5bGUiP3UuZC5TKGgsdHlwZW9mIHkucHJlY2VkZW5jZT09InN0cmluZyI/eS5wcmVjZWRlbmNlOnZvaWQgMCx7Y3Jvc3NPcmlnaW46QixpbnRlZ3JpdHk6WixmZXRjaFByaW9yaXR5Ol9lfSk6Tz09PSJzY3JpcHQiJiZ1LmQuWChoLHtjcm9zc09yaWdpbjpCLGludGVncml0eTpaLGZldGNoUHJpb3JpdHk6X2Usbm9uY2U6dHlwZW9mIHkubm9uY2U9PSJzdHJpbmciP3kubm9uY2U6dm9pZCAwfSl9fSxXZS5wcmVpbml0TW9kdWxlPWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciKWlmKHR5cGVvZiB5PT0ib2JqZWN0IiYmeSE9PW51bGwpe2lmKHkuYXM9PW51bGx8fHkuYXM9PT0ic2NyaXB0Iil7dmFyIE89RCh5LmFzLHkuY3Jvc3NPcmlnaW4pO3UuZC5NKGgse2Nyb3NzT3JpZ2luOk8saW50ZWdyaXR5OnR5cGVvZiB5LmludGVncml0eT09InN0cmluZyI/eS5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiB5Lm5vbmNlPT0ic3RyaW5nIj95Lm5vbmNlOnZvaWQgMH0pfX1lbHNlIHk9PW51bGwmJnUuZC5NKGgpfSxXZS5wcmVsb2FkPWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciJiZ0eXBlb2YgeT09Im9iamVjdCImJnkhPT1udWxsJiZ0eXBlb2YgeS5hcz09InN0cmluZyIpe3ZhciBPPXkuYXMsQj1EKE8seS5jcm9zc09yaWdpbik7dS5kLkwoaCxPLHtjcm9zc09yaWdpbjpCLGludGVncml0eTp0eXBlb2YgeS5pbnRlZ3JpdHk9PSJzdHJpbmciP3kuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgeS5ub25jZT09InN0cmluZyI/eS5ub25jZTp2b2lkIDAsdHlwZTp0eXBlb2YgeS50eXBlPT0ic3RyaW5nIj95LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6dHlwZW9mIHkuZmV0Y2hQcmlvcml0eT09InN0cmluZyI/eS5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeTp0eXBlb2YgeS5yZWZlcnJlclBvbGljeT09InN0cmluZyI/eS5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6dHlwZW9mIHkuaW1hZ2VTcmNTZXQ9PSJzdHJpbmciP3kuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6dHlwZW9mIHkuaW1hZ2VTaXplcz09InN0cmluZyI/eS5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYTp0eXBlb2YgeS5tZWRpYT09InN0cmluZyI/eS5tZWRpYTp2b2lkIDB9KX19LFdlLnByZWxvYWRNb2R1bGU9ZnVuY3Rpb24oaCx5KXtpZih0eXBlb2YgaD09InN0cmluZyIpaWYoeSl7dmFyIE89RCh5LmFzLHkuY3Jvc3NPcmlnaW4pO3UuZC5tKGgse2FzOnR5cGVvZiB5LmFzPT0ic3RyaW5nIiYmeS5hcyE9PSJzY3JpcHQiP3kuYXM6dm9pZCAwLGNyb3NzT3JpZ2luOk8saW50ZWdyaXR5OnR5cGVvZiB5LmludGVncml0eT09InN0cmluZyI/eS5pbnRlZ3JpdHk6dm9pZCAwfSl9ZWxzZSB1LmQubShoKX0sV2UucmVxdWVzdEZvcm1SZXNldD1mdW5jdGlvbihoKXt1LmQucihoKX0sV2UudW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oaCx5KXtyZXR1cm4gaCh5KX0sV2UudXNlRm9ybVN0YXRlPWZ1bmN0aW9uKGgseSxPKXtyZXR1cm4gTi5ILnVzZUZvcm1TdGF0ZShoLHksTyl9LFdlLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gTi5ILnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCl9LFdlLnZlcnNpb249IjE5LjEuMSIsV2V9dmFyIHRwO2Z1bmN0aW9uIGRtKCl7aWYodHApcmV0dXJuIHpyLmV4cG9ydHM7dHA9MTtmdW5jdGlvbiBjKCl7aWYoISh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPiJ1Inx8dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSE9ImZ1bmN0aW9uIikpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKHIpfX1yZXR1cm4gYygpLHpyLmV4cG9ydHM9dW0oKSx6ci5leHBvcnRzfXZhciBucDtmdW5jdGlvbiBmbSgpe2lmKG5wKXJldHVybiBSaTtucD0xO3ZhciBjPXJtKCkscj1ZcigpLGQ9ZG0oKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gdihlKXtyZXR1cm4hKCFlfHxlLm5vZGVUeXBlIT09MSYmZS5ub2RlVHlwZSE9PTkmJmUubm9kZVR5cGUhPT0xMSl9ZnVuY3Rpb24geChlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIHQ9ZSwodC5mbGFncyY0MDk4KSE9PTAmJihuPXQucmV0dXJuKSxlPXQucmV0dXJuO3doaWxlKGUpfXJldHVybiB0LnRhZz09PTM/bjpudWxsfWZ1bmN0aW9uIE4oZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKHQ9PT1udWxsJiYoZT1lLmFsdGVybmF0ZSxlIT09bnVsbCYmKHQ9ZS5tZW1vaXplZFN0YXRlKSksdCE9PW51bGwpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBEKGUpe2lmKHgoZSkhPT1lKXRocm93IEVycm9yKHUoMTg4KSl9ZnVuY3Rpb24gaChlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYodD14KGUpLHQ9PT1udWxsKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIHQhPT1lP251bGw6ZX1mb3IodmFyIG49ZSxhPXQ7Oyl7dmFyIGk9bi5yZXR1cm47aWYoaT09PW51bGwpYnJlYWs7dmFyIGw9aS5hbHRlcm5hdGU7aWYobD09PW51bGwpe2lmKGE9aS5yZXR1cm4sYSE9PW51bGwpe249YTtjb250aW51ZX1icmVha31pZihpLmNoaWxkPT09bC5jaGlsZCl7Zm9yKGw9aS5jaGlsZDtsOyl7aWYobD09PW4pcmV0dXJuIEQoaSksZTtpZihsPT09YSlyZXR1cm4gRChpKSx0O2w9bC5zaWJsaW5nfXRocm93IEVycm9yKHUoMTg4KSl9aWYobi5yZXR1cm4hPT1hLnJldHVybiluPWksYT1sO2Vsc2V7Zm9yKHZhciBvPSExLHM9aS5jaGlsZDtzOyl7aWYocz09PW4pe289ITAsbj1pLGE9bDticmVha31pZihzPT09YSl7bz0hMCxhPWksbj1sO2JyZWFrfXM9cy5zaWJsaW5nfWlmKCFvKXtmb3Iocz1sLmNoaWxkO3M7KXtpZihzPT09bil7bz0hMCxuPWwsYT1pO2JyZWFrfWlmKHM9PT1hKXtvPSEwLGE9bCxuPWk7YnJlYWt9cz1zLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IodSgxODkpKX19aWYobi5hbHRlcm5hdGUhPT1hKXRocm93IEVycm9yKHUoMTkwKSl9aWYobi50YWchPT0zKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIG4uc3RhdGVOb2RlLmN1cnJlbnQ9PT1uP2U6dH1mdW5jdGlvbiB5KGUpe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09MjZ8fHQ9PT0yN3x8dD09PTYpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKHQ9eShlKSx0IT09bnVsbClyZXR1cm4gdDtlPWUuc2libGluZ31yZXR1cm4gbnVsbH12YXIgTz1PYmplY3QuYXNzaWduLEI9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFo9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxfZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxjZT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHZlPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksd2U9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxLZT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLE9lPVN5bWJvbC5mb3IoInJlYWN0LmNvbnN1bWVyIiksb2U9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGplPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksVz1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEo9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLHllPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxiZT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksSGU9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxsZT1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vX2NhY2hlX3NlbnRpbmVsIiksUmU9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIFRlKGUpe3JldHVybiBlPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiP251bGw6KGU9UmUmJmVbUmVdfHxlWyJAQGl0ZXJhdG9yIl0sdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpudWxsKX12YXIgbHQ9U3ltYm9sLmZvcigicmVhY3QuY2xpZW50LnJlZmVyZW5jZSIpO2Z1bmN0aW9uIGN0KGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGUuJCR0eXBlb2Y9PT1sdD9udWxsOmUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgY2U6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHdlOnJldHVybiJQcm9maWxlciI7Y2FzZSB2ZTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBXOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBKOnJldHVybiJTdXNwZW5zZUxpc3QiO2Nhc2UgSGU6cmV0dXJuIkFjdGl2aXR5In1pZih0eXBlb2YgZT09Im9iamVjdCIpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgX2U6cmV0dXJuIlBvcnRhbCI7Y2FzZSBvZTpyZXR1cm4oZS5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIE9lOnJldHVybihlLl9jb250ZXh0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgamU6dmFyIHQ9ZS5yZW5kZXI7cmV0dXJuIGU9ZS5kaXNwbGF5TmFtZSxlfHwoZT10LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fCIiLGU9ZSE9PSIiPyJGb3J3YXJkUmVmKCIrZSsiKSI6IkZvcndhcmRSZWYiKSxlO2Nhc2UgeWU6cmV0dXJuIHQ9ZS5kaXNwbGF5TmFtZXx8bnVsbCx0IT09bnVsbD90OmN0KGUudHlwZSl8fCJNZW1vIjtjYXNlIGJlOnQ9ZS5fcGF5bG9hZCxlPWUuX2luaXQ7dHJ5e3JldHVybiBjdChlKHQpKX1jYXRjaHt9fXJldHVybiBudWxsfXZhciBCZT1BcnJheS5pc0FycmF5LEE9ci5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1kLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxHPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0scmU9W10scD0tMTtmdW5jdGlvbiBUKGUpe3JldHVybntjdXJyZW50OmV9fWZ1bmN0aW9uIE0oZSl7MD5wfHwoZS5jdXJyZW50PXJlW3BdLHJlW3BdPW51bGwscC0tKX1mdW5jdGlvbiBDKGUsdCl7cCsrLHJlW3BdPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgaj1UKG51bGwpLEY9VChudWxsKSxLPVQobnVsbCksb3Q9VChudWxsKTtmdW5jdGlvbiBrZShlLHQpe3N3aXRjaChDKEssdCksQyhGLGUpLEMoaixudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2tmKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKXQ9a2YodCksZT1TZih0LGUpO2Vsc2Ugc3dpdGNoKGUpe2Nhc2Uic3ZnIjplPTE7YnJlYWs7Y2FzZSJtYXRoIjplPTI7YnJlYWs7ZGVmYXVsdDplPTB9fU0oaiksQyhqLGUpfWZ1bmN0aW9uIEZ0KCl7TShqKSxNKEYpLE0oSyl9ZnVuY3Rpb24gcmMoZSl7ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmQyhvdCxlKTt2YXIgdD1qLmN1cnJlbnQsbj1TZih0LGUudHlwZSk7dCE9PW4mJihDKEYsZSksQyhqLG4pKX1mdW5jdGlvbiBxaShlKXtGLmN1cnJlbnQ9PT1lJiYoTShqKSxNKEYpKSxvdC5jdXJyZW50PT09ZSYmKE0ob3QpLFNpLl9jdXJyZW50VmFsdWU9Ryl9dmFyIHNjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdWM9Yy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLGRjPWMudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sscXA9Yy51bnN0YWJsZV9zaG91bGRZaWVsZCxVcD1jLnVuc3RhYmxlX3JlcXVlc3RQYWludCx6dD1jLnVuc3RhYmxlX25vdyxqcD1jLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLGVzPWMudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksdHM9Yy51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxVaT1jLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LEhwPWMudW5zdGFibGVfTG93UHJpb3JpdHksbnM9Yy51bnN0YWJsZV9JZGxlUHJpb3JpdHksQnA9Yy5sb2csTHA9Yy51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxOYT1udWxsLHJ0PW51bGw7ZnVuY3Rpb24gUHQoZSl7aWYodHlwZW9mIEJwPT0iZnVuY3Rpb24iJiZMcChlKSxydCYmdHlwZW9mIHJ0LnNldFN0cmljdE1vZGU9PSJmdW5jdGlvbiIpdHJ5e3J0LnNldFN0cmljdE1vZGUoTmEsZSl9Y2F0Y2h7fX12YXIgc3Q9TWF0aC5jbHozMj9NYXRoLmNsejMyOlFwLFlwPU1hdGgubG9nLEdwPU1hdGguTE4yO2Z1bmN0aW9uIFFwKGUpe3JldHVybiBlPj4+PTAsZT09PTA/MzI6MzEtKFlwKGUpL0dwfDApfDB9dmFyIGppPTI1NixIaT00MTk0MzA0O2Z1bmN0aW9uIHduKGUpe3ZhciB0PWUmNDI7aWYodCE9PTApcmV0dXJuIHQ7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OnJldHVybiA2NDtjYXNlIDEyODpyZXR1cm4gMTI4O2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBlJjQxOTQwNDg7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIGUmNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIEJpKGUsdCxuKXt2YXIgYT1lLnBlbmRpbmdMYW5lcztpZihhPT09MClyZXR1cm4gMDt2YXIgaT0wLGw9ZS5zdXNwZW5kZWRMYW5lcyxvPWUucGluZ2VkTGFuZXM7ZT1lLndhcm1MYW5lczt2YXIgcz1hJjEzNDIxNzcyNztyZXR1cm4gcyE9PTA/KGE9cyZ+bCxhIT09MD9pPXduKGEpOihvJj1zLG8hPT0wP2k9d24obyk6bnx8KG49cyZ+ZSxuIT09MCYmKGk9d24obikpKSkpOihzPWEmfmwscyE9PTA/aT13bihzKTpvIT09MD9pPXduKG8pOm58fChuPWEmfmUsbiE9PTAmJihpPXduKG4pKSkpLGk9PT0wPzA6dCE9PTAmJnQhPT1pJiYodCZsKT09PTAmJihsPWkmLWksbj10Ji10LGw+PW58fGw9PT0zMiYmKG4mNDE5NDA0OCkhPT0wKT90Oml9ZnVuY3Rpb24gT2EoZSx0KXtyZXR1cm4oZS5wZW5kaW5nTGFuZXMmfihlLnN1c3BlbmRlZExhbmVzJn5lLnBpbmdlZExhbmVzKSZ0KT09PTB9ZnVuY3Rpb24gWHAoZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA4OmNhc2UgNjQ6cmV0dXJuIHQrMjUwO2Nhc2UgMTY6Y2FzZSAzMjpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gdCs1ZTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuLTE7Y2FzZSA2NzEwODg2NDpjYXNlIDEzNDIxNzcyODpjYXNlIDI2ODQzNTQ1NjpjYXNlIDUzNjg3MDkxMjpjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuLTE7ZGVmYXVsdDpyZXR1cm4tMX19ZnVuY3Rpb24gYXMoKXt2YXIgZT1qaTtyZXR1cm4gamk8PD0xLChqaSY0MTk0MDQ4KT09PTAmJihqaT0yNTYpLGV9ZnVuY3Rpb24gaXMoKXt2YXIgZT1IaTtyZXR1cm4gSGk8PD0xLChIaSY2MjkxNDU2MCk9PT0wJiYoSGk9NDE5NDMwNCksZX1mdW5jdGlvbiBmYyhlKXtmb3IodmFyIHQ9W10sbj0wOzMxPm47bisrKXQucHVzaChlKTtyZXR1cm4gdH1mdW5jdGlvbiBEYShlLHQpe2UucGVuZGluZ0xhbmVzfD10LHQhPT0yNjg0MzU0NTYmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIFpwKGUsdCxuLGEsaSxsKXt2YXIgbz1lLnBlbmRpbmdMYW5lcztlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS53YXJtTGFuZXM9MCxlLmV4cGlyZWRMYW5lcyY9bixlLmVudGFuZ2xlZExhbmVzJj1uLGUuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmPW4sZS5zaGVsbFN1c3BlbmRDb3VudGVyPTA7dmFyIHM9ZS5lbnRhbmdsZW1lbnRzLGY9ZS5leHBpcmF0aW9uVGltZXMsaz1lLmhpZGRlblVwZGF0ZXM7Zm9yKG49byZ+bjswPG47KXt2YXIgRT0zMS1zdChuKSx6PTE8PEU7c1tFXT0wLGZbRV09LTE7dmFyIFM9a1tFXTtpZihTIT09bnVsbClmb3Ioa1tFXT1udWxsLEU9MDtFPFMubGVuZ3RoO0UrKyl7dmFyIHc9U1tFXTt3IT09bnVsbCYmKHcubGFuZSY9LTUzNjg3MDkxMyl9biY9fnp9YSE9PTAmJmxzKGUsYSwwKSxsIT09MCYmaT09PTAmJmUudGFnIT09MCYmKGUuc3VzcGVuZGVkTGFuZXN8PWwmfihvJn50KSl9ZnVuY3Rpb24gbHMoZSx0LG4pe2UucGVuZGluZ0xhbmVzfD10LGUuc3VzcGVuZGVkTGFuZXMmPX50O3ZhciBhPTMxLXN0KHQpO2UuZW50YW5nbGVkTGFuZXN8PXQsZS5lbnRhbmdsZW1lbnRzW2FdPWUuZW50YW5nbGVtZW50c1thXXwxMDczNzQxODI0fG4mNDE5NDA5MH1mdW5jdGlvbiBjcyhlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgYT0zMS1zdChuKSxpPTE8PGE7aSZ0fGVbYV0mdCYmKGVbYV18PXQpLG4mPX5pfX1mdW5jdGlvbiBwYyhlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjplPTEyODticmVhaztjYXNlIDI2ODQzNTQ1NjplPTEzNDIxNzcyODticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBfYyhlKXtyZXR1cm4gZSY9LWUsMjxlPzg8ZT8oZSYxMzQyMTc3MjcpIT09MD8zMjoyNjg0MzU0NTY6ODoyfWZ1bmN0aW9uIG9zKCl7dmFyIGU9cS5wO3JldHVybiBlIT09MD9lOihlPXdpbmRvdy5ldmVudCxlPT09dm9pZCAwPzMyOllmKGUudHlwZSkpfWZ1bmN0aW9uIFZwKGUsdCl7dmFyIG49cS5wO3RyeXtyZXR1cm4gcS5wPWUsdCgpfWZpbmFsbHl7cS5wPW59fXZhciBJdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxKZT0iX19yZWFjdEZpYmVyJCIrSXQsSWU9Il9fcmVhY3RQcm9wcyQiK0l0LFFuPSJfX3JlYWN0Q29udGFpbmVyJCIrSXQsaGM9Il9fcmVhY3RFdmVudHMkIitJdCxLcD0iX19yZWFjdExpc3RlbmVycyQiK0l0LEpwPSJfX3JlYWN0SGFuZGxlcyQiK0l0LHJzPSJfX3JlYWN0UmVzb3VyY2VzJCIrSXQsTWE9Il9fcmVhY3RNYXJrZXIkIitJdDtmdW5jdGlvbiBtYyhlKXtkZWxldGUgZVtKZV0sZGVsZXRlIGVbSWVdLGRlbGV0ZSBlW2hjXSxkZWxldGUgZVtLcF0sZGVsZXRlIGVbSnBdfWZ1bmN0aW9uIFhuKGUpe3ZhciB0PWVbSmVdO2lmKHQpcmV0dXJuIHQ7Zm9yKHZhciBuPWUucGFyZW50Tm9kZTtuOyl7aWYodD1uW1FuXXx8bltKZV0pe2lmKG49dC5hbHRlcm5hdGUsdC5jaGlsZCE9PW51bGx8fG4hPT1udWxsJiZuLmNoaWxkIT09bnVsbClmb3IoZT1BZihlKTtlIT09bnVsbDspe2lmKG49ZVtKZV0pcmV0dXJuIG47ZT1BZihlKX1yZXR1cm4gdH1lPW4sbj1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWm4oZSl7aWYoZT1lW0plXXx8ZVtRbl0pe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09Nnx8dD09PTEzfHx0PT09MjZ8fHQ9PT0yN3x8dD09PTMpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ2EoZSl7dmFyIHQ9ZS50YWc7aWYodD09PTV8fHQ9PT0yNnx8dD09PTI3fHx0PT09NilyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIFZuKGUpe3ZhciB0PWVbcnNdO3JldHVybiB0fHwodD1lW3JzXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBMZShlKXtlW01hXT0hMH12YXIgc3M9bmV3IFNldCx1cz17fTtmdW5jdGlvbiB4bihlLHQpe0tuKGUsdCksS24oZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gS24oZSx0KXtmb3IodXNbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspc3MuYWRkKHRbZV0pfXZhciAkcD1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSxkcz17fSxmcz17fTtmdW5jdGlvbiBXcChlKXtyZXR1cm4gc2MuY2FsbChmcyxlKT8hMDpzYy5jYWxsKGRzLGUpPyExOiRwLnRlc3QoZSk/ZnNbZV09ITA6KGRzW2VdPSEwLCExKX1mdW5jdGlvbiBMaShlLHQsbil7aWYoV3AodCkpaWYobj09PW51bGwpZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIGE9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoYSE9PSJkYXRhLSImJmEhPT0iYXJpYS0iKXtlLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59fWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihuPT09bnVsbCllLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiBVdChlLHQsbixhKXtpZihhPT09bnVsbCllLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIithKX19dmFyIGdjLHBzO2Z1bmN0aW9uIEpuKGUpe2lmKGdjPT09dm9pZCAwKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKG4pe3ZhciB0PW4uc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtnYz10JiZ0WzFdfHwiIixwcz0tMTxuLnN0YWNrLmluZGV4T2YoYAogICAgYXRgKT8iICg8YW5vbnltb3VzPikiOi0xPG4uc3RhY2suaW5kZXhPZigiQCIpPyJAdW5rbm93bjowOjAiOiIifXJldHVybmAKYCtnYytlK3BzfXZhciB2Yz0hMTtmdW5jdGlvbiB5YyhlLHQpe2lmKCFlfHx2YylyZXR1cm4iIjt2Yz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciBhPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIHo9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkoei5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QoeixbXSl9Y2F0Y2godyl7dmFyIFM9d31SZWZsZWN0LmNvbnN0cnVjdChlLFtdLHopfWVsc2V7dHJ5e3ouY2FsbCgpfWNhdGNoKHcpe1M9d31lLmNhbGwoei5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKHcpe1M9d30oej1lKCkpJiZ0eXBlb2Ygei5jYXRjaD09ImZ1bmN0aW9uIiYmei5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaCh3KXtpZih3JiZTJiZ0eXBlb2Ygdy5zdGFjaz09InN0cmluZyIpcmV0dXJuW3cuc3RhY2ssUy5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTthLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7aSYmaS5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGw9YS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWxbMF0scz1sWzFdO2lmKG8mJnMpe3ZhciBmPW8uc3BsaXQoYApgKSxrPXMuc3BsaXQoYApgKTtmb3IoaT1hPTA7YTxmLmxlbmd0aCYmIWZbYV0uaW5jbHVkZXMoIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCIpOylhKys7Zm9yKDtpPGsubGVuZ3RoJiYha1tpXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KWkrKztpZihhPT09Zi5sZW5ndGh8fGk9PT1rLmxlbmd0aClmb3IoYT1mLmxlbmd0aC0xLGk9ay5sZW5ndGgtMTsxPD1hJiYwPD1pJiZmW2FdIT09a1tpXTspaS0tO2Zvcig7MTw9YSYmMDw9aTthLS0saS0tKWlmKGZbYV0hPT1rW2ldKXtpZihhIT09MXx8aSE9PTEpZG8gaWYoYS0tLGktLSwwPml8fGZbYV0hPT1rW2ldKXt2YXIgRT1gCmArZlthXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmRS5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKEU9RS5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLEV9d2hpbGUoMTw9YSYmMDw9aSk7YnJlYWt9fX1maW5hbGx5e3ZjPSExLEVycm9yLnByZXBhcmVTdGFja1RyYWNlPW59cmV0dXJuKG49ZT9lLmRpc3BsYXlOYW1lfHxlLm5hbWU6IiIpP0puKG4pOiIifWZ1bmN0aW9uIEZwKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gSm4oZS50eXBlKTtjYXNlIDE2OnJldHVybiBKbigiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIEpuKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIEpuKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAxNTpyZXR1cm4geWMoZS50eXBlLCExKTtjYXNlIDExOnJldHVybiB5YyhlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIHljKGUudHlwZSwhMCk7Y2FzZSAzMTpyZXR1cm4gSm4oIkFjdGl2aXR5Iik7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gX3MoZSl7dHJ5e3ZhciB0PSIiO2RvIHQrPUZwKGUpLGU9ZS5yZXR1cm47d2hpbGUoZSk7cmV0dXJuIHR9Y2F0Y2gobil7cmV0dXJuYApFcnJvciBnZW5lcmF0aW5nIHN0YWNrOiBgK24ubWVzc2FnZStgCmArbi5zdGFja319ZnVuY3Rpb24gZ3QoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpyZXR1cm4gZTtjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiZlLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYodD09PSJjaGVja2JveCJ8fHQ9PT0icmFkaW8iKX1mdW5jdGlvbiBQcChlKXt2YXIgdD1ocyhlKT8iY2hlY2tlZCI6InZhbHVlIixuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCksYT0iIitlW3RdO2lmKCFlLmhhc093blByb3BlcnR5KHQpJiZ0eXBlb2YgbjwidSImJnR5cGVvZiBuLmdldD09ImZ1bmN0aW9uIiYmdHlwZW9mIG4uc2V0PT0iZnVuY3Rpb24iKXt2YXIgaT1uLmdldCxsPW4uc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKG8pe2E9IiIrbyxsLmNhbGwodGhpcyxvKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOm4uZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBhfSxzZXRWYWx1ZTpmdW5jdGlvbihvKXthPSIiK299LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fWZ1bmN0aW9uIEdpKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1QcChlKSl9ZnVuY3Rpb24gbXMoZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS5fdmFsdWVUcmFja2VyO2lmKCF0KXJldHVybiEwO3ZhciBuPXQuZ2V0VmFsdWUoKSxhPSIiO3JldHVybiBlJiYoYT1ocyhlKT9lLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6ZS52YWx1ZSksZT1hLGUhPT1uPyh0LnNldFZhbHVlKGUpLCEwKTohMX1mdW5jdGlvbiBRaShlKXtpZihlPWV8fCh0eXBlb2YgZG9jdW1lbnQ8InUiP2RvY3VtZW50OnZvaWQgMCksdHlwZW9mIGU+InUiKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2h7cmV0dXJuIGUuYm9keX19dmFyIElwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuIGUucmVwbGFjZShJcCxmdW5jdGlvbih0KXtyZXR1cm4iXFwiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gYmMoZSx0LG4sYSxpLGwsbyxzKXtlLm5hbWU9IiIsbyE9bnVsbCYmdHlwZW9mIG8hPSJmdW5jdGlvbiImJnR5cGVvZiBvIT0ic3ltYm9sIiYmdHlwZW9mIG8hPSJib29sZWFuIj9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLHQhPW51bGw/bz09PSJudW1iZXIiPyh0PT09MCYmZS52YWx1ZT09PSIifHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrZ3QodCkpOmUudmFsdWUhPT0iIitndCh0KSYmKGUudmFsdWU9IiIrZ3QodCkpOm8hPT0ic3VibWl0IiYmbyE9PSJyZXNldCJ8fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLHQhPW51bGw/a2MoZSxvLGd0KHQpKTpuIT1udWxsP2tjKGUsbyxndChuKSk6YSE9bnVsbCYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksaT09bnVsbCYmbCE9bnVsbCYmKGUuZGVmYXVsdENoZWNrZWQ9ISFsKSxpIT1udWxsJiYoZS5jaGVja2VkPWkmJnR5cGVvZiBpIT0iZnVuY3Rpb24iJiZ0eXBlb2YgaSE9InN5bWJvbCIpLHMhPW51bGwmJnR5cGVvZiBzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgcyE9InN5bWJvbCImJnR5cGVvZiBzIT0iYm9vbGVhbiI/ZS5uYW1lPSIiK2d0KHMpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gZ3MoZSx0LG4sYSxpLGwsbyxzKXtpZihsIT1udWxsJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJzeW1ib2wiJiZ0eXBlb2YgbCE9ImJvb2xlYW4iJiYoZS50eXBlPWwpLHQhPW51bGx8fG4hPW51bGwpe2lmKCEobCE9PSJzdWJtaXQiJiZsIT09InJlc2V0Inx8dCE9bnVsbCkpcmV0dXJuO249biE9bnVsbD8iIitndChuKToiIix0PXQhPW51bGw/IiIrZ3QodCk6bixzfHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH1hPWE/P2ksYT10eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhIWEsZS5jaGVja2VkPXM/ZS5jaGVja2VkOiEhYSxlLmRlZmF1bHRDaGVja2VkPSEhYSxvIT1udWxsJiZ0eXBlb2YgbyE9ImZ1bmN0aW9uIiYmdHlwZW9mIG8hPSJzeW1ib2wiJiZ0eXBlb2YgbyE9ImJvb2xlYW4iJiYoZS5uYW1lPW8pfWZ1bmN0aW9uIGtjKGUsdCxuKXt0PT09Im51bWJlciImJlFpKGUub3duZXJEb2N1bWVudCk9PT1lfHxlLmRlZmF1bHRWYWx1ZT09PSIiK258fChlLmRlZmF1bHRWYWx1ZT0iIituKX1mdW5jdGlvbiAkbihlLHQsbixhKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXRbIiQiK25baV1dPSEwO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspaT10Lmhhc093blByb3BlcnR5KCIkIitlW25dLnZhbHVlKSxlW25dLnNlbGVjdGVkIT09aSYmKGVbbl0uc2VsZWN0ZWQ9aSksaSYmYSYmKGVbbl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihuPSIiK2d0KG4pLHQ9bnVsbCxpPTA7aTxlLmxlbmd0aDtpKyspe2lmKGVbaV0udmFsdWU9PT1uKXtlW2ldLnNlbGVjdGVkPSEwLGEmJihlW2ldLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufXQhPT1udWxsfHxlW2ldLmRpc2FibGVkfHwodD1lW2ldKX10IT09bnVsbCYmKHQuc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiB2cyhlLHQsbil7aWYodCE9bnVsbCYmKHQ9IiIrZ3QodCksdCE9PWUudmFsdWUmJihlLnZhbHVlPXQpLG49PW51bGwpKXtlLmRlZmF1bHRWYWx1ZSE9PXQmJihlLmRlZmF1bHRWYWx1ZT10KTtyZXR1cm59ZS5kZWZhdWx0VmFsdWU9biE9bnVsbD8iIitndChuKToiIn1mdW5jdGlvbiB5cyhlLHQsbixhKXtpZih0PT1udWxsKXtpZihhIT1udWxsKXtpZihuIT1udWxsKXRocm93IEVycm9yKHUoOTIpKTtpZihCZShhKSl7aWYoMTxhLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7YT1hWzBdfW49YX1uPT1udWxsJiYobj0iIiksdD1ufW49Z3QodCksZS5kZWZhdWx0VmFsdWU9bixhPWUudGV4dENvbnRlbnQsYT09PW4mJmEhPT0iIiYmYSE9PW51bGwmJihlLnZhbHVlPWEpfWZ1bmN0aW9uIFduKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmbi5ub2RlVHlwZT09PTMpe24ubm9kZVZhbHVlPXQ7cmV0dXJufX1lLnRleHRDb250ZW50PXR9dmFyIGVfPW5ldyBTZXQoImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IGFzcGVjdFJhdGlvIGJvcmRlckltYWdlT3V0c2V0IGJvcmRlckltYWdlU2xpY2UgYm9yZGVySW1hZ2VXaWR0aCBib3hGbGV4IGJveEZsZXhHcm91cCBib3hPcmRpbmFsR3JvdXAgY29sdW1uQ291bnQgY29sdW1ucyBmbGV4IGZsZXhHcm93IGZsZXhQb3NpdGl2ZSBmbGV4U2hyaW5rIGZsZXhOZWdhdGl2ZSBmbGV4T3JkZXIgZ3JpZEFyZWEgZ3JpZFJvdyBncmlkUm93RW5kIGdyaWRSb3dTcGFuIGdyaWRSb3dTdGFydCBncmlkQ29sdW1uIGdyaWRDb2x1bW5FbmQgZ3JpZENvbHVtblNwYW4gZ3JpZENvbHVtblN0YXJ0IGZvbnRXZWlnaHQgbGluZUNsYW1wIGxpbmVIZWlnaHQgb3BhY2l0eSBvcmRlciBvcnBoYW5zIHNjYWxlIHRhYlNpemUgd2lkb3dzIHpJbmRleCB6b29tIGZpbGxPcGFjaXR5IGZsb29kT3BhY2l0eSBzdG9wT3BhY2l0eSBzdHJva2VEYXNoYXJyYXkgc3Ryb2tlRGFzaG9mZnNldCBzdHJva2VNaXRlcmxpbWl0IHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2lkdGggTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgTW96Qm94RmxleCBNb3pCb3hGbGV4R3JvdXAgTW96TGluZUNsYW1wIG1zQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgbXNGbGV4IG1zWm9vbSBtc0ZsZXhHcm93IG1zRmxleE5lZ2F0aXZlIG1zRmxleE9yZGVyIG1zRmxleFBvc2l0aXZlIG1zRmxleFNocmluayBtc0dyaWRDb2x1bW4gbXNHcmlkQ29sdW1uU3BhbiBtc0dyaWRSb3cgbXNHcmlkUm93U3BhbiBXZWJraXRBbmltYXRpb25JdGVyYXRpb25Db3VudCBXZWJraXRCb3hGbGV4IFdlYktpdEJveEZsZXhHcm91cCBXZWJraXRCb3hPcmRpbmFsR3JvdXAgV2Via2l0Q29sdW1uQ291bnQgV2Via2l0Q29sdW1ucyBXZWJraXRGbGV4IFdlYmtpdEZsZXhHcm93IFdlYmtpdEZsZXhQb3NpdGl2ZSBXZWJraXRGbGV4U2hyaW5rIFdlYmtpdExpbmVDbGFtcCIuc3BsaXQoIiAiKSk7ZnVuY3Rpb24gYnMoZSx0LG4pe3ZhciBhPXQuaW5kZXhPZigiLS0iKT09PTA7bj09bnVsbHx8dHlwZW9mIG49PSJib29sZWFuInx8bj09PSIiP2E/ZS5zZXRQcm9wZXJ0eSh0LCIiKTp0PT09ImZsb2F0Ij9lLmNzc0Zsb2F0PSIiOmVbdF09IiI6YT9lLnNldFByb3BlcnR5KHQsbik6dHlwZW9mIG4hPSJudW1iZXIifHxuPT09MHx8ZV8uaGFzKHQpP3Q9PT0iZmxvYXQiP2UuY3NzRmxvYXQ9bjplW3RdPSgiIituKS50cmltKCk6ZVt0XT1uKyJweCJ9ZnVuY3Rpb24ga3MoZSx0LG4pe2lmKHQhPW51bGwmJnR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBFcnJvcih1KDYyKSk7aWYoZT1lLnN0eWxlLG4hPW51bGwpe2Zvcih2YXIgYSBpbiBuKSFuLmhhc093blByb3BlcnR5KGEpfHx0IT1udWxsJiZ0Lmhhc093blByb3BlcnR5KGEpfHwoYS5pbmRleE9mKCItLSIpPT09MD9lLnNldFByb3BlcnR5KGEsIiIpOmE9PT0iZmxvYXQiP2UuY3NzRmxvYXQ9IiI6ZVthXT0iIik7Zm9yKHZhciBpIGluIHQpYT10W2ldLHQuaGFzT3duUHJvcGVydHkoaSkmJm5baV0hPT1hJiZicyhlLGksYSl9ZWxzZSBmb3IodmFyIGwgaW4gdCl0Lmhhc093blByb3BlcnR5KGwpJiZicyhlLGwsdFtsXSl9ZnVuY3Rpb24gU2MoZSl7aWYoZS5pbmRleE9mKCItIik9PT0tMSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdF89bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksbl89L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gWGkoZSl7cmV0dXJuIG5fLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9dmFyIHdjPW51bGw7ZnVuY3Rpb24geGMoZSl7cmV0dXJuIGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93LGUuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQmJihlPWUuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpLGUubm9kZVR5cGU9PT0zP2UucGFyZW50Tm9kZTplfXZhciBGbj1udWxsLFBuPW51bGw7ZnVuY3Rpb24gU3MoZSl7dmFyIHQ9Wm4oZSk7aWYodCYmKGU9dC5zdGF0ZU5vZGUpKXt2YXIgbj1lW0llXXx8bnVsbDtlOnN3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYoYmMoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLG4udHlwZT09PSJyYWRpbyImJnQhPW51bGwpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdnQoIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciBhPW5bdF07aWYoYSE9PWUmJmEuZm9ybT09PWUuZm9ybSl7dmFyIGk9YVtJZV18fG51bGw7aWYoIWkpdGhyb3cgRXJyb3IodSg5MCkpO2JjKGEsaS52YWx1ZSxpLmRlZmF1bHRWYWx1ZSxpLmRlZmF1bHRWYWx1ZSxpLmNoZWNrZWQsaS5kZWZhdWx0Q2hlY2tlZCxpLnR5cGUsaS5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKylhPW5bdF0sYS5mb3JtPT09ZS5mb3JtJiZtcyhhKX1icmVhayBlO2Nhc2UidGV4dGFyZWEiOnZzKGUsbi52YWx1ZSxuLmRlZmF1bHRWYWx1ZSk7YnJlYWsgZTtjYXNlInNlbGVjdCI6dD1uLnZhbHVlLHQhPW51bGwmJiRuKGUsISFuLm11bHRpcGxlLHQsITEpfX19dmFyIFRjPSExO2Z1bmN0aW9uIHdzKGUsdCxuKXtpZihUYylyZXR1cm4gZSh0LG4pO1RjPSEwO3RyeXt2YXIgYT1lKHQpO3JldHVybiBhfWZpbmFsbHl7aWYoVGM9ITEsKEZuIT09bnVsbHx8UG4hPT1udWxsKSYmKHpsKCksRm4mJih0PUZuLGU9UG4sUG49Rm49bnVsbCxTcyh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKylTcyhlW3RdKX19ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihuPT09bnVsbClyZXR1cm4gbnVsbDt2YXIgYT1uW0llXXx8bnVsbDtpZihhPT09bnVsbClyZXR1cm4gbnVsbDtuPWFbdF07ZTpzd2l0Y2godCl7Y2FzZSJvbkNsaWNrIjpjYXNlIm9uQ2xpY2tDYXB0dXJlIjpjYXNlIm9uRG91YmxlQ2xpY2siOmNhc2Uib25Eb3VibGVDbGlja0NhcHR1cmUiOmNhc2Uib25Nb3VzZURvd24iOmNhc2Uib25Nb3VzZURvd25DYXB0dXJlIjpjYXNlIm9uTW91c2VNb3ZlIjpjYXNlIm9uTW91c2VNb3ZlQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlVXAiOmNhc2Uib25Nb3VzZVVwQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRW50ZXIiOihhPSFhLmRpc2FibGVkKXx8KGU9ZS50eXBlLGE9IShlPT09ImJ1dHRvbiJ8fGU9PT0iaW5wdXQifHxlPT09InNlbGVjdCJ8fGU9PT0idGV4dGFyZWEiKSksZT0hYTticmVhayBlO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJnR5cGVvZiBuIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKHUoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn12YXIganQ9ISh0eXBlb2Ygd2luZG93PiJ1Inx8dHlwZW9mIHdpbmRvdy5kb2N1bWVudD4idSJ8fHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudD4idSIpLEFjPSExO2lmKGp0KXRyeXt2YXIgVWE9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFVhLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7QWM9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFVhLFVhKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVWEsVWEpfWNhdGNoe0FjPSExfXZhciBlbj1udWxsLEVjPW51bGwsWmk9bnVsbDtmdW5jdGlvbiB4cygpe2lmKFppKXJldHVybiBaaTt2YXIgZSx0PUVjLG49dC5sZW5ndGgsYSxpPSJ2YWx1ZSJpbiBlbj9lbi52YWx1ZTplbi50ZXh0Q29udGVudCxsPWkubGVuZ3RoO2ZvcihlPTA7ZTxuJiZ0W2VdPT09aVtlXTtlKyspO3ZhciBvPW4tZTtmb3IoYT0xO2E8PW8mJnRbbi1hXT09PWlbbC1hXTthKyspO3JldHVybiBaaT1pLnNsaWNlKGUsMTxhPzEtYTp2b2lkIDApfWZ1bmN0aW9uIFZpKGUpe3ZhciB0PWUua2V5Q29kZTtyZXR1cm4iY2hhckNvZGUiaW4gZT8oZT1lLmNoYXJDb2RlLGU9PT0wJiZ0PT09MTMmJihlPTEzKSk6ZT10LGU9PT0xMCYmKGU9MTMpLDMyPD1lfHxlPT09MTM/ZTowfWZ1bmN0aW9uIEtpKCl7cmV0dXJuITB9ZnVuY3Rpb24gVHMoKXtyZXR1cm4hMX1mdW5jdGlvbiBldChlKXtmdW5jdGlvbiB0KG4sYSxpLGwsbyl7dGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1pLHRoaXMudHlwZT1hLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1vLHRoaXMuY3VycmVudFRhcmdldD1udWxsO2Zvcih2YXIgcyBpbiBlKWUuaGFzT3duUHJvcGVydHkocykmJihuPWVbc10sdGhpc1tzXT1uP24obCk6bFtzXSk7cmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPShsLmRlZmF1bHRQcmV2ZW50ZWQhPW51bGw/bC5kZWZhdWx0UHJldmVudGVkOmwucmV0dXJuVmFsdWU9PT0hMSk/S2k6VHMsdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1Ucyx0aGlzfXJldHVybiBPKHQucHJvdG90eXBlLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnByZXZlbnREZWZhdWx0P24ucHJldmVudERlZmF1bHQoKTp0eXBlb2Ygbi5yZXR1cm5WYWx1ZSE9InVua25vd24iJiYobi5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9S2kpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnN0b3BQcm9wYWdhdGlvbj9uLnN0b3BQcm9wYWdhdGlvbigpOnR5cGVvZiBuLmNhbmNlbEJ1YmJsZSE9InVua25vd24iJiYobi5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9S2kpfSxwZXJzaXN0OmZ1bmN0aW9uKCl7fSxpc1BlcnNpc3RlbnQ6S2l9KSx0fXZhciBUbj17ZXZlbnRQaGFzZTowLGJ1YmJsZXM6MCxjYW5jZWxhYmxlOjAsdGltZVN0YW1wOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKX0sZGVmYXVsdFByZXZlbnRlZDowLGlzVHJ1c3RlZDowfSxKaT1ldChUbiksamE9Tyh7fSxUbix7dmlldzowLGRldGFpbDowfSksYV89ZXQoamEpLFJjLHpjLEhhLCRpPU8oe30samEse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6T2MsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVsYXRlZFRhcmdldD09PXZvaWQgMD9lLmZyb21FbGVtZW50PT09ZS5zcmNFbGVtZW50P2UudG9FbGVtZW50OmUuZnJvbUVsZW1lbnQ6ZS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WCJpbiBlP2UubW92ZW1lbnRYOihlIT09SGEmJihIYSYmZS50eXBlPT09Im1vdXNlbW92ZSI/KFJjPWUuc2NyZWVuWC1IYS5zY3JlZW5YLHpjPWUuc2NyZWVuWS1IYS5zY3JlZW5ZKTp6Yz1SYz0wLEhhPWUpLFJjKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFkiaW4gZT9lLm1vdmVtZW50WTp6Y319KSxBcz1ldCgkaSksaV89Tyh7fSwkaSx7ZGF0YVRyYW5zZmVyOjB9KSxsXz1ldChpXyksY189Tyh7fSxqYSx7cmVsYXRlZFRhcmdldDowfSksTmM9ZXQoY18pLG9fPU8oe30sVG4se2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLHJfPWV0KG9fKSxzXz1PKHt9LFRuLHtjbGlwYm9hcmREYXRhOmZ1bmN0aW9uKGUpe3JldHVybiJjbGlwYm9hcmREYXRhImluIGU/ZS5jbGlwYm9hcmREYXRhOndpbmRvdy5jbGlwYm9hcmREYXRhfX0pLHVfPWV0KHNfKSxkXz1PKHt9LFRuLHtkYXRhOjB9KSxFcz1ldChkXyksZl89e0VzYzoiRXNjYXBlIixTcGFjZWJhcjoiICIsTGVmdDoiQXJyb3dMZWZ0IixVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LHBfPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0sX189e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBoXyhlKXt2YXIgdD10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiB0LmdldE1vZGlmaWVyU3RhdGU/dC5nZXRNb2RpZmllclN0YXRlKGUpOihlPV9fW2VdKT8hIXRbZV06ITF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gaF99dmFyIG1fPU8oe30samEse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9Zl9bZS5rZXldfHxlLmtleTtpZih0IT09IlVuaWRlbnRpZmllZCIpcmV0dXJuIHR9cmV0dXJuIGUudHlwZT09PSJrZXlwcmVzcyI/KGU9VmkoZSksZT09PTEzPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKSk6ZS50eXBlPT09ImtleWRvd24ifHxlLnR5cGU9PT0ia2V5dXAiP3BfW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpPYyxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImtleXByZXNzIj9WaShlKTowfSxrZXlDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5ZG93biJ8fGUudHlwZT09PSJrZXl1cCI/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5cHJlc3MiP1ZpKGUpOmUudHlwZT09PSJrZXlkb3duInx8ZS50eXBlPT09ImtleXVwIj9lLmtleUNvZGU6MH19KSxnXz1ldChtXyksdl89Tyh7fSwkaSx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSxScz1ldCh2XykseV89Tyh7fSxqYSx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOk9jfSksYl89ZXQoeV8pLGtfPU8oe30sVG4se3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSksU189ZXQoa18pLHdfPU8oe30sJGkse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSx4Xz1ldCh3XyksVF89Tyh7fSxUbix7bmV3U3RhdGU6MCxvbGRTdGF0ZTowfSksQV89ZXQoVF8pLEVfPVs5LDEzLDI3LDMyXSxEYz1qdCYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LEJhPW51bGw7anQmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihCYT1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBSXz1qdCYmIlRleHRFdmVudCJpbiB3aW5kb3cmJiFCYSx6cz1qdCYmKCFEY3x8QmEmJjg8QmEmJjExPj1CYSksTnM9IiAiLE9zPSExO2Z1bmN0aW9uIERzKGUsdCl7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybiBFXy5pbmRleE9mKHQua2V5Q29kZSkhPT0tMTtjYXNlImtleWRvd24iOnJldHVybiB0LmtleUNvZGUhPT0yMjk7Y2FzZSJrZXlwcmVzcyI6Y2FzZSJtb3VzZWRvd24iOmNhc2UiZm9jdXNvdXQiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIE1zKGUpe3JldHVybiBlPWUuZGV0YWlsLHR5cGVvZiBlPT0ib2JqZWN0IiYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgSW49ITE7ZnVuY3Rpb24gel8oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIE1zKHQpO2Nhc2Uia2V5cHJlc3MiOnJldHVybiB0LndoaWNoIT09MzI/bnVsbDooT3M9ITAsTnMpO2Nhc2UidGV4dElucHV0IjpyZXR1cm4gZT10LmRhdGEsZT09PU5zJiZPcz9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gTl8oZSx0KXtpZihJbilyZXR1cm4gZT09PSJjb21wb3NpdGlvbmVuZCJ8fCFEYyYmRHMoZSx0KT8oZT14cygpLFppPUVjPWVuPW51bGwsSW49ITEsZSk6bnVsbDtzd2l0Y2goZSl7Y2FzZSJwYXN0ZSI6cmV0dXJuIG51bGw7Y2FzZSJrZXlwcmVzcyI6aWYoISh0LmN0cmxLZXl8fHQuYWx0S2V5fHx0Lm1ldGFLZXkpfHx0LmN0cmxLZXkmJnQuYWx0S2V5KXtpZih0LmNoYXImJjE8dC5jaGFyLmxlbmd0aClyZXR1cm4gdC5jaGFyO2lmKHQud2hpY2gpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodC53aGljaCl9cmV0dXJuIG51bGw7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIHpzJiZ0LmxvY2FsZSE9PSJrbyI/bnVsbDp0LmRhdGE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIE9fPXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBDcyhlKXt2YXIgdD1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iaW5wdXQiPyEhT19bZS50eXBlXTp0PT09InRleHRhcmVhIn1mdW5jdGlvbiBxcyhlLHQsbixhKXtGbj9Qbj9Qbi5wdXNoKGEpOlBuPVthXTpGbj1hLHQ9cWwodCwib25DaGFuZ2UiKSwwPHQubGVuZ3RoJiYobj1uZXcgSmkoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sYSksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBMYT1udWxsLFlhPW51bGw7ZnVuY3Rpb24gRF8oZSl7bWYoZSwwKX1mdW5jdGlvbiBXaShlKXt2YXIgdD1DYShlKTtpZihtcyh0KSlyZXR1cm4gZX1mdW5jdGlvbiBVcyhlLHQpe2lmKGU9PT0iY2hhbmdlIilyZXR1cm4gdH12YXIganM9ITE7aWYoanQpe3ZhciBNYztpZihqdCl7dmFyIENjPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFDYyl7dmFyIEhzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0hzLnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxDYz10eXBlb2YgSHMub25pbnB1dD09ImZ1bmN0aW9uIn1NYz1DY31lbHNlIE1jPSExO2pzPU1jJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIEJzKCl7TGEmJihMYS5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsTHMpLFlhPUxhPW51bGwpfWZ1bmN0aW9uIExzKGUpe2lmKGUucHJvcGVydHlOYW1lPT09InZhbHVlIiYmV2koWWEpKXt2YXIgdD1bXTtxcyh0LFlhLGUseGMoZSkpLHdzKERfLHQpfX1mdW5jdGlvbiBNXyhlLHQsbil7ZT09PSJmb2N1c2luIj8oQnMoKSxMYT10LFlhPW4sTGEuYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLExzKSk6ZT09PSJmb2N1c291dCImJkJzKCl9ZnVuY3Rpb24gQ18oZSl7aWYoZT09PSJzZWxlY3Rpb25jaGFuZ2UifHxlPT09ImtleXVwInx8ZT09PSJrZXlkb3duIilyZXR1cm4gV2koWWEpfWZ1bmN0aW9uIHFfKGUsdCl7aWYoZT09PSJjbGljayIpcmV0dXJuIFdpKHQpfWZ1bmN0aW9uIFVfKGUsdCl7aWYoZT09PSJpbnB1dCJ8fGU9PT0iY2hhbmdlIilyZXR1cm4gV2kodCl9ZnVuY3Rpb24gal8oZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT09MS90KXx8ZSE9PWUmJnQhPT10fXZhciB1dD10eXBlb2YgT2JqZWN0LmlzPT0iZnVuY3Rpb24iP09iamVjdC5pczpqXztmdW5jdGlvbiBHYShlLHQpe2lmKHV0KGUsdCkpcmV0dXJuITA7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QifHx0PT09bnVsbClyZXR1cm4hMTt2YXIgbj1PYmplY3Qua2V5cyhlKSxhPU9iamVjdC5rZXlzKHQpO2lmKG4ubGVuZ3RoIT09YS5sZW5ndGgpcmV0dXJuITE7Zm9yKGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXTtpZighc2MuY2FsbCh0LGkpfHwhdXQoZVtpXSx0W2ldKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBZcyhlKXtmb3IoO2UmJmUuZmlyc3RDaGlsZDspZT1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGV9ZnVuY3Rpb24gR3MoZSx0KXt2YXIgbj1ZcyhlKTtlPTA7Zm9yKHZhciBhO247KXtpZihuLm5vZGVUeXBlPT09Myl7aWYoYT1lK24udGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJmE+PXQpcmV0dXJue25vZGU6bixvZmZzZXQ6dC1lfTtlPWF9ZTp7Zm9yKDtuOyl7aWYobi5uZXh0U2libGluZyl7bj1uLm5leHRTaWJsaW5nO2JyZWFrIGV9bj1uLnBhcmVudE5vZGV9bj12b2lkIDB9bj1ZcyhuKX19ZnVuY3Rpb24gUXMoZSx0KXtyZXR1cm4gZSYmdD9lPT09dD8hMDplJiZlLm5vZGVUeXBlPT09Mz8hMTp0JiZ0Lm5vZGVUeXBlPT09Mz9RcyhlLHQucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyh0KTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPyEhKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmMTYpOiExOiExfWZ1bmN0aW9uIFhzKGUpe2U9ZSE9bnVsbCYmZS5vd25lckRvY3VtZW50IT1udWxsJiZlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXchPW51bGw/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OndpbmRvdztmb3IodmFyIHQ9UWkoZS5kb2N1bWVudCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmPT0ic3RyaW5nIn1jYXRjaHtuPSExfWlmKG4pZT10LmNvbnRlbnRXaW5kb3c7ZWxzZSBicmVhazt0PVFpKGUuZG9jdW1lbnQpfXJldHVybiB0fWZ1bmN0aW9uIHFjKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmKHQ9PT0iaW5wdXQiJiYoZS50eXBlPT09InRleHQifHxlLnR5cGU9PT0ic2VhcmNoInx8ZS50eXBlPT09InRlbCJ8fGUudHlwZT09PSJ1cmwifHxlLnR5cGU9PT0icGFzc3dvcmQiKXx8dD09PSJ0ZXh0YXJlYSJ8fGUuY29udGVudEVkaXRhYmxlPT09InRydWUiKX12YXIgSF89anQmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZWE9bnVsbCxVYz1udWxsLFFhPW51bGwsamM9ITE7ZnVuY3Rpb24gWnMoZSx0LG4pe3ZhciBhPW4ud2luZG93PT09bj9uLmRvY3VtZW50Om4ubm9kZVR5cGU9PT05P246bi5vd25lckRvY3VtZW50O2pjfHxlYT09bnVsbHx8ZWEhPT1RaShhKXx8KGE9ZWEsInNlbGVjdGlvblN0YXJ0ImluIGEmJnFjKGEpP2E9e3N0YXJ0OmEuc2VsZWN0aW9uU3RhcnQsZW5kOmEuc2VsZWN0aW9uRW5kfTooYT0oYS5vd25lckRvY3VtZW50JiZhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCksYT17YW5jaG9yTm9kZTphLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0OmEuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTphLmZvY3VzTm9kZSxmb2N1c09mZnNldDphLmZvY3VzT2Zmc2V0fSksUWEmJkdhKFFhLGEpfHwoUWE9YSxhPXFsKFVjLCJvblNlbGVjdCIpLDA8YS5sZW5ndGgmJih0PW5ldyBKaSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOmF9KSx0LnRhcmdldD1lYSkpKX1mdW5jdGlvbiBBbihlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgdGE9e2FuaW1hdGlvbmVuZDpBbigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOkFuKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpBbigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOkFuKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpBbigiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6QW4oIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpBbigiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sSGM9e30sVnM9e307anQmJihWcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIHRhLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIHRhLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIHRhLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSB0YS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIEVuKGUpe2lmKEhjW2VdKXJldHVybiBIY1tlXTtpZighdGFbZV0pcmV0dXJuIGU7dmFyIHQ9dGFbZV0sbjtmb3IobiBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobikmJm4gaW4gVnMpcmV0dXJuIEhjW2VdPXRbbl07cmV0dXJuIGV9dmFyIEtzPUVuKCJhbmltYXRpb25lbmQiKSxKcz1FbigiYW5pbWF0aW9uaXRlcmF0aW9uIiksJHM9RW4oImFuaW1hdGlvbnN0YXJ0IiksQl89RW4oInRyYW5zaXRpb25ydW4iKSxMXz1FbigidHJhbnNpdGlvbnN0YXJ0IiksWV89RW4oInRyYW5zaXRpb25jYW5jZWwiKSxXcz1FbigidHJhbnNpdGlvbmVuZCIpLEZzPW5ldyBNYXAsQmM9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtCYy5wdXNoKCJzY3JvbGxFbmQiKTtmdW5jdGlvbiBBdChlLHQpe0ZzLnNldChlLHQpLHhuKHQsW2VdKX12YXIgUHM9bmV3IFdlYWtNYXA7ZnVuY3Rpb24geXQoZSx0KXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsKXt2YXIgbj1Qcy5nZXQoZSk7cmV0dXJuIG4hPT12b2lkIDA/bjoodD17dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazpfcyh0KX0sUHMuc2V0KGUsdCksdCl9cmV0dXJue3ZhbHVlOmUsc291cmNlOnQsc3RhY2s6X3ModCl9fXZhciBidD1bXSxuYT0wLExjPTA7ZnVuY3Rpb24gRmkoKXtmb3IodmFyIGU9bmEsdD1MYz1uYT0wO3Q8ZTspe3ZhciBuPWJ0W3RdO2J0W3QrK109bnVsbDt2YXIgYT1idFt0XTtidFt0KytdPW51bGw7dmFyIGk9YnRbdF07YnRbdCsrXT1udWxsO3ZhciBsPWJ0W3RdO2lmKGJ0W3QrK109bnVsbCxhIT09bnVsbCYmaSE9PW51bGwpe3ZhciBvPWEucGVuZGluZztvPT09bnVsbD9pLm5leHQ9aTooaS5uZXh0PW8ubmV4dCxvLm5leHQ9aSksYS5wZW5kaW5nPWl9bCE9PTAmJklzKG4saSxsKX19ZnVuY3Rpb24gUGkoZSx0LG4sYSl7YnRbbmErK109ZSxidFtuYSsrXT10LGJ0W25hKytdPW4sYnRbbmErK109YSxMY3w9YSxlLmxhbmVzfD1hLGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLmxhbmVzfD1hKX1mdW5jdGlvbiBZYyhlLHQsbixhKXtyZXR1cm4gUGkoZSx0LG4sYSksSWkoZSl9ZnVuY3Rpb24gYWEoZSx0KXtyZXR1cm4gUGkoZSxudWxsLG51bGwsdCksSWkoZSl9ZnVuY3Rpb24gSXMoZSx0LG4pe2UubGFuZXN8PW47dmFyIGE9ZS5hbHRlcm5hdGU7YSE9PW51bGwmJihhLmxhbmVzfD1uKTtmb3IodmFyIGk9ITEsbD1lLnJldHVybjtsIT09bnVsbDspbC5jaGlsZExhbmVzfD1uLGE9bC5hbHRlcm5hdGUsYSE9PW51bGwmJihhLmNoaWxkTGFuZXN8PW4pLGwudGFnPT09MjImJihlPWwuc3RhdGVOb2RlLGU9PT1udWxsfHxlLl92aXNpYmlsaXR5JjF8fChpPSEwKSksZT1sLGw9bC5yZXR1cm47cmV0dXJuIGUudGFnPT09Mz8obD1lLnN0YXRlTm9kZSxpJiZ0IT09bnVsbCYmKGk9MzEtc3QobiksZT1sLmhpZGRlblVwZGF0ZXMsYT1lW2ldLGE9PT1udWxsP2VbaV09W3RdOmEucHVzaCh0KSx0LmxhbmU9bnw1MzY4NzA5MTIpLGwpOm51bGx9ZnVuY3Rpb24gSWkoZSl7aWYoNTA8X2kpdGhyb3cgX2k9MCxKbz1udWxsLEVycm9yKHUoMTg1KSk7Zm9yKHZhciB0PWUucmV0dXJuO3QhPT1udWxsOyllPXQsdD1lLnJldHVybjtyZXR1cm4gZS50YWc9PT0zP2Uuc3RhdGVOb2RlOm51bGx9dmFyIGlhPXt9O2Z1bmN0aW9uIEdfKGUsdCxuLGEpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZkNsZWFudXA9dGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz10LHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1hLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBkdChlLHQsbixhKXtyZXR1cm4gbmV3IEdfKGUsdCxuLGEpfWZ1bmN0aW9uIEdjKGUpe3JldHVybiBlPWUucHJvdG90eXBlLCEoIWV8fCFlLmlzUmVhY3RDb21wb25lbnQpfWZ1bmN0aW9uIEh0KGUsdCl7dmFyIG49ZS5hbHRlcm5hdGU7cmV0dXJuIG49PT1udWxsPyhuPWR0KGUudGFnLHQsZS5rZXksZS5tb2RlKSxuLmVsZW1lbnRUeXBlPWUuZWxlbWVudFR5cGUsbi50eXBlPWUudHlwZSxuLnN0YXRlTm9kZT1lLnN0YXRlTm9kZSxuLmFsdGVybmF0ZT1lLGUuYWx0ZXJuYXRlPW4pOihuLnBlbmRpbmdQcm9wcz10LG4udHlwZT1lLnR5cGUsbi5mbGFncz0wLG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksbi5mbGFncz1lLmZsYWdzJjY1MDExNzEyLG4uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsbi5sYW5lcz1lLmxhbmVzLG4uY2hpbGQ9ZS5jaGlsZCxuLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQ9ZS5kZXBlbmRlbmNpZXMsbi5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LG4uc2libGluZz1lLnNpYmxpbmcsbi5pbmRleD1lLmluZGV4LG4ucmVmPWUucmVmLG4ucmVmQ2xlYW51cD1lLnJlZkNsZWFudXAsbn1mdW5jdGlvbiBldShlLHQpe2UuZmxhZ3MmPTY1MDExNzE0O3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBuPT09bnVsbD8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSx0PW4uZGVwZW5kZW5jaWVzLGUuZGVwZW5kZW5jaWVzPXQ9PT1udWxsP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiBlbChlLHQsbixhLGksbCl7dmFyIG89MDtpZihhPWUsdHlwZW9mIGU9PSJmdW5jdGlvbiIpR2MoZSkmJihvPTEpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKW89WGgoZSxuLGouY3VycmVudCk/MjY6ZT09PSJodG1sInx8ZT09PSJoZWFkInx8ZT09PSJib2R5Ij8yNzo1O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBIZTpyZXR1cm4gZT1kdCgzMSxuLHQsaSksZS5lbGVtZW50VHlwZT1IZSxlLmxhbmVzPWwsZTtjYXNlIGNlOnJldHVybiBSbihuLmNoaWxkcmVuLGksbCx0KTtjYXNlIHZlOm89OCxpfD0yNDticmVhaztjYXNlIHdlOnJldHVybiBlPWR0KDEyLG4sdCxpfDIpLGUuZWxlbWVudFR5cGU9d2UsZS5sYW5lcz1sLGU7Y2FzZSBXOnJldHVybiBlPWR0KDEzLG4sdCxpKSxlLmVsZW1lbnRUeXBlPVcsZS5sYW5lcz1sLGU7Y2FzZSBKOnJldHVybiBlPWR0KDE5LG4sdCxpKSxlLmVsZW1lbnRUeXBlPUosZS5sYW5lcz1sLGU7ZGVmYXVsdDppZih0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIEtlOmNhc2Ugb2U6bz0xMDticmVhayBlO2Nhc2UgT2U6bz05O2JyZWFrIGU7Y2FzZSBqZTpvPTExO2JyZWFrIGU7Y2FzZSB5ZTpvPTE0O2JyZWFrIGU7Y2FzZSBiZTpvPTE2LGE9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxlPT09bnVsbD8ibnVsbCI6dHlwZW9mIGUsIiIpKSxhPW51bGx9cmV0dXJuIHQ9ZHQobyxuLHQsaSksdC5lbGVtZW50VHlwZT1lLHQudHlwZT1hLHQubGFuZXM9bCx0fWZ1bmN0aW9uIFJuKGUsdCxuLGEpe3JldHVybiBlPWR0KDcsZSxhLHQpLGUubGFuZXM9bixlfWZ1bmN0aW9uIFFjKGUsdCxuKXtyZXR1cm4gZT1kdCg2LGUsbnVsbCx0KSxlLmxhbmVzPW4sZX1mdW5jdGlvbiBYYyhlLHQsbil7cmV0dXJuIHQ9ZHQoNCxlLmNoaWxkcmVuIT09bnVsbD9lLmNoaWxkcmVuOltdLGUua2V5LHQpLHQubGFuZXM9bix0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzplLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246ZS5pbXBsZW1lbnRhdGlvbn0sdH12YXIgbGE9W10sY2E9MCx0bD1udWxsLG5sPTAsa3Q9W10sU3Q9MCx6bj1udWxsLEJ0PTEsTHQ9IiI7ZnVuY3Rpb24gTm4oZSx0KXtsYVtjYSsrXT1ubCxsYVtjYSsrXT10bCx0bD1lLG5sPXR9ZnVuY3Rpb24gdHUoZSx0LG4pe2t0W1N0KytdPUJ0LGt0W1N0KytdPUx0LGt0W1N0KytdPXpuLHpuPWU7dmFyIGE9QnQ7ZT1MdDt2YXIgaT0zMi1zdChhKS0xO2EmPX4oMTw8aSksbis9MTt2YXIgbD0zMi1zdCh0KStpO2lmKDMwPGwpe3ZhciBvPWktaSU1O2w9KGEmKDE8PG8pLTEpLnRvU3RyaW5nKDMyKSxhPj49byxpLT1vLEJ0PTE8PDMyLXN0KHQpK2l8bjw8aXxhLEx0PWwrZX1lbHNlIEJ0PTE8PGx8bjw8aXxhLEx0PWV9ZnVuY3Rpb24gWmMoZSl7ZS5yZXR1cm4hPT1udWxsJiYoTm4oZSwxKSx0dShlLDEsMCkpfWZ1bmN0aW9uIFZjKGUpe2Zvcig7ZT09PXRsOyl0bD1sYVstLWNhXSxsYVtjYV09bnVsbCxubD1sYVstLWNhXSxsYVtjYV09bnVsbDtmb3IoO2U9PT16bjspem49a3RbLS1TdF0sa3RbU3RdPW51bGwsTHQ9a3RbLS1TdF0sa3RbU3RdPW51bGwsQnQ9a3RbLS1TdF0sa3RbU3RdPW51bGx9dmFyIEZlPW51bGwsQWU9bnVsbCxpZT0hMSxPbj1udWxsLE50PSExLEtjPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gRG4oZSl7dmFyIHQ9RXJyb3IodSg0MTgsIiIpKTt0aHJvdyBWYSh5dCh0LGUpKSxLY31mdW5jdGlvbiBudShlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUudHlwZSxhPWUubWVtb2l6ZWRQcm9wcztzd2l0Y2godFtKZV09ZSx0W0llXT1hLG4pe2Nhc2UiZGlhbG9nIjp0ZSgiY2FuY2VsIix0KSx0ZSgiY2xvc2UiLHQpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6dGUoImxvYWQiLHQpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihuPTA7bjxtaS5sZW5ndGg7bisrKXRlKG1pW25dLHQpO2JyZWFrO2Nhc2Uic291cmNlIjp0ZSgiZXJyb3IiLHQpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOnRlKCJlcnJvciIsdCksdGUoImxvYWQiLHQpO2JyZWFrO2Nhc2UiZGV0YWlscyI6dGUoInRvZ2dsZSIsdCk7YnJlYWs7Y2FzZSJpbnB1dCI6dGUoImludmFsaWQiLHQpLGdzKHQsYS52YWx1ZSxhLmRlZmF1bHRWYWx1ZSxhLmNoZWNrZWQsYS5kZWZhdWx0Q2hlY2tlZCxhLnR5cGUsYS5uYW1lLCEwKSxHaSh0KTticmVhaztjYXNlInNlbGVjdCI6dGUoImludmFsaWQiLHQpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnRlKCJpbnZhbGlkIix0KSx5cyh0LGEudmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5jaGlsZHJlbiksR2kodCl9bj1hLmNoaWxkcmVuLHR5cGVvZiBuIT0ic3RyaW5nIiYmdHlwZW9mIG4hPSJudW1iZXIiJiZ0eXBlb2YgbiE9ImJpZ2ludCJ8fHQudGV4dENvbnRlbnQ9PT0iIitufHxhLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZz09PSEwfHxiZih0LnRleHRDb250ZW50LG4pPyhhLnBvcG92ZXIhPW51bGwmJih0ZSgiYmVmb3JldG9nZ2xlIix0KSx0ZSgidG9nZ2xlIix0KSksYS5vblNjcm9sbCE9bnVsbCYmdGUoInNjcm9sbCIsdCksYS5vblNjcm9sbEVuZCE9bnVsbCYmdGUoInNjcm9sbGVuZCIsdCksYS5vbkNsaWNrIT1udWxsJiYodC5vbmNsaWNrPVVsKSx0PSEwKTp0PSExLHR8fERuKGUpfWZ1bmN0aW9uIGF1KGUpe2ZvcihGZT1lLnJldHVybjtGZTspc3dpdGNoKEZlLnRhZyl7Y2FzZSA1OmNhc2UgMTM6TnQ9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOk50PSEwO3JldHVybjtkZWZhdWx0OkZlPUZlLnJldHVybn19ZnVuY3Rpb24gWGEoZSl7aWYoZSE9PUZlKXJldHVybiExO2lmKCFpZSlyZXR1cm4gYXUoZSksaWU9ITAsITE7dmFyIHQ9ZS50YWcsbjtpZigobj10IT09MyYmdCE9PTI3KSYmKChuPXQ9PT01KSYmKG49ZS50eXBlLG49IShuIT09ImZvcm0iJiZuIT09ImJ1dHRvbiIpfHx1cihlLnR5cGUsZS5tZW1vaXplZFByb3BzKSksbj0hbiksbiYmQWUmJkRuKGUpLGF1KGUpLHQ9PT0xMyl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZT1lIT09bnVsbD9lLmRlaHlkcmF0ZWQ6bnVsbCwhZSl0aHJvdyBFcnJvcih1KDMxNykpO2U6e2ZvcihlPWUubmV4dFNpYmxpbmcsdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OClpZihuPWUuZGF0YSxuPT09Ii8kIil7aWYodD09PTApe0FlPVJ0KGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9dC0tfWVsc2UgbiE9PSIkIiYmbiE9PSIkISImJm4hPT0iJD8ifHx0Kys7ZT1lLm5leHRTaWJsaW5nfUFlPW51bGx9fWVsc2UgdD09PTI3Pyh0PUFlLGduKGUudHlwZSk/KGU9X3IsX3I9bnVsbCxBZT1lKTpBZT10KTpBZT1GZT9SdChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBaYSgpe0FlPUZlPW51bGwsaWU9ITF9ZnVuY3Rpb24gaXUoKXt2YXIgZT1PbjtyZXR1cm4gZSE9PW51bGwmJihhdD09PW51bGw/YXQ9ZTphdC5wdXNoLmFwcGx5KGF0LGUpLE9uPW51bGwpLGV9ZnVuY3Rpb24gVmEoZSl7T249PT1udWxsP09uPVtlXTpPbi5wdXNoKGUpfXZhciBKYz1UKG51bGwpLE1uPW51bGwsWXQ9bnVsbDtmdW5jdGlvbiB0bihlLHQsbil7QyhKYyx0Ll9jdXJyZW50VmFsdWUpLHQuX2N1cnJlbnRWYWx1ZT1ufWZ1bmN0aW9uIEd0KGUpe2UuX2N1cnJlbnRWYWx1ZT1KYy5jdXJyZW50LE0oSmMpfWZ1bmN0aW9uICRjKGUsdCxuKXtmb3IoO2UhPT1udWxsOyl7dmFyIGE9ZS5hbHRlcm5hdGU7aWYoKGUuY2hpbGRMYW5lcyZ0KSE9PXQ/KGUuY2hpbGRMYW5lc3w9dCxhIT09bnVsbCYmKGEuY2hpbGRMYW5lc3w9dCkpOmEhPT1udWxsJiYoYS5jaGlsZExhbmVzJnQpIT09dCYmKGEuY2hpbGRMYW5lc3w9dCksZT09PW4pYnJlYWs7ZT1lLnJldHVybn19ZnVuY3Rpb24gV2MoZSx0LG4sYSl7dmFyIGk9ZS5jaGlsZDtmb3IoaSE9PW51bGwmJihpLnJldHVybj1lKTtpIT09bnVsbDspe3ZhciBsPWkuZGVwZW5kZW5jaWVzO2lmKGwhPT1udWxsKXt2YXIgbz1pLmNoaWxkO2w9bC5maXJzdENvbnRleHQ7ZTpmb3IoO2whPT1udWxsOyl7dmFyIHM9bDtsPWk7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaWYocy5jb250ZXh0PT09dFtmXSl7bC5sYW5lc3w9bixzPWwuYWx0ZXJuYXRlLHMhPT1udWxsJiYocy5sYW5lc3w9biksJGMobC5yZXR1cm4sbixlKSxhfHwobz1udWxsKTticmVhayBlfWw9cy5uZXh0fX1lbHNlIGlmKGkudGFnPT09MTgpe2lmKG89aS5yZXR1cm4sbz09PW51bGwpdGhyb3cgRXJyb3IodSgzNDEpKTtvLmxhbmVzfD1uLGw9by5hbHRlcm5hdGUsbCE9PW51bGwmJihsLmxhbmVzfD1uKSwkYyhvLG4sZSksbz1udWxsfWVsc2Ugbz1pLmNoaWxkO2lmKG8hPT1udWxsKW8ucmV0dXJuPWk7ZWxzZSBmb3Iobz1pO28hPT1udWxsOyl7aWYobz09PWUpe289bnVsbDticmVha31pZihpPW8uc2libGluZyxpIT09bnVsbCl7aS5yZXR1cm49by5yZXR1cm4sbz1pO2JyZWFrfW89by5yZXR1cm59aT1vfX1mdW5jdGlvbiBLYShlLHQsbixhKXtlPW51bGw7Zm9yKHZhciBpPXQsbD0hMTtpIT09bnVsbDspe2lmKCFsKXtpZigoaS5mbGFncyY1MjQyODgpIT09MClsPSEwO2Vsc2UgaWYoKGkuZmxhZ3MmMjYyMTQ0KSE9PTApYnJlYWt9aWYoaS50YWc9PT0xMCl7dmFyIG89aS5hbHRlcm5hdGU7aWYobz09PW51bGwpdGhyb3cgRXJyb3IodSgzODcpKTtpZihvPW8ubWVtb2l6ZWRQcm9wcyxvIT09bnVsbCl7dmFyIHM9aS50eXBlO3V0KGkucGVuZGluZ1Byb3BzLnZhbHVlLG8udmFsdWUpfHwoZSE9PW51bGw/ZS5wdXNoKHMpOmU9W3NdKX19ZWxzZSBpZihpPT09b3QuY3VycmVudCl7aWYobz1pLmFsdGVybmF0ZSxvPT09bnVsbCl0aHJvdyBFcnJvcih1KDM4NykpO28ubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlIT09aS5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUmJihlIT09bnVsbD9lLnB1c2goU2kpOmU9W1NpXSl9aT1pLnJldHVybn1lIT09bnVsbCYmV2ModCxlLG4sYSksdC5mbGFnc3w9MjYyMTQ0fWZ1bmN0aW9uIGFsKGUpe2ZvcihlPWUuZmlyc3RDb250ZXh0O2UhPT1udWxsOyl7aWYoIXV0KGUuY29udGV4dC5fY3VycmVudFZhbHVlLGUubWVtb2l6ZWRWYWx1ZSkpcmV0dXJuITA7ZT1lLm5leHR9cmV0dXJuITF9ZnVuY3Rpb24gQ24oZSl7TW49ZSxZdD1udWxsLGU9ZS5kZXBlbmRlbmNpZXMsZSE9PW51bGwmJihlLmZpcnN0Q29udGV4dD1udWxsKX1mdW5jdGlvbiAkZShlKXtyZXR1cm4gbHUoTW4sZSl9ZnVuY3Rpb24gaWwoZSx0KXtyZXR1cm4gTW49PT1udWxsJiZDbihlKSxsdShlLHQpfWZ1bmN0aW9uIGx1KGUsdCl7dmFyIG49dC5fY3VycmVudFZhbHVlO2lmKHQ9e2NvbnRleHQ6dCxtZW1vaXplZFZhbHVlOm4sbmV4dDpudWxsfSxZdD09PW51bGwpe2lmKGU9PT1udWxsKXRocm93IEVycm9yKHUoMzA4KSk7WXQ9dCxlLmRlcGVuZGVuY2llcz17bGFuZXM6MCxmaXJzdENvbnRleHQ6dH0sZS5mbGFnc3w9NTI0Mjg4fWVsc2UgWXQ9WXQubmV4dD10O3JldHVybiBufXZhciBRXz10eXBlb2YgQWJvcnRDb250cm9sbGVyPCJ1Ij9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PXRoaXMuc2lnbmFsPXthYm9ydGVkOiExLGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24obixhKXtlLnB1c2goYSl9fTt0aGlzLmFib3J0PWZ1bmN0aW9uKCl7dC5hYm9ydGVkPSEwLGUuZm9yRWFjaChmdW5jdGlvbihuKXtyZXR1cm4gbigpfSl9fSxYXz1jLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssWl89Yy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxDZT17JCR0eXBlb2Y6b2UsQ29uc3VtZXI6bnVsbCxQcm92aWRlcjpudWxsLF9jdXJyZW50VmFsdWU6bnVsbCxfY3VycmVudFZhbHVlMjpudWxsLF90aHJlYWRDb3VudDowfTtmdW5jdGlvbiBGYygpe3JldHVybntjb250cm9sbGVyOm5ldyBRXyxkYXRhOm5ldyBNYXAscmVmQ291bnQ6MH19ZnVuY3Rpb24gSmEoZSl7ZS5yZWZDb3VudC0tLGUucmVmQ291bnQ9PT0wJiZYXyhaXyxmdW5jdGlvbigpe2UuY29udHJvbGxlci5hYm9ydCgpfSl9dmFyICRhPW51bGwsUGM9MCxvYT0wLHJhPW51bGw7ZnVuY3Rpb24gVl8oZSx0KXtpZigkYT09PW51bGwpe3ZhciBuPSRhPVtdO1BjPTAsb2E9dHIoKSxyYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTp2b2lkIDAsdGhlbjpmdW5jdGlvbihhKXtuLnB1c2goYSl9fX1yZXR1cm4gUGMrKyx0LnRoZW4oY3UsY3UpLHR9ZnVuY3Rpb24gY3UoKXtpZigtLVBjPT09MCYmJGEhPT1udWxsKXtyYSE9PW51bGwmJihyYS5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPSRhOyRhPW51bGwsb2E9MCxyYT1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fWZ1bmN0aW9uIEtfKGUsdCl7dmFyIG49W10sYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oaSl7bi5wdXNoKGkpfX07cmV0dXJuIGUudGhlbihmdW5jdGlvbigpe2Euc3RhdHVzPSJmdWxmaWxsZWQiLGEudmFsdWU9dDtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKykoMCxuW2ldKSh0KX0sZnVuY3Rpb24oaSl7Zm9yKGEuc3RhdHVzPSJyZWplY3RlZCIsYS5yZWFzb249aSxpPTA7aTxuLmxlbmd0aDtpKyspKDAsbltpXSkodm9pZCAwKX0pLGF9dmFyIG91PUEuUztBLlM9ZnVuY3Rpb24oZSx0KXt0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZ0eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iJiZWXyhlLHQpLG91IT09bnVsbCYmb3UoZSx0KX07dmFyIHFuPVQobnVsbCk7ZnVuY3Rpb24gSWMoKXt2YXIgZT1xbi5jdXJyZW50O3JldHVybiBlIT09bnVsbD9lOmdlLnBvb2xlZENhY2hlfWZ1bmN0aW9uIGxsKGUsdCl7dD09PW51bGw/Qyhxbixxbi5jdXJyZW50KTpDKHFuLHQucG9vbCl9ZnVuY3Rpb24gcnUoKXt2YXIgZT1JYygpO3JldHVybiBlPT09bnVsbD9udWxsOntwYXJlbnQ6Q2UuX2N1cnJlbnRWYWx1ZSxwb29sOmV9fXZhciBXYT1FcnJvcih1KDQ2MCkpLHN1PUVycm9yKHUoNDc0KSksY2w9RXJyb3IodSg1NDIpKSxlbz17dGhlbjpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHV1KGUpe3JldHVybiBlPWUuc3RhdHVzLGU9PT0iZnVsZmlsbGVkInx8ZT09PSJyZWplY3RlZCJ9ZnVuY3Rpb24gb2woKXt9ZnVuY3Rpb24gZHUoZSx0LG4pe3N3aXRjaChuPWVbbl0sbj09PXZvaWQgMD9lLnB1c2godCk6biE9PXQmJih0LnRoZW4ob2wsb2wpLHQ9biksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlPXQucmVhc29uLHB1KGUpLGU7ZGVmYXVsdDppZih0eXBlb2YgdC5zdGF0dXM9PSJzdHJpbmciKXQudGhlbihvbCxvbCk7ZWxzZXtpZihlPWdlLGUhPT1udWxsJiYxMDA8ZS5zaGVsbFN1c3BlbmRDb3VudGVyKXRocm93IEVycm9yKHUoNDgyKSk7ZT10LGUuc3RhdHVzPSJwZW5kaW5nIixlLnRoZW4oZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBpPXQ7aS5zdGF0dXM9ImZ1bGZpbGxlZCIsaS52YWx1ZT1hfX0sZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBpPXQ7aS5zdGF0dXM9InJlamVjdGVkIixpLnJlYXNvbj1hfX0pfXN3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiB0LnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGU9dC5yZWFzb24scHUoZSksZX10aHJvdyBGYT10LFdhfX12YXIgRmE9bnVsbDtmdW5jdGlvbiBmdSgpe2lmKEZhPT09bnVsbCl0aHJvdyBFcnJvcih1KDQ1OSkpO3ZhciBlPUZhO3JldHVybiBGYT1udWxsLGV9ZnVuY3Rpb24gcHUoZSl7aWYoZT09PVdhfHxlPT09Y2wpdGhyb3cgRXJyb3IodSg0ODMpKX12YXIgbm49ITE7ZnVuY3Rpb24gdG8oZSl7ZS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGxhbmVzOjAsaGlkZGVuQ2FsbGJhY2tzOm51bGx9LGNhbGxiYWNrczpudWxsfX1mdW5jdGlvbiBubyhlLHQpe2U9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPT09ZSYmKHQudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6ZS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6ZS5zaGFyZWQsY2FsbGJhY2tzOm51bGx9KX1mdW5jdGlvbiBhbihlKXtyZXR1cm57bGFuZTplLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gbG4oZSx0LG4pe3ZhciBhPWUudXBkYXRlUXVldWU7aWYoYT09PW51bGwpcmV0dXJuIG51bGw7aWYoYT1hLnNoYXJlZCwoc2UmMikhPT0wKXt2YXIgaT1hLnBlbmRpbmc7cmV0dXJuIGk9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9aS5uZXh0LGkubmV4dD10KSxhLnBlbmRpbmc9dCx0PUlpKGUpLElzKGUsbnVsbCxuKSx0fXJldHVybiBQaShlLGEsdCxuKSxJaShlKX1mdW5jdGlvbiBQYShlLHQsbil7aWYodD10LnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodD10LnNoYXJlZCwobiY0MTk0MDQ4KSE9PTApKXt2YXIgYT10LmxhbmVzO2EmPWUucGVuZGluZ0xhbmVzLG58PWEsdC5sYW5lcz1uLGNzKGUsbil9fWZ1bmN0aW9uIGFvKGUsdCl7dmFyIG49ZS51cGRhdGVRdWV1ZSxhPWUuYWx0ZXJuYXRlO2lmKGEhPT1udWxsJiYoYT1hLnVwZGF0ZVF1ZXVlLG49PT1hKSl7dmFyIGk9bnVsbCxsPW51bGw7aWYobj1uLmZpcnN0QmFzZVVwZGF0ZSxuIT09bnVsbCl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bD09PW51bGw/aT1sPW86bD1sLm5leHQ9byxuPW4ubmV4dH13aGlsZShuIT09bnVsbCk7bD09PW51bGw/aT1sPXQ6bD1sLm5leHQ9dH1lbHNlIGk9bD10O249e2Jhc2VTdGF0ZTphLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6aSxsYXN0QmFzZVVwZGF0ZTpsLHNoYXJlZDphLnNoYXJlZCxjYWxsYmFja3M6YS5jYWxsYmFja3N9LGUudXBkYXRlUXVldWU9bjtyZXR1cm59ZT1uLmxhc3RCYXNlVXBkYXRlLGU9PT1udWxsP24uZmlyc3RCYXNlVXBkYXRlPXQ6ZS5uZXh0PXQsbi5sYXN0QmFzZVVwZGF0ZT10fXZhciBpbz0hMTtmdW5jdGlvbiBJYSgpe2lmKGlvKXt2YXIgZT1yYTtpZihlIT09bnVsbCl0aHJvdyBlfX1mdW5jdGlvbiBlaShlLHQsbixhKXtpbz0hMTt2YXIgaT1lLnVwZGF0ZVF1ZXVlO25uPSExO3ZhciBsPWkuZmlyc3RCYXNlVXBkYXRlLG89aS5sYXN0QmFzZVVwZGF0ZSxzPWkuc2hhcmVkLnBlbmRpbmc7aWYocyE9PW51bGwpe2kuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgZj1zLGs9Zi5uZXh0O2YubmV4dD1udWxsLG89PT1udWxsP2w9azpvLm5leHQ9ayxvPWY7dmFyIEU9ZS5hbHRlcm5hdGU7RSE9PW51bGwmJihFPUUudXBkYXRlUXVldWUscz1FLmxhc3RCYXNlVXBkYXRlLHMhPT1vJiYocz09PW51bGw/RS5maXJzdEJhc2VVcGRhdGU9azpzLm5leHQ9ayxFLmxhc3RCYXNlVXBkYXRlPWYpKX1pZihsIT09bnVsbCl7dmFyIHo9aS5iYXNlU3RhdGU7bz0wLEU9az1mPW51bGwscz1sO2Rve3ZhciBTPXMubGFuZSYtNTM2ODcwOTEzLHc9UyE9PXMubGFuZTtpZih3PyhuZSZTKT09PVM6KGEmUyk9PT1TKXtTIT09MCYmUz09PW9hJiYoaW89ITApLEUhPT1udWxsJiYoRT1FLm5leHQ9e2xhbmU6MCx0YWc6cy50YWcscGF5bG9hZDpzLnBheWxvYWQsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9KTtlOnt2YXIgVj1lLFE9cztTPXQ7dmFyIHBlPW47c3dpdGNoKFEudGFnKXtjYXNlIDE6aWYoVj1RLnBheWxvYWQsdHlwZW9mIFY9PSJmdW5jdGlvbiIpe3o9Vi5jYWxsKHBlLHosUyk7YnJlYWsgZX16PVY7YnJlYWsgZTtjYXNlIDM6Vi5mbGFncz1WLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOmlmKFY9US5wYXlsb2FkLFM9dHlwZW9mIFY9PSJmdW5jdGlvbiI/Vi5jYWxsKHBlLHosUyk6VixTPT1udWxsKWJyZWFrIGU7ej1PKHt9LHosUyk7YnJlYWsgZTtjYXNlIDI6bm49ITB9fVM9cy5jYWxsYmFjayxTIT09bnVsbCYmKGUuZmxhZ3N8PTY0LHcmJihlLmZsYWdzfD04MTkyKSx3PWkuY2FsbGJhY2tzLHc9PT1udWxsP2kuY2FsbGJhY2tzPVtTXTp3LnB1c2goUykpfWVsc2Ugdz17bGFuZTpTLHRhZzpzLnRhZyxwYXlsb2FkOnMucGF5bG9hZCxjYWxsYmFjazpzLmNhbGxiYWNrLG5leHQ6bnVsbH0sRT09PW51bGw/KGs9RT13LGY9eik6RT1FLm5leHQ9dyxvfD1TO2lmKHM9cy5uZXh0LHM9PT1udWxsKXtpZihzPWkuc2hhcmVkLnBlbmRpbmcscz09PW51bGwpYnJlYWs7dz1zLHM9dy5uZXh0LHcubmV4dD1udWxsLGkubGFzdEJhc2VVcGRhdGU9dyxpLnNoYXJlZC5wZW5kaW5nPW51bGx9fXdoaWxlKCEwKTtFPT09bnVsbCYmKGY9eiksaS5iYXNlU3RhdGU9ZixpLmZpcnN0QmFzZVVwZGF0ZT1rLGkubGFzdEJhc2VVcGRhdGU9RSxsPT09bnVsbCYmKGkuc2hhcmVkLmxhbmVzPTApLHBufD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9en19ZnVuY3Rpb24gX3UoZSx0KXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGh1KGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobiE9PW51bGwpZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKV91KG5bZV0sdCl9dmFyIHNhPVQobnVsbCkscmw9VCgwKTtmdW5jdGlvbiBtdShlLHQpe2U9JHQsQyhybCxlKSxDKHNhLHQpLCR0PWV8dC5iYXNlTGFuZXN9ZnVuY3Rpb24gbG8oKXtDKHJsLCR0KSxDKHNhLHNhLmN1cnJlbnQpfWZ1bmN0aW9uIGNvKCl7JHQ9cmwuY3VycmVudCxNKHNhKSxNKHJsKX12YXIgY249MCxQPW51bGwsZGU9bnVsbCxEZT1udWxsLHNsPSExLHVhPSExLFVuPSExLHVsPTAsdGk9MCxkYT1udWxsLEpfPTA7ZnVuY3Rpb24gemUoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIG9vKGUsdCl7aWYodD09PW51bGwpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIXV0KGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gcm8oZSx0LG4sYSxpLGwpe3JldHVybiBjbj1sLFA9dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLEEuSD1lPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbD9JdTplZCxVbj0hMSxsPW4oYSxpKSxVbj0hMSx1YSYmKGw9dnUodCxuLGEsaSkpLGd1KGUpLGx9ZnVuY3Rpb24gZ3UoZSl7QS5IPW1sO3ZhciB0PWRlIT09bnVsbCYmZGUubmV4dCE9PW51bGw7aWYoY249MCxEZT1kZT1QPW51bGwsc2w9ITEsdGk9MCxkYT1udWxsLHQpdGhyb3cgRXJyb3IodSgzMDApKTtlPT09bnVsbHx8WWV8fChlPWUuZGVwZW5kZW5jaWVzLGUhPT1udWxsJiZhbChlKSYmKFllPSEwKSl9ZnVuY3Rpb24gdnUoZSx0LG4sYSl7UD1lO3ZhciBpPTA7ZG97aWYodWEmJihkYT1udWxsKSx0aT0wLHVhPSExLDI1PD1pKXRocm93IEVycm9yKHUoMzAxKSk7aWYoaSs9MSxEZT1kZT1udWxsLGUudXBkYXRlUXVldWUhPW51bGwpe3ZhciBsPWUudXBkYXRlUXVldWU7bC5sYXN0RWZmZWN0PW51bGwsbC5ldmVudHM9bnVsbCxsLnN0b3Jlcz1udWxsLGwubWVtb0NhY2hlIT1udWxsJiYobC5tZW1vQ2FjaGUuaW5kZXg9MCl9QS5IPXRoLGw9dChuLGEpfXdoaWxlKHVhKTtyZXR1cm4gbH1mdW5jdGlvbiAkXygpe3ZhciBlPUEuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD10eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iP25pKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKGRlIT09bnVsbD9kZS5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKFAuZmxhZ3N8PTEwMjQpLHR9ZnVuY3Rpb24gc28oKXt2YXIgZT11bCE9PTA7cmV0dXJuIHVsPTAsZX1mdW5jdGlvbiB1byhlLHQsbil7dC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5ufWZ1bmN0aW9uIGZvKGUpe2lmKHNsKXtmb3IoZT1lLm1lbW9pemVkU3RhdGU7ZSE9PW51bGw7KXt2YXIgdD1lLnF1ZXVlO3QhPT1udWxsJiYodC5wZW5kaW5nPW51bGwpLGU9ZS5uZXh0fXNsPSExfWNuPTAsRGU9ZGU9UD1udWxsLHVhPSExLHRpPXVsPTAsZGE9bnVsbH1mdW5jdGlvbiB0dCgpe3ZhciBlPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBEZT09PW51bGw/UC5tZW1vaXplZFN0YXRlPURlPWU6RGU9RGUubmV4dD1lLERlfWZ1bmN0aW9uIE1lKCl7aWYoZGU9PT1udWxsKXt2YXIgZT1QLmFsdGVybmF0ZTtlPWUhPT1udWxsP2UubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgZT1kZS5uZXh0O3ZhciB0PURlPT09bnVsbD9QLm1lbW9pemVkU3RhdGU6RGUubmV4dDtpZih0IT09bnVsbClEZT10LGRlPWU7ZWxzZXtpZihlPT09bnVsbCl0aHJvdyBQLmFsdGVybmF0ZT09PW51bGw/RXJyb3IodSg0NjcpKTpFcnJvcih1KDMxMCkpO2RlPWUsZT17bWVtb2l6ZWRTdGF0ZTpkZS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpkZS5iYXNlU3RhdGUsYmFzZVF1ZXVlOmRlLmJhc2VRdWV1ZSxxdWV1ZTpkZS5xdWV1ZSxuZXh0Om51bGx9LERlPT09bnVsbD9QLm1lbW9pemVkU3RhdGU9RGU9ZTpEZT1EZS5uZXh0PWV9cmV0dXJuIERlfWZ1bmN0aW9uIHBvKCl7cmV0dXJue2xhc3RFZmZlY3Q6bnVsbCxldmVudHM6bnVsbCxzdG9yZXM6bnVsbCxtZW1vQ2FjaGU6bnVsbH19ZnVuY3Rpb24gbmkoZSl7dmFyIHQ9dGk7cmV0dXJuIHRpKz0xLGRhPT09bnVsbCYmKGRhPVtdKSxlPWR1KGRhLGUsdCksdD1QLChEZT09PW51bGw/dC5tZW1vaXplZFN0YXRlOkRlLm5leHQpPT09bnVsbCYmKHQ9dC5hbHRlcm5hdGUsQS5IPXQ9PT1udWxsfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsP0l1OmVkKSxlfWZ1bmN0aW9uIGRsKGUpe2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKHR5cGVvZiBlLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIG5pKGUpO2lmKGUuJCR0eXBlb2Y9PT1vZSlyZXR1cm4gJGUoZSl9dGhyb3cgRXJyb3IodSg0MzgsU3RyaW5nKGUpKSl9ZnVuY3Rpb24gX28oZSl7dmFyIHQ9bnVsbCxuPVAudXBkYXRlUXVldWU7aWYobiE9PW51bGwmJih0PW4ubWVtb0NhY2hlKSx0PT1udWxsKXt2YXIgYT1QLmFsdGVybmF0ZTthIT09bnVsbCYmKGE9YS51cGRhdGVRdWV1ZSxhIT09bnVsbCYmKGE9YS5tZW1vQ2FjaGUsYSE9bnVsbCYmKHQ9e2RhdGE6YS5kYXRhLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5zbGljZSgpfSksaW5kZXg6MH0pKSl9aWYodD09bnVsbCYmKHQ9e2RhdGE6W10saW5kZXg6MH0pLG49PT1udWxsJiYobj1wbygpLFAudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCxuPXQuZGF0YVt0LmluZGV4XSxuPT09dm9pZCAwKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxhPTA7YTxlO2ErKyluW2FdPWxlO3JldHVybiB0LmluZGV4Kyssbn1mdW5jdGlvbiBRdChlLHQpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOnR9ZnVuY3Rpb24gZmwoZSl7dmFyIHQ9TWUoKTtyZXR1cm4gaG8odCxkZSxlKX1mdW5jdGlvbiBobyhlLHQsbil7dmFyIGE9ZS5xdWV1ZTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcih1KDMxMSkpO2EubGFzdFJlbmRlcmVkUmVkdWNlcj1uO3ZhciBpPWUuYmFzZVF1ZXVlLGw9YS5wZW5kaW5nO2lmKGwhPT1udWxsKXtpZihpIT09bnVsbCl7dmFyIG89aS5uZXh0O2kubmV4dD1sLm5leHQsbC5uZXh0PW99dC5iYXNlUXVldWU9aT1sLGEucGVuZGluZz1udWxsfWlmKGw9ZS5iYXNlU3RhdGUsaT09PW51bGwpZS5tZW1vaXplZFN0YXRlPWw7ZWxzZXt0PWkubmV4dDt2YXIgcz1vPW51bGwsZj1udWxsLGs9dCxFPSExO2Rve3ZhciB6PWsubGFuZSYtNTM2ODcwOTEzO2lmKHohPT1rLmxhbmU/KG5lJnopPT09ejooY24meik9PT16KXt2YXIgUz1rLnJldmVydExhbmU7aWYoUz09PTApZiE9PW51bGwmJihmPWYubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxhY3Rpb246ay5hY3Rpb24saGFzRWFnZXJTdGF0ZTprLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTprLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksej09PW9hJiYoRT0hMCk7ZWxzZSBpZigoY24mUyk9PT1TKXtrPWsubmV4dCxTPT09b2EmJihFPSEwKTtjb250aW51ZX1lbHNlIHo9e2xhbmU6MCxyZXZlcnRMYW5lOmsucmV2ZXJ0TGFuZSxhY3Rpb246ay5hY3Rpb24saGFzRWFnZXJTdGF0ZTprLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTprLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxmPT09bnVsbD8ocz1mPXosbz1sKTpmPWYubmV4dD16LFAubGFuZXN8PVMscG58PVM7ej1rLmFjdGlvbixVbiYmbihsLHopLGw9ay5oYXNFYWdlclN0YXRlP2suZWFnZXJTdGF0ZTpuKGwseil9ZWxzZSBTPXtsYW5lOnoscmV2ZXJ0TGFuZTprLnJldmVydExhbmUsYWN0aW9uOmsuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6ay5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6ay5lYWdlclN0YXRlLG5leHQ6bnVsbH0sZj09PW51bGw/KHM9Zj1TLG89bCk6Zj1mLm5leHQ9UyxQLmxhbmVzfD16LHBufD16O2s9ay5uZXh0fXdoaWxlKGshPT1udWxsJiZrIT09dCk7aWYoZj09PW51bGw/bz1sOmYubmV4dD1zLCF1dChsLGUubWVtb2l6ZWRTdGF0ZSkmJihZZT0hMCxFJiYobj1yYSxuIT09bnVsbCkpKXRocm93IG47ZS5tZW1vaXplZFN0YXRlPWwsZS5iYXNlU3RhdGU9byxlLmJhc2VRdWV1ZT1mLGEubGFzdFJlbmRlcmVkU3RhdGU9bH1yZXR1cm4gaT09PW51bGwmJihhLmxhbmVzPTApLFtlLm1lbW9pemVkU3RhdGUsYS5kaXNwYXRjaF19ZnVuY3Rpb24gbW8oZSl7dmFyIHQ9TWUoKSxuPXQucXVldWU7aWYobj09PW51bGwpdGhyb3cgRXJyb3IodSgzMTEpKTtuLmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgYT1uLmRpc3BhdGNoLGk9bi5wZW5kaW5nLGw9dC5tZW1vaXplZFN0YXRlO2lmKGkhPT1udWxsKXtuLnBlbmRpbmc9bnVsbDt2YXIgbz1pPWkubmV4dDtkbyBsPWUobCxvLmFjdGlvbiksbz1vLm5leHQ7d2hpbGUobyE9PWkpO3V0KGwsdC5tZW1vaXplZFN0YXRlKXx8KFllPSEwKSx0Lm1lbW9pemVkU3RhdGU9bCx0LmJhc2VRdWV1ZT09PW51bGwmJih0LmJhc2VTdGF0ZT1sKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWx9cmV0dXJuW2wsYV19ZnVuY3Rpb24geXUoZSx0LG4pe3ZhciBhPVAsaT1NZSgpLGw9aWU7aWYobCl7aWYobj09PXZvaWQgMCl0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2Ugbj10KCk7dmFyIG89IXV0KChkZXx8aSkubWVtb2l6ZWRTdGF0ZSxuKTtvJiYoaS5tZW1vaXplZFN0YXRlPW4sWWU9ITApLGk9aS5xdWV1ZTt2YXIgcz1TdS5iaW5kKG51bGwsYSxpLGUpO2lmKGFpKDIwNDgsOCxzLFtlXSksaS5nZXRTbmFwc2hvdCE9PXR8fG98fERlIT09bnVsbCYmRGUubWVtb2l6ZWRTdGF0ZS50YWcmMSl7aWYoYS5mbGFnc3w9MjA0OCxmYSg5LHBsKCksa3UuYmluZChudWxsLGEsaSxuLHQpLG51bGwpLGdlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0OSkpO2x8fChjbiYxMjQpIT09MHx8YnUoYSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIGJ1KGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LHQ9UC51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD1wbygpLFAudXBkYXRlUXVldWU9dCx0LnN0b3Jlcz1bZV0pOihuPXQuc3RvcmVzLG49PT1udWxsP3Quc3RvcmVzPVtlXTpuLnB1c2goZSkpfWZ1bmN0aW9uIGt1KGUsdCxuLGEpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PWEsd3UodCkmJnh1KGUpfWZ1bmN0aW9uIFN1KGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe3d1KHQpJiZ4dShlKX0pfWZ1bmN0aW9uIHd1KGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIXV0KGUsbil9Y2F0Y2h7cmV0dXJuITB9fWZ1bmN0aW9uIHh1KGUpe3ZhciB0PWFhKGUsMik7dCE9PW51bGwmJm10KHQsZSwyKX1mdW5jdGlvbiBnbyhlKXt2YXIgdD10dCgpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXt2YXIgbj1lO2lmKGU9bigpLFVuKXtQdCghMCk7dHJ5e24oKX1maW5hbGx5e1B0KCExKX19fXJldHVybiB0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZSx0LnF1ZXVlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6UXQsbGFzdFJlbmRlcmVkU3RhdGU6ZX0sdH1mdW5jdGlvbiBUdShlLHQsbixhKXtyZXR1cm4gZS5iYXNlU3RhdGU9bixobyhlLGRlLHR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6UXQpfWZ1bmN0aW9uIFdfKGUsdCxuLGEsaSl7aWYoaGwoZSkpdGhyb3cgRXJyb3IodSg0ODUpKTtpZihlPXQuYWN0aW9uLGUhPT1udWxsKXt2YXIgbD17cGF5bG9hZDppLGFjdGlvbjplLG5leHQ6bnVsbCxpc1RyYW5zaXRpb246ITAsc3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGxpc3RlbmVyczpbXSx0aGVuOmZ1bmN0aW9uKG8pe2wubGlzdGVuZXJzLnB1c2gobyl9fTtBLlQhPT1udWxsP24oITApOmwuaXNUcmFuc2l0aW9uPSExLGEobCksbj10LnBlbmRpbmcsbj09PW51bGw/KGwubmV4dD10LnBlbmRpbmc9bCxBdSh0LGwpKToobC5uZXh0PW4ubmV4dCx0LnBlbmRpbmc9bi5uZXh0PWwpfX1mdW5jdGlvbiBBdShlLHQpe3ZhciBuPXQuYWN0aW9uLGE9dC5wYXlsb2FkLGk9ZS5zdGF0ZTtpZih0LmlzVHJhbnNpdGlvbil7dmFyIGw9QS5ULG89e307QS5UPW87dHJ5e3ZhciBzPW4oaSxhKSxmPUEuUztmIT09bnVsbCYmZihvLHMpLEV1KGUsdCxzKX1jYXRjaChrKXt2byhlLHQsayl9ZmluYWxseXtBLlQ9bH19ZWxzZSB0cnl7bD1uKGksYSksRXUoZSx0LGwpfWNhdGNoKGspe3ZvKGUsdCxrKX19ZnVuY3Rpb24gRXUoZSx0LG4pe24hPT1udWxsJiZ0eXBlb2Ygbj09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PSJmdW5jdGlvbiI/bi50aGVuKGZ1bmN0aW9uKGEpe1J1KGUsdCxhKX0sZnVuY3Rpb24oYSl7cmV0dXJuIHZvKGUsdCxhKX0pOlJ1KGUsdCxuKX1mdW5jdGlvbiBSdShlLHQsbil7dC5zdGF0dXM9ImZ1bGZpbGxlZCIsdC52YWx1ZT1uLHp1KHQpLGUuc3RhdGU9bix0PWUucGVuZGluZyx0IT09bnVsbCYmKG49dC5uZXh0LG49PT10P2UucGVuZGluZz1udWxsOihuPW4ubmV4dCx0Lm5leHQ9bixBdShlLG4pKSl9ZnVuY3Rpb24gdm8oZSx0LG4pe3ZhciBhPWUucGVuZGluZztpZihlLnBlbmRpbmc9bnVsbCxhIT09bnVsbCl7YT1hLm5leHQ7ZG8gdC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLHp1KHQpLHQ9dC5uZXh0O3doaWxlKHQhPT1hKX1lLmFjdGlvbj1udWxsfWZ1bmN0aW9uIHp1KGUpe2U9ZS5saXN0ZW5lcnM7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspKDAsZVt0XSkoKX1mdW5jdGlvbiBOdShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIE91KGUsdCl7aWYoaWUpe3ZhciBuPWdlLmZvcm1TdGF0ZTtpZihuIT09bnVsbCl7ZTp7dmFyIGE9UDtpZihpZSl7aWYoQWUpe3Q6e2Zvcih2YXIgaT1BZSxsPU50O2kubm9kZVR5cGUhPT04Oyl7aWYoIWwpe2k9bnVsbDticmVhayB0fWlmKGk9UnQoaS5uZXh0U2libGluZyksaT09PW51bGwpe2k9bnVsbDticmVhayB0fX1sPWkuZGF0YSxpPWw9PT0iRiEifHxsPT09IkYiP2k6bnVsbH1pZihpKXtBZT1SdChpLm5leHRTaWJsaW5nKSxhPWkuZGF0YT09PSJGISI7YnJlYWsgZX19RG4oYSl9YT0hMX1hJiYodD1uWzBdKX19cmV0dXJuIG49dHQoKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9dCxhPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6TnUsbGFzdFJlbmRlcmVkU3RhdGU6dH0sbi5xdWV1ZT1hLG49V3UuYmluZChudWxsLFAsYSksYS5kaXNwYXRjaD1uLGE9Z28oITEpLGw9d28uYmluZChudWxsLFAsITEsYS5xdWV1ZSksYT10dCgpLGk9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246ZSxwZW5kaW5nOm51bGx9LGEucXVldWU9aSxuPVdfLmJpbmQobnVsbCxQLGksbCxuKSxpLmRpc3BhdGNoPW4sYS5tZW1vaXplZFN0YXRlPWUsW3QsbiwhMV19ZnVuY3Rpb24gRHUoZSl7dmFyIHQ9TWUoKTtyZXR1cm4gTXUodCxkZSxlKX1mdW5jdGlvbiBNdShlLHQsbil7aWYodD1obyhlLHQsTnUpWzBdLGU9ZmwoUXQpWzBdLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpdHJ5e3ZhciBhPW5pKHQpfWNhdGNoKG8pe3Rocm93IG89PT1XYT9jbDpvfWVsc2UgYT10O3Q9TWUoKTt2YXIgaT10LnF1ZXVlLGw9aS5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKFAuZmxhZ3N8PTIwNDgsZmEoOSxwbCgpLEZfLmJpbmQobnVsbCxpLG4pLG51bGwpKSxbYSxsLGVdfWZ1bmN0aW9uIEZfKGUsdCl7ZS5hY3Rpb249dH1mdW5jdGlvbiBDdShlKXt2YXIgdD1NZSgpLG49ZGU7aWYobiE9PW51bGwpcmV0dXJuIE11KHQsbixlKTtNZSgpLHQ9dC5tZW1vaXplZFN0YXRlLG49TWUoKTt2YXIgYT1uLnF1ZXVlLmRpc3BhdGNoO3JldHVybiBuLm1lbW9pemVkU3RhdGU9ZSxbdCxhLCExXX1mdW5jdGlvbiBmYShlLHQsbixhKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOm4sZGVwczphLGluc3Q6dCxuZXh0Om51bGx9LHQ9UC51cGRhdGVRdWV1ZSx0PT09bnVsbCYmKHQ9cG8oKSxQLnVwZGF0ZVF1ZXVlPXQpLG49dC5sYXN0RWZmZWN0LG49PT1udWxsP3QubGFzdEVmZmVjdD1lLm5leHQ9ZTooYT1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PWEsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gcGwoKXtyZXR1cm57ZGVzdHJveTp2b2lkIDAscmVzb3VyY2U6dm9pZCAwfX1mdW5jdGlvbiBxdSgpe3JldHVybiBNZSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gX2woZSx0LG4sYSl7dmFyIGk9dHQoKTthPWE9PT12b2lkIDA/bnVsbDphLFAuZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPWZhKDF8dCxwbCgpLG4sYSl9ZnVuY3Rpb24gYWkoZSx0LG4sYSl7dmFyIGk9TWUoKTthPWE9PT12b2lkIDA/bnVsbDphO3ZhciBsPWkubWVtb2l6ZWRTdGF0ZS5pbnN0O2RlIT09bnVsbCYmYSE9PW51bGwmJm9vKGEsZGUubWVtb2l6ZWRTdGF0ZS5kZXBzKT9pLm1lbW9pemVkU3RhdGU9ZmEodCxsLG4sYSk6KFAuZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPWZhKDF8dCxsLG4sYSkpfWZ1bmN0aW9uIFV1KGUsdCl7X2woODM5MDY1Niw4LGUsdCl9ZnVuY3Rpb24ganUoZSx0KXthaSgyMDQ4LDgsZSx0KX1mdW5jdGlvbiBIdShlLHQpe3JldHVybiBhaSg0LDIsZSx0KX1mdW5jdGlvbiBCdShlLHQpe3JldHVybiBhaSg0LDQsZSx0KX1mdW5jdGlvbiBMdShlLHQpe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtlPWUoKTt2YXIgbj10KGUpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiBuPT0iZnVuY3Rpb24iP24oKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBlPWUoKSx0LmN1cnJlbnQ9ZSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBZdShlLHQsbil7bj1uIT1udWxsP24uY29uY2F0KFtlXSk6bnVsbCxhaSg0LDQsTHUuYmluZChudWxsLHQsZSksbil9ZnVuY3Rpb24geW8oKXt9ZnVuY3Rpb24gR3UoZSx0KXt2YXIgbj1NZSgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9bi5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmb28odCxhWzFdKT9hWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gUXUoZSx0KXt2YXIgbj1NZSgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9bi5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZvbyh0LGFbMV0pKXJldHVybiBhWzBdO2lmKGE9ZSgpLFVuKXtQdCghMCk7dHJ5e2UoKX1maW5hbGx5e1B0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bYSx0XSxhfWZ1bmN0aW9uIGJvKGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMHx8KGNuJjEwNzM3NDE4MjQpIT09MD9lLm1lbW9pemVkU3RhdGU9dDooZS5tZW1vaXplZFN0YXRlPW4sZT1WZCgpLFAubGFuZXN8PWUscG58PWUsbil9ZnVuY3Rpb24gWHUoZSx0LG4sYSl7cmV0dXJuIHV0KG4sdCk/bjpzYS5jdXJyZW50IT09bnVsbD8oZT1ibyhlLG4sYSksdXQoZSx0KXx8KFllPSEwKSxlKTooY24mNDIpPT09MD8oWWU9ITAsZS5tZW1vaXplZFN0YXRlPW4pOihlPVZkKCksUC5sYW5lc3w9ZSxwbnw9ZSx0KX1mdW5jdGlvbiBadShlLHQsbixhLGkpe3ZhciBsPXEucDtxLnA9bCE9PTAmJjg+bD9sOjg7dmFyIG89QS5ULHM9e307QS5UPXMsd28oZSwhMSx0LG4pO3RyeXt2YXIgZj1pKCksaz1BLlM7aWYoayE9PW51bGwmJmsocyxmKSxmIT09bnVsbCYmdHlwZW9mIGY9PSJvYmplY3QiJiZ0eXBlb2YgZi50aGVuPT0iZnVuY3Rpb24iKXt2YXIgRT1LXyhmLGEpO2lpKGUsdCxFLGh0KGUpKX1lbHNlIGlpKGUsdCxhLGh0KGUpKX1jYXRjaCh6KXtpaShlLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjp6fSxodCgpKX1maW5hbGx5e3EucD1sLEEuVD1vfX1mdW5jdGlvbiBQXygpe31mdW5jdGlvbiBrbyhlLHQsbixhKXtpZihlLnRhZyE9PTUpdGhyb3cgRXJyb3IodSg0NzYpKTt2YXIgaT1WdShlKS5xdWV1ZTtadShlLGksdCxHLG49PT1udWxsP1BfOmZ1bmN0aW9uKCl7cmV0dXJuIEt1KGUpLG4oYSl9KX1mdW5jdGlvbiBWdShlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpHLGJhc2VTdGF0ZTpHLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOntwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6UXQsbGFzdFJlbmRlcmVkU3RhdGU6R30sbmV4dDpudWxsfTt2YXIgbj17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpRdCxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBLdShlKXt2YXIgdD1WdShlKS5uZXh0LnF1ZXVlO2lpKGUsdCx7fSxodCgpKX1mdW5jdGlvbiBTbygpe3JldHVybiAkZShTaSl9ZnVuY3Rpb24gSnUoKXtyZXR1cm4gTWUoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uICR1KCl7cmV0dXJuIE1lKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBJXyhlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPWh0KCk7ZT1hbihuKTt2YXIgYT1sbih0LGUsbik7YSE9PW51bGwmJihtdChhLHQsbiksUGEoYSx0LG4pKSx0PXtjYWNoZTpGYygpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gZWgoZSx0LG4pe3ZhciBhPWh0KCk7bj17bGFuZTphLHJldmVydExhbmU6MCxhY3Rpb246bixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LGhsKGUpP0Z1KHQsbik6KG49WWMoZSx0LG4sYSksbiE9PW51bGwmJihtdChuLGUsYSksUHUobix0LGEpKSl9ZnVuY3Rpb24gV3UoZSx0LG4pe3ZhciBhPWh0KCk7aWkoZSx0LG4sYSl9ZnVuY3Rpb24gaWkoZSx0LG4sYSl7dmFyIGk9e2xhbmU6YSxyZXZlcnRMYW5lOjAsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihobChlKSlGdSh0LGkpO2Vsc2V7dmFyIGw9ZS5hbHRlcm5hdGU7aWYoZS5sYW5lcz09PTAmJihsPT09bnVsbHx8bC5sYW5lcz09PTApJiYobD10Lmxhc3RSZW5kZXJlZFJlZHVjZXIsbCE9PW51bGwpKXRyeXt2YXIgbz10Lmxhc3RSZW5kZXJlZFN0YXRlLHM9bChvLG4pO2lmKGkuaGFzRWFnZXJTdGF0ZT0hMCxpLmVhZ2VyU3RhdGU9cyx1dChzLG8pKXJldHVybiBQaShlLHQsaSwwKSxnZT09PW51bGwmJkZpKCksITF9Y2F0Y2h7fWlmKG49WWMoZSx0LGksYSksbiE9PW51bGwpcmV0dXJuIG10KG4sZSxhKSxQdShuLHQsYSksITB9cmV0dXJuITF9ZnVuY3Rpb24gd28oZSx0LG4sYSl7aWYoYT17bGFuZToyLHJldmVydExhbmU6dHIoKSxhY3Rpb246YSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LGhsKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSB0PVljKGUsbixhLDIpLHQhPT1udWxsJiZtdCh0LGUsMil9ZnVuY3Rpb24gaGwoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1QfHx0IT09bnVsbCYmdD09PVB9ZnVuY3Rpb24gRnUoZSx0KXt1YT1zbD0hMDt2YXIgbj1lLnBlbmRpbmc7bj09PW51bGw/dC5uZXh0PXQ6KHQubmV4dD1uLm5leHQsbi5uZXh0PXQpLGUucGVuZGluZz10fWZ1bmN0aW9uIFB1KGUsdCxuKXtpZigobiY0MTk0MDQ4KSE9PTApe3ZhciBhPXQubGFuZXM7YSY9ZS5wZW5kaW5nTGFuZXMsbnw9YSx0LmxhbmVzPW4sY3MoZSxuKX19dmFyIG1sPXtyZWFkQ29udGV4dDokZSx1c2U6ZGwsdXNlQ2FsbGJhY2s6emUsdXNlQ29udGV4dDp6ZSx1c2VFZmZlY3Q6emUsdXNlSW1wZXJhdGl2ZUhhbmRsZTp6ZSx1c2VMYXlvdXRFZmZlY3Q6emUsdXNlSW5zZXJ0aW9uRWZmZWN0OnplLHVzZU1lbW86emUsdXNlUmVkdWNlcjp6ZSx1c2VSZWY6emUsdXNlU3RhdGU6emUsdXNlRGVidWdWYWx1ZTp6ZSx1c2VEZWZlcnJlZFZhbHVlOnplLHVzZVRyYW5zaXRpb246emUsdXNlU3luY0V4dGVybmFsU3RvcmU6emUsdXNlSWQ6emUsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6emUsdXNlRm9ybVN0YXRlOnplLHVzZUFjdGlvblN0YXRlOnplLHVzZU9wdGltaXN0aWM6emUsdXNlTWVtb0NhY2hlOnplLHVzZUNhY2hlUmVmcmVzaDp6ZX0sSXU9e3JlYWRDb250ZXh0OiRlLHVzZTpkbCx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiB0dCgpLm1lbW9pemVkU3RhdGU9W2UsdD09PXZvaWQgMD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6JGUsdXNlRWZmZWN0OlV1LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249biE9bnVsbD9uLmNvbmNhdChbZV0pOm51bGwsX2woNDE5NDMwOCw0LEx1LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gX2woNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe19sKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHQoKTt0PXQ9PT12b2lkIDA/bnVsbDp0O3ZhciBhPWUoKTtpZihVbil7UHQoITApO3RyeXtlKCl9ZmluYWxseXtQdCghMSl9fXJldHVybiBuLm1lbW9pemVkU3RhdGU9W2EsdF0sYX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLHQsbil7dmFyIGE9dHQoKTtpZihuIT09dm9pZCAwKXt2YXIgaT1uKHQpO2lmKFVuKXtQdCghMCk7dHJ5e24odCl9ZmluYWxseXtQdCghMSl9fX1lbHNlIGk9dDtyZXR1cm4gYS5tZW1vaXplZFN0YXRlPWEuYmFzZVN0YXRlPWksZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmUsbGFzdFJlbmRlcmVkU3RhdGU6aX0sYS5xdWV1ZT1lLGU9ZS5kaXNwYXRjaD1laC5iaW5kKG51bGwsUCxlKSxbYS5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7dmFyIHQ9dHQoKTtyZXR1cm4gZT17Y3VycmVudDplfSx0Lm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6ZnVuY3Rpb24oZSl7ZT1nbyhlKTt2YXIgdD1lLnF1ZXVlLG49V3UuYmluZChudWxsLFAsdCk7cmV0dXJuIHQuZGlzcGF0Y2g9bixbZS5tZW1vaXplZFN0YXRlLG5dfSx1c2VEZWJ1Z1ZhbHVlOnlvLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10dCgpO3JldHVybiBibyhuLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1nbyghMSk7cmV0dXJuIGU9WnUuYmluZChudWxsLFAsZS5xdWV1ZSwhMCwhMSksdHQoKS5tZW1vaXplZFN0YXRlPWUsWyExLGVdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIGE9UCxpPXR0KCk7aWYoaWUpe2lmKG49PT12b2lkIDApdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNle2lmKG49dCgpLGdlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0OSkpOyhuZSYxMjQpIT09MHx8YnUoYSx0LG4pfWkubWVtb2l6ZWRTdGF0ZT1uO3ZhciBsPXt2YWx1ZTpuLGdldFNuYXBzaG90OnR9O3JldHVybiBpLnF1ZXVlPWwsVXUoU3UuYmluZChudWxsLGEsbCxlKSxbZV0pLGEuZmxhZ3N8PTIwNDgsZmEoOSxwbCgpLGt1LmJpbmQobnVsbCxhLGwsbix0KSxudWxsKSxufSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPXR0KCksdD1nZS5pZGVudGlmaWVyUHJlZml4O2lmKGllKXt2YXIgbj1MdCxhPUJ0O249KGEmfigxPDwzMi1zdChhKS0xKSkudG9TdHJpbmcoMzIpK24sdD0iwqsiK3QrIlIiK24sbj11bCsrLDA8biYmKHQrPSJIIituLnRvU3RyaW5nKDMyKSksdCs9IsK7In1lbHNlIG49Sl8rKyx0PSLCqyIrdCsiciIrbi50b1N0cmluZygzMikrIsK7IjtyZXR1cm4gZS5tZW1vaXplZFN0YXRlPXR9LHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzOlNvLHVzZUZvcm1TdGF0ZTpPdSx1c2VBY3Rpb25TdGF0ZTpPdSx1c2VPcHRpbWlzdGljOmZ1bmN0aW9uKGUpe3ZhciB0PXR0KCk7dC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWU7dmFyIG49e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpudWxsLGxhc3RSZW5kZXJlZFN0YXRlOm51bGx9O3JldHVybiB0LnF1ZXVlPW4sdD13by5iaW5kKG51bGwsUCwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTpfbyx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gdHQoKS5tZW1vaXplZFN0YXRlPUlfLmJpbmQobnVsbCxQKX19LGVkPXtyZWFkQ29udGV4dDokZSx1c2U6ZGwsdXNlQ2FsbGJhY2s6R3UsdXNlQ29udGV4dDokZSx1c2VFZmZlY3Q6anUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpZdSx1c2VJbnNlcnRpb25FZmZlY3Q6SHUsdXNlTGF5b3V0RWZmZWN0OkJ1LHVzZU1lbW86UXUsdXNlUmVkdWNlcjpmbCx1c2VSZWY6cXUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZmwoUXQpfSx1c2VEZWJ1Z1ZhbHVlOnlvLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1NZSgpO3JldHVybiBYdShuLGRlLm1lbW9pemVkU3RhdGUsZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWZsKFF0KVswXSx0PU1lKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGU9PSJib29sZWFuIj9lOm5pKGUpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTp5dSx1c2VJZDpKdSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpTbyx1c2VGb3JtU3RhdGU6RHUsdXNlQWN0aW9uU3RhdGU6RHUsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlLHQpe3ZhciBuPU1lKCk7cmV0dXJuIFR1KG4sZGUsZSx0KX0sdXNlTWVtb0NhY2hlOl9vLHVzZUNhY2hlUmVmcmVzaDokdX0sdGg9e3JlYWRDb250ZXh0OiRlLHVzZTpkbCx1c2VDYWxsYmFjazpHdSx1c2VDb250ZXh0OiRlLHVzZUVmZmVjdDpqdSx1c2VJbXBlcmF0aXZlSGFuZGxlOll1LHVzZUluc2VydGlvbkVmZmVjdDpIdSx1c2VMYXlvdXRFZmZlY3Q6QnUsdXNlTWVtbzpRdSx1c2VSZWR1Y2VyOm1vLHVzZVJlZjpxdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBtbyhRdCl9LHVzZURlYnVnVmFsdWU6eW8sdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPU1lKCk7cmV0dXJuIGRlPT09bnVsbD9ibyhuLGUsdCk6WHUobixkZS5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1tbyhRdClbMF0sdD1NZSgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBlPT0iYm9vbGVhbiI/ZTpuaShlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6eXUsdXNlSWQ6SnUsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6U28sdXNlRm9ybVN0YXRlOkN1LHVzZUFjdGlvblN0YXRlOkN1LHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1NZSgpO3JldHVybiBkZSE9PW51bGw/VHUobixkZSxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOl9vLHVzZUNhY2hlUmVmcmVzaDokdX0scGE9bnVsbCxsaT0wO2Z1bmN0aW9uIGdsKGUpe3ZhciB0PWxpO3JldHVybiBsaSs9MSxwYT09PW51bGwmJihwYT1bXSksZHUocGEsZSx0KX1mdW5jdGlvbiBjaShlLHQpe3Q9dC5wcm9wcy5yZWYsZS5yZWY9dCE9PXZvaWQgMD90Om51bGx9ZnVuY3Rpb24gdmwoZSx0KXt0aHJvdyB0LiQkdHlwZW9mPT09Qj9FcnJvcih1KDUyNSkpOihlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSxFcnJvcih1KDMxLGU9PT0iW29iamVjdCBPYmplY3RdIj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjplKSkpfWZ1bmN0aW9uIHRkKGUpe3ZhciB0PWUuX2luaXQ7cmV0dXJuIHQoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gbmQoZSl7ZnVuY3Rpb24gdChnLF8pe2lmKGUpe3ZhciBiPWcuZGVsZXRpb25zO2I9PT1udWxsPyhnLmRlbGV0aW9ucz1bX10sZy5mbGFnc3w9MTYpOmIucHVzaChfKX19ZnVuY3Rpb24gbihnLF8pe2lmKCFlKXJldHVybiBudWxsO2Zvcig7XyE9PW51bGw7KXQoZyxfKSxfPV8uc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiBhKGcpe2Zvcih2YXIgXz1uZXcgTWFwO2chPT1udWxsOylnLmtleSE9PW51bGw/Xy5zZXQoZy5rZXksZyk6Xy5zZXQoZy5pbmRleCxnKSxnPWcuc2libGluZztyZXR1cm4gX31mdW5jdGlvbiBpKGcsXyl7cmV0dXJuIGc9SHQoZyxfKSxnLmluZGV4PTAsZy5zaWJsaW5nPW51bGwsZ31mdW5jdGlvbiBsKGcsXyxiKXtyZXR1cm4gZy5pbmRleD1iLGU/KGI9Zy5hbHRlcm5hdGUsYiE9PW51bGw/KGI9Yi5pbmRleCxiPF8/KGcuZmxhZ3N8PTY3MTA4ODY2LF8pOmIpOihnLmZsYWdzfD02NzEwODg2NixfKSk6KGcuZmxhZ3N8PTEwNDg1NzYsXyl9ZnVuY3Rpb24gbyhnKXtyZXR1cm4gZSYmZy5hbHRlcm5hdGU9PT1udWxsJiYoZy5mbGFnc3w9NjcxMDg4NjYpLGd9ZnVuY3Rpb24gcyhnLF8sYixSKXtyZXR1cm4gXz09PW51bGx8fF8udGFnIT09Nj8oXz1RYyhiLGcubW9kZSxSKSxfLnJldHVybj1nLF8pOihfPWkoXyxiKSxfLnJldHVybj1nLF8pfWZ1bmN0aW9uIGYoZyxfLGIsUil7dmFyIEg9Yi50eXBlO3JldHVybiBIPT09Y2U/RShnLF8sYi5wcm9wcy5jaGlsZHJlbixSLGIua2V5KTpfIT09bnVsbCYmKF8uZWxlbWVudFR5cGU9PT1IfHx0eXBlb2YgSD09Im9iamVjdCImJkghPT1udWxsJiZILiQkdHlwZW9mPT09YmUmJnRkKEgpPT09Xy50eXBlKT8oXz1pKF8sYi5wcm9wcyksY2koXyxiKSxfLnJldHVybj1nLF8pOihfPWVsKGIudHlwZSxiLmtleSxiLnByb3BzLG51bGwsZy5tb2RlLFIpLGNpKF8sYiksXy5yZXR1cm49ZyxfKX1mdW5jdGlvbiBrKGcsXyxiLFIpe3JldHVybiBfPT09bnVsbHx8Xy50YWchPT00fHxfLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09Yi5jb250YWluZXJJbmZvfHxfLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PWIuaW1wbGVtZW50YXRpb24/KF89WGMoYixnLm1vZGUsUiksXy5yZXR1cm49ZyxfKTooXz1pKF8sYi5jaGlsZHJlbnx8W10pLF8ucmV0dXJuPWcsXyl9ZnVuY3Rpb24gRShnLF8sYixSLEgpe3JldHVybiBfPT09bnVsbHx8Xy50YWchPT03PyhfPVJuKGIsZy5tb2RlLFIsSCksXy5yZXR1cm49ZyxfKTooXz1pKF8sYiksXy5yZXR1cm49ZyxfKX1mdW5jdGlvbiB6KGcsXyxiKXtpZih0eXBlb2YgXz09InN0cmluZyImJl8hPT0iInx8dHlwZW9mIF89PSJudW1iZXIifHx0eXBlb2YgXz09ImJpZ2ludCIpcmV0dXJuIF89UWMoIiIrXyxnLm1vZGUsYiksXy5yZXR1cm49ZyxfO2lmKHR5cGVvZiBfPT0ib2JqZWN0IiYmXyE9PW51bGwpe3N3aXRjaChfLiQkdHlwZW9mKXtjYXNlIFo6cmV0dXJuIGI9ZWwoXy50eXBlLF8ua2V5LF8ucHJvcHMsbnVsbCxnLm1vZGUsYiksY2koYixfKSxiLnJldHVybj1nLGI7Y2FzZSBfZTpyZXR1cm4gXz1YYyhfLGcubW9kZSxiKSxfLnJldHVybj1nLF87Y2FzZSBiZTp2YXIgUj1fLl9pbml0O3JldHVybiBfPVIoXy5fcGF5bG9hZCkseihnLF8sYil9aWYoQmUoXyl8fFRlKF8pKXJldHVybiBfPVJuKF8sZy5tb2RlLGIsbnVsbCksXy5yZXR1cm49ZyxfO2lmKHR5cGVvZiBfLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHooZyxnbChfKSxiKTtpZihfLiQkdHlwZW9mPT09b2UpcmV0dXJuIHooZyxpbChnLF8pLGIpO3ZsKGcsXyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUyhnLF8sYixSKXt2YXIgSD1fIT09bnVsbD9fLmtleTpudWxsO2lmKHR5cGVvZiBiPT0ic3RyaW5nIiYmYiE9PSIifHx0eXBlb2YgYj09Im51bWJlciJ8fHR5cGVvZiBiPT0iYmlnaW50IilyZXR1cm4gSCE9PW51bGw/bnVsbDpzKGcsXywiIitiLFIpO2lmKHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIFo6cmV0dXJuIGIua2V5PT09SD9mKGcsXyxiLFIpOm51bGw7Y2FzZSBfZTpyZXR1cm4gYi5rZXk9PT1IP2soZyxfLGIsUik6bnVsbDtjYXNlIGJlOnJldHVybiBIPWIuX2luaXQsYj1IKGIuX3BheWxvYWQpLFMoZyxfLGIsUil9aWYoQmUoYil8fFRlKGIpKXJldHVybiBIIT09bnVsbD9udWxsOkUoZyxfLGIsUixudWxsKTtpZih0eXBlb2YgYi50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBTKGcsXyxnbChiKSxSKTtpZihiLiQkdHlwZW9mPT09b2UpcmV0dXJuIFMoZyxfLGlsKGcsYiksUik7dmwoZyxiKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB3KGcsXyxiLFIsSCl7aWYodHlwZW9mIFI9PSJzdHJpbmciJiZSIT09IiJ8fHR5cGVvZiBSPT0ibnVtYmVyInx8dHlwZW9mIFI9PSJiaWdpbnQiKXJldHVybiBnPWcuZ2V0KGIpfHxudWxsLHMoXyxnLCIiK1IsSCk7aWYodHlwZW9mIFI9PSJvYmplY3QiJiZSIT09bnVsbCl7c3dpdGNoKFIuJCR0eXBlb2Ype2Nhc2UgWjpyZXR1cm4gZz1nLmdldChSLmtleT09PW51bGw/YjpSLmtleSl8fG51bGwsZihfLGcsUixIKTtjYXNlIF9lOnJldHVybiBnPWcuZ2V0KFIua2V5PT09bnVsbD9iOlIua2V5KXx8bnVsbCxrKF8sZyxSLEgpO2Nhc2UgYmU6dmFyIEk9Ui5faW5pdDtyZXR1cm4gUj1JKFIuX3BheWxvYWQpLHcoZyxfLGIsUixIKX1pZihCZShSKXx8VGUoUikpcmV0dXJuIGc9Zy5nZXQoYil8fG51bGwsRShfLGcsUixILG51bGwpO2lmKHR5cGVvZiBSLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHcoZyxfLGIsZ2woUiksSCk7aWYoUi4kJHR5cGVvZj09PW9lKXJldHVybiB3KGcsXyxiLGlsKF8sUiksSCk7dmwoXyxSKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBWKGcsXyxiLFIpe2Zvcih2YXIgSD1udWxsLEk9bnVsbCxMPV8sWD1fPTAsUWU9bnVsbDtMIT09bnVsbCYmWDxiLmxlbmd0aDtYKyspe0wuaW5kZXg+WD8oUWU9TCxMPW51bGwpOlFlPUwuc2libGluZzt2YXIgYWU9UyhnLEwsYltYXSxSKTtpZihhZT09PW51bGwpe0w9PT1udWxsJiYoTD1RZSk7YnJlYWt9ZSYmTCYmYWUuYWx0ZXJuYXRlPT09bnVsbCYmdChnLEwpLF89bChhZSxfLFgpLEk9PT1udWxsP0g9YWU6SS5zaWJsaW5nPWFlLEk9YWUsTD1RZX1pZihYPT09Yi5sZW5ndGgpcmV0dXJuIG4oZyxMKSxpZSYmTm4oZyxYKSxIO2lmKEw9PT1udWxsKXtmb3IoO1g8Yi5sZW5ndGg7WCsrKUw9eihnLGJbWF0sUiksTCE9PW51bGwmJihfPWwoTCxfLFgpLEk9PT1udWxsP0g9TDpJLnNpYmxpbmc9TCxJPUwpO3JldHVybiBpZSYmTm4oZyxYKSxIfWZvcihMPWEoTCk7WDxiLmxlbmd0aDtYKyspUWU9dyhMLGcsWCxiW1hdLFIpLFFlIT09bnVsbCYmKGUmJlFlLmFsdGVybmF0ZSE9PW51bGwmJkwuZGVsZXRlKFFlLmtleT09PW51bGw/WDpRZS5rZXkpLF89bChRZSxfLFgpLEk9PT1udWxsP0g9UWU6SS5zaWJsaW5nPVFlLEk9UWUpO3JldHVybiBlJiZMLmZvckVhY2goZnVuY3Rpb24oU24pe3JldHVybiB0KGcsU24pfSksaWUmJk5uKGcsWCksSH1mdW5jdGlvbiBRKGcsXyxiLFIpe2lmKGI9PW51bGwpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIEg9bnVsbCxJPW51bGwsTD1fLFg9Xz0wLFFlPW51bGwsYWU9Yi5uZXh0KCk7TCE9PW51bGwmJiFhZS5kb25lO1grKyxhZT1iLm5leHQoKSl7TC5pbmRleD5YPyhRZT1MLEw9bnVsbCk6UWU9TC5zaWJsaW5nO3ZhciBTbj1TKGcsTCxhZS52YWx1ZSxSKTtpZihTbj09PW51bGwpe0w9PT1udWxsJiYoTD1RZSk7YnJlYWt9ZSYmTCYmU24uYWx0ZXJuYXRlPT09bnVsbCYmdChnLEwpLF89bChTbixfLFgpLEk9PT1udWxsP0g9U246SS5zaWJsaW5nPVNuLEk9U24sTD1RZX1pZihhZS5kb25lKXJldHVybiBuKGcsTCksaWUmJk5uKGcsWCksSDtpZihMPT09bnVsbCl7Zm9yKDshYWUuZG9uZTtYKyssYWU9Yi5uZXh0KCkpYWU9eihnLGFlLnZhbHVlLFIpLGFlIT09bnVsbCYmKF89bChhZSxfLFgpLEk9PT1udWxsP0g9YWU6SS5zaWJsaW5nPWFlLEk9YWUpO3JldHVybiBpZSYmTm4oZyxYKSxIfWZvcihMPWEoTCk7IWFlLmRvbmU7WCsrLGFlPWIubmV4dCgpKWFlPXcoTCxnLFgsYWUudmFsdWUsUiksYWUhPT1udWxsJiYoZSYmYWUuYWx0ZXJuYXRlIT09bnVsbCYmTC5kZWxldGUoYWUua2V5PT09bnVsbD9YOmFlLmtleSksXz1sKGFlLF8sWCksST09PW51bGw/SD1hZTpJLnNpYmxpbmc9YWUsST1hZSk7cmV0dXJuIGUmJkwuZm9yRWFjaChmdW5jdGlvbihubSl7cmV0dXJuIHQoZyxubSl9KSxpZSYmTm4oZyxYKSxIfWZ1bmN0aW9uIHBlKGcsXyxiLFIpe2lmKHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwmJmIudHlwZT09PWNlJiZiLmtleT09PW51bGwmJihiPWIucHJvcHMuY2hpbGRyZW4pLHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIFo6ZTp7Zm9yKHZhciBIPWIua2V5O18hPT1udWxsOyl7aWYoXy5rZXk9PT1IKXtpZihIPWIudHlwZSxIPT09Y2Upe2lmKF8udGFnPT09Nyl7bihnLF8uc2libGluZyksUj1pKF8sYi5wcm9wcy5jaGlsZHJlbiksUi5yZXR1cm49ZyxnPVI7YnJlYWsgZX19ZWxzZSBpZihfLmVsZW1lbnRUeXBlPT09SHx8dHlwZW9mIEg9PSJvYmplY3QiJiZIIT09bnVsbCYmSC4kJHR5cGVvZj09PWJlJiZ0ZChIKT09PV8udHlwZSl7bihnLF8uc2libGluZyksUj1pKF8sYi5wcm9wcyksY2koUixiKSxSLnJldHVybj1nLGc9UjticmVhayBlfW4oZyxfKTticmVha31lbHNlIHQoZyxfKTtfPV8uc2libGluZ31iLnR5cGU9PT1jZT8oUj1SbihiLnByb3BzLmNoaWxkcmVuLGcubW9kZSxSLGIua2V5KSxSLnJldHVybj1nLGc9Uik6KFI9ZWwoYi50eXBlLGIua2V5LGIucHJvcHMsbnVsbCxnLm1vZGUsUiksY2koUixiKSxSLnJldHVybj1nLGc9Uil9cmV0dXJuIG8oZyk7Y2FzZSBfZTplOntmb3IoSD1iLmtleTtfIT09bnVsbDspe2lmKF8ua2V5PT09SClpZihfLnRhZz09PTQmJl8uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1iLmNvbnRhaW5lckluZm8mJl8uc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09Yi5pbXBsZW1lbnRhdGlvbil7bihnLF8uc2libGluZyksUj1pKF8sYi5jaGlsZHJlbnx8W10pLFIucmV0dXJuPWcsZz1SO2JyZWFrIGV9ZWxzZXtuKGcsXyk7YnJlYWt9ZWxzZSB0KGcsXyk7Xz1fLnNpYmxpbmd9Uj1YYyhiLGcubW9kZSxSKSxSLnJldHVybj1nLGc9Un1yZXR1cm4gbyhnKTtjYXNlIGJlOnJldHVybiBIPWIuX2luaXQsYj1IKGIuX3BheWxvYWQpLHBlKGcsXyxiLFIpfWlmKEJlKGIpKXJldHVybiBWKGcsXyxiLFIpO2lmKFRlKGIpKXtpZihIPVRlKGIpLHR5cGVvZiBIIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGI9SC5jYWxsKGIpLFEoZyxfLGIsUil9aWYodHlwZW9mIGIudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gcGUoZyxfLGdsKGIpLFIpO2lmKGIuJCR0eXBlb2Y9PT1vZSlyZXR1cm4gcGUoZyxfLGlsKGcsYiksUik7dmwoZyxiKX1yZXR1cm4gdHlwZW9mIGI9PSJzdHJpbmciJiZiIT09IiJ8fHR5cGVvZiBiPT0ibnVtYmVyInx8dHlwZW9mIGI9PSJiaWdpbnQiPyhiPSIiK2IsXyE9PW51bGwmJl8udGFnPT09Nj8obihnLF8uc2libGluZyksUj1pKF8sYiksUi5yZXR1cm49ZyxnPVIpOihuKGcsXyksUj1RYyhiLGcubW9kZSxSKSxSLnJldHVybj1nLGc9UiksbyhnKSk6bihnLF8pfXJldHVybiBmdW5jdGlvbihnLF8sYixSKXt0cnl7bGk9MDt2YXIgSD1wZShnLF8sYixSKTtyZXR1cm4gcGE9bnVsbCxIfWNhdGNoKEwpe2lmKEw9PT1XYXx8TD09PWNsKXRocm93IEw7dmFyIEk9ZHQoMjksTCxudWxsLGcubW9kZSk7cmV0dXJuIEkubGFuZXM9UixJLnJldHVybj1nLEl9fX12YXIgX2E9bmQoITApLGFkPW5kKCExKSx3dD1UKG51bGwpLE90PW51bGw7ZnVuY3Rpb24gb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7QyhxZSxxZS5jdXJyZW50JjEpLEMod3QsZSksT3Q9PT1udWxsJiYodD09PW51bGx8fHNhLmN1cnJlbnQhPT1udWxsfHx0Lm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKE90PWUpfWZ1bmN0aW9uIGlkKGUpe2lmKGUudGFnPT09MjIpe2lmKEMocWUscWUuY3VycmVudCksQyh3dCxlKSxPdD09PW51bGwpe3ZhciB0PWUuYWx0ZXJuYXRlO3QhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiYoT3Q9ZSl9fWVsc2Ugcm4oKX1mdW5jdGlvbiBybigpe0MocWUscWUuY3VycmVudCksQyh3dCx3dC5jdXJyZW50KX1mdW5jdGlvbiBYdChlKXtNKHd0KSxPdD09PWUmJihPdD1udWxsKSxNKHFlKX12YXIgcWU9VCgwKTtmdW5jdGlvbiB5bChlKXtmb3IodmFyIHQ9ZTt0IT09bnVsbDspe2lmKHQudGFnPT09MTMpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihuIT09bnVsbCYmKG49bi5kZWh5ZHJhdGVkLG49PT1udWxsfHxuLmRhdGE9PT0iJD8ifHxwcihuKSkpcmV0dXJuIHR9ZWxzZSBpZih0LnRhZz09PTE5JiZ0Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIhPT12b2lkIDApe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0fWVsc2UgaWYodC5jaGlsZCE9PW51bGwpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1lKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiB4byhlLHQsbixhKXt0PWUubWVtb2l6ZWRTdGF0ZSxuPW4oYSx0KSxuPW49PW51bGw/dDpPKHt9LHQsbiksZS5tZW1vaXplZFN0YXRlPW4sZS5sYW5lcz09PTAmJihlLnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1uKX12YXIgVG89e2VucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgYT1odCgpLGk9YW4oYSk7aS5wYXlsb2FkPXQsbiE9bnVsbCYmKGkuY2FsbGJhY2s9biksdD1sbihlLGksYSksdCE9PW51bGwmJihtdCh0LGUsYSksUGEodCxlLGEpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgYT1odCgpLGk9YW4oYSk7aS50YWc9MSxpLnBheWxvYWQ9dCxuIT1udWxsJiYoaS5jYWxsYmFjaz1uKSx0PWxuKGUsaSxhKSx0IT09bnVsbCYmKG10KHQsZSxhKSxQYSh0LGUsYSkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSx0KXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciBuPWh0KCksYT1hbihuKTthLnRhZz0yLHQhPW51bGwmJihhLmNhbGxiYWNrPXQpLHQ9bG4oZSxhLG4pLHQhPT1udWxsJiYobXQodCxlLG4pLFBhKHQsZSxuKSl9fTtmdW5jdGlvbiBsZChlLHQsbixhLGksbCxvKXtyZXR1cm4gZT1lLnN0YXRlTm9kZSx0eXBlb2YgZS5zaG91bGRDb21wb25lbnRVcGRhdGU9PSJmdW5jdGlvbiI/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUoYSxsLG8pOnQucHJvdG90eXBlJiZ0LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudD8hR2EobixhKXx8IUdhKGksbCk6ITB9ZnVuY3Rpb24gY2QoZSx0LG4sYSl7ZT10LnN0YXRlLHR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHM9PSJmdW5jdGlvbiImJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLGEpLHR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT0iZnVuY3Rpb24iJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sYSksdC5zdGF0ZSE9PWUmJlRvLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIGpuKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpe249e307Zm9yKHZhciBhIGluIHQpYSE9PSJyZWYiJiYoblthXT10W2FdKX1pZihlPWUuZGVmYXVsdFByb3BzKXtuPT09dCYmKG49Tyh7fSxuKSk7Zm9yKHZhciBpIGluIGUpbltpXT09PXZvaWQgMCYmKG5baV09ZVtpXSl9cmV0dXJuIG59dmFyIGJsPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbCYmdHlwZW9mIGUubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixlKTtyZXR1cm59Y29uc29sZS5lcnJvcihlKX07ZnVuY3Rpb24gb2QoZSl7YmwoZSl9ZnVuY3Rpb24gcmQoZSl7Y29uc29sZS5lcnJvcihlKX1mdW5jdGlvbiBzZChlKXtibChlKX1mdW5jdGlvbiBrbChlLHQpe3RyeXt2YXIgbj1lLm9uVW5jYXVnaHRFcnJvcjtuKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgYX0pfX1mdW5jdGlvbiB1ZChlLHQsbil7dHJ5e3ZhciBhPWUub25DYXVnaHRFcnJvcjthKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm4uc3RhY2ssZXJyb3JCb3VuZGFyeTp0LnRhZz09PTE/dC5zdGF0ZU5vZGU6bnVsbH0pfWNhdGNoKGkpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBpfSl9fWZ1bmN0aW9uIEFvKGUsdCxuKXtyZXR1cm4gbj1hbihuKSxuLnRhZz0zLG4ucGF5bG9hZD17ZWxlbWVudDpudWxsfSxuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7a2woZSx0KX0sbn1mdW5jdGlvbiBkZChlKXtyZXR1cm4gZT1hbihlKSxlLnRhZz0zLGV9ZnVuY3Rpb24gZmQoZSx0LG4sYSl7dmFyIGk9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZih0eXBlb2YgaT09ImZ1bmN0aW9uIil7dmFyIGw9YS52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gaShsKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe3VkKHQsbixhKX19dmFyIG89bi5zdGF0ZU5vZGU7byE9PW51bGwmJnR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe3VkKHQsbixhKSx0eXBlb2YgaSE9ImZ1bmN0aW9uIiYmKF9uPT09bnVsbD9fbj1uZXcgU2V0KFt0aGlzXSk6X24uYWRkKHRoaXMpKTt2YXIgcz1hLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goYS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6cyE9PW51bGw/czoiIn0pfSl9ZnVuY3Rpb24gbmgoZSx0LG4sYSxpKXtpZihuLmZsYWdzfD0zMjc2OCxhIT09bnVsbCYmdHlwZW9mIGE9PSJvYmplY3QiJiZ0eXBlb2YgYS50aGVuPT0iZnVuY3Rpb24iKXtpZih0PW4uYWx0ZXJuYXRlLHQhPT1udWxsJiZLYSh0LG4saSwhMCksbj13dC5jdXJyZW50LG4hPT1udWxsKXtzd2l0Y2gobi50YWcpe2Nhc2UgMTM6cmV0dXJuIE90PT09bnVsbD9XbygpOm4uYWx0ZXJuYXRlPT09bnVsbCYmRWU9PT0wJiYoRWU9Myksbi5mbGFncyY9LTI1NyxuLmZsYWdzfD02NTUzNixuLmxhbmVzPWksYT09PWVvP24uZmxhZ3N8PTE2Mzg0Oih0PW4udXBkYXRlUXVldWUsdD09PW51bGw/bi51cGRhdGVRdWV1ZT1uZXcgU2V0KFthXSk6dC5hZGQoYSksUG8oZSxhLGkpKSwhMTtjYXNlIDIyOnJldHVybiBuLmZsYWdzfD02NTUzNixhPT09ZW8/bi5mbGFnc3w9MTYzODQ6KHQ9bi51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17dHJhbnNpdGlvbnM6bnVsbCxtYXJrZXJJbnN0YW5jZXM6bnVsbCxyZXRyeVF1ZXVlOm5ldyBTZXQoW2FdKX0sbi51cGRhdGVRdWV1ZT10KToobj10LnJldHJ5UXVldWUsbj09PW51bGw/dC5yZXRyeVF1ZXVlPW5ldyBTZXQoW2FdKTpuLmFkZChhKSksUG8oZSxhLGkpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBQbyhlLGEsaSksV28oKSwhMX1pZihpZSlyZXR1cm4gdD13dC5jdXJyZW50LHQhPT1udWxsPygodC5mbGFncyY2NTUzNik9PT0wJiYodC5mbGFnc3w9MjU2KSx0LmZsYWdzfD02NTUzNix0LmxhbmVzPWksYSE9PUtjJiYoZT1FcnJvcih1KDQyMikse2NhdXNlOmF9KSxWYSh5dChlLG4pKSkpOihhIT09S2MmJih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6YX0pLFZhKHl0KHQsbikpKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsaSY9LWksZS5sYW5lc3w9aSxhPXl0KGEsbiksaT1BbyhlLnN0YXRlTm9kZSxhLGkpLGFvKGUsaSksRWUhPT00JiYoRWU9MikpLCExO3ZhciBsPUVycm9yKHUoNTIwKSx7Y2F1c2U6YX0pO2lmKGw9eXQobCxuKSxwaT09PW51bGw/cGk9W2xdOnBpLnB1c2gobCksRWUhPT00JiYoRWU9MiksdD09PW51bGwpcmV0dXJuITA7YT15dChhLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1pJi1pLG4ubGFuZXN8PWUsZT1BbyhuLnN0YXRlTm9kZSxhLGUpLGFvKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGw9bi5zdGF0ZU5vZGUsKG4uZmxhZ3MmMTI4KT09PTAmJih0eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fGwhPT1udWxsJiZ0eXBlb2YgbC5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKF9uPT09bnVsbHx8IV9uLmhhcyhsKSkpKXJldHVybiBuLmZsYWdzfD02NTUzNixpJj0taSxuLmxhbmVzfD1pLGk9ZGQoaSksZmQoaSxlLG4sYSksYW8obixpKSwhMX1uPW4ucmV0dXJufXdoaWxlKG4hPT1udWxsKTtyZXR1cm4hMX12YXIgcGQ9RXJyb3IodSg0NjEpKSxZZT0hMTtmdW5jdGlvbiBYZShlLHQsbixhKXt0LmNoaWxkPWU9PT1udWxsP2FkKHQsbnVsbCxuLGEpOl9hKHQsZS5jaGlsZCxuLGEpfWZ1bmN0aW9uIF9kKGUsdCxuLGEsaSl7bj1uLnJlbmRlcjt2YXIgbD10LnJlZjtpZigicmVmImluIGEpe3ZhciBvPXt9O2Zvcih2YXIgcyBpbiBhKXMhPT0icmVmIiYmKG9bc109YVtzXSl9ZWxzZSBvPWE7cmV0dXJuIENuKHQpLGE9cm8oZSx0LG4sbyxsLGkpLHM9c28oKSxlIT09bnVsbCYmIVllPyh1byhlLHQsaSksWnQoZSx0LGkpKTooaWUmJnMmJlpjKHQpLHQuZmxhZ3N8PTEsWGUoZSx0LGEsaSksdC5jaGlsZCl9ZnVuY3Rpb24gaGQoZSx0LG4sYSxpKXtpZihlPT09bnVsbCl7dmFyIGw9bi50eXBlO3JldHVybiB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmIUdjKGwpJiZsLmRlZmF1bHRQcm9wcz09PXZvaWQgMCYmbi5jb21wYXJlPT09bnVsbD8odC50YWc9MTUsdC50eXBlPWwsbWQoZSx0LGwsYSxpKSk6KGU9ZWwobi50eXBlLG51bGwsYSx0LHQubW9kZSxpKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9aWYobD1lLmNoaWxkLCFDbyhlLGkpKXt2YXIgbz1sLm1lbW9pemVkUHJvcHM7aWYobj1uLmNvbXBhcmUsbj1uIT09bnVsbD9uOkdhLG4obyxhKSYmZS5yZWY9PT10LnJlZilyZXR1cm4gWnQoZSx0LGkpfXJldHVybiB0LmZsYWdzfD0xLGU9SHQobCxhKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZX1mdW5jdGlvbiBtZChlLHQsbixhLGkpe2lmKGUhPT1udWxsKXt2YXIgbD1lLm1lbW9pemVkUHJvcHM7aWYoR2EobCxhKSYmZS5yZWY9PT10LnJlZilpZihZZT0hMSx0LnBlbmRpbmdQcm9wcz1hPWwsQ28oZSxpKSkoZS5mbGFncyYxMzEwNzIpIT09MCYmKFllPSEwKTtlbHNlIHJldHVybiB0LmxhbmVzPWUubGFuZXMsWnQoZSx0LGkpfXJldHVybiBFbyhlLHQsbixhLGkpfWZ1bmN0aW9uIGdkKGUsdCxuKXt2YXIgYT10LnBlbmRpbmdQcm9wcyxpPWEuY2hpbGRyZW4sbD1lIT09bnVsbD9lLm1lbW9pemVkU3RhdGU6bnVsbDtpZihhLm1vZGU9PT0iaGlkZGVuIil7aWYoKHQuZmxhZ3MmMTI4KSE9PTApe2lmKGE9bCE9PW51bGw/bC5iYXNlTGFuZXN8bjpuLGUhPT1udWxsKXtmb3IoaT10LmNoaWxkPWUuY2hpbGQsbD0wO2khPT1udWxsOylsPWx8aS5sYW5lc3xpLmNoaWxkTGFuZXMsaT1pLnNpYmxpbmc7dC5jaGlsZExhbmVzPWwmfmF9ZWxzZSB0LmNoaWxkTGFuZXM9MCx0LmNoaWxkPW51bGw7cmV0dXJuIHZkKGUsdCxhLG4pfWlmKChuJjUzNjg3MDkxMikhPT0wKXQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LGUhPT1udWxsJiZsbCh0LGwhPT1udWxsP2wuY2FjaGVQb29sOm51bGwpLGwhPT1udWxsP211KHQsbCk6bG8oKSxpZCh0KTtlbHNlIHJldHVybiB0LmxhbmVzPXQuY2hpbGRMYW5lcz01MzY4NzA5MTIsdmQoZSx0LGwhPT1udWxsP2wuYmFzZUxhbmVzfG46bixuKX1lbHNlIGwhPT1udWxsPyhsbCh0LGwuY2FjaGVQb29sKSxtdSh0LGwpLHJuKCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihlIT09bnVsbCYmbGwodCxudWxsKSxsbygpLHJuKCkpO3JldHVybiBYZShlLHQsaSxuKSx0LmNoaWxkfWZ1bmN0aW9uIHZkKGUsdCxuLGEpe3ZhciBpPUljKCk7cmV0dXJuIGk9aT09PW51bGw/bnVsbDp7cGFyZW50OkNlLl9jdXJyZW50VmFsdWUscG9vbDppfSx0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczpuLGNhY2hlUG9vbDppfSxlIT09bnVsbCYmbGwodCxudWxsKSxsbygpLGlkKHQpLGUhPT1udWxsJiZLYShlLHQsYSwhMCksbnVsbH1mdW5jdGlvbiBTbChlLHQpe3ZhciBuPXQucmVmO2lmKG49PT1udWxsKWUhPT1udWxsJiZlLnJlZiE9PW51bGwmJih0LmZsYWdzfD00MTk0ODE2KTtlbHNle2lmKHR5cGVvZiBuIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbiE9Im9iamVjdCIpdGhyb3cgRXJyb3IodSgyODQpKTsoZT09PW51bGx8fGUucmVmIT09bikmJih0LmZsYWdzfD00MTk0ODE2KX19ZnVuY3Rpb24gRW8oZSx0LG4sYSxpKXtyZXR1cm4gQ24odCksbj1ybyhlLHQsbixhLHZvaWQgMCxpKSxhPXNvKCksZSE9PW51bGwmJiFZZT8odW8oZSx0LGkpLFp0KGUsdCxpKSk6KGllJiZhJiZaYyh0KSx0LmZsYWdzfD0xLFhlKGUsdCxuLGkpLHQuY2hpbGQpfWZ1bmN0aW9uIHlkKGUsdCxuLGEsaSxsKXtyZXR1cm4gQ24odCksdC51cGRhdGVRdWV1ZT1udWxsLG49dnUodCxhLG4saSksZ3UoZSksYT1zbygpLGUhPT1udWxsJiYhWWU/KHVvKGUsdCxsKSxadChlLHQsbCkpOihpZSYmYSYmWmModCksdC5mbGFnc3w9MSxYZShlLHQsbixsKSx0LmNoaWxkKX1mdW5jdGlvbiBiZChlLHQsbixhLGkpe2lmKENuKHQpLHQuc3RhdGVOb2RlPT09bnVsbCl7dmFyIGw9aWEsbz1uLmNvbnRleHRUeXBlO3R5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGwmJihsPSRlKG8pKSxsPW5ldyBuKGEsbCksdC5tZW1vaXplZFN0YXRlPWwuc3RhdGUhPT1udWxsJiZsLnN0YXRlIT09dm9pZCAwP2wuc3RhdGU6bnVsbCxsLnVwZGF0ZXI9VG8sdC5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz10LGw9dC5zdGF0ZU5vZGUsbC5wcm9wcz1hLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlLGwucmVmcz17fSx0byh0KSxvPW4uY29udGV4dFR5cGUsbC5jb250ZXh0PXR5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGw/JGUobyk6aWEsbC5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsbz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyx0eXBlb2Ygbz09ImZ1bmN0aW9uIiYmKHhvKHQsbixvLGEpLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PSJmdW5jdGlvbiJ8fHR5cGVvZiBsLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24ifHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fChvPWwuc3RhdGUsdHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZsLmNvbXBvbmVudFdpbGxNb3VudCgpLHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJmwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLG8hPT1sLnN0YXRlJiZUby5lbnF1ZXVlUmVwbGFjZVN0YXRlKGwsbC5zdGF0ZSxudWxsKSxlaSh0LGEsbCxpKSxJYSgpLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2YgbC5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLGE9ITB9ZWxzZSBpZihlPT09bnVsbCl7bD10LnN0YXRlTm9kZTt2YXIgcz10Lm1lbW9pemVkUHJvcHMsZj1qbihuLHMpO2wucHJvcHM9Zjt2YXIgaz1sLmNvbnRleHQsRT1uLmNvbnRleHRUeXBlO289aWEsdHlwZW9mIEU9PSJvYmplY3QiJiZFIT09bnVsbCYmKG89JGUoRSkpO3ZhciB6PW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO0U9dHlwZW9mIHo9PSJmdW5jdGlvbiJ8fHR5cGVvZiBsLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iLHM9dC5wZW5kaW5nUHJvcHMhPT1zLEV8fHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwoc3x8ayE9PW8pJiZjZCh0LGwsYSxvKSxubj0hMTt2YXIgUz10Lm1lbW9pemVkU3RhdGU7bC5zdGF0ZT1TLGVpKHQsYSxsLGkpLElhKCksaz10Lm1lbW9pemVkU3RhdGUsc3x8UyE9PWt8fG5uPyh0eXBlb2Ygej09ImZ1bmN0aW9uIiYmKHhvKHQsbix6LGEpLGs9dC5tZW1vaXplZFN0YXRlKSwoZj1ubnx8bGQodCxuLGYsYSxTLGssbykpPyhFfHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fCh0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJmwuY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCkpLHR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCkpOih0eXBlb2YgbC5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLHQubWVtb2l6ZWRQcm9wcz1hLHQubWVtb2l6ZWRTdGF0ZT1rKSxsLnByb3BzPWEsbC5zdGF0ZT1rLGwuY29udGV4dD1vLGE9Zik6KHR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksYT0hMSl9ZWxzZXtsPXQuc3RhdGVOb2RlLG5vKGUsdCksbz10Lm1lbW9pemVkUHJvcHMsRT1qbihuLG8pLGwucHJvcHM9RSx6PXQucGVuZGluZ1Byb3BzLFM9bC5jb250ZXh0LGs9bi5jb250ZXh0VHlwZSxmPWlhLHR5cGVvZiBrPT0ib2JqZWN0IiYmayE9PW51bGwmJihmPSRlKGspKSxzPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLChrPXR5cGVvZiBzPT0iZnVuY3Rpb24ifHx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIil8fHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwobyE9PXp8fFMhPT1mKSYmY2QodCxsLGEsZiksbm49ITEsUz10Lm1lbW9pemVkU3RhdGUsbC5zdGF0ZT1TLGVpKHQsYSxsLGkpLElhKCk7dmFyIHc9dC5tZW1vaXplZFN0YXRlO28hPT16fHxTIT09d3x8bm58fGUhPT1udWxsJiZlLmRlcGVuZGVuY2llcyE9PW51bGwmJmFsKGUuZGVwZW5kZW5jaWVzKT8odHlwZW9mIHM9PSJmdW5jdGlvbiImJih4byh0LG4scyxhKSx3PXQubWVtb2l6ZWRTdGF0ZSksKEU9bm58fGxkKHQsbixFLGEsUyx3LGYpfHxlIT09bnVsbCYmZS5kZXBlbmRlbmNpZXMhPT1udWxsJiZhbChlLmRlcGVuZGVuY2llcykpPyhrfHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwuY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uInx8KHR5cGVvZiBsLmNvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJmwuY29tcG9uZW50V2lsbFVwZGF0ZShhLHcsZiksdHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJmwuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUoYSx3LGYpKSx0eXBlb2YgbC5jb21wb25lbnREaWRVcGRhdGU9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00KSx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTEwMjQpKToodHlwZW9mIGwuY29tcG9uZW50RGlkVXBkYXRlIT0iZnVuY3Rpb24ifHxvPT09ZS5tZW1vaXplZFByb3BzJiZTPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksdHlwZW9mIGwuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPSJmdW5jdGlvbiJ8fG89PT1lLm1lbW9pemVkUHJvcHMmJlM9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSx0Lm1lbW9pemVkUHJvcHM9YSx0Lm1lbW9pemVkU3RhdGU9dyksbC5wcm9wcz1hLGwuc3RhdGU9dyxsLmNvbnRleHQ9ZixhPUUpOih0eXBlb2YgbC5jb21wb25lbnREaWRVcGRhdGUhPSJmdW5jdGlvbiJ8fG89PT1lLm1lbW9pemVkUHJvcHMmJlM9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9ImZ1bmN0aW9uInx8bz09PWUubWVtb2l6ZWRQcm9wcyYmUz09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLGE9ITEpfXJldHVybiBsPWEsU2woZSx0KSxhPSh0LmZsYWdzJjEyOCkhPT0wLGx8fGE/KGw9dC5zdGF0ZU5vZGUsbj1hJiZ0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPSJmdW5jdGlvbiI/bnVsbDpsLnJlbmRlcigpLHQuZmxhZ3N8PTEsZSE9PW51bGwmJmE/KHQuY2hpbGQ9X2EodCxlLmNoaWxkLG51bGwsaSksdC5jaGlsZD1fYSh0LG51bGwsbixpKSk6WGUoZSx0LG4saSksdC5tZW1vaXplZFN0YXRlPWwuc3RhdGUsZT10LmNoaWxkKTplPVp0KGUsdCxpKSxlfWZ1bmN0aW9uIGtkKGUsdCxuLGEpe3JldHVybiBaYSgpLHQuZmxhZ3N8PTI1NixYZShlLHQsbixhKSx0LmNoaWxkfXZhciBSbz17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIHpvKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6cnUoKX19ZnVuY3Rpb24gTm8oZSx0LG4pe3JldHVybiBlPWUhPT1udWxsP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD14dCksZX1mdW5jdGlvbiBTZChlLHQsbil7dmFyIGE9dC5wZW5kaW5nUHJvcHMsaT0hMSxsPSh0LmZsYWdzJjEyOCkhPT0wLG87aWYoKG89bCl8fChvPWUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGU9PT1udWxsPyExOihxZS5jdXJyZW50JjIpIT09MCksbyYmKGk9ITAsdC5mbGFncyY9LTEyOSksbz0odC5mbGFncyYzMikhPT0wLHQuZmxhZ3MmPS0zMyxlPT09bnVsbCl7aWYoaWUpe2lmKGk/b24odCk6cm4oKSxpZSl7dmFyIHM9QWUsZjtpZihmPXMpe2U6e2ZvcihmPXMscz1OdDtmLm5vZGVUeXBlIT09ODspe2lmKCFzKXtzPW51bGw7YnJlYWsgZX1pZihmPVJ0KGYubmV4dFNpYmxpbmcpLGY9PT1udWxsKXtzPW51bGw7YnJlYWsgZX19cz1mfXMhPT1udWxsPyh0Lm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6cyx0cmVlQ29udGV4dDp6biE9PW51bGw/e2lkOkJ0LG92ZXJmbG93Okx0fTpudWxsLHJldHJ5TGFuZTo1MzY4NzA5MTIsaHlkcmF0aW9uRXJyb3JzOm51bGx9LGY9ZHQoMTgsbnVsbCxudWxsLDApLGYuc3RhdGVOb2RlPXMsZi5yZXR1cm49dCx0LmNoaWxkPWYsRmU9dCxBZT1udWxsLGY9ITApOmY9ITF9Znx8RG4odCl9aWYocz10Lm1lbW9pemVkU3RhdGUscyE9PW51bGwmJihzPXMuZGVoeWRyYXRlZCxzIT09bnVsbCkpcmV0dXJuIHByKHMpP3QubGFuZXM9MzI6dC5sYW5lcz01MzY4NzA5MTIsbnVsbDtYdCh0KX1yZXR1cm4gcz1hLmNoaWxkcmVuLGE9YS5mYWxsYmFjayxpPyhybigpLGk9dC5tb2RlLHM9d2woe21vZGU6ImhpZGRlbiIsY2hpbGRyZW46c30saSksYT1SbihhLGksbixudWxsKSxzLnJldHVybj10LGEucmV0dXJuPXQscy5zaWJsaW5nPWEsdC5jaGlsZD1zLGk9dC5jaGlsZCxpLm1lbW9pemVkU3RhdGU9em8obiksaS5jaGlsZExhbmVzPU5vKGUsbyxuKSx0Lm1lbW9pemVkU3RhdGU9Um8sYSk6KG9uKHQpLE9vKHQscykpfWlmKGY9ZS5tZW1vaXplZFN0YXRlLGYhPT1udWxsJiYocz1mLmRlaHlkcmF0ZWQscyE9PW51bGwpKXtpZihsKXQuZmxhZ3MmMjU2Pyhvbih0KSx0LmZsYWdzJj0tMjU3LHQ9RG8oZSx0LG4pKTp0Lm1lbW9pemVkU3RhdGUhPT1udWxsPyhybigpLHQuY2hpbGQ9ZS5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsKToocm4oKSxpPWEuZmFsbGJhY2sscz10Lm1vZGUsYT13bCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46YS5jaGlsZHJlbn0scyksaT1SbihpLHMsbixudWxsKSxpLmZsYWdzfD0yLGEucmV0dXJuPXQsaS5yZXR1cm49dCxhLnNpYmxpbmc9aSx0LmNoaWxkPWEsX2EodCxlLmNoaWxkLG51bGwsbiksYT10LmNoaWxkLGEubWVtb2l6ZWRTdGF0ZT16byhuKSxhLmNoaWxkTGFuZXM9Tm8oZSxvLG4pLHQubWVtb2l6ZWRTdGF0ZT1Sbyx0PWkpO2Vsc2UgaWYob24odCkscHIocykpe2lmKG89cy5uZXh0U2libGluZyYmcy5uZXh0U2libGluZy5kYXRhc2V0LG8pdmFyIGs9by5kZ3N0O289ayxhPUVycm9yKHUoNDE5KSksYS5zdGFjaz0iIixhLmRpZ2VzdD1vLFZhKHt2YWx1ZTphLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PURvKGUsdCxuKX1lbHNlIGlmKFllfHxLYShlLHQsbiwhMSksbz0obiZlLmNoaWxkTGFuZXMpIT09MCxZZXx8byl7aWYobz1nZSxvIT09bnVsbCYmKGE9biYtbixhPShhJjQyKSE9PTA/MTpwYyhhKSxhPShhJihvLnN1c3BlbmRlZExhbmVzfG4pKSE9PTA/MDphLGEhPT0wJiZhIT09Zi5yZXRyeUxhbmUpKXRocm93IGYucmV0cnlMYW5lPWEsYWEoZSxhKSxtdChvLGUsYSkscGQ7cy5kYXRhPT09IiQ/Inx8V28oKSx0PURvKGUsdCxuKX1lbHNlIHMuZGF0YT09PSIkPyI/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1mLnRyZWVDb250ZXh0LEFlPVJ0KHMubmV4dFNpYmxpbmcpLEZlPXQsaWU9ITAsT249bnVsbCxOdD0hMSxlIT09bnVsbCYmKGt0W1N0KytdPUJ0LGt0W1N0KytdPUx0LGt0W1N0KytdPXpuLEJ0PWUuaWQsTHQ9ZS5vdmVyZmxvdyx6bj10KSx0PU9vKHQsYS5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGk/KHJuKCksaT1hLmZhbGxiYWNrLHM9dC5tb2RlLGY9ZS5jaGlsZCxrPWYuc2libGluZyxhPUh0KGYse21vZGU6ImhpZGRlbiIsY2hpbGRyZW46YS5jaGlsZHJlbn0pLGEuc3VidHJlZUZsYWdzPWYuc3VidHJlZUZsYWdzJjY1MDExNzEyLGshPT1udWxsP2k9SHQoayxpKTooaT1SbihpLHMsbixudWxsKSxpLmZsYWdzfD0yKSxpLnJldHVybj10LGEucmV0dXJuPXQsYS5zaWJsaW5nPWksdC5jaGlsZD1hLGE9aSxpPXQuY2hpbGQscz1lLmNoaWxkLm1lbW9pemVkU3RhdGUscz09PW51bGw/cz16byhuKTooZj1zLmNhY2hlUG9vbCxmIT09bnVsbD8oaz1DZS5fY3VycmVudFZhbHVlLGY9Zi5wYXJlbnQhPT1rP3twYXJlbnQ6ayxwb29sOmt9OmYpOmY9cnUoKSxzPXtiYXNlTGFuZXM6cy5iYXNlTGFuZXN8bixjYWNoZVBvb2w6Zn0pLGkubWVtb2l6ZWRTdGF0ZT1zLGkuY2hpbGRMYW5lcz1ObyhlLG8sbiksdC5tZW1vaXplZFN0YXRlPVJvLGEpOihvbih0KSxuPWUuY2hpbGQsZT1uLnNpYmxpbmcsbj1IdChuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjphLmNoaWxkcmVufSksbi5yZXR1cm49dCxuLnNpYmxpbmc9bnVsbCxlIT09bnVsbCYmKG89dC5kZWxldGlvbnMsbz09PW51bGw/KHQuZGVsZXRpb25zPVtlXSx0LmZsYWdzfD0xNik6by5wdXNoKGUpKSx0LmNoaWxkPW4sdC5tZW1vaXplZFN0YXRlPW51bGwsbil9ZnVuY3Rpb24gT28oZSx0KXtyZXR1cm4gdD13bCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46dH0sZS5tb2RlKSx0LnJldHVybj1lLGUuY2hpbGQ9dH1mdW5jdGlvbiB3bChlLHQpe3JldHVybiBlPWR0KDIyLGUsbnVsbCx0KSxlLmxhbmVzPTAsZS5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0sZX1mdW5jdGlvbiBEbyhlLHQsbil7cmV0dXJuIF9hKHQsZS5jaGlsZCxudWxsLG4pLGU9T28odCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIHdkKGUsdCxuKXtlLmxhbmVzfD10O3ZhciBhPWUuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dCksJGMoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBNbyhlLHQsbixhLGkpe3ZhciBsPWUubWVtb2l6ZWRTdGF0ZTtsPT09bnVsbD9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOnQscmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDphLHRhaWw6bix0YWlsTW9kZTppfToobC5pc0JhY2t3YXJkcz10LGwucmVuZGVyaW5nPW51bGwsbC5yZW5kZXJpbmdTdGFydFRpbWU9MCxsLmxhc3Q9YSxsLnRhaWw9bixsLnRhaWxNb2RlPWkpfWZ1bmN0aW9uIHhkKGUsdCxuKXt2YXIgYT10LnBlbmRpbmdQcm9wcyxpPWEucmV2ZWFsT3JkZXIsbD1hLnRhaWw7aWYoWGUoZSx0LGEuY2hpbGRyZW4sbiksYT1xZS5jdXJyZW50LChhJjIpIT09MClhPWEmMXwyLHQuZmxhZ3N8PTEyODtlbHNle2lmKGUhPT1udWxsJiYoZS5mbGFncyYxMjgpIT09MCllOmZvcihlPXQuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZz09PTEzKWUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJndkKGUsbix0KTtlbHNlIGlmKGUudGFnPT09MTkpd2QoZSxuLHQpO2Vsc2UgaWYoZS5jaGlsZCE9PW51bGwpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT10KWJyZWFrIGU7Zm9yKDtlLnNpYmxpbmc9PT1udWxsOyl7aWYoZS5yZXR1cm49PT1udWxsfHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9YSY9MX1zd2l0Y2goQyhxZSxhKSxpKXtjYXNlImZvcndhcmRzIjpmb3Iobj10LmNoaWxkLGk9bnVsbDtuIT09bnVsbDspZT1uLmFsdGVybmF0ZSxlIT09bnVsbCYmeWwoZSk9PT1udWxsJiYoaT1uKSxuPW4uc2libGluZztuPWksbj09PW51bGw/KGk9dC5jaGlsZCx0LmNoaWxkPW51bGwpOihpPW4uc2libGluZyxuLnNpYmxpbmc9bnVsbCksTW8odCwhMSxpLG4sbCk7YnJlYWs7Y2FzZSJiYWNrd2FyZHMiOmZvcihuPW51bGwsaT10LmNoaWxkLHQuY2hpbGQ9bnVsbDtpIT09bnVsbDspe2lmKGU9aS5hbHRlcm5hdGUsZSE9PW51bGwmJnlsKGUpPT09bnVsbCl7dC5jaGlsZD1pO2JyZWFrfWU9aS5zaWJsaW5nLGkuc2libGluZz1uLG49aSxpPWV9TW8odCwhMCxuLG51bGwsbCk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6TW8odCwhMSxudWxsLG51bGwsdm9pZCAwKTticmVhaztkZWZhdWx0OnQubWVtb2l6ZWRTdGF0ZT1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIFp0KGUsdCxuKXtpZihlIT09bnVsbCYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSxwbnw9dC5sYW5lcywobiZ0LmNoaWxkTGFuZXMpPT09MClpZihlIT09bnVsbCl7aWYoS2EoZSx0LG4sITEpLChuJnQuY2hpbGRMYW5lcyk9PT0wKXJldHVybiBudWxsfWVsc2UgcmV0dXJuIG51bGw7aWYoZSE9PW51bGwmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKHUoMTUzKSk7aWYodC5jaGlsZCE9PW51bGwpe2ZvcihlPXQuY2hpbGQsbj1IdChlLGUucGVuZGluZ1Byb3BzKSx0LmNoaWxkPW4sbi5yZXR1cm49dDtlLnNpYmxpbmchPT1udWxsOyllPWUuc2libGluZyxuPW4uc2libGluZz1IdChlLGUucGVuZGluZ1Byb3BzKSxuLnJldHVybj10O24uc2libGluZz1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIENvKGUsdCl7cmV0dXJuKGUubGFuZXMmdCkhPT0wPyEwOihlPWUuZGVwZW5kZW5jaWVzLCEhKGUhPT1udWxsJiZhbChlKSkpfWZ1bmN0aW9uIGFoKGUsdCxuKXtzd2l0Y2godC50YWcpe2Nhc2UgMzprZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHRuKHQsQ2UsZS5tZW1vaXplZFN0YXRlLmNhY2hlKSxaYSgpO2JyZWFrO2Nhc2UgMjc6Y2FzZSA1OnJjKHQpO2JyZWFrO2Nhc2UgNDprZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO2JyZWFrO2Nhc2UgMTA6dG4odCx0LnR5cGUsdC5tZW1vaXplZFByb3BzLnZhbHVlKTticmVhaztjYXNlIDEzOnZhciBhPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbClyZXR1cm4gYS5kZWh5ZHJhdGVkIT09bnVsbD8ob24odCksdC5mbGFnc3w9MTI4LG51bGwpOihuJnQuY2hpbGQuY2hpbGRMYW5lcykhPT0wP1NkKGUsdCxuKToob24odCksZT1adChlLHQsbiksZSE9PW51bGw/ZS5zaWJsaW5nOm51bGwpO29uKHQpO2JyZWFrO2Nhc2UgMTk6dmFyIGk9KGUuZmxhZ3MmMTI4KSE9PTA7aWYoYT0obiZ0LmNoaWxkTGFuZXMpIT09MCxhfHwoS2EoZSx0LG4sITEpLGE9KG4mdC5jaGlsZExhbmVzKSE9PTApLGkpe2lmKGEpcmV0dXJuIHhkKGUsdCxuKTt0LmZsYWdzfD0xMjh9aWYoaT10Lm1lbW9pemVkU3RhdGUsaSE9PW51bGwmJihpLnJlbmRlcmluZz1udWxsLGkudGFpbD1udWxsLGkubGFzdEVmZmVjdD1udWxsKSxDKHFlLHFlLmN1cnJlbnQpLGEpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB0LmxhbmVzPTAsZ2QoZSx0LG4pO2Nhc2UgMjQ6dG4odCxDZSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBadChlLHQsbil9ZnVuY3Rpb24gVGQoZSx0LG4pe2lmKGUhPT1udWxsKWlmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzKVllPSEwO2Vsc2V7aWYoIUNvKGUsbikmJih0LmZsYWdzJjEyOCk9PT0wKXJldHVybiBZZT0hMSxhaChlLHQsbik7WWU9KGUuZmxhZ3MmMTMxMDcyKSE9PTB9ZWxzZSBZZT0hMSxpZSYmKHQuZmxhZ3MmMTA0ODU3NikhPT0wJiZ0dSh0LG5sLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7ZT10LnBlbmRpbmdQcm9wczt2YXIgYT10LmVsZW1lbnRUeXBlLGk9YS5faW5pdDtpZihhPWkoYS5fcGF5bG9hZCksdC50eXBlPWEsdHlwZW9mIGE9PSJmdW5jdGlvbiIpR2MoYSk/KGU9am4oYSxlKSx0LnRhZz0xLHQ9YmQobnVsbCx0LGEsZSxuKSk6KHQudGFnPTAsdD1FbyhudWxsLHQsYSxlLG4pKTtlbHNle2lmKGEhPW51bGwpe2lmKGk9YS4kJHR5cGVvZixpPT09amUpe3QudGFnPTExLHQ9X2QobnVsbCx0LGEsZSxuKTticmVhayBlfWVsc2UgaWYoaT09PXllKXt0LnRhZz0xNCx0PWhkKG51bGwsdCxhLGUsbik7YnJlYWsgZX19dGhyb3cgdD1jdChhKXx8YSxFcnJvcih1KDMwNix0LCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gRW8oZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGE9dC50eXBlLGk9am4oYSx0LnBlbmRpbmdQcm9wcyksYmQoZSx0LGEsaSxuKTtjYXNlIDM6ZTp7aWYoa2UodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM4NykpO2E9dC5wZW5kaW5nUHJvcHM7dmFyIGw9dC5tZW1vaXplZFN0YXRlO2k9bC5lbGVtZW50LG5vKGUsdCksZWkodCxhLG51bGwsbik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2lmKGE9by5jYWNoZSx0bih0LENlLGEpLGEhPT1sLmNhY2hlJiZXYyh0LFtDZV0sbiwhMCksSWEoKSxhPW8uZWxlbWVudCxsLmlzRGVoeWRyYXRlZClpZihsPXtlbGVtZW50OmEsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGV9LHQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwsdC5tZW1vaXplZFN0YXRlPWwsdC5mbGFncyYyNTYpe3Q9a2QoZSx0LGEsbik7YnJlYWsgZX1lbHNlIGlmKGEhPT1pKXtpPXl0KEVycm9yKHUoNDI0KSksdCksVmEoaSksdD1rZChlLHQsYSxuKTticmVhayBlfWVsc2UgZm9yKGU9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxlLm5vZGVUeXBlPT09OT9lPWUuYm9keTplPWUubm9kZU5hbWU9PT0iSFRNTCI/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSxBZT1SdChlLmZpcnN0Q2hpbGQpLEZlPXQsaWU9ITAsT249bnVsbCxOdD0hMCxuPWFkKHQsbnVsbCxhLG4pLHQuY2hpbGQ9bjtuOyluLmZsYWdzPW4uZmxhZ3MmLTN8NDA5NixuPW4uc2libGluZztlbHNle2lmKFphKCksYT09PWkpe3Q9WnQoZSx0LG4pO2JyZWFrIGV9WGUoZSx0LGEsbil9dD10LmNoaWxkfXJldHVybiB0O2Nhc2UgMjY6cmV0dXJuIFNsKGUsdCksZT09PW51bGw/KG49TmYodC50eXBlLG51bGwsdC5wZW5kaW5nUHJvcHMsbnVsbCkpP3QubWVtb2l6ZWRTdGF0ZT1uOmllfHwobj10LnR5cGUsZT10LnBlbmRpbmdQcm9wcyxhPWpsKEsuY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSxhW0plXT10LGFbSWVdPWUsVmUoYSxuLGUpLExlKGEpLHQuc3RhdGVOb2RlPWEpOnQubWVtb2l6ZWRTdGF0ZT1OZih0LnR5cGUsZS5tZW1vaXplZFByb3BzLHQucGVuZGluZ1Byb3BzLGUubWVtb2l6ZWRTdGF0ZSksbnVsbDtjYXNlIDI3OnJldHVybiByYyh0KSxlPT09bnVsbCYmaWUmJihhPXQuc3RhdGVOb2RlPUVmKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxLLmN1cnJlbnQpLEZlPXQsTnQ9ITAsaT1BZSxnbih0LnR5cGUpPyhfcj1pLEFlPVJ0KGEuZmlyc3RDaGlsZCkpOkFlPWkpLFhlKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxTbChlLHQpLGU9PT1udWxsJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIGU9PT1udWxsJiZpZSYmKChpPWE9QWUpJiYoYT1PaChhLHQudHlwZSx0LnBlbmRpbmdQcm9wcyxOdCksYSE9PW51bGw/KHQuc3RhdGVOb2RlPWEsRmU9dCxBZT1SdChhLmZpcnN0Q2hpbGQpLE50PSExLGk9ITApOmk9ITEpLGl8fERuKHQpKSxyYyh0KSxpPXQudHlwZSxsPXQucGVuZGluZ1Byb3BzLG89ZSE9PW51bGw/ZS5tZW1vaXplZFByb3BzOm51bGwsYT1sLmNoaWxkcmVuLHVyKGksbCk/YT1udWxsOm8hPT1udWxsJiZ1cihpLG8pJiYodC5mbGFnc3w9MzIpLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJihpPXJvKGUsdCwkXyxudWxsLG51bGwsbiksU2kuX2N1cnJlbnRWYWx1ZT1pKSxTbChlLHQpLFhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBlPT09bnVsbCYmaWUmJigoZT1uPUFlKSYmKG49RGgobix0LnBlbmRpbmdQcm9wcyxOdCksbiE9PW51bGw/KHQuc3RhdGVOb2RlPW4sRmU9dCxBZT1udWxsLGU9ITApOmU9ITEpLGV8fERuKHQpKSxudWxsO2Nhc2UgMTM6cmV0dXJuIFNkKGUsdCxuKTtjYXNlIDQ6cmV0dXJuIGtlKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksYT10LnBlbmRpbmdQcm9wcyxlPT09bnVsbD90LmNoaWxkPV9hKHQsbnVsbCxhLG4pOlhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gX2QoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDc6cmV0dXJuIFhlKGUsdCx0LnBlbmRpbmdQcm9wcyxuKSx0LmNoaWxkO2Nhc2UgODpyZXR1cm4gWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMjpyZXR1cm4gWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMDpyZXR1cm4gYT10LnBlbmRpbmdQcm9wcyx0bih0LHQudHlwZSxhLnZhbHVlKSxYZShlLHQsYS5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgOTpyZXR1cm4gaT10LnR5cGUuX2NvbnRleHQsYT10LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixDbih0KSxpPSRlKGkpLGE9YShpKSx0LmZsYWdzfD0xLFhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSAxNDpyZXR1cm4gaGQoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE1OnJldHVybiBtZChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTk6cmV0dXJuIHhkKGUsdCxuKTtjYXNlIDMxOnJldHVybiBhPXQucGVuZGluZ1Byb3BzLG49dC5tb2RlLGE9e21vZGU6YS5tb2RlLGNoaWxkcmVuOmEuY2hpbGRyZW59LGU9PT1udWxsPyhuPXdsKGEsbiksbi5yZWY9dC5yZWYsdC5jaGlsZD1uLG4ucmV0dXJuPXQsdD1uKToobj1IdChlLmNoaWxkLGEpLG4ucmVmPXQucmVmLHQuY2hpbGQ9bixuLnJldHVybj10LHQ9biksdDtjYXNlIDIyOnJldHVybiBnZChlLHQsbik7Y2FzZSAyNDpyZXR1cm4gQ24odCksYT0kZShDZSksZT09PW51bGw/KGk9SWMoKSxpPT09bnVsbCYmKGk9Z2UsbD1GYygpLGkucG9vbGVkQ2FjaGU9bCxsLnJlZkNvdW50KyssbCE9PW51bGwmJihpLnBvb2xlZENhY2hlTGFuZXN8PW4pLGk9bCksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6YSxjYWNoZTppfSx0byh0KSx0bih0LENlLGkpKTooKGUubGFuZXMmbikhPT0wJiYobm8oZSx0KSxlaSh0LG51bGwsbnVsbCxuKSxJYSgpKSxpPWUubWVtb2l6ZWRTdGF0ZSxsPXQubWVtb2l6ZWRTdGF0ZSxpLnBhcmVudCE9PWE/KGk9e3BhcmVudDphLGNhY2hlOmF9LHQubWVtb2l6ZWRTdGF0ZT1pLHQubGFuZXM9PT0wJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWkpLHRuKHQsQ2UsYSkpOihhPWwuY2FjaGUsdG4odCxDZSxhKSxhIT09aS5jYWNoZSYmV2ModCxbQ2VdLG4sITApKSksWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAyOTp0aHJvdyB0LnBlbmRpbmdQcm9wc310aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfWZ1bmN0aW9uIFZ0KGUpe2UuZmxhZ3N8PTR9ZnVuY3Rpb24gQWQoZSx0KXtpZih0LnR5cGUhPT0ic3R5bGVzaGVldCJ8fCh0LnN0YXRlLmxvYWRpbmcmNCkhPT0wKWUuZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKGUuZmxhZ3N8PTE2Nzc3MjE2LCFxZih0KSl7aWYodD13dC5jdXJyZW50LHQhPT1udWxsJiYoKG5lJjQxOTQwNDgpPT09bmU/T3QhPT1udWxsOihuZSY2MjkxNDU2MCkhPT1uZSYmKG5lJjUzNjg3MDkxMik9PT0wfHx0IT09T3QpKXRocm93IEZhPWVvLHN1O2UuZmxhZ3N8PTgxOTJ9fWZ1bmN0aW9uIHhsKGUsdCl7dCE9PW51bGwmJihlLmZsYWdzfD00KSxlLmZsYWdzJjE2Mzg0JiYodD1lLnRhZyE9PTIyP2lzKCk6NTM2ODcwOTEyLGUubGFuZXN8PXQsdmF8PXQpfWZ1bmN0aW9uIG9pKGUsdCl7aWYoIWllKXN3aXRjaChlLnRhaWxNb2RlKXtjYXNlImhpZGRlbiI6dD1lLnRhaWw7Zm9yKHZhciBuPW51bGw7dCE9PW51bGw7KXQuYWx0ZXJuYXRlIT09bnVsbCYmKG49dCksdD10LnNpYmxpbmc7bj09PW51bGw/ZS50YWlsPW51bGw6bi5zaWJsaW5nPW51bGw7YnJlYWs7Y2FzZSJjb2xsYXBzZWQiOm49ZS50YWlsO2Zvcih2YXIgYT1udWxsO24hPT1udWxsOyluLmFsdGVybmF0ZSE9PW51bGwmJihhPW4pLG49bi5zaWJsaW5nO2E9PT1udWxsP3R8fGUudGFpbD09PW51bGw/ZS50YWlsPW51bGw6ZS50YWlsLnNpYmxpbmc9bnVsbDphLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24geGUoZSl7dmFyIHQ9ZS5hbHRlcm5hdGUhPT1udWxsJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLGE9MDtpZih0KWZvcih2YXIgaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxhfD1pLnN1YnRyZWVGbGFncyY2NTAxMTcxMixhfD1pLmZsYWdzJjY1MDExNzEyLGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7ZWxzZSBmb3IoaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxhfD1pLnN1YnRyZWVGbGFncyxhfD1pLmZsYWdzLGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7cmV0dXJuIGUuc3VidHJlZUZsYWdzfD1hLGUuY2hpbGRMYW5lcz1uLHR9ZnVuY3Rpb24gaWgoZSx0LG4pe3ZhciBhPXQucGVuZGluZ1Byb3BzO3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAzMTpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiB4ZSh0KSxudWxsO2Nhc2UgMTpyZXR1cm4geGUodCksbnVsbDtjYXNlIDM6cmV0dXJuIG49dC5zdGF0ZU5vZGUsYT1udWxsLGUhPT1udWxsJiYoYT1lLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQubWVtb2l6ZWRTdGF0ZS5jYWNoZSE9PWEmJih0LmZsYWdzfD0yMDQ4KSxHdChDZSksRnQoKSxuLnBlbmRpbmdDb250ZXh0JiYobi5jb250ZXh0PW4ucGVuZGluZ0NvbnRleHQsbi5wZW5kaW5nQ29udGV4dD1udWxsKSwoZT09PW51bGx8fGUuY2hpbGQ9PT1udWxsKSYmKFhhKHQpP1Z0KHQpOmU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYodC5mbGFncyYyNTYpPT09MHx8KHQuZmxhZ3N8PTEwMjQsaXUoKSkpLHhlKHQpLG51bGw7Y2FzZSAyNjpyZXR1cm4gbj10Lm1lbW9pemVkU3RhdGUsZT09PW51bGw/KFZ0KHQpLG4hPT1udWxsPyh4ZSh0KSxBZCh0LG4pKTooeGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KSk6bj9uIT09ZS5tZW1vaXplZFN0YXRlPyhWdCh0KSx4ZSh0KSxBZCh0LG4pKTooeGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KTooZS5tZW1vaXplZFByb3BzIT09YSYmVnQodCkseGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KSxudWxsO2Nhc2UgMjc6cWkodCksbj1LLmN1cnJlbnQ7dmFyIGk9dC50eXBlO2lmKGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKCFhKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4geGUodCksbnVsbH1lPWouY3VycmVudCxYYSh0KT9udSh0KTooZT1FZihpLGEsbiksdC5zdGF0ZU5vZGU9ZSxWdCh0KSl9cmV0dXJuIHhlKHQpLG51bGw7Y2FzZSA1OmlmKHFpKHQpLG49dC50eXBlLGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKCFhKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4geGUodCksbnVsbH1pZihlPWouY3VycmVudCxYYSh0KSludSh0KTtlbHNle3N3aXRjaChpPWpsKEsuY3VycmVudCksZSl7Y2FzZSAxOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixuKTticmVhaztjYXNlIDI6ZT1pLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbik7YnJlYWs7ZGVmYXVsdDpzd2l0Y2gobil7Y2FzZSJzdmciOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixuKTticmVhaztjYXNlIm1hdGgiOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLG4pO2JyZWFrO2Nhc2Uic2NyaXB0IjplPWkuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7YnJlYWs7Y2FzZSJzZWxlY3QiOmU9dHlwZW9mIGEuaXM9PSJzdHJpbmciP2kuY3JlYXRlRWxlbWVudCgic2VsZWN0Iix7aXM6YS5pc30pOmkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYS5tdWx0aXBsZT9lLm11bHRpcGxlPSEwOmEuc2l6ZSYmKGUuc2l6ZT1hLnNpemUpO2JyZWFrO2RlZmF1bHQ6ZT10eXBlb2YgYS5pcz09InN0cmluZyI/aS5jcmVhdGVFbGVtZW50KG4se2lzOmEuaXN9KTppLmNyZWF0ZUVsZW1lbnQobil9fWVbSmVdPXQsZVtJZV09YTtlOmZvcihpPXQuY2hpbGQ7aSE9PW51bGw7KXtpZihpLnRhZz09PTV8fGkudGFnPT09NillLmFwcGVuZENoaWxkKGkuc3RhdGVOb2RlKTtlbHNlIGlmKGkudGFnIT09NCYmaS50YWchPT0yNyYmaS5jaGlsZCE9PW51bGwpe2kuY2hpbGQucmV0dXJuPWksaT1pLmNoaWxkO2NvbnRpbnVlfWlmKGk9PT10KWJyZWFrIGU7Zm9yKDtpLnNpYmxpbmc9PT1udWxsOyl7aWYoaS5yZXR1cm49PT1udWxsfHxpLnJldHVybj09PXQpYnJlYWsgZTtpPWkucmV0dXJufWkuc2libGluZy5yZXR1cm49aS5yZXR1cm4saT1pLnNpYmxpbmd9dC5zdGF0ZU5vZGU9ZTtlOnN3aXRjaChWZShlLG4sYSksbil7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjplPSEhYS5hdXRvRm9jdXM7YnJlYWsgZTtjYXNlImltZyI6ZT0hMDticmVhayBlO2RlZmF1bHQ6ZT0hMX1lJiZWdCh0KX19cmV0dXJuIHhlKHQpLHQuZmxhZ3MmPS0xNjc3NzIxNyxudWxsO2Nhc2UgNjppZihlJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKHR5cGVvZiBhIT0ic3RyaW5nIiYmdC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKHUoMTY2KSk7aWYoZT1LLmN1cnJlbnQsWGEodCkpe2lmKGU9dC5zdGF0ZU5vZGUsbj10Lm1lbW9pemVkUHJvcHMsYT1udWxsLGk9RmUsaSE9PW51bGwpc3dpdGNoKGkudGFnKXtjYXNlIDI3OmNhc2UgNTphPWkubWVtb2l6ZWRQcm9wc31lW0plXT10LGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxhIT09bnVsbCYmYS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc9PT0hMHx8YmYoZS5ub2RlVmFsdWUsbikpLGV8fERuKHQpfWVsc2UgZT1qbChlKS5jcmVhdGVUZXh0Tm9kZShhKSxlW0plXT10LHQuc3RhdGVOb2RlPWV9cmV0dXJuIHhlKHQpLG51bGw7Y2FzZSAxMzppZihhPXQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihpPVhhKHQpLGEhPT1udWxsJiZhLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihlPT09bnVsbCl7aWYoIWkpdGhyb3cgRXJyb3IodSgzMTgpKTtpZihpPXQubWVtb2l6ZWRTdGF0ZSxpPWkhPT1udWxsP2kuZGVoeWRyYXRlZDpudWxsLCFpKXRocm93IEVycm9yKHUoMzE3KSk7aVtKZV09dH1lbHNlIFphKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDt4ZSh0KSxpPSExfWVsc2UgaT1pdSgpLGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1pKSxpPSEwO2lmKCFpKXJldHVybiB0LmZsYWdzJjI1Nj8oWHQodCksdCk6KFh0KHQpLG51bGwpfWlmKFh0KHQpLCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0LmxhbmVzPW4sdDtpZihuPWEhPT1udWxsLGU9ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbil7YT10LmNoaWxkLGk9bnVsbCxhLmFsdGVybmF0ZSE9PW51bGwmJmEuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZhLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihpPWEuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpO3ZhciBsPW51bGw7YS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihsPWEubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbCE9PWkmJihhLmZsYWdzfD0yMDQ4KX1yZXR1cm4gbiE9PWUmJm4mJih0LmNoaWxkLmZsYWdzfD04MTkyKSx4bCh0LHQudXBkYXRlUXVldWUpLHhlKHQpLG51bGw7Y2FzZSA0OnJldHVybiBGdCgpLGU9PT1udWxsJiZscih0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSx4ZSh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIEd0KHQudHlwZSkseGUodCksbnVsbDtjYXNlIDE5OmlmKE0ocWUpLGk9dC5tZW1vaXplZFN0YXRlLGk9PT1udWxsKXJldHVybiB4ZSh0KSxudWxsO2lmKGE9KHQuZmxhZ3MmMTI4KSE9PTAsbD1pLnJlbmRlcmluZyxsPT09bnVsbClpZihhKW9pKGksITEpO2Vsc2V7aWYoRWUhPT0wfHxlIT09bnVsbCYmKGUuZmxhZ3MmMTI4KSE9PTApZm9yKGU9dC5jaGlsZDtlIT09bnVsbDspe2lmKGw9eWwoZSksbCE9PW51bGwpe2Zvcih0LmZsYWdzfD0xMjgsb2koaSwhMSksZT1sLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9ZSx4bCh0LGUpLHQuc3VidHJlZUZsYWdzPTAsZT1uLG49dC5jaGlsZDtuIT09bnVsbDspZXUobixlKSxuPW4uc2libGluZztyZXR1cm4gQyhxZSxxZS5jdXJyZW50JjF8MiksdC5jaGlsZH1lPWUuc2libGluZ31pLnRhaWwhPT1udWxsJiZ6dCgpPkVsJiYodC5mbGFnc3w9MTI4LGE9ITAsb2koaSwhMSksdC5sYW5lcz00MTk0MzA0KX1lbHNle2lmKCFhKWlmKGU9eWwobCksZSE9PW51bGwpe2lmKHQuZmxhZ3N8PTEyOCxhPSEwLGU9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPWUseGwodCxlKSxvaShpLCEwKSxpLnRhaWw9PT1udWxsJiZpLnRhaWxNb2RlPT09ImhpZGRlbiImJiFsLmFsdGVybmF0ZSYmIWllKXJldHVybiB4ZSh0KSxudWxsfWVsc2UgMip6dCgpLWkucmVuZGVyaW5nU3RhcnRUaW1lPkVsJiZuIT09NTM2ODcwOTEyJiYodC5mbGFnc3w9MTI4LGE9ITAsb2koaSwhMSksdC5sYW5lcz00MTk0MzA0KTtpLmlzQmFja3dhcmRzPyhsLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWwpOihlPWkubGFzdCxlIT09bnVsbD9lLnNpYmxpbmc9bDp0LmNoaWxkPWwsaS5sYXN0PWwpfXJldHVybiBpLnRhaWwhPT1udWxsPyh0PWkudGFpbCxpLnJlbmRlcmluZz10LGkudGFpbD10LnNpYmxpbmcsaS5yZW5kZXJpbmdTdGFydFRpbWU9enQoKSx0LnNpYmxpbmc9bnVsbCxlPXFlLmN1cnJlbnQsQyhxZSxhP2UmMXwyOmUmMSksdCk6KHhlKHQpLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gWHQodCksY28oKSxhPXQubWVtb2l6ZWRTdGF0ZSE9PW51bGwsZSE9PW51bGw/ZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9PWEmJih0LmZsYWdzfD04MTkyKTphJiYodC5mbGFnc3w9ODE5MiksYT8obiY1MzY4NzA5MTIpIT09MCYmKHQuZmxhZ3MmMTI4KT09PTAmJih4ZSh0KSx0LnN1YnRyZWVGbGFncyY2JiYodC5mbGFnc3w9ODE5MikpOnhlKHQpLG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmeGwodCxuLnJldHJ5UXVldWUpLG49bnVsbCxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksYT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoYT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGEhPT1uJiYodC5mbGFnc3w9MjA0OCksZSE9PW51bGwmJk0ocW4pLG51bGw7Y2FzZSAyNDpyZXR1cm4gbj1udWxsLGUhPT1udWxsJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQubWVtb2l6ZWRTdGF0ZS5jYWNoZSE9PW4mJih0LmZsYWdzfD0yMDQ4KSxHdChDZSkseGUodCksbnVsbDtjYXNlIDI1OnJldHVybiBudWxsO2Nhc2UgMzA6cmV0dXJuIG51bGx9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBsaChlLHQpe3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAxOnJldHVybiBlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDM6cmV0dXJuIEd0KENlKSxGdCgpLGU9dC5mbGFncywoZSY2NTUzNikhPT0wJiYoZSYxMjgpPT09MD8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBxaSh0KSxudWxsO2Nhc2UgMTM6aWYoWHQodCksZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJmUuZGVoeWRyYXRlZCE9PW51bGwpe2lmKHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0MCkpO1phKCl9cmV0dXJuIGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIE0ocWUpLG51bGw7Y2FzZSA0OnJldHVybiBGdCgpLG51bGw7Y2FzZSAxMDpyZXR1cm4gR3QodC50eXBlKSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gWHQodCksY28oKSxlIT09bnVsbCYmTShxbiksZT10LmZsYWdzLGUmNjU1MzY/KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNDpyZXR1cm4gR3QoQ2UpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiBFZChlLHQpe3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAzOkd0KENlKSxGdCgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6cWkodCk7YnJlYWs7Y2FzZSA0OkZ0KCk7YnJlYWs7Y2FzZSAxMzpYdCh0KTticmVhaztjYXNlIDE5Ok0ocWUpO2JyZWFrO2Nhc2UgMTA6R3QodC50eXBlKTticmVhaztjYXNlIDIyOmNhc2UgMjM6WHQodCksY28oKSxlIT09bnVsbCYmTShxbik7YnJlYWs7Y2FzZSAyNDpHdChDZSl9fWZ1bmN0aW9uIHJpKGUsdCl7dHJ5e3ZhciBuPXQudXBkYXRlUXVldWUsYT1uIT09bnVsbD9uLmxhc3RFZmZlY3Q6bnVsbDtpZihhIT09bnVsbCl7dmFyIGk9YS5uZXh0O249aTtkb3tpZigobi50YWcmZSk9PT1lKXthPXZvaWQgMDt2YXIgbD1uLmNyZWF0ZSxvPW4uaW5zdDthPWwoKSxvLmRlc3Ryb3k9YX1uPW4ubmV4dH13aGlsZShuIT09aSl9fWNhdGNoKHMpe2hlKHQsdC5yZXR1cm4scyl9fWZ1bmN0aW9uIHNuKGUsdCxuKXt0cnl7dmFyIGE9dC51cGRhdGVRdWV1ZSxpPWEhPT1udWxsP2EubGFzdEVmZmVjdDpudWxsO2lmKGkhPT1udWxsKXt2YXIgbD1pLm5leHQ7YT1sO2Rve2lmKChhLnRhZyZlKT09PWUpe3ZhciBvPWEuaW5zdCxzPW8uZGVzdHJveTtpZihzIT09dm9pZCAwKXtvLmRlc3Ryb3k9dm9pZCAwLGk9dDt2YXIgZj1uLGs9czt0cnl7aygpfWNhdGNoKEUpe2hlKGksZixFKX19fWE9YS5uZXh0fXdoaWxlKGEhPT1sKX19Y2F0Y2goRSl7aGUodCx0LnJldHVybixFKX19ZnVuY3Rpb24gUmQoZSl7dmFyIHQ9ZS51cGRhdGVRdWV1ZTtpZih0IT09bnVsbCl7dmFyIG49ZS5zdGF0ZU5vZGU7dHJ5e2h1KHQsbil9Y2F0Y2goYSl7aGUoZSxlLnJldHVybixhKX19fWZ1bmN0aW9uIHpkKGUsdCxuKXtuLnByb3BzPWpuKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpLG4uc3RhdGU9ZS5tZW1vaXplZFN0YXRlO3RyeXtuLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goYSl7aGUoZSx0LGEpfX1mdW5jdGlvbiBzaShlLHQpe3RyeXt2YXIgbj1lLnJlZjtpZihuIT09bnVsbCl7c3dpdGNoKGUudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnZhciBhPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMzA6YT1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OmE9ZS5zdGF0ZU5vZGV9dHlwZW9mIG49PSJmdW5jdGlvbiI/ZS5yZWZDbGVhbnVwPW4oYSk6bi5jdXJyZW50PWF9fWNhdGNoKGkpe2hlKGUsdCxpKX19ZnVuY3Rpb24gRHQoZSx0KXt2YXIgbj1lLnJlZixhPWUucmVmQ2xlYW51cDtpZihuIT09bnVsbClpZih0eXBlb2YgYT09ImZ1bmN0aW9uIil0cnl7YSgpfWNhdGNoKGkpe2hlKGUsdCxpKX1maW5hbGx5e2UucmVmQ2xlYW51cD1udWxsLGU9ZS5hbHRlcm5hdGUsZSE9bnVsbCYmKGUucmVmQ2xlYW51cD1udWxsKX1lbHNlIGlmKHR5cGVvZiBuPT0iZnVuY3Rpb24iKXRyeXtuKG51bGwpfWNhdGNoKGkpe2hlKGUsdCxpKX1lbHNlIG4uY3VycmVudD1udWxsfWZ1bmN0aW9uIE5kKGUpe3ZhciB0PWUudHlwZSxuPWUubWVtb2l6ZWRQcm9wcyxhPWUuc3RhdGVOb2RlO3RyeXtlOnN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZhLmZvY3VzKCk7YnJlYWsgZTtjYXNlImltZyI6bi5zcmM/YS5zcmM9bi5zcmM6bi5zcmNTZXQmJihhLnNyY3NldD1uLnNyY1NldCl9fWNhdGNoKGkpe2hlKGUsZS5yZXR1cm4saSl9fWZ1bmN0aW9uIHFvKGUsdCxuKXt0cnl7dmFyIGE9ZS5zdGF0ZU5vZGU7QWgoYSxlLnR5cGUsbix0KSxhW0llXT10fWNhdGNoKGkpe2hlKGUsZS5yZXR1cm4saSl9fWZ1bmN0aW9uIE9kKGUpe3JldHVybiBlLnRhZz09PTV8fGUudGFnPT09M3x8ZS50YWc9PT0yNnx8ZS50YWc9PT0yNyYmZ24oZS50eXBlKXx8ZS50YWc9PT00fWZ1bmN0aW9uIFVvKGUpe2U6Zm9yKDs7KXtmb3IoO2Uuc2libGluZz09PW51bGw7KXtpZihlLnJldHVybj09PW51bGx8fE9kKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nO2UudGFnIT09NSYmZS50YWchPT02JiZlLnRhZyE9PTE4Oyl7aWYoZS50YWc9PT0yNyYmZ24oZS50eXBlKXx8ZS5mbGFncyYyfHxlLmNoaWxkPT09bnVsbHx8ZS50YWc9PT00KWNvbnRpbnVlIGU7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGR9aWYoIShlLmZsYWdzJjIpKXJldHVybiBlLnN0YXRlTm9kZX19ZnVuY3Rpb24gam8oZSx0LG4pe3ZhciBhPWUudGFnO2lmKGE9PT01fHxhPT09NillPWUuc3RhdGVOb2RlLHQ/KG4ubm9kZVR5cGU9PT05P24uYm9keTpuLm5vZGVOYW1lPT09IkhUTUwiP24ub3duZXJEb2N1bWVudC5ib2R5Om4pLmluc2VydEJlZm9yZShlLHQpOih0PW4ubm9kZVR5cGU9PT05P24uYm9keTpuLm5vZGVOYW1lPT09IkhUTUwiP24ub3duZXJEb2N1bWVudC5ib2R5Om4sdC5hcHBlbmRDaGlsZChlKSxuPW4uX3JlYWN0Um9vdENvbnRhaW5lcixuIT1udWxsfHx0Lm9uY2xpY2shPT1udWxsfHwodC5vbmNsaWNrPVVsKSk7ZWxzZSBpZihhIT09NCYmKGE9PT0yNyYmZ24oZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUsdD1udWxsKSxlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihqbyhlLHQsbiksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KWpvKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiBUbChlLHQsbil7dmFyIGE9ZS50YWc7aWYoYT09PTV8fGE9PT02KWU9ZS5zdGF0ZU5vZGUsdD9uLmluc2VydEJlZm9yZShlLHQpOm4uYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZihhIT09NCYmKGE9PT0yNyYmZ24oZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLGU9ZS5jaGlsZCxlIT09bnVsbCkpZm9yKFRsKGUsdCxuKSxlPWUuc2libGluZztlIT09bnVsbDspVGwoZSx0LG4pLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIERkKGUpe3ZhciB0PWUuc3RhdGVOb2RlLG49ZS5tZW1vaXplZFByb3BzO3RyeXtmb3IodmFyIGE9ZS50eXBlLGk9dC5hdHRyaWJ1dGVzO2kubGVuZ3RoOyl0LnJlbW92ZUF0dHJpYnV0ZU5vZGUoaVswXSk7VmUodCxhLG4pLHRbSmVdPWUsdFtJZV09bn1jYXRjaChsKXtoZShlLGUucmV0dXJuLGwpfX12YXIgS3Q9ITEsTmU9ITEsSG89ITEsTWQ9dHlwZW9mIFdlYWtTZXQ9PSJmdW5jdGlvbiI/V2Vha1NldDpTZXQsR2U9bnVsbDtmdW5jdGlvbiBjaChlLHQpe2lmKGU9ZS5jb250YWluZXJJbmZvLHJyPVFsLGU9WHMoZSkscWMoZSkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBlKXZhciBuPXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBlOntuPShuPWUub3duZXJEb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgYT1uLmdldFNlbGVjdGlvbiYmbi5nZXRTZWxlY3Rpb24oKTtpZihhJiZhLnJhbmdlQ291bnQhPT0wKXtuPWEuYW5jaG9yTm9kZTt2YXIgaT1hLmFuY2hvck9mZnNldCxsPWEuZm9jdXNOb2RlO2E9YS5mb2N1c09mZnNldDt0cnl7bi5ub2RlVHlwZSxsLm5vZGVUeXBlfWNhdGNoe249bnVsbDticmVhayBlfXZhciBvPTAscz0tMSxmPS0xLGs9MCxFPTAsej1lLFM9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciB3O3ohPT1ufHxpIT09MCYmei5ub2RlVHlwZSE9PTN8fChzPW8raSkseiE9PWx8fGEhPT0wJiZ6Lm5vZGVUeXBlIT09M3x8KGY9bythKSx6Lm5vZGVUeXBlPT09MyYmKG8rPXoubm9kZVZhbHVlLmxlbmd0aCksKHc9ei5maXJzdENoaWxkKSE9PW51bGw7KVM9eix6PXc7Zm9yKDs7KXtpZih6PT09ZSlicmVhayB0O2lmKFM9PT1uJiYrK2s9PT1pJiYocz1vKSxTPT09bCYmKytFPT09YSYmKGY9byksKHc9ei5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO3o9UyxTPXoucGFyZW50Tm9kZX16PXd9bj1zPT09LTF8fGY9PT0tMT9udWxsOntzdGFydDpzLGVuZDpmfX1lbHNlIG49bnVsbH1uPW58fHtzdGFydDowLGVuZDowfX1lbHNlIG49bnVsbDtmb3Ioc3I9e2ZvY3VzZWRFbGVtOmUsc2VsZWN0aW9uUmFuZ2U6bn0sUWw9ITEsR2U9dDtHZSE9PW51bGw7KWlmKHQ9R2UsZT10LmNoaWxkLCh0LnN1YnRyZWVGbGFncyYxMDI0KSE9PTAmJmUhPT1udWxsKWUucmV0dXJuPXQsR2U9ZTtlbHNlIGZvcig7R2UhPT1udWxsOyl7c3dpdGNoKHQ9R2UsbD10LmFsdGVybmF0ZSxlPXQuZmxhZ3MsdC50YWcpe2Nhc2UgMDpicmVhaztjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKChlJjEwMjQpIT09MCYmbCE9PW51bGwpe2U9dm9pZCAwLG49dCxpPWwubWVtb2l6ZWRQcm9wcyxsPWwubWVtb2l6ZWRTdGF0ZSxhPW4uc3RhdGVOb2RlO3RyeXt2YXIgVj1qbihuLnR5cGUsaSxuLmVsZW1lbnRUeXBlPT09bi50eXBlKTtlPWEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoVixsKSxhLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPWV9Y2F0Y2goUSl7aGUobixuLnJldHVybixRKX19YnJlYWs7Y2FzZSAzOmlmKChlJjEwMjQpIT09MCl7aWYoZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLG49ZS5ub2RlVHlwZSxuPT09OSlmcihlKTtlbHNlIGlmKG49PT0xKXN3aXRjaChlLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpmcihlKTticmVhaztkZWZhdWx0OmUudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2RlZmF1bHQ6aWYoKGUmMTAyNCkhPT0wKXRocm93IEVycm9yKHUoMTYzKSl9aWYoZT10LnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPXQucmV0dXJuLEdlPWU7YnJlYWt9R2U9dC5yZXR1cm59fWZ1bmN0aW9uIENkKGUsdCxuKXt2YXIgYT1uLmZsYWdzO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1bihlLG4pLGEmNCYmcmkoNSxuKTticmVhaztjYXNlIDE6aWYodW4oZSxuKSxhJjQpaWYoZT1uLnN0YXRlTm9kZSx0PT09bnVsbCl0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKG8pe2hlKG4sbi5yZXR1cm4sbyl9ZWxzZXt2YXIgaT1qbihuLnR5cGUsdC5tZW1vaXplZFByb3BzKTt0PXQubWVtb2l6ZWRTdGF0ZTt0cnl7ZS5jb21wb25lbnREaWRVcGRhdGUoaSx0LGUuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfWNhdGNoKG8pe2hlKG4sbi5yZXR1cm4sbyl9fWEmNjQmJlJkKG4pLGEmNTEyJiZzaShuLG4ucmV0dXJuKTticmVhaztjYXNlIDM6aWYodW4oZSxuKSxhJjY0JiYoZT1uLnVwZGF0ZVF1ZXVlLGUhPT1udWxsKSl7aWYodD1udWxsLG4uY2hpbGQhPT1udWxsKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6dD1uLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX10cnl7aHUoZSx0KX1jYXRjaChvKXtoZShuLG4ucmV0dXJuLG8pfX1icmVhaztjYXNlIDI3OnQ9PT1udWxsJiZhJjQmJkRkKG4pO2Nhc2UgMjY6Y2FzZSA1OnVuKGUsbiksdD09PW51bGwmJmEmNCYmTmQobiksYSY1MTImJnNpKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6dW4oZSxuKTticmVhaztjYXNlIDEzOnVuKGUsbiksYSY0JiZqZChlLG4pLGEmNjQmJihlPW4ubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmKGU9ZS5kZWh5ZHJhdGVkLGUhPT1udWxsJiYobj1oaC5iaW5kKG51bGwsbiksTWgoZSxuKSkpKTticmVhaztjYXNlIDIyOmlmKGE9bi5tZW1vaXplZFN0YXRlIT09bnVsbHx8S3QsIWEpe3Q9dCE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fE5lLGk9S3Q7dmFyIGw9TmU7S3Q9YSwoTmU9dCkmJiFsP2RuKGUsbiwobi5zdWJ0cmVlRmxhZ3MmODc3MikhPT0wKTp1bihlLG4pLEt0PWksTmU9bH1icmVhaztjYXNlIDMwOmJyZWFrO2RlZmF1bHQ6dW4oZSxuKX19ZnVuY3Rpb24gcWQoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7dCE9PW51bGwmJihlLmFsdGVybmF0ZT1udWxsLHFkKHQpKSxlLmNoaWxkPW51bGwsZS5kZWxldGlvbnM9bnVsbCxlLnNpYmxpbmc9bnVsbCxlLnRhZz09PTUmJih0PWUuc3RhdGVOb2RlLHQhPT1udWxsJiZtYyh0KSksZS5zdGF0ZU5vZGU9bnVsbCxlLnJldHVybj1udWxsLGUuZGVwZW5kZW5jaWVzPW51bGwsZS5tZW1vaXplZFByb3BzPW51bGwsZS5tZW1vaXplZFN0YXRlPW51bGwsZS5wZW5kaW5nUHJvcHM9bnVsbCxlLnN0YXRlTm9kZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbH12YXIgU2U9bnVsbCxudD0hMTtmdW5jdGlvbiBKdChlLHQsbil7Zm9yKG49bi5jaGlsZDtuIT09bnVsbDspVWQoZSx0LG4pLG49bi5zaWJsaW5nfWZ1bmN0aW9uIFVkKGUsdCxuKXtpZihydCYmdHlwZW9mIHJ0Lm9uQ29tbWl0RmliZXJVbm1vdW50PT0iZnVuY3Rpb24iKXRyeXtydC5vbkNvbW1pdEZpYmVyVW5tb3VudChOYSxuKX1jYXRjaHt9c3dpdGNoKG4udGFnKXtjYXNlIDI2Ok5lfHxEdChuLHQpLEp0KGUsdCxuKSxuLm1lbW9pemVkU3RhdGU/bi5tZW1vaXplZFN0YXRlLmNvdW50LS06bi5zdGF0ZU5vZGUmJihuPW4uc3RhdGVOb2RlLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7YnJlYWs7Y2FzZSAyNzpOZXx8RHQobix0KTt2YXIgYT1TZSxpPW50O2duKG4udHlwZSkmJihTZT1uLnN0YXRlTm9kZSxudD0hMSksSnQoZSx0LG4pLHZpKG4uc3RhdGVOb2RlKSxTZT1hLG50PWk7YnJlYWs7Y2FzZSA1Ok5lfHxEdChuLHQpO2Nhc2UgNjppZihhPVNlLGk9bnQsU2U9bnVsbCxKdChlLHQsbiksU2U9YSxudD1pLFNlIT09bnVsbClpZihudCl0cnl7KFNlLm5vZGVUeXBlPT09OT9TZS5ib2R5OlNlLm5vZGVOYW1lPT09IkhUTUwiP1NlLm93bmVyRG9jdW1lbnQuYm9keTpTZSkucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpfWNhdGNoKGwpe2hlKG4sdCxsKX1lbHNlIHRyeXtTZS5yZW1vdmVDaGlsZChuLnN0YXRlTm9kZSl9Y2F0Y2gobCl7aGUobix0LGwpfWJyZWFrO2Nhc2UgMTg6U2UhPT1udWxsJiYobnQ/KGU9U2UsVGYoZS5ub2RlVHlwZT09PTk/ZS5ib2R5OmUubm9kZU5hbWU9PT0iSFRNTCI/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSxuLnN0YXRlTm9kZSksQWkoZSkpOlRmKFNlLG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OmE9U2UsaT1udCxTZT1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLG50PSEwLEp0KGUsdCxuKSxTZT1hLG50PWk7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1Ok5lfHxzbigyLG4sdCksTmV8fHNuKDQsbix0KSxKdChlLHQsbik7YnJlYWs7Y2FzZSAxOk5lfHwoRHQobix0KSxhPW4uc3RhdGVOb2RlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZ6ZChuLHQsYSkpLEp0KGUsdCxuKTticmVhaztjYXNlIDIxOkp0KGUsdCxuKTticmVhaztjYXNlIDIyOk5lPShhPU5lKXx8bi5tZW1vaXplZFN0YXRlIT09bnVsbCxKdChlLHQsbiksTmU9YTticmVhaztkZWZhdWx0Okp0KGUsdCxuKX19ZnVuY3Rpb24gamQoZSx0KXtpZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsJiYoZT10LmFsdGVybmF0ZSxlIT09bnVsbCYmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiYoZT1lLmRlaHlkcmF0ZWQsZSE9PW51bGwpKSkpdHJ5e0FpKGUpfWNhdGNoKG4pe2hlKHQsdC5yZXR1cm4sbil9fWZ1bmN0aW9uIG9oKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAxMzpjYXNlIDE5OnZhciB0PWUuc3RhdGVOb2RlO3JldHVybiB0PT09bnVsbCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IE1kKSx0O2Nhc2UgMjI6cmV0dXJuIGU9ZS5zdGF0ZU5vZGUsdD1lLl9yZXRyeUNhY2hlLHQ9PT1udWxsJiYodD1lLl9yZXRyeUNhY2hlPW5ldyBNZCksdDtkZWZhdWx0OnRocm93IEVycm9yKHUoNDM1LGUudGFnKSl9fWZ1bmN0aW9uIEJvKGUsdCl7dmFyIG49b2goZSk7dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBpPW1oLmJpbmQobnVsbCxlLGEpO24uaGFzKGEpfHwobi5hZGQoYSksYS50aGVuKGksaSkpfSl9ZnVuY3Rpb24gZnQoZSx0KXt2YXIgbj10LmRlbGV0aW9ucztpZihuIT09bnVsbClmb3IodmFyIGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXSxsPWUsbz10LHM9bztlOmZvcig7cyE9PW51bGw7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoZ24ocy50eXBlKSl7U2U9cy5zdGF0ZU5vZGUsbnQ9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6U2U9cy5zdGF0ZU5vZGUsbnQ9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OlNlPXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbnQ9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKFNlPT09bnVsbCl0aHJvdyBFcnJvcih1KDE2MCkpO1VkKGwsbyxpKSxTZT1udWxsLG50PSExLGw9aS5hbHRlcm5hdGUsbCE9PW51bGwmJihsLnJldHVybj1udWxsKSxpLnJldHVybj1udWxsfWlmKHQuc3VidHJlZUZsYWdzJjEzODc4KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KUhkKHQsZSksdD10LnNpYmxpbmd9dmFyIEV0PW51bGw7ZnVuY3Rpb24gSGQoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZSxhPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6ZnQodCxlKSxwdChlKSxhJjQmJihzbigzLGUsZS5yZXR1cm4pLHJpKDMsZSksc24oNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOmZ0KHQsZSkscHQoZSksYSY1MTImJihOZXx8bj09PW51bGx8fER0KG4sbi5yZXR1cm4pKSxhJjY0JiZLdCYmKGU9ZS51cGRhdGVRdWV1ZSxlIT09bnVsbCYmKGE9ZS5jYWxsYmFja3MsYSE9PW51bGwmJihuPWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bj09PW51bGw/YTpuLmNvbmNhdChhKSkpKTticmVhaztjYXNlIDI2OnZhciBpPUV0O2lmKGZ0KHQsZSkscHQoZSksYSY1MTImJihOZXx8bj09PW51bGx8fER0KG4sbi5yZXR1cm4pKSxhJjQpe3ZhciBsPW4hPT1udWxsP24ubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKGE9ZS5tZW1vaXplZFN0YXRlLG49PT1udWxsKWlmKGE9PT1udWxsKWlmKGUuc3RhdGVOb2RlPT09bnVsbCl7ZTp7YT1lLnR5cGUsbj1lLm1lbW9pemVkUHJvcHMsaT1pLm93bmVyRG9jdW1lbnR8fGk7dDpzd2l0Y2goYSl7Y2FzZSJ0aXRsZSI6bD1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpWzBdLCghbHx8bFtNYV18fGxbSmVdfHxsLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ8fGwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKSYmKGw9aS5jcmVhdGVFbGVtZW50KGEpLGkuaGVhZC5pbnNlcnRCZWZvcmUobCxpLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpKSksVmUobCxhLG4pLGxbSmVdPWUsTGUobCksYT1sO2JyZWFrIGU7Y2FzZSJsaW5rIjp2YXIgbz1NZigibGluayIsImhyZWYiLGkpLmdldChhKyhuLmhyZWZ8fCIiKSk7aWYobyl7Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspaWYobD1vW3NdLGwuZ2V0QXR0cmlidXRlKCJocmVmIik9PT0obi5ocmVmPT1udWxsfHxuLmhyZWY9PT0iIj9udWxsOm4uaHJlZikmJmwuZ2V0QXR0cmlidXRlKCJyZWwiKT09PShuLnJlbD09bnVsbD9udWxsOm4ucmVsKSYmbC5nZXRBdHRyaWJ1dGUoInRpdGxlIik9PT0obi50aXRsZT09bnVsbD9udWxsOm4udGl0bGUpJiZsLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKT09PShuLmNyb3NzT3JpZ2luPT1udWxsP251bGw6bi5jcm9zc09yaWdpbikpe28uc3BsaWNlKHMsMSk7YnJlYWsgdH19bD1pLmNyZWF0ZUVsZW1lbnQoYSksVmUobCxhLG4pLGkuaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztjYXNlIm1ldGEiOmlmKG89TWYoIm1ldGEiLCJjb250ZW50IixpKS5nZXQoYSsobi5jb250ZW50fHwiIikpKXtmb3Iocz0wO3M8by5sZW5ndGg7cysrKWlmKGw9b1tzXSxsLmdldEF0dHJpYnV0ZSgiY29udGVudCIpPT09KG4uY29udGVudD09bnVsbD9udWxsOiIiK24uY29udGVudCkmJmwuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT0obi5uYW1lPT1udWxsP251bGw6bi5uYW1lKSYmbC5nZXRBdHRyaWJ1dGUoInByb3BlcnR5Iik9PT0obi5wcm9wZXJ0eT09bnVsbD9udWxsOm4ucHJvcGVydHkpJiZsLmdldEF0dHJpYnV0ZSgiaHR0cC1lcXVpdiIpPT09KG4uaHR0cEVxdWl2PT1udWxsP251bGw6bi5odHRwRXF1aXYpJiZsLmdldEF0dHJpYnV0ZSgiY2hhcnNldCIpPT09KG4uY2hhclNldD09bnVsbD9udWxsOm4uY2hhclNldCkpe28uc3BsaWNlKHMsMSk7YnJlYWsgdH19bD1pLmNyZWF0ZUVsZW1lbnQoYSksVmUobCxhLG4pLGkuaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LGEpKX1sW0plXT1lLExlKGwpLGE9bH1lLnN0YXRlTm9kZT1hfWVsc2UgQ2YoaSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9RGYoaSxhLGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBsIT09YT8obD09PW51bGw/bi5zdGF0ZU5vZGUhPT1udWxsJiYobj1uLnN0YXRlTm9kZSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobikpOmwuY291bnQtLSxhPT09bnVsbD9DZihpLGUudHlwZSxlLnN0YXRlTm9kZSk6RGYoaSxhLGUubWVtb2l6ZWRQcm9wcykpOmE9PT1udWxsJiZlLnN0YXRlTm9kZSE9PW51bGwmJnFvKGUsZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRQcm9wcyl9YnJlYWs7Y2FzZSAyNzpmdCh0LGUpLHB0KGUpLGEmNTEyJiYoTmV8fG49PT1udWxsfHxEdChuLG4ucmV0dXJuKSksbiE9PW51bGwmJmEmNCYmcW8oZSxlLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoZnQodCxlKSxwdChlKSxhJjUxMiYmKE5lfHxuPT09bnVsbHx8RHQobixuLnJldHVybikpLGUuZmxhZ3MmMzIpe2k9ZS5zdGF0ZU5vZGU7dHJ5e1duKGksIiIpfWNhdGNoKHcpe2hlKGUsZS5yZXR1cm4sdyl9fWEmNCYmZS5zdGF0ZU5vZGUhPW51bGwmJihpPWUubWVtb2l6ZWRQcm9wcyxxbyhlLGksbiE9PW51bGw/bi5tZW1vaXplZFByb3BzOmkpKSxhJjEwMjQmJihIbz0hMCk7YnJlYWs7Y2FzZSA2OmlmKGZ0KHQsZSkscHQoZSksYSY0KXtpZihlLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjIpKTthPWUubWVtb2l6ZWRQcm9wcyxuPWUuc3RhdGVOb2RlO3RyeXtuLm5vZGVWYWx1ZT1hfWNhdGNoKHcpe2hlKGUsZS5yZXR1cm4sdyl9fWJyZWFrO2Nhc2UgMzppZihMbD1udWxsLGk9RXQsRXQ9SGwodC5jb250YWluZXJJbmZvKSxmdCh0LGUpLEV0PWkscHQoZSksYSY0JiZuIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7QWkodC5jb250YWluZXJJbmZvKX1jYXRjaCh3KXtoZShlLGUucmV0dXJuLHcpfUhvJiYoSG89ITEsQmQoZSkpO2JyZWFrO2Nhc2UgNDphPUV0LEV0PUhsKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGZ0KHQsZSkscHQoZSksRXQ9YTticmVhaztjYXNlIDEyOmZ0KHQsZSkscHQoZSk7YnJlYWs7Y2FzZSAxMzpmdCh0LGUpLHB0KGUpLGUuY2hpbGQuZmxhZ3MmODE5MiYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9KG4hPT1udWxsJiZuLm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKFpvPXp0KCkpLGEmNCYmKGE9ZS51cGRhdGVRdWV1ZSxhIT09bnVsbCYmKGUudXBkYXRlUXVldWU9bnVsbCxCbyhlLGEpKSk7YnJlYWs7Y2FzZSAyMjppPWUubWVtb2l6ZWRTdGF0ZSE9PW51bGw7dmFyIGY9biE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwsaz1LdCxFPU5lO2lmKEt0PWt8fGksTmU9RXx8ZixmdCh0LGUpLE5lPUUsS3Q9ayxwdChlKSxhJjgxOTIpZTpmb3IodD1lLnN0YXRlTm9kZSx0Ll92aXNpYmlsaXR5PWk/dC5fdmlzaWJpbGl0eSYtMjp0Ll92aXNpYmlsaXR5fDEsaSYmKG49PT1udWxsfHxmfHxLdHx8TmV8fEhuKGUpKSxuPW51bGwsdD1lOzspe2lmKHQudGFnPT09NXx8dC50YWc9PT0yNil7aWYobj09PW51bGwpe2Y9bj10O3RyeXtpZihsPWYuc3RhdGVOb2RlLGkpbz1sLnN0eWxlLHR5cGVvZiBvLnNldFByb3BlcnR5PT0iZnVuY3Rpb24iP28uc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6by5kaXNwbGF5PSJub25lIjtlbHNle3M9Zi5zdGF0ZU5vZGU7dmFyIHo9Zi5tZW1vaXplZFByb3BzLnN0eWxlLFM9eiE9bnVsbCYmei5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheSIpP3ouZGlzcGxheTpudWxsO3Muc3R5bGUuZGlzcGxheT1TPT1udWxsfHx0eXBlb2YgUz09ImJvb2xlYW4iPyIiOigiIitTKS50cmltKCl9fWNhdGNoKHcpe2hlKGYsZi5yZXR1cm4sdyl9fX1lbHNlIGlmKHQudGFnPT09Nil7aWYobj09PW51bGwpe2Y9dDt0cnl7Zi5zdGF0ZU5vZGUubm9kZVZhbHVlPWk/IiI6Zi5tZW1vaXplZFByb3BzfWNhdGNoKHcpe2hlKGYsZi5yZXR1cm4sdyl9fX1lbHNlIGlmKCh0LnRhZyE9PTIyJiZ0LnRhZyE9PTIzfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsfHx0PT09ZSkmJnQuY2hpbGQhPT1udWxsKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhayBlO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKWJyZWFrIGU7bj09PXQmJihuPW51bGwpLHQ9dC5yZXR1cm59bj09PXQmJihuPW51bGwpLHQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9YSY0JiYoYT1lLnVwZGF0ZVF1ZXVlLGEhPT1udWxsJiYobj1hLnJldHJ5UXVldWUsbiE9PW51bGwmJihhLnJldHJ5UXVldWU9bnVsbCxCbyhlLG4pKSkpO2JyZWFrO2Nhc2UgMTk6ZnQodCxlKSxwdChlKSxhJjQmJihhPWUudXBkYXRlUXVldWUsYSE9PW51bGwmJihlLnVwZGF0ZVF1ZXVlPW51bGwsQm8oZSxhKSkpO2JyZWFrO2Nhc2UgMzA6YnJlYWs7Y2FzZSAyMTpicmVhaztkZWZhdWx0OmZ0KHQsZSkscHQoZSl9fWZ1bmN0aW9uIHB0KGUpe3ZhciB0PWUuZmxhZ3M7aWYodCYyKXt0cnl7Zm9yKHZhciBuLGE9ZS5yZXR1cm47YSE9PW51bGw7KXtpZihPZChhKSl7bj1hO2JyZWFrfWE9YS5yZXR1cm59aWYobj09bnVsbCl0aHJvdyBFcnJvcih1KDE2MCkpO3N3aXRjaChuLnRhZyl7Y2FzZSAyNzp2YXIgaT1uLnN0YXRlTm9kZSxsPVVvKGUpO1RsKGUsbCxpKTticmVhaztjYXNlIDU6dmFyIG89bi5zdGF0ZU5vZGU7bi5mbGFncyYzMiYmKFduKG8sIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIHM9VW8oZSk7VGwoZSxzLG8pO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIGY9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxrPVVvKGUpO2pvKGUsayxmKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMTYxKSl9fWNhdGNoKEUpe2hlKGUsZS5yZXR1cm4sRSl9ZS5mbGFncyY9LTN9dCY0MDk2JiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIEJkKGUpe2lmKGUuc3VidHJlZUZsYWdzJjEwMjQpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3ZhciB0PWU7QmQodCksdC50YWc9PT01JiZ0LmZsYWdzJjEwMjQmJnQuc3RhdGVOb2RlLnJlc2V0KCksZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIHVuKGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmODc3Milmb3IodD10LmNoaWxkO3QhPT1udWxsOylDZChlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIEhuKGUpe2ZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXt2YXIgdD1lO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnNuKDQsdCx0LnJldHVybiksSG4odCk7YnJlYWs7Y2FzZSAxOkR0KHQsdC5yZXR1cm4pO3ZhciBuPXQuc3RhdGVOb2RlO3R5cGVvZiBuLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZ6ZCh0LHQucmV0dXJuLG4pLEhuKHQpO2JyZWFrO2Nhc2UgMjc6dmkodC5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1OkR0KHQsdC5yZXR1cm4pLEhuKHQpO2JyZWFrO2Nhc2UgMjI6dC5tZW1vaXplZFN0YXRlPT09bnVsbCYmSG4odCk7YnJlYWs7Y2FzZSAzMDpIbih0KTticmVhaztkZWZhdWx0OkhuKHQpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBkbihlLHQsbil7Zm9yKG49biYmKHQuc3VidHJlZUZsYWdzJjg3NzIpIT09MCx0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgYT10LmFsdGVybmF0ZSxpPWUsbD10LG89bC5mbGFncztzd2l0Y2gobC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZG4oaSxsLG4pLHJpKDQsbCk7YnJlYWs7Y2FzZSAxOmlmKGRuKGksbCxuKSxhPWwsaT1hLnN0YXRlTm9kZSx0eXBlb2YgaS5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil0cnl7aS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGspe2hlKGEsYS5yZXR1cm4sayl9aWYoYT1sLGk9YS51cGRhdGVRdWV1ZSxpIT09bnVsbCl7dmFyIHM9YS5zdGF0ZU5vZGU7dHJ5e3ZhciBmPWkuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihmIT09bnVsbClmb3IoaS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsaT0wO2k8Zi5sZW5ndGg7aSsrKV91KGZbaV0scyl9Y2F0Y2goayl7aGUoYSxhLnJldHVybixrKX19biYmbyY2NCYmUmQobCksc2kobCxsLnJldHVybik7YnJlYWs7Y2FzZSAyNzpEZChsKTtjYXNlIDI2OmNhc2UgNTpkbihpLGwsbiksbiYmYT09PW51bGwmJm8mNCYmTmQobCksc2kobCxsLnJldHVybik7YnJlYWs7Y2FzZSAxMjpkbihpLGwsbik7YnJlYWs7Y2FzZSAxMzpkbihpLGwsbiksbiYmbyY0JiZqZChpLGwpO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmZG4oaSxsLG4pLHNpKGwsbC5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6YnJlYWs7ZGVmYXVsdDpkbihpLGwsbil9dD10LnNpYmxpbmd9fWZ1bmN0aW9uIExvKGUsdCl7dmFyIG49bnVsbDtlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYoZSE9bnVsbCYmZS5yZWZDb3VudCsrLG4hPW51bGwmJkphKG4pKX1mdW5jdGlvbiBZbyhlLHQpe2U9bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1lJiYodC5yZWZDb3VudCsrLGUhPW51bGwmJkphKGUpKX1mdW5jdGlvbiBNdChlLHQsbixhKXtpZih0LnN1YnRyZWVGbGFncyYxMDI1Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOylMZChlLHQsbixhKSx0PXQuc2libGluZ31mdW5jdGlvbiBMZChlLHQsbixhKXt2YXIgaT10LmZsYWdzO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpNdChlLHQsbixhKSxpJjIwNDgmJnJpKDksdCk7YnJlYWs7Y2FzZSAxOk10KGUsdCxuLGEpO2JyZWFrO2Nhc2UgMzpNdChlLHQsbixhKSxpJjIwNDgmJihlPW51bGwsdC5hbHRlcm5hdGUhPT1udWxsJiYoZT10LmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSx0IT09ZSYmKHQucmVmQ291bnQrKyxlIT1udWxsJiZKYShlKSkpO2JyZWFrO2Nhc2UgMTI6aWYoaSYyMDQ4KXtNdChlLHQsbixhKSxlPXQuc3RhdGVOb2RlO3RyeXt2YXIgbD10Lm1lbW9pemVkUHJvcHMsbz1sLmlkLHM9bC5vblBvc3RDb21taXQ7dHlwZW9mIHM9PSJmdW5jdGlvbiImJnMobyx0LmFsdGVybmF0ZT09PW51bGw/Im1vdW50IjoidXBkYXRlIixlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiwtMCl9Y2F0Y2goZil7aGUodCx0LnJldHVybixmKX19ZWxzZSBNdChlLHQsbixhKTticmVhaztjYXNlIDEzOk10KGUsdCxuLGEpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpsPXQuc3RhdGVOb2RlLG89dC5hbHRlcm5hdGUsdC5tZW1vaXplZFN0YXRlIT09bnVsbD9sLl92aXNpYmlsaXR5JjI/TXQoZSx0LG4sYSk6dWkoZSx0KTpsLl92aXNpYmlsaXR5JjI/TXQoZSx0LG4sYSk6KGwuX3Zpc2liaWxpdHl8PTIsaGEoZSx0LG4sYSwodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MCkpLGkmMjA0OCYmTG8obyx0KTticmVhaztjYXNlIDI0Ok10KGUsdCxuLGEpLGkmMjA0OCYmWW8odC5hbHRlcm5hdGUsdCk7YnJlYWs7ZGVmYXVsdDpNdChlLHQsbixhKX19ZnVuY3Rpb24gaGEoZSx0LG4sYSxpKXtmb3IoaT1pJiYodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MCx0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgbD1lLG89dCxzPW4sZj1hLGs9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aGEobCxvLHMsZixpKSxyaSg4LG8pO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjp2YXIgRT1vLnN0YXRlTm9kZTtvLm1lbW9pemVkU3RhdGUhPT1udWxsP0UuX3Zpc2liaWxpdHkmMj9oYShsLG8scyxmLGkpOnVpKGwsbyk6KEUuX3Zpc2liaWxpdHl8PTIsaGEobCxvLHMsZixpKSksaSYmayYyMDQ4JiZMbyhvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmhhKGwsbyxzLGYsaSksaSYmayYyMDQ4JiZZbyhvLmFsdGVybmF0ZSxvKTticmVhaztkZWZhdWx0OmhhKGwsbyxzLGYsaSl9dD10LnNpYmxpbmd9fWZ1bmN0aW9uIHVpKGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpZm9yKHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciBuPWUsYT10LGk9YS5mbGFncztzd2l0Y2goYS50YWcpe2Nhc2UgMjI6dWkobixhKSxpJjIwNDgmJkxvKGEuYWx0ZXJuYXRlLGEpO2JyZWFrO2Nhc2UgMjQ6dWkobixhKSxpJjIwNDgmJllvKGEuYWx0ZXJuYXRlLGEpO2JyZWFrO2RlZmF1bHQ6dWkobixhKX10PXQuc2libGluZ319dmFyIGRpPTgxOTI7ZnVuY3Rpb24gbWEoZSl7aWYoZS5zdWJ0cmVlRmxhZ3MmZGkpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspWWQoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gWWQoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDI2Om1hKGUpLGUuZmxhZ3MmZGkmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJlZoKEV0LGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgNTptYShlKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB0PUV0O0V0PUhsKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLG1hKGUpLEV0PXQ7YnJlYWs7Y2FzZSAyMjplLm1lbW9pemVkU3RhdGU9PT1udWxsJiYodD1lLmFsdGVybmF0ZSx0IT09bnVsbCYmdC5tZW1vaXplZFN0YXRlIT09bnVsbD8odD1kaSxkaT0xNjc3NzIxNixtYShlKSxkaT10KTptYShlKSk7YnJlYWs7ZGVmYXVsdDptYShlKX19ZnVuY3Rpb24gR2QoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYodCE9PW51bGwmJihlPXQuY2hpbGQsZSE9PW51bGwpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKGUhPT1udWxsKX19ZnVuY3Rpb24gZmkoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoKGUuZmxhZ3MmMTYpIT09MCl7aWYodCE9PW51bGwpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBhPXRbbl07R2U9YSxYZChhLGUpfUdkKGUpfWlmKGUuc3VidHJlZUZsYWdzJjEwMjU2KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KVFkKGUpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIFFkKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpmaShlKSxlLmZsYWdzJjIwNDgmJnNuKDksZSxlLnJldHVybik7YnJlYWs7Y2FzZSAzOmZpKGUpO2JyZWFrO2Nhc2UgMTI6ZmkoZSk7YnJlYWs7Y2FzZSAyMjp2YXIgdD1lLnN0YXRlTm9kZTtlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Ll92aXNpYmlsaXR5JjImJihlLnJldHVybj09PW51bGx8fGUucmV0dXJuLnRhZyE9PTEzKT8odC5fdmlzaWJpbGl0eSY9LTMsQWwoZSkpOmZpKGUpO2JyZWFrO2RlZmF1bHQ6ZmkoZSl9fWZ1bmN0aW9uIEFsKGUpe3ZhciB0PWUuZGVsZXRpb25zO2lmKChlLmZsYWdzJjE2KSE9PTApe2lmKHQhPT1udWxsKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT10W25dO0dlPWEsWGQoYSxlKX1HZChlKX1mb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7c3dpdGNoKHQ9ZSx0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpzbig4LHQsdC5yZXR1cm4pLEFsKHQpO2JyZWFrO2Nhc2UgMjI6bj10LnN0YXRlTm9kZSxuLl92aXNpYmlsaXR5JjImJihuLl92aXNpYmlsaXR5Jj0tMyxBbCh0KSk7YnJlYWs7ZGVmYXVsdDpBbCh0KX1lPWUuc2libGluZ319ZnVuY3Rpb24gWGQoZSx0KXtmb3IoO0dlIT09bnVsbDspe3ZhciBuPUdlO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpzbig4LG4sdCk7YnJlYWs7Y2FzZSAyMzpjYXNlIDIyOmlmKG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsKXt2YXIgYT1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7YSE9bnVsbCYmYS5yZWZDb3VudCsrfWJyZWFrO2Nhc2UgMjQ6SmEobi5tZW1vaXplZFN0YXRlLmNhY2hlKX1pZihhPW4uY2hpbGQsYSE9PW51bGwpYS5yZXR1cm49bixHZT1hO2Vsc2UgZTpmb3Iobj1lO0dlIT09bnVsbDspe2E9R2U7dmFyIGk9YS5zaWJsaW5nLGw9YS5yZXR1cm47aWYocWQoYSksYT09PW4pe0dlPW51bGw7YnJlYWsgZX1pZihpIT09bnVsbCl7aS5yZXR1cm49bCxHZT1pO2JyZWFrIGV9R2U9bH19fXZhciByaD17Z2V0Q2FjaGVGb3JUeXBlOmZ1bmN0aW9uKGUpe3ZhciB0PSRlKENlKSxuPXQuZGF0YS5nZXQoZSk7cmV0dXJuIG49PT12b2lkIDAmJihuPWUoKSx0LmRhdGEuc2V0KGUsbikpLG59fSxzaD10eXBlb2YgV2Vha01hcD09ImZ1bmN0aW9uIj9XZWFrTWFwOk1hcCxzZT0wLGdlPW51bGwsZWU9bnVsbCxuZT0wLHVlPTAsX3Q9bnVsbCxmbj0hMSxnYT0hMSxHbz0hMSwkdD0wLEVlPTAscG49MCxCbj0wLFFvPTAseHQ9MCx2YT0wLHBpPW51bGwsYXQ9bnVsbCxYbz0hMSxabz0wLEVsPTEvMCxSbD1udWxsLF9uPW51bGwsWmU9MCxobj1udWxsLHlhPW51bGwsYmE9MCxWbz0wLEtvPW51bGwsWmQ9bnVsbCxfaT0wLEpvPW51bGw7ZnVuY3Rpb24gaHQoKXtpZigoc2UmMikhPT0wJiZuZSE9PTApcmV0dXJuIG5lJi1uZTtpZihBLlQhPT1udWxsKXt2YXIgZT1vYTtyZXR1cm4gZSE9PTA/ZTp0cigpfXJldHVybiBvcygpfWZ1bmN0aW9uIFZkKCl7eHQ9PT0wJiYoeHQ9KG5lJjUzNjg3MDkxMik9PT0wfHxpZT9hcygpOjUzNjg3MDkxMik7dmFyIGU9d3QuY3VycmVudDtyZXR1cm4gZSE9PW51bGwmJihlLmZsYWdzfD0zMikseHR9ZnVuY3Rpb24gbXQoZSx0LG4peyhlPT09Z2UmJih1ZT09PTJ8fHVlPT09OSl8fGUuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGwpJiYoa2EoZSwwKSxtbihlLG5lLHh0LCExKSksRGEoZSxuKSwoKHNlJjIpPT09MHx8ZSE9PWdlKSYmKGU9PT1nZSYmKChzZSYyKT09PTAmJihCbnw9biksRWU9PT00JiZtbihlLG5lLHh0LCExKSksQ3QoZSkpfWZ1bmN0aW9uIEtkKGUsdCxuKXtpZigoc2UmNikhPT0wKXRocm93IEVycm9yKHUoMzI3KSk7dmFyIGE9IW4mJih0JjEyNCk9PT0wJiYodCZlLmV4cGlyZWRMYW5lcyk9PT0wfHxPYShlLHQpLGk9YT9maChlLHQpOkZvKGUsdCwhMCksbD1hO2Rve2lmKGk9PT0wKXtnYSYmIWEmJm1uKGUsdCwwLCExKTticmVha31lbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxsJiYhdWgobikpe2k9Rm8oZSx0LCExKSxsPSExO2NvbnRpbnVlfWlmKGk9PT0yKXtpZihsPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZsKXZhciBvPTA7ZWxzZSBvPWUucGVuZGluZ0xhbmVzJi01MzY4NzA5MTMsbz1vIT09MD9vOm8mNTM2ODcwOTEyPzUzNjg3MDkxMjowO2lmKG8hPT0wKXt0PW87ZTp7dmFyIHM9ZTtpPXBpO3ZhciBmPXMuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihmJiYoa2EocyxvKS5mbGFnc3w9MjU2KSxvPUZvKHMsbywhMSksbyE9PTIpe2lmKEdvJiYhZil7cy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9bCxCbnw9bCxpPTQ7YnJlYWsgZX1sPWF0LGF0PWksbCE9PW51bGwmJihhdD09PW51bGw/YXQ9bDphdC5wdXNoLmFwcGx5KGF0LGwpKX1pPW99aWYobD0hMSxpIT09Miljb250aW51ZX19aWYoaT09PTEpe2thKGUsMCksbW4oZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChhPWUsbD1pLGwpe2Nhc2UgMDpjYXNlIDE6dGhyb3cgRXJyb3IodSgzNDUpKTtjYXNlIDQ6aWYoKHQmNDE5NDA0OCkhPT10KWJyZWFrO2Nhc2UgNjptbihhLHQseHQsIWZuKTticmVhayBlO2Nhc2UgMjphdD1udWxsO2JyZWFrO2Nhc2UgMzpjYXNlIDU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMyOSkpfWlmKCh0JjYyOTE0NTYwKT09PXQmJihpPVpvKzMwMC16dCgpLDEwPGkpKXtpZihtbihhLHQseHQsIWZuKSxCaShhLDAsITApIT09MClicmVhayBlO2EudGltZW91dEhhbmRsZT13ZihKZC5iaW5kKG51bGwsYSxuLGF0LFJsLFhvLHQseHQsQm4sdmEsZm4sbCwyLC0wLDApLGkpO2JyZWFrIGV9SmQoYSxuLGF0LFJsLFhvLHQseHQsQm4sdmEsZm4sbCwwLC0wLDApfX1icmVha313aGlsZSghMCk7Q3QoZSl9ZnVuY3Rpb24gSmQoZSx0LG4sYSxpLGwsbyxzLGYsayxFLHosUyx3KXtpZihlLnRpbWVvdXRIYW5kbGU9LTEsej10LnN1YnRyZWVGbGFncywoeiY4MTkyfHwoeiYxNjc4NTQwOCk9PT0xNjc4NTQwOCkmJihraT17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLHVuc3VzcGVuZDpaaH0sWWQodCksej1LaCgpLHohPT1udWxsKSl7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PXoodGYuYmluZChudWxsLGUsdCxsLG4sYSxpLG8scyxmLEUsMSxTLHcpKSxtbihlLGwsbywhayk7cmV0dXJufXRmKGUsdCxsLG4sYSxpLG8scyxmKX1mdW5jdGlvbiB1aChlKXtmb3IodmFyIHQ9ZTs7KXt2YXIgbj10LnRhZztpZigobj09PTB8fG49PT0xMXx8bj09PTE1KSYmdC5mbGFncyYxNjM4NCYmKG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmKG49bi5zdG9yZXMsbiE9PW51bGwpKSlmb3IodmFyIGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXSxsPWkuZ2V0U25hcHNob3Q7aT1pLnZhbHVlO3RyeXtpZighdXQobCgpLGkpKXJldHVybiExfWNhdGNoe3JldHVybiExfX1pZihuPXQuY2hpbGQsdC5zdWJ0cmVlRmxhZ3MmMTYzODQmJm4hPT1udWxsKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDt0LnNpYmxpbmc9PT1udWxsOyl7aWYodC5yZXR1cm49PT1udWxsfHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH1mdW5jdGlvbiBtbihlLHQsbixhKXt0Jj1+UW8sdCY9fkJuLGUuc3VzcGVuZGVkTGFuZXN8PXQsZS5waW5nZWRMYW5lcyY9fnQsYSYmKGUud2FybUxhbmVzfD10KSxhPWUuZXhwaXJhdGlvblRpbWVzO2Zvcih2YXIgaT10OzA8aTspe3ZhciBsPTMxLXN0KGkpLG89MTw8bDthW2xdPS0xLGkmPX5vfW4hPT0wJiZscyhlLG4sdCl9ZnVuY3Rpb24gemwoKXtyZXR1cm4oc2UmNik9PT0wPyhoaSgwKSwhMSk6ITB9ZnVuY3Rpb24gJG8oKXtpZihlZSE9PW51bGwpe2lmKHVlPT09MCl2YXIgZT1lZS5yZXR1cm47ZWxzZSBlPWVlLFl0PU1uPW51bGwsZm8oZSkscGE9bnVsbCxsaT0wLGU9ZWU7Zm9yKDtlIT09bnVsbDspRWQoZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjtlZT1udWxsfX1mdW5jdGlvbiBrYShlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTtuIT09LTEmJihlLnRpbWVvdXRIYW5kbGU9LTEsUmgobikpLG49ZS5jYW5jZWxQZW5kaW5nQ29tbWl0LG4hPT1udWxsJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSwkbygpLGdlPWUsZWU9bj1IdChlLmN1cnJlbnQsbnVsbCksbmU9dCx1ZT0wLF90PW51bGwsZm49ITEsZ2E9T2EoZSx0KSxHbz0hMSx2YT14dD1Rbz1Cbj1wbj1FZT0wLGF0PXBpPW51bGwsWG89ITEsKHQmOCkhPT0wJiYodHw9dCYzMik7dmFyIGE9ZS5lbnRhbmdsZWRMYW5lcztpZihhIT09MClmb3IoZT1lLmVudGFuZ2xlbWVudHMsYSY9dDswPGE7KXt2YXIgaT0zMS1zdChhKSxsPTE8PGk7dHw9ZVtpXSxhJj1+bH1yZXR1cm4gJHQ9dCxGaSgpLG59ZnVuY3Rpb24gJGQoZSx0KXtQPW51bGwsQS5IPW1sLHQ9PT1XYXx8dD09PWNsPyh0PWZ1KCksdWU9Myk6dD09PXN1Pyh0PWZ1KCksdWU9NCk6dWU9dD09PXBkPzg6dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQudGhlbj09ImZ1bmN0aW9uIj82OjEsX3Q9dCxlZT09PW51bGwmJihFZT0xLGtsKGUseXQodCxlLmN1cnJlbnQpKSl9ZnVuY3Rpb24gV2QoKXt2YXIgZT1BLkg7cmV0dXJuIEEuSD1tbCxlPT09bnVsbD9tbDplfWZ1bmN0aW9uIEZkKCl7dmFyIGU9QS5BO3JldHVybiBBLkE9cmgsZX1mdW5jdGlvbiBXbygpe0VlPTQsZm58fChuZSY0MTk0MDQ4KSE9PW5lJiZ3dC5jdXJyZW50IT09bnVsbHx8KGdhPSEwKSwocG4mMTM0MjE3NzI3KT09PTAmJihCbiYxMzQyMTc3MjcpPT09MHx8Z2U9PT1udWxsfHxtbihnZSxuZSx4dCwhMSl9ZnVuY3Rpb24gRm8oZSx0LG4pe3ZhciBhPXNlO3NlfD0yO3ZhciBpPVdkKCksbD1GZCgpOyhnZSE9PWV8fG5lIT09dCkmJihSbD1udWxsLGthKGUsdCkpLHQ9ITE7dmFyIG89RWU7ZTpkbyB0cnl7aWYodWUhPT0wJiZlZSE9PW51bGwpe3ZhciBzPWVlLGY9X3Q7c3dpdGNoKHVlKXtjYXNlIDg6JG8oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6d3QuY3VycmVudD09PW51bGwmJih0PSEwKTt2YXIgaz11ZTtpZih1ZT0wLF90PW51bGwsU2EoZSxzLGYsayksbiYmZ2Epe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6az11ZSx1ZT0wLF90PW51bGwsU2EoZSxzLGYsayl9fWRoKCksbz1FZTticmVha31jYXRjaChFKXskZChlLEUpfXdoaWxlKCEwKTtyZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKyssWXQ9TW49bnVsbCxzZT1hLEEuSD1pLEEuQT1sLGVlPT09bnVsbCYmKGdlPW51bGwsbmU9MCxGaSgpKSxvfWZ1bmN0aW9uIGRoKCl7Zm9yKDtlZSE9PW51bGw7KVBkKGVlKX1mdW5jdGlvbiBmaChlLHQpe3ZhciBuPXNlO3NlfD0yO3ZhciBhPVdkKCksaT1GZCgpO2dlIT09ZXx8bmUhPT10PyhSbD1udWxsLEVsPXp0KCkrNTAwLGthKGUsdCkpOmdhPU9hKGUsdCk7ZTpkbyB0cnl7aWYodWUhPT0wJiZlZSE9PW51bGwpe3Q9ZWU7dmFyIGw9X3Q7dDpzd2l0Y2godWUpe2Nhc2UgMTp1ZT0wLF90PW51bGwsU2EoZSx0LGwsMSk7YnJlYWs7Y2FzZSAyOmNhc2UgOTppZih1dShsKSl7dWU9MCxfdD1udWxsLElkKHQpO2JyZWFrfXQ9ZnVuY3Rpb24oKXt1ZSE9PTImJnVlIT09OXx8Z2UhPT1lfHwodWU9NyksQ3QoZSl9LGwudGhlbih0LHQpO2JyZWFrIGU7Y2FzZSAzOnVlPTc7YnJlYWsgZTtjYXNlIDQ6dWU9NTticmVhayBlO2Nhc2UgNzp1dShsKT8odWU9MCxfdD1udWxsLElkKHQpKToodWU9MCxfdD1udWxsLFNhKGUsdCxsLDcpKTticmVhaztjYXNlIDU6dmFyIG89bnVsbDtzd2l0Y2goZWUudGFnKXtjYXNlIDI2Om89ZWUubWVtb2l6ZWRTdGF0ZTtjYXNlIDU6Y2FzZSAyNzp2YXIgcz1lZTtpZighb3x8cWYobykpe3VlPTAsX3Q9bnVsbDt2YXIgZj1zLnNpYmxpbmc7aWYoZiE9PW51bGwpZWU9ZjtlbHNle3ZhciBrPXMucmV0dXJuO2shPT1udWxsPyhlZT1rLE5sKGspKTplZT1udWxsfWJyZWFrIHR9fXVlPTAsX3Q9bnVsbCxTYShlLHQsbCw1KTticmVhaztjYXNlIDY6dWU9MCxfdD1udWxsLFNhKGUsdCxsLDYpO2JyZWFrO2Nhc2UgODokbygpLEVlPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fXBoKCk7YnJlYWt9Y2F0Y2goRSl7JGQoZSxFKX13aGlsZSghMCk7cmV0dXJuIFl0PU1uPW51bGwsQS5IPWEsQS5BPWksc2U9bixlZSE9PW51bGw/MDooZ2U9bnVsbCxuZT0wLEZpKCksRWUpfWZ1bmN0aW9uIHBoKCl7Zm9yKDtlZSE9PW51bGwmJiFxcCgpOylQZChlZSl9ZnVuY3Rpb24gUGQoZSl7dmFyIHQ9VGQoZS5hbHRlcm5hdGUsZSwkdCk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLHQ9PT1udWxsP05sKGUpOmVlPXR9ZnVuY3Rpb24gSWQoZSl7dmFyIHQ9ZSxuPXQuYWx0ZXJuYXRlO3N3aXRjaCh0LnRhZyl7Y2FzZSAxNTpjYXNlIDA6dD15ZChuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLHZvaWQgMCxuZSk7YnJlYWs7Y2FzZSAxMTp0PXlkKG4sdCx0LnBlbmRpbmdQcm9wcyx0LnR5cGUucmVuZGVyLHQucmVmLG5lKTticmVhaztjYXNlIDU6Zm8odCk7ZGVmYXVsdDpFZChuLHQpLHQ9ZWU9ZXUodCwkdCksdD1UZChuLHQsJHQpfWUubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyx0PT09bnVsbD9ObChlKTplZT10fWZ1bmN0aW9uIFNhKGUsdCxuLGEpe1l0PU1uPW51bGwsZm8odCkscGE9bnVsbCxsaT0wO3ZhciBpPXQucmV0dXJuO3RyeXtpZihuaChlLGksdCxuLG5lKSl7RWU9MSxrbChlLHl0KG4sZS5jdXJyZW50KSksZWU9bnVsbDtyZXR1cm59fWNhdGNoKGwpe2lmKGkhPT1udWxsKXRocm93IGVlPWksbDtFZT0xLGtsKGUseXQobixlLmN1cnJlbnQpKSxlZT1udWxsO3JldHVybn10LmZsYWdzJjMyNzY4PyhpZXx8YT09PTE/ZT0hMDpnYXx8KG5lJjUzNjg3MDkxMikhPT0wP2U9ITE6KGZuPWU9ITAsKGE9PT0yfHxhPT09OXx8YT09PTN8fGE9PT02KSYmKGE9d3QuY3VycmVudCxhIT09bnVsbCYmYS50YWc9PT0xMyYmKGEuZmxhZ3N8PTE2Mzg0KSkpLGVmKHQsZSkpOk5sKHQpfWZ1bmN0aW9uIE5sKGUpe3ZhciB0PWU7ZG97aWYoKHQuZmxhZ3MmMzI3NjgpIT09MCl7ZWYodCxmbik7cmV0dXJufWU9dC5yZXR1cm47dmFyIG49aWgodC5hbHRlcm5hdGUsdCwkdCk7aWYobiE9PW51bGwpe2VlPW47cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtlZT10O3JldHVybn1lZT10PWV9d2hpbGUodCE9PW51bGwpO0VlPT09MCYmKEVlPTUpfWZ1bmN0aW9uIGVmKGUsdCl7ZG97dmFyIG49bGgoZS5hbHRlcm5hdGUsZSk7aWYobiE9PW51bGwpe24uZmxhZ3MmPTMyNzY3LGVlPW47cmV0dXJufWlmKG49ZS5yZXR1cm4sbiE9PW51bGwmJihuLmZsYWdzfD0zMjc2OCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLCF0JiYoZT1lLnNpYmxpbmcsZSE9PW51bGwpKXtlZT1lO3JldHVybn1lZT1lPW59d2hpbGUoZSE9PW51bGwpO0VlPTYsZWU9bnVsbH1mdW5jdGlvbiB0ZihlLHQsbixhLGksbCxvLHMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gT2woKTt3aGlsZShaZSE9PTApO2lmKChzZSY2KSE9PTApdGhyb3cgRXJyb3IodSgzMjcpKTtpZih0IT09bnVsbCl7aWYodD09PWUuY3VycmVudCl0aHJvdyBFcnJvcih1KDE3NykpO2lmKGw9dC5sYW5lc3x0LmNoaWxkTGFuZXMsbHw9TGMsWnAoZSxuLGwsbyxzLGYpLGU9PT1nZSYmKGVlPWdlPW51bGwsbmU9MCkseWE9dCxobj1lLGJhPW4sVm89bCxLbz1pLFpkPWEsKHQuc3VidHJlZUZsYWdzJjEwMjU2KSE9PTB8fCh0LmZsYWdzJjEwMjU2KSE9PTA/KGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsZ2goVWksZnVuY3Rpb24oKXtyZXR1cm4gb2YoKSxudWxsfSkpOihlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wKSxhPSh0LmZsYWdzJjEzODc4KSE9PTAsKHQuc3VidHJlZUZsYWdzJjEzODc4KSE9PTB8fGEpe2E9QS5ULEEuVD1udWxsLGk9cS5wLHEucD0yLG89c2Usc2V8PTQ7dHJ5e2NoKGUsdCxuKX1maW5hbGx5e3NlPW8scS5wPWksQS5UPWF9fVplPTEsbmYoKSxhZigpLGxmKCl9fWZ1bmN0aW9uIG5mKCl7aWYoWmU9PT0xKXtaZT0wO3ZhciBlPWhuLHQ9eWEsbj0odC5mbGFncyYxMzg3OCkhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyYxMzg3OCkhPT0wfHxuKXtuPUEuVCxBLlQ9bnVsbDt2YXIgYT1xLnA7cS5wPTI7dmFyIGk9c2U7c2V8PTQ7dHJ5e0hkKHQsZSk7dmFyIGw9c3Isbz1YcyhlLmNvbnRhaW5lckluZm8pLHM9bC5mb2N1c2VkRWxlbSxmPWwuc2VsZWN0aW9uUmFuZ2U7aWYobyE9PXMmJnMmJnMub3duZXJEb2N1bWVudCYmUXMocy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxzKSl7aWYoZiE9PW51bGwmJnFjKHMpKXt2YXIgaz1mLnN0YXJ0LEU9Zi5lbmQ7aWYoRT09PXZvaWQgMCYmKEU9ayksInNlbGVjdGlvblN0YXJ0ImluIHMpcy5zZWxlY3Rpb25TdGFydD1rLHMuc2VsZWN0aW9uRW5kPU1hdGgubWluKEUscy52YWx1ZS5sZW5ndGgpO2Vsc2V7dmFyIHo9cy5vd25lckRvY3VtZW50fHxkb2N1bWVudCxTPXomJnouZGVmYXVsdFZpZXd8fHdpbmRvdztpZihTLmdldFNlbGVjdGlvbil7dmFyIHc9Uy5nZXRTZWxlY3Rpb24oKSxWPXMudGV4dENvbnRlbnQubGVuZ3RoLFE9TWF0aC5taW4oZi5zdGFydCxWKSxwZT1mLmVuZD09PXZvaWQgMD9ROk1hdGgubWluKGYuZW5kLFYpOyF3LmV4dGVuZCYmUT5wZSYmKG89cGUscGU9USxRPW8pO3ZhciBnPUdzKHMsUSksXz1HcyhzLHBlKTtpZihnJiZfJiYody5yYW5nZUNvdW50IT09MXx8dy5hbmNob3JOb2RlIT09Zy5ub2RlfHx3LmFuY2hvck9mZnNldCE9PWcub2Zmc2V0fHx3LmZvY3VzTm9kZSE9PV8ubm9kZXx8dy5mb2N1c09mZnNldCE9PV8ub2Zmc2V0KSl7dmFyIGI9ei5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQoZy5ub2RlLGcub2Zmc2V0KSx3LnJlbW92ZUFsbFJhbmdlcygpLFE+cGU/KHcuYWRkUmFuZ2UoYiksdy5leHRlbmQoXy5ub2RlLF8ub2Zmc2V0KSk6KGIuc2V0RW5kKF8ubm9kZSxfLm9mZnNldCksdy5hZGRSYW5nZShiKSl9fX19Zm9yKHo9W10sdz1zO3c9dy5wYXJlbnROb2RlOyl3Lm5vZGVUeXBlPT09MSYmei5wdXNoKHtlbGVtZW50OncsbGVmdDp3LnNjcm9sbExlZnQsdG9wOncuc2Nyb2xsVG9wfSk7Zm9yKHR5cGVvZiBzLmZvY3VzPT0iZnVuY3Rpb24iJiZzLmZvY3VzKCkscz0wO3M8ei5sZW5ndGg7cysrKXt2YXIgUj16W3NdO1IuZWxlbWVudC5zY3JvbGxMZWZ0PVIubGVmdCxSLmVsZW1lbnQuc2Nyb2xsVG9wPVIudG9wfX1RbD0hIXJyLHNyPXJyPW51bGx9ZmluYWxseXtzZT1pLHEucD1hLEEuVD1ufX1lLmN1cnJlbnQ9dCxaZT0yfX1mdW5jdGlvbiBhZigpe2lmKFplPT09Mil7WmU9MDt2YXIgZT1obix0PXlhLG49KHQuZmxhZ3MmODc3MikhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyY4NzcyKSE9PTB8fG4pe249QS5ULEEuVD1udWxsO3ZhciBhPXEucDtxLnA9Mjt2YXIgaT1zZTtzZXw9NDt0cnl7Q2QoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3NlPWkscS5wPWEsQS5UPW59fVplPTN9fWZ1bmN0aW9uIGxmKCl7aWYoWmU9PT00fHxaZT09PTMpe1plPTAsVXAoKTt2YXIgZT1obix0PXlhLG49YmEsYT1aZDsodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8KHQuZmxhZ3MmMTAyNTYpIT09MD9aZT01OihaZT0wLHlhPWhuPW51bGwsY2YoZSxlLnBlbmRpbmdMYW5lcykpO3ZhciBpPWUucGVuZGluZ0xhbmVzO2lmKGk9PT0wJiYoX249bnVsbCksX2MobiksdD10LnN0YXRlTm9kZSxydCYmdHlwZW9mIHJ0Lm9uQ29tbWl0RmliZXJSb290PT0iZnVuY3Rpb24iKXRyeXtydC5vbkNvbW1pdEZpYmVyUm9vdChOYSx0LHZvaWQgMCwodC5jdXJyZW50LmZsYWdzJjEyOCk9PT0xMjgpfWNhdGNoe31pZihhIT09bnVsbCl7dD1BLlQsaT1xLnAscS5wPTIsQS5UPW51bGw7dHJ5e2Zvcih2YXIgbD1lLm9uUmVjb3ZlcmFibGVFcnJvcixvPTA7bzxhLmxlbmd0aDtvKyspe3ZhciBzPWFbb107bChzLnZhbHVlLHtjb21wb25lbnRTdGFjazpzLnN0YWNrfSl9fWZpbmFsbHl7QS5UPXQscS5wPWl9fShiYSYzKSE9PTAmJk9sKCksQ3QoZSksaT1lLnBlbmRpbmdMYW5lcywobiY0MTk0MDkwKSE9PTAmJihpJjQyKSE9PTA/ZT09PUpvP19pKys6KF9pPTAsSm89ZSk6X2k9MCxoaSgwKX19ZnVuY3Rpb24gY2YoZSx0KXsoZS5wb29sZWRDYWNoZUxhbmVzJj10KT09PTAmJih0PWUucG9vbGVkQ2FjaGUsdCE9bnVsbCYmKGUucG9vbGVkQ2FjaGU9bnVsbCxKYSh0KSkpfWZ1bmN0aW9uIE9sKGUpe3JldHVybiBuZigpLGFmKCksbGYoKSxvZigpfWZ1bmN0aW9uIG9mKCl7aWYoWmUhPT01KXJldHVybiExO3ZhciBlPWhuLHQ9Vm87Vm89MDt2YXIgbj1fYyhiYSksYT1BLlQsaT1xLnA7dHJ5e3EucD0zMj5uPzMyOm4sQS5UPW51bGwsbj1LbyxLbz1udWxsO3ZhciBsPWhuLG89YmE7aWYoWmU9MCx5YT1obj1udWxsLGJhPTAsKHNlJjYpIT09MCl0aHJvdyBFcnJvcih1KDMzMSkpO3ZhciBzPXNlO2lmKHNlfD00LFFkKGwuY3VycmVudCksTGQobCxsLmN1cnJlbnQsbyxuKSxzZT1zLGhpKDAsITEpLHJ0JiZ0eXBlb2YgcnQub25Qb3N0Q29tbWl0RmliZXJSb290PT0iZnVuY3Rpb24iKXRyeXtydC5vblBvc3RDb21taXRGaWJlclJvb3QoTmEsbCl9Y2F0Y2h7fXJldHVybiEwfWZpbmFsbHl7cS5wPWksQS5UPWEsY2YoZSx0KX19ZnVuY3Rpb24gcmYoZSx0LG4pe3Q9eXQobix0KSx0PUFvKGUuc3RhdGVOb2RlLHQsMiksZT1sbihlLHQsMiksZSE9PW51bGwmJihEYShlLDIpLEN0KGUpKX1mdW5jdGlvbiBoZShlLHQsbil7aWYoZS50YWc9PT0zKXJmKGUsZSxuKTtlbHNlIGZvcig7dCE9PW51bGw7KXtpZih0LnRhZz09PTMpe3JmKHQsZSxuKTticmVha31lbHNlIGlmKHQudGFnPT09MSl7dmFyIGE9dC5zdGF0ZU5vZGU7aWYodHlwZW9mIHQudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoX249PT1udWxsfHwhX24uaGFzKGEpKSl7ZT15dChuLGUpLG49ZGQoMiksYT1sbih0LG4sMiksYSE9PW51bGwmJihmZChuLGEsdCxlKSxEYShhLDIpLEN0KGEpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gUG8oZSx0LG4pe3ZhciBhPWUucGluZ0NhY2hlO2lmKGE9PT1udWxsKXthPWUucGluZ0NhY2hlPW5ldyBzaDt2YXIgaT1uZXcgU2V0O2Euc2V0KHQsaSl9ZWxzZSBpPWEuZ2V0KHQpLGk9PT12b2lkIDAmJihpPW5ldyBTZXQsYS5zZXQodCxpKSk7aS5oYXMobil8fChHbz0hMCxpLmFkZChuKSxlPV9oLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIF9oKGUsdCxuKXt2YXIgYT1lLnBpbmdDYWNoZTthIT09bnVsbCYmYS5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bixnZT09PWUmJihuZSZuKT09PW4mJihFZT09PTR8fEVlPT09MyYmKG5lJjYyOTE0NTYwKT09PW5lJiYzMDA+enQoKS1abz8oc2UmMik9PT0wJiZrYShlLDApOlFvfD1uLHZhPT09bmUmJih2YT0wKSksQ3QoZSl9ZnVuY3Rpb24gc2YoZSx0KXt0PT09MCYmKHQ9aXMoKSksZT1hYShlLHQpLGUhPT1udWxsJiYoRGEoZSx0KSxDdChlKSl9ZnVuY3Rpb24gaGgoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDt0IT09bnVsbCYmKG49dC5yZXRyeUxhbmUpLHNmKGUsbil9ZnVuY3Rpb24gbWgoZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgYT1lLnN0YXRlTm9kZSxpPWUubWVtb2l6ZWRTdGF0ZTtpIT09bnVsbCYmKG49aS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6YT1lLnN0YXRlTm9kZTticmVhaztjYXNlIDIyOmE9ZS5zdGF0ZU5vZGUuX3JldHJ5Q2FjaGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMxNCkpfWEhPT1udWxsJiZhLmRlbGV0ZSh0KSxzZihlLG4pfWZ1bmN0aW9uIGdoKGUsdCl7cmV0dXJuIHVjKGUsdCl9dmFyIERsPW51bGwsd2E9bnVsbCxJbz0hMSxNbD0hMSxlcj0hMSxMbj0wO2Z1bmN0aW9uIEN0KGUpe2UhPT13YSYmZS5uZXh0PT09bnVsbCYmKHdhPT09bnVsbD9EbD13YT1lOndhPXdhLm5leHQ9ZSksTWw9ITAsSW98fChJbz0hMCx5aCgpKX1mdW5jdGlvbiBoaShlLHQpe2lmKCFlciYmTWwpe2VyPSEwO2RvIGZvcih2YXIgbj0hMSxhPURsO2EhPT1udWxsOyl7aWYoZSE9PTApe3ZhciBpPWEucGVuZGluZ0xhbmVzO2lmKGk9PT0wKXZhciBsPTA7ZWxzZXt2YXIgbz1hLnN1c3BlbmRlZExhbmVzLHM9YS5waW5nZWRMYW5lcztsPSgxPDwzMS1zdCg0MnxlKSsxKS0xLGwmPWkmfihvJn5zKSxsPWwmMjAxMzI2NzQxP2wmMjAxMzI2NzQxfDE6bD9sfDI6MH1sIT09MCYmKG49ITAscGYoYSxsKSl9ZWxzZSBsPW5lLGw9QmkoYSxhPT09Z2U/bDowLGEuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fGEudGltZW91dEhhbmRsZSE9PS0xKSwobCYzKT09PTB8fE9hKGEsbCl8fChuPSEwLHBmKGEsbCkpO2E9YS5uZXh0fXdoaWxlKG4pO2VyPSExfX1mdW5jdGlvbiB2aCgpe3VmKCl9ZnVuY3Rpb24gdWYoKXtNbD1Jbz0hMTt2YXIgZT0wO0xuIT09MCYmKEVoKCkmJihlPUxuKSxMbj0wKTtmb3IodmFyIHQ9enQoKSxuPW51bGwsYT1EbDthIT09bnVsbDspe3ZhciBpPWEubmV4dCxsPWRmKGEsdCk7bD09PTA/KGEubmV4dD1udWxsLG49PT1udWxsP0RsPWk6bi5uZXh0PWksaT09PW51bGwmJih3YT1uKSk6KG49YSwoZSE9PTB8fChsJjMpIT09MCkmJihNbD0hMCkpLGE9aX1oaShlKX1mdW5jdGlvbiBkZihlLHQpe2Zvcih2YXIgbj1lLnN1c3BlbmRlZExhbmVzLGE9ZS5waW5nZWRMYW5lcyxpPWUuZXhwaXJhdGlvblRpbWVzLGw9ZS5wZW5kaW5nTGFuZXMmLTYyOTE0NTYxOzA8bDspe3ZhciBvPTMxLXN0KGwpLHM9MTw8byxmPWlbb107Zj09PS0xPygocyZuKT09PTB8fChzJmEpIT09MCkmJihpW29dPVhwKHMsdCkpOmY8PXQmJihlLmV4cGlyZWRMYW5lc3w9cyksbCY9fnN9aWYodD1nZSxuPW5lLG49QmkoZSxlPT09dD9uOjAsZS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8ZS50aW1lb3V0SGFuZGxlIT09LTEpLGE9ZS5jYWxsYmFja05vZGUsbj09PTB8fGU9PT10JiYodWU9PT0yfHx1ZT09PTkpfHxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsKXJldHVybiBhIT09bnVsbCYmYSE9PW51bGwmJmRjKGEpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoKG4mMyk9PT0wfHxPYShlLG4pKXtpZih0PW4mLW4sdD09PWUuY2FsbGJhY2tQcmlvcml0eSlyZXR1cm4gdDtzd2l0Y2goYSE9PW51bGwmJmRjKGEpLF9jKG4pKXtjYXNlIDI6Y2FzZSA4Om49dHM7YnJlYWs7Y2FzZSAzMjpuPVVpO2JyZWFrO2Nhc2UgMjY4NDM1NDU2Om49bnM7YnJlYWs7ZGVmYXVsdDpuPVVpfXJldHVybiBhPWZmLmJpbmQobnVsbCxlKSxuPXVjKG4sYSksZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9bix0fXJldHVybiBhIT09bnVsbCYmYSE9PW51bGwmJmRjKGEpLGUuY2FsbGJhY2tQcmlvcml0eT0yLGUuY2FsbGJhY2tOb2RlPW51bGwsMn1mdW5jdGlvbiBmZihlLHQpe2lmKFplIT09MCYmWmUhPT01KXJldHVybiBlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLG51bGw7dmFyIG49ZS5jYWxsYmFja05vZGU7aWYoT2woKSYmZS5jYWxsYmFja05vZGUhPT1uKXJldHVybiBudWxsO3ZhciBhPW5lO3JldHVybiBhPUJpKGUsZT09PWdlP2E6MCxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxlLnRpbWVvdXRIYW5kbGUhPT0tMSksYT09PTA/bnVsbDooS2QoZSxhLHQpLGRmKGUsenQoKSksZS5jYWxsYmFja05vZGUhPW51bGwmJmUuY2FsbGJhY2tOb2RlPT09bj9mZi5iaW5kKG51bGwsZSk6bnVsbCl9ZnVuY3Rpb24gcGYoZSx0KXtpZihPbCgpKXJldHVybiBudWxsO0tkKGUsdCwhMCl9ZnVuY3Rpb24geWgoKXt6aChmdW5jdGlvbigpeyhzZSY2KSE9PTA/dWMoZXMsdmgpOnVmKCl9KX1mdW5jdGlvbiB0cigpe3JldHVybiBMbj09PTAmJihMbj1hcygpKSxMbn1mdW5jdGlvbiBfZihlKXtyZXR1cm4gZT09bnVsbHx8dHlwZW9mIGU9PSJzeW1ib2wifHx0eXBlb2YgZT09ImJvb2xlYW4iP251bGw6dHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpYaSgiIitlKX1mdW5jdGlvbiBoZihlLHQpe3ZhciBuPXQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3JldHVybiBuLm5hbWU9dC5uYW1lLG4udmFsdWU9dC52YWx1ZSxlLmlkJiZuLnNldEF0dHJpYnV0ZSgiZm9ybSIsZS5pZCksdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuLHQpLGU9bmV3IEZvcm1EYXRhKGUpLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSxlfWZ1bmN0aW9uIGJoKGUsdCxuLGEsaSl7aWYodD09PSJzdWJtaXQiJiZuJiZuLnN0YXRlTm9kZT09PWkpe3ZhciBsPV9mKChpW0llXXx8bnVsbCkuYWN0aW9uKSxvPWEuc3VibWl0dGVyO28mJih0PSh0PW9bSWVdfHxudWxsKT9fZih0LmZvcm1BY3Rpb24pOm8uZ2V0QXR0cmlidXRlKCJmb3JtQWN0aW9uIiksdCE9PW51bGwmJihsPXQsbz1udWxsKSk7dmFyIHM9bmV3IEppKCJhY3Rpb24iLCJhY3Rpb24iLG51bGwsYSxpKTtlLnB1c2goe2V2ZW50OnMsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKGEuZGVmYXVsdFByZXZlbnRlZCl7aWYoTG4hPT0wKXt2YXIgZj1vP2hmKGksbyk6bmV3IEZvcm1EYXRhKGkpO2tvKG4se3BlbmRpbmc6ITAsZGF0YTpmLG1ldGhvZDppLm1ldGhvZCxhY3Rpb246bH0sbnVsbCxmKX19ZWxzZSB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmKHMucHJldmVudERlZmF1bHQoKSxmPW8/aGYoaSxvKTpuZXcgRm9ybURhdGEoaSksa28obix7cGVuZGluZzohMCxkYXRhOmYsbWV0aG9kOmkubWV0aG9kLGFjdGlvbjpsfSxsLGYpKX0sY3VycmVudFRhcmdldDppfV19KX19Zm9yKHZhciBucj0wO25yPEJjLmxlbmd0aDtucisrKXt2YXIgYXI9QmNbbnJdLGtoPWFyLnRvTG93ZXJDYXNlKCksU2g9YXJbMF0udG9VcHBlckNhc2UoKSthci5zbGljZSgxKTtBdChraCwib24iK1NoKX1BdChLcywib25BbmltYXRpb25FbmQiKSxBdChKcywib25BbmltYXRpb25JdGVyYXRpb24iKSxBdCgkcywib25BbmltYXRpb25TdGFydCIpLEF0KCJkYmxjbGljayIsIm9uRG91YmxlQ2xpY2siKSxBdCgiZm9jdXNpbiIsIm9uRm9jdXMiKSxBdCgiZm9jdXNvdXQiLCJvbkJsdXIiKSxBdChCXywib25UcmFuc2l0aW9uUnVuIiksQXQoTF8sIm9uVHJhbnNpdGlvblN0YXJ0IiksQXQoWV8sIm9uVHJhbnNpdGlvbkNhbmNlbCIpLEF0KFdzLCJvblRyYW5zaXRpb25FbmQiKSxLbigib25Nb3VzZUVudGVyIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLEtuKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksS24oIm9uUG9pbnRlckVudGVyIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxLbigib25Qb2ludGVyTGVhdmUiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHhuKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSx4bigib25TZWxlY3QiLCJmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLHhuKCJvbkJlZm9yZUlucHV0IixbImNvbXBvc2l0aW9uZW5kIiwia2V5cHJlc3MiLCJ0ZXh0SW5wdXQiLCJwYXN0ZSJdKSx4bigib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSx4bigib25Db21wb3NpdGlvblN0YXJ0IiwiY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSkseG4oIm9uQ29tcG9zaXRpb25VcGRhdGUiLCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7dmFyIG1pPSJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSx3aD1uZXcgU2V0KCJiZWZvcmV0b2dnbGUgY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgc2Nyb2xsZW5kIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQobWkpKTtmdW5jdGlvbiBtZihlLHQpe3Q9KHQmNCkhPT0wO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgYT1lW25dLGk9YS5ldmVudDthPWEubGlzdGVuZXJzO2U6e3ZhciBsPXZvaWQgMDtpZih0KWZvcih2YXIgbz1hLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgcz1hW29dLGY9cy5pbnN0YW5jZSxrPXMuY3VycmVudFRhcmdldDtpZihzPXMubGlzdGVuZXIsZiE9PWwmJmkuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2w9cyxpLmN1cnJlbnRUYXJnZXQ9azt0cnl7bChpKX1jYXRjaChFKXtibChFKX1pLmN1cnJlbnRUYXJnZXQ9bnVsbCxsPWZ9ZWxzZSBmb3Iobz0wO288YS5sZW5ndGg7bysrKXtpZihzPWFbb10sZj1zLmluc3RhbmNlLGs9cy5jdXJyZW50VGFyZ2V0LHM9cy5saXN0ZW5lcixmIT09bCYmaS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7bD1zLGkuY3VycmVudFRhcmdldD1rO3RyeXtsKGkpfWNhdGNoKEUpe2JsKEUpfWkuY3VycmVudFRhcmdldD1udWxsLGw9Zn19fX1mdW5jdGlvbiB0ZShlLHQpe3ZhciBuPXRbaGNdO249PT12b2lkIDAmJihuPXRbaGNdPW5ldyBTZXQpO3ZhciBhPWUrIl9fYnViYmxlIjtuLmhhcyhhKXx8KGdmKHQsZSwyLCExKSxuLmFkZChhKSl9ZnVuY3Rpb24gaXIoZSx0LG4pe3ZhciBhPTA7dCYmKGF8PTQpLGdmKG4sZSxhLHQpfXZhciBDbD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBscihlKXtpZighZVtDbF0pe2VbQ2xdPSEwLHNzLmZvckVhY2goZnVuY3Rpb24obil7biE9PSJzZWxlY3Rpb25jaGFuZ2UiJiYod2guaGFzKG4pfHxpcihuLCExLGUpLGlyKG4sITAsZSkpfSk7dmFyIHQ9ZS5ub2RlVHlwZT09PTk/ZTplLm93bmVyRG9jdW1lbnQ7dD09PW51bGx8fHRbQ2xdfHwodFtDbF09ITAsaXIoInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBnZihlLHQsbixhKXtzd2l0Y2goWWYodCkpe2Nhc2UgMjp2YXIgaT1XaDticmVhaztjYXNlIDg6aT1GaDticmVhaztkZWZhdWx0Omk9eXJ9bj1pLmJpbmQobnVsbCx0LG4sZSksaT12b2lkIDAsIUFjfHx0IT09InRvdWNoc3RhcnQiJiZ0IT09InRvdWNobW92ZSImJnQhPT0id2hlZWwifHwoaT0hMCksYT9pIT09dm9pZCAwP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4se2NhcHR1cmU6ITAscGFzc2l2ZTppfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMCk6aSE9PXZvaWQgMD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtwYXNzaXZlOml9KTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLCExKX1mdW5jdGlvbiBjcihlLHQsbixhLGkpe3ZhciBsPWE7aWYoKHQmMSk9PT0wJiYodCYyKT09PTAmJmEhPT1udWxsKWU6Zm9yKDs7KXtpZihhPT09bnVsbClyZXR1cm47dmFyIG89YS50YWc7aWYobz09PTN8fG89PT00KXt2YXIgcz1hLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKHM9PT1pKWJyZWFrO2lmKG89PT00KWZvcihvPWEucmV0dXJuO28hPT1udWxsOyl7dmFyIGY9by50YWc7aWYoKGY9PT0zfHxmPT09NCkmJm8uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1pKXJldHVybjtvPW8ucmV0dXJufWZvcig7cyE9PW51bGw7KXtpZihvPVhuKHMpLG89PT1udWxsKXJldHVybjtpZihmPW8udGFnLGY9PT01fHxmPT09Nnx8Zj09PTI2fHxmPT09Mjcpe2E9bD1vO2NvbnRpbnVlIGV9cz1zLnBhcmVudE5vZGV9fWE9YS5yZXR1cm59d3MoZnVuY3Rpb24oKXt2YXIgaz1sLEU9eGMobiksej1bXTtlOnt2YXIgUz1Gcy5nZXQoZSk7aWYoUyE9PXZvaWQgMCl7dmFyIHc9SmksVj1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZihWaShuKT09PTApYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnc9Z187YnJlYWs7Y2FzZSJmb2N1c2luIjpWPSJmb2N1cyIsdz1OYzticmVhaztjYXNlImZvY3Vzb3V0IjpWPSJibHVyIix3PU5jO2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOnc9TmM7YnJlYWs7Y2FzZSJjbGljayI6aWYobi5idXR0b249PT0yKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51Ijp3PUFzO2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOnc9bF87YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6dz1iXzticmVhaztjYXNlIEtzOmNhc2UgSnM6Y2FzZSAkczp3PXJfO2JyZWFrO2Nhc2UgV3M6dz1TXzticmVhaztjYXNlInNjcm9sbCI6Y2FzZSJzY3JvbGxlbmQiOnc9YV87YnJlYWs7Y2FzZSJ3aGVlbCI6dz14XzticmVhaztjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlInBhc3RlIjp3PXVfO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOnc9UnM7YnJlYWs7Y2FzZSJ0b2dnbGUiOmNhc2UiYmVmb3JldG9nZ2xlIjp3PUFffXZhciBRPSh0JjQpIT09MCxwZT0hUSYmKGU9PT0ic2Nyb2xsInx8ZT09PSJzY3JvbGxlbmQiKSxnPVE/UyE9PW51bGw/UysiQ2FwdHVyZSI6bnVsbDpTO1E9W107Zm9yKHZhciBfPWssYjtfIT09bnVsbDspe3ZhciBSPV87aWYoYj1SLnN0YXRlTm9kZSxSPVIudGFnLFIhPT01JiZSIT09MjYmJlIhPT0yN3x8Yj09PW51bGx8fGc9PT1udWxsfHwoUj1xYShfLGcpLFIhPW51bGwmJlEucHVzaChnaShfLFIsYikpKSxwZSlicmVhaztfPV8ucmV0dXJufTA8US5sZW5ndGgmJihTPW5ldyB3KFMsVixudWxsLG4sRSksei5wdXNoKHtldmVudDpTLGxpc3RlbmVyczpRfSkpfX1pZigodCY3KT09PTApe2U6e2lmKFM9ZT09PSJtb3VzZW92ZXIifHxlPT09InBvaW50ZXJvdmVyIix3PWU9PT0ibW91c2VvdXQifHxlPT09InBvaW50ZXJvdXQiLFMmJm4hPT13YyYmKFY9bi5yZWxhdGVkVGFyZ2V0fHxuLmZyb21FbGVtZW50KSYmKFhuKFYpfHxWW1FuXSkpYnJlYWsgZTtpZigod3x8UykmJihTPUUud2luZG93PT09RT9FOihTPUUub3duZXJEb2N1bWVudCk/Uy5kZWZhdWx0Vmlld3x8Uy5wYXJlbnRXaW5kb3c6d2luZG93LHc/KFY9bi5yZWxhdGVkVGFyZ2V0fHxuLnRvRWxlbWVudCx3PWssVj1WP1huKFYpOm51bGwsViE9PW51bGwmJihwZT14KFYpLFE9Vi50YWcsViE9PXBlfHxRIT09NSYmUSE9PTI3JiZRIT09NikmJihWPW51bGwpKToodz1udWxsLFY9ayksdyE9PVYpKXtpZihRPUFzLFI9Im9uTW91c2VMZWF2ZSIsZz0ib25Nb3VzZUVudGVyIixfPSJtb3VzZSIsKGU9PT0icG9pbnRlcm91dCJ8fGU9PT0icG9pbnRlcm92ZXIiKSYmKFE9UnMsUj0ib25Qb2ludGVyTGVhdmUiLGc9Im9uUG9pbnRlckVudGVyIixfPSJwb2ludGVyIikscGU9dz09bnVsbD9TOkNhKHcpLGI9Vj09bnVsbD9TOkNhKFYpLFM9bmV3IFEoUixfKyJsZWF2ZSIsdyxuLEUpLFMudGFyZ2V0PXBlLFMucmVsYXRlZFRhcmdldD1iLFI9bnVsbCxYbihFKT09PWsmJihRPW5ldyBRKGcsXysiZW50ZXIiLFYsbixFKSxRLnRhcmdldD1iLFEucmVsYXRlZFRhcmdldD1wZSxSPVEpLHBlPVIsdyYmVil0Ontmb3IoUT13LGc9VixfPTAsYj1RO2I7Yj14YShiKSlfKys7Zm9yKGI9MCxSPWc7UjtSPXhhKFIpKWIrKztmb3IoOzA8Xy1iOylRPXhhKFEpLF8tLTtmb3IoOzA8Yi1fOylnPXhhKGcpLGItLTtmb3IoO18tLTspe2lmKFE9PT1nfHxnIT09bnVsbCYmUT09PWcuYWx0ZXJuYXRlKWJyZWFrIHQ7UT14YShRKSxnPXhhKGcpfVE9bnVsbH1lbHNlIFE9bnVsbDt3IT09bnVsbCYmdmYoeixTLHcsUSwhMSksViE9PW51bGwmJnBlIT09bnVsbCYmdmYoeixwZSxWLFEsITApfX1lOntpZihTPWs/Q2Eoayk6d2luZG93LHc9Uy5ub2RlTmFtZSYmUy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHc9PT0ic2VsZWN0Inx8dz09PSJpbnB1dCImJlMudHlwZT09PSJmaWxlIil2YXIgSD1VcztlbHNlIGlmKENzKFMpKWlmKGpzKUg9VV87ZWxzZXtIPUNfO3ZhciBJPU1ffWVsc2Ugdz1TLm5vZGVOYW1lLCF3fHx3LnRvTG93ZXJDYXNlKCkhPT0iaW5wdXQifHxTLnR5cGUhPT0iY2hlY2tib3giJiZTLnR5cGUhPT0icmFkaW8iP2smJlNjKGsuZWxlbWVudFR5cGUpJiYoSD1Vcyk6SD1xXztpZihIJiYoSD1IKGUsaykpKXtxcyh6LEgsbixFKTticmVhayBlfUkmJkkoZSxTLGspLGU9PT0iZm9jdXNvdXQiJiZrJiZTLnR5cGU9PT0ibnVtYmVyIiYmay5tZW1vaXplZFByb3BzLnZhbHVlIT1udWxsJiZrYyhTLCJudW1iZXIiLFMudmFsdWUpfXN3aXRjaChJPWs/Q2Eoayk6d2luZG93LGUpe2Nhc2UiZm9jdXNpbiI6KENzKEkpfHxJLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIikmJihlYT1JLFVjPWssUWE9bnVsbCk7YnJlYWs7Y2FzZSJmb2N1c291dCI6UWE9VWM9ZWE9bnVsbDticmVhaztjYXNlIm1vdXNlZG93biI6amM9ITA7YnJlYWs7Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJtb3VzZXVwIjpjYXNlImRyYWdlbmQiOmpjPSExLFpzKHosbixFKTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYoSF8pYnJlYWs7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpacyh6LG4sRSl9dmFyIEw7aWYoRGMpZTp7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dmFyIFg9Im9uQ29tcG9zaXRpb25TdGFydCI7YnJlYWsgZTtjYXNlImNvbXBvc2l0aW9uZW5kIjpYPSJvbkNvbXBvc2l0aW9uRW5kIjticmVhayBlO2Nhc2UiY29tcG9zaXRpb251cGRhdGUiOlg9Im9uQ29tcG9zaXRpb25VcGRhdGUiO2JyZWFrIGV9WD12b2lkIDB9ZWxzZSBJbj9EcyhlLG4pJiYoWD0ib25Db21wb3NpdGlvbkVuZCIpOmU9PT0ia2V5ZG93biImJm4ua2V5Q29kZT09PTIyOSYmKFg9Im9uQ29tcG9zaXRpb25TdGFydCIpO1gmJih6cyYmbi5sb2NhbGUhPT0ia28iJiYoSW58fFghPT0ib25Db21wb3NpdGlvblN0YXJ0Ij9YPT09Im9uQ29tcG9zaXRpb25FbmQiJiZJbiYmKEw9eHMoKSk6KGVuPUUsRWM9InZhbHVlImluIGVuP2VuLnZhbHVlOmVuLnRleHRDb250ZW50LEluPSEwKSksST1xbChrLFgpLDA8SS5sZW5ndGgmJihYPW5ldyBFcyhYLGUsbnVsbCxuLEUpLHoucHVzaCh7ZXZlbnQ6WCxsaXN0ZW5lcnM6SX0pLEw/WC5kYXRhPUw6KEw9TXMobiksTCE9PW51bGwmJihYLmRhdGE9TCkpKSksKEw9Ul8/el8oZSxuKTpOXyhlLG4pKSYmKFg9cWwoaywib25CZWZvcmVJbnB1dCIpLDA8WC5sZW5ndGgmJihJPW5ldyBFcygib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sRSksei5wdXNoKHtldmVudDpJLGxpc3RlbmVyczpYfSksSS5kYXRhPUwpKSxiaCh6LGUsayxuLEUpfW1mKHosdCl9KX1mdW5jdGlvbiBnaShlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHFsKGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLGE9W107ZSE9PW51bGw7KXt2YXIgaT1lLGw9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxpIT09NSYmaSE9PTI2JiZpIT09Mjd8fGw9PT1udWxsfHwoaT1xYShlLG4pLGkhPW51bGwmJmEudW5zaGlmdChnaShlLGksbCkpLGk9cWEoZSx0KSxpIT1udWxsJiZhLnB1c2goZ2koZSxpLGwpKSksZS50YWc9PT0zKXJldHVybiBhO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24geGEoZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUmJmUudGFnIT09MjcpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIHZmKGUsdCxuLGEsaSl7Zm9yKHZhciBsPXQuX3JlYWN0TmFtZSxvPVtdO24hPT1udWxsJiZuIT09YTspe3ZhciBzPW4sZj1zLmFsdGVybmF0ZSxrPXMuc3RhdGVOb2RlO2lmKHM9cy50YWcsZiE9PW51bGwmJmY9PT1hKWJyZWFrO3MhPT01JiZzIT09MjYmJnMhPT0yN3x8az09PW51bGx8fChmPWssaT8oaz1xYShuLGwpLGshPW51bGwmJm8udW5zaGlmdChnaShuLGssZikpKTppfHwoaz1xYShuLGwpLGshPW51bGwmJm8ucHVzaChnaShuLGssZikpKSksbj1uLnJldHVybn1vLmxlbmd0aCE9PTAmJmUucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6b30pfXZhciB4aD0vXHJcbj8vZyxUaD0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uIHlmKGUpe3JldHVybih0eXBlb2YgZT09InN0cmluZyI/ZToiIitlKS5yZXBsYWNlKHhoLGAKYCkucmVwbGFjZShUaCwiIil9ZnVuY3Rpb24gYmYoZSx0KXtyZXR1cm4gdD15Zih0KSx5ZihlKT09PXR9ZnVuY3Rpb24gVWwoKXt9ZnVuY3Rpb24gZmUoZSx0LG4sYSxpLGwpe3N3aXRjaChuKXtjYXNlImNoaWxkcmVuIjp0eXBlb2YgYT09InN0cmluZyI/dD09PSJib2R5Inx8dD09PSJ0ZXh0YXJlYSImJmE9PT0iInx8V24oZSxhKToodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpJiZ0IT09ImJvZHkiJiZXbihlLCIiK2EpO2JyZWFrO2Nhc2UiY2xhc3NOYW1lIjpZaShlLCJjbGFzcyIsYSk7YnJlYWs7Y2FzZSJ0YWJJbmRleCI6WWkoZSwidGFiaW5kZXgiLGEpO2JyZWFrO2Nhc2UiZGlyIjpjYXNlInJvbGUiOmNhc2Uidmlld0JveCI6Y2FzZSJ3aWR0aCI6Y2FzZSJoZWlnaHQiOllpKGUsbixhKTticmVhaztjYXNlInN0eWxlIjprcyhlLGEsbCk7YnJlYWs7Y2FzZSJkYXRhIjppZih0IT09Im9iamVjdCIpe1lpKGUsImRhdGEiLGEpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKGE9PT0iIiYmKHQhPT0iYSJ8fG4hPT0iaHJlZiIpKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31pZihhPT1udWxsfHx0eXBlb2YgYT09ImZ1bmN0aW9uInx8dHlwZW9mIGE9PSJzeW1ib2wifHx0eXBlb2YgYT09ImJvb2xlYW4iKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31hPVhpKCIiK2EpLGUuc2V0QXR0cmlidXRlKG4sYSk7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWVsc2UgdHlwZW9mIGw9PSJmdW5jdGlvbiImJihuPT09ImZvcm1BY3Rpb24iPyh0IT09ImlucHV0IiYmZmUoZSx0LCJuYW1lIixpLm5hbWUsaSxudWxsKSxmZShlLHQsImZvcm1FbmNUeXBlIixpLmZvcm1FbmNUeXBlLGksbnVsbCksZmUoZSx0LCJmb3JtTWV0aG9kIixpLmZvcm1NZXRob2QsaSxudWxsKSxmZShlLHQsImZvcm1UYXJnZXQiLGkuZm9ybVRhcmdldCxpLG51bGwpKTooZmUoZSx0LCJlbmNUeXBlIixpLmVuY1R5cGUsaSxudWxsKSxmZShlLHQsIm1ldGhvZCIsaS5tZXRob2QsaSxudWxsKSxmZShlLHQsInRhcmdldCIsaS50YXJnZXQsaSxudWxsKSkpO2lmKGE9PW51bGx8fHR5cGVvZiBhPT0ic3ltYm9sInx8dHlwZW9mIGE9PSJib29sZWFuIil7ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWt9YT1YaSgiIithKSxlLnNldEF0dHJpYnV0ZShuLGEpO2JyZWFrO2Nhc2Uib25DbGljayI6YSE9bnVsbCYmKGUub25jbGljaz1VbCk7YnJlYWs7Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmdGUoInNjcm9sbCIsZSk7YnJlYWs7Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmdGUoInNjcm9sbGVuZCIsZSk7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYSE9bnVsbCl7aWYodHlwZW9mIGEhPSJvYmplY3QifHwhKCJfX2h0bWwiaW4gYSkpdGhyb3cgRXJyb3IodSg2MSkpO2lmKG49YS5fX2h0bWwsbiE9bnVsbCl7aWYoaS5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcih1KDYwKSk7ZS5pbm5lckhUTUw9bn19YnJlYWs7Y2FzZSJtdWx0aXBsZSI6ZS5tdWx0aXBsZT1hJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiO2JyZWFrO2Nhc2UibXV0ZWQiOmUubXV0ZWQ9YSYmdHlwZW9mIGEhPSJmdW5jdGlvbiImJnR5cGVvZiBhIT0ic3ltYm9sIjticmVhaztjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiZGVmYXVsdFZhbHVlIjpjYXNlImRlZmF1bHRDaGVja2VkIjpjYXNlImlubmVySFRNTCI6Y2FzZSJyZWYiOmJyZWFrO2Nhc2UiYXV0b0ZvY3VzIjpicmVhaztjYXNlInhsaW5rSHJlZiI6aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhPT0iYm9vbGVhbiJ8fHR5cGVvZiBhPT0ic3ltYm9sIil7ZS5yZW1vdmVBdHRyaWJ1dGUoInhsaW5rOmhyZWYiKTticmVha31uPVhpKCIiK2EpLGUuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpocmVmIixuKTticmVhaztjYXNlImNvbnRlbnRFZGl0YWJsZSI6Y2FzZSJzcGVsbENoZWNrIjpjYXNlImRyYWdnYWJsZSI6Y2FzZSJ2YWx1ZSI6Y2FzZSJhdXRvUmV2ZXJzZSI6Y2FzZSJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIjpjYXNlImZvY3VzYWJsZSI6Y2FzZSJwcmVzZXJ2ZUFscGhhIjphIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiP2Uuc2V0QXR0cmlidXRlKG4sIiIrYSk6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJpbmVydCI6Y2FzZSJhbGxvd0Z1bGxTY3JlZW4iOmNhc2UiYXN5bmMiOmNhc2UiYXV0b1BsYXkiOmNhc2UiY29udHJvbHMiOmNhc2UiZGVmYXVsdCI6Y2FzZSJkZWZlciI6Y2FzZSJkaXNhYmxlZCI6Y2FzZSJkaXNhYmxlUGljdHVyZUluUGljdHVyZSI6Y2FzZSJkaXNhYmxlUmVtb3RlUGxheWJhY2siOmNhc2UiZm9ybU5vVmFsaWRhdGUiOmNhc2UiaGlkZGVuIjpjYXNlImxvb3AiOmNhc2Uibm9Nb2R1bGUiOmNhc2Uibm9WYWxpZGF0ZSI6Y2FzZSJvcGVuIjpjYXNlInBsYXlzSW5saW5lIjpjYXNlInJlYWRPbmx5IjpjYXNlInJlcXVpcmVkIjpjYXNlInJldmVyc2VkIjpjYXNlInNjb3BlZCI6Y2FzZSJzZWFtbGVzcyI6Y2FzZSJpdGVtU2NvcGUiOmEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/ZS5zZXRBdHRyaWJ1dGUobiwiIik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJjYXB0dXJlIjpjYXNlImRvd25sb2FkIjphPT09ITA/ZS5zZXRBdHRyaWJ1dGUobiwiIik6YSE9PSExJiZhIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiP2Uuc2V0QXR0cmlidXRlKG4sYSk6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJjb2xzIjpjYXNlInJvd3MiOmNhc2Uic2l6ZSI6Y2FzZSJzcGFuIjphIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhaXNOYU4oYSkmJjE8PWE/ZS5zZXRBdHRyaWJ1dGUobixhKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlInJvd1NwYW4iOmNhc2Uic3RhcnQiOmE9PW51bGx8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHx0eXBlb2YgYT09InN5bWJvbCJ8fGlzTmFOKGEpP2UucmVtb3ZlQXR0cmlidXRlKG4pOmUuc2V0QXR0cmlidXRlKG4sYSk7YnJlYWs7Y2FzZSJwb3BvdmVyIjp0ZSgiYmVmb3JldG9nZ2xlIixlKSx0ZSgidG9nZ2xlIixlKSxMaShlLCJwb3BvdmVyIixhKTticmVhaztjYXNlInhsaW5rQWN0dWF0ZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFjdHVhdGUiLGEpO2JyZWFrO2Nhc2UieGxpbmtBcmNyb2xlIjpVdChlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6YXJjcm9sZSIsYSk7YnJlYWs7Y2FzZSJ4bGlua1JvbGUiOlV0KGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpyb2xlIixhKTticmVhaztjYXNlInhsaW5rU2hvdyI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnNob3ciLGEpO2JyZWFrO2Nhc2UieGxpbmtUaXRsZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnRpdGxlIixhKTticmVhaztjYXNlInhsaW5rVHlwZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnR5cGUiLGEpO2JyZWFrO2Nhc2UieG1sQmFzZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmJhc2UiLGEpO2JyZWFrO2Nhc2UieG1sTGFuZyI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmxhbmciLGEpO2JyZWFrO2Nhc2UieG1sU3BhY2UiOlV0KGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpzcGFjZSIsYSk7YnJlYWs7Y2FzZSJpcyI6TGkoZSwiaXMiLGEpO2JyZWFrO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpicmVhaztkZWZhdWx0OighKDI8bi5sZW5ndGgpfHxuWzBdIT09Im8iJiZuWzBdIT09Ik8ifHxuWzFdIT09Im4iJiZuWzFdIT09Ik4iKSYmKG49dF8uZ2V0KG4pfHxuLExpKGUsbixhKSl9fWZ1bmN0aW9uIG9yKGUsdCxuLGEsaSxsKXtzd2l0Y2gobil7Y2FzZSJzdHlsZSI6a3MoZSxhLGwpO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGEhPW51bGwpe2lmKHR5cGVvZiBhIT0ib2JqZWN0Inx8ISgiX19odG1sImluIGEpKXRocm93IEVycm9yKHUoNjEpKTtpZihuPWEuX19odG1sLG4hPW51bGwpe2lmKGkuY2hpbGRyZW4hPW51bGwpdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOnR5cGVvZiBhPT0ic3RyaW5nIj9XbihlLGEpOih0eXBlb2YgYT09Im51bWJlciJ8fHR5cGVvZiBhPT0iYmlnaW50IikmJlduKGUsIiIrYSk7YnJlYWs7Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmdGUoInNjcm9sbCIsZSk7YnJlYWs7Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmdGUoInNjcm9sbGVuZCIsZSk7YnJlYWs7Y2FzZSJvbkNsaWNrIjphIT1udWxsJiYoZS5vbmNsaWNrPVVsKTticmVhaztjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6YnJlYWs7Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOmJyZWFrO2RlZmF1bHQ6aWYoIXVzLmhhc093blByb3BlcnR5KG4pKWU6e2lmKG5bMF09PT0ibyImJm5bMV09PT0ibiImJihpPW4uZW5kc1dpdGgoIkNhcHR1cmUiKSx0PW4uc2xpY2UoMixpP24ubGVuZ3RoLTc6dm9pZCAwKSxsPWVbSWVdfHxudWxsLGw9bCE9bnVsbD9sW25dOm51bGwsdHlwZW9mIGw9PSJmdW5jdGlvbiImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGwsaSksdHlwZW9mIGE9PSJmdW5jdGlvbiIpKXt0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmbCE9PW51bGwmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQsYSxpKTticmVhayBlfW4gaW4gZT9lW25dPWE6YT09PSEwP2Uuc2V0QXR0cmlidXRlKG4sIiIpOkxpKGUsbixhKX19fWZ1bmN0aW9uIFZlKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbWciOnRlKCJlcnJvciIsZSksdGUoImxvYWQiLGUpO3ZhciBhPSExLGk9ITEsbDtmb3IobCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkobCkpe3ZhciBvPW5bbF07aWYobyE9bnVsbClzd2l0Y2gobCl7Y2FzZSJzcmMiOmE9ITA7YnJlYWs7Y2FzZSJzcmNTZXQiOmk9ITA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IodSgxMzcsdCkpO2RlZmF1bHQ6ZmUoZSx0LGwsbyxuLG51bGwpfX1pJiZmZShlLHQsInNyY1NldCIsbi5zcmNTZXQsbixudWxsKSxhJiZmZShlLHQsInNyYyIsbi5zcmMsbixudWxsKTtyZXR1cm47Y2FzZSJpbnB1dCI6dGUoImludmFsaWQiLGUpO3ZhciBzPWw9bz1pPW51bGwsZj1udWxsLGs9bnVsbDtmb3IoYSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoYSkpe3ZhciBFPW5bYV07aWYoRSE9bnVsbClzd2l0Y2goYSl7Y2FzZSJuYW1lIjppPUU7YnJlYWs7Y2FzZSJ0eXBlIjpvPUU7YnJlYWs7Y2FzZSJjaGVja2VkIjpmPUU7YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6az1FO2JyZWFrO2Nhc2UidmFsdWUiOmw9RTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6cz1FO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKEUhPW51bGwpdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6ZmUoZSx0LGEsRSxuLG51bGwpfX1ncyhlLGwscyxmLGssbyxpLCExKSxHaShlKTtyZXR1cm47Y2FzZSJzZWxlY3QiOnRlKCJpbnZhbGlkIixlKSxhPW89bD1udWxsO2ZvcihpIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShpKSYmKHM9bltpXSxzIT1udWxsKSlzd2l0Y2goaSl7Y2FzZSJ2YWx1ZSI6bD1zO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPXM7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YT1zO2RlZmF1bHQ6ZmUoZSx0LGkscyxuLG51bGwpfXQ9bCxuPW8sZS5tdWx0aXBsZT0hIWEsdCE9bnVsbD8kbihlLCEhYSx0LCExKTpuIT1udWxsJiYkbihlLCEhYSxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6dGUoImludmFsaWQiLGUpLGw9aT1hPW51bGw7Zm9yKG8gaW4gbilpZihuLmhhc093blByb3BlcnR5KG8pJiYocz1uW29dLHMhPW51bGwpKXN3aXRjaChvKXtjYXNlInZhbHVlIjphPXM7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmk9czticmVhaztjYXNlImNoaWxkcmVuIjpsPXM7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYocyE9bnVsbCl0aHJvdyBFcnJvcih1KDkxKSk7YnJlYWs7ZGVmYXVsdDpmZShlLHQsbyxzLG4sbnVsbCl9eXMoZSxhLGksbCksR2koZSk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IoZiBpbiBuKW4uaGFzT3duUHJvcGVydHkoZikmJihhPW5bZl0sYSE9bnVsbCkmJihmPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI6ZmUoZSx0LGYsYSxuLG51bGwpKTtyZXR1cm47Y2FzZSJkaWFsb2ciOnRlKCJiZWZvcmV0b2dnbGUiLGUpLHRlKCJ0b2dnbGUiLGUpLHRlKCJjYW5jZWwiLGUpLHRlKCJjbG9zZSIsZSk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0Ijp0ZSgibG9hZCIsZSk7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGE9MDthPG1pLmxlbmd0aDthKyspdGUobWlbYV0sZSk7YnJlYWs7Y2FzZSJpbWFnZSI6dGUoImVycm9yIixlKSx0ZSgibG9hZCIsZSk7YnJlYWs7Y2FzZSJkZXRhaWxzIjp0ZSgidG9nZ2xlIixlKTticmVhaztjYXNlImVtYmVkIjpjYXNlInNvdXJjZSI6Y2FzZSJsaW5rIjp0ZSgiZXJyb3IiLGUpLHRlKCJsb2FkIixlKTtjYXNlImFyZWEiOmNhc2UiYmFzZSI6Y2FzZSJiciI6Y2FzZSJjb2wiOmNhc2UiaHIiOmNhc2Uia2V5Z2VuIjpjYXNlIm1ldGEiOmNhc2UicGFyYW0iOmNhc2UidHJhY2siOmNhc2Uid2JyIjpjYXNlIm1lbnVpdGVtIjpmb3IoayBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoaykmJihhPW5ba10sYSE9bnVsbCkpc3dpdGNoKGspe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmZlKGUsdCxrLGEsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZihTYyh0KSl7Zm9yKEUgaW4gbiluLmhhc093blByb3BlcnR5KEUpJiYoYT1uW0VdLGEhPT12b2lkIDAmJm9yKGUsdCxFLGEsbix2b2lkIDApKTtyZXR1cm59fWZvcihzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmKGE9bltzXSxhIT1udWxsJiZmZShlLHQscyxhLG4sbnVsbCkpfWZ1bmN0aW9uIEFoKGUsdCxuLGEpe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImlucHV0Ijp2YXIgaT1udWxsLGw9bnVsbCxvPW51bGwscz1udWxsLGY9bnVsbCxrPW51bGwsRT1udWxsO2Zvcih3IGluIG4pe3ZhciB6PW5bd107aWYobi5oYXNPd25Qcm9wZXJ0eSh3KSYmeiE9bnVsbClzd2l0Y2godyl7Y2FzZSJjaGVja2VkIjpicmVhaztjYXNlInZhbHVlIjpicmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Zj16O2RlZmF1bHQ6YS5oYXNPd25Qcm9wZXJ0eSh3KXx8ZmUoZSx0LHcsbnVsbCxhLHopfX1mb3IodmFyIFMgaW4gYSl7dmFyIHc9YVtTXTtpZih6PW5bU10sYS5oYXNPd25Qcm9wZXJ0eShTKSYmKHchPW51bGx8fHohPW51bGwpKXN3aXRjaChTKXtjYXNlInR5cGUiOmw9dzticmVhaztjYXNlIm5hbWUiOmk9dzticmVhaztjYXNlImNoZWNrZWQiOms9dzticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpFPXc7YnJlYWs7Y2FzZSJ2YWx1ZSI6bz13O2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpzPXc7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYodyE9bnVsbCl0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDp3IT09eiYmZmUoZSx0LFMsdyxhLHopfX1iYyhlLG8scyxmLGssRSxsLGkpO3JldHVybjtjYXNlInNlbGVjdCI6dz1vPXM9Uz1udWxsO2ZvcihsIGluIG4paWYoZj1uW2xdLG4uaGFzT3duUHJvcGVydHkobCkmJmYhPW51bGwpc3dpdGNoKGwpe2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UibXVsdGlwbGUiOnc9ZjtkZWZhdWx0OmEuaGFzT3duUHJvcGVydHkobCl8fGZlKGUsdCxsLG51bGwsYSxmKX1mb3IoaSBpbiBhKWlmKGw9YVtpXSxmPW5baV0sYS5oYXNPd25Qcm9wZXJ0eShpKSYmKGwhPW51bGx8fGYhPW51bGwpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpTPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9bDticmVhaztjYXNlIm11bHRpcGxlIjpvPWw7ZGVmYXVsdDpsIT09ZiYmZmUoZSx0LGksbCxhLGYpfXQ9cyxuPW8sYT13LFMhPW51bGw/JG4oZSwhIW4sUywhMSk6ISFhIT0hIW4mJih0IT1udWxsPyRuKGUsISFuLHQsITApOiRuKGUsISFuLG4/W106IiIsITEpKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6dz1TPW51bGw7Zm9yKHMgaW4gbilpZihpPW5bc10sbi5oYXNPd25Qcm9wZXJ0eShzKSYmaSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkocykpc3dpdGNoKHMpe2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2RlZmF1bHQ6ZmUoZSx0LHMsbnVsbCxhLGkpfWZvcihvIGluIGEpaWYoaT1hW29dLGw9bltvXSxhLmhhc093blByb3BlcnR5KG8pJiYoaSE9bnVsbHx8bCE9bnVsbCkpc3dpdGNoKG8pe2Nhc2UidmFsdWUiOlM9aTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6dz1pO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGkhPW51bGwpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6aSE9PWwmJmZlKGUsdCxvLGksYSxsKX12cyhlLFMsdyk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IodmFyIFYgaW4gbilTPW5bVl0sbi5oYXNPd25Qcm9wZXJ0eShWKSYmUyE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoVikmJihWPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPSExOmZlKGUsdCxWLG51bGwsYSxTKSk7Zm9yKGYgaW4gYSlTPWFbZl0sdz1uW2ZdLGEuaGFzT3duUHJvcGVydHkoZikmJlMhPT13JiYoUyE9bnVsbHx8dyE9bnVsbCkmJihmPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPVMmJnR5cGVvZiBTIT0iZnVuY3Rpb24iJiZ0eXBlb2YgUyE9InN5bWJvbCI6ZmUoZSx0LGYsUyxhLHcpKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgUSBpbiBuKVM9bltRXSxuLmhhc093blByb3BlcnR5KFEpJiZTIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShRKSYmZmUoZSx0LFEsbnVsbCxhLFMpO2ZvcihrIGluIGEpaWYoUz1hW2tdLHc9bltrXSxhLmhhc093blByb3BlcnR5KGspJiZTIT09dyYmKFMhPW51bGx8fHchPW51bGwpKXN3aXRjaChrKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihTIT1udWxsKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmZlKGUsdCxrLFMsYSx3KX1yZXR1cm47ZGVmYXVsdDppZihTYyh0KSl7Zm9yKHZhciBwZSBpbiBuKVM9bltwZV0sbi5oYXNPd25Qcm9wZXJ0eShwZSkmJlMhPT12b2lkIDAmJiFhLmhhc093blByb3BlcnR5KHBlKSYmb3IoZSx0LHBlLHZvaWQgMCxhLFMpO2ZvcihFIGluIGEpUz1hW0VdLHc9bltFXSwhYS5oYXNPd25Qcm9wZXJ0eShFKXx8Uz09PXd8fFM9PT12b2lkIDAmJnc9PT12b2lkIDB8fG9yKGUsdCxFLFMsYSx3KTtyZXR1cm59fWZvcih2YXIgZyBpbiBuKVM9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZTIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShnKSYmZmUoZSx0LGcsbnVsbCxhLFMpO2Zvcih6IGluIGEpUz1hW3pdLHc9blt6XSwhYS5oYXNPd25Qcm9wZXJ0eSh6KXx8Uz09PXd8fFM9PW51bGwmJnc9PW51bGx8fGZlKGUsdCx6LFMsYSx3KX12YXIgcnI9bnVsbCxzcj1udWxsO2Z1bmN0aW9uIGpsKGUpe3JldHVybiBlLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBrZihlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBTZihlLHQpe2lmKGU9PT0wKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiBlPT09MSYmdD09PSJmb3JlaWduT2JqZWN0Ij8wOmV9ZnVuY3Rpb24gdXIoZSx0KXtyZXR1cm4gZT09PSJ0ZXh0YXJlYSJ8fGU9PT0ibm9zY3JpcHQifHx0eXBlb2YgdC5jaGlsZHJlbj09InN0cmluZyJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ibnVtYmVyInx8dHlwZW9mIHQuY2hpbGRyZW49PSJiaWdpbnQifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgZHI9bnVsbDtmdW5jdGlvbiBFaCgpe3ZhciBlPXdpbmRvdy5ldmVudDtyZXR1cm4gZSYmZS50eXBlPT09InBvcHN0YXRlIj9lPT09ZHI/ITE6KGRyPWUsITApOihkcj1udWxsLCExKX12YXIgd2Y9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsUmg9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6dm9pZCAwLHhmPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2U6dm9pZCAwLHpoPXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz09ImZ1bmN0aW9uIj9xdWV1ZU1pY3JvdGFzazp0eXBlb2YgeGY8InUiP2Z1bmN0aW9uKGUpe3JldHVybiB4Zi5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goTmgpfTp3ZjtmdW5jdGlvbiBOaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIGduKGUpe3JldHVybiBlPT09ImhlYWQifWZ1bmN0aW9uIFRmKGUsdCl7dmFyIG49dCxhPTAsaT0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiZsLm5vZGVUeXBlPT09OClpZihuPWwuZGF0YSxuPT09Ii8kIil7aWYoMDxhJiY4PmEpe249YTt2YXIgbz1lLm93bmVyRG9jdW1lbnQ7aWYobiYxJiZ2aShvLmRvY3VtZW50RWxlbWVudCksbiYyJiZ2aShvLmJvZHkpLG4mNClmb3Iobj1vLmhlYWQsdmkobiksbz1uLmZpcnN0Q2hpbGQ7bzspe3ZhciBzPW8ubmV4dFNpYmxpbmcsZj1vLm5vZGVOYW1lO29bTWFdfHxmPT09IlNDUklQVCJ8fGY9PT0iU1RZTEUifHxmPT09IkxJTksiJiZvLnJlbC50b0xvd2VyQ2FzZSgpPT09InN0eWxlc2hlZXQifHxuLnJlbW92ZUNoaWxkKG8pLG89c319aWYoaT09PTApe2UucmVtb3ZlQ2hpbGQobCksQWkodCk7cmV0dXJufWktLX1lbHNlIG49PT0iJCJ8fG49PT0iJD8ifHxuPT09IiQhIj9pKys6YT1uLmNoYXJDb2RlQXQoMCktNDg7ZWxzZSBhPTA7bj1sfXdoaWxlKG4pO0FpKHQpfWZ1bmN0aW9uIGZyKGUpe3ZhciB0PWUuZmlyc3RDaGlsZDtmb3IodCYmdC5ub2RlVHlwZT09PTEwJiYodD10Lm5leHRTaWJsaW5nKTt0Oyl7dmFyIG49dDtzd2l0Y2godD10Lm5leHRTaWJsaW5nLG4ubm9kZU5hbWUpe2Nhc2UiSFRNTCI6Y2FzZSJIRUFEIjpjYXNlIkJPRFkiOmZyKG4pLG1jKG4pO2NvbnRpbnVlO2Nhc2UiU0NSSVBUIjpjYXNlIlNUWUxFIjpjb250aW51ZTtjYXNlIkxJTksiOmlmKG4ucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCIpY29udGludWV9ZS5yZW1vdmVDaGlsZChuKX19ZnVuY3Rpb24gT2goZSx0LG4sYSl7Zm9yKDtlLm5vZGVUeXBlPT09MTspe3ZhciBpPW47aWYoZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKXtpZighYSYmKGUubm9kZU5hbWUhPT0iSU5QVVQifHxlLnR5cGUhPT0iaGlkZGVuIikpYnJlYWt9ZWxzZSBpZihhKXtpZighZVtNYV0pc3dpdGNoKHQpe2Nhc2UibWV0YSI6aWYoIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2Nhc2UibGluayI6aWYobD1lLmdldEF0dHJpYnV0ZSgicmVsIiksbD09PSJzdHlsZXNoZWV0IiYmZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO2lmKGwhPT1pLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShpLmhyZWY9PW51bGx8fGkuaHJlZj09PSIiP251bGw6aS5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0oaS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmkuY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShpLnRpdGxlPT1udWxsP251bGw6aS50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZihsPWUuZ2V0QXR0cmlidXRlKCJzcmMiKSwobCE9PShpLnNyYz09bnVsbD9udWxsOmkuc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShpLnR5cGU9PW51bGw/bnVsbDppLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShpLmNyb3NzT3JpZ2luPT1udWxsP251bGw6aS5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2UgaWYodD09PSJpbnB1dCImJmUudHlwZT09PSJoaWRkZW4iKXt2YXIgbD1pLm5hbWU9PW51bGw/bnVsbDoiIitpLm5hbWU7aWYoaS50eXBlPT09ImhpZGRlbiImJmUuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1sKXJldHVybiBlfWVsc2UgcmV0dXJuIGU7aWYoZT1SdChlLm5leHRTaWJsaW5nKSxlPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBEaChlLHQsbil7aWYodD09PSIiKXJldHVybiBudWxsO2Zvcig7ZS5ub2RlVHlwZSE9PTM7KWlmKChlLm5vZGVUeXBlIT09MXx8ZS5ub2RlTmFtZSE9PSJJTlBVVCJ8fGUudHlwZSE9PSJoaWRkZW4iKSYmIW58fChlPVJ0KGUubmV4dFNpYmxpbmcpLGU9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBwcihlKXtyZXR1cm4gZS5kYXRhPT09IiQhInx8ZS5kYXRhPT09IiQ/IiYmZS5vd25lckRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUifWZ1bmN0aW9uIE1oKGUsdCl7dmFyIG49ZS5vd25lckRvY3VtZW50O2lmKGUuZGF0YSE9PSIkPyJ8fG4ucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdCgpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKSxlLl9yZWFjdFJldHJ5PWF9fWZ1bmN0aW9uIFJ0KGUpe2Zvcig7ZSE9bnVsbDtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWUuZGF0YSx0PT09IiQifHx0PT09IiQhInx8dD09PSIkPyJ8fHQ9PT0iRiEifHx0PT09IkYiKWJyZWFrO2lmKHQ9PT0iLyQiKXJldHVybiBudWxsfX1yZXR1cm4gZX12YXIgX3I9bnVsbDtmdW5jdGlvbiBBZihlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OCl7dmFyIG49ZS5kYXRhO2lmKG49PT0iJCJ8fG49PT0iJCEifHxuPT09IiQ/Iil7aWYodD09PTApcmV0dXJuIGU7dC0tfWVsc2Ugbj09PSIvJCImJnQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIEVmKGUsdCxuKXtzd2l0Y2godD1qbChuKSxlKXtjYXNlImh0bWwiOmlmKGU9dC5kb2N1bWVudEVsZW1lbnQsIWUpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKGU9dC5oZWFkLCFlKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZihlPXQuYm9keSwhZSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gdmkoZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO21jKGUpfXZhciBUdD1uZXcgTWFwLFJmPW5ldyBTZXQ7ZnVuY3Rpb24gSGwoZSl7cmV0dXJuIHR5cGVvZiBlLmdldFJvb3ROb2RlPT0iZnVuY3Rpb24iP2UuZ2V0Um9vdE5vZGUoKTplLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH12YXIgV3Q9cS5kO3EuZD17ZjpDaCxyOnFoLEQ6VWgsQzpqaCxMOkhoLG06QmgsWDpZaCxTOkxoLE06R2h9O2Z1bmN0aW9uIENoKCl7dmFyIGU9V3QuZigpLHQ9emwoKTtyZXR1cm4gZXx8dH1mdW5jdGlvbiBxaChlKXt2YXIgdD1abihlKTt0IT09bnVsbCYmdC50YWc9PT01JiZ0LnR5cGU9PT0iZm9ybSI/S3UodCk6V3QucihlKX12YXIgVGE9dHlwZW9mIGRvY3VtZW50PiJ1Ij9udWxsOmRvY3VtZW50O2Z1bmN0aW9uIHpmKGUsdCxuKXt2YXIgYT1UYTtpZihhJiZ0eXBlb2YgdD09InN0cmluZyImJnQpe3ZhciBpPXZ0KHQpO2k9J2xpbmtbcmVsPSInK2UrJyJdW2hyZWY9IicraSsnIl0nLHR5cGVvZiBuPT0ic3RyaW5nIiYmKGkrPSdbY3Jvc3NvcmlnaW49IicrbisnIl0nKSxSZi5oYXMoaSl8fChSZi5hZGQoaSksZT17cmVsOmUsY3Jvc3NPcmlnaW46bixocmVmOnR9LGEucXVlcnlTZWxlY3RvcihpKT09PW51bGwmJih0PWEuY3JlYXRlRWxlbWVudCgibGluayIpLFZlKHQsImxpbmsiLGUpLExlKHQpLGEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBVaChlKXtXdC5EKGUpLHpmKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9ZnVuY3Rpb24gamgoZSx0KXtXdC5DKGUsdCksemYoInByZWNvbm5lY3QiLGUsdCl9ZnVuY3Rpb24gSGgoZSx0LG4pe1d0LkwoZSx0LG4pO3ZhciBhPVRhO2lmKGEmJmUmJnQpe3ZhciBpPSdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSInK3Z0KHQpKyciXSc7dD09PSJpbWFnZSImJm4mJm4uaW1hZ2VTcmNTZXQ/KGkrPSdbaW1hZ2VzcmNzZXQ9IicrdnQobi5pbWFnZVNyY1NldCkrJyJdJyx0eXBlb2Ygbi5pbWFnZVNpemVzPT0ic3RyaW5nIiYmKGkrPSdbaW1hZ2VzaXplcz0iJyt2dChuLmltYWdlU2l6ZXMpKyciXScpKTppKz0nW2hyZWY9IicrdnQoZSkrJyJdJzt2YXIgbD1pO3N3aXRjaCh0KXtjYXNlInN0eWxlIjpsPUFhKGUpO2JyZWFrO2Nhc2Uic2NyaXB0IjpsPUVhKGUpfVR0LmhhcyhsKXx8KGU9Tyh7cmVsOiJwcmVsb2FkIixocmVmOnQ9PT0iaW1hZ2UiJiZuJiZuLmltYWdlU3JjU2V0P3ZvaWQgMDplLGFzOnR9LG4pLFR0LnNldChsLGUpLGEucXVlcnlTZWxlY3RvcihpKSE9PW51bGx8fHQ9PT0ic3R5bGUiJiZhLnF1ZXJ5U2VsZWN0b3IoeWkobCkpfHx0PT09InNjcmlwdCImJmEucXVlcnlTZWxlY3RvcihiaShsKSl8fCh0PWEuY3JlYXRlRWxlbWVudCgibGluayIpLFZlKHQsImxpbmsiLGUpLExlKHQpLGEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBCaChlLHQpe1d0Lm0oZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT10JiZ0eXBlb2YgdC5hcz09InN0cmluZyI/dC5hczoic2NyaXB0IixpPSdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdW2FzPSInK3Z0KGEpKyciXVtocmVmPSInK3Z0KGUpKyciXScsbD1pO3N3aXRjaChhKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6bD1FYShlKX1pZighVHQuaGFzKGwpJiYoZT1PKHtyZWw6Im1vZHVsZXByZWxvYWQiLGhyZWY6ZX0sdCksVHQuc2V0KGwsZSksbi5xdWVyeVNlbGVjdG9yKGkpPT09bnVsbCkpe3N3aXRjaChhKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYobi5xdWVyeVNlbGVjdG9yKGJpKGwpKSlyZXR1cm59YT1uLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxWZShhLCJsaW5rIixlKSxMZShhKSxuLmhlYWQuYXBwZW5kQ2hpbGQoYSl9fX1mdW5jdGlvbiBMaChlLHQsbil7V3QuUyhlLHQsbik7dmFyIGE9VGE7aWYoYSYmZSl7dmFyIGk9Vm4oYSkuaG9pc3RhYmxlU3R5bGVzLGw9QWEoZSk7dD10fHwiZGVmYXVsdCI7dmFyIG89aS5nZXQobCk7aWYoIW8pe3ZhciBzPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihvPWEucXVlcnlTZWxlY3Rvcih5aShsKSkpcy5sb2FkaW5nPTU7ZWxzZXtlPU8oe3JlbDoic3R5bGVzaGVldCIsaHJlZjplLCJkYXRhLXByZWNlZGVuY2UiOnR9LG4pLChuPVR0LmdldChsKSkmJmhyKGUsbik7dmFyIGY9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtMZShmKSxWZShmLCJsaW5rIixlKSxmLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGssRSl7Zi5vbmxvYWQ9ayxmLm9uZXJyb3I9RX0pLGYuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtzLmxvYWRpbmd8PTF9KSxmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbigpe3MubG9hZGluZ3w9Mn0pLHMubG9hZGluZ3w9NCxCbChvLHQsYSl9bz17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6byxjb3VudDoxLHN0YXRlOnN9LGkuc2V0KGwsbyl9fX1mdW5jdGlvbiBZaChlLHQpe1d0LlgoZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT1WbihuKS5ob2lzdGFibGVTY3JpcHRzLGk9RWEoZSksbD1hLmdldChpKTtsfHwobD1uLnF1ZXJ5U2VsZWN0b3IoYmkoaSkpLGx8fChlPU8oe3NyYzplLGFzeW5jOiEwfSx0KSwodD1UdC5nZXQoaSkpJiZtcihlLHQpLGw9bi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxMZShsKSxWZShsLCJsaW5rIixlKSxuLmhlYWQuYXBwZW5kQ2hpbGQobCkpLGw9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bCxjb3VudDoxLHN0YXRlOm51bGx9LGEuc2V0KGksbCkpfX1mdW5jdGlvbiBHaChlLHQpe1d0Lk0oZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT1WbihuKS5ob2lzdGFibGVTY3JpcHRzLGk9RWEoZSksbD1hLmdldChpKTtsfHwobD1uLnF1ZXJ5U2VsZWN0b3IoYmkoaSkpLGx8fChlPU8oe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PVR0LmdldChpKSkmJm1yKGUsdCksbD1uLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLExlKGwpLFZlKGwsImxpbmsiLGUpLG4uaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sYS5zZXQoaSxsKSl9fWZ1bmN0aW9uIE5mKGUsdCxuLGEpe3ZhciBpPShpPUsuY3VycmVudCk/SGwoaSk6bnVsbDtpZighaSl0aHJvdyBFcnJvcih1KDQ0NikpO3N3aXRjaChlKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiB0eXBlb2Ygbi5wcmVjZWRlbmNlPT0ic3RyaW5nIiYmdHlwZW9mIG4uaHJlZj09InN0cmluZyI/KHQ9QWEobi5ocmVmKSxuPVZuKGkpLmhvaXN0YWJsZVN0eWxlcyxhPW4uZ2V0KHQpLGF8fChhPXt0eXBlOiJzdHlsZSIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQsYSkpLGEpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZSJsaW5rIjppZihuLnJlbD09PSJzdHlsZXNoZWV0IiYmdHlwZW9mIG4uaHJlZj09InN0cmluZyImJnR5cGVvZiBuLnByZWNlZGVuY2U9PSJzdHJpbmciKXtlPUFhKG4uaHJlZik7dmFyIGw9Vm4oaSkuaG9pc3RhYmxlU3R5bGVzLG89bC5nZXQoZSk7aWYob3x8KGk9aS5vd25lckRvY3VtZW50fHxpLG89e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGwuc2V0KGUsbyksKGw9aS5xdWVyeVNlbGVjdG9yKHlpKGUpKSkmJiFsLl9wJiYoby5pbnN0YW5jZT1sLG8uc3RhdGUubG9hZGluZz01KSxUdC5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LFR0LnNldChlLG4pLGx8fFFoKGksZSxuLG8uc3RhdGUpKSksdCYmYT09PW51bGwpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gb31pZih0JiZhIT09bnVsbCl0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLG49bi5zcmMsdHlwZW9mIG49PSJzdHJpbmciJiZ0JiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIiYmdHlwZW9mIHQhPSJzeW1ib2wiPyh0PUVhKG4pLG49Vm4oaSkuaG9pc3RhYmxlU2NyaXB0cyxhPW4uZ2V0KHQpLGF8fChhPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LGEpKSxhKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDQsZSkpfX1mdW5jdGlvbiBBYShlKXtyZXR1cm4naHJlZj0iJyt2dChlKSsnIid9ZnVuY3Rpb24geWkoZSl7cmV0dXJuJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bJytlKyJdIn1mdW5jdGlvbiBPZihlKXtyZXR1cm4gTyh7fSxlLHsiZGF0YS1wcmVjZWRlbmNlIjplLnByZWNlZGVuY2UscHJlY2VkZW5jZTpudWxsfSl9ZnVuY3Rpb24gUWgoZSx0LG4sYSl7ZS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrdCsiXSIpP2EubG9hZGluZz0xOih0PWUuY3JlYXRlRWxlbWVudCgibGluayIpLGEucHJlbG9hZD10LHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtyZXR1cm4gYS5sb2FkaW5nfD0xfSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZnVuY3Rpb24oKXtyZXR1cm4gYS5sb2FkaW5nfD0yfSksVmUodCwibGluayIsbiksTGUodCksZS5oZWFkLmFwcGVuZENoaWxkKHQpKX1mdW5jdGlvbiBFYShlKXtyZXR1cm4nW3NyYz0iJyt2dChlKSsnIl0nfWZ1bmN0aW9uIGJpKGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIERmKGUsdCxuKXtpZih0LmNvdW50KyssdC5pbnN0YW5jZT09PW51bGwpc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3Z0KG4uaHJlZikrJyJdJyk7aWYoYSlyZXR1cm4gdC5pbnN0YW5jZT1hLExlKGEpLGE7dmFyIGk9Tyh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gYT0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLExlKGEpLFZlKGEsInN0eWxlIixpKSxCbChhLG4ucHJlY2VkZW5jZSxlKSx0Lmluc3RhbmNlPWE7Y2FzZSJzdHlsZXNoZWV0IjppPUFhKG4uaHJlZik7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKHlpKGkpKTtpZihsKXJldHVybiB0LnN0YXRlLmxvYWRpbmd8PTQsdC5pbnN0YW5jZT1sLExlKGwpLGw7YT1PZihuKSwoaT1UdC5nZXQoaSkpJiZocihhLGkpLGw9KGUub3duZXJEb2N1bWVudHx8ZSkuY3JlYXRlRWxlbWVudCgibGluayIpLExlKGwpO3ZhciBvPWw7cmV0dXJuIG8uX3A9bmV3IFByb21pc2UoZnVuY3Rpb24ocyxmKXtvLm9ubG9hZD1zLG8ub25lcnJvcj1mfSksVmUobCwibGluayIsYSksdC5zdGF0ZS5sb2FkaW5nfD00LEJsKGwsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9bDtjYXNlInNjcmlwdCI6cmV0dXJuIGw9RWEobi5zcmMpLChpPWUucXVlcnlTZWxlY3RvcihiaShsKSkpPyh0Lmluc3RhbmNlPWksTGUoaSksaSk6KGE9biwoaT1UdC5nZXQobCkpJiYoYT1PKHt9LG4pLG1yKGEsaSkpLGU9ZS5vd25lckRvY3VtZW50fHxlLGk9ZS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxMZShpKSxWZShpLCJsaW5rIixhKSxlLmhlYWQuYXBwZW5kQ2hpbGQoaSksdC5pbnN0YW5jZT1pKTtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9ZWxzZSB0LnR5cGU9PT0ic3R5bGVzaGVldCImJih0LnN0YXRlLmxvYWRpbmcmNCk9PT0wJiYoYT10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxCbChhLG4ucHJlY2VkZW5jZSxlKSk7cmV0dXJuIHQuaW5zdGFuY2V9ZnVuY3Rpb24gQmwoZSx0LG4pe2Zvcih2YXIgYT1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdJyksaT1hLmxlbmd0aD9hW2EubGVuZ3RoLTFdOm51bGwsbD1pLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTtpZihzLmRhdGFzZXQucHJlY2VkZW5jZT09PXQpbD1zO2Vsc2UgaWYobCE9PWkpYnJlYWt9bD9sLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbC5uZXh0U2libGluZyk6KHQ9bi5ub2RlVHlwZT09PTk/bi5oZWFkOm4sdC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpKX1mdW5jdGlvbiBocihlLHQpe2UuY3Jvc3NPcmlnaW49PW51bGwmJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLGUucmVmZXJyZXJQb2xpY3k9PW51bGwmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLGUudGl0bGU9PW51bGwmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIG1yKGUsdCl7ZS5jcm9zc09yaWdpbj09bnVsbCYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksZS5yZWZlcnJlclBvbGljeT09bnVsbCYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksZS5pbnRlZ3JpdHk9PW51bGwmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIExsPW51bGw7ZnVuY3Rpb24gTWYoZSx0LG4pe2lmKExsPT09bnVsbCl7dmFyIGE9bmV3IE1hcCxpPUxsPW5ldyBNYXA7aS5zZXQobixhKX1lbHNlIGk9TGwsYT1pLmdldChuKSxhfHwoYT1uZXcgTWFwLGkuc2V0KG4sYSkpO2lmKGEuaGFzKGUpKXJldHVybiBhO2ZvcihhLnNldChlLG51bGwpLG49bi5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSxpPTA7aTxuLmxlbmd0aDtpKyspe3ZhciBsPW5baV07aWYoIShsW01hXXx8bFtKZV18fGU9PT0ibGluayImJmwuZ2V0QXR0cmlidXRlKCJyZWwiKT09PSJzdHlsZXNoZWV0IikmJmwubmFtZXNwYWNlVVJJIT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIil7dmFyIG89bC5nZXRBdHRyaWJ1dGUodCl8fCIiO289ZStvO3ZhciBzPWEuZ2V0KG8pO3M/cy5wdXNoKGwpOmEuc2V0KG8sW2xdKX19cmV0dXJuIGF9ZnVuY3Rpb24gQ2YoZSx0LG4pe2U9ZS5vd25lckRvY3VtZW50fHxlLGUuaGVhZC5pbnNlcnRCZWZvcmUobix0PT09InRpdGxlIj9lLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpOm51bGwpfWZ1bmN0aW9uIFhoKGUsdCxuKXtpZihuPT09MXx8dC5pdGVtUHJvcCE9bnVsbClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZih0eXBlb2YgdC5wcmVjZWRlbmNlIT0ic3RyaW5nInx8dHlwZW9mIHQuaHJlZiE9InN0cmluZyJ8fHQuaHJlZj09PSIiKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYodHlwZW9mIHQucmVsIT0ic3RyaW5nInx8dHlwZW9mIHQuaHJlZiE9InN0cmluZyJ8fHQuaHJlZj09PSIifHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO3JldHVybiB0LnJlbD09PSJzdHlsZXNoZWV0Ij8oZT10LmRpc2FibGVkLHR5cGVvZiB0LnByZWNlZGVuY2U9PSJzdHJpbmciJiZlPT1udWxsKTohMDtjYXNlInNjcmlwdCI6aWYodC5hc3luYyYmdHlwZW9mIHQuYXN5bmMhPSJmdW5jdGlvbiImJnR5cGVvZiB0LmFzeW5jIT0ic3ltYm9sIiYmIXQub25Mb2FkJiYhdC5vbkVycm9yJiZ0LnNyYyYmdHlwZW9mIHQuc3JjPT0ic3RyaW5nIilyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBxZihlKXtyZXR1cm4hKGUudHlwZT09PSJzdHlsZXNoZWV0IiYmKGUuc3RhdGUubG9hZGluZyYzKT09PTApfXZhciBraT1udWxsO2Z1bmN0aW9uIFpoKCl7fWZ1bmN0aW9uIFZoKGUsdCxuKXtpZihraT09PW51bGwpdGhyb3cgRXJyb3IodSg0NzUpKTt2YXIgYT1raTtpZih0LnR5cGU9PT0ic3R5bGVzaGVldCImJih0eXBlb2Ygbi5tZWRpYSE9InN0cmluZyJ8fG1hdGNoTWVkaWEobi5tZWRpYSkubWF0Y2hlcyE9PSExKSYmKHQuc3RhdGUubG9hZGluZyY0KT09PTApe2lmKHQuaW5zdGFuY2U9PT1udWxsKXt2YXIgaT1BYShuLmhyZWYpLGw9ZS5xdWVyeVNlbGVjdG9yKHlpKGkpKTtpZihsKXtlPWwuX3AsZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmdHlwZW9mIGUudGhlbj09ImZ1bmN0aW9uIiYmKGEuY291bnQrKyxhPVlsLmJpbmQoYSksZS50aGVuKGEsYSkpLHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPWwsTGUobCk7cmV0dXJufWw9ZS5vd25lckRvY3VtZW50fHxlLG49T2YobiksKGk9VHQuZ2V0KGkpKSYmaHIobixpKSxsPWwuY3JlYXRlRWxlbWVudCgibGluayIpLExlKGwpO3ZhciBvPWw7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihzLGYpe28ub25sb2FkPXMsby5vbmVycm9yPWZ9KSxWZShsLCJsaW5rIixuKSx0Lmluc3RhbmNlPWx9YS5zdHlsZXNoZWV0cz09PW51bGwmJihhLnN0eWxlc2hlZXRzPW5ldyBNYXApLGEuc3R5bGVzaGVldHMuc2V0KHQsZSksKGU9dC5zdGF0ZS5wcmVsb2FkKSYmKHQuc3RhdGUubG9hZGluZyYzKT09PTAmJihhLmNvdW50KyssdD1ZbC5iaW5kKGEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdCkpfX1mdW5jdGlvbiBLaCgpe2lmKGtpPT09bnVsbCl0aHJvdyBFcnJvcih1KDQ3NSkpO3ZhciBlPWtpO3JldHVybiBlLnN0eWxlc2hlZXRzJiZlLmNvdW50PT09MCYmZ3IoZSxlLnN0eWxlc2hlZXRzKSwwPGUuY291bnQ/ZnVuY3Rpb24odCl7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGUuc3R5bGVzaGVldHMmJmdyKGUsZS5zdHlsZXNoZWV0cyksZS51bnN1c3BlbmQpe3ZhciBhPWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsYSgpfX0sNmU0KTtyZXR1cm4gZS51bnN1c3BlbmQ9dCxmdW5jdGlvbigpe2UudW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KG4pfX06bnVsbH1mdW5jdGlvbiBZbCgpe2lmKHRoaXMuY291bnQtLSx0aGlzLmNvdW50PT09MCl7aWYodGhpcy5zdHlsZXNoZWV0cylncih0aGlzLHRoaXMuc3R5bGVzaGVldHMpO2Vsc2UgaWYodGhpcy51bnN1c3BlbmQpe3ZhciBlPXRoaXMudW5zdXNwZW5kO3RoaXMudW5zdXNwZW5kPW51bGwsZSgpfX19dmFyIEdsPW51bGw7ZnVuY3Rpb24gZ3IoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsZS51bnN1c3BlbmQhPT1udWxsJiYoZS5jb3VudCsrLEdsPW5ldyBNYXAsdC5mb3JFYWNoKEpoLGUpLEdsPW51bGwsWWwuY2FsbChlKSl9ZnVuY3Rpb24gSmgoZSx0KXtpZighKHQuc3RhdGUubG9hZGluZyY0KSl7dmFyIG49R2wuZ2V0KGUpO2lmKG4pdmFyIGE9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsR2wuc2V0KGUsbik7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxsPTA7bDxpLmxlbmd0aDtsKyspe3ZhciBvPWlbbF07KG8ubm9kZU5hbWU9PT0iTElOSyJ8fG8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpIT09Im5vdCBhbGwiKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLGE9byl9YSYmbi5zZXQobnVsbCxhKX1pPXQuaW5zdGFuY2Usbz1pLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksbD1uLmdldChvKXx8YSxsPT09YSYmbi5zZXQobnVsbCxpKSxuLnNldChvLGkpLHRoaXMuY291bnQrKyxhPVlsLmJpbmQodGhpcyksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhKSxpLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixhKSxsP2wucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxsLm5leHRTaWJsaW5nKTooZT1lLm5vZGVUeXBlPT09OT9lLmhlYWQ6ZSxlLmluc2VydEJlZm9yZShpLGUuZmlyc3RDaGlsZCkpLHQuc3RhdGUubG9hZGluZ3w9NH19dmFyIFNpPXskJHR5cGVvZjpvZSxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpHLF9jdXJyZW50VmFsdWUyOkcsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uICRoKGUsdCxuLGEsaSxsLG8scyl7dGhpcy50YWc9MSx0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5uZXh0PXRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PXRoaXMuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXhwaXJhdGlvblRpbWVzPWZjKC0xKSx0aGlzLmVudGFuZ2xlZExhbmVzPXRoaXMuc2hlbGxTdXNwZW5kQ291bnRlcj10aGlzLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMud2FybUxhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1mYygwKSx0aGlzLmhpZGRlblVwZGF0ZXM9ZmMobnVsbCksdGhpcy5pZGVudGlmaWVyUHJlZml4PWEsdGhpcy5vblVuY2F1Z2h0RXJyb3I9aSx0aGlzLm9uQ2F1Z2h0RXJyb3I9bCx0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1vLHRoaXMucG9vbGVkQ2FjaGU9bnVsbCx0aGlzLnBvb2xlZENhY2hlTGFuZXM9MCx0aGlzLmZvcm1TdGF0ZT1zLHRoaXMuaW5jb21wbGV0ZVRyYW5zaXRpb25zPW5ldyBNYXB9ZnVuY3Rpb24gVWYoZSx0LG4sYSxpLGwsbyxzLGYsayxFLHope3JldHVybiBlPW5ldyAkaChlLHQsbixvLHMsZixrLHopLHQ9MSxsPT09ITAmJih0fD0yNCksbD1kdCgzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9bCxsLnN0YXRlTm9kZT1lLHQ9RmMoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxsLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6YSxpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSx0byhsKSxlfWZ1bmN0aW9uIGpmKGUpe3JldHVybiBlPyhlPWlhLGUpOmlhfWZ1bmN0aW9uIEhmKGUsdCxuLGEsaSxsKXtpPWpmKGkpLGEuY29udGV4dD09PW51bGw/YS5jb250ZXh0PWk6YS5wZW5kaW5nQ29udGV4dD1pLGE9YW4odCksYS5wYXlsb2FkPXtlbGVtZW50Om59LGw9bD09PXZvaWQgMD9udWxsOmwsbCE9PW51bGwmJihhLmNhbGxiYWNrPWwpLG49bG4oZSxhLHQpLG4hPT1udWxsJiYobXQobixlLHQpLFBhKG4sZSx0KSl9ZnVuY3Rpb24gQmYoZSx0KXtpZihlPWUubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmZS5kZWh5ZHJhdGVkIT09bnVsbCl7dmFyIG49ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9biE9PTAmJm48dD9uOnR9fWZ1bmN0aW9uIHZyKGUsdCl7QmYoZSx0KSwoZT1lLmFsdGVybmF0ZSkmJkJmKGUsdCl9ZnVuY3Rpb24gTGYoZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9YWEoZSw2NzEwODg2NCk7dCE9PW51bGwmJm10KHQsZSw2NzEwODg2NCksdnIoZSw2NzEwODg2NCl9fXZhciBRbD0hMDtmdW5jdGlvbiBXaChlLHQsbixhKXt2YXIgaT1BLlQ7QS5UPW51bGw7dmFyIGw9cS5wO3RyeXtxLnA9Mix5cihlLHQsbixhKX1maW5hbGx5e3EucD1sLEEuVD1pfX1mdW5jdGlvbiBGaChlLHQsbixhKXt2YXIgaT1BLlQ7QS5UPW51bGw7dmFyIGw9cS5wO3RyeXtxLnA9OCx5cihlLHQsbixhKX1maW5hbGx5e3EucD1sLEEuVD1pfX1mdW5jdGlvbiB5cihlLHQsbixhKXtpZihRbCl7dmFyIGk9YnIoYSk7aWYoaT09PW51bGwpY3IoZSx0LGEsWGwsbiksR2YoZSxhKTtlbHNlIGlmKEloKGksZSx0LG4sYSkpYS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEdmKGUsYSksdCY0JiYtMTxQaC5pbmRleE9mKGUpKXtmb3IoO2khPT1udWxsOyl7dmFyIGw9Wm4oaSk7aWYobCE9PW51bGwpc3dpdGNoKGwudGFnKXtjYXNlIDM6aWYobD1sLnN0YXRlTm9kZSxsLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPXduKGwucGVuZGluZ0xhbmVzKTtpZihvIT09MCl7dmFyIHM9bDtmb3Iocy5wZW5kaW5nTGFuZXN8PTIscy5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIGY9MTw8MzEtc3Qobyk7cy5lbnRhbmdsZW1lbnRzWzFdfD1mLG8mPX5mfUN0KGwpLChzZSY2KT09PTAmJihFbD16dCgpKzUwMCxoaSgwKSl9fWJyZWFrO2Nhc2UgMTM6cz1hYShsLDIpLHMhPT1udWxsJiZtdChzLGwsMiksemwoKSx2cihsLDIpfWlmKGw9YnIoYSksbD09PW51bGwmJmNyKGUsdCxhLFhsLG4pLGw9PT1pKWJyZWFrO2k9bH1pIT09bnVsbCYmYS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIGNyKGUsdCxhLG51bGwsbil9fWZ1bmN0aW9uIGJyKGUpe3JldHVybiBlPXhjKGUpLGtyKGUpfXZhciBYbD1udWxsO2Z1bmN0aW9uIGtyKGUpe2lmKFhsPW51bGwsZT1YbihlKSxlIT09bnVsbCl7dmFyIHQ9eChlKTtpZih0PT09bnVsbCllPW51bGw7ZWxzZXt2YXIgbj10LnRhZztpZihuPT09MTMpe2lmKGU9Tih0KSxlIT09bnVsbClyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZihuPT09Myl7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gdC50YWc9PT0zP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtlPW51bGx9ZWxzZSB0IT09ZSYmKGU9bnVsbCl9fXJldHVybiBYbD1lLG51bGx9ZnVuY3Rpb24gWWYoZSl7c3dpdGNoKGUpe2Nhc2UiYmVmb3JldG9nZ2xlIjpjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJyZXNpemUiOmNhc2Uic2Vla2VkIjpjYXNlInN1Ym1pdCI6Y2FzZSJ0b2dnbGUiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAyO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG91Y2htb3ZlIjpjYXNlIndoZWVsIjpjYXNlIm1vdXNlZW50ZXIiOmNhc2UibW91c2VsZWF2ZSI6Y2FzZSJwb2ludGVyZW50ZXIiOmNhc2UicG9pbnRlcmxlYXZlIjpyZXR1cm4gODtjYXNlIm1lc3NhZ2UiOnN3aXRjaChqcCgpKXtjYXNlIGVzOnJldHVybiAyO2Nhc2UgdHM6cmV0dXJuIDg7Y2FzZSBVaTpjYXNlIEhwOnJldHVybiAzMjtjYXNlIG5zOnJldHVybiAyNjg0MzU0NTY7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBTcj0hMSx2bj1udWxsLHluPW51bGwsYm49bnVsbCx3aT1uZXcgTWFwLHhpPW5ldyBNYXAsa249W10sUGg9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBHZihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOnZuPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjp5bj1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0Ijpibj1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6d2kuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6eGkuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gVGkoZSx0LG4sYSxpLGwpe3JldHVybiBlPT09bnVsbHx8ZS5uYXRpdmVFdmVudCE9PWw/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6YSxuYXRpdmVFdmVudDpsLHRhcmdldENvbnRhaW5lcnM6W2ldfSx0IT09bnVsbCYmKHQ9Wm4odCksdCE9PW51bGwmJkxmKHQpKSxlKTooZS5ldmVudFN5c3RlbUZsYWdzfD1hLHQ9ZS50YXJnZXRDb250YWluZXJzLGkhPT1udWxsJiZ0LmluZGV4T2YoaSk9PT0tMSYmdC5wdXNoKGkpLGUpfWZ1bmN0aW9uIEloKGUsdCxuLGEsaSl7c3dpdGNoKHQpe2Nhc2UiZm9jdXNpbiI6cmV0dXJuIHZuPVRpKHZuLGUsdCxuLGEsaSksITA7Y2FzZSJkcmFnZW50ZXIiOnJldHVybiB5bj1UaSh5bixlLHQsbixhLGkpLCEwO2Nhc2UibW91c2VvdmVyIjpyZXR1cm4gYm49VGkoYm4sZSx0LG4sYSxpKSwhMDtjYXNlInBvaW50ZXJvdmVyIjp2YXIgbD1pLnBvaW50ZXJJZDtyZXR1cm4gd2kuc2V0KGwsVGkod2kuZ2V0KGwpfHxudWxsLGUsdCxuLGEsaSkpLCEwO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOnJldHVybiBsPWkucG9pbnRlcklkLHhpLnNldChsLFRpKHhpLmdldChsKXx8bnVsbCxlLHQsbixhLGkpKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBRZihlKXt2YXIgdD1YbihlLnRhcmdldCk7aWYodCE9PW51bGwpe3ZhciBuPXgodCk7aWYobiE9PW51bGwpe2lmKHQ9bi50YWcsdD09PTEzKXtpZih0PU4obiksdCE9PW51bGwpe2UuYmxvY2tlZE9uPXQsVnAoZS5wcmlvcml0eSxmdW5jdGlvbigpe2lmKG4udGFnPT09MTMpe3ZhciBhPWh0KCk7YT1wYyhhKTt2YXIgaT1hYShuLGEpO2khPT1udWxsJiZtdChpLG4sYSksdnIobixhKX19KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPW4udGFnPT09Mz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBabChlKXtpZihlLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49YnIoZS5uYXRpdmVFdmVudCk7aWYobj09PW51bGwpe249ZS5uYXRpdmVFdmVudDt2YXIgYT1uZXcgbi5jb25zdHJ1Y3RvcihuLnR5cGUsbik7d2M9YSxuLnRhcmdldC5kaXNwYXRjaEV2ZW50KGEpLHdjPW51bGx9ZWxzZSByZXR1cm4gdD1abihuKSx0IT09bnVsbCYmTGYodCksZS5ibG9ja2VkT249biwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gWGYoZSx0LG4pe1psKGUpJiZuLmRlbGV0ZSh0KX1mdW5jdGlvbiBlbSgpe1NyPSExLHZuIT09bnVsbCYmWmwodm4pJiYodm49bnVsbCkseW4hPT1udWxsJiZabCh5bikmJih5bj1udWxsKSxibiE9PW51bGwmJlpsKGJuKSYmKGJuPW51bGwpLHdpLmZvckVhY2goWGYpLHhpLmZvckVhY2goWGYpfWZ1bmN0aW9uIFZsKGUsdCl7ZS5ibG9ja2VkT249PT10JiYoZS5ibG9ja2VkT249bnVsbCxTcnx8KFNyPSEwLGMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhjLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGVtKSkpfXZhciBLbD1udWxsO2Z1bmN0aW9uIFpmKGUpe0tsIT09ZSYmKEtsPWUsYy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZnVuY3Rpb24oKXtLbD09PWUmJihLbD1udWxsKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTMpe3ZhciBuPWVbdF0sYT1lW3QrMV0saT1lW3QrMl07aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpe2lmKGtyKGF8fG4pPT09bnVsbCljb250aW51ZTticmVha312YXIgbD1abihuKTtsIT09bnVsbCYmKGUuc3BsaWNlKHQsMyksdC09MyxrbyhsLHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOmF9LGEsaSkpfX0pKX1mdW5jdGlvbiBBaShlKXtmdW5jdGlvbiB0KGYpe3JldHVybiBWbChmLGUpfXZuIT09bnVsbCYmVmwodm4sZSkseW4hPT1udWxsJiZWbCh5bixlKSxibiE9PW51bGwmJlZsKGJuLGUpLHdpLmZvckVhY2godCkseGkuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGtuLmxlbmd0aDtuKyspe3ZhciBhPWtuW25dO2EuYmxvY2tlZE9uPT09ZSYmKGEuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxrbi5sZW5ndGgmJihuPWtuWzBdLG4uYmxvY2tlZE9uPT09bnVsbCk7KVFmKG4pLG4uYmxvY2tlZE9uPT09bnVsbCYma24uc2hpZnQoKTtpZihuPShlLm93bmVyRG9jdW1lbnR8fGUpLiQkcmVhY3RGb3JtUmVwbGF5LG4hPW51bGwpZm9yKGE9MDthPG4ubGVuZ3RoO2ErPTMpe3ZhciBpPW5bYV0sbD1uW2ErMV0sbz1pW0llXXx8bnVsbDtpZih0eXBlb2YgbD09ImZ1bmN0aW9uIilvfHxaZihuKTtlbHNlIGlmKG8pe3ZhciBzPW51bGw7aWYobCYmbC5oYXNBdHRyaWJ1dGUoImZvcm1BY3Rpb24iKSl7aWYoaT1sLG89bFtJZV18fG51bGwpcz1vLmZvcm1BY3Rpb247ZWxzZSBpZihrcihpKSE9PW51bGwpY29udGludWV9ZWxzZSBzPW8uYWN0aW9uO3R5cGVvZiBzPT0iZnVuY3Rpb24iP25bYSsxXT1zOihuLnNwbGljZShhLDMpLGEtPTMpLFpmKG4pfX19ZnVuY3Rpb24gd3IoZSl7dGhpcy5faW50ZXJuYWxSb290PWV9SmwucHJvdG90eXBlLnJlbmRlcj13ci5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZih0PT09bnVsbCl0aHJvdyBFcnJvcih1KDQwOSkpO3ZhciBuPXQuY3VycmVudCxhPWh0KCk7SGYobixhLGUsdCxudWxsLG51bGwpfSxKbC5wcm90b3R5cGUudW5tb3VudD13ci5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihlIT09bnVsbCl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO0hmKGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHpsKCksdFtRbl09bnVsbH19O2Z1bmN0aW9uIEpsKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfUpsLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1vcygpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248a24ubGVuZ3RoJiZ0IT09MCYmdDxrbltuXS5wcmlvcml0eTtuKyspO2tuLnNwbGljZShuLDAsZSksbj09PTAmJlFmKGUpfX07dmFyIFZmPXIudmVyc2lvbjtpZihWZiE9PSIxOS4xLjEiKXRocm93IEVycm9yKHUoNTI3LFZmLCIxOS4xLjEiKSk7cS5maW5kRE9NTm9kZT1mdW5jdGlvbihlKXt2YXIgdD1lLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBlLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcih1KDE4OCkpOihlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcih1KDI2OCxlKSkpO3JldHVybiBlPWgodCksZT1lIT09bnVsbD95KGUpOm51bGwsZT1lPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlLGV9O3ZhciB0bT17YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjEuMSIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIixjdXJyZW50RGlzcGF0Y2hlclJlZjpBLHJlY29uY2lsZXJWZXJzaW9uOiIxOS4xLjEifTtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPCJ1Iil7dmFyICRsPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighJGwuaXNEaXNhYmxlZCYmJGwuc3VwcG9ydHNGaWJlcil0cnl7TmE9JGwuaW5qZWN0KHRtKSxydD0kbH1jYXRjaHt9fXJldHVybiBSaS5jcmVhdGVSb290PWZ1bmN0aW9uKGUsdCl7aWYoIXYoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgbj0hMSxhPSIiLGk9b2QsbD1yZCxvPXNkLHM9bnVsbDtyZXR1cm4gdCE9bnVsbCYmKHQudW5zdGFibGVfc3RyaWN0TW9kZT09PSEwJiYobj0hMCksdC5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYoYT10LmlkZW50aWZpZXJQcmVmaXgpLHQub25VbmNhdWdodEVycm9yIT09dm9pZCAwJiYoaT10Lm9uVW5jYXVnaHRFcnJvciksdC5vbkNhdWdodEVycm9yIT09dm9pZCAwJiYobD10Lm9uQ2F1Z2h0RXJyb3IpLHQub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvciksdC51bnN0YWJsZV90cmFuc2l0aW9uQ2FsbGJhY2tzIT09dm9pZCAwJiYocz10LnVuc3RhYmxlX3RyYW5zaXRpb25DYWxsYmFja3MpKSx0PVVmKGUsMSwhMSxudWxsLG51bGwsbixhLGksbCxvLHMsbnVsbCksZVtRbl09dC5jdXJyZW50LGxyKGUpLG5ldyB3cih0KX0sUmkuaHlkcmF0ZVJvb3Q9ZnVuY3Rpb24oZSx0LG4pe2lmKCF2KGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIGE9ITEsaT0iIixsPW9kLG89cmQscz1zZCxmPW51bGwsaz1udWxsO3JldHVybiBuIT1udWxsJiYobi51bnN0YWJsZV9zdHJpY3RNb2RlPT09ITAmJihhPSEwKSxuLmlkZW50aWZpZXJQcmVmaXghPT12b2lkIDAmJihpPW4uaWRlbnRpZmllclByZWZpeCksbi5vblVuY2F1Z2h0RXJyb3IhPT12b2lkIDAmJihsPW4ub25VbmNhdWdodEVycm9yKSxuLm9uQ2F1Z2h0RXJyb3IhPT12b2lkIDAmJihvPW4ub25DYXVnaHRFcnJvciksbi5vblJlY292ZXJhYmxlRXJyb3IhPT12b2lkIDAmJihzPW4ub25SZWNvdmVyYWJsZUVycm9yKSxuLnVuc3RhYmxlX3RyYW5zaXRpb25DYWxsYmFja3MhPT12b2lkIDAmJihmPW4udW5zdGFibGVfdHJhbnNpdGlvbkNhbGxiYWNrcyksbi5mb3JtU3RhdGUhPT12b2lkIDAmJihrPW4uZm9ybVN0YXRlKSksdD1VZihlLDEsITAsdCxuPz9udWxsLGEsaSxsLG8scyxmLGspLHQuY29udGV4dD1qZihudWxsKSxuPXQuY3VycmVudCxhPWh0KCksYT1wYyhhKSxpPWFuKGEpLGkuY2FsbGJhY2s9bnVsbCxsbihuLGksYSksbj1hLHQuY3VycmVudC5sYW5lcz1uLERhKHQsbiksQ3QodCksZVtRbl09dC5jdXJyZW50LGxyKGUpLG5ldyBKbCh0KX0sUmkudmVyc2lvbj0iMTkuMS4xIixSaX12YXIgYXA7ZnVuY3Rpb24gcG0oKXtpZihhcClyZXR1cm4gVHIuZXhwb3J0czthcD0xO2Z1bmN0aW9uIGMoKXtpZighKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18+InUifHx0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFIT0iZnVuY3Rpb24iKSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGMpfWNhdGNoKHIpe2NvbnNvbGUuZXJyb3Iocil9fXJldHVybiBjKCksVHIuZXhwb3J0cz1mbSgpLFRyLmV4cG9ydHN9dmFyIF9tPXBtKCksVT1ZcigpO2NvbnN0IGhtPXsic2hlbGwuc3dpdGNoX2xpZ2h0Ijoi5YiH5o2i5rWF6Imy5qih5byPIiwic2hlbGwuc3dpdGNoX2RhcmsiOiLliIfmjaLmt7HoibLmqKHlvI8iLCJzaGVsbC51cGRhdGVfYXZhaWxhYmxlIjoi5paw54mI5bey5bCx57uq77yM5Yi35paw5ZCO5L2/55So44CCIiwic2hlbGwucmVsb2FkIjoi5Yi35paw6aG16Z2iIiwiYXBwLm5hbWUiOiJRdWFudFN0cmF0ZWd5TGFiIiwic2hlbGwuY29ja3BpdCI6IuWGs+etlumpvumptuiIsSIsIm5hdi5tYWluIjoi5Li75a+86IiqIiwibmF2Lm92ZXJ2aWV3Ijoi5oC76KeIIiwibmF2LnBlcmZvcm1hbmNlIjoi5pS255uK5YiG5p6QIiwibmF2LmRlY2lzaW9ucyI6IuWGs+etliIsIm5hdi5hY2NvdW50cyI6Iui0puaItyIsIm5hdi5zdHJhdGVnaWVzIjoi562W55WlIiwibmF2LmhlYWx0aCI6IuWBpeW6tyIsIm5hdi5tb3JlIjoi5pu05aSaIiwibmF2LnRvZG9fdW5hdmFpbGFibGUiOiLlvoXlip7mlbDph4/kuI3lj6/or7siLCJjb21tb24ubG9hZGluZyI6Iuato+WcqOivu+WPluKApiIsImNvbW1vbi5yZXRyeSI6IumHjeivlSIsImNvbW1vbi5jbG9zZSI6IuWFs+mXrSIsImNvbW1vbi5jYW5jZWwiOiLlj5bmtogiLCJjb21tb24uY29uZmlybSI6IuehruiupOe7p+e7rSIsImNvbW1vbi5zYXZlIjoi5L+d5a2YIiwiY29tbW9uLmVkaXQiOiLnvJbovpEiLCJjb21tb24uYmFjayI6Iui/lOWbniIsImNvbW1vbi5hbGwiOiLlhajpg6giLCJjb21tb24ubm9uZSI6IuaXoCIsImNvbW1vbi51bmtub3duIjoi5pyq55+lIiwiY29tbW9uLm5hIjoi4oCUIiwiY29tbW9uLmFzX29mIjoi5pWw5o2u5oiq6IezIHt2YWx1ZX0iLCJjb21tb24udXBkYXRlZF9hdCI6IumhtemdouWIt+aWsOS6jiB7dmFsdWV9IiwiY29tbW9uLnJlZnJlc2giOiLliLfmlrAiLCJjb21tb24ucmVmcmVzaGluZyI6Iuato+WcqOWIt+aWsOKApiIsImNvbW1vbi5jb3B5Ijoi5aSN5Yi2IiwiY29tbW9uLmNvcGllZCI6IuW3suWkjeWItiIsImNvbW1vbi52aWV3X2FsbCI6Iuafpeeci+WFqOmDqCIsImNvbW1vbi5sb2FkX21vcmUiOiLliqDovb3mm7TlpJoiLCJjb21tb24udGFibGVfc2Nyb2xsX2hpbnQiOiLlt6blj7Pmu5Hliqjmn6XnnIvlhajpg6jlrZfmrrUiLCJjb21tb24uZXhwYW5kIjoi5bGV5byAIiwiY29tbW9uLmNvbGxhcHNlIjoi5pS26LW3IiwiY29tbW9uLmFjY291bnQiOiLotKbmiLciLCJjb21tb24uaWJrcl9hY2NvdW50IjoiSUJLUiDotKbmiLciLCJjb21tb24ucGxhdGZvcm0iOiLlubPlj7AiLCJjb21tb24uc3RyYXRlZ3kiOiLnrZbnlaUiLCJjb21tb24udGltZSI6IuaXtumXtCIsImNvbW1vbi5zdGF0dXMiOiLnirbmgIEiLCJjb21tb24uZGV0YWlscyI6IuivpuaDhSIsImNvbW1vbi5zeW50aGV0aWNfYmFkZ2UiOiLlkIjmiJDmvJTnpLoiLCJjb21tb24ucGFwZXJfYmFkZ2UiOiLmqKHmi58iLCJjb21tb24ucGFnZV9sb2FkX2ZhaWxlZCI6IuatpOmhtemdouaXoOazleWKoOi9vSIsImNvbW1vbi5yZWFkX2ZhaWxlZF9iYW5uZXIiOiLpg6jliIbmlbDmja7or7vlj5blpLHotKXvvIzor7fnqI3lkI7ph43or5XvvJvor7vlj5blpLHotKXkuI3ku6PooajmsqHmnInlhoXlrrnjgIIiLCJjb21tb24udW5zYXZlZF9ndWFyZF90aXRsZSI6IuaUvuW8g+acquS/neWtmOeahOS/ruaUue+8nyIsImNvbW1vbi51bnNhdmVkX2d1YXJkX2JvZHkiOiLlvZPliY3mnInmnKrkv53lrZjnmoTkv67mlLnvvIznprvlvIDlkI7lsIbkuKLlpLHjgIIiLCJzdGF0ZS51bmtub3duX3N0YXR1cyI6IuacquefpeeKtuaAgSIsInN0YXRlLnJldmlldyI6IuW+heWkjeaguCIsInN0YXRlLndhdGNoIjoi6ZyA5YWz5rOoIiwic3RhdGUuY3JpdGljYWwiOiLkuKXph40iLCJzdGF0ZS5ibG9ja2VkIjoi6L+Q6KGM5Y+X6Zi7Iiwic3RhdGUuZmFpbGVkIjoi6L+Q6KGM5aSx6LSlIiwic3RhdGUucmVhZF9pbmNvbXBsZXRlIjoi6K+75Y+W5LiN5a6M5pW0Iiwic3RhdGUuaW5zdWZmaWNpZW50Ijoi6LWE5paZ5LiN6LazIiwic3RhdGUucHJldmlld2VkIjoi5bey6aKE6KeIIiwic3RhdGUubm9fc3VibWlzc2lvbiI6IuacquaPkOS6pOiuouWNlSIsInN0YXRlLm5vX3JlYmFsYW5jZSI6IuaXoOmcgOiwg+S7kyIsInN0YXRlLmZpbGxlZCI6IuW3suaIkOS6pCIsInN0YXRlLm5vdF9kdWUiOiLlsJrmnKrliLDov5DooYzml7bpl7QiLCJzdGF0ZS5tYXJrZXRfY2xvc2VkIjoi5LyR5biCIiwic3RhdGUub3V0c2lkZV93aW5kb3ciOiLkuI3lnKjov5DooYzml7bmrrUiLCJzdGF0ZS53aXRoaW5fZ3JhY2UiOiLku43lnKjnrYnlvoXmnJ8iLCJzdGF0ZS5taXNzaW5nX3JlcG9ydCI6Iue8uuWwkeaKpeWRiiIsInN0YXRlLmVycm9yIjoi6L+Q6KGM6ZSZ6K+vIiwic3RhdGUuaGVhbHRoeSI6IuWBpeW6tyIsInN0YXRlLm5vX3NpZ25hbCI6IuaXoOS/oeWPtyIsInN0YXRlLm9rIjoi5q2j5bi4Iiwic3RhdGUucGFydGlhbCI6IumDqOWIhuaVsOaNriIsInN0YXRlLnBhcnRpYWxfdmFsdWF0aW9uIjoi5Lyw5YC85LiN5a6M5pW0Iiwic3RhdGUucGFydGlhbF9ydW50aW1lIjoi6L+Q6KGM5pyq5o6l5YWlIiwic3RhdGUuc3RhbGUiOiLmlbDmja7lgY/ml6ciLCJzdGF0ZS5ub19kYXRhIjoi5pqC5peg5pWw5o2uIiwic3RhdGUubm90X2Nvbm5lY3RlZCI6IuacquaOpeWFpSIsInN0YXRlLnVuYXZhaWxhYmxlIjoi5pqC5LiN5Y+v6K6h566XIiwic3RhdGUucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJzdGF0ZS5sb2FkX2ZhaWxlZCI6IuaaguaXtuaXoOazleWKoOi9vSIsInJlYXNvbi5leHRlcm5hbF9jYXNoZmxvd19yZXF1aXJlZCI6Iue8uuWwkeWujOaVtOWHuuWFpemHkeiusOW9le+8jOaaguS4jeWxleekuiBUV1LvvJvph5Hpop3mjInotYTkuqflj5jliqjlsZXnpLrjgIIiLCJyZWFzb24uZmlsbHNfbm90X2Nvbm5lY3RlZCI6IuaIkOS6pOiusOW9lea6kOacquaOpeWFpSIsInJlYXNvbi5leGVjdXRpb25fY292ZXJhZ2VfdW52ZXJpZmllZCI6IuaIkOS6pOimhuebluiMg+WbtOacquaguOWuniIsInJlYXNvbi5hdmdfY29zdF9taXNzaW5nIjoi57y65bCR5oiQ5pys5Lu377yM5pyq5a6e546w55uI5LqP5pqC5LiN5Y+v6K6h566XIiwicmVhc29uLm1peGVkX2N1cnJlbmN5Ijoi5aSa5biB56eN5peg5rOV5ZCI5bm25Li65Y2V5LiA6YeR6aKd77yb5oyJ5biB56eN5YiG5Yir5bGV56S6IiwicmVhc29uLnNuYXBzaG90X2hpc3RvcnlfbWlzc2luZyI6Iue8uuWwkeWOhuWPsui1hOS6p+W/q+eFpyIsInJlYXNvbi5zbmFwc2hvdF9taXNzaW5nIjoi57y65bCR6LWE5Lqn5b+r54WnIiwicmVhc29uLnNuYXBzaG90X3BlbmRpbmciOiLku4rml6XmlbDmja7lvoXmm7TmlrAiLCJyZWFzb24ucHJldmlvdXNfc25hcHNob3RfbWlzc2luZyI6Iue8uuWwkeWJjeS4gOaXpeeahOi1hOS6p+W/q+eFpyIsInJlYXNvbi5ub25fdHJhZGluZ193ZWVrZW5kIjoi6Z2e5Lqk5piT5pelIiwicmVhc29uLmluY29tcGxldGVfbW9udGgiOiLlvZPmnIjmlbDmja7lsJrkuI3lrozmlbQiLCJyZWFzb24uaW5zdWZmaWNpZW50X29ic2VydmF0aW9ucyI6IuWOhuWPsuaVsOaNruS4jei2syIsInJlYXNvbi5pbnZhbGlkX3JldHVybl9wZXJpb2QiOiLljLrpl7Tnq6/ngrnml6DmlYgiLCJyZWFzb24ucG9zaXRpb25zX3BhcnRpYWxfY292ZXJhZ2UiOiLmjIHku5Pku4Xopobnm5bpg6jliIbotYTkuqciLCJyZWFzb24ucG9zaXRpb25zX25vdF9jb25uZWN0ZWQiOiLmjIHku5PmlbDmja7mupDmnKrmjqXlhaUiLCJyZWFzb24ucG9zaXRpb25zX3N0YWxlIjoi5oyB5LuT5pWw5o2u5YGP5penIiwicmVhc29uLmJlbmNobWFya19oaXN0b3J5X3VucmVhZGFibGUiOiLln7rlh4bmlbDmja7or7vlj5blpLHotKUiLCJyZWFzb24ucG9zaXRpb25fdmFsdWVfbWlzc2luZyI6Iue8uuWwkeaMgeS7k+W4guWAvCIsInJlYXNvbi5ub19jb21tb25fZGF0ZSI6IuS4juWfuuWHhuayoeacieWPr+Wvuem9kOeahOWFseWQjOaXpeacnyIsInJlYXNvbi5iZW5jaG1hcmtfaGlzdG9yeV9taXNzaW5nIjoi57y65bCR5Z+65YeG5Y6G5Y+y5pWw5o2uIiwicmVhc29uLnN0b3JlZF9yZWNvcmRzX3VucmVhZGFibGUiOiLlrZjlgqjorrDlvZXor7vlj5blpLHotKUiLCJyZWFzb24uZWZmZWN0X3ZlcmlmaWNhdGlvbl9ub3RfcmVjb3JkZWQiOiLmmoLml6DorrDlvZXlj6/nlKjkuo7noa7orqTlj5jmm7Tnu5PmnpzjgIIiLCJyZWFzb24uYm91bmRlZF9hdWRpdF9sb2ciOiLljoblj7LorrDlvZXmnInkv53nlZnkuIrpmZDvvIzlj6/og73kuI3lrozmlbQiLCJyZWFzb24ubm9fY2xvc2VkX3RyYWRlcyI6IuayoeacieW3suW5s+S7k+eahOS6pOaYkyIsInJlYXNvbi5ub3RpZmljYXRpb25fbG9nX25vdF9jb25uZWN0ZWQiOiLpgJrnn6Xlj5HpgIHorrDlvZXmupDmnKrmjqXlhaUiLCJyZWFzb24ucnVudGltZV9kYWlseV9ub3RfY29ubmVjdGVkIjoi6L+Q6KGM6K6w5b2V5rqQ5pyq5o6l5YWlIiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfYmluZGluZ19jb25mbGljdCI6Iui/kOihjOiusOW9leWtmOWcqOWkmuS4qui0puaIt+e7keWumu+8jOivt+ajgOafpemFjee9riIsInJlYXNvbi50b2RheV9yZWNvcmRfbWlzc2luZyI6IuS7iuaXpeaaguaXoOi/kOihjOiusOW9lSIsInJlYXNvbi5ydW50aW1lX2RhaWx5X3N0YWxlIjoi6L+Q6KGM6K6w5b2V5bey6L+H5pyfIiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfaW5jb21wbGV0ZSI6Iui/kOihjOiusOW9leS4jeWujOaVtCIsInJlYXNvbi5zdHJhdGVneV9oZWFsdGhfbm90X2Nvbm5lY3RlZCI6IuetlueVpeWBpeW6t+W6puadpea6kOacquaOpeWFpSIsInJlYXNvbi5hdmFpbGFibGUiOiLlj6/mk43kvZwiLCJyZWFzb24uYWRtaW5fcmVxdWlyZWQiOiLpnIDopoHnrqHnkIblkZjmnYPpmZAiLCJyZWFzb24uZGlzcGF0Y2hfdW5hdmFpbGFibGUiOiLmiafooYzpgJrpgZPmmoLkuI3lj6/nlKgiLCJyZWFzb24uc3RvcF9wZW5kaW5nX29yX2lkZW50aXR5X3VuYXZhaWxhYmxlIjoi5bey5pyJ5YGc55So6K+35rGC5b6F56Gu6K6k5oiW6Lqr5Lu95pqC5LiN5Y+v55SoIiwicmVhc29uLnN0cmF0ZWd5X2FwcGxpY2F0aW9uX25vdF9jb25uZWN0ZWQiOiLnrZbnlaXlupTnlKjpgJrpgZPmnKrmjqXlhaUiLCJyZWFzb24uZXhpc3RpbmdfcmVjb3Zlcnlfbm90X2F2YWlsYWJsZSI6IuayoeacieWPr+eUqOeahOaXouacieaBouWkjea1geeoiyIsInJlYXNvbi5ydW50aW1lX2luc3RhbmNlc19ub3RfYm91bmQiOiLov5DooYzlrp7kvovmnKrnu5HlrpoiLCJyZWFzb24uYWNjb3VudF9zZXR0aW5nc19pZGVudGl0eV9jb25mbGljdCI6IuiNieahiOe7keWumueahOaYr+aXp+i6q+S7ve+8jOmcgOWFiOehruiupCIsInJlYXNvbi5wcm9maWxlX2RyYWZ0X3JlcXVpcmVkIjoi6K+35YWI5L+d5a2Y5b2T5YmN6LSm5oi355qE562W55Wl6I2J5qGI44CCIiwicmVhc29uLnByb2ZpbGVfb25seV9yZXF1aXJlZCI6IuS7heaUr+aMgeetlueVpeaho+ahiOexu+iNieahiCIsInJlYXNvbi5wcm9maWxlX25vdF9zZWxlY3RhYmxlIjoi6K+l562W55Wl5qGj5qGI5LiN5Y+v6YCJIiwicmVhc29uLnJ1bnRpbWVfcmVhZGJhY2tfdW5hdmFpbGFibGUiOiLov5DooYznirbmgIHor7vlm57kuI3lj6/nlKgiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3BlbmRpbmciOiLkuIrmrKHmk43kvZzku43lvoXnoa7orqQiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3Jlc3VsdF91bmF2YWlsYWJsZSI6Iue7k+aenOaaguacquehruiupO+8jOivt+WIt+aWsOafpeeci+OAgiIsInJlYXNvbi5wbGF0Zm9ybV9yZXN1bHRfdW5hdmFpbGFibGUiOiLlubPlj7Dnu5PmnpzmmoLmnKrnoa7orqTvvIzor7fliLfmlrDmn6XnnIvjgIIiLCJyZWFzb24ucGxhdGZvcm1fZGlzcGF0Y2hfdW52ZXJpZmllZCI6IuW5s+WPsOivt+axgue7k+aenOaaguacquehruiupOOAgiIsInJlYXNvbi5wbGF0Zm9ybV9kaXNwYXRjaF9yZWplY3RlZCI6IuW5s+WPsOacquaOpeWPl+ivt+axgu+8jOiuvue9ruWPr+iDveW3suS/neWtmOOAgiIsInJlYXNvbi5yZWFkYmFja19kaXNwYXRjaF9yZWplY3RlZCI6IuaaguaXtuaXoOazleafpeivouW5s+WPsOe7k+aenOOAgiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfd29ya2Zsb3dfcGVybWlzc2lvbl9kZW5pZWQiOiLmsqHmnInmn6Xor6LlubPlj7Dlt6XkvZzmtYHnmoTmnYPpmZDjgIIiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3VuYXZhaWxhYmxlIjoi5bmz5Y+w5bel5L2c5rWB5pqC5LiN5Y+v55So44CCIiwicmVhc29uLnJ1bnRpbWVfY29udHJvbF90YXJnZXRfdW5zdXBwb3J0ZWQiOiLotKbmiLfnu5HlrprkuI7lubPlj7DphY3nva7kuI3kuIDoh7TjgIIiLCJyZWFzb24uc3RvcF9zb3VyY2VfcGVybWlzc2lvbl9kZW5pZWQiOiLmsqHmnInor7vlj5blubPlj7DphY3nva7nmoTmnYPpmZDjgIIiLCJyZWFzb24uc3RvcF9zb3VyY2Vfbm90X2FjY2Vzc2libGUiOiLmmoLml7bml6Dms5Xor7vlj5blubPlj7DphY3nva7jgIIiLCJyZWFzb24ucnVudGltZV90YXJnZXRfbm90X2Rpc2FibGVkIjoi6L+Q6KGM55uu5qCH5bCa5pyq5YGc55SoIiwicmVhc29uLmN1cnJlbnRfcHJvZmlsZV9jb25mbGljdCI6IuW9k+WJjeetlueVpeaho+ahiOWGsueqgSIsInJlYXNvbi5wcm9maWxlX2FwcGxpY2F0aW9uX3BlbmRpbmciOiLlt7LmnInlupTnlKjor7fmsYLlpITnkIbkuK0iLCJyZWFzb24uc3ludGhldGljX2d1YXJkX2Jsb2NrZWQiOiLlkIjmiJDmvJTnpLrnjq/looPkuI3mj5Dkvpvor6Xmk43kvZwiLCJyZWFzb24uaW52YWxpZF9jcmVkZW50aWFsX3JvdGF0aW9uX3JlcXVlc3QiOiLor7fmsYLmoLzlvI/kuI3nrKblkIjopoHmsYLvvIzor7fmo4Dmn6XloavlhpnlhoXlrrnlkI7ph43mlrDmj5DkuqTjgIIiLCJyZWFzb24uaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSI6IuWIsOacn+aXtuWIu+aXoOaViO+8muivt+S9v+eUqOacquadpeeahOaXtumXtOW5tuW4puS4iuaXtuWMuu+8jOS+i+WmgiArMDg6MDDjgIIiLCJyZWFzb24ub3JpZ2luX3JlcXVpcmVkIjoi6K+35rGC57y65bCR5p2l5rqQ5L+h5oGv77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CC6K+35Yi35paw6aG16Z2i5ZCO6YeN6K+V44CCIiwicmVhc29uLmNyb3NzX29yaWdpbl9yZWplY3RlZCI6Iuivt+axguadpeiHquWFtuS7luermeeCue+8jOW3suiiq+aLkue7neOAguivt+WcqOacrOaOp+WItuWPsOmhtemdouWGhemHjeaWsOWPkei1t+OAgiIsInJlYXNvbi5yb3RhdGlvbl9vd25lcl9yZXF1aXJlZCI6IuWPquacieWHreivgei9ruaNoui0n+i0o+S6uuWPr+S7peWGmeWFpe+8jOW9k+WJjeeZu+W9lei6q+S7veayoeacieivpeadg+mZkOOAgiIsInJlYXNvbi5zdGVwX3VwX2ludmFsaWQiOiLpqozor4HnoIHml6DmlYjmiJblt7Looqvkvb/nlKjjgILnmbvlvZXku43nhLbmnInmlYjvvIzor7fmjaLkuIDkuKrmnKrkvb/nlKjov4fnmoTpqozor4HnoIHjgIIiLCJyZWFzb24uc3RlcF91cF9yYXRlX2xpbWl0ZWQiOiLpqozor4HnoIHov57nu63lpLHotKXmrKHmlbDov4flpJrvvIzor7fnrYnlvoUgNSDliIbpkp/lkI7lho3or5XjgIIiLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl9vcGVyYXRpb25fbm90X2ZvdW5kIjoi5rKh5pyJ5om+5Yiw6K+l6L2u5o2i5pON5L2c44CC6K+35Yi35paw54q25oCB5ZCO56Gu6K6k5pON5L2c57yW5Y+344CCIiwicmVhc29uLmNyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdF9jb25mbGljdCI6Iuivpeivt+axgue8luWPt+W3sueUqOS6juWIq+eahOWGheWuue+8jOacrOasoeayoeacieWPkeWHuuOAguivt+WIt+aWsOWQjumHjeaWsOWPkei1t+OAgiIsInJlYXNvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YXRlX2NvbmZsaWN0Ijoi5bey5pyJ6L2u5o2i5Zyo6L+b6KGM5Lit5oiW57uT5p6c5b6F56Gu6K6k77yM546w5Zyo5LiN6IO95Y+R6LW35paw5pON5L2c44CCIiwicmVhc29uLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2VfcmV2aXNpb25fY29uZmxpY3QiOiLnu7TmiqTkv6Hmga/lnKjnoa7orqTmnJ/pl7Tlj5HnlJ/lj5jljJbvvIzmnKrlhpnlhaXlh63or4HjgILor7fliLfmlrDlkI7ph43or5XjgIIiLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSI6Iui9ruaNouacjeWKoeaaguS4jeWPr+eUqO+8jOacrOasoeaTjeS9nOacqueUn+aViOOAgiIsInJlYXNvbi5wcm94eV91bmNvbmZpcm1lZCI6IuS4iua4uOacquehruiupOe7k+aenCIsInJlYXNvbi5tYWludGVuYW5jZV9yZXZpc2lvbl9jb25mbGljdCI6Iue7tOaKpOS/oeaBr+eJiOacrOWGsueqgSIsInJlYXNvbi5wcm92aWRlcl9mYWlsZWQiOiLkuIrmuLjmk43kvZzlpLHotKUiLCJyZWFzb24ucmVxdWVzdF9pZF9pbnZhbGlkIjoi6K+35rGC57yW5Y+35peg5pWI77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CCIiwicmVhc29uLm9wZXJhdGlvbl9pZF9pbnZhbGlkIjoi5pON5L2c57yW5Y+35peg5pWI77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CCIiwicmVhc29uLmNyZWRlbnRpYWxfdmFsdWVfbGVuZ3RoX2ludmFsaWQiOiLmlrAgdG9rZW4g6ZyA5Li6IDEg5YiwIDEwMjQg5a2X6IqC44CCIiwicmVhc29uLnN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiOiLkuozmrKHpqozor4HmlrnlvI/ml6DmlYjvvIzor7fph43mlrDpgInmi6njgIIiLCJyZWFzb24uc3RlcF91cF9jb2RlX3JlcXVpcmVkIjoi6K+35aGr5YaZ5pys5qyh6aqM6K+B56CB77yIMSDliLAgMTI4IOS4quWtl+espu+8ieOAgiIsInJlYXNvbi5kb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCI6Iuivt+WFiOehruiupOS4i+a4uOW3suWFqOmDqOabtOaWsOW5tumqjOivgeWujOaIkOOAgiIsInJlYXNvbi51bmtub3duIjoi5Y6f5Zug5pyq55+lIiwiYXV0aC5sb2dpbl90aXRsZSI6IueZu+W9leWQjue7p+e7reS9v+eUqCIsImF1dGgubG9naW5fYm9keSI6IueZu+W9leWQjuWPr+afpeeci+i0puaIt+aAu+iniOOAgeaUtuebiuWIhuaekOOAgeW+heWKnuS4jui/kOihjOeKtuaAgeOAgiIsImF1dGgubG9naW4iOiLnmbvlvZUiLCJhdXRoLmRlbmllZF90aXRsZSI6Iuayoeacieiuv+mXruadg+mZkCIsImF1dGguZGVuaWVkX2JvZHkiOiLlvZPliY3otKblj7fmnKrooqvlhYHorrjorr/pl67mraTmjqfliLblj7DjgIIiLCJhdXRoLmVycm9yX3RpdGxlIjoi5pqC5pe25peg5rOV6K+75Y+W5o6n5Yi25Y+wIiwiYXV0aC5lcnJvcl9ib2R5Ijoi5Lya6K+d5pyN5Yqh5pqC5pe25LiN5Y+v55So77yM6K+356iN5ZCO6YeN6K+V44CCIiwic2hlbGwuc2NvcGUiOiLotKbmiLfojIPlm7QiLCJzaGVsbC5zY29wZV9lcnJvciI6Iui0puaIt+S4jeWPr+eUqCIsInNoZWxsLnNjb3BlX2xvYWRpbmciOiLmraPlnKjor7vlj5botKbmiLfigKYiLCJzaGVsbC5zY29wZV9tZXRhX2Vycm9yIjoi5peg5rOV6K+75Y+W6LSm5oi35ZCN56ew5LiO5qih5oufL+WunuebmOagh+iusOOAgiIsInByZWZzLnNhdmVfZXJyb3IiOiLml6Dms5Xkv53lrZjlgY/lpb3vvIzliLfmlrDlkI7lj6/og73lpLHmlYjjgIIiLCJzaGVsbC5zY29wZV9hbGwiOiLlhajpg6jotKbmiLciLCJzaGVsbC5zY29wZV9wYXBlcl9ncm91cCI6IuaooeaLn+i0puaItyIsInNoZWxsLmhpZGVfYW1vdW50cyI6IumakOiXj+mHkeminSIsInNoZWxsLnNob3dfYW1vdW50cyI6IuaYvuekuumHkeminSIsInNoZWxsLnVzZXJfbWVudSI6IueUqOaIt+iPnOWNlSIsInNoZWxsLnByZWZlcmVuY2VzIjoi5YGP5aW96K6+572uIiwic2hlbGwubG9nb3V0Ijoi6YCA5Ye655m75b2VIiwic2hlbGwuc2tpcF90b19jb250ZW50Ijoi6Lez5Yiw5Li76KaB5YaF5a65IiwicHJlZnMudGl0bGUiOiLlgY/lpb3orr7nva4iLCJwcmVmcy50aGVtZSI6IuS4u+mimCIsInByZWZzLnRoZW1lX2xpZ2h0Ijoi5rWF6ImyIiwicHJlZnMudGhlbWVfZGFyayI6Iua3seiJsiIsInByZWZzLnRoZW1lX3N5c3RlbSI6Iui3n+maj+ezu+e7nyIsInByZWZzLmxhbmd1YWdlIjoi6K+t6KiAIiwicHJlZnMudXBkb3duIjoi5rao6LeM6aKc6ImyIiwicHJlZnMudXBkb3duX2dyZWVuX3VwIjoi57u/5rao57qi6LeMIiwicHJlZnMudXBkb3duX3JlZF91cCI6Iue6oua2qOe7v+i3jCIsInByZWZzLmhpZGVfYW1vdW50cyI6Ium7mOiupOmakOiXj+mHkeminSIsInByZWZzLmRlZmF1bHRfcmFuZ2UiOiLpu5jorqTljLrpl7QiLCJwcmVmcy5ub3RlIjoi5YGP5aW95LuF5L+d5a2Y5Zyo5q2k5rWP6KeI5Zmo5Lit44CCIiwib3ZlcnZpZXcudG90YWxfYXNzZXRzIjoi5oC76LWE5LqnIiwib3ZlcnZpZXcucmFuZ2VfcmV0dXJuIjoi5Yy66Ze05pS255uKIHtyYW5nZX0iLCJvdmVydmlldy5sYXN0X2RheV9jaGFuZ2UiOiLmnIDov5HkuIDml6XotYTkuqflj5jliqgiLCJvdmVydmlldy50b2RvcyI6IuW+heWKniIsIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCI6Intjb3VudH0g57Sn5oClIiwib3ZlcnZpZXcucnVuc19vayI6Iui/kOihjCB7b2t9L3t0b3RhbH0g5q2j5bi4Iiwib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIjoi5pS255uK6LWw5Yq/Iiwib3ZlcnZpZXcudG9kb19wcmV2aWV3Ijoi5b6F5Yqe6aKE6KeIIiwib3ZlcnZpZXcubXlfYWNjb3VudHMiOiLmiJHnmoTotKbmiLciLCJvdmVydmlldy5hY2NvdW50X3N0cmF0ZWd5Ijoi562W55WlIiwib3ZlcnZpZXcuYWNjb3VudF9hc3NldHMiOiLotYTkuqciLCJvdmVydmlldy5hY2NvdW50X2Nhc2giOiLnjrDph5EiLCJvdmVydmlldy5ub19hY2NvdW50cyI6IuaaguaXoOi0puaItyIsIm92ZXJ2aWV3LnR3cl90YWciOiLml7bpl7TliqDmnYPmlLbnm4oiLCJvdmVydmlldy5vcGVuX3BlcmZvcm1hbmNlIjoi5omT5byA5pS255uK5YiG5p6QIiwib3ZlcnZpZXcub3Blbl9oZWFsdGgiOiLmiZPlvIDov5DooYznirbmgIEiLCJvdmVydmlldy5vcGVuX2RlY2lzaW9ucyI6IuaJk+W8gOW+heWKniIsInBlcmYudmFsdWVfa2luZF9wbmwiOiLnm4jkuo8iLCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIjoi6LWE5Lqn5Y+Y5YqoIiwicGVyZi5yYW5nZS4xTSI6IjHmnIgiLCJwZXJmLnJhbmdlLjNNIjoiM+aciCIsInBlcmYucmFuZ2UuWVREIjoi5bm05Yid6Iez5LuKIiwicGVyZi5yYW5nZS4xWSI6IjHlubQiLCJwZXJmLnJhbmdlLkFMTCI6IuWFqOmDqCIsInBlcmYucmFuZ2UubGFiZWwiOiLml7bpl7TljLrpl7QiLCJwZXJmLnJhbmdlLnJldHVybl9sYWJlbCI6IntyYW5nZX0g5pS255uKIiwicGVyZi5jYXJkLnR3ciI6Iue0r+iuoeaUtuebiu+8iFRXUu+8iSIsInBlcmYuY2FyZC5hbW91bnQiOiLnm4jkuo/ph5Hpop0iLCJwZXJmLmNhcmQuYW1vdW50X2Fzc2V0X2NoYW5nZSI6Iui1hOS6p+WPmOWKqCIsInBlcmYuY2FyZC5tYXhfZHJhd2Rvd24iOiLmnIDlpKflm57mkqQiLCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIjoie3BlYWt9IOKGkiB7dHJvdWdofSIsInBlcmYuY2FyZC5leGNlc3MiOiLnm7jlr7nln7rlh4botoXpop0iLCJwZXJmLmNhcmQuYmVzdF9kYXkiOiLmnIDlpb3nmoTkuIDlpKkiLCJwZXJmLmNhcmQud29yc3RfZGF5Ijoi5pyA5beu55qE5LiA5aSpIiwicGVyZi5yZXR1cm5zX3RpdGxlIjoi5pS255uK546HIHZzIOWfuuWHhiIsInBlcmYucmV0dXJuc19jdW11bGF0aXZlIjoi57Sv56evIiwicGVyZi5yZXR1cm5zX2RhaWx5Ijoi5q+P5pelIiwicGVyZi5ob3dfY2FsY3VsYXRlZCI6IuWmguS9leiuoeeul++8nyIsInBlcmYubWV0aG9kX3RpdGxlIjoi5pS255uK5aaC5L2V6K6h566XIiwicGVyZi5tZXRob2RfYm9keSI6IuaMieaXtumXtOWKoOadg++8iFRXUu+8ieiuoeeul++8jOW3suWJlOmZpOWHuuWFpemHkeW9seWTje+8m+WMuumXtOi1t+eCueW9kumbtuOAgiIsInBlcmYuYXNzZXRzX3RpdGxlIjoi5oC76LWE5LqnIiwicGVyZi5hc3NldHNfbm90ZSI6IuS7heWxleekuuW9k+WJjei0puaIt+iMg+WbtOeahOi1hOS6p++8jOS4jeWPoOWKoOWfuuWHhuOAgiIsInBlcmYuYXNzZXRzX2Zsb3dfbWFyayI6IuWHuuWFpemHkSIsInBlcmYuY2FsZW5kYXJfdGl0bGUiOiLmlLbnm4rml6XljoYiLCJwZXJmLmNhbGVuZGFyX21vbnRoIjoi5pyIIiwicGVyZi5jYWxlbmRhcl95ZWFyIjoi5bm0IiwicGVyZi5jYWxlbmRhcl9kZXBvc2l0X25vdGUiOiLlh7rlhaXph5HlvZPml6XkuI3orqHlhaXnm4jkuo8iLCJwZXJmLmhvbGRpbmdzX3RpdGxlIjoi5oyB5LuTIiwicGVyZi5ob2xkaW5nc19ub3RlIjoi5b2T5YmN5oyB5LuTIMK3IOacquWunueOsOebiOS6jyIsInBlcmYucmFua2luZ190aXRsZSI6IuS4quiCoeebiOS6j+amnCIsInBlcmYudHJhZGVzX3RpdGxlIjoi5oiQ5Lqk57uf6K6hIiwicGVyZi50cmFkZXNfbm90X2Nvbm5lY3RlZCI6IuaIkOS6pOe7n+iuoeacquaOpeWFpeOAgiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdGl0bGUiOiLlpJrluIHnp43or7TmmI4iLCJwZXJmLmNvbC5zeW1ib2wiOiLmoIfnmoQiLCJwZXJmLmNvbC5xdWFudGl0eSI6IuaVsOmHjyIsInBlcmYuY29sLm1hcmtldF92YWx1ZSI6IuW4guWAvCIsInBlcmYuY29sLmN1cnJlbmN5Ijoi5biB56eNIiwicGVyZi5jb2wuYXZnX2Nvc3QiOiLmiJDmnKzku7ciLCJwZXJmLmNvbC51bnJlYWxpemVkX3BubCI6IuacquWunueOsOebiOS6jyIsInBlcmYuY29sLmFjY291bnQiOiLotKbmiLciLCJwZXJmLmNvbC5kYXRlIjoi5pel5pyfIiwicGVyZi5jb2wuYW1vdW50Ijoi6YeR6aKdIiwicGVyZi5jb2wucmV0dXJuIjoi5pS255uK546HIiwiZGVjaXNpb25zLnRpdGxlIjoi5b6F5YqeIiwiZGVjaXNpb25zLmZpbHRlci5hbGwiOiLlhajpg6giLCJkZWNpc2lvbnMudGFiLnBlbmRpbmciOiLlvoXlpITnkIYiLCJkZWNpc2lvbnMudGFiLmRlY2lkZWQiOiLlt7LlpITnkIYiLCJjYXRlZ29yeS5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuWvuei0puaBouWkjSIsImNhdGVnb3J5LnN0cmF0ZWd5X3Byb21vdGlvbiI6IuetlueVpeaZi+e6pyIsImNhdGVnb3J5Lm93bmVyX2RlY2lzaW9uIjoi6LSf6LSj5Lq65Yaz5a6aIiwiY2F0ZWdvcnkuY3JlZGVudGlhbF9tYWludGVuYW5jZSI6IuWHreivgee7tOaKpCIsImNhdGVnb3J5LnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiLmqKHmi5/otKbmiLflupTnlKgiLCJkZWNpc2lvbnMucHJpb3JpdHkuaGlnaCI6IumrmCIsImRlY2lzaW9ucy5wcmlvcml0eS5tZWRpdW0iOiLkuK0iLCJkZWNpc2lvbnMucHJpb3JpdHkubm9ybWFsIjoi5pmu6YCaIiwiZGVjaXNpb25zLnN0YXR1cy5wZW5kaW5nIjoi5b6F5aSE55CGIiwiZGVjaXNpb25zLnN0YXR1cy5kZWNpZGVkIjoi5bey5aSE55CGIiwiZGVjaXNpb25zLnN0YXR1cy5leHBpcmVkIjoi5bey6L+H5pyfIiwiZGVjaXNpb25zLnF1ZXN0aW9uIjoi6ZyA6KaB5L2g5Yaz5a6aIiwiZGVjaXNpb25zLmRpZmZfdGl0bGUiOiLmlLnliY0g4oaSIOaUueWQjiIsImRlY2lzaW9ucy5jb2wuZmllbGQiOiLlrZfmrrUiLCJkZWNpc2lvbnMuY29sLmN1cnJlbnQiOiLlvZPliY0iLCJkZWNpc2lvbnMuY29sLnByb3Bvc2VkIjoi5bu66K6uIiwiZGVjaXNpb25zLmNvbC5hZmZlY3RzX2xpdmUiOiLlrp7nm5jlvbHlk40iLCJkZWNpc2lvbnMuYWZmZWN0c19saXZlX3llcyI6IuaYryIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm8iOiLlkKYiLCJkZWNpc2lvbnMubWF0ZXJpYWxzIjoi5p2Q5paZIiwiZGVjaXNpb25zLmFkb3B0X2ludGVudCI6IuiusOW9lemHh+eUqOaEj+WQkSIsImRlY2lzaW9ucy5kZWNsaW5lX2ludGVudCI6IuiusOW9leS4jemHh+eUqOaEj+WQkSIsImRlY2lzaW9ucy5pbnRlbnRfbm90ZSI6IuS7heiusOW9leaEj+WQke+8jOS4jeS8muS4i+WNleOAgiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoi56Gu6K6k6K6w5b2V6YeH55So5oSP5ZCR77yfIiwiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV90aXRsZSI6IuehruiupOiusOW9leS4jemHh+eUqOaEj+WQke+8nyIsImRlY2lzaW9ucy5jb25maXJtX2JvZHkiOiLmnKzmrKHlj6rorrDlvZXmhI/lkJHvvIzkuI3kvJrmj5DkuqTorqLljZXmiJbmlLnlj5jkuqTmmJPmnYPpmZDjgIIiLCJkZWNpc2lvbnMuaGlzdG9yeV90aXRsZSI6IuWkhOeQhuiusOW9lSIsImRlY2lzaW9ucy5oaXN0b3J5LmVtcHR5Ijoi5pqC5peg5aSE55CG6K6w5b2VIiwiZGVjaXNpb25zLmFjdGlvbi5hZG9wdF9pbnRlbnQiOiLorrDlvZXph4fnlKjmhI/lkJEiLCJkZWNpc2lvbnMuYWN0aW9uLmRlY2xpbmVfaW50ZW50Ijoi6K6w5b2V5LiN6YeH55So5oSP5ZCRIiwiZGVjaXNpb25zLmVtcHR5X3BlbmRpbmciOiLmsqHmnInlvoXlpITnkIbnmoTkuovpobkiLCJkZWNpc2lvbnMuYWNjb3VudF9nbG9iYWwiOiLlhajpg6jotKbmiLciLCJkZWNpc2lvbnMucmVmIjoi57yW5Y+3IHtpZH0iLCJkZWNpc2lvbnMuZXhwaXJlc19hdCI6IuaIquatoiB7dmFsdWV9IiwiZGVjaXNpb25zLmNyZWF0ZWRfYXQiOiLliJvlu7rkuo4ge3ZhbHVlfSIsImRlY2lzaW9ucy5yZWFkX2ZhaWxlZCI6IuW+heWKnuivu+WPluWksei0pe+8jOivt+mHjeivle+8m+i/meS4jeS7o+ihqOayoeacieW+heWKnuOAgiIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl9zdGF0dXMiOiLlupTnlKjnirbmgIHvvJp7dmFsdWV9IiwiYWNjb3VudHMudGl0bGUiOiLotKbmiLciLCJhY2NvdW50cy5jb2wuYWxpYXMiOiLliKvlkI0iLCJhY2NvdW50cy5jb2wucGxhdGZvcm0iOiLlubPlj7AiLCJhY2NvdW50cy5jb2wuc3RyYXRlZ3kiOiLlvZPliY3nrZbnlaUiLCJhY2NvdW50cy5jb2wucnVuIjoi6L+Q6KGMIiwiYWNjb3VudHMuY29sLmRyYWZ0cyI6IuW+heeUn+aViOiNieahiCIsImFjY291bnRzLmNvbC50b2RvcyI6IuW+heWKniIsImFjY291bnRzLmNvbC5sYXN0X2NoYW5nZSI6IuacgOi/keWPmOabtCIsImFjY291bnRzLnRhYi5vdmVydmlldyI6IuamguiniCIsImFjY291bnRzLnRhYi5zdHJhdGVneSI6IuetlueVpeS4juWPguaVsCIsInJpc2sudGl0bGUiOiLpo47pmanlgY/lpb0iLCJyaXNrLm5vdGUiOiLnlKjkuo7orrDlvZXmipXotYTlgY/lpb3vvIzkuI3kvJrmlLnlj5jkuqTmmJPorr7nva7jgIIiLCJyaXNrLmZpZWxkIjoi5YGP5aW96I2J5qGIIiwicmlzay5zYXZlZFZhbHVlIjoi5b2T5YmN5L+d5a2Y5YC8Iiwicmlzay51bnNldCI6Iuacquiuvue9riIsInJpc2suY2FwaXRhbCI6Iui1hOacrOS/neWFqCIsInJpc2suYmFsYW5jZWQiOiLnqLPlgaXlpI3liKkiLCJyaXNrLmdyb3d0aCI6IuaIkOmVv+WkjeWIqSIsInJpc2sub3RoZXIiOiLmnKror4bliKvnmoTlgLwiLCJyaXNrLnNhdmUiOiLkv53lrZjpo47pmanlgY/lpb0iLCJyaXNrLmRpc2NhcmQiOiLmkqTplIAiLCJyaXNrLnNhdmluZyI6Iuato+WcqOS/neWtmOmjjumZqeWBj+WlveOAgiIsInJpc2suZ2F0ZSI6IuW9k+WJjei0puaIt+S4jeWPr+e8lui+kemjjumZqeWBj+WlveOAgiIsInJpc2suZGVuaWVkIjoi5rKh5pyJ5p2D6ZmQ6K+75Y+W6L+Z6aG56K6+572u44CCIiwicmlzay5yZWFkRmFpbGVkIjoi6aOO6Zmp5YGP5aW95pqC5pe26K+75LiN5Yiw44CCIiwicmlzay5yZWFkTWlzbWF0Y2giOiLorr7nva7or7vlm57kuI7miYDpgInotKbmiLfkuI3kuIDoh7TvvIzor7fph43mlrDor7vlj5bjgIIiLCJyaXNrLnJlcmVhZCI6IumHjeaWsOivu+WPliIsInJpc2suc3RhbGUiOiLmmL7npLrkuIrmrKHmiJDlip/or7vlm57lgLzvvIzlvZPliY3nirbmgIHmnKrph43mlrDnoa7orqTjgIIiLCJyaXNrLnNhdmVkIjoi5YGP5aW95bey5L+d5a2Y77yM5bm25bey5Zue6K+756Gu6K6k44CCIiwicmlzay5taXNtYXRjaCI6IuWbnuivu+S4juaPkOS6pOS4jeS4gOiHtO+8jOacquehruiupOW3suS/neWtmOOAgiIsInJpc2sudW52ZXJpZmllZCI6IuW3suaPkOS6pO+8jOaaguaXoOazleehruiupO+8jOivt+mHjeaWsOivu+WPluOAgiIsInJpc2suY29uZmxpY3QiOiLniYjmnKzlt7Llj5jljJbvvIzmnKropobnm5blt7Lkv53lrZjlhoXlrrnjgIIiLCJyaXNrLnJldmlldyI6IuS/neWtmOe7k+aenOWwmuacquehruiupO+8jOivt+mHjeaWsOivu+WPluOAgiIsInJpc2suYWNrIjoi56Gu6K6kIiwiYWNjb3VudHMudGFiLmNvbnRyb2xzIjoi6L+Q6KGM5o6n5Yi2IiwiYWNjb3VudHMudGFiLmhpc3RvcnkiOiLlj5jmm7TorrDlvZUiLCJhY2NvdW50cy5mcmVzaG5lc3MiOiLmlbDmja7mlrDpspzluqYiLCJhY2NvdW50cy5ydW5fc3RhdGUiOiLov5DooYznirbmgIEiLCJhY2NvdW50cy5lZGl0Ijoi57yW6L6RIiwiYWNjb3VudHMuY2hlY2tfY2hhbmdlcyI6IuajgOafpeWPmOabtCIsImFjY291bnRzLnZpZXdpbmciOiLmn6XnnIvmgIEiLCJhY2NvdW50cy5lZGl0aW5nIjoi57yW6L6R5LitIiwiYWNjb3VudHMuZGlmZl9kaWFsb2dfdGl0bGUiOiLnoa7orqTojYnmoYjlj5jmm7QiLCJhY2NvdW50cy5jb2wuZHJhZnQiOiLojYnmoYgiLCJhY2NvdW50cy5hY2tfbGl2ZSI6IuaIkeW3suS6huino+i/meS6m+S/ruaUueW9seWTjeWunuebmCIsImFjY291bnRzLnNhdmVfZHJhZnQiOiLkv53lrZjojYnmoYgiLCJhY2NvdW50cy5kcmFmdF9zYXZlZCI6IuiNieahiOW3suS/neWtmOOAgiIsImFjY291bnRzLmRyYWZ0X25vdGUiOiLkv53lrZjojYnmoYjkuI3kvJrkuIvljZXjgIHlkK/nlKjotKbmiLfmiJbmlLnlj5jkuqTmmJPmnYPpmZDvvJvlvZPliY3nlJ/mlYjphY3nva7kv53mjIHkuI3lj5jjgIIiLCJhY2NvdW50cy5jb25mbGljdCI6IueJiOacrOWGsueqge+8muiNieahiOW3suiiq+WFtuS7luS6uuS/ruaUueOAguivt+WIt+aWsOehruiupOacgOaWsOW3ruW8guWQjumHjeivleOAgiIsImFjY291bnRzLmlkZW50aXR5X2NvbmZsaWN0Ijoi6I2J5qGI57uR5a6a55qE6LSm5oi36Lqr5Lu95bey5Y+Y5YyW77yM6K+35YWI5Yi35paw56Gu6K6k44CCIiwiYWNjb3VudHMubm9fY2hhbmdlcyI6IuayoeacieS/ruaUuSIsImFjY291bnRzLmhpc3RvcnkuZW1wdHkiOiLmmoLml6Dlj5jmm7TorrDlvZUiLCJhY2NvdW50cy5ldmVudC5kcmFmdF9zYXZlZCI6IuiNieahiOS/neWtmCIsImFjY291bnRzLmV2ZW50LmFwcHJvdmVkIjoi5om55YeGIiwiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCI6IuacquiusOW9lSIsImFjY291bnRzLmhpc3Rvcnkubm90ZSI6IuWPmOabtOiusOW9leacieS/neeVmeS4iumZkO+8m+aJueWHhuaIluS/neWtmOS4jeS7o+ihqOW3sueUn+aViOOAgiIsImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIjoi6I2J5qGI54mI5pysIHt2YWx1ZX0iLCJjb250cm9scy50aXRsZSI6Iui/kOihjOaOp+WItiIsImNvbnRyb2xzLmRhbmdlcl9ub3RlIjoi5Lul5LiL5pON5L2c5b2x5ZON5a6e55uY6L+Q6KGM77yM6K+356Gu6K6k5ZCO5omn6KGM44CCIiwiY29udHJvbHMuZW5hYmxlIjoi5ZCv55SoIiwiY29udHJvbHMuc3RvcCI6IuWBnOatoiIsImNvbnRyb2xzLnJlc3VtZSI6IuaBouWkjSIsImNvbnRyb2xzLmFwcHJvdmVfYXBwbGljYXRpb24iOiLmibnlh4blupTnlKgiLCJjb250cm9scy5zdG9wX3N1bW1hcnkiOiLlgZzmraLlj6rpmLvmraLmlrDnmoTop6blj5HvvIzkuI3kvJrmkqTljZXjgIHlubPku5PmiJbmuIXpmaTlnKjpgJTor7fmsYLjgIIiLCJjb250cm9scy5yZXN1bWVfc3VtbWFyeSI6IuaBouWkjeaXouaciei/kOihjOebruagh++8jOS4jeS/ruaUueetlueVpeaIlui1hOmHkeWPguaVsOOAgiIsImNvbnRyb2xzLmFwcHJvdmVfc3VtbWFyeSI6IuaJueWHhuW6lOeUqOW9k+WJjeetlueVpeaho+ahiOiNieahiO+8m+aPkOS6pOWQjumcgOehruiupOWunumZheeUn+aViOeKtuaAge+8jOS4jeS8muebtOaOpeS4i+WNleOAgiIsImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5Ijoi5ZCv55So6L+Q6KGM55uu5qCH77yM5L2/5pei5pyJ6LCD5bqm5oGi5aSN6Kem5Y+R44CCIiwiY29udHJvbHMuc3RvcF9jb25maXJtX3RpdGxlIjoi56Gu6K6k5YGc5q2i6L+Q6KGM55uu5qCHIiwiY29udHJvbHMuc3RvcF90eXBlX2FsaWFzIjoi6L6T5YWl6LSm5oi35Yir5ZCNIHthbGlhc30g5Lul56Gu6K6k5YGc5q2iIiwiY29udHJvbHMuYWxpYXNfbWlzbWF0Y2giOiLovpPlhaXnmoTliKvlkI3kuI3kuIDoh7QiLCJjb250cm9scy5zdWJtaXR0ZWQiOiLor7fmsYLlt7Lmj5DkuqTvvJvnu5PmnpzpnIDor7vlm57noa7orqTvvIzor7fli7/ph43lpI3mj5DkuqTjgIIiLCJjb250cm9scy5zdWJtaXRfZmFpbGVkIjoi5o+Q5Lqk5pyq5a6M5oiQ77yb6K+356Gu6K6k5b2T5YmN54q25oCB5ZCO5YaN5Yaz5a6a77yM6YG/5YWN6YeN5aSN5o+Q5Lqk44CCIiwiY29udHJvbHMudW5rbm93bl9yZXN1bHQiOiLkuIrmrKHmj5DkuqTnu5PmnpzmnKrnn6XvvIzlt7LplIHlrprvvJvor7flhYjliLfmlrDnoa7orqTjgIIiLCJjb250cm9scy51bmF2YWlsYWJsZSI6IuS4jeWPr+eUqO+8mntyZWFzb259Iiwic3RyYXRlZ2llcy50aXRsZSI6IuetlueVpSIsInN0cmF0ZWdpZXMuZG9tYWluIjoi5biC5Zy6Iiwic3RyYXRlZ2llcy5tb2RlcyI6IuaWsOWinuWQr+eUqO+8j+WIh+aNouaWueW8jyIsInN0cmF0ZWdpZXMuYWNjb3VudHNfdXNpbmciOiLlt7LphY3nva7otKbmiLciLCJzdHJhdGVnaWVzLmFjY291bnRfZXhlY3V0aW9uIjoi6LSm5oi35omn6KGM5qih5byPIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGVnYWN5X2xpdmUiOiLlrp7nm5giLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5saXZlIjoi5a6e55uYIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZV91bmtub3duIjoi5a6e55uYIiwic3RyYXRlZ2llcy5leGVjdXRpb24ucGFwZXIiOiLmqKHmi58iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5kcnlfcnVuIjoi5ryU57uDIiwic3RyYXRlZ2llcy5leGVjdXRpb24udW5rbm93biI6IuaJp+ihjOaooeW8j+acquefpSIsInN0cmF0ZWdpZXMubGl2ZV9leHBvc3VyZSI6IuWunuebmOetlueVpeS9v+eUqOecn+Wunui1hOmHke+8m+ebruW9leaWueW8j+S7hee6puadn+aWsOWinuWQr+eUqOaIluWIh+aNouOAgiIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uX3NvdXJjZSI6IuaooeW8j+adpeiHqui0puaIt+mFjee9ru+8m+acgOi/kei/kOihjOWPiuaIkOS6pOeKtuaAgeacqumqjOivgeOAgiIsInN0cmF0ZWdpZXMuaGVhbHRoIjoi5YGl5bq35bqmIiwic3RyYXRlZ2llcy5oZWFsdGhfc2NvcmUiOiLor4TliIYge3ZhbHVlfSIsInN0cmF0ZWdpZXMubGFzdF9wcm9tb3Rpb24iOiLmnIDov5HmmYvnuqciLCJzdHJhdGVnaWVzLnBhcmFtc19zdW1tYXJ5Ijoi5Y+C5pWw5pGY6KaBIiwic3RyYXRlZ2llcy5wcm9tb3Rpb25fdGltZWxpbmUiOiLmmYvnuqfml7bpl7Tnur8iLCJzdHJhdGVnaWVzLmVtcHR5Ijoi5pqC5peg562W55WlIiwic3RyYXRlZ2llcy50YWIuY2F0YWxvZyI6IuetlueVpeebruW9lSIsInN0cmF0ZWdpZXMudGFiLnJlc2VhcmNoIjoi56CU56m257q/57SiIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9vbmx5Ijoi5LuF56CU56m277yM5LiN5LiL5Y2VIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9ub3RfY29ubmVjdGVkIjoi56CU56m257q/57Si5pyq5o6l5YWl44CCIiwiaGVhbHRoLnRpdGxlIjoi6L+Q6KGM54q25oCBIiwiaGVhbHRoLnN0YXQudG9kYXlfcnVucyI6IuS7iuaXpei/kOihjCB7b2t9L3t0b3RhbH0iLCJoZWFsdGguc3RhdC5vYnNlcnZlZCI6IuW3suingua1iyB7b2JzZXJ2ZWR9L3tjb25maWd1cmVkfSIsImhlYWx0aC5zdGF0LmNyZWRlbnRpYWxzIjoi5Yet6K+BIHtjb3VudH0g6aG56ZyA5YWz5rOoIiwiaGVhbHRoLnN0YXQucmVjZW50X2ZhaWx1cmUiOiLmnIDov5HlpLHotKUge2NvdW50fSIsImhlYWx0aC5ncmlkX3RpdGxlIjoi6L+RIDE0IOS4que6vee6puS4muWKoeaXpSIsImhlYWx0aC5ncmlkLm9rIjoi5oiQ5YqfIiwiaGVhbHRoLmdyaWQuZmFpbGVkIjoi5aSx6LSlIiwiaGVhbHRoLmdyaWQubm90X3J1biI6Iuacqui/kOihjCIsImhlYWx0aC5ncmlkLm5vX3JlY29yZCI6IuaXoOiusOW9lSIsImhlYWx0aC5kYXlfZGV0YWlsIjoi5b2T5pel6K6w5b2VIiwiaGVhbHRoLmZyZXNobmVzc190aXRsZSI6IuaVsOaNruaWsOmynOW6piIsImhlYWx0aC50YWJsZV9zY3JvbGxfaGludCI6IuW3puWPs+a7keWKqOafpeeci+WujOaVtOihqOagvCIsImhlYWx0aC5ncmlkX3Njcm9sbF9oaW50Ijoi5bem5Y+z5ruR5Yqo5p+l55yL5YWo6YOo5pel5pyf77yM6LSm5oi35YiX5L+d5oyB5Y+v6KeBIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuZXhwaXJlZCI6IuW3sui/h+acnyIsImhlYWx0aC5jcmVkZW50aWFsX3BoYXNlLjMwIjoiMzAg5aSp5YaF5Yiw5pyfIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuMTQiOiIxNCDlpKnlhoXliLDmnJ8iLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS43IjoiNyDlpKnlhoXliLDmnJ8iLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS5ub3RfZHVlIjoi5q2j5bi4IiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UudW5rbm93biI6IuacquefpSIsImhlYWx0aC5hY3Rpdml0eSI6Iua0u+WKqCIsImhlYWx0aC5ydW5fY291bnQiOiLov5DooYzmrKHmlbAiLCJoZWFsdGguY29sLmFjY291bnQiOiLotKbmiLciLCJoZWFsdGguY29sLnNvdXJjZSI6Iuadpea6kCIsImhlYWx0aC5jb2wuc3RhdHVzIjoi54q25oCBIiwiaGVhbHRoLmNvbC5hc19vZiI6IuaVsOaNruaXtumXtCIsImVycm9yLmdlbmVyaWMiOiLor7fmsYLmnKrlrozmiJDvvJvor7fliLfmlrDlubbnoa7orqTlvZPliY3nirbmgIHjgIIiLCJlcnJvci5zZXNzaW9uX2V4cGlyZWQiOiLkvJror53lt7LlpLHmlYjvvIzor7fph43mlrDnmbvlvZXjgIIiLCJlcnJvci5hY2Nlc3NfZGVuaWVkIjoi6K6/6Zeu6KKr5ouS57ud44CCIiwiZXJyb3IuY29uZmxpY3QiOiLniYjmnKzlhrLnqoHvvJvlvZPliY3nvJbovpHlt7Lkv53nlZnvvIzor7fliLfmlrDnoa7orqTjgIIifSxtbT17InNoZWxsLnN3aXRjaF9saWdodCI6IlN3aXRjaCB0byBsaWdodCBtb2RlIiwic2hlbGwuc3dpdGNoX2RhcmsiOiJTd2l0Y2ggdG8gZGFyayBtb2RlIiwic2hlbGwudXBkYXRlX2F2YWlsYWJsZSI6IkEgbmV3IHZlcnNpb24gaXMgcmVhZHkuIFJlZnJlc2ggdG8gdXNlIGl0LiIsInNoZWxsLnJlbG9hZCI6IlJlZnJlc2ggcGFnZSIsImFwcC5uYW1lIjoiUXVhbnRTdHJhdGVneUxhYiIsInNoZWxsLmNvY2twaXQiOiJEZWNpc2lvbiBDb2NrcGl0IiwibmF2Lm1haW4iOiJNYWluIG5hdmlnYXRpb24iLCJuYXYub3ZlcnZpZXciOiJPdmVydmlldyIsIm5hdi5wZXJmb3JtYW5jZSI6IlBlcmZvcm1hbmNlIiwibmF2LmRlY2lzaW9ucyI6IkRlY2lzaW9ucyIsIm5hdi5hY2NvdW50cyI6IkFjY291bnRzIiwibmF2LnN0cmF0ZWdpZXMiOiJTdHJhdGVnaWVzIiwibmF2LmhlYWx0aCI6IkhlYWx0aCIsIm5hdi5tb3JlIjoiTW9yZSIsIm5hdi50b2RvX3VuYXZhaWxhYmxlIjoiVG8tZG8gY291bnQgdW5hdmFpbGFibGUiLCJjb21tb24ubG9hZGluZyI6IkxvYWRpbmfigKYiLCJjb21tb24ucmV0cnkiOiJSZXRyeSIsImNvbW1vbi5jbG9zZSI6IkNsb3NlIiwiY29tbW9uLmNhbmNlbCI6IkNhbmNlbCIsImNvbW1vbi5jb25maXJtIjoiQ29uZmlybSIsImNvbW1vbi5zYXZlIjoiU2F2ZSIsImNvbW1vbi5lZGl0IjoiRWRpdCIsImNvbW1vbi5iYWNrIjoiQmFjayIsImNvbW1vbi5hbGwiOiJBbGwiLCJjb21tb24ubm9uZSI6Ik5vbmUiLCJjb21tb24udW5rbm93biI6IlVua25vd24iLCJjb21tb24ubmEiOiLigJQiLCJjb21tb24uYXNfb2YiOiJEYXRhIGFzIG9mIHt2YWx1ZX0iLCJjb21tb24udXBkYXRlZF9hdCI6IlBhZ2UgcmVmcmVzaGVkIHt2YWx1ZX0iLCJjb21tb24ucmVmcmVzaCI6IlJlZnJlc2giLCJjb21tb24ucmVmcmVzaGluZyI6IlJlZnJlc2hpbmfigKYiLCJjb21tb24uY29weSI6IkNvcHkiLCJjb21tb24uY29waWVkIjoiQ29waWVkIiwiY29tbW9uLnZpZXdfYWxsIjoiVmlldyBhbGwiLCJjb21tb24ubG9hZF9tb3JlIjoiTG9hZCBtb3JlIiwiY29tbW9uLnRhYmxlX3Njcm9sbF9oaW50IjoiU2Nyb2xsIHNpZGV3YXlzIGZvciBhbGwgZmllbGRzIiwiY29tbW9uLmV4cGFuZCI6IkV4cGFuZCIsImNvbW1vbi5jb2xsYXBzZSI6IkNvbGxhcHNlIiwiY29tbW9uLmFjY291bnQiOiJBY2NvdW50IiwiY29tbW9uLmlia3JfYWNjb3VudCI6IklCS1IgYWNjb3VudCIsImNvbW1vbi5wbGF0Zm9ybSI6IlBsYXRmb3JtIiwiY29tbW9uLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJjb21tb24udGltZSI6IlRpbWUiLCJjb21tb24uc3RhdHVzIjoiU3RhdHVzIiwiY29tbW9uLmRldGFpbHMiOiJEZXRhaWxzIiwiY29tbW9uLnN5bnRoZXRpY19iYWRnZSI6IlN5bnRoZXRpYyBkZW1vIiwiY29tbW9uLnBhcGVyX2JhZGdlIjoiUGFwZXIiLCJjb21tb24ucGFnZV9sb2FkX2ZhaWxlZCI6IlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkIiwiY29tbW9uLnJlYWRfZmFpbGVkX2Jhbm5lciI6IlNvbWUgZGF0YSBmYWlsZWQgdG8gbG9hZC4gQSBmYWlsZWQgcmVhZCBkb2VzIG5vdCBtZWFuIHRoZXJlIGlzIG5vdGhpbmcgdG8gc2hvdzsgcGxlYXNlIHJldHJ5LiIsImNvbW1vbi51bnNhdmVkX2d1YXJkX3RpdGxlIjoiRGlzY2FyZCB1bnNhdmVkIGNoYW5nZXM/IiwiY29tbW9uLnVuc2F2ZWRfZ3VhcmRfYm9keSI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgbG9zdCBpZiB5b3UgbGVhdmUuIiwic3RhdGUudW5rbm93bl9zdGF0dXMiOiJVbmtub3duIHN0YXR1cyIsInN0YXRlLnJldmlldyI6Ik5lZWRzIHJldmlldyIsInN0YXRlLndhdGNoIjoiV2F0Y2giLCJzdGF0ZS5jcml0aWNhbCI6IkNyaXRpY2FsIiwic3RhdGUuYmxvY2tlZCI6IkJsb2NrZWQiLCJzdGF0ZS5mYWlsZWQiOiJGYWlsZWQiLCJzdGF0ZS5yZWFkX2luY29tcGxldGUiOiJSZWFkIGluY29tcGxldGUiLCJzdGF0ZS5pbnN1ZmZpY2llbnQiOiJJbnN1ZmZpY2llbnQgZGF0YSIsInN0YXRlLnByZXZpZXdlZCI6IlByZXZpZXdlZCIsInN0YXRlLm5vX3N1Ym1pc3Npb24iOiJObyBvcmRlciBzdWJtaXR0ZWQiLCJzdGF0ZS5ub19yZWJhbGFuY2UiOiJObyByZWJhbGFuY2UiLCJzdGF0ZS5maWxsZWQiOiJGaWxsZWQiLCJzdGF0ZS5ub3RfZHVlIjoiTm90IGR1ZSB5ZXQiLCJzdGF0ZS5tYXJrZXRfY2xvc2VkIjoiTWFya2V0IGNsb3NlZCIsInN0YXRlLm91dHNpZGVfd2luZG93IjoiT3V0c2lkZSBydW4gd2luZG93Iiwic3RhdGUud2l0aGluX2dyYWNlIjoiV2l0aGluIGdyYWNlIHBlcmlvZCIsInN0YXRlLm1pc3NpbmdfcmVwb3J0IjoiUmVwb3J0IG1pc3NpbmciLCJzdGF0ZS5lcnJvciI6IlJ1biBlcnJvciIsInN0YXRlLmhlYWx0aHkiOiJIZWFsdGh5Iiwic3RhdGUubm9fc2lnbmFsIjoiTm8gc2lnbmFsIiwic3RhdGUub2siOiJPSyIsInN0YXRlLnBhcnRpYWwiOiJQYXJ0aWFsIiwic3RhdGUucGFydGlhbF92YWx1YXRpb24iOiJWYWx1YXRpb24gaW5jb21wbGV0ZSIsInN0YXRlLnBhcnRpYWxfcnVudGltZSI6IlJ1bnRpbWUgbm90IGNvbm5lY3RlZCIsInN0YXRlLnN0YWxlIjoiU3RhbGUiLCJzdGF0ZS5ub19kYXRhIjoiTm8gZGF0YSIsInN0YXRlLm5vdF9jb25uZWN0ZWQiOiJOb3QgY29ubmVjdGVkIiwic3RhdGUudW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZSIsInN0YXRlLnJlYWRfZmFpbGVkIjoiUmVhZCBmYWlsZWQiLCJzdGF0ZS5sb2FkX2ZhaWxlZCI6IlVuYWJsZSB0byBsb2FkIiwicmVhc29uLmV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIjoiQ29tcGxldGUgY2FzaC1mbG93IHJlY29yZHMgYXJlIG1pc3Npbmc7IFRXUiBpcyB1bmF2YWlsYWJsZSBhbmQgYW1vdW50cyBhcmUgc2hvd24gYXMgYXNzZXQgY2hhbmdlLiIsInJlYXNvbi5maWxsc19ub3RfY29ubmVjdGVkIjoiVGhlIGZpbGwgc291cmNlIGlzIG5vdCBjb25uZWN0ZWQiLCJyZWFzb24uZXhlY3V0aW9uX2NvdmVyYWdlX3VudmVyaWZpZWQiOiJFeGVjdXRpb24gY292ZXJhZ2UgaXMgdW52ZXJpZmllZCIsInJlYXNvbi5hdmdfY29zdF9taXNzaW5nIjoiQXZlcmFnZSBjb3N0IGlzIG1pc3NpbmcsIHNvIHVucmVhbGl6ZWQgUC9MIGNhbm5vdCBiZSBjYWxjdWxhdGVkIiwicmVhc29uLm1peGVkX2N1cnJlbmN5IjoiTWl4ZWQgY3VycmVuY2llcyBjYW5ub3QgYmUgY29tYmluZWQgaW50byBvbmUgYW1vdW50OyBlYWNoIGN1cnJlbmN5IGlzIHNob3duIHNlcGFyYXRlbHkiLCJyZWFzb24uc25hcHNob3RfaGlzdG9yeV9taXNzaW5nIjoiSGlzdG9yaWNhbCBhc3NldCBzbmFwc2hvdHMgYXJlIG1pc3NpbmciLCJyZWFzb24uc25hcHNob3RfbWlzc2luZyI6IkFzc2V0IHNuYXBzaG90IGlzIG1pc3NpbmciLCJyZWFzb24uc25hcHNob3RfcGVuZGluZyI6IlRvZGF5J3MgZGF0YSBpcyBwZW5kaW5nIHVwZGF0ZSIsInJlYXNvbi5wcmV2aW91c19zbmFwc2hvdF9taXNzaW5nIjoiVGhlIHByZXZpb3VzIGRheSdzIGFzc2V0IHNuYXBzaG90IGlzIG1pc3NpbmciLCJyZWFzb24ubm9uX3RyYWRpbmdfd2Vla2VuZCI6Ik5vbi10cmFkaW5nIGRheSIsInJlYXNvbi5pbmNvbXBsZXRlX21vbnRoIjoiVGhlIG1vbnRoIGlzIHN0aWxsIGluY29tcGxldGUiLCJyZWFzb24uaW5zdWZmaWNpZW50X29ic2VydmF0aW9ucyI6Ik5vdCBlbm91Z2ggaGlzdG9yeSIsInJlYXNvbi5pbnZhbGlkX3JldHVybl9wZXJpb2QiOiJJbnZhbGlkIHJhbmdlIGVuZHBvaW50cyIsInJlYXNvbi5wb3NpdGlvbnNfcGFydGlhbF9jb3ZlcmFnZSI6IlBvc2l0aW9ucyBjb3ZlciBvbmx5IHBhcnQgb2YgdGhlIGFzc2V0cyIsInJlYXNvbi5wb3NpdGlvbnNfbm90X2Nvbm5lY3RlZCI6IlRoZSBwb3NpdGlvbiBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5wb3NpdGlvbnNfc3RhbGUiOiJQb3NpdGlvbiBkYXRhIGlzIHN0YWxlIiwicmVhc29uLmJlbmNobWFya19oaXN0b3J5X3VucmVhZGFibGUiOiJCZW5jaG1hcmsgZGF0YSBmYWlsZWQgdG8gbG9hZCIsInJlYXNvbi5wb3NpdGlvbl92YWx1ZV9taXNzaW5nIjoiUG9zaXRpb24gbWFya2V0IHZhbHVlIGlzIG1pc3NpbmciLCJyZWFzb24ubm9fY29tbW9uX2RhdGUiOiJObyBjb21tb24gZGF0ZSB0byBhbGlnbiB3aXRoIHRoZSBiZW5jaG1hcmsiLCJyZWFzb24uYmVuY2htYXJrX2hpc3RvcnlfbWlzc2luZyI6IkJlbmNobWFyayBoaXN0b3J5IGlzIG1pc3NpbmciLCJyZWFzb24uc3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSI6IlN0b3JlZCByZWNvcmRzIGNvdWxkIG5vdCBiZSByZWFkIiwicmVhc29uLmVmZmVjdF92ZXJpZmljYXRpb25fbm90X3JlY29yZGVkIjoiTm8gcmVjb3JkIGlzIGF2YWlsYWJsZSB0byBjb25maXJtIHdoZXRoZXIgdGhlIGNoYW5nZSB0b29rIGVmZmVjdC4iLCJyZWFzb24uYm91bmRlZF9hdWRpdF9sb2ciOiJIaXN0b3J5IHJldGVudGlvbiBpcyBib3VuZGVkIGFuZCBtYXkgYmUgaW5jb21wbGV0ZSIsInJlYXNvbi5ub19jbG9zZWRfdHJhZGVzIjoiTm8gY2xvc2VkIHRyYWRlcyIsInJlYXNvbi5ub3RpZmljYXRpb25fbG9nX25vdF9jb25uZWN0ZWQiOiJUaGUgbm90aWZpY2F0aW9uIGxvZyBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5ydW50aW1lX2RhaWx5X25vdF9jb25uZWN0ZWQiOiJUaGUgcnVuLXJlY29yZCBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5ydW50aW1lX2RhaWx5X2JpbmRpbmdfY29uZmxpY3QiOiJNdWx0aXBsZSBydW4tcmVjb3JkIGJpbmRpbmdzIG1hdGNoIHRoaXMgYWNjb3VudDsgY2hlY2sgY29uZmlndXJhdGlvbiIsInJlYXNvbi50b2RheV9yZWNvcmRfbWlzc2luZyI6Ik5vIHJ1biByZWNvcmQgZm9yIHRvZGF5IiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfc3RhbGUiOiJUaGUgcnVuIHJlY29yZCBpcyBzdGFsZSIsInJlYXNvbi5ydW50aW1lX2RhaWx5X2luY29tcGxldGUiOiJUaGUgcnVuIHJlY29yZCBpcyBpbmNvbXBsZXRlIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9ub3RfY29ubmVjdGVkIjoiVGhlIHN0cmF0ZWd5IGhlYWx0aCBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5hdmFpbGFibGUiOiJBdmFpbGFibGUiLCJyZWFzb24uYWRtaW5fcmVxdWlyZWQiOiJBZG1pbiBwZXJtaXNzaW9uIHJlcXVpcmVkIiwicmVhc29uLmRpc3BhdGNoX3VuYXZhaWxhYmxlIjoiRGlzcGF0Y2ggaXMgdW5hdmFpbGFibGUiLCJyZWFzb24uc3RvcF9wZW5kaW5nX29yX2lkZW50aXR5X3VuYXZhaWxhYmxlIjoiQSBzdG9wIHJlcXVlc3QgaXMgcGVuZGluZyBvciBpZGVudGl0eSBpcyB1bmF2YWlsYWJsZSIsInJlYXNvbi5zdHJhdGVneV9hcHBsaWNhdGlvbl9ub3RfY29ubmVjdGVkIjoiVGhlIHN0cmF0ZWd5IGFwcGxpY2F0aW9uIGNoYW5uZWwgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5leGlzdGluZ19yZWNvdmVyeV9ub3RfYXZhaWxhYmxlIjoiTm8gZXhpc3RpbmcgcmVjb3ZlcnkgZmxvdyBpcyBhdmFpbGFibGUiLCJyZWFzb24ucnVudGltZV9pbnN0YW5jZXNfbm90X2JvdW5kIjoiUnVudGltZSBpbnN0YW5jZXMgYXJlIG5vdCBib3VuZCIsInJlYXNvbi5hY2NvdW50X3NldHRpbmdzX2lkZW50aXR5X2NvbmZsaWN0IjoiVGhlIGRyYWZ0IGlzIGJvdW5kIHRvIGFuIG9sZGVyIGlkZW50aXR5OyByZWNvbmNpbGUgZmlyc3QiLCJyZWFzb24ucHJvZmlsZV9kcmFmdF9yZXF1aXJlZCI6IlNhdmUgYSBzdHJhdGVneSBkcmFmdCBmb3IgdGhpcyBhY2NvdW50IGZpcnN0LiIsInJlYXNvbi5wcm9maWxlX29ubHlfcmVxdWlyZWQiOiJPbmx5IHN0cmF0ZWd5LXByb2ZpbGUgZHJhZnRzIGFyZSBzdXBwb3J0ZWQiLCJyZWFzb24ucHJvZmlsZV9ub3Rfc2VsZWN0YWJsZSI6IlRoaXMgc3RyYXRlZ3kgcHJvZmlsZSBjYW5ub3QgYmUgc2VsZWN0ZWQiLCJyZWFzb24ucnVudGltZV9yZWFkYmFja191bmF2YWlsYWJsZSI6IlJ1bnRpbWUgcmVhZGJhY2sgaXMgdW5hdmFpbGFibGUiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3BlbmRpbmciOiJUaGUgcHJldmlvdXMgYWN0aW9uIGlzIGF3YWl0aW5nIGNvbmZpcm1hdGlvbiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfcmVzdWx0X3VuYXZhaWxhYmxlIjoiVGhlIHJlc3VsdCBpcyB1bmNvbmZpcm1lZC4gUmVmcmVzaCB0byBjaGVjay4iLCJyZWFzb24ucGxhdGZvcm1fcmVzdWx0X3VuYXZhaWxhYmxlIjoiVGhlIHBsYXRmb3JtIHJlc3VsdCBpcyB1bmNvbmZpcm1lZC4gUmVmcmVzaCB0byBjaGVjay4iLCJyZWFzb24ucGxhdGZvcm1fZGlzcGF0Y2hfdW52ZXJpZmllZCI6IlRoZSBwbGF0Zm9ybSByZXF1ZXN0IGlzIHVuY29uZmlybWVkLiIsInJlYXNvbi5wbGF0Zm9ybV9kaXNwYXRjaF9yZWplY3RlZCI6IlRoZSBwbGF0Zm9ybSByZWplY3RlZCB0aGUgcmVxdWVzdDsgdGhlIHNldHRpbmcgbWF5IGhhdmUgYmVlbiBzYXZlZC4iLCJyZWFzb24ucmVhZGJhY2tfZGlzcGF0Y2hfcmVqZWN0ZWQiOiJUaGUgcGxhdGZvcm0gcmVzdWx0IGNhbm5vdCBiZSBjaGVja2VkIHJpZ2h0IG5vdy4iLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3Blcm1pc3Npb25fZGVuaWVkIjoiUGVybWlzc2lvbiB0byByZWFkIHRoZSBwbGF0Zm9ybSB3b3JrZmxvdyBpcyB1bmF2YWlsYWJsZS4iLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3VuYXZhaWxhYmxlIjoiVGhlIHBsYXRmb3JtIHdvcmtmbG93IGlzIHVuYXZhaWxhYmxlLiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfdGFyZ2V0X3Vuc3VwcG9ydGVkIjoiVGhlIGFjY291bnQgYmluZGluZyBkb2VzIG5vdCBtYXRjaCB0aGUgcGxhdGZvcm0gY29uZmlndXJhdGlvbi4iLCJyZWFzb24uc3RvcF9zb3VyY2VfcGVybWlzc2lvbl9kZW5pZWQiOiJQZXJtaXNzaW9uIHRvIHJlYWQgcGxhdGZvcm0gc2V0dGluZ3MgaXMgdW5hdmFpbGFibGUuIiwicmVhc29uLnN0b3Bfc291cmNlX25vdF9hY2Nlc3NpYmxlIjoiUGxhdGZvcm0gc2V0dGluZ3MgY2Fubm90IGJlIHJlYWQgcmlnaHQgbm93LiIsInJlYXNvbi5ydW50aW1lX3RhcmdldF9ub3RfZGlzYWJsZWQiOiJUaGUgcnVudGltZSB0YXJnZXQgaXMgbm90IGRpc2FibGVkIHlldCIsInJlYXNvbi5jdXJyZW50X3Byb2ZpbGVfY29uZmxpY3QiOiJUaGUgY3VycmVudCBzdHJhdGVneSBwcm9maWxlIGNvbmZsaWN0cyIsInJlYXNvbi5wcm9maWxlX2FwcGxpY2F0aW9uX3BlbmRpbmciOiJBbiBhcHBsaWNhdGlvbiByZXF1ZXN0IGlzIGFscmVhZHkgcGVuZGluZyIsInJlYXNvbi5zeW50aGV0aWNfZ3VhcmRfYmxvY2tlZCI6IlRoaXMgYWN0aW9uIGlzIG5vdCBvZmZlcmVkIGluIHRoZSBzeW50aGV0aWMgZGVtbyIsInJlYXNvbi5pbnZhbGlkX2NyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdCI6IlRoZSByZXF1ZXN0IGRpZCBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIGZvcm1hdC4gQ2hlY2sgd2hhdCB5b3UgZW50ZXJlZCBhbmQgc3VibWl0IGFnYWluLiIsInJlYXNvbi5pbnZhbGlkX2NyZWRlbnRpYWxfZXhwaXJ5IjoiSW52YWxpZCBleHBpcnkuIFVzZSBhIGZ1dHVyZSB0aW1lIHdpdGggYW4gZXhwbGljaXQgb2Zmc2V0LCBmb3IgZXhhbXBsZSArMDg6MDAuIiwicmVhc29uLm9yaWdpbl9yZXF1aXJlZCI6IlRoZSByZXF1ZXN0IGNhcnJpZWQgbm8gb3JpZ2luLCBzbyBub3RoaW5nIHdhcyBzZW50LiBSZWZyZXNoIHRoZSBwYWdlIGFuZCB0cnkgYWdhaW4uIiwicmVhc29uLmNyb3NzX29yaWdpbl9yZWplY3RlZCI6IlRoZSByZXF1ZXN0IGNhbWUgZnJvbSBhbm90aGVyIHNpdGUgYW5kIHdhcyByZWplY3RlZC4gU3RhcnQgaXQgYWdhaW4gb24gdGhpcyBjb25zb2xlIHBhZ2UuIiwicmVhc29uLnJvdGF0aW9uX293bmVyX3JlcXVpcmVkIjoiT25seSB0aGUgY3JlZGVudGlhbCByb3RhdGlvbiBvd25lciBjYW4gd3JpdGUuIFRoZSBzaWduZWQtaW4gaWRlbnRpdHkgbGFja3MgdGhhdCBwZXJtaXNzaW9uLiIsInJlYXNvbi5zdGVwX3VwX2ludmFsaWQiOiJUaGUgY29kZSBpcyBpbnZhbGlkIG9yIGFscmVhZHkgdXNlZC4gWW91ciBzaWduLWluIGlzIHN0aWxsIGFjdGl2ZTsgdXNlIGEgY29kZSB5b3UgaGF2ZSBub3QgdXNlZC4iLCJyZWFzb24uc3RlcF91cF9yYXRlX2xpbWl0ZWQiOiJUb28gbWFueSBmYWlsZWQgY29kZXMgaW4gYSByb3cuIFdhaXQgZml2ZSBtaW51dGVzIGJlZm9yZSB0cnlpbmcgYWdhaW4uIiwicmVhc29uLmNyZWRlbnRpYWxfcm90YXRpb25fb3BlcmF0aW9uX25vdF9mb3VuZCI6IlRoYXQgcm90YXRpb24gb3BlcmF0aW9uIHdhcyBub3QgZm91bmQuIFJlZnJlc2ggdGhlIHN0YXR1cyBhbmQgY2hlY2sgdGhlIG9wZXJhdGlvbiBpZC4iLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0X2NvbmZsaWN0IjoiVGhpcyByZXF1ZXN0IGlkIHdhcyBhbHJlYWR5IHVzZWQgZm9yIGRpZmZlcmVudCBjb250ZW50LCBzbyBub3RoaW5nIHdhcyBzZW50LiBSZWZyZXNoIGFuZCBzdGFydCBhIG5ldyBhdHRlbXB0LiIsInJlYXNvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YXRlX2NvbmZsaWN0IjoiQSByb3RhdGlvbiBpcyBhbHJlYWR5IHJ1bm5pbmcgb3IgYXdhaXRpbmcgY29uZmlybWF0aW9uLCBzbyBubyBuZXcgYWN0aW9uIGlzIGFsbG93ZWQgbm93LiIsInJlYXNvbi5jcmVkZW50aWFsX21haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IjoiVGhlIG1haW50ZW5hbmNlIHJlY29yZCBjaGFuZ2VkIGR1cmluZyBjb25maXJtYXRpb24sIHNvIG5vIGNyZWRlbnRpYWwgd2FzIHdyaXR0ZW4uIFJlZnJlc2ggYW5kIHRyeSBhZ2Fpbi4iLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSI6IlJvdGF0aW9uIGlzIHVuYXZhaWxhYmxlIHJpZ2h0IG5vdywgc28gdGhpcyBhY3Rpb24gZGlkIG5vdCB0YWtlIGVmZmVjdC4iLCJyZWFzb24ucHJveHlfdW5jb25maXJtZWQiOiJQcm92aWRlciBvdXRjb21lIHVuY29uZmlybWVkIiwicmVhc29uLm1haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IjoiTWFpbnRlbmFuY2UgcmV2aXNpb24gY29uZmxpY3QiLCJyZWFzb24ucHJvdmlkZXJfZmFpbGVkIjoiUHJvdmlkZXIgb3BlcmF0aW9uIGZhaWxlZCIsInJlYXNvbi5yZXF1ZXN0X2lkX2ludmFsaWQiOiJUaGUgcmVxdWVzdCBpZCBpcyBpbnZhbGlkLCBzbyBub3RoaW5nIHdhcyBzZW50LiIsInJlYXNvbi5vcGVyYXRpb25faWRfaW52YWxpZCI6IlRoZSBvcGVyYXRpb24gaWQgaXMgaW52YWxpZCwgc28gbm90aGluZyB3YXMgc2VudC4iLCJyZWFzb24uY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCI6IlRoZSBuZXcgdG9rZW4gbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEwMjQgYnl0ZXMuIiwicmVhc29uLnN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiOiJUaGUgc2Vjb25kLWZhY3RvciBtZXRob2QgaXMgaW52YWxpZC4gQ2hvb3NlIGl0IGFnYWluLiIsInJlYXNvbi5zdGVwX3VwX2NvZGVfcmVxdWlyZWQiOiJFbnRlciB0aGlzIG9uZS10aW1lIGNvZGUgKDEgdG8gMTI4IGNoYXJhY3RlcnMpLiIsInJlYXNvbi5kb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCI6IkNvbmZpcm0gdGhhdCBldmVyeSBkb3duc3RyZWFtIGNvbnN1bWVyIGlzIHVwZGF0ZWQgYW5kIHZlcmlmaWVkIGZpcnN0LiIsInJlYXNvbi51bmtub3duIjoiVW5rbm93biByZWFzb24iLCJhdXRoLmxvZ2luX3RpdGxlIjoiU2lnbiBpbiB0byBjb250aW51ZSIsImF1dGgubG9naW5fYm9keSI6IlNpZ24gaW4gdG8gdmlldyBvdmVydmlldywgcGVyZm9ybWFuY2UsIHRvLWRvcyBhbmQgcnVuIHN0YXR1cy4iLCJhdXRoLmxvZ2luIjoiU2lnbiBpbiIsImF1dGguZGVuaWVkX3RpdGxlIjoiTm8gYWNjZXNzIiwiYXV0aC5kZW5pZWRfYm9keSI6IlRoaXMgYWNjb3VudCBpcyBub3QgYWxsb3dlZCB0byB1c2UgdGhlIGNvbnNvbGUuIiwiYXV0aC5lcnJvcl90aXRsZSI6IkNvbnNvbGUgdW5hdmFpbGFibGUiLCJhdXRoLmVycm9yX2JvZHkiOiJUaGUgc2Vzc2lvbiBzZXJ2aWNlIGlzIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLiBQbGVhc2UgcmV0cnkgbGF0ZXIuIiwic2hlbGwuc2NvcGUiOiJBY2NvdW50IHNjb3BlIiwic2hlbGwuc2NvcGVfZXJyb3IiOiJBY2NvdW50cyB1bmF2YWlsYWJsZSIsInNoZWxsLnNjb3BlX2xvYWRpbmciOiJMb2FkaW5nIGFjY291bnRz4oCmIiwic2hlbGwuc2NvcGVfbWV0YV9lcnJvciI6IkFjY291bnQgbmFtZXMgYW5kIHBhcGVyL2xpdmUgbGFiZWxzIGFyZSB1bmF2YWlsYWJsZS4iLCJwcmVmcy5zYXZlX2Vycm9yIjoiUHJlZmVyZW5jZXMgY291bGQgbm90IGJlIHNhdmVkIGFuZCBtYXkgYmUgbG9zdCBhZnRlciByZWZyZXNoLiIsInNoZWxsLnNjb3BlX2FsbCI6IkFsbCBhY2NvdW50cyIsInNoZWxsLnNjb3BlX3BhcGVyX2dyb3VwIjoiUGFwZXIgYWNjb3VudHMiLCJzaGVsbC5oaWRlX2Ftb3VudHMiOiJIaWRlIGFtb3VudHMiLCJzaGVsbC5zaG93X2Ftb3VudHMiOiJTaG93IGFtb3VudHMiLCJzaGVsbC51c2VyX21lbnUiOiJVc2VyIG1lbnUiLCJzaGVsbC5wcmVmZXJlbmNlcyI6IlByZWZlcmVuY2VzIiwic2hlbGwubG9nb3V0IjoiU2lnbiBvdXQiLCJzaGVsbC5za2lwX3RvX2NvbnRlbnQiOiJTa2lwIHRvIGNvbnRlbnQiLCJwcmVmcy50aXRsZSI6IlByZWZlcmVuY2VzIiwicHJlZnMudGhlbWUiOiJUaGVtZSIsInByZWZzLnRoZW1lX2xpZ2h0IjoiTGlnaHQiLCJwcmVmcy50aGVtZV9kYXJrIjoiRGFyayIsInByZWZzLnRoZW1lX3N5c3RlbSI6IlN5c3RlbSIsInByZWZzLmxhbmd1YWdlIjoiTGFuZ3VhZ2UiLCJwcmVmcy51cGRvd24iOiJVcC9kb3duIGNvbG9ycyIsInByZWZzLnVwZG93bl9ncmVlbl91cCI6IkdyZWVuIHVwIC8gcmVkIGRvd24iLCJwcmVmcy51cGRvd25fcmVkX3VwIjoiUmVkIHVwIC8gZ3JlZW4gZG93biIsInByZWZzLmhpZGVfYW1vdW50cyI6IkhpZGUgYW1vdW50cyBieSBkZWZhdWx0IiwicHJlZnMuZGVmYXVsdF9yYW5nZSI6IkRlZmF1bHQgcmFuZ2UiLCJwcmVmcy5ub3RlIjoiUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbmx5IGluIHRoaXMgYnJvd3Nlci4iLCJvdmVydmlldy50b3RhbF9hc3NldHMiOiJUb3RhbCBhc3NldHMiLCJvdmVydmlldy5yYW5nZV9yZXR1cm4iOiJSYW5nZSByZXR1cm4ge3JhbmdlfSIsIm92ZXJ2aWV3Lmxhc3RfZGF5X2NoYW5nZSI6IkxhdGVzdCBkYWlseSBhc3NldCBjaGFuZ2UiLCJvdmVydmlldy50b2RvcyI6IlRvLWRvcyIsIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCI6Intjb3VudH0gdXJnZW50Iiwib3ZlcnZpZXcucnVuc19vayI6IlJ1bnMge29rfS97dG90YWx9IE9LIiwib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIjoiUmV0dXJuIHRyZW5kIiwib3ZlcnZpZXcudG9kb19wcmV2aWV3IjoiVG8tZG8gcHJldmlldyIsIm92ZXJ2aWV3Lm15X2FjY291bnRzIjoiTXkgYWNjb3VudHMiLCJvdmVydmlldy5hY2NvdW50X3N0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJvdmVydmlldy5hY2NvdW50X2Fzc2V0cyI6IkFzc2V0cyIsIm92ZXJ2aWV3LmFjY291bnRfY2FzaCI6IkNhc2giLCJvdmVydmlldy5ub19hY2NvdW50cyI6Ik5vIGFjY291bnRzIHlldCIsIm92ZXJ2aWV3LnR3cl90YWciOiJUaW1lLXdlaWdodGVkIHJldHVybiIsIm92ZXJ2aWV3Lm9wZW5fcGVyZm9ybWFuY2UiOiJPcGVuIHBlcmZvcm1hbmNlIiwib3ZlcnZpZXcub3Blbl9oZWFsdGgiOiJPcGVuIHJ1biBzdGF0dXMiLCJvdmVydmlldy5vcGVuX2RlY2lzaW9ucyI6Ik9wZW4gdG8tZG9zIiwicGVyZi52YWx1ZV9raW5kX3BubCI6IlAvTCIsInBlcmYudmFsdWVfa2luZF9hc3NldF9jaGFuZ2UiOiJBc3NldCBjaGFuZ2UiLCJwZXJmLnJhbmdlLjFNIjoiMU0iLCJwZXJmLnJhbmdlLjNNIjoiM00iLCJwZXJmLnJhbmdlLllURCI6IllURCIsInBlcmYucmFuZ2UuMVkiOiIxWSIsInBlcmYucmFuZ2UuQUxMIjoiQWxsIiwicGVyZi5yYW5nZS5sYWJlbCI6IlRpbWUgcmFuZ2UiLCJwZXJmLnJhbmdlLnJldHVybl9sYWJlbCI6IntyYW5nZX0gcmV0dXJuIiwicGVyZi5jYXJkLnR3ciI6IkN1bXVsYXRpdmUgcmV0dXJuIChUV1IpIiwicGVyZi5jYXJkLmFtb3VudCI6IlAvTCBhbW91bnQiLCJwZXJmLmNhcmQuYW1vdW50X2Fzc2V0X2NoYW5nZSI6IkFzc2V0IGNoYW5nZSIsInBlcmYuY2FyZC5tYXhfZHJhd2Rvd24iOiJNYXggZHJhd2Rvd24iLCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIjoie3BlYWt9IOKGkiB7dHJvdWdofSIsInBlcmYuY2FyZC5leGNlc3MiOiJFeGNlc3MgdnMgYmVuY2htYXJrIiwicGVyZi5jYXJkLmJlc3RfZGF5IjoiQmVzdCBkYXkiLCJwZXJmLmNhcmQud29yc3RfZGF5IjoiV29yc3QgZGF5IiwicGVyZi5yZXR1cm5zX3RpdGxlIjoiUmV0dXJucyB2cyBiZW5jaG1hcmtzIiwicGVyZi5yZXR1cm5zX2N1bXVsYXRpdmUiOiJDdW11bGF0aXZlIiwicGVyZi5yZXR1cm5zX2RhaWx5IjoiRGFpbHkiLCJwZXJmLmhvd19jYWxjdWxhdGVkIjoiSG93IGlzIHRoaXMgY2FsY3VsYXRlZD8iLCJwZXJmLm1ldGhvZF90aXRsZSI6IkhvdyByZXR1cm5zIGFyZSBjYWxjdWxhdGVkIiwicGVyZi5tZXRob2RfYm9keSI6IlRpbWUtd2VpZ2h0ZWQgKFRXUik7IGNhc2ggZmxvd3MgYXJlIGV4Y2x1ZGVkIGFuZCBlYWNoIHJhbmdlIHN0YXJ0cyBhdCB6ZXJvLiIsInBlcmYuYXNzZXRzX3RpdGxlIjoiVG90YWwgYXNzZXRzIiwicGVyZi5hc3NldHNfbm90ZSI6IlNob3dzIGFzc2V0cyBvZiB0aGUgc2VsZWN0ZWQgc2NvcGUgb25seTsgbm8gYmVuY2htYXJrcy4iLCJwZXJmLmFzc2V0c19mbG93X21hcmsiOiJDYXNoIGZsb3ciLCJwZXJmLmNhbGVuZGFyX3RpdGxlIjoiUmV0dXJuIGNhbGVuZGFyIiwicGVyZi5jYWxlbmRhcl9tb250aCI6Ik1vbnRoIiwicGVyZi5jYWxlbmRhcl95ZWFyIjoiWWVhciIsInBlcmYuY2FsZW5kYXJfZGVwb3NpdF9ub3RlIjoiQ2FzaC1mbG93IGRheXMgZG8gbm90IGNvdW50IGFzIFAvTCIsInBlcmYuaG9sZGluZ3NfdGl0bGUiOiJIb2xkaW5ncyIsInBlcmYuaG9sZGluZ3Nfbm90ZSI6IkN1cnJlbnQgaG9sZGluZ3MgwrcgdW5yZWFsaXplZCIsInBlcmYucmFua2luZ190aXRsZSI6IlN5bWJvbCBQL0wgcmFua2luZyIsInBlcmYudHJhZGVzX3RpdGxlIjoiVHJhZGUgc3RhdGlzdGljcyIsInBlcmYudHJhZGVzX25vdF9jb25uZWN0ZWQiOiJUcmFkZSBzdGF0aXN0aWNzIGFyZSBub3QgY29ubmVjdGVkLiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdGl0bGUiOiJNaXhlZCBjdXJyZW5jaWVzIiwicGVyZi5jb2wuc3ltYm9sIjoiU3ltYm9sIiwicGVyZi5jb2wucXVhbnRpdHkiOiJRdWFudGl0eSIsInBlcmYuY29sLm1hcmtldF92YWx1ZSI6Ik1hcmtldCB2YWx1ZSIsInBlcmYuY29sLmN1cnJlbmN5IjoiQ3VycmVuY3kiLCJwZXJmLmNvbC5hdmdfY29zdCI6IkF2ZyBjb3N0IiwicGVyZi5jb2wudW5yZWFsaXplZF9wbmwiOiJVbnJlYWxpemVkIFAvTCIsInBlcmYuY29sLmFjY291bnQiOiJBY2NvdW50IiwicGVyZi5jb2wuZGF0ZSI6IkRhdGUiLCJwZXJmLmNvbC5hbW91bnQiOiJBbW91bnQiLCJwZXJmLmNvbC5yZXR1cm4iOiJSZXR1cm4iLCJkZWNpc2lvbnMudGl0bGUiOiJUby1kb3MiLCJkZWNpc2lvbnMuZmlsdGVyLmFsbCI6IkFsbCIsImRlY2lzaW9ucy50YWIucGVuZGluZyI6IlBlbmRpbmciLCJkZWNpc2lvbnMudGFiLmRlY2lkZWQiOiJEZWNpZGVkIiwiY2F0ZWdvcnkucmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiOiJSZWNvbmNpbGlhdGlvbiByZWNvdmVyeSIsImNhdGVnb3J5LnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImNhdGVnb3J5Lm93bmVyX2RlY2lzaW9uIjoiT3duZXIgZGVjaXNpb24iLCJjYXRlZ29yeS5jcmVkZW50aWFsX21haW50ZW5hbmNlIjoiQ3JlZGVudGlhbCBtYWludGVuYW5jZSIsImNhdGVnb3J5LnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiJQYXBlciBhY2NvdW50IGFwcGxpY2F0aW9uIiwiZGVjaXNpb25zLnByaW9yaXR5LmhpZ2giOiJIaWdoIiwiZGVjaXNpb25zLnByaW9yaXR5Lm1lZGl1bSI6Ik1lZGl1bSIsImRlY2lzaW9ucy5wcmlvcml0eS5ub3JtYWwiOiJOb3JtYWwiLCJkZWNpc2lvbnMuc3RhdHVzLnBlbmRpbmciOiJQZW5kaW5nIiwiZGVjaXNpb25zLnN0YXR1cy5kZWNpZGVkIjoiRGVjaWRlZCIsImRlY2lzaW9ucy5zdGF0dXMuZXhwaXJlZCI6IkV4cGlyZWQiLCJkZWNpc2lvbnMucXVlc3Rpb24iOiJZb3VyIGRlY2lzaW9uIiwiZGVjaXNpb25zLmRpZmZfdGl0bGUiOiJCZWZvcmUg4oaSIGFmdGVyIiwiZGVjaXNpb25zLmNvbC5maWVsZCI6IkZpZWxkIiwiZGVjaXNpb25zLmNvbC5jdXJyZW50IjoiQ3VycmVudCIsImRlY2lzaW9ucy5jb2wucHJvcG9zZWQiOiJQcm9wb3NlZCIsImRlY2lzaW9ucy5jb2wuYWZmZWN0c19saXZlIjoiTGl2ZSBpbXBhY3QiLCJkZWNpc2lvbnMuYWZmZWN0c19saXZlX3llcyI6IlllcyIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm8iOiJObyIsImRlY2lzaW9ucy5tYXRlcmlhbHMiOiJNYXRlcmlhbHMiLCJkZWNpc2lvbnMuYWRvcHRfaW50ZW50IjoiUmVjb3JkIGFkb3B0IGludGVudCIsImRlY2lzaW9ucy5kZWNsaW5lX2ludGVudCI6IlJlY29yZCBkZWNsaW5lIGludGVudCIsImRlY2lzaW9ucy5pbnRlbnRfbm90ZSI6IlJlY29yZHMgaW50ZW50IG9ubHk7IG5vIG9yZGVycyBhcmUgcGxhY2VkLiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoiUmVjb3JkIGFkb3B0IGludGVudD8iLCJkZWNpc2lvbnMuY29uZmlybV9kZWNsaW5lX3RpdGxlIjoiUmVjb3JkIGRlY2xpbmUgaW50ZW50PyIsImRlY2lzaW9ucy5jb25maXJtX2JvZHkiOiJPbmx5IHlvdXIgaW50ZW50IGlzIHJlY29yZGVkLiBObyBvcmRlciBpcyBzdWJtaXR0ZWQgYW5kIG5vIHRyYWRpbmcgcGVybWlzc2lvbiBjaGFuZ2VzLiIsImRlY2lzaW9ucy5oaXN0b3J5X3RpdGxlIjoiSGlzdG9yeSIsImRlY2lzaW9ucy5oaXN0b3J5LmVtcHR5IjoiTm8gaGlzdG9yeSB5ZXQiLCJkZWNpc2lvbnMuYWN0aW9uLmFkb3B0X2ludGVudCI6IkFkb3B0IGludGVudCIsImRlY2lzaW9ucy5hY3Rpb24uZGVjbGluZV9pbnRlbnQiOiJEZWNsaW5lIGludGVudCIsImRlY2lzaW9ucy5lbXB0eV9wZW5kaW5nIjoiTm90aGluZyBwZW5kaW5nIiwiZGVjaXNpb25zLmFjY291bnRfZ2xvYmFsIjoiQWxsIGFjY291bnRzIiwiZGVjaXNpb25zLnJlZiI6IlJlZiB7aWR9IiwiZGVjaXNpb25zLmV4cGlyZXNfYXQiOiJEdWUge3ZhbHVlfSIsImRlY2lzaW9ucy5jcmVhdGVkX2F0IjoiQ3JlYXRlZCB7dmFsdWV9IiwiZGVjaXNpb25zLnJlYWRfZmFpbGVkIjoiVG8tZG9zIGZhaWxlZCB0byBsb2FkLiBUaGlzIGRvZXMgbm90IG1lYW4gdGhlcmUgaXMgbm90aGluZyBwZW5kaW5nOyBwbGVhc2UgcmV0cnkuIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3N0YXR1cyI6IkFwcGxpY2F0aW9uIHN0YXR1czoge3ZhbHVlfSIsImFjY291bnRzLnRpdGxlIjoiQWNjb3VudHMiLCJhY2NvdW50cy5jb2wuYWxpYXMiOiJBbGlhcyIsImFjY291bnRzLmNvbC5wbGF0Zm9ybSI6IlBsYXRmb3JtIiwiYWNjb3VudHMuY29sLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJhY2NvdW50cy5jb2wucnVuIjoiUnVuIiwiYWNjb3VudHMuY29sLmRyYWZ0cyI6IlBlbmRpbmcgZHJhZnRzIiwiYWNjb3VudHMuY29sLnRvZG9zIjoiVG8tZG9zIiwiYWNjb3VudHMuY29sLmxhc3RfY2hhbmdlIjoiTGFzdCBjaGFuZ2UiLCJhY2NvdW50cy50YWIub3ZlcnZpZXciOiJPdmVydmlldyIsImFjY291bnRzLnRhYi5zdHJhdGVneSI6IlN0cmF0ZWd5ICYgcGFyYW1ldGVycyIsInJpc2sudGl0bGUiOiJSaXNrIHByZWZlcmVuY2UiLCJyaXNrLm5vdGUiOiJSZWNvcmRzIHlvdXIgaW52ZXN0bWVudCBwcmVmZXJlbmNlIHdpdGhvdXQgY2hhbmdpbmcgdHJhZGluZyBzZXR0aW5ncy4iLCJyaXNrLmZpZWxkIjoiUHJlZmVyZW5jZSBkcmFmdCIsInJpc2suc2F2ZWRWYWx1ZSI6IlNhdmVkIHZhbHVlIiwicmlzay51bnNldCI6Ik5vdCBzZXQiLCJyaXNrLmNhcGl0YWwiOiJDYXBpdGFsIHByZXNlcnZhdGlvbiIsInJpc2suYmFsYW5jZWQiOiJCYWxhbmNlZCBjb21wb3VuZGluZyIsInJpc2suZ3Jvd3RoIjoiR3Jvd3RoIGNvbXBvdW5kaW5nIiwicmlzay5vdGhlciI6IlVucmVjb2duaXplZCB2YWx1ZSIsInJpc2suc2F2ZSI6IlNhdmUgcmlzayBwcmVmZXJlbmNlIiwicmlzay5kaXNjYXJkIjoiRGlzY2FyZCIsInJpc2suc2F2aW5nIjoiU2F2aW5nIHJpc2sgcHJlZmVyZW5jZS4iLCJyaXNrLmdhdGUiOiJSaXNrIHByZWZlcmVuY2UgaXMgbm90IGVkaXRhYmxlIGZvciB0aGlzIGFjY291bnQuIiwicmlzay5kZW5pZWQiOiJZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byByZWFkIHRoaXMgc2V0dGluZy4iLCJyaXNrLnJlYWRGYWlsZWQiOiJSaXNrIHByZWZlcmVuY2UgaXMgdW5hdmFpbGFibGUgcmlnaHQgbm93LiIsInJpc2sucmVhZE1pc21hdGNoIjoiVGhlIHJlYWQgZGlkIG5vdCBtYXRjaCB0aGUgc2VsZWN0ZWQgYWNjb3VudC4gUmUtcmVhZC4iLCJyaXNrLnJlcmVhZCI6IlJlLXJlYWQiLCJyaXNrLnN0YWxlIjoiU2hvd2luZyB0aGUgbGFzdCBzdWNjZXNzZnVsIHJlYWQ7IGN1cnJlbnQgc3RhdGUgaXMgdW5jb25maXJtZWQuIiwicmlzay5zYXZlZCI6IlByZWZlcmVuY2Ugc2F2ZWQgYW5kIGNvbmZpcm1lZCBieSByZS1yZWFkLiIsInJpc2subWlzbWF0Y2giOiJUaGUgcmUtcmVhZCBkb2VzIG5vdCBtYXRjaCB0aGUgc3VibWlzc2lvbjsgbm90IGNvbmZpcm1lZCBhcyBzYXZlZC4iLCJyaXNrLnVudmVyaWZpZWQiOiJTdWJtaXR0ZWQsIGJ1dCB0aGUgcmUtcmVhZCBjb3VsZCBub3QgY29uZmlybSBpdC4gUmUtcmVhZCB0byBjaGVjay4iLCJyaXNrLmNvbmZsaWN0IjoiVGhlIHJldmlzaW9uIGNoYW5nZWQ7IG5vdGhpbmcgd2FzIG92ZXJ3cml0dGVuLiIsInJpc2sucmV2aWV3IjoiVGhlIHNhdmUgcmVzdWx0IG9yIGFjY291bnQgc291cmNlIGlzIHVuY29uZmlybWVkLiBSZS1yZWFkIHRvIGNoZWNrLiIsInJpc2suYWNrIjoiSSBoYXZlIGNoZWNrZWQiLCJhY2NvdW50cy50YWIuY29udHJvbHMiOiJSdW4gY29udHJvbHMiLCJhY2NvdW50cy50YWIuaGlzdG9yeSI6IkNoYW5nZSBoaXN0b3J5IiwiYWNjb3VudHMuZnJlc2huZXNzIjoiRGF0YSBmcmVzaG5lc3MiLCJhY2NvdW50cy5ydW5fc3RhdGUiOiJSdW4gc3RhdGUiLCJhY2NvdW50cy5lZGl0IjoiRWRpdCIsImFjY291bnRzLmNoZWNrX2NoYW5nZXMiOiJSZXZpZXcgY2hhbmdlcyIsImFjY291bnRzLnZpZXdpbmciOiJWaWV3aW5nIiwiYWNjb3VudHMuZWRpdGluZyI6IkVkaXRpbmciLCJhY2NvdW50cy5kaWZmX2RpYWxvZ190aXRsZSI6IkNvbmZpcm0gZHJhZnQgY2hhbmdlcyIsImFjY291bnRzLmNvbC5kcmFmdCI6IkRyYWZ0IiwiYWNjb3VudHMuYWNrX2xpdmUiOiJJIHVuZGVyc3RhbmQgdGhlc2UgY2hhbmdlcyBhZmZlY3QgbGl2ZSB0cmFkaW5nIiwiYWNjb3VudHMuc2F2ZV9kcmFmdCI6IlNhdmUgZHJhZnQiLCJhY2NvdW50cy5kcmFmdF9zYXZlZCI6IkRyYWZ0IHNhdmVkLiIsImFjY291bnRzLmRyYWZ0X25vdGUiOiJTYXZpbmcgYSBkcmFmdCBwbGFjZXMgbm8gb3JkZXJzLCBlbmFibGVzIG5vIGFjY291bnQsIGFuZCBjaGFuZ2VzIG5vIHRyYWRpbmcgcGVybWlzc2lvbnMuIFRoZSBlZmZlY3RpdmUgc2V0dGluZ3Mgc3RheSB1bmNoYW5nZWQuIiwiYWNjb3VudHMuY29uZmxpY3QiOiJSZXZpc2lvbiBjb25mbGljdDogdGhlIGRyYWZ0IHdhcyBjaGFuZ2VkIGVsc2V3aGVyZS4gUmVmcmVzaCBhbmQgcmV2aWV3IHRoZSBsYXRlc3QgZGlmZiBiZWZvcmUgcmV0cnlpbmcuIiwiYWNjb3VudHMuaWRlbnRpdHlfY29uZmxpY3QiOiJUaGUgYWNjb3VudCBpZGVudGl0eSBiZWhpbmQgdGhlIGRyYWZ0IGhhcyBjaGFuZ2VkLiBSZWZyZXNoIGFuZCByZWNvbmNpbGUgZmlyc3QuIiwiYWNjb3VudHMubm9fY2hhbmdlcyI6Ik5vIGNoYW5nZXMiLCJhY2NvdW50cy5oaXN0b3J5LmVtcHR5IjoiTm8gY2hhbmdlcyByZWNvcmRlZCIsImFjY291bnRzLmV2ZW50LmRyYWZ0X3NhdmVkIjoiRHJhZnQgc2F2ZWQiLCJhY2NvdW50cy5ldmVudC5hcHByb3ZlZCI6IkFwcHJvdmVkIiwiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCI6Ik5vdCByZWNvcmRlZCIsImFjY291bnRzLmhpc3Rvcnkubm90ZSI6Ikhpc3RvcnkgcmV0ZW50aW9uIGlzIGJvdW5kZWQ7IGEgc2F2ZSBvciBhcHByb3ZhbCBkb2VzIG5vdCBwcm92ZSB0aGUgY2hhbmdlIHRvb2sgZWZmZWN0LiIsImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIjoiRHJhZnQgcmV2aXNpb24ge3ZhbHVlfSIsImNvbnRyb2xzLnRpdGxlIjoiUnVuIGNvbnRyb2xzIiwiY29udHJvbHMuZGFuZ2VyX25vdGUiOiJUaGVzZSBhY3Rpb25zIGFmZmVjdCBsaXZlIHJ1bnMuIFJldmlldyBiZWZvcmUgZXhlY3V0aW5nLiIsImNvbnRyb2xzLmVuYWJsZSI6IkVuYWJsZSIsImNvbnRyb2xzLnN0b3AiOiJTdG9wIiwiY29udHJvbHMucmVzdW1lIjoiUmVzdW1lIiwiY29udHJvbHMuYXBwcm92ZV9hcHBsaWNhdGlvbiI6IkFwcHJvdmUgYXBwbGljYXRpb24iLCJjb250cm9scy5zdG9wX3N1bW1hcnkiOiJTdG9wcGluZyBvbmx5IGJsb2NrcyBuZXcgdHJpZ2dlcnMuIEl0IGRvZXMgbm90IGNhbmNlbCBvcmRlcnMsIGNsb3NlIHBvc2l0aW9ucywgb3IgY2xlYXIgaW4tZmxpZ2h0IHJlcXVlc3RzLiIsImNvbnRyb2xzLnJlc3VtZV9zdW1tYXJ5IjoiUmVzdW1lIHRoZSBleGlzdGluZyBydW50aW1lIHRhcmdldC4gTm8gc3RyYXRlZ3kgb3IgZnVuZGluZyBwYXJhbWV0ZXJzIGNoYW5nZS4iLCJjb250cm9scy5hcHByb3ZlX3N1bW1hcnkiOiJBcHByb3ZlIGFwcGx5aW5nIHRoZSBjdXJyZW50IHN0cmF0ZWd5LXByb2ZpbGUgZHJhZnQuIFZlcmlmeSB0aGUgZWZmZWN0aXZlIHN0YXRlIGFmdGVyIHN1Ym1pc3Npb247IHRoaXMgZG9lcyBub3QgZGlyZWN0bHkgcGxhY2Ugb3JkZXJzLiIsImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5IjoiRW5hYmxlIHRoZSBydW50aW1lIHRhcmdldCBzbyB0aGUgZXhpc3Rpbmcgc2NoZWR1bGUgcmVzdW1lcyB0cmlnZ2VyaW5nLiIsImNvbnRyb2xzLnN0b3BfY29uZmlybV90aXRsZSI6IkNvbmZpcm0gc3RvcHBpbmcgdGhlIHJ1bnRpbWUgdGFyZ2V0IiwiY29udHJvbHMuc3RvcF90eXBlX2FsaWFzIjoiVHlwZSB0aGUgYWNjb3VudCBhbGlhcyB7YWxpYXN9IHRvIGNvbmZpcm0gdGhlIHN0b3AiLCJjb250cm9scy5hbGlhc19taXNtYXRjaCI6IlRoZSBhbGlhcyBkb2VzIG5vdCBtYXRjaCIsImNvbnRyb2xzLnN1Ym1pdHRlZCI6IlJlcXVlc3Qgc3VibWl0dGVkOyB0aGUgcmVzdWx0IG5lZWRzIHJlYWQtYmFjay4gRG8gbm90IHJlc3VibWl0LiIsImNvbnRyb2xzLnN1Ym1pdF9mYWlsZWQiOiJTdWJtaXNzaW9uIGRpZCBub3QgY29tcGxldGUuIFZlcmlmeSB0aGUgY3VycmVudCBzdGF0ZSBiZWZvcmUgZGVjaWRpbmc7IGF2b2lkIHJlc3VibWl0dGluZyBibGluZGx5LiIsImNvbnRyb2xzLnVua25vd25fcmVzdWx0IjoiVGhlIHByZXZpb3VzIHN1Ym1pc3Npb24ncyByZXN1bHQgaXMgdW5rbm93biBhbmQgbG9ja2VkLiBSZWZyZXNoIGFuZCB2ZXJpZnkgZmlyc3QuIiwiY29udHJvbHMudW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZToge3JlYXNvbn0iLCJzdHJhdGVnaWVzLnRpdGxlIjoiU3RyYXRlZ2llcyIsInN0cmF0ZWdpZXMuZG9tYWluIjoiTWFya2V0Iiwic3RyYXRlZ2llcy5tb2RlcyI6Ik5ldyBhY3RpdmF0aW9uIC8gc3dpdGNoIG1vZGVzIiwic3RyYXRlZ2llcy5hY2NvdW50c191c2luZyI6IkNvbmZpZ3VyZWQgYWNjb3VudHMiLCJzdHJhdGVnaWVzLmFjY291bnRfZXhlY3V0aW9uIjoiQWNjb3VudCBleGVjdXRpb24gbW9kZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxlZ2FjeV9saXZlIjoiTGl2ZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxpdmUiOiJMaXZlIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZV91bmtub3duIjoiTGl2ZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnBhcGVyIjoiUGFwZXIiLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5kcnlfcnVuIjoiRHJ5IHJ1biIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnVua25vd24iOiJFeGVjdXRpb24gbW9kZSB1bmtub3duIiwic3RyYXRlZ2llcy5saXZlX2V4cG9zdXJlIjoiTGl2ZSBzdHJhdGVnaWVzIHVzZSByZWFsIG1vbmV5OyBjYXRhbG9nIG1vZGVzIG9ubHkgY29uc3RyYWluIG5ldyBhY3RpdmF0aW9ucyBvciBzd2l0Y2hlcy4iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl9zb3VyY2UiOiJNb2RlcyBjb21lIGZyb20gYWNjb3VudCBjb25maWd1cmF0aW9uOyByZWNlbnQgcnVucyBhbmQgZmlsbHMgYXJlIHVudmVyaWZpZWQuIiwic3RyYXRlZ2llcy5oZWFsdGgiOiJIZWFsdGgiLCJzdHJhdGVnaWVzLmhlYWx0aF9zY29yZSI6IlNjb3JlIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLmxhc3RfcHJvbW90aW9uIjoiTGFzdCBwcm9tb3Rpb24iLCJzdHJhdGVnaWVzLnBhcmFtc19zdW1tYXJ5IjoiUGFyYW1ldGVyIHN1bW1hcnkiLCJzdHJhdGVnaWVzLnByb21vdGlvbl90aW1lbGluZSI6IlByb21vdGlvbiB0aW1lbGluZSIsInN0cmF0ZWdpZXMuZW1wdHkiOiJObyBzdHJhdGVnaWVzIHlldCIsInN0cmF0ZWdpZXMudGFiLmNhdGFsb2ciOiJDYXRhbG9nIiwic3RyYXRlZ2llcy50YWIucmVzZWFyY2giOiJSZXNlYXJjaCBsZWFkcyIsInN0cmF0ZWdpZXMucmVzZWFyY2hfb25seSI6IlJlc2VhcmNoIG9ubHk7IG5vIG9yZGVycyIsInN0cmF0ZWdpZXMucmVzZWFyY2hfbm90X2Nvbm5lY3RlZCI6IlJlc2VhcmNoIGxlYWRzIGFyZSBub3QgY29ubmVjdGVkLiIsImhlYWx0aC50aXRsZSI6IlJ1biBzdGF0dXMiLCJoZWFsdGguc3RhdC50b2RheV9ydW5zIjoiVG9kYXkge29rfS97dG90YWx9IiwiaGVhbHRoLnN0YXQub2JzZXJ2ZWQiOiJPYnNlcnZlZCB7b2JzZXJ2ZWR9L3tjb25maWd1cmVkfSIsImhlYWx0aC5zdGF0LmNyZWRlbnRpYWxzIjoie2NvdW50fSBjcmVkZW50aWFsKHMpIG5lZWQgYXR0ZW50aW9uIiwiaGVhbHRoLnN0YXQucmVjZW50X2ZhaWx1cmUiOiJSZWNlbnQgZmFpbHVyZXMge2NvdW50fSIsImhlYWx0aC5ncmlkX3RpdGxlIjoiTGFzdCAxNCBOZXcgWW9yayBidXNpbmVzcyBkYXlzIiwiaGVhbHRoLmdyaWQub2siOiJTdWNjZWVkZWQiLCJoZWFsdGguZ3JpZC5mYWlsZWQiOiJGYWlsZWQiLCJoZWFsdGguZ3JpZC5ub3RfcnVuIjoiTm90IHJ1biIsImhlYWx0aC5ncmlkLm5vX3JlY29yZCI6Ik5vIHJlY29yZCIsImhlYWx0aC5kYXlfZGV0YWlsIjoiRGF5IGRldGFpbCIsImhlYWx0aC5mcmVzaG5lc3NfdGl0bGUiOiJEYXRhIGZyZXNobmVzcyIsImhlYWx0aC50YWJsZV9zY3JvbGxfaGludCI6IlNjcm9sbCBob3Jpem9udGFsbHkgdG8gc2VlIHRoZSBmdWxsIHRhYmxlIiwiaGVhbHRoLmdyaWRfc2Nyb2xsX2hpbnQiOiJTY3JvbGwgZm9yIGFsbCBkYXRlczsgYWNjb3VudHMgc3RheSB2aXNpYmxlIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuZXhwaXJlZCI6IkV4cGlyZWQiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS4zMCI6IkV4cGlyZXMgd2l0aGluIDMwIGRheXMiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS4xNCI6IkV4cGlyZXMgd2l0aGluIDE0IGRheXMiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS43IjoiRXhwaXJlcyB3aXRoaW4gNyBkYXlzIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2Uubm90X2R1ZSI6Ik5vcm1hbCIsImhlYWx0aC5jcmVkZW50aWFsX3BoYXNlLnVua25vd24iOiJVbmtub3duIiwiaGVhbHRoLmFjdGl2aXR5IjoiQWN0aXZpdHkiLCJoZWFsdGgucnVuX2NvdW50IjoiUnVuIGNvdW50IiwiaGVhbHRoLmNvbC5hY2NvdW50IjoiQWNjb3VudCIsImhlYWx0aC5jb2wuc291cmNlIjoiU291cmNlIiwiaGVhbHRoLmNvbC5zdGF0dXMiOiJTdGF0dXMiLCJoZWFsdGguY29sLmFzX29mIjoiQXMgb2YiLCJlcnJvci5nZW5lcmljIjoiVGhlIHJlcXVlc3QgZGlkIG5vdCBjb21wbGV0ZS4gUmVmcmVzaCBhbmQgdmVyaWZ5IHRoZSBjdXJyZW50IHN0YXRlLiIsImVycm9yLnNlc3Npb25fZXhwaXJlZCI6IlNlc3Npb24gZXhwaXJlZC4gUGxlYXNlIHNpZ24gaW4gYWdhaW4uIiwiZXJyb3IuYWNjZXNzX2RlbmllZCI6IkFjY2VzcyBkZW5pZWQuIiwiZXJyb3IuY29uZmxpY3QiOiJSZXZpc2lvbiBjb25mbGljdC4gWW91ciBlZGl0cyBhcmUga2VwdDsgcmVmcmVzaCBhbmQgdmVyaWZ5LiJ9LGdtPXsib3ZlcnZpZXcuYXNzZXRfc3VtbWFyeSI6Iui1hOS6p+aRmOimgSIsIm92ZXJ2aWV3LnJ1bnRpbWVfdGFyZ2V0Ijoi6L+Q6KGM55uu5qCHIiwib3ZlcnZpZXcucnVudGltZV9lbmFibGVkIjoi5bey5ZCv55SoIiwib3ZlcnZpZXcucnVudGltZV9kaXNhYmxlZCI6IuW3suWBnOeUqCIsIm92ZXJ2aWV3LnJ1bnRpbWVfY29uZmlnX25vdGUiOiLoh6rliqjov5DooYzmmL7npLrnmoTmmK/phY3nva7nirbmgIHvvIzkuI3ku6Pooajku4rml6Xov5DooYznu5PmnpzjgIIiLCJvdmVydmlldy5taXhlZF9jdXJyZW5jeV9zaG9ydCI6IuWkmuW4geenjSIsIm92ZXJ2aWV3LnJ1bnNfY2FyZF90aXRsZSI6IuS7iuaXpeacieiusOW9lei0puaItyIsIm92ZXJ2aWV3LmJ1c2luZXNzX2RhdGUiOiLnur3nuqbkuJrliqHml6Uge3ZhbHVlfSIsIm92ZXJ2aWV3LmNhbGVuZGFyX2RhdGUiOiLnur3nuqbml6XmnJ8ge3ZhbHVlfSIsIm92ZXJ2aWV3Lm5vX3JlY29yZHNfZm9yX2RheSI6IuW9k+WJjeacquingua1i+WIsOivpeS4muWKoeaXpeiusOW9lSIsIm92ZXJ2aWV3Lm5vbl90cmFkaW5nX2RheV9zaG9ydCI6IumdnuS6pOaYk+aXpSIsIm92ZXJ2aWV3LmRlY2lzaW9uX3F1ZXVlIjoi5Yaz5a6a6Zif5YiXIiwib3ZlcnZpZXcubmVlZHNfcmV2aWV3Ijoi5b6F5L2g5p+l55yL55qE5Yaz5a6a77yae2NvdW50fSDkuKoiLCJvdmVydmlldy5xdWV1ZV9jb21wbGV0ZV9lbXB0eSI6IuayoeaciemcgOimgeWkhOeQhueahOW+heWKnuWGs+WumuOAgiIsIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiOiLlhrPlrprmnaXmupDmnKrlrozmlbTor7vlj5bvvIzlm6DmraTkuI3mmL7npLrorqHmlbDjgIIiLCJvdmVydmlldy5xdWV1ZV9yZWFkX2ZhaWxlZCI6IuWGs+WumumYn+WIl+ivu+WPluWksei0peOAgiIsIm92ZXJ2aWV3LnF1ZXVlX2Jsb2NrZWQiOiLlj5fpmLvvvJp7Y291bnR9IOS4qiIsIm92ZXJ2aWV3LnF1ZXVlX2hpZ2hfcHJpb3JpdHkiOiLpq5jkvJjlhYjnuqfvvJp7Y291bnR9IOS4qiIsIm92ZXJ2aWV3LnF1ZXVlX21vcmUiOiLmn6XnnIvlhajpg6jlhrPlrpoiLCJvdmVydmlldy5leHBpcmVzX3BsYWluIjoi5pyJ5pWI5pyf6IezIHt2YWx1ZX0iLCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiOiLmnIDov5Hnoa7orqTnmoTmtLvliqgifSx2bT17Im92ZXJ2aWV3LmFzc2V0X3N1bW1hcnkiOiJBc3NldCBzdW1tYXJ5Iiwib3ZlcnZpZXcucnVudGltZV90YXJnZXQiOiJSdW50aW1lIHRhcmdldCIsIm92ZXJ2aWV3LnJ1bnRpbWVfZW5hYmxlZCI6IkVuYWJsZWQiLCJvdmVydmlldy5ydW50aW1lX2Rpc2FibGVkIjoiU3RvcHBlZCIsIm92ZXJ2aWV3LnJ1bnRpbWVfY29uZmlnX25vdGUiOiJBdXRvbWF0aWMgcnVucyBzaG93IGNvbmZpZ3VyYXRpb24sIG5vdCB0b2RheSdzIHJ1biByZXN1bHQuIiwib3ZlcnZpZXcubWl4ZWRfY3VycmVuY3lfc2hvcnQiOiJNdWx0aXBsZSBjdXJyZW5jaWVzIiwib3ZlcnZpZXcucnVuc19jYXJkX3RpdGxlIjoiQWNjb3VudHMgd2l0aCByZWNvcmRzIHRvZGF5Iiwib3ZlcnZpZXcuYnVzaW5lc3NfZGF0ZSI6Ik5ldyBZb3JrIGJ1c2luZXNzIGRheSB7dmFsdWV9Iiwib3ZlcnZpZXcuY2FsZW5kYXJfZGF0ZSI6Ik5ldyBZb3JrIGRhdGUge3ZhbHVlfSIsIm92ZXJ2aWV3Lm5vX3JlY29yZHNfZm9yX2RheSI6Ik5vIHJlY29yZHMgb2JzZXJ2ZWQgZm9yIHRoaXMgYnVzaW5lc3MgZGF5Iiwib3ZlcnZpZXcubm9uX3RyYWRpbmdfZGF5X3Nob3J0IjoiTm9uLXRyYWRpbmcgZGF5Iiwib3ZlcnZpZXcuZGVjaXNpb25fcXVldWUiOiJEZWNpc2lvbiBxdWV1ZSIsIm92ZXJ2aWV3Lm5lZWRzX3JldmlldyI6IkRlY2lzaW9ucyBhd2FpdGluZyB5b3VyIHJldmlldzoge2NvdW50fSIsIm92ZXJ2aWV3LnF1ZXVlX2NvbXBsZXRlX2VtcHR5IjoiTm8gZGVjaXNpb25zIG5lZWQgYWN0aW9uLiIsIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiOiJEZWNpc2lvbiBjb3ZlcmFnZSBpcyBpbmNvbXBsZXRlLCBzbyBjb3VudHMgYXJlIGhpZGRlbi4iLCJvdmVydmlldy5xdWV1ZV9yZWFkX2ZhaWxlZCI6IlRoZSBkZWNpc2lvbiBxdWV1ZSBjb3VsZCBub3QgYmUgcmVhZC4iLCJvdmVydmlldy5xdWV1ZV9ibG9ja2VkIjoiQmxvY2tlZDoge2NvdW50fSIsIm92ZXJ2aWV3LnF1ZXVlX2hpZ2hfcHJpb3JpdHkiOiJIaWdoIHByaW9yaXR5OiB7Y291bnR9Iiwib3ZlcnZpZXcucXVldWVfbW9yZSI6IlZpZXcgYWxsIGRlY2lzaW9ucyIsIm92ZXJ2aWV3LmV4cGlyZXNfcGxhaW4iOiJFeHBpcmVzIHt2YWx1ZX0iLCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiOiJMYXRlc3QgdmVyaWZpZWQgYWN0aXZpdHkifSx5bT17InBlcmYubGF0ZXN0X2JhbGFuY2Vfc2NvcGVfbm90ZSI6IuWPr+iDveWMheWQq+eOr+Wig+W+heehruiupOi0puaIt++8jOWQiOiuoeWPr+iDveS4jeWujOaVtOOAgiIsInBlcmYubGF0ZXN0X2JhbGFuY2VfdG90YWwiOiJ7Y3VycmVuY3l9IOacgOi/keW3suefpeS9memineWQiOiuoSIsInBlcmYubGF0ZXN0X2JhbGFuY2Vfc3VidG90YWwiOiJ7Y3VycmVuY3l9IOacgOi/keW3suefpeS9memineWwj+iuoSIsInBlcmYuYmFsYW5jZV9vbGRlc3RfdGltZSI6IuacgOaXqeaVsOaNriB7dmFsdWV9IiwicGVyZi5iYWxhbmNlX2xhdGVzdF90aW1lIjoi5pyA5pma5pWw5o2uIHt2YWx1ZX0iLCJwZXJmLmJhbGFuY2Vfc291cmNlX3RpbWUiOiLkvZnpop3mlbDmja4ge3ZhbHVlfSIsInBlcmYuYXZlcmFnZV9jb3N0X2ZpZWxkIjoi5bmz5Z2H5oiQ5pysIiwicGVyZi5jb2wuY29zdF9iYXNpcyI6IuaIkOacrOS7tyIsInBlcmYuYnJva2VyX2Nvc3RfbGFiZWwiOiLliLjllYbmiJDmnKzvvIjmjInliLjllYborr7nva7vvIkiLCJyZWFzb24uY3VycmVuY3lfbWlzbWF0Y2giOiLotKbmiLfluIHnp43kuI7lvZPliY3luIHnp43kuI3nrKbvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJwZXJmLmNvdmVyYWdlX2RldGFpbHMiOiLmn6XnnIvorqHlhaXkuI7mjpLpmaTnmoTotKbmiLciLCJwZXJmLmFjY291bnRfaW5jbHVkZWQiOiLlt7LorqHlhaUiLCJwZXJmLmFjY291bnRfZXhjbHVkZWQiOiLmnKrorqHlhaUiLCJwZXJmLnZhbHVhdGlvbl9kYXRlIjoi5Lyw5YC85pel5pyfIHtkYXRlfSIsInBlcmYuaG9sZGluZ3NfbWlzc2luZ19maWVsZHMiOiLigJzigJTigJ3ooajnpLrmnaXmupDmnKrmj5Dkvpvor6XlrZfmrrXvvJvmlbDph4/lt7Lnn6XkuI3ku6PooajluILlgLzjgIHmiJDmnKzku7fmiJbnm4jkuo/pvZDlhajjgIIiLCJwZXJmLmhvbGRpbmdzX3Njcm9sbF9oaW50Ijoi5bem5Y+z5ruR5Yqo5p+l55yL5oyB5LuT5YWo6YOo5a2X5q6144CCIiwicGVyZi5yYW5raW5nX25vX21vdmVtZW50Ijoi5Y+v5o6S5ZCN5oyB5LuT5pqC5peg55uI5LqP5Y+Y5YyWIiwicGVyZi5yYW5raW5nX3VuYXZhaWxhYmxlIjoi5pqC5peg5Y+v5o6S5ZCN55qE5oyB5LuTIiwicGVyZi5yYW5raW5nX21pc3NpbmdfZmllbGRzIjoi57y65bCR5Y+v55So5LqO5o6S6KGM55qE5oyB5LuT5pS255uK5pWw5o2u77yM5Y+v5Zyo5oyB5LuT6aG15p+l55yL44CCIiwicGVyZi5yYW5raW5nX21pc3NpbmdfY3VycmVuY3kiOiLmnKrmj5DkvpvluIHnp43nmoTmjIHku5PkuI3lj4LkuI7mjpLooYzvvIzml6Dms5Xnoa7orqTlj6/mr5TluIHnp43jgIIiLCJwZXJmLmZpZWxkc19ub3RfcHJvdmlkZWQiOiLmnKrmj5DkvpvvvJp7ZmllbGRzfSIsInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyI6IuS7peS4i+i0puaIt+W3suacieWOn+eUn+aUtuebiu+8mnthY2NvdW50c33jgILlj6/ku47pobbpg6jliIfmjaLljZXkuKrotKbmiLfmn6XnnIvvvJvov5nkupvnu5PmnpzkuI3ku6Pooajlhajpg6jotKbmiLfnmoTnu4TlkIjmlLbnm4rjgIIiLCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X3RpdGxlIjoi5ZCE6LSm5oi35pel5pS255uK546HIiwicGVyZi5wZXJfYWNjb3VudF9kYWlseV9ub3RlIjoi5ZCE6LSm5oi35YiG5Yir5bGV56S677yM57y65aSx5pel5pyf55WZ56m644CCIiwicGVyZi5jb21iaW5lZF9tZXRyaWNzX3VuYXZhaWxhYmxlIjoi57uE5ZCI5oyH5qCH5pqC5LiN5Y+v6K6h566X77yM5Lul5LiL5bGV56S65ZCE6LSm5oi35pel5pS255uK44CCIiwicGVyZi5oaXN0b3J5X3dpbmRvd19zaG9ydCI6IuaJgOmAieWMuumXtOiHqiB7cmVxdWVzdGVkfSDotbfvvIzlt7LlrZjorrDlvZXoh6oge2F2YWlsYWJsZX0g6LW377yM5Zug5q2k5LiN57uZ5Ye66K+l5Yy66Ze05ZCI6K6h44CCIiwicGVyZi5taXhlZF9jdXJyZW5jeV91bmF2YWlsYWJsZSI6IuW9k+WJjeiMg+WbtOWQq+WkmuenjeW4geenje+8jOacqui/m+ihjOaxh+eOh+i9rOaNou+8jOe7hOWQiOaMh+agh+S4jeWPr+iuoeeul++8m+S4i+aWueaMiei0puaIt+WSjOW4geenjeWxleekuuWOn+eUn+aUtuebiuOAgiIsInBlcmYubWl4ZWRfY3VycmVuY3lfbmF0aXZlIjoi5b2T5YmN6IyD5Zu05ZCr5aSa56eN5biB56eN77yM57uE5ZCI5oyH5qCH5LiN5Y+v6K6h566X77yb5LiL5pa55oyJ6LSm5oi35ZKM5biB56eN5bGV56S65Y6f55Sf5pS255uK44CCIiwicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiOiLlvZPliY3ojIPlm7TlkKvlpJrnp43luIHnp43vvIznu4TlkIjmlLbnm4rkuI3lj6/orqHnrpfvvJvkuIvmlrnmjInluIHnp43lsZXnpLrotYTkuqflj5jljJbvvIjlkKvlh7rlhaXph5HlvbHlk43vvInvvIzkuI3ku6Pooajml7bpl7TliqDmnYPmlLbnm4rjgIIiLCJyZWFzb24uaW52YWxpZF92YWx1YXRpb25fZGF0ZSI6IuS8sOWAvOaXpeacn+aXoOaViO+8jOacquiuoeWFpeWQiOiuoeOAgiIsInJlYXNvbi5pbnZhbGlkX2JhbGFuY2UiOiLotYTkuqfph5Hpop3mnKrnoa7orqTvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uZHVwbGljYXRlX2N1cnJlbmN5Ijoi5ZCM5biB56eN5pyJ6YeN5aSN5L2Z6aKd77yM5pyq6K6h5YWl5ZCI6K6h44CCIiwicmVhc29uLmlkZW50aXR5X21pc21hdGNoIjoi6LSm5oi36Lqr5Lu95LiN5Yy56YWN77yM5pyq6K6h5YWl5ZCI6K6h44CCIiwicmVhc29uLmlkZW50aXR5X25vdF9ib3VuZCI6Iui0puaIt+i6q+S7veWwmuacque7keWumu+8jOacquiuoeWFpeWQiOiuoeOAgiIsInJlYXNvbi5hZ2dyZWdhdGlvbl9kdXBsaWNhdGUiOiLkuI7lj6bkuIDotKbmiLfph43lpI3vvIzmnKrph43lpI3orqHlhaXjgIIiLCJyZWFzb24uYWdncmVnYXRpb25fY29uZmxpY3QiOiLotKbmiLflvZLlsZ7lrZjlnKjlhrLnqoHvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uYWNjb3VudF9mYWN0c19kaXNhYmxlZCI6Iuivpei0puaIt+eahOaVsOaNruivu+WPluacquWQr+eUqOOAgiIsInBlcmYuaGlzdG9yeV9pbmNvbXBsZXRlIjoi6YOo5YiG5Y6G5Y+y5pWw5o2u5pyq6L+U5ZueIiwicGVyZi5oaXN0b3J5X3N0YWxlIjoi5Y6G5Y+y5pWw5o2u5Y+v6IO95LiN5piv5pyA5pawIiwicGVyZi5oaXN0b3J5X2NvdmVyYWdlX25vdGUiOiLpg6jliIbotKbmiLfnvLrlsJHljoblj7LmlbDmja7vvIzmm7Lnur/ku4XljIXlkKvmnInmlbDmja7nmoTotKbmiLfjgIIiLCJwZXJmLmhpc3RvcnlfYWZmZWN0ZWRfYWNjb3VudHMiOiJ7Y291bnR9IOS4qui0puaIt+eahOWOhuWPsuaVsOaNruS4jeWujOaVtCIsInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIjoi6YOo5YiG5pel5pyf5YyF5ZCr5rK/55So55qE5q2k5YmN5L2Z6aKd77yM6L+Z5Lqb5L2Z6aKd5bm26Z2e5b2T5pel6KeC5rWL44CCIiwicGVyZi5jdXJyZW5jeV9leGNsdWRlZF9hY2NvdW50cyI6IuWPpuaciSB7Y291bnR9IOS4qui0puaIt+eahOW4geenjeaIlumHkemineacquehruiupOOAgiIsInBlcmYuZHJhd2Rvd25fdHdyX3RpdGxlIjoiVFdSIOacgOWkp+WbnuaSpCIsInBlcmYubmF0aXZlX3RvdGFsc19ub3RlIjoi5oyJ5biB56eN5YiG5Yir5bGV56S677yM5LiN5o2i5rGH44CCIiwicGVyZi5jdXJyZW5jeV9zdWJ0b3RhbCI6IntjdXJyZW5jeX0g6LWE5Lqn5bCP6K6hIiwicGVyZi5jdXJyZW5jeV90b3RhbCI6IntjdXJyZW5jeX0g6LWE5Lqn5ZCI6K6hIiwicGVyZi5wYXJ0aWFsX2FjY291bnRzIjoi5pyq5ZCr5YWo6YOo6LSm5oi3IiwicGVyZi5jdXJyZW5jeV9hY2NvdW50cyI6IuWQiOiuoeWQqyB7Y291bnR9IOS4qui0puaItyIsInBlcmYuZnJlc2huZXNzX2NvdW50cyI6IntzdGFsZX0g5Liq6LSm5oi355qE5pWw5o2u5Y+v6IO95LiN5piv5pyA5pawIiwicGVyZi5mcmVzaG5lc3NfdGhyZXNob2xkIjoi5oyJ5ZCE6LSm5oi35pe26Ze05YiG5Yir5Yik5pat77yM6LaF6L+HIHtob3Vyc30g5bCP5pe26KeG5Li65Y+v6IO95LiN5piv5pyA5paw44CCIiwicGVyZi5kYXRhX21heV9iZV9zdGFsZSI6IumDqOWIhui0puaIt+aVsOaNruW+heabtOaWsCIsInBlcmYuYXNfb2Zfbm90X3JlZnJlc2giOiLigJzmiKroh7PigJ3mmL7npLrotKbmiLfmlbDmja7ml7bpl7TvvIzkuI3mmK/pobXpnaLliLfmlrDml7bpl7TjgIIiLCJwZXJmLmRhdGFfbm90ZXMiOiLmlbDmja7or7TmmI4iLCJwZXJmLmhpc3RvcnlfZGV0YWlscyI6Iuafpeeci+i0puaItyIsInBlcmYuY2FsZW5kYXJfYXNzZXRfYmFsYW5jZSI6Iui1hOS6p+S9meminSIsInJlYXNvbi5ub19jYXNoZmxvd19kYXRhIjoi57y65bCR5a6M5pW05Ye65YWl6YeR6K6w5b2V77yM5peg5rOV6K6h566XIFRXUiDlj4rlhbblm57mkqTjgIIiLCJyZWFzb24uaW5zdWZmaWNpZW50X2hpc3RvcnkiOiLoh7PlsJHpnIDopoHkuKTmnaHmnInmlYjkvLDlgLzorrDlvZXjgIIiLCJyZWFzb24ubm9fc25hcHNob3QiOiLmmoLml6Dlj6/nlKjkvLDlgLzjgIIiLCJyZWFzb24uc25hcHNob3Rfc3RhbGUiOiLor6XotKbmiLflv6vnhaflt7LotoXov4fml7bmlYjpmIjlgLzjgIIiLCJyZWFzb24udmFsdWF0aW9uX2RhdGVfbWlzbWF0Y2giOiLpg6jliIbotKbmiLfkvLDlgLzml6XmnJ/kuI3lkIzvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uaW5jb21wbGV0ZV9hY2NvdW50X2NvdmVyYWdlIjoi6YOo5YiG6LSm5oi35pyq57qz5YWl5ZCI6K6h44CCIiwicGVyZi5iZW5jaG1hcmtfc3A1MDAiOiLmoIfmma41MDAiLCJwZXJmLmJlbmNobWFya19uYXNkYXExMDAiOiLnurPmlq/ovr7lhYsxMDAiLCJwZXJmLmJlbmNobWFya19kb3ciOiLpgZPnkLzmlq/lt6XkuJrlubPlnYfmjIfmlbAiLCJwZXJmLmJlbmNobWFya19ydXNzZWxsMjAwMCI6Iue9l+e0oDIwMDAiLCJwZXJmLmJlbmNobWFya191bmtub3duIjoi5Z+65YeGIiwicGVyZm9ybWFuY2UuY3VycmVudF9ob2xkaW5nc191bnJlYWxpemVkIjoi5b2T5YmN5oyB5LuTIMK3IOacquWunueOsOebiOS6jyIsInBlcmYucmV0dXJuX2tpbmRfdHdyIjoi5pe26Ze05Yqg5p2D5pS255uK546H77yIVFdS77yJIiwicGVyZi5uYXRpdmVfZGFpbHlfdGl0bGUiOiLml6XmlLbnm4rnjociLCJwZXJmLm5hdGl2ZV9kYWlseV90YWciOiLmr4/ml6UiLCJwZXJmLm5hdGl2ZV9kYWlseV9ub3RlIjoi6YOo5YiG5pel5pyf57y65aSx77yM5pqC5peg5rOV6K6h566X5Yy66Ze057Sv6K6h5pS255uK44CCIiwicGVyZi5tZXRob2RfYm9keV9uYXRpdmVfZGFpbHkiOiLmr4/ml6XmlLbnm4rmnaXoh6rliLjllYbvvIznvLrlpLHml6XmnJ/nlZnnqbrjgIIiLCJwZXJmLm1ldGhvZF9kaWV0el9hcHByb3giOiJNb2RpZmllZCBEaWV0eu+8iOi/keS8vO+8iSIsInBlcmYubWV0aG9kX3Vua25vd24iOiLmlLbnm4rorqHnrpfmlrnlvI/mnKrnn6UiLCJwZXJmLmNhcmQucmV0dXJuX3ZhbHVlIjoi57Sv6K6h5pS255uKIiwicGVyZi5kcmF3ZG93bl9wbGFpbl90aXRsZSI6IuacgOWkp+WbnuaSpCIsInBlcmYubWV0aG9kX2JvZHlfdW5rbm93biI6IuaUtuebiuiuoeeul+aWueW8j+WwmuacquehruiupOOAguaVsOWAvOaMieWOn+e7k+aenOWxleekuu+8jOacquehruiupOS4uuaXtumXtOWKoOadg+aUtuebiueOh++8iFRXUu+8ie+8m+acquefpeaUtuebiuS4jeaMiSAwIOWkhOeQhuOAgiIsInBlcmYubWV0aG9kX2JvZHlfZGlldHoiOiLmnInlh7rlhaXph5HorrDlvZXkvYbml6Dms5XpgJDml6Xnsr7noa7liqDmnYPml7bvvIzph4fnlKggTW9kaWZpZWQgRGlldHog6L+R5Ly85rOV5bm25qCH5rOo44CM6L+R5Ly844CN44CC5Yy66Ze06LW354K55b2S6Zu277yM5Ye65YWl6YeR5LiN6K6h5YWl5pS255uK77yb6K6w5b2V5LiN5a6M5pW05pe25LuF5bGV56S66LWE5Lqn5L2Z6aKd77yM5LiN5bGV56S6IFRXUuOAgiIsInBlcmYubWV0aG9kX2JvZHlfYXNzZXRfY2hhbmdlIjoi57y65bCR5a6M5pW05Ye65YWl6YeR6K6w5b2V77yM5pqC5peg5rOV6K6h566XIFRXUuOAguWbvuS4reS7heWxleekuui1hOS6p+WPmOWMlu+8iCXvvInvvIzljIXlkKvlh7rlhaXph5HlvbHlk43vvIzkuI3ku6Pooajml7bpl7TliqDmnYPmlLbnm4rvvIzkuZ/kuI3kuI7ln7rlh4bmr5TovoPjgIIiLCJwZXJmLnJldHVybnNfdGl0bGVfcGxhaW4iOiLmlLbnm4rnjociLCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiOiLotYTkuqfkvZnpop0iLCJwZXJmLm1pc3NpbmdfY2FzaGZsb3dfcmVjb3JkcyI6Iue8uuWwkeWFpeWHuumHkeiusOW9le+8jOaaguaXoOazleiuoeeul+aUtuebiiIsInBlcmYuYXNzZXRfY2hhbmdlX3RpdGxlIjoi6LWE5Lqn5Y+Y5YyWIiwicGVyZi5hc3NldF9jaGFuZ2VfdGFnIjoi6LWE5Lqn5Y+Y5YyWIMK3IOWQq+WHuuWFpemHkeW9seWTjSIsInBlcmYuYXNzZXRfY2hhbmdlX2NhbGVuZGFyX3RhZyI6IuWQq+WHuuWFpemHkeW9seWTjSIsInBlcmYuYXNzZXRfY2hhbmdlX25vdGUiOiLmmoLml7bml6Dms5XorqHnrpfmlLbnm4rvvIzku6XkuIvlsZXnpLrotYTkuqflj5jljJbvvIgl77yJ44CC6K+l5Y+Y5YyW5YyF5ZCr5Ye65YWl6YeR5b2x5ZON77yM5LiN5Luj6KGo5pe26Ze05Yqg5p2D5pS255uK77yM5Lmf5LiN5LiO5Z+65YeG5q+U6L6D44CCIiwicGVyZi5jYWxlbmRhcl9mYWxsYmFja19ub3RlIjoi6YOo5YiG6LSm5oi357y65bCR5b2T5pel5b+r54Wn77yM5pys5pyI5Y6G5oyJ5Y+v55So6LSm5oi355qE6LWE5Lqn5Y+Y5YyW5bGV56S677yI5ZCr5Ye65YWl6YeR5b2x5ZON77yJ77yM5LiN5Luj6KGo5pS255uK44CCIiwicGVyZi5wb3J0Zm9saW9fc2VyaWVzIjoi57uE5ZCIIiwicGVyZi5jdXJyZW5jeV9zd2l0Y2giOiLluIHnp40iLCJwZXJmLmNyeXB0b19iZW5jaG1hcmtfbm90ZSI6IuWKoOWvhui0puaIt+aMiSA3w5cyNCDkuqTmmJPvvIzmmoLkuI3kuI7nvo7ogqHmjIfmlbDmr5TovoPvvJtCVEMg5Z+65YeG5pWw5o2u5bCa5pyq5o6l5YWl44CCIiwicGVyZi5taXhlZF9iZW5jaG1hcmtfbm90ZSI6IuW9k+WJjeiMg+WbtOWQjOaXtuWMheWQq+WKoOWvhuS4jue+juiCoei0puaIt++8jOaaguS4jeS4juWNleS4gOW4guWcuuaMh+aVsOavlOi+g++8m+WPr+WIh+aNouWIsOWNleS4qui0puaIt+afpeeci+OAgiIsInBlcmYuY3VycmVuY3lfYmVuY2htYXJrX25vdGUiOiLor6XluIHnp43otKbmiLfmmoLkuI3kuI7nvo7ogqHmjIfmlbDmr5TovoPjgIIiLCJwZXJmLm5vX2NvbW1vbl9kYXRlX25vdGUiOiLotKbmiLfkuI7ln7rlh4bmsqHmnInlhbHlkIzml6XmnJ/vvIzmmoLkuI3lj6DliqDln7rlh4bjgIIiLCJwZXJmLmJlbmNobWFya19ub3RfYXBwbGljYWJsZSI6IuivpeiMg+WbtOaaguS4jeiuvue9ruWfuuWHhiIsInBlcmYuaG9sZGluZ3NfY292ZXJhZ2VfYWNjb3VudHMiOiLopobnm5botKbmiLfvvJp7dmFsdWV9IiwicGVyZi5yYW5raW5nX25vdGUiOiLmjInmnKrlrp7njrDnm4jkuo/ph5Hpop3mjpLluo/vvJvnm4jkuo/mr5Tkvovku6XlubPlnYfmiJDmnKzkuLrln7rlh4bvvIznvLrlsJHlubPlnYfmiJDmnKznmoTmjIHku5PkuI3lj4LkuI7mjpLooYzjgIIiLCJwZXJmLnJhbmtpbmdfd2lubmVycyI6IuebiOWIqemdoOWJjSIsInBlcmYucmFua2luZ19sb3NlcnMiOiLkuo/mjZ/pnaDliY0iLCJwZXJmLmJlbmNobWFya3NfdW5hdmFpbGFibGUiOiLln7rlh4bmmoLkuI3lj6/nlKjvvIh7Y291bnR977yJIiwicGVyZi5jb2wuc2lkZSI6IuaWueWQkSIsInBlcmYuY29sLnByaWNlIjoi5Lu35qC8IiwicGVyZi5jb2wuY29tbWlzc2lvbiI6IuS9o+mHkSIsInBlcmYuY29sLnRheGVzIjoi56iO6LS5IiwicGVyZi5zaWRlLmJ1eSI6IuS5sOWFpSIsInBlcmYuc2lkZS5zZWxsIjoi5Y2W5Ye6IiwicGVyZi5leGVjdXRpb25zX2NvdW50Ijoi5bey6KeC5rWLIHtjb3VudH0g5p2h5oiQ5LqkIiwicGVyZi5leGVjdXRpb25zX3BhcnRpYWxfc2hvcnQiOiLpg6jliIborrDlvZUiLCJwZXJmLmV4ZWN1dGlvbnNfcGFydGlhbCI6IuS7heWIl+WHuuW3suingua1i+aIkOS6pO+8m+imhuebluiMg+WbtOacquaguOWunu+8jOS4jeS7o+ihqOWujOaVtOWOhuWPsuOAgiIsInBlcmYuZXhlY3V0aW9uc19lbXB0eV9wYXJ0aWFsIjoi6YOo5YiG6K6w5b2V77yM5b2T5YmN6IyD5Zu05YaF5pqC5peg5Y+v5bGV56S65oiQ5Lqk44CCIn0sYm09eyJwZXJmLmxhdGVzdF9iYWxhbmNlX3Njb3BlX25vdGUiOiJNYXkgaW5jbHVkZSBhY2NvdW50cyB3aXRoIHVuY29uZmlybWVkIGVudmlyb25tZW50czsgdGhlIHRvdGFsIG1heSBiZSBpbmNvbXBsZXRlLiIsInBlcmYubGF0ZXN0X2JhbGFuY2VfdG90YWwiOiJ7Y3VycmVuY3l9IGxhdGVzdCBrbm93biBiYWxhbmNlIHRvdGFsIiwicGVyZi5sYXRlc3RfYmFsYW5jZV9zdWJ0b3RhbCI6IntjdXJyZW5jeX0gbGF0ZXN0IGtub3duIGJhbGFuY2Ugc3VidG90YWwiLCJwZXJmLmJhbGFuY2Vfb2xkZXN0X3RpbWUiOiJFYXJsaWVzdCBkYXRhIHt2YWx1ZX0iLCJwZXJmLmJhbGFuY2VfbGF0ZXN0X3RpbWUiOiJMYXRlc3QgZGF0YSB7dmFsdWV9IiwicGVyZi5iYWxhbmNlX3NvdXJjZV90aW1lIjoiQmFsYW5jZSBkYXRhIHt2YWx1ZX0iLCJwZXJmLmF2ZXJhZ2VfY29zdF9maWVsZCI6IkF2ZyBjb3N0IiwicGVyZi5jb2wuY29zdF9iYXNpcyI6IkNvc3QgYmFzaXMiLCJwZXJmLmJyb2tlcl9jb3N0X2xhYmVsIjoiQnJva2VyIGNvc3QgKGJyb2tlciBzZXR0aW5ncykiLCJyZWFzb24uY3VycmVuY3lfbWlzbWF0Y2giOiJUaGUgYWNjb3VudCBjdXJyZW5jeSBkaWZmZXJzIGZyb20gdGhpcyB0b3RhbDsgZXhjbHVkZWQuIiwicGVyZi5jb3ZlcmFnZV9kZXRhaWxzIjoiVmlldyBpbmNsdWRlZCBhbmQgZXhjbHVkZWQgYWNjb3VudHMiLCJwZXJmLmFjY291bnRfaW5jbHVkZWQiOiJJbmNsdWRlZCIsInBlcmYuYWNjb3VudF9leGNsdWRlZCI6IkV4Y2x1ZGVkIiwicGVyZi52YWx1YXRpb25fZGF0ZSI6IlZhbHVhdGlvbiBkYXRlIHtkYXRlfSIsInBlcmYuaG9sZGluZ3NfbWlzc2luZ19maWVsZHMiOiLigJzigJTigJ0gbWVhbnMgdGhlIHNvdXJjZSBkaWQgbm90IHByb3ZpZGUgdGhhdCBmaWVsZC4gQSBrbm93biBxdWFudGl0eSBkb2VzIG5vdCBlc3RhYmxpc2ggbWFya2V0IHZhbHVlLCBjb3N0IGJhc2lzIG9yIFAvTC4iLCJwZXJmLmhvbGRpbmdzX3Njcm9sbF9oaW50IjoiU2Nyb2xsIGhvcml6b250YWxseSB0byB2aWV3IGFsbCBob2xkaW5nIGZpZWxkcy4iLCJwZXJmLnJhbmtpbmdfbm9fbW92ZW1lbnQiOiJFbGlnaWJsZSBob2xkaW5ncyBoYXZlIG5vIFAvTCBtb3ZlbWVudCIsInBlcmYucmFua2luZ191bmF2YWlsYWJsZSI6Ik5vIGhvbGRpbmdzIGFyZSBlbGlnaWJsZSBmb3IgcmFua2luZyIsInBlcmYucmFua2luZ19taXNzaW5nX2ZpZWxkcyI6IkVsaWdpYmxlIGhvbGRpbmcgcmV0dXJuIGRhdGEgaXMgdW5hdmFpbGFibGU7IGNoZWNrIHRoZSBIb2xkaW5ncyB0YWIuIiwicGVyZi5yYW5raW5nX21pc3NpbmdfY3VycmVuY3kiOiJIb2xkaW5ncyB3aXRob3V0IGEgY3VycmVuY3kgYXJlIG5vdCByYW5rZWQgYmVjYXVzZSBubyBjb21wYXJhYmxlIGN1cnJlbmN5IGNhbiBiZSBjb25maXJtZWQuIiwicGVyZi5maWVsZHNfbm90X3Byb3ZpZGVkIjoiTm90IHByb3ZpZGVkOiB7ZmllbGRzfSIsInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyI6Ik5hdGl2ZSByZXR1cm5zIGFyZSBhdmFpbGFibGUgZm9yOiB7YWNjb3VudHN9LiBTZWxlY3Qgb25lIGFjY291bnQgYXQgdGhlIHRvcCB0byB2aWV3IHRoZW07IHRoZXNlIGFyZSBub3QgcmV0dXJucyBmb3IgdGhlIGZ1bGwgcG9ydGZvbGlvLiIsInBlcmYucGVyX2FjY291bnRfZGFpbHlfdGl0bGUiOiJEYWlseSByZXR1cm5zIGJ5IGFjY291bnQiLCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X25vdGUiOiJBY2NvdW50cyBhcmUgc2hvd24gc2VwYXJhdGVseTsgbWlzc2luZyBkYXRlcyBhcmUgbGVmdCBibGFuay4iLCJwZXJmLmNvbWJpbmVkX21ldHJpY3NfdW5hdmFpbGFibGUiOiJDb21iaW5lZCBtZXRyaWNzIGFyZSB1bmF2YWlsYWJsZTsgZGFpbHkgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBiZWxvdy4iLCJwZXJmLmhpc3Rvcnlfd2luZG93X3Nob3J0IjoiVGhpcyByYW5nZSBzdGFydHMge3JlcXVlc3RlZH0sIGJ1dCBzdG9yZWQgcmVjb3JkcyBiZWdpbiB7YXZhaWxhYmxlfSwgc28gbm8gdG90YWwgaXMgc2hvd24gZm9yIGl0LiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdW5hdmFpbGFibGUiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMuIE5vIEZYIGNvbnZlcnNpb24gd2FzIGFwcGxpZWQsIHNvIGNvbWJpbmVkIG1ldHJpY3MgYXJlIHVuYXZhaWxhYmxlLiBOYXRpdmUgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBhbmQgY3VycmVuY3kgYmVsb3cuIiwicGVyZi5taXhlZF9jdXJyZW5jeV9uYXRpdmUiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMsIHNvIGNvbWJpbmVkIG1ldHJpY3MgYXJlIHVuYXZhaWxhYmxlLiBOYXRpdmUgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBhbmQgY3VycmVuY3kgYmVsb3cuIiwicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMsIHNvIGEgY29tYmluZWQgcmV0dXJuIGlzIHVuYXZhaWxhYmxlLiBBc3NldCBjaGFuZ2UgKGluY2x1ZGluZyBjYXNoLWZsb3cgZWZmZWN0cykgaXMgc2hvd24gYnkgY3VycmVuY3k7IGl0IGlzIG5vdCBhIHRpbWUtd2VpZ2h0ZWQgcmV0dXJuLiIsInJlYXNvbi5pbnZhbGlkX3ZhbHVhdGlvbl9kYXRlIjoiVGhlIHZhbHVhdGlvbiBkYXRlIGlzIGludmFsaWQ7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pbnZhbGlkX2JhbGFuY2UiOiJUaGUgYmFsYW5jZSBpcyB1bmNvbmZpcm1lZDsgZXhjbHVkZWQgZnJvbSB0aGUgdG90YWwuIiwicmVhc29uLmR1cGxpY2F0ZV9jdXJyZW5jeSI6IkR1cGxpY2F0ZSBiYWxhbmNlcyBmb3IgdGhpcyBjdXJyZW5jeTsgZXhjbHVkZWQgZnJvbSB0aGUgdG90YWwuIiwicmVhc29uLmlkZW50aXR5X21pc21hdGNoIjoiVGhlIGFjY291bnQgaWRlbnRpdHkgZG9lcyBub3QgbWF0Y2g7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pZGVudGl0eV9ub3RfYm91bmQiOiJUaGUgYWNjb3VudCBpZGVudGl0eSBpcyBub3QgYm91bmQ7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5hZ2dyZWdhdGlvbl9kdXBsaWNhdGUiOiJEdXBsaWNhdGVzIGFub3RoZXIgYWNjb3VudDsgbm90IGNvdW50ZWQgdHdpY2UuIiwicmVhc29uLmFnZ3JlZ2F0aW9uX2NvbmZsaWN0IjoiQWNjb3VudCBvd25lcnNoaXAgaXMgY29uZmxpY3Rpbmc7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5hY2NvdW50X2ZhY3RzX2Rpc2FibGVkIjoiRGF0YSByZWFkcyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgYWNjb3VudC4iLCJwZXJmLmhpc3RvcnlfaW5jb21wbGV0ZSI6IlNvbWUgaGlzdG9yeSBpcyB1bmF2YWlsYWJsZSIsInBlcmYuaGlzdG9yeV9zdGFsZSI6Ikhpc3RvcnkgbWF5IG5vdCBiZSB1cCB0byBkYXRlIiwicGVyZi5oaXN0b3J5X2NvdmVyYWdlX25vdGUiOiJTb21lIGFjY291bnRzIGxhY2sgaGlzdG9yeTsgdGhlIGN1cnZlIGluY2x1ZGVzIG9ubHkgYWNjb3VudHMgd2l0aCBkYXRhLiIsInBlcmYuaGlzdG9yeV9hZmZlY3RlZF9hY2NvdW50cyI6Ikhpc3RvcnkgaXMgaW5jb21wbGV0ZSBmb3Ige2NvdW50fSBhY2NvdW50cyIsInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIjoiU29tZSBkYXRlcyBpbmNsdWRlIGVhcmxpZXIgYmFsYW5jZXM7IHRob3NlIGJhbGFuY2VzIHdlcmUgbm90IG9ic2VydmVkIG9uIHRob3NlIGRhdGVzLiIsInBlcmYuY3VycmVuY3lfZXhjbHVkZWRfYWNjb3VudHMiOiJDdXJyZW5jeSBvciBiYWxhbmNlIGlzIHVuY29uZmlybWVkIGZvciB7Y291bnR9IGFkZGl0aW9uYWwgYWNjb3VudHMuIiwicGVyZi5kcmF3ZG93bl90d3JfdGl0bGUiOiJNYXhpbXVtIFRXUiBkcmF3ZG93biIsInBlcmYubmF0aXZlX3RvdGFsc19ub3RlIjoiU2hvd24gYnkgY3VycmVuY3kgd2l0aG91dCBGWCBjb252ZXJzaW9uLiIsInBlcmYuY3VycmVuY3lfc3VidG90YWwiOiJ7Y3VycmVuY3l9IGFzc2V0IHN1YnRvdGFsIiwicGVyZi5jdXJyZW5jeV90b3RhbCI6IntjdXJyZW5jeX0gYXNzZXQgdG90YWwiLCJwZXJmLnBhcnRpYWxfYWNjb3VudHMiOiJOb3QgYWxsIGFjY291bnRzIiwicGVyZi5jdXJyZW5jeV9hY2NvdW50cyI6IlRvdGFsIGluY2x1ZGVzIHtjb3VudH0gYWNjb3VudHMiLCJwZXJmLmZyZXNobmVzc19jb3VudHMiOiJEYXRhIG1heSBiZSBvdXQgb2YgZGF0ZSBmb3Ige3N0YWxlfSBhY2NvdW50cyIsInBlcmYuZnJlc2huZXNzX3RocmVzaG9sZCI6IkVhY2ggYWNjb3VudCBpcyBjaGVja2VkIHNlcGFyYXRlbHk7IGRhdGEgb2xkZXIgdGhhbiB7aG91cnN9IGhvdXJzIGlzIG1hcmtlZCBhcyBwb3NzaWJseSBvdXQgb2YgZGF0ZS4iLCJwZXJmLmRhdGFfbWF5X2JlX3N0YWxlIjoiU29tZSBhY2NvdW50IGRhdGEgbWF5IGJlIG91dCBvZiBkYXRlIiwicGVyZi5hc19vZl9ub3RfcmVmcmVzaCI6IuKAnEFzIG9m4oCdIHNob3dzIHRoZSBhY2NvdW50IGRhdGEgdGltZSwgbm90IHRoZSBwYWdlIHJlZnJlc2ggdGltZS4iLCJwZXJmLmRhdGFfbm90ZXMiOiJEYXRhIG5vdGVzIiwicGVyZi5oaXN0b3J5X2RldGFpbHMiOiJWaWV3IGFjY291bnRzIiwicGVyZi5jYWxlbmRhcl9hc3NldF9iYWxhbmNlIjoiQXNzZXQgYmFsYW5jZSIsInJlYXNvbi5ub19jYXNoZmxvd19kYXRhIjoiQ29tcGxldGUgY2FzaC1mbG93IHJlY29yZHMgYXJlIG1pc3Npbmc7IFRXUiBhbmQgaXRzIGRyYXdkb3duIGNhbm5vdCBiZSBjYWxjdWxhdGVkLiIsInJlYXNvbi5pbnN1ZmZpY2llbnRfaGlzdG9yeSI6IkF0IGxlYXN0IHR3byB2YWxpZCB2YWx1YXRpb24gcmVjb3JkcyBhcmUgcmVxdWlyZWQuIiwicmVhc29uLm5vX3NuYXBzaG90IjoiTm8gdmFsdWF0aW9uIGlzIGF2YWlsYWJsZS4iLCJyZWFzb24uc25hcHNob3Rfc3RhbGUiOiJUaGlzIGFjY291bnQgc25hcHNob3QgZXhjZWVkcyB0aGUgZnJlc2huZXNzIHRocmVzaG9sZC4iLCJyZWFzb24udmFsdWF0aW9uX2RhdGVfbWlzbWF0Y2giOiJTb21lIGFjY291bnRzIGhhdmUgZGlmZmVyZW50IHZhbHVhdGlvbiBkYXRlcyBhbmQgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pbmNvbXBsZXRlX2FjY291bnRfY292ZXJhZ2UiOiJTb21lIGFjY291bnRzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHRvdGFsLiIsInBlcmYuYmVuY2htYXJrX3NwNTAwIjoiUyZQIDUwMCIsInBlcmYuYmVuY2htYXJrX25hc2RhcTEwMCI6Ik5hc2RhcS0xMDAiLCJwZXJmLmJlbmNobWFya19kb3ciOiJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIiwicGVyZi5iZW5jaG1hcmtfcnVzc2VsbDIwMDAiOiJSdXNzZWxsIDIwMDAiLCJwZXJmLmJlbmNobWFya191bmtub3duIjoiQmVuY2htYXJrIiwicGVyZm9ybWFuY2UuY3VycmVudF9ob2xkaW5nc191bnJlYWxpemVkIjoiQ3VycmVudCBob2xkaW5ncyDCtyB1bnJlYWxpemVkIFAvTCIsInBlcmYucmV0dXJuX2tpbmRfdHdyIjoiVGltZS13ZWlnaHRlZCByZXR1cm4gKFRXUikiLCJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6IkRhaWx5IHJldHVybnMiLCJwZXJmLm5hdGl2ZV9kYWlseV90YWciOiJEYWlseSIsInBlcmYubmF0aXZlX2RhaWx5X25vdGUiOiJTb21lIGRhdGVzIGFyZSBtaXNzaW5nLCBzbyB0aGUgcGVyaW9kIHJldHVybiBpcyB1bmF2YWlsYWJsZS4iLCJwZXJmLm1ldGhvZF9ib2R5X25hdGl2ZV9kYWlseSI6IkRhaWx5IHJldHVybnMgYXJlIHJlcG9ydGVkIGJ5IHRoZSBicm9rZXI7IG1pc3NpbmcgZGF0ZXMgYXJlIGxlZnQgYmxhbmsuIiwicGVyZi5tZXRob2RfZGlldHpfYXBwcm94IjoiTW9kaWZpZWQgRGlldHogKGFwcHJveGltYXRlKSIsInBlcmYubWV0aG9kX3Vua25vd24iOiJSZXR1cm4gbWV0aG9kIHVua25vd24iLCJwZXJmLmNhcmQucmV0dXJuX3ZhbHVlIjoiQ3VtdWxhdGl2ZSByZXR1cm4iLCJwZXJmLmRyYXdkb3duX3BsYWluX3RpdGxlIjoiTWF4aW11bSBkcmF3ZG93biIsInBlcmYubWV0aG9kX2JvZHlfdW5rbm93biI6IlRoZSByZXR1cm4gbWV0aG9kIGlzIHVuY29uZmlybWVkLiBWYWx1ZXMgYXJlIHNob3duIGFzIHByb3ZpZGVkLCBidXQgYXJlIG5vdCBjb25maXJtZWQgYXMgdGltZS13ZWlnaHRlZCByZXR1cm5zIChUV1IpOyB1bmtub3duIHJldHVybnMgYXJlIG5vdCB0cmVhdGVkIGFzIHplcm8uIiwicGVyZi5tZXRob2RfYm9keV9kaWV0eiI6IldoZW4gY2FzaCBmbG93cyBleGlzdCBidXQgZXhhY3QgZGFpbHkgd2VpZ2h0aW5nIGlzIHVuYXZhaWxhYmxlLCBNb2RpZmllZCBEaWV0eiBpcyB1c2VkIGFuZCBsYWJlbGVkIGFzIGFwcHJveGltYXRlLiBFYWNoIHJhbmdlIHN0YXJ0cyBhdCB6ZXJvLCBhbmQgY2FzaCBmbG93cyBhcmUgZXhjbHVkZWQgZnJvbSByZXR1cm5zLiBJZiByZWNvcmRzIGFyZSBpbmNvbXBsZXRlLCBvbmx5IGFzc2V0IGJhbGFuY2UgaXMgc2hvd24gaW5zdGVhZCBvZiBUV1IuIiwicGVyZi5tZXRob2RfYm9keV9hc3NldF9jaGFuZ2UiOiJDb21wbGV0ZSBjYXNoLWZsb3cgcmVjb3JkcyBhcmUgbWlzc2luZywgc28gVFdSIGlzIHVuYXZhaWxhYmxlLiBUaGUgY2hhcnQgc2hvd3MgYXNzZXQgY2hhbmdlICglKSwgaW5jbHVkaW5nIHRoZSBlZmZlY3Qgb2YgY2FzaCBmbG93czsgaXQgaXMgbm90IGEgdGltZS13ZWlnaHRlZCByZXR1cm4gYW5kIGlzIG5vdCBjb21wYXJlZCB3aXRoIGJlbmNobWFya3MuIiwicGVyZi5yZXR1cm5zX3RpdGxlX3BsYWluIjoiUmV0dXJucyIsInBlcmYuYXNzZXRfYmFsYW5jZV90aXRsZSI6IkFzc2V0IGJhbGFuY2UiLCJwZXJmLm1pc3NpbmdfY2FzaGZsb3dfcmVjb3JkcyI6IkNhc2gtZmxvdyByZWNvcmRzIGFyZSBtaXNzaW5nOyByZXR1cm5zIGNhbm5vdCBiZSBjYWxjdWxhdGVkIHlldC4iLCJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6IkFzc2V0IGNoYW5nZSIsInBlcmYuYXNzZXRfY2hhbmdlX3RhZyI6IkFzc2V0IGNoYW5nZSDCtyBpbmNsdWRlcyBjYXNoIGZsb3dzIiwicGVyZi5hc3NldF9jaGFuZ2VfY2FsZW5kYXJfdGFnIjoiSW5jbHVkZXMgY2FzaCBmbG93cyIsInBlcmYuYXNzZXRfY2hhbmdlX25vdGUiOiJSZXR1cm5zIGFyZSB1bmF2YWlsYWJsZTsgdGhlIGNoYXJ0IHNob3dzIGFzc2V0IGNoYW5nZSAoJSksIGluY2x1ZGluZyB0aGUgZWZmZWN0IG9mIGNhc2ggZmxvd3MuIEl0IGlzIG5vdCBhIHRpbWUtd2VpZ2h0ZWQgcmV0dXJuIGFuZCBpcyBub3QgY29tcGFyZWQgd2l0aCBiZW5jaG1hcmtzLiIsInBlcmYuY2FsZW5kYXJfZmFsbGJhY2tfbm90ZSI6IlNvbWUgYWNjb3VudHMgYXJlIG1pc3Npbmcgc25hcHNob3RzIG9uIHRoZXNlIGRhdGVzLiBUaGlzIGNhbGVuZGFyIHNob3dzIGFzc2V0IGNoYW5nZSBmcm9tIHRoZSBhdmFpbGFibGUgYWNjb3VudHMsIGluY2x1ZGluZyBjYXNoLWZsb3cgZWZmZWN0czsgaXQgaXMgbm90IGEgcmV0dXJuLiIsInBlcmYucG9ydGZvbGlvX3NlcmllcyI6IlBvcnRmb2xpbyIsInBlcmYuY3VycmVuY3lfc3dpdGNoIjoiQ3VycmVuY3kiLCJwZXJmLmNyeXB0b19iZW5jaG1hcmtfbm90ZSI6IkNyeXB0byBhY2NvdW50cyB0cmFkZSAyNC83IGFuZCBhcmUgbm90IGNvbXBhcmVkIHdpdGggVVMgZXF1aXR5IGluZGljZXM7IEJUQyBiZW5jaG1hcmsgZGF0YSBpcyBub3QgYXZhaWxhYmxlIHlldC4iLCJwZXJmLm1peGVkX2JlbmNobWFya19ub3RlIjoiVGhpcyBzY29wZSBtaXhlcyBjcnlwdG8gYW5kIFVTIGVxdWl0eSBhY2NvdW50cywgc28gbm8gc2luZ2xlIG1hcmtldCBpbmRleCBhcHBsaWVzLiBPcGVuIG9uZSBhY2NvdW50IHRvIGNvbXBhcmUgYmVuY2htYXJrcy4iLCJwZXJmLmN1cnJlbmN5X2JlbmNobWFya19ub3RlIjoiQWNjb3VudHMgaW4gdGhpcyBjdXJyZW5jeSBhcmUgbm90IGNvbXBhcmVkIHdpdGggVVMgZXF1aXR5IGluZGljZXMuIiwicGVyZi5ub19jb21tb25fZGF0ZV9ub3RlIjoiVGhlIGFjY291bnQgYW5kIGJlbmNobWFya3Mgc2hhcmUgbm8gY29tbW9uIGRhdGUsIHNvIGJlbmNobWFya3MgYXJlIG5vdCBvdmVybGFpZC4iLCJwZXJmLmJlbmNobWFya19ub3RfYXBwbGljYWJsZSI6Ik5vIGJlbmNobWFyayBmb3IgdGhpcyBzY29wZSIsInBlcmYuaG9sZGluZ3NfY292ZXJhZ2VfYWNjb3VudHMiOiJDb3ZlcmVkIGFjY291bnRzOiB7dmFsdWV9IiwicGVyZi5yYW5raW5nX25vdGUiOiJSYW5rZWQgYnkgdW5yZWFsaXplZCBQL0wgYW1vdW50OyBwZXJjZW50YWdlcyB1c2UgYXZlcmFnZSBjb3N0LiBIb2xkaW5ncyB3aXRob3V0IGFuIGF2ZXJhZ2UgY29zdCBhcmUgbm90IHJhbmtlZC4iLCJwZXJmLnJhbmtpbmdfd2lubmVycyI6IlRvcCBnYWluZXJzIiwicGVyZi5yYW5raW5nX2xvc2VycyI6IlRvcCBsb3NlcnMiLCJwZXJmLmJlbmNobWFya3NfdW5hdmFpbGFibGUiOiJ7Y291bnR9IGJlbmNobWFyayhzKSB1bmF2YWlsYWJsZSIsInBlcmYuY29sLnNpZGUiOiJTaWRlIiwicGVyZi5jb2wucHJpY2UiOiJQcmljZSIsInBlcmYuY29sLmNvbW1pc3Npb24iOiJDb21taXNzaW9uIiwicGVyZi5jb2wudGF4ZXMiOiJUYXhlcyIsInBlcmYuc2lkZS5idXkiOiJCdXkiLCJwZXJmLnNpZGUuc2VsbCI6IlNlbGwiLCJwZXJmLmV4ZWN1dGlvbnNfY291bnQiOiJ7Y291bnR9IG9ic2VydmVkIGV4ZWN1dGlvbnMiLCJwZXJmLmV4ZWN1dGlvbnNfcGFydGlhbF9zaG9ydCI6IlBhcnRpYWwgcmVjb3JkcyIsInBlcmYuZXhlY3V0aW9uc19wYXJ0aWFsIjoiT25seSBvYnNlcnZlZCBleGVjdXRpb25zIGFyZSBsaXN0ZWQ7IGNvdmVyYWdlIGlzIHVudmVyaWZpZWQgYW5kIHRoaXMgaXMgbm90IGEgY29tcGxldGUgaGlzdG9yeS4iLCJwZXJmLmV4ZWN1dGlvbnNfZW1wdHlfcGFydGlhbCI6IlBhcnRpYWwgcmVjb3Jkczsgbm8gZXhlY3V0aW9ucyB0byBzaG93IGluIHRoaXMgcmFuZ2UuIn0sa209eyJyZWNvbmNpbGlhdGlvbi50aXRsZSI6IuWOhuWPsuWvuei0puS/oeaBryIsInJlY29uY2lsaWF0aW9uLmN1cnJlbnQiOiLlvZPliY3lr7notKbnirbmgIEiLCJyZWNvbmNpbGlhdGlvbi5ub3RfY29ubmVjdGVkIjoi5pyq5o6l5YWlIC8g5pyq55+lIiwicmVjb25jaWxpYXRpb24uaGlzdG9yeV9ub3RpY2UiOiLljoblj7LmgaLlpI3mlrnmoYjkuI3ku6PooajlvZPliY3lr7notKbnirbmgIHjgIIiLCJyZWNvbmNpbGlhdGlvbi5tYXRlcmlhbHMiOiLmgaLlpI3mlrnmoYjor6bmg4UiLCJyZWNvbmNpbGlhdGlvbi5zdGFsZSI6IuaVsOaNruWPr+iDveS4jeaYr+acgOaWsCIsInJlY29uY2lsaWF0aW9uLnJlYWRfdW5rbm93biI6IuaBouWkjeaWueahiOaIluWkhOeQhueKtuaAgeaaguacquehruiupCIsInJlY29uY2lsaWF0aW9uLmVtcHR5Ijoi5pqC5peg5oGi5aSN6K6w5b2V44CCIiwicmVjb25jaWxpYXRpb24udW5uYW1lZF9zdHJhdGVneSI6IuacquWRveWQjeetlueVpSIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3N0YXR1cyI6IuWkhOeQhueKtuaAgSIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iOiLlpITnkIbnirbmgIHmnKrnn6UiLCJyZWNvbmNpbGlhdGlvbi5mcmVzaG5lc3MiOiLmlbDmja7ml7bmlYgiLCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCI6IuaVsOaNruaXtumXtCIsInJlY29uY2lsaWF0aW9uLmdlbmVyYXRlZF9hdCI6IuaWueahiOeUn+aIkOaXtumXtCIsInJlY29uY2lsaWF0aW9uLmNvbXB1dGVkX2F0Ijoi6K6h566X5pe26Ze0IiwiaW5ib3guY291bnRfdW5rbm93biI6IuW+heWKnuS4juWuoeaJueaVsOmHj+aaguaXtuaXoOazleehruiupOOAgiIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC50aXRsZSI6IuW+heWKnuaaguaXtuaXoOazleivu+WPliIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC5kZXRhaWwiOiLku4rml6Xor7vlj5bmrKHmlbDlt7Lovr7kuIrpmZDvvIzlrozmlbTlvoXlip7mmoLml7bkuI3lj6/nlKjjgIIiLCJpbmJveC5lcnJvci51bmF1dGhvcml6ZWQudGl0bGUiOiLlvoXlip7orr/pl67lj5fpmZAiLCJpbmJveC5lcnJvci51bmF1dGhvcml6ZWQuZGV0YWlsIjoi55m75b2V5bey5aSx5pWI5oiW5b2T5YmN6LSm5oi35rKh5pyJ6K+75Y+W5p2D6ZmQ44CCIiwiaW5ib3guZXJyb3IuaW5kZXhfbWlzc2luZy50aXRsZSI6IuW+heWKnuWIl+ihqOWwmuacquW7uueriyIsImluYm94LmVycm9yLmluZGV4X21pc3NpbmcuZGV0YWlsIjoi5a6M5pW05YiX6KGo5bCa5pyq5YeG5aSH5aW977yM5peg5rOV56Gu6K6k5b6F5Yqe5LiO5a6h5om55pWw6YeP44CCIiwiaW5ib3guZXJyb3IuaW5kZXhfaW5jb21wbGV0ZS50aXRsZSI6IuW+heWKnuWIl+ihqOWwmuacquabtOaWsOWujOaIkCIsImluYm94LmVycm9yLmluZGV4X2luY29tcGxldGUuZGV0YWlsIjoi6YOo5YiG5pen6K6w5b2V5bCa5pyq57qz5YWl5YiX6KGo77yM5pqC5pe25peg5rOV56Gu6K6k5YWo6YOo5b6F5Yqe5LiO5a6h5om544CCIiwiaW5ib3guZXJyb3IuaW5kZXhfdW5hdmFpbGFibGUudGl0bGUiOiLlvoXlip7mmoLml7bml6Dms5Xor7vlj5YiLCJpbmJveC5lcnJvci5pbmRleF91bmF2YWlsYWJsZS5kZXRhaWwiOiLnjrDmnInliJfooajml6Dms5XlrozmlbTor7vlj5bvvIzor7fnqI3lkI7ph43or5XvvJvoi6XmjIHnu63lpLHotKXvvIzor7fogZTns7vnrqHnkIblkZjjgIIiLCJpbmJveC5lcnJvci51bmtub3duLnRpdGxlIjoi5b6F5Yqe5pqC5pe25peg5rOV6K+75Y+WIiwiaW5ib3guZXJyb3IudW5rbm93bi5kZXRhaWwiOiLljp/lm6DlsJrmnKrnoa7orqTvvIzor7fnqI3lkI7ph43or5XvvJvoi6XmjIHnu63lpLHotKXvvIzor7fogZTns7vnrqHnkIblkZjjgIIiLCJpbmJveC5yZXRyeV9hdCI6IuacgOaXqemHjeivleaXtumXtO+8mnt2YWx1ZX3vvIzkuI3kv53or4HlsYrml7bmgaLlpI3jgIIiLCJpbmJveC5hdXRoX2hpbnQiOiLor7fkvb/nlKjlt7LmnInor7vlj5bmnYPpmZDnmoTotKbmiLfph43mlrDnmbvlvZXjgIIiLCJpbmJveC5yZXRyeV9oaW50Ijoi56iN5ZCO5Y+v6YeN5paw6K+75Y+W77yb5LiA5YiG6ZKf5YaF5Y+v6IO95LuN5pi+56S65LiK5qyh5aSx6LSl57uT5p6c44CCIiwiaW5ib3gucmV0cnkiOiLph43mlrDor7vlj5blvoXlip4iLCJzdGF0ZS5mcmVzaCI6IuacgOaWsCIsInN0YXRlLnVua25vd24iOiLmnKrnn6UiLCJkZWNpc2lvbnMucGFydGlhbF9ub3RpY2UiOiLpg6jliIbmnaXmupDkuI3lj6/nlKjmiJbkuI3mmK/mnIDmlrDvvIzlr7nlupTnsbvliKvnmoTlvoXlip7lj6/og73kuI3lrozmlbTjgIIiLCJkZWNpc2lvbnMucGFydGlhbF9hZmZlY3RlZCI6IuWPl+W9seWTjeadpea6kCIsImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnN0YWxlIjoi5pWw5o2u5YGP5pen77yM6K+l57G75Yir55qE5b6F5Yqe5Y+v6IO95LiN5a6M5pW044CCIiwiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2UudW5hdmFpbGFibGUiOiLmmoLkuI3lj6/nlKjvvIzor6XnsbvliKvnmoTlvoXlip7ml6Dms5Xnoa7orqTjgIIiLCJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS5yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pe+8jOivpeexu+WIq+eahOW+heWKnuaXoOazleehruiupOOAgiIsImRlY2lzaW9ucy51bmtub3duX3NvdXJjZSI6IuWFtuS7luadpea6kCIsImRlY2lzaW9ucy5tYXRlcmlhbF9mcmVzaG5lc3MiOiLmlbDmja7ml7bmlYjvvJp7dmFsdWV9IiwiZGVjaXNpb25zLnN0YWxlX2hpbnQiOiLmlbDmja7lj6/og73kuI3mmK/mnIDmlrAiLCJkZWNpc2lvbnMuc3RhbGVfdmlzaWJsZV9oaW50Ijoi5Yib5bu66L6D5pep77yM6K+356Gu6K6k5piv5ZCm5LuN5pyJ5pWIIiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9yZXF1aXJlZCI6IumcgOWunuebmOehruiupCIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm9uZSI6IuS4jeW9seWTjeWunuebmCIsImRlY2lzaW9ucy5tb3JlX2luZm8iOiLmm7TlpJrkv6Hmga8iLCJkZWNpc2lvbnMubm90X3NldCI6Iuacquiuvue9riIsImRlY2lzaW9ucy5pbnRlbnRfcmVjb3JkZWQiOiLpgInmi6nlt7LorrDlvZXjgIIiLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCI6IuWGheWuueW3suabtOaWsO+8jOivt+mHjeaWsOafpeeci+WQjuWGjeehruiupOOAgiIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciOiLor6Xkuovpobnlt7LkuI3lnKjlvoXlpITnkIbnirbmgIHjgIIiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIjoi5pqC5pe25peg5rOV56Gu6K6k5pyA5paw5YaF5a6577yM5peg5rOV5o+Q5Lqk77yb6K+35Yi35paw5ZCO6YeN6K+V44CCIiwiZGVjaXNpb25zLnJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Ijoi5a+56LSm5oGi5aSN56Gu6K6kIiwiZGVjaXNpb25zLnN0cmF0ZWd5X3Byb21vdGlvbiI6IuetlueVpeaZi+e6p+aWueahiCIsImRlY2lzaW9ucy5vd25lcl9kZWNpc2lvbiI6Iui0n+i0o+S6uuWGs+WumiIsImRlY2lzaW9ucy5wYXBlcl9hY2NvdW50X2FwcGxpY2F0aW9uIjoi5qih5ouf6LSm5oi35bqU55SoIiwiZGVjaXNpb25zLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiOiLlh63or4Hnu7TmiqQiLCJkZWNpc2lvbnMuc3RyYXRlZ3kiOiLnrZbnlaUiLCJkZWNpc2lvbnMudmVyc2lvbiI6IueJiOacrCIsImRlY2lzaW9ucy5wYXJhbWV0ZXJzIjoi5Y+C5pWwIiwiZGVjaXNpb25zLnNoYWRvd19wYXNzZWQiOiLmqKHmi5/ov5DooYzlt7LpgJrov4ciLCJkZWNpc2lvbnMuc2hhZG93Ijoi5qih5ouf6L+Q6KGM5oyH5qCHIiwiZGVjaXNpb25zLnByb21wdC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuaYr+WQpumHh+eUqOi/meS7veaBouWkjeaWueahiO+8n+aPkOS6pOWQjuS4jeS8muebtOaOpeWQr+eUqOi0puaIt+OAgiIsImRlY2lzaW9ucy5wcm9tcHQuc3RyYXRlZ3lfcHJvbW90aW9uIjoi5piv5ZCm6YeH55So6L+Z6aG5562W55Wl5pmL57qn5pa55qGI77yfIiwiZGVjaXNpb25zLnByb21wdC5vd25lcl9kZWNpc2lvbiI6IuaYr+WQpumHh+eUqOi/meS4quetlueVpeWAmemAie+8nyIsImRlY2lzaW9ucy5wcm9tcHQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IuaYr+WQpuWwhui/meS4quaWueahiOW6lOeUqOWIsOaooeaLn+i0puaIt++8nyIsImRlY2lzaW9ucy5wcm9tcHQuY3JlZGVudGlhbF9tYWludGVuYW5jZSI6IuWHreivgemcgOimgee7tOaKpO+8jOivt+WcqOi/kOihjOeKtuaAgemhteWkhOeQhuOAgiIsImRlY2lzaW9ucy5pbml0aWFsX2Vucm9sbG1lbnRfdGl0bGUiOiLpppbmrKHmjqXlhaXnoa7orqQiLCJkZWNpc2lvbnMucHJvbXB0LmluaXRpYWxfZW5yb2xsbWVudCI6IuaYr+WQpuehruiupOi/meS7vemmluasoeaOpeWFpeS6i+Wunu+8n+ehruiupOWPquiusOW9leS6uuW3peaEj+Wbvu+8jOS4jeS8muiHquWKqOWQr+eUqOi0puaIt+OAgiIsImRlY2lzaW9ucy5zZWxlY3RfcHJvbXB0Ijoi5LuO5bem5L6n6YCJ5oup5LiA5p2h5LqL6aG55p+l55yL6K+m5oOF44CCIiwiZGVjaXNpb25zLnNlbGVjdF9hY2NvdW50Ijoi55uu5qCH6LSm5oi3IiwiZGVjaXNpb25zLm5vX2FjY291bnRfb3B0aW9ucyI6IuaaguaXoOWPr+eUqOeahOaooeaLn+i0puaIt+mAiemhue+8jOaXoOazleaPkOS6pOW6lOeUqOOAgiIsImRlY2lzaW9ucy5hcHBseV9ub3RlIjoi5Y+q5o+Q5Lqk5qih5ouf6LSm5oi35bqU55So6K+35rGC77yM5LiN5Lya6Ieq5Yqo5ZCv55So562W55Wl5oiW5LiL5Y2V44CCIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3N1Ym1pdHRlZCI6Iuivt+axguW3suaPkOS6pO+8jOe7k+aenOW+heehruiupO+8jOivt+WLv+mHjeWkjeaPkOS6pOOAgiIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl91bmNlcnRhaW4iOiLmraTliY3nmoTor7fmsYLnu5PmnpzlvoXnoa7orqTvvIzor7fli7/ph43lpI3mj5DkuqTjgIIiLCJkZWNpc2lvbnMub3Blbl9oZWFsdGgiOiLliY3lvoDov5DooYznirbmgIEiLCJkZWNpc2lvbnMuc3VibWl0dGluZyI6Iuato+WcqOaPkOS6pOKApiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X2xhYmVsIjoi56Gu6K6k6YeH55SoIiwiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV9sYWJlbCI6IuehruiupOS4jemHh+eUqCIsImRlY2lzaW9ucy5mcmVzaG5lc3MucmVhZHkiOiLlsLHnu6oiLCJkZWNpc2lvbnMuc291cmNlLm93bmVyIjoi6LSf6LSj5Lq65Yaz5a6aIiwiZGVjaXNpb25zLnNvdXJjZS5wcm9tb3Rpb24iOiLnrZbnlaXmmYvnuqciLCJkZWNpc2lvbnMuc291cmNlLnJlY292ZXJ5Ijoi5a+56LSm5oGi5aSNIiwiZGVjaXNpb25zLnNvdXJjZS5jcmVkZW50aWFsIjoi5Yet6K+BIiwiZGVjaXNpb25zLnRlY2huaWNhbF9kZXRhaWxzIjoi5Y+C5pWw6K+m5oOFIiwiZGVjaXNpb25zLmFjY291bnRfdW5ib3VuZCI6Iuacque7keWumui0puaItyIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCI6IuivpeaZi+e6p+aWueahiOWwmuacque7keWumumjjumZqeaho+S9jeS4juetlueVpeeJiOacrO+8jOaaguaXtuS4jeiDveaPkOS6pOOAgiIsImRlY2lzaW9ucy5vdXRjb21lX3Vua25vd24iOiLor7fmsYLnu5Pmnpzml6Dms5Xnoa7orqTvvJvkuLrpgb/lhY3ph43lpI3mj5DkuqTvvIzor7flhYjliLfmlrDlubbnoa7orqTlvZPliY3nirbmgIHjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQudGl0bGUiOiLpppbmrKHmjqXlhaXkuovlrp4iLCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiOiLmnaXmupDml7bpl7QiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3RhdHVzLmNvbXBsZXRlIjoi5a6M5pW0IiwiaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy5wYXJ0aWFsIjoi6YOo5YiGIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy51bmtub3duIjoi5pyq55+lIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucG9zaXRpb25zIjoi5oyB5LuTIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UuY2FzaCI6IueOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLm9wZW5fb3JkZXJzIjoi5pyq5oiQ5Lqk5aeU5omYIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucmVjZW50X2V4ZWN1dGlvbnMiOiLov5HmnJ/miJDkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS5sb2NhbF9leGVjdXRpb25fbGVkZ2VyIjoi5pys5Zyw5omn6KGM6LSm5pysIiwiaW5pdGlhbF9lbnJvbGxtZW50Lmtub3duX2VtcHR5Ijoi5bey56Gu6K6k5peg6K6w5b2VIiwiaW5pdGlhbF9lbnJvbGxtZW50LnBhcnRpYWxfdW5hdmFpbGFibGUiOiLpg6jliIbmiJbmmoLkuI3lj6/nlKgiLCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF9ub3RpY2UiOiLku4XmmL7npLrlt7Lov5Tlm57nmoTpg6jliIborrDlvZXvvIzkuI3ku6PooajlrozmlbTojIPlm7TjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGUiOiLojIPlm7TpmZDlrpoiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfdW5hdmFpbGFibGUiOiLojIPlm7Tkv6Hmga/mmoLkuI3lj6/nlKjvvJvku6XkuIvovrnnlYzkv53mjIHmnKrnn6XjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQua2luZCI6IuiMg+WbtOexu+WeiyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5jdXJyZW5jeSI6IuW4geenjSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC53aW5kb3dfc3RhcnQiOiLnqpflj6PlvIDlp4siLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQud2luZG93X2VuZCI6Iueql+WPo+e7k+adnyIsImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiLku4XlvZPliY3liLjllYbkuqTmmJPml6UiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQubGltaXRfcGVyX25hbWVzcGFjZSI6Iuavj+exu+iusOW9leS4iumZkCIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5nYXRld2F5X2F2YWlsYWJpbGl0eSI6Iue9keWFs+WPr+eUqOaApyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC50cnVuY2F0ZWQiOiLnu5PmnpzmmK/lkKbmiKrmlq0iLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5hY2NvdW50X3N0cmF0ZWd5X3Bvc2l0aW9ucyI6Iui0puaIt+S4juetlueVpeaMgeS7kyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLnJldHVybmVkX2FjY291bnRfY2FzaCI6Iui0puaIt+i/lOWbnueahOeOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmFsbF9jbGllbnRfb3Blbl9vcmRlcnMiOiLlhajpg6jlrqLmiLfnq6/mnKrmiJDkuqTlp5TmiZgiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5icm9rZXJfcmVxdWVzdGVkX3dpbmRvdyI6IuWIuOWVhuivt+axgueahOaXtumXtOeql+WPoyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmJvdW5kZWRfbGl2ZV9jbGFpbXNfYW5kX291dGNvbWVzIjoi5pyJ55WM5a6e55uY5aOw5piO5LiO57uT5p6cIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiLmmK8iLCJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiOiLlkKYiLCJpbml0aWFsX2Vucm9sbG1lbnQuYmxvY2tlZCI6IummluasoeaOpeWFpei1hOaWmeWwmuS4jeWujOaVtO+8jOaaguS4jeiDveehruiupOOAgiIsImluaXRpYWxfZW5yb2xsbWVudC5ub3RpY2UiOiLpppbmrKHmjqXlhaXkuI3mnoTmiJDljoblj7Llr7notKbvvIzkuZ/kuI3kvJroh6rliqjlkK/nlKjotKbmiLfjgIHnrZbnlaXmiJbkuqTmmJPjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zeW1ib2wiOiLku6PnoIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC51bmRlcmxpZXIiOiLmoIfnmoQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5sb2NhbF9zeW1ib2wiOiLmnKzlnLDku6PnoIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leHBpcmF0aW9uIjoi5Yiw5pyf5pelIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucmlnaHQiOiLmnJ/mnYPmlrnlkJEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zdHJpa2UiOiLooYzmnYPku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5xdWFudGl0eSI6IuaVsOmHjyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF2ZXJhZ2VfY29zdCI6IuW5s+Wdh+aIkOacrCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmN1cnJlbmN5Ijoi5biB56eNIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QudGFncyI6IumHkemineagh+etviIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmNvbnRyYWN0Ijoi5ZCI57qmIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuY29uX2lkIjoi5ZCI57qm5qCH6K+GIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc2VjX3R5cGUiOiLor4HliLjnsbvlnosiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5wZXJtX2lkIjoi5rC45LmF5aeU5omY5qCH6K+GIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuYWN0aW9uIjoi5Lmw5Y2W5pa55ZCRIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3JkZXJfdHlwZSI6IuWnlOaJmOexu+WeiyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnRvdGFsX3F1YW50aXR5Ijoi5aeU5omY5oC76YePIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QubGltaXRfcHJpY2UiOiLpmZDku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5hdXhfcHJpY2UiOiLpmYTliqDku7fmoLwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zdGF0dXMiOiLnirbmgIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5maWxsZWQiOiLlt7LmiJDkuqTmlbDph48iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZW1haW5pbmciOiLliankvZnmlbDph48iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leGVjdXRpb25faWQiOiLmiJDkuqTmoIfor4YiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5vcmRlcl9pZCI6IuWnlOaJmOagh+ivhiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnRpbWUiOiLmiJDkuqTml7bpl7QiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zaWRlIjoi5pa55ZCRIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc2hhcmVzIjoi6IKh5pWwIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucHJpY2UiOiLku7fmoLwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZWNvcmRfY291bnQiOiLorrDlvZXmlbAiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5DYXNoQmFsYW5jZSI6IueOsOmHkeS9meminSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LlRvdGFsQ2FzaEJhbGFuY2UiOiLnjrDph5HmgLvpop0iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5TZXR0bGVkQ2FzaCI6IuW3sue7k+eul+eOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiRMRURHRVItQ2FzaEJhbGFuY2UiOiLotKbmnKznjrDph5HkvZnpop0iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC4kTEVER0VSLVRvdGFsQ2FzaEJhbGFuY2UiOiLotKbmnKznjrDph5HmgLvpop0iLCJkZWNpc2lvbnMudW5rbm93bl90aXRsZSI6IuWFtuS7luS6i+mhuSIsImRlY2lzaW9ucy5hY3Rpb24udW5rbm93biI6IuacquefpeaTjeS9nCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIjoi5YW25LuW5a2X5q61IiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnVua25vd24iOiLmnKrnn6UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5hY3Rpb24uQlVZIjoi5Lmw5YWlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uYWN0aW9uLlNFTEwiOiLljZblh7oiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zaWRlLkJVWSI6IuS5sOWFpSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnNpZGUuU0VMTCI6IuWNluWHuiIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5TdWJtaXR0ZWQiOiLlt7Lmj5DkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuRmlsbGVkIjoi5bey5oiQ5LqkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLkNhbmNlbGxlZCI6IuW3suWPlua2iCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5BcGlDYW5jZWxsZWQiOiLlt7Llj5bmtogiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ1N1Ym1pdCI6IuaPkOS6pOS4rSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5QcmVTdWJtaXR0ZWQiOiLpooTmj5DkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ0NhbmNlbCI6IuWPlua2iOS4rSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5JbmFjdGl2ZSI6Iuacqua/gOa0uyIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLm9yZGVyX3R5cGUuTE1UIjoi6ZmQ5Lu3IiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ub3JkZXJfdHlwZS5NS1QiOiLluILku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5DQUxMIjoi55yL5raoIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ucmlnaHQuQyI6Iueci+a2qCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LlBVVCI6Iueci+i3jCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LlAiOiLnnIvot4wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5TVEsiOiLogqHnpagiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5PUFQiOiLmnJ/mnYMifSxTbT17InJlY29uY2lsaWF0aW9uLnRpdGxlIjoiUmVjb25jaWxpYXRpb24gaGlzdG9yeSIsInJlY29uY2lsaWF0aW9uLmN1cnJlbnQiOiJDdXJyZW50IHJlY29uY2lsaWF0aW9uIHN0YXR1cyIsInJlY29uY2lsaWF0aW9uLm5vdF9jb25uZWN0ZWQiOiJOb3QgY29ubmVjdGVkIC8gdW5rbm93biIsInJlY29uY2lsaWF0aW9uLmhpc3Rvcnlfbm90aWNlIjoiSGlzdG9yaWNhbCByZWNvdmVyeSBwbGFucyBkbyBub3QgY29uZmlybSB0aGUgY3VycmVudCByZWNvbmNpbGlhdGlvbiBzdGF0dXMuIiwicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIjoiUmVjb3ZlcnkgcGxhbiBkZXRhaWxzIiwicmVjb25jaWxpYXRpb24uc3RhbGUiOiJEYXRhIG1heSBub3QgYmUgdXAgdG8gZGF0ZSIsInJlY29uY2lsaWF0aW9uLnJlYWRfdW5rbm93biI6IlJlY292ZXJ5IHBsYW4gb3IgcHJvY2Vzc2luZyBzdGF0dXMgaXMgdW5jb25maXJtZWQiLCJyZWNvbmNpbGlhdGlvbi5lbXB0eSI6Ik5vIHJlY292ZXJ5IHJlY29yZHMuIiwicmVjb25jaWxpYXRpb24udW5uYW1lZF9zdHJhdGVneSI6IlVubmFtZWQgc3RyYXRlZ3kiLCJyZWNvbmNpbGlhdGlvbi5kZWNpc2lvbl9zdGF0dXMiOiJQcm9jZXNzaW5nIHN0YXR1cyIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iOiJQcm9jZXNzaW5nIHN0YXR1cyB1bmtub3duIiwicmVjb25jaWxpYXRpb24uZnJlc2huZXNzIjoiRGF0YSBmcmVzaG5lc3MiLCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCI6IkRhdGEgdGltZSIsInJlY29uY2lsaWF0aW9uLmdlbmVyYXRlZF9hdCI6IlBsYW4gZ2VuZXJhdGVkIGF0IiwicmVjb25jaWxpYXRpb24uY29tcHV0ZWRfYXQiOiJDYWxjdWxhdGVkIGF0IiwiaW5ib3guY291bnRfdW5rbm93biI6IlRvZG8gYW5kIGFwcHJvdmFsIGNvdW50cyBjYW5ub3QgYmUgY29uZmlybWVkIHJpZ2h0IG5vdy4iLCJpbmJveC5lcnJvci5xdW90YV9leGhhdXN0ZWQudGl0bGUiOiJUb2RvcyBjb3VsZCBub3QgYmUgcmVhZCIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC5kZXRhaWwiOiJUaGUgZGFpbHkgcmVhZCBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLCBzbyB0aGUgY29tcGxldGUgaW5ib3ggaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuIiwiaW5ib3guZXJyb3IudW5hdXRob3JpemVkLnRpdGxlIjoiVG9kbyBhY2Nlc3MgcmVzdHJpY3RlZCIsImluYm94LmVycm9yLnVuYXV0aG9yaXplZC5kZXRhaWwiOiJZb3VyIHNlc3Npb24gaGFzIGV4cGlyZWQgb3IgdGhpcyBhY2NvdW50IGxhY2tzIHJlYWQgYWNjZXNzLiIsImluYm94LmVycm9yLmluZGV4X21pc3NpbmcudGl0bGUiOiJUb2RvIGxpc3Qgbm90IHJlYWR5IiwiaW5ib3guZXJyb3IuaW5kZXhfbWlzc2luZy5kZXRhaWwiOiJBIGNvbXBsZXRlIGxpc3QgaXMgbm90IHJlYWR5LCBzbyB0b2RvIGFuZCBhcHByb3ZhbCBjb3VudHMgYXJlIHVua25vd24uIiwiaW5ib3guZXJyb3IuaW5kZXhfaW5jb21wbGV0ZS50aXRsZSI6IlRvZG8gbGlzdCB1cGRhdGUgaW5jb21wbGV0ZSIsImluYm94LmVycm9yLmluZGV4X2luY29tcGxldGUuZGV0YWlsIjoiU29tZSBvbGRlciByZWNvcmRzIGFyZSBub3QgaW5jbHVkZWQgeWV0LCBzbyBjb21wbGV0ZSB0b2RvIGFuZCBhcHByb3ZhbCBjb3ZlcmFnZSBpcyB1bmtub3duLiIsImluYm94LmVycm9yLmluZGV4X3VuYXZhaWxhYmxlLnRpdGxlIjoiVG9kb3MgY291bGQgbm90IGJlIHJlYWQiLCJpbmJveC5lcnJvci5pbmRleF91bmF2YWlsYWJsZS5kZXRhaWwiOiJUaGUgZXhpc3RpbmcgbGlzdCBjb3VsZCBub3QgYmUgcmVhZCBjb21wbGV0ZWx5LiBUcnkgYWdhaW4gbGF0ZXI7IGNvbnRhY3QgYW4gYWRtaW5pc3RyYXRvciBpZiB0aGUgcHJvYmxlbSBwZXJzaXN0cy4iLCJpbmJveC5lcnJvci51bmtub3duLnRpdGxlIjoiVG9kb3MgY291bGQgbm90IGJlIHJlYWQiLCJpbmJveC5lcnJvci51bmtub3duLmRldGFpbCI6IlRoZSBjYXVzZSBpcyB1bmNvbmZpcm1lZC4gVHJ5IGFnYWluIGxhdGVyOyBjb250YWN0IGFuIGFkbWluaXN0cmF0b3IgaWYgdGhlIHByb2JsZW0gcGVyc2lzdHMuIiwiaW5ib3gucmV0cnlfYXQiOiJFYXJsaWVzdCByZXRyeToge3ZhbHVlfS4gUmVjb3ZlcnkgYnkgdGhlbiBpcyBub3QgZ3VhcmFudGVlZC4iLCJpbmJveC5hdXRoX2hpbnQiOiJTaWduIGluIGFnYWluIHdpdGggYW4gYWNjb3VudCB0aGF0IGFscmVhZHkgaGFzIHJlYWQgYWNjZXNzLiIsImluYm94LnJldHJ5X2hpbnQiOiJUcnkgYWdhaW4gbGF0ZXIuIFRoZSBwcmV2aW91cyBmYWlsdXJlIG1heSBzdGlsbCBhcHBlYXIgZm9yIHVwIHRvIG9uZSBtaW51dGUuIiwiaW5ib3gucmV0cnkiOiJSZWFkIHRvZG9zIGFnYWluIiwic3RhdGUuZnJlc2giOiJGcmVzaCIsInN0YXRlLnVua25vd24iOiJVbmtub3duIiwiZGVjaXNpb25zLnBhcnRpYWxfbm90aWNlIjoiU29tZSBzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZSBvciBvdXQgb2YgZGF0ZTsgdGhlIGFmZmVjdGVkIGNhdGVnb3JpZXMgbWF5IGJlIGluY29tcGxldGUuIiwiZGVjaXNpb25zLnBhcnRpYWxfYWZmZWN0ZWQiOiJBZmZlY3RlZCBzb3VyY2VzIiwiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2Uuc3RhbGUiOiJvdXQgb2YgZGF0ZTsgdGhpcyBjYXRlZ29yeSBtYXkgYmUgaW5jb21wbGV0ZS4iLCJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS51bmF2YWlsYWJsZSI6InVuYXZhaWxhYmxlOyB0aGlzIGNhdGVnb3J5J3MgcGVuZGluZyBpdGVtcyBjYW5ub3QgYmUgY29uZmlybWVkLiIsImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnJlYWRfZmFpbGVkIjoiZmFpbGVkIHRvIGxvYWQ7IHRoaXMgY2F0ZWdvcnkncyBwZW5kaW5nIGl0ZW1zIGNhbm5vdCBiZSBjb25maXJtZWQuIiwiZGVjaXNpb25zLnVua25vd25fc291cmNlIjoiT3RoZXIgc291cmNlIiwiZGVjaXNpb25zLm1hdGVyaWFsX2ZyZXNobmVzcyI6IkRhdGEgZnJlc2huZXNzOiB7dmFsdWV9IiwiZGVjaXNpb25zLnN0YWxlX2hpbnQiOiJEYXRhIG1heSBub3QgYmUgdXAgdG8gZGF0ZSIsImRlY2lzaW9ucy5zdGFsZV92aXNpYmxlX2hpbnQiOiJDcmVhdGVkIGVhcmxpZXI7IHZlcmlmeSB3aGV0aGVyIGl0IGlzIHN0aWxsIHJlbGV2YW50IiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9yZXF1aXJlZCI6IkxpdmUgY29uZmlybWF0aW9uIHJlcXVpcmVkIiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9ub25lIjoiTm8gbGl2ZSBpbXBhY3QiLCJkZWNpc2lvbnMubW9yZV9pbmZvIjoiTW9yZSBpbmZvIiwiZGVjaXNpb25zLm5vdF9zZXQiOiJOb3Qgc2V0IiwiZGVjaXNpb25zLmludGVudF9yZWNvcmRlZCI6IkNob2ljZSByZWNvcmRlZC4iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCI6IlRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLiBSZXZpZXcgaXQgYWdhaW4gYmVmb3JlIGNvbmZpcm1pbmcuIiwiZGVjaXNpb25zLmludGVudF9ub3RfcGVuZGluZyI6IlRoaXMgaXRlbSBpcyBubyBsb25nZXIgcGVuZGluZy4iLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIjoiVGhlIGxhdGVzdCBjb250ZW50IGNhbm5vdCBiZSBjb25maXJtZWQsIHNvIHRoaXMgY2Fubm90IGJlIHN1Ym1pdHRlZC4gUmVmcmVzaCBhbmQgdHJ5IGFnYWluLiIsImRlY2lzaW9ucy5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IlJlY29uY2lsaWF0aW9uIHJlY292ZXJ5IiwiZGVjaXNpb25zLnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImRlY2lzaW9ucy5vd25lcl9kZWNpc2lvbiI6Ik93bmVyIGRlY2lzaW9uIiwiZGVjaXNpb25zLnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiJQYXBlciBhY2NvdW50IGFwcGxpY2F0aW9uIiwiZGVjaXNpb25zLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiOiJDcmVkZW50aWFsIG1haW50ZW5hbmNlIiwiZGVjaXNpb25zLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJkZWNpc2lvbnMudmVyc2lvbiI6IlZlcnNpb24iLCJkZWNpc2lvbnMucGFyYW1ldGVycyI6IlBhcmFtZXRlciIsImRlY2lzaW9ucy5zaGFkb3dfcGFzc2VkIjoiU2ltdWxhdGlvbiBjaGVjayBwYXNzZWQiLCJkZWNpc2lvbnMuc2hhZG93IjoiU2ltdWxhdGlvbiBtZXRyaWNzIiwiZGVjaXNpb25zLnByb21wdC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IkFkb3B0IHRoaXMgcmVjb3ZlcnkgcGxhbj8gU3VibWl0dGluZyB3aWxsIG5vdCBlbmFibGUgdGhlIGFjY291bnQgZGlyZWN0bHkuIiwiZGVjaXNpb25zLnByb21wdC5zdHJhdGVneV9wcm9tb3Rpb24iOiJBZG9wdCB0aGlzIHN0cmF0ZWd5IHByb21vdGlvbj8iLCJkZWNpc2lvbnMucHJvbXB0Lm93bmVyX2RlY2lzaW9uIjoiQWRvcHQgdGhpcyBzdHJhdGVneSBjYW5kaWRhdGU/IiwiZGVjaXNpb25zLnByb21wdC5wYXBlcl9hY2NvdW50X2FwcGxpY2F0aW9uIjoiQXBwbHkgdGhpcyBwcm9wb3NhbCB0byBhIHBhcGVyIGFjY291bnQ/IiwiZGVjaXNpb25zLnByb21wdC5jcmVkZW50aWFsX21haW50ZW5hbmNlIjoiVGhpcyBjcmVkZW50aWFsIG5lZWRzIG1haW50ZW5hbmNlOyBoYW5kbGUgaXQgb24gdGhlIEhlYWx0aCBwYWdlLiIsImRlY2lzaW9ucy5pbml0aWFsX2Vucm9sbG1lbnRfdGl0bGUiOiJJbml0aWFsIGVucm9sbG1lbnQiLCJkZWNpc2lvbnMucHJvbXB0LmluaXRpYWxfZW5yb2xsbWVudCI6IkNvbmZpcm0gdGhlc2UgZmlyc3QtZW5yb2xsbWVudCBmYWN0cz8gQ29uZmlybWluZyByZWNvcmRzIGh1bWFuIGludGVudCBvbmx5IGFuZCBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IGVuYWJsZSB0aGUgYWNjb3VudC4iLCJkZWNpc2lvbnMuc2VsZWN0X3Byb21wdCI6IlNlbGVjdCBhbiBpdGVtIG9uIHRoZSBsZWZ0IHRvIHNlZSBkZXRhaWxzLiIsImRlY2lzaW9ucy5zZWxlY3RfYWNjb3VudCI6IlRhcmdldCBhY2NvdW50IiwiZGVjaXNpb25zLm5vX2FjY291bnRfb3B0aW9ucyI6Ik5vIHBhcGVyIGFjY291bnQgb3B0aW9uIGlzIGF2YWlsYWJsZSwgc28gbm8gYXBwbGljYXRpb24gY2FuIGJlIHN1Ym1pdHRlZC4iLCJkZWNpc2lvbnMuYXBwbHlfbm90ZSI6IlRoaXMgb25seSBzdWJtaXRzIGEgcGFwZXIgYWNjb3VudCBhcHBsaWNhdGlvbiByZXF1ZXN0OyBpdCBkb2VzIG5vdCBlbmFibGUgdGhlIHN0cmF0ZWd5IG9yIHBsYWNlIG9yZGVycy4iLCJkZWNpc2lvbnMuYXBwbGljYXRpb25fc3VibWl0dGVkIjoiUmVxdWVzdCBzdWJtaXR0ZWQuIFRoZSByZXN1bHQgc3RpbGwgbmVlZHMgY29uZmlybWF0aW9uOyBkbyBub3QgcmVzdWJtaXQuIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3VuY2VydGFpbiI6IkFuIGVhcmxpZXIgcmVxdWVzdCBzdGlsbCBuZWVkcyBjb25maXJtYXRpb24uIERvIG5vdCByZXN1Ym1pdC4iLCJkZWNpc2lvbnMub3Blbl9oZWFsdGgiOiJPcGVuIEhlYWx0aCIsImRlY2lzaW9ucy5zdWJtaXR0aW5nIjoiU3VibWl0dGluZ+KApiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X2xhYmVsIjoiQ29uZmlybSBhZG9wdCIsImRlY2lzaW9ucy5jb25maXJtX2RlY2xpbmVfbGFiZWwiOiJDb25maXJtIGRlY2xpbmUiLCJkZWNpc2lvbnMuZnJlc2huZXNzLnJlYWR5IjoiUmVhZHkiLCJkZWNpc2lvbnMuc291cmNlLm93bmVyIjoiT3duZXIgZGVjaXNpb25zIiwiZGVjaXNpb25zLnNvdXJjZS5wcm9tb3Rpb24iOiJTdHJhdGVneSBwcm9tb3Rpb25zIiwiZGVjaXNpb25zLnNvdXJjZS5yZWNvdmVyeSI6IlJlY29uY2lsaWF0aW9uIHJlY292ZXJ5IiwiZGVjaXNpb25zLnNvdXJjZS5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbHMiLCJkZWNpc2lvbnMudGVjaG5pY2FsX2RldGFpbHMiOiJQYXJhbWV0ZXIgZGV0YWlscyIsImRlY2lzaW9ucy5hY2NvdW50X3VuYm91bmQiOiJObyBsaW5rZWQgYWNjb3VudCIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCI6IlRoaXMgcHJvbW90aW9uIGhhcyBubyBib3VuZCByaXNrIHRpZXIgYW5kIHBvbGljeSByZXZpc2lvbiwgc28gaXQgY2Fubm90IGJlIHN1Ym1pdHRlZCB5ZXQuIiwiZGVjaXNpb25zLm91dGNvbWVfdW5rbm93biI6IlRoZSByZXF1ZXN0IG91dGNvbWUgY2Fubm90IGJlIGNvbmZpcm1lZC4gUmVmcmVzaCBhbmQgY29uZmlybSB0aGUgY3VycmVudCBzdGF0ZSBiZWZvcmUgdHJ5aW5nIGFnYWluLiIsImluaXRpYWxfZW5yb2xsbWVudC50aXRsZSI6IkZpcnN0IGVucm9sbG1lbnQgZmFjdHMiLCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiOiJTb3VyY2UgdGltZSIsImluaXRpYWxfZW5yb2xsbWVudC5zdGF0dXMuY29tcGxldGUiOiJDb21wbGV0ZSIsImluaXRpYWxfZW5yb2xsbWVudC5zdGF0dXMucGFydGlhbCI6IlBhcnRpYWwiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3RhdHVzLnVua25vd24iOiJVbmtub3duIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucG9zaXRpb25zIjoiUG9zaXRpb25zIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UuY2FzaCI6IkNhc2giLCJpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS5vcGVuX29yZGVycyI6Ik9wZW4gb3JkZXJzIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucmVjZW50X2V4ZWN1dGlvbnMiOiJSZWNlbnQgZXhlY3V0aW9ucyIsImluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLmxvY2FsX2V4ZWN1dGlvbl9sZWRnZXIiOiJMb2NhbCBleGVjdXRpb24gbGVkZ2VyIiwiaW5pdGlhbF9lbnJvbGxtZW50Lmtub3duX2VtcHR5IjoiTm8gcmVjb3JkcyAoY29uZmlybWVkKSIsImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX3VuYXZhaWxhYmxlIjoiUGFydGlhbCBvciB1bmF2YWlsYWJsZSIsImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX25vdGljZSI6Ik9ubHkgdGhlIHJldHVybmVkIHBhcnRpYWwgcmVjb3JkcyBhcmUgc2hvd247IHRoZXkgZG8gbm90IHJlcHJlc2VudCB0aGUgY29tcGxldGUgc2NvcGUuIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlIjoiQm91bmRlZCBzY29wZSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV91bmF2YWlsYWJsZSI6IlNjb3BlIGluZm9ybWF0aW9uIGlzIHVuYXZhaWxhYmxlOyB0aGUgYm91bmRzIGJlbG93IHJlbWFpbiB1bmtub3duLiIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5raW5kIjoiU2NvcGUgdHlwZSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5jdXJyZW5jeSI6IkN1cnJlbmN5IiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2ZpZWxkLndpbmRvd19zdGFydCI6IldpbmRvdyBzdGFydCIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC53aW5kb3dfZW5kIjoiV2luZG93IGVuZCIsImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiJDdXJyZW50IGJyb2tlciBkYXkgb25seSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5saW1pdF9wZXJfbmFtZXNwYWNlIjoiTGltaXQgcGVyIHJlY29yZCB0eXBlIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2ZpZWxkLmdhdGV3YXlfYXZhaWxhYmlsaXR5IjoiR2F0ZXdheSBhdmFpbGFiaWxpdHkiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQudHJ1bmNhdGVkIjoiVHJ1bmNhdGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2tpbmQuYWNjb3VudF9zdHJhdGVneV9wb3NpdGlvbnMiOiJBY2NvdW50IGFuZCBzdHJhdGVneSBwb3NpdGlvbnMiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5yZXR1cm5lZF9hY2NvdW50X2Nhc2giOiJSZXR1cm5lZCBhY2NvdW50IGNhc2giLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5hbGxfY2xpZW50X29wZW5fb3JkZXJzIjoiQWxsIGNsaWVudCBvcGVuIG9yZGVycyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmJyb2tlcl9yZXF1ZXN0ZWRfd2luZG93IjoiQnJva2VyLXJlcXVlc3RlZCB3aW5kb3ciLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5ib3VuZGVkX2xpdmVfY2xhaW1zX2FuZF9vdXRjb21lcyI6IkJvdW5kZWQgbGl2ZSBjbGFpbXMgYW5kIG91dGNvbWVzIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiJZZXMiLCJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiOiJObyIsImluaXRpYWxfZW5yb2xsbWVudC5ibG9ja2VkIjoiRmlyc3QgZW5yb2xsbWVudCBmYWN0cyBhcmUgaW5jb21wbGV0ZSwgc28gdGhleSBjYW5ub3QgYmUgY29uZmlybWVkIHlldC4iLCJpbml0aWFsX2Vucm9sbG1lbnQubm90aWNlIjoiRmlyc3QgZW5yb2xsbWVudCBpcyBub3QgYSBoaXN0b3JpY2FsIHJlY29uY2lsaWF0aW9uIGFuZCBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IGVuYWJsZSB0aGUgYWNjb3VudCwgc3RyYXRlZ3kgb3IgdHJhZGluZy4iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zeW1ib2wiOiJTeW1ib2wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC51bmRlcmxpZXIiOiJVbmRlcmxpZXIiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5sb2NhbF9zeW1ib2wiOiJMb2NhbCBzeW1ib2wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leHBpcmF0aW9uIjoiRXhwaXJhdGlvbiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnJpZ2h0IjoiT3B0aW9uIHJpZ2h0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc3RyaWtlIjoiU3RyaWtlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucXVhbnRpdHkiOiJRdWFudGl0eSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF2ZXJhZ2VfY29zdCI6IkF2ZXJhZ2UgY29zdCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmN1cnJlbmN5IjoiQ3VycmVuY3kiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50YWdzIjoiQW1vdW50IHRhZ3MiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5jb250cmFjdCI6IkNvbnRyYWN0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuY29uX2lkIjoiQ29udHJhY3QgSUQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zZWNfdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5wZXJtX2lkIjoiUGVybWFuZW50IG9yZGVyIElEIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuYWN0aW9uIjoiQWN0aW9uIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3JkZXJfdHlwZSI6Ik9yZGVyIHR5cGUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50b3RhbF9xdWFudGl0eSI6IlRvdGFsIHF1YW50aXR5IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QubGltaXRfcHJpY2UiOiJMaW1pdCBwcmljZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF1eF9wcmljZSI6IkF1eGlsaWFyeSBwcmljZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnN0YXR1cyI6IlN0YXR1cyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmZpbGxlZCI6IkZpbGxlZCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnJlbWFpbmluZyI6IlJlbWFpbmluZyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmV4ZWN1dGlvbl9pZCI6IkV4ZWN1dGlvbiBJRCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm9yZGVyX2lkIjoiT3JkZXIgSUQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50aW1lIjoiRXhlY3V0aW9uIHRpbWUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zaWRlIjoiU2lkZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnNoYXJlcyI6IlNoYXJlcyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnByaWNlIjoiUHJpY2UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZWNvcmRfY291bnQiOiJSZWNvcmQgY291bnQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5DYXNoQmFsYW5jZSI6IkNhc2ggYmFsYW5jZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LlRvdGFsQ2FzaEJhbGFuY2UiOiJUb3RhbCBjYXNoIGJhbGFuY2UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5TZXR0bGVkQ2FzaCI6IlNldHRsZWQgY2FzaCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiRMRURHRVItQ2FzaEJhbGFuY2UiOiJMZWRnZXIgY2FzaCBiYWxhbmNlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuJExFREdFUi1Ub3RhbENhc2hCYWxhbmNlIjoiTGVkZ2VyIHRvdGFsIGNhc2ggYmFsYW5jZSIsImRlY2lzaW9ucy51bmtub3duX3RpdGxlIjoiT3RoZXIgaXRlbSIsImRlY2lzaW9ucy5hY3Rpb24udW5rbm93biI6IlVua25vd24gYWN0aW9uIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3RoZXIiOiJPdGhlciBmaWVsZCIsImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIjoiVW5rbm93biIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLmFjdGlvbi5CVVkiOiJCdXkiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5hY3Rpb24uU0VMTCI6IlNlbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zaWRlLkJVWSI6IkJ1eSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnNpZGUuU0VMTCI6IlNlbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuU3VibWl0dGVkIjoiU3VibWl0dGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLkZpbGxlZCI6IkZpbGxlZCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5DYW5jZWxsZWQiOiJDYW5jZWxsZWQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuQXBpQ2FuY2VsbGVkIjoiQ2FuY2VsbGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLlBlbmRpbmdTdWJtaXQiOiJTdWJtaXR0aW5nIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLlByZVN1Ym1pdHRlZCI6IlByZS1zdWJtaXR0ZWQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ0NhbmNlbCI6IkNhbmNlbGxpbmciLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuSW5hY3RpdmUiOiJJbmFjdGl2ZSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLm9yZGVyX3R5cGUuTE1UIjoiTGltaXQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5vcmRlcl90eXBlLk1LVCI6Ik1hcmtldCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LkNBTEwiOiJDYWxsIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ucmlnaHQuQyI6IkNhbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5QVVQiOiJQdXQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5QIjoiUHV0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc2VjX3R5cGUuU1RLIjoiU3RvY2siLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5PUFQiOiJPcHRpb24ifSx3bT17ImFjY291bnRzLm9wZW5fc3RyYXRlZ3kiOiLmn6XnnIsge2FjY291bnR9IOeahCB7c3RyYXRlZ3l9IOiuvue9riIsImFjY291bnRzLnJldGlyZWRfb3B0aW9uX2RyYWZ0Ijoi5L+d5a2Y5pe25Lya5riF6Zmk5pen5pyf5p2D6I2J56i/77yM5LiN5Lya5pu05pS55a6e55uY6YWN572u44CCIiwiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiOiLmiafooYzmqKHlvI8iLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLmV2aWRlbmNlX21pc3NpbmciOiLmiafooYzmlrnlvI/lsJrmnKrnoa7orqTjgIIiLCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Ijoi5Yi45ZWG546v5aKD77yae3ZhbHVlfSIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UiOiLphY3nva7mnaXmupDvvJp7dmFsdWV9IiwiYWNjb3VudHMuZXhlY3V0aW9uLm9ic2VydmVkIjoi6YWN572u5qOA5p+l5pe26Ze077yaIiwiYWNjb3VudHMuZXhlY3V0aW9uLmNvbmZpZ19vbmx5Ijoi5LuF6K+05piO5bey6K+75Y+W55qE6YWN572u77yM5b2T5YmN6L+Q6KGM5Y+K5oiQ5Lqk54q25oCB5pyq6aqM6K+B44CCIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJ1bnRpbWVfdGFyZ2V0X25vdGUiOiLov5DooYznm67moIflt7LlkK/nlKjlj6rooajnpLrphY3nva7nirbmgIHvvIzkuI3ku6Pooajlt7Llrp7nm5jov5DooYzmiJbku4rml6Xlt7LmnInmiJDkuqTjgIIiLCJhY2NvdW50cy5hY3RpdmF0aW9uX3NldHRpbmciOiLlkK/nlKjorr7nva4iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlLnJ1bnRpbWVfdGFyZ2V0Ijoi6L+Q6KGM55uu5qCH6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS5zZXJ2aWNlX3RhcmdldCI6IuacjeWKoeebruagh+mFjee9riIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UubWlzc2luZyI6IuacquaPkOS+m+aJp+ihjOmFjee9ruadpea6kCIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24ubm90X2Nvbm5lY3RlZCI6IumFjee9ruivu+WPluacquaOpeWFpSIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24ucmVhZF9mYWlsZWQiOiLphY3nva7or7vlj5blpLHotKUiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLnBlcm1pc3Npb25fZGVuaWVkIjoi5peg5p2D6K+75Y+W6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5icm9rZXJfZW52aXJvbm1lbnRfbWlzc2luZyI6Iui0puaIt+ebruW9lee8uuWwkeaYjuehrueahOWIuOWVhueOr+WigyIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZXhlY3V0aW9uX2NvbmZpZ19taXNzaW5nIjoi57y65bCR5Yy56YWN6LSm5oi355qE5piO56Gu5omn6KGM5qih5byP6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5kcnlfcnVuX2ZsYWdfbWlzc2luZyI6Iue8uuWwkeaYjuehrueahOa8lOe7g+mZkOWItumFjee9riIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZW52aXJvbm1lbnRfY29uZmxpY3QiOiLliLjllYbnjq/looPkuI7miafooYzphY3nva7lhrLnqoEiLCJhY2NvdW50cy5lbnZpcm9ubWVudC5saXZlIjoi5a6e55uY6LSm5oi3IiwiYWNjb3VudHMuZW52aXJvbm1lbnQucGFwZXIiOiLmqKHmi5/otKbmiLciLCJhY2NvdW50cy5lbnZpcm9ubWVudC51bmtub3duIjoi546v5aKD5b6F56Gu6K6kIiwiYWNjb3VudHMuZW52aXJvbm1lbnRfY291bnQiOiJ7Y291bnR9IOS4qui0puaItyIsImFjY291bnRzLmVudmlyb25tZW50LnBhcGVyX25vdGUiOiLmqKHmi5/otKbmiLfph5Hpop3ljZXliJfvvIzkuI3orqHlhaXlrp7nm5jlkIjorqHjgIIiLCJhY2NvdW50cy5lbnZpcm9ubWVudC51bmtub3duX25vdGUiOiLnjq/looPmnKrnoa7orqTnmoTotKbmiLfkuI3orqHlhaXlrp7nm5jlkIjorqHvvJvph5Hpop3mjInlkITmnaXmupDlsZXnpLrjgIIiLCJhY2NvdW50cy51bmFzc2lnbmVkX25vdGUiOiJ7Y291bnR9IOadoeW+heWKnuacquWFs+iBlOi0puaItyIsImFjY291bnRzLmdvX3RvZG9zIjoi5Y675b6F5YqeIiwiYWNjb3VudHMuc2VsZWN0X2FjY291bnQiOiLpgInmi6nkuIDkuKrotKbmiLfmn6XnnIvor6bmg4UiLCJhY2NvdW50cy5zZWxlY3RfYWNjb3VudF9oaW50Ijoi5LuO6LSm5oi35YiX6KGo5Lit6YCJ5oup6KaB5p+l55yL55qE6LSm5oi344CCIiwiYWNjb3VudHMuYmFja190b19saXN0Ijoi6L+U5Zue6LSm5oi35YiX6KGoIiwiYWNjb3VudHMuaWRlbnRpdHkiOiLotKbmiLfmoIfor4YiLCJhY2NvdW50cy5kYXRhX25vdGVzIjoi5pWw5o2u6K+05piOIiwiYWNjb3VudHMuZHJhZnRfdmFsdWUiOiLojYnmoYjvvJp7dmFsdWV9IiwiYWNjb3VudHMuc2VjdGlvbi5zdHJhdGVneSI6IuetlueVpSIsImFjY291bnRzLnNlY3Rpb24uZGNhIjoi5a6a5oqVIiwiYWNjb3VudHMuc2VjdGlvbi5jYXNoX3Jlc2VydmUiOiLotYTph5HpooTnlZkiLCJhY2NvdW50cy5zZWN0aW9uLmluY29tZV9sYXllciI6IuaUtuWFpeWxgiIsImFjY291bnRzLnNlY3Rpb24ub3B0aW9uc19sYXllciI6Iuacn+adg+WxgiIsImFjY291bnRzLmZpZWxkLnN0cmF0ZWd5X3Byb2ZpbGUiOiLnrZbnlaXmoaPmoYgiLCJhY2NvdW50cy5maWVsZC5kY2FfbW9kZSI6IuWumuaKleaooeW8jyIsImFjY291bnRzLmZpZWxkLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIjoi5a6a5oqV5Z+65YeG6YeR6aKd77yIVVNE77yJIiwiYWNjb3VudHMuZmllbGQucmVzZXJ2ZWRfY2FzaF9mbG9vciI6IumihOeVmeeOsOmHkeS4i+mZkO+8iFVTRO+8iSIsImFjY291bnRzLmZpZWxkLnJlc2VydmVkX2Nhc2hfcmF0aW8iOiLpooTnlZnnjrDph5Hmr5TkvosiLCJhY2NvdW50cy5maWVsZC5pbmNvbWVfbGF5ZXJfZW5hYmxlZCI6IuaUtuWFpeWxgiIsImFjY291bnRzLmZpZWxkLm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiOiLmnJ/mnYPlsYIiLCJhY2NvdW50cy5maWVsZC5vdGhlciI6IuWFtuS7luWPguaVsCIsImFjY291bnRzLmJvb2wub24iOiLlvIDlkK8iLCJhY2NvdW50cy5ib29sLm9mZiI6IuWFs+mXrSIsImFjY291bnRzLmRjYV9tb2RlLmZpeGVkIjoi5a6a6aKd5a6a5oqVIiwiYWNjb3VudHMuZGNhX21vZGUuc21hcnQiOiLmmbrog73lrprmipUiLCJhY2NvdW50cy5mb3JtLmluaGVyaXQiOiLot5/pmo/lvZPliY3lgLwiLCJhY2NvdW50cy5mb3JtLmNsZWFyX292ZXJyaWRlIjoi5riF6Zmk6KaG55uWIiwiYWNjb3VudHMuZm9ybS51bmRvIjoi5pKk6ZSA5L+u5pS5IiwiYWNjb3VudHMuZm9ybS5zZWxlY3RfcHJvZmlsZSI6Iuivt+mAieaLqeetlueVpeaho+ahiCIsImFjY291bnRzLmZvcm0uZGNhX3BhaXJfcmVxdWlyZWQiOiLlrprmipXmqKHlvI/kuI7ph5Hpop3pnIDopoHkuIDotbfloavlhpkiLCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGVjaW1hbCI6IumcgOimgeaYr+S4jeWwj+S6jiAwIOeahOaVsOWtlyIsImFjY291bnRzLmZvcm0uaW52YWxpZF9yYXRpbyI6IuavlOS+i+mcgOimgeWcqCAwIOWIsCAxIOS5i+mXtO+8jOS+i+WmgiAwLjE1IiwiYWNjb3VudHMuZm9ybS5pbnZhbGlkX2RjYV9hbW91bnQiOiLlrprmipXph5Hpop3pnIDkuLrlpKfkuo4gMCDnmoTmlbDlrZciLCJhY2NvdW50cy5jaGVja2luZyI6Iuato+WcqOajgOafpeacgOaWsOmFjee9ruKApiIsImFjY291bnRzLnNhdmluZyI6Iuato+WcqOS/neWtmOKApiIsImFjY291bnRzLnNhdmVfdW5rbm93biI6IuS/neWtmOe7k+aenOacquefpe+8m+ivt+WIt+aWsOehruiupOW9k+WJjeiNieahiO+8jOehruiupOWJjeS4jeimgemHjeWkjeaPkOS6pOOAgiIsImNvbnRyb2xzLnN1Ym1pdHRpbmciOiLmraPlnKjmj5DkuqTigKYiLCJjb250cm9scy5jb25maXJtLmVuYWJsZV90aXRsZSI6IuehruiupOWQr+eUqOi/kOihjOebruaghyIsImNvbnRyb2xzLmNvbmZpcm0ucmVzdW1lX3RpdGxlIjoi56Gu6K6k5oGi5aSN6L+Q6KGM55uu5qCHIiwiY29udHJvbHMuY29uZmlybS5hcHByb3ZlX3RpdGxlIjoi56Gu6K6k5om55YeG562W55Wl5bqU55SoIiwiY29udHJvbHMuZW5hYmxlX25vdGUiOiLlvZPliY3pobXpnaLmmoLkuI3mlK/mjIHmj5DkuqTlkK/nlKjor7fmsYLvvJvov5DooYznm67moIfnirbmgIHkv53mjIHkuI3lj5jjgIIiLCJjb250cm9scy5lbmFibGVfY29udHJvbF9ub3RlIjoi5ZCv55So5LiN5Lya6Kej6Zmk5bey5pyJ5L+d5oqk54q25oCB44CCIiwiY29udHJvbHMucHJvdGVjdGVkIjoi5bey5pyJ5L+d5oqk54q25oCB5LuN54S255Sf5pWI44CCIiwiY29udHJvbHMuYXBwcm92ZV9ub3RfcmVhZHkiOiLlvZPliY3msqHmnInku4Xkv67mlLnnrZbnlaXmoaPmoYjkuJTlj6/mibnlh4bnmoTojYnmoYjvvJvor7fliLfmlrDnoa7orqTjgIIiLCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIjoi5YGc5q2i5Y+q6Zi75q2i5paw55qE6Kem5Y+R77yb5LiN5Lya5pKk5Y2V44CB5bmz5LuT5oiW5riF6Zmk5Zyo6YCU6K+35rGC44CCIiwiY29udHJvbHMucmVzdWx0LmVuYWJsZSI6IuW3suWQr+eUqCIsImNvbnRyb2xzLnJlc3VsdC5kaXNhYmxlIjoi5bey5YGc55SoIiwiYWNjb3VudHMuZWZmZWN0X3VuY29uZmlybWVkIjoi5pqC5pe25peg5rOV56Gu6K6k5piv5ZCm55Sf5pWI44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24udGl0bGUiOiLotKbmiLflo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5ub3RlIjoi55So5LqO6LSm5oi35bGV56S677yM5LiN5Lya5pS55Y+Y5Lqk5piT6K6+572u44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQiOiLnjq/looPlo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiOiLotKbmiLfnsbvlnosiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYubGl2ZSI6IuWunuebmCIsImFjY291bnRzLmRlY2xhcmF0aW9uLmVudi5wYXBlciI6IuaooeaLnyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUuY2FzaCI6IueOsOmHkei0puaItyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUubWFyZ2luIjoi5L+d6K+B6YeR6LSm5oi3IiwiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiOiLmnKrlo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlZFZhbHVlIjoi5bey5aOw5piOIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uc2F2ZSI6IuS/neWtmOWjsOaYjiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmRpc2NhcmQiOiLmkqTplIDkv67mlLkiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZpbmciOiLmraPlnKjkv53lrZjlo7DmmI7igKYiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlZCI6IuWjsOaYjuW3suS/neWtmOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0Ijoi5L+d5a2Y5Yay56qB77yb6K+36YeN5paw6K+75Y+W5ZCO5YaN6K+V44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubWlzbWF0Y2giOiLor7vlm57nu5PmnpzkuI7mj5DkuqTlhoXlrrnkuI3kuIDoh7TjgIIiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnZlcmlmaWVkIjoi5L+d5a2Y57uT5p6c5pyq55+l77yb6K+36YeN5paw6K+75Y+W56Gu6K6k77yM56Gu6K6k5YmN5LiN6KaB6YeN5aSN5o+Q5Lqk44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ucmV2aWV3Ijoi5L+d5a2Y57uT5p6c5pyq55+l77yb6K+36YeN5paw6K+75Y+W56Gu6K6k44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZ2F0ZSI6IuW9k+WJjeS4jeaUr+aMgeS/neWtmOi0puaIt+WjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlcmVhZCI6IumHjeaWsOivu+WPliIsImFjY291bnRzLmRlY2xhcmF0aW9uLmRlbmllZCI6Iuayoeacieadg+mZkOivu+WPlui0puaIt+WjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRNaXNtYXRjaCI6Iuivu+WbnueahOi0puaIt+S4juaJgOmAiei0puaIt+S4jeS4gOiHtOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRGYWlsZWQiOiLotKbmiLflo7DmmI7mmoLml7bor7vkuI3liLDjgIIiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zdGFsZSI6IuaYvuekuueahOaYr+S4iuasoeivu+WPlueahOWjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0X25vdGljZSI6IuS4juW3suacieS/oeaBr+S4jeS4gOiHtO+8jOivt+ehruiupOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmFjayI6IuW3suS6huinoyJ9LHhtPXsiYWNjb3VudHMub3Blbl9zdHJhdGVneSI6Ik9wZW4ge3N0cmF0ZWd5fSBzZXR0aW5ncyBmb3Ige2FjY291bnR9IiwiYWNjb3VudHMucmV0aXJlZF9vcHRpb25fZHJhZnQiOiJTYXZpbmcgcmVtb3ZlcyB0aGUgb2xkIG9wdGlvbnMgZHJhZnQgd2l0aG91dCBjaGFuZ2luZyBsaXZlIGNvbmZpZ3VyYXRpb24uIiwiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiOiJFeGVjdXRpb24gbW9kZSIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZXZpZGVuY2VfbWlzc2luZyI6IkV4ZWN1dGlvbiBtb2RlIGlzIG5vdCB5ZXQgY29uZmlybWVkLiIsImFjY291bnRzLmV4ZWN1dGlvbi5icm9rZXJfZW52aXJvbm1lbnQiOiJCcm9rZXIgZW52aXJvbm1lbnQ6IHt2YWx1ZX0iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlIjoiQ29uZmlndXJhdGlvbiBzb3VyY2U6IHt2YWx1ZX0iLCJhY2NvdW50cy5leGVjdXRpb24ub2JzZXJ2ZWQiOiJDb25maWd1cmF0aW9uIGNoZWNrZWQgYXQ6IiwiYWNjb3VudHMuZXhlY3V0aW9uLmNvbmZpZ19vbmx5IjoiRGVzY3JpYmVzIHRoZSBjb25maWd1cmF0aW9uIHJlYWQ7IGN1cnJlbnQgcnVucyBhbmQgZmlsbHMgYXJlIHVudmVyaWZpZWQuIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJ1bnRpbWVfdGFyZ2V0X25vdGUiOiJBbiBlbmFibGVkIHJ1bnRpbWUgdGFyZ2V0IGlzIGNvbmZpZ3VyYXRpb24gc3RhdGUgb25seTsgaXQgZG9lcyBub3QgbWVhbiBsaXZlIHRyYWRpbmcgcmFuIG9yIHByb2R1Y2VkIGZpbGxzIHRvZGF5LiIsImFjY291bnRzLmFjdGl2YXRpb25fc2V0dGluZyI6IkFjdGl2YXRpb24gc2V0dGluZyIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UucnVudGltZV90YXJnZXQiOiJSdW50aW1lIHRhcmdldCBjb25maWd1cmF0aW9uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS5zZXJ2aWNlX3RhcmdldCI6IlNlcnZpY2UgdGFyZ2V0IGNvbmZpZ3VyYXRpb24iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlLm1pc3NpbmciOiJFeGVjdXRpb24gY29uZmlndXJhdGlvbiBzb3VyY2UgdW5hdmFpbGFibGUiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLm5vdF9jb25uZWN0ZWQiOiJDb25maWd1cmF0aW9uIHJlYWRlciBpcyBub3QgY29ubmVjdGVkIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5yZWFkX2ZhaWxlZCI6IkNvbmZpZ3VyYXRpb24gcmVhZCBmYWlsZWQiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLnBlcm1pc3Npb25fZGVuaWVkIjoiQ29uZmlndXJhdGlvbiByZWFkIHBlcm1pc3Npb24gZGVuaWVkIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5icm9rZXJfZW52aXJvbm1lbnRfbWlzc2luZyI6IkFjY291bnQgZGlyZWN0b3J5IGhhcyBubyBleHBsaWNpdCBicm9rZXIgZW52aXJvbm1lbnQiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLmV4ZWN1dGlvbl9jb25maWdfbWlzc2luZyI6Ik5vIGV4cGxpY2l0IGV4ZWN1dGlvbiBtb2RlIGluIGEgbWF0Y2hpbmcgYWNjb3VudCBjb25maWd1cmF0aW9uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5kcnlfcnVuX2ZsYWdfbWlzc2luZyI6IkV4cGxpY2l0IGRyeS1ydW4gY29uc3RyYWludCBpcyBtaXNzaW5nIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5lbnZpcm9ubWVudF9jb25mbGljdCI6IkJyb2tlciBlbnZpcm9ubWVudCBjb25mbGljdHMgd2l0aCBleGVjdXRpb24gY29uZmlndXJhdGlvbiIsImFjY291bnRzLmVudmlyb25tZW50LmxpdmUiOiJMaXZlIGFjY291bnRzIiwiYWNjb3VudHMuZW52aXJvbm1lbnQucGFwZXIiOiJQYXBlciBhY2NvdW50cyIsImFjY291bnRzLmVudmlyb25tZW50LnVua25vd24iOiJFbnZpcm9ubWVudCB1bmNvbmZpcm1lZCIsImFjY291bnRzLmVudmlyb25tZW50X2NvdW50Ijoie2NvdW50fSBhY2NvdW50cyIsImFjY291bnRzLmVudmlyb25tZW50LnBhcGVyX25vdGUiOiJQYXBlciBhY2NvdW50IGFtb3VudHMgYXJlIGxpc3RlZCBzZXBhcmF0ZWx5IGFuZCBleGNsdWRlZCBmcm9tIGxpdmUgdG90YWxzLiIsImFjY291bnRzLmVudmlyb25tZW50LnVua25vd25fbm90ZSI6IkFjY291bnRzIHdpdGggYW4gdW5jb25maXJtZWQgZW52aXJvbm1lbnQgYXJlIGV4Y2x1ZGVkIGZyb20gbGl2ZSB0b3RhbHM7IGFtb3VudHMgYXJlIHNob3duIHBlciBzb3VyY2UuIiwiYWNjb3VudHMudW5hc3NpZ25lZF9ub3RlIjoie2NvdW50fSB0by1kb3MgYXJlIG5vdCBsaW5rZWQgdG8gYW4gYWNjb3VudCIsImFjY291bnRzLmdvX3RvZG9zIjoiT3BlbiB0by1kb3MiLCJhY2NvdW50cy5zZWxlY3RfYWNjb3VudCI6IlNlbGVjdCBhbiBhY2NvdW50IHRvIHNlZSBkZXRhaWxzIiwiYWNjb3VudHMuc2VsZWN0X2FjY291bnRfaGludCI6IlBpY2sgYW4gYWNjb3VudCBmcm9tIHRoZSBsaXN0LiIsImFjY291bnRzLmJhY2tfdG9fbGlzdCI6IkJhY2sgdG8gYWNjb3VudHMiLCJhY2NvdW50cy5pZGVudGl0eSI6IkFjY291bnQgSUQiLCJhY2NvdW50cy5kYXRhX25vdGVzIjoiRGF0YSBub3RlcyIsImFjY291bnRzLmRyYWZ0X3ZhbHVlIjoiRHJhZnQ6IHt2YWx1ZX0iLCJhY2NvdW50cy5zZWN0aW9uLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJhY2NvdW50cy5zZWN0aW9uLmRjYSI6IkRDQSIsImFjY291bnRzLnNlY3Rpb24uY2FzaF9yZXNlcnZlIjoiQ2FzaCByZXNlcnZlIiwiYWNjb3VudHMuc2VjdGlvbi5pbmNvbWVfbGF5ZXIiOiJJbmNvbWUgbGF5ZXIiLCJhY2NvdW50cy5zZWN0aW9uLm9wdGlvbnNfbGF5ZXIiOiJPcHRpb25zIGxheWVyIiwiYWNjb3VudHMuZmllbGQuc3RyYXRlZ3lfcHJvZmlsZSI6IlN0cmF0ZWd5IHByb2ZpbGUiLCJhY2NvdW50cy5maWVsZC5kY2FfbW9kZSI6IkRDQSBtb2RlIiwiYWNjb3VudHMuZmllbGQuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiOiJEQ0EgYmFzZSBhbW91bnQgKFVTRCkiLCJhY2NvdW50cy5maWVsZC5yZXNlcnZlZF9jYXNoX2Zsb29yIjoiUmVzZXJ2ZWQgY2FzaCBmbG9vciAoVVNEKSIsImFjY291bnRzLmZpZWxkLnJlc2VydmVkX2Nhc2hfcmF0aW8iOiJSZXNlcnZlZCBjYXNoIHJhdGlvIiwiYWNjb3VudHMuZmllbGQuaW5jb21lX2xheWVyX2VuYWJsZWQiOiJJbmNvbWUgbGF5ZXIiLCJhY2NvdW50cy5maWVsZC5vcHRpb25fb3ZlcmxheV9lbmFibGVkIjoiT3B0aW9uIG92ZXJsYXkiLCJhY2NvdW50cy5maWVsZC5vdGhlciI6Ik90aGVyIHBhcmFtZXRlciIsImFjY291bnRzLmJvb2wub24iOiJPbiIsImFjY291bnRzLmJvb2wub2ZmIjoiT2ZmIiwiYWNjb3VudHMuZGNhX21vZGUuZml4ZWQiOiJGaXhlZCBhbW91bnQiLCJhY2NvdW50cy5kY2FfbW9kZS5zbWFydCI6IlNtYXJ0IiwiYWNjb3VudHMuZm9ybS5pbmhlcml0IjoiSW5oZXJpdCBjdXJyZW50IHZhbHVlIiwiYWNjb3VudHMuZm9ybS5jbGVhcl9vdmVycmlkZSI6IkNsZWFyIG92ZXJyaWRlIiwiYWNjb3VudHMuZm9ybS51bmRvIjoiVW5kbyIsImFjY291bnRzLmZvcm0uc2VsZWN0X3Byb2ZpbGUiOiJTZWxlY3QgYSBzdHJhdGVneSBwcm9maWxlIiwiYWNjb3VudHMuZm9ybS5kY2FfcGFpcl9yZXF1aXJlZCI6IkRDQSBtb2RlIGFuZCBhbW91bnQgbXVzdCBiZSBwcm92aWRlZCB0b2dldGhlciIsImFjY291bnRzLmZvcm0uaW52YWxpZF9kZWNpbWFsIjoiTXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCIsImFjY291bnRzLmZvcm0uaW52YWxpZF9yYXRpbyI6IlJhdGlvIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxLCBlLmcuIDAuMTUiLCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGNhX2Ftb3VudCI6IkRDQSBhbW91bnQgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIsImFjY291bnRzLmNoZWNraW5nIjoiQ2hlY2tpbmcgdGhlIGxhdGVzdCBzZXR0aW5nc+KApiIsImFjY291bnRzLnNhdmluZyI6IlNhdmluZ+KApiIsImFjY291bnRzLnNhdmVfdW5rbm93biI6IlRoZSBzYXZlIHJlc3VsdCBpcyB1bmtub3duLiBSZWZyZXNoIGFuZCB2ZXJpZnkgdGhlIGN1cnJlbnQgZHJhZnQ7IGRvIG5vdCByZXN1Ym1pdCB1bnRpbCB0aGVuLiIsImNvbnRyb2xzLnN1Ym1pdHRpbmciOiJTdWJtaXR0aW5n4oCmIiwiY29udHJvbHMuY29uZmlybS5lbmFibGVfdGl0bGUiOiJDb25maXJtIGVuYWJsaW5nIHRoZSBydW50aW1lIHRhcmdldCIsImNvbnRyb2xzLmNvbmZpcm0ucmVzdW1lX3RpdGxlIjoiQ29uZmlybSByZXN1bWluZyB0aGUgcnVudGltZSB0YXJnZXQiLCJjb250cm9scy5jb25maXJtLmFwcHJvdmVfdGl0bGUiOiJDb25maXJtIGFwcHJvdmluZyB0aGUgc3RyYXRlZ3kgYXBwbGljYXRpb24iLCJjb250cm9scy5lbmFibGVfbm90ZSI6IlRoaXMgcGFnZSBjYW5ub3Qgc3VibWl0IGFuIGVuYWJsZSByZXF1ZXN0IHlldC4gVGhlIHJ1bnRpbWUgdGFyZ2V0IHN0YXRlIHN0YXlzIHVuY2hhbmdlZC4iLCJjb250cm9scy5lbmFibGVfY29udHJvbF9ub3RlIjoiRW5hYmxpbmcgZG9lcyBub3QgcmVtb3ZlIGFuIGV4aXN0aW5nIHByb3RlY3Rpb24gc3RhdGUuIiwiY29udHJvbHMucHJvdGVjdGVkIjoiVGhlIGV4aXN0aW5nIHByb3RlY3Rpb24gc3RhdGUgcmVtYWlucyBhY3RpdmUuIiwiY29udHJvbHMuYXBwcm92ZV9ub3RfcmVhZHkiOiJUaGVyZSBpcyBubyBhcHByb3ZhYmxlIGRyYWZ0IHRoYXQgY2hhbmdlcyBvbmx5IHRoZSBzdHJhdGVneSBwcm9maWxlLiBSZWZyZXNoIGFuZCBjaGVjayBhZ2Fpbi4iLCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIjoiU3RvcHBpbmcgb25seSBibG9ja3MgbmV3IHRyaWdnZXJzOyBpdCBkb2VzIG5vdCBjYW5jZWwgb3JkZXJzLCBjbG9zZSBwb3NpdGlvbnMsIG9yIGNsZWFyIGluLWZsaWdodCByZXF1ZXN0cy4iLCJjb250cm9scy5yZXN1bHQuZW5hYmxlIjoiRW5hYmxlZCIsImNvbnRyb2xzLnJlc3VsdC5kaXNhYmxlIjoiRGlzYWJsZWQiLCJhY2NvdW50cy5lZmZlY3RfdW5jb25maXJtZWQiOiJVbmFibGUgdG8gY29uZmlybSB3aGV0aGVyIHRoZSBjaGFuZ2UgdG9vayBlZmZlY3QuIiwiYWNjb3VudHMuZGVjbGFyYXRpb24udGl0bGUiOiJBY2NvdW50IGRlY2xhcmF0aW9uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubm90ZSI6IlVzZWQgZm9yIGFjY291bnQgZGlzcGxheTsgdHJhZGluZyBzZXR0aW5ncyBhcmUgdW5jaGFuZ2VkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmVudmlyb25tZW50IjoiRW52aXJvbm1lbnQgZGVjbGFyYXRpb24iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiOiJBY2NvdW50IHR5cGUiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYubGl2ZSI6IkxpdmUiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYucGFwZXIiOiJQYXBlciIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUuY2FzaCI6IkNhc2ggYWNjb3VudCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUubWFyZ2luIjoiTWFyZ2luIGFjY291bnQiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCI6Ik5vdCBkZWNsYXJlZCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkVmFsdWUiOiJEZWNsYXJlZCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmUiOiJTYXZlIGRlY2xhcmF0aW9uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZGlzY2FyZCI6IkRpc2NhcmQgY2hhbmdlcyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmluZyI6IlNhdmluZyBkZWNsYXJhdGlvbuKApiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkIjoiRGVjbGFyYXRpb24gc2F2ZWQuIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uY29uZmxpY3QiOiJTYXZlIGNvbmZsaWN0OyByZS1yZWFkIGFuZCB0cnkgYWdhaW4uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubWlzbWF0Y2giOiJUaGUgcmVhZGJhY2sgZG9lcyBub3QgbWF0Y2ggd2hhdCB3YXMgc3VibWl0dGVkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnVudmVyaWZpZWQiOiJUaGUgc2F2ZSByZXN1bHQgaXMgdW5rbm93bjsgcmUtcmVhZCB0byBjb25maXJtIGFuZCBkbyBub3QgcmVzdWJtaXQgdW50aWwgdGhlbi4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXZpZXciOiJUaGUgc2F2ZSByZXN1bHQgaXMgdW5rbm93bjsgcmUtcmVhZCB0byBjb25maXJtLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmdhdGUiOiJTYXZpbmcgYWNjb3VudCBkZWNsYXJhdGlvbnMgaXMgbm90IGF2YWlsYWJsZS4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXJlYWQiOiJSZS1yZWFkIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZGVuaWVkIjoiTm8gcGVybWlzc2lvbiB0byByZWFkIHRoZSBhY2NvdW50IGRlY2xhcmF0aW9uLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRNaXNtYXRjaCI6IlRoZSByZWFkYmFjayBhY2NvdW50IGRvZXMgbm90IG1hdGNoIHRoZSBzZWxlY3RlZCBhY2NvdW50LiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRGYWlsZWQiOiJUaGUgYWNjb3VudCBkZWNsYXJhdGlvbiBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zdGFsZSI6IlNob3dpbmcgdGhlIGRlY2xhcmF0aW9uIGZyb20gdGhlIGxhc3Qgc3VjY2Vzc2Z1bCByZWFkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0X25vdGljZSI6IlRoaXMgZGlmZmVycyBmcm9tIGF2YWlsYWJsZSBpbmZvcm1hdGlvbi4gUGxlYXNlIGNoZWNrLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmFjayI6IkFja25vd2xlZGdlIn0sVG09eyJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5rbm93biI6Iui0puaIt+e7keWumuW+heehruiupCIsInN0cmF0ZWdpZXMuYXNzaWdubWVudF91bmF2YWlsYWJsZSI6Iui0puaIt+mFjee9ruacquWujOaVtOivu+WPlu+8jOaaguaXoOazleehruiupOetlueVpee7keWumu+8m+W3suacieWBpeW6t+aVsOaNruS7jeaMieWFtuadpea6kOaXpeacn+WxleekuuOAgiIsInN0cmF0ZWdpZXMuaGVhbHRoX2FzX29mIjoi5YGl5bq35pWw5o2u5oiq6IezIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLmhlYWx0aF9sYWJlbCI6IuetlueVpeWBpeW6tyIsInN0cmF0ZWdpZXMuaGVhbHRoX25vdF9wcm92aWRlZCI6IuacquaPkOS+myIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uX3NlY3Rpb24iOiLotKbmiLfmiafooYzmqKHlvI8iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl91bmtub3duX25vdGUiOiLmnKrnn6XooajnpLrotKbmiLfnm67lvZXmiJbov5DooYznm67moIfov5jnvLrlsJHmmI7noa7nmoTmiafooYzphY3nva7vvJvooaXpvZDlkI7kvJroh6rliqjnoa7orqTjgIIiLCJzdHJhdGVnaWVzLmRvbWFpbl9ub3RlIjoi562W55Wl5YGl5bq35p2l6Ieq562W55Wl6K+E5Lyw77yb5omn6KGM5qih5byP5p2l6Ieq6LSm5oi36YWN572u44CC5Lik6ICF6YO95LiN5Luj6KGo5bmz5Y+w5LuK5pel6L+Q6KGM57uT5p6c44CCIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9zdGFsZSI6IuetlueVpeWBpeW6t+aVsOaNruW3sui/h+acn+OAgiIsInN0cmF0ZWdpZXMuZGV0YWlscyI6Iuivpue7huS/oeaBryIsInN0cmF0ZWdpZXMucmVzZWFyY2hfdW5hdmFpbGFibGUiOiLnoJTnqbbotYTmlpnmmoLml7bkuI3lj6/nlKjjgIIiLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3NvdXJjZXMiOiLmnaXmupDvvJp7dmFsdWV9Iiwic3RyYXRlZ2llcy5yZXNlYXJjaF9hc19vZiI6Iui1hOaWmeaXpeacn++8mnt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX2V4cGlyZXMiOiLmnInmlYjmnJ/oh7Mge3ZhbHVlfSIsInN0cmF0ZWdpZXMucmVzZWFyY2hfbW9yZSI6Iuafpeeci+ivtOaYjiIsInJlc2VhcmNoLnNvdXJjZS5nZW5lcmljIjoi56CU56m25p2l5rqQIiwicmVzZWFyY2guc291cmNlLnF1YW50LWFkdmlzb3ItcmVzZWFyY2giOiLph4/ljJbnoJTnqbbkv6Hlj7ciLCJyZXNlYXJjaC5zb3VyY2UucXVhbnRfYWR2aXNvcl9yZXNlYXJjaCI6IumHj+WMlueglOeptuS/oeWPtyIsInJlc2VhcmNoLnNvdXJjZS5yZXNlYXJjaC1taXJyb3IiOiLnoJTnqbbplZzlg48iLCJyZXNlYXJjaC5zb3VyY2Uub3RoZXIiOiLlhbbku5bnoJTnqbbmnaXmupAiLCJyZXNlYXJjaC5zdGF0ZS5jb250ZXh0X29ubHkiOiLku4XkvZzog4zmma8iLCJyZXNlYXJjaC5zdGF0ZS5jYW5kaWRhdGUiOiLnoJTnqbblgJnpgIkiLCJyZXNlYXJjaC5zdGF0ZS5zb3VyY2VfdmVyaWZpY2F0aW9uX3JlcXVpcmVkIjoi5p2l5rqQ5b6F5qC45a6eIiwicmVzZWFyY2guc3RhdGUuZGVmZXJyZWQiOiLmmoLnvJPnoJTnqbYiLCJzdGF0ZS51bmtub3duIjoi5pyq55+lIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9lbXB0eSI6IuaaguaXoOeglOeptui1hOaWmeOAgiIsInN0cmF0ZWdpZXMuY29uZmlndXJlZF9zZWN0aW9uIjoi5bey6YWN572u562W55WlIiwic3RyYXRlZ2llcy5jYXRhbG9nX3NlY3Rpb24iOiLnm67lvZXnrZbnlaUiLCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiOiJ7Y291bnR9IOmhuSIsInN0cmF0ZWdpZXMubm9fY29uZmlndXJlZCI6IuW9k+WJjeayoeaciei0puaIt+mFjee9ruetlueVpe+8m+WPr+S7juS4i+aWueebruW9lee7p+e7reafpeeci+OAgiIsInN0cmF0ZWdpZXMuYmluZGluZyI6Iui0puaIt+e7keWumiIsInN0cmF0ZWdpZXMudW5ib3VuZCI6Iuacque7keWumui0puaItyIsInN0cmF0ZWdpZXMudW5ib3VuZF9ub3RlIjoi55uu5b2V6aG55bCa5pyq57uR5a6a6LSm5oi377yb6L+Z5LiN6KGo56S6562W55Wl5bey5YGc55So5oiW5q2j5Zyo6L+Q6KGM44CCIiwic3RyYXRlZ2llcy51bm1hdGNoZWRfdGl0bGUiOiLnm67lvZXlpJbnrZbnlaXnu5HlrpoiLCJzdHJhdGVnaWVzLnVubWF0Y2hlZF9ub3RlIjoi5Lul5LiL6LSm5oi357uR5a6a55qE562W55Wl5LiN5Zyo5b2T5YmN562W55Wl55uu5b2V5Lit77yI5Y+v6IO95bey5YGc55So5oiW5pS55ZCN77yJ44CC5q2k5aSE5Y+q6K+75bGV56S657uR5a6a5LqL5a6e77yM5LiN5o6o5pat6K+l562W55Wl5LuN5Y+v6L+Q6KGM44CCIiwic3RyYXRlZ2llcy51bm1hdGNoZWRfcHJvZmlsZSI6IuebruW9leS4reS4jeWtmOWcqOeahOetlueVpeagh+ivhiJ9LEFtPXsic3RyYXRlZ2llcy5hc3NpZ25tZW50X3Vua25vd24iOiJBY2NvdW50IGJpbmRpbmcgdW5jb25maXJtZWQiLCJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5hdmFpbGFibGUiOiJBY2NvdW50IGNvbmZpZ3VyYXRpb24gY291bGQgbm90IGJlIHJlYWQgY29tcGxldGVseSwgc28gc3RyYXRlZ3kgYmluZGluZ3MgYXJlIHVuY29uZmlybWVkLiBBdmFpbGFibGUgaGVhbHRoIGRhdGEga2VlcHMgaXRzIHNvdXJjZSBkYXRlLiIsInN0cmF0ZWdpZXMuaGVhbHRoX2FzX29mIjoiSGVhbHRoIGRhdGEgYXMgb2Yge3ZhbHVlfSIsInN0cmF0ZWdpZXMuaGVhbHRoX2xhYmVsIjoiU3RyYXRlZ3kgaGVhbHRoIiwic3RyYXRlZ2llcy5oZWFsdGhfbm90X3Byb3ZpZGVkIjoiTm90IHByb3ZpZGVkIiwic3RyYXRlZ2llcy5leGVjdXRpb25fc2VjdGlvbiI6IkFjY291bnQgZXhlY3V0aW9uIG1vZGUiLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl91bmtub3duX25vdGUiOiJVbmtub3duIG1lYW5zIHRoZSBhY2NvdW50IGRpcmVjdG9yeSBvciBydW50aW1lIHRhcmdldCBzdGlsbCBsYWNrcyBleHBsaWNpdCBleGVjdXRpb24gY29uZmlndXJhdGlvbjsgaXQgY29uZmlybXMgYXV0b21hdGljYWxseSBvbmNlIHN1cHBsaWVkLiIsInN0cmF0ZWdpZXMuZG9tYWluX25vdGUiOiJTdHJhdGVneSBoZWFsdGggY29tZXMgZnJvbSBzdHJhdGVneSBldmFsdWF0aW9uOyBleGVjdXRpb24gbW9kZSBjb21lcyBmcm9tIGFjY291bnQgY29uZmlndXJhdGlvbi4gTmVpdGhlciBlc3RhYmxpc2hlcyB0b2RheSdzIHBsYXRmb3JtIHJ1biByZXN1bHQuIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9zdGFsZSI6IlN0cmF0ZWd5IGhlYWx0aCBkYXRhIGlzIHN0YWxlLiIsInN0cmF0ZWdpZXMuZGV0YWlscyI6IkRldGFpbHMiLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3VuYXZhaWxhYmxlIjoiUmVzZWFyY2ggZGF0YSBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3NvdXJjZXMiOiJTb3VyY2VzOiB7dmFsdWV9Iiwic3RyYXRlZ2llcy5yZXNlYXJjaF9hc19vZiI6IkRhdGEgYXMgb2Y6IHt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX2V4cGlyZXMiOiJFeHBpcmVzIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX21vcmUiOiJWaWV3IG5vdGVzIiwicmVzZWFyY2guc291cmNlLmdlbmVyaWMiOiJSZXNlYXJjaCBzb3VyY2UiLCJyZXNlYXJjaC5zb3VyY2UucXVhbnQtYWR2aXNvci1yZXNlYXJjaCI6IlF1YW50IHJlc2VhcmNoIHNpZ25hbCIsInJlc2VhcmNoLnNvdXJjZS5xdWFudF9hZHZpc29yX3Jlc2VhcmNoIjoiUXVhbnQgcmVzZWFyY2ggc2lnbmFsIiwicmVzZWFyY2guc291cmNlLnJlc2VhcmNoLW1pcnJvciI6IlJlc2VhcmNoIG1pcnJvciIsInJlc2VhcmNoLnNvdXJjZS5vdGhlciI6Ik90aGVyIHJlc2VhcmNoIHNvdXJjZSIsInJlc2VhcmNoLnN0YXRlLmNvbnRleHRfb25seSI6IkNvbnRleHQgb25seSIsInJlc2VhcmNoLnN0YXRlLmNhbmRpZGF0ZSI6IlJlc2VhcmNoIGNhbmRpZGF0ZSIsInJlc2VhcmNoLnN0YXRlLnNvdXJjZV92ZXJpZmljYXRpb25fcmVxdWlyZWQiOiJTb3VyY2UgdmVyaWZpY2F0aW9uIHJlcXVpcmVkIiwicmVzZWFyY2guc3RhdGUuZGVmZXJyZWQiOiJSZXNlYXJjaCBkZWZlcnJlZCIsInN0YXRlLnVua25vd24iOiJVbmtub3duIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9lbXB0eSI6Ik5vIHJlc2VhcmNoIGRhdGEgeWV0LiIsInN0cmF0ZWdpZXMuY29uZmlndXJlZF9zZWN0aW9uIjoiQ29uZmlndXJlZCBzdHJhdGVnaWVzIiwic3RyYXRlZ2llcy5jYXRhbG9nX3NlY3Rpb24iOiJDYXRhbG9nIHN0cmF0ZWdpZXMiLCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiOiJ7Y291bnR9Iiwic3RyYXRlZ2llcy5ub19jb25maWd1cmVkIjoiTm8gYWNjb3VudCBpcyBjb25maWd1cmVkIHdpdGggYSBzdHJhdGVneSB5ZXQuIEJyb3dzZSB0aGUgY2F0YWxvZyBiZWxvdy4iLCJzdHJhdGVnaWVzLmJpbmRpbmciOiJBY2NvdW50IGJpbmRpbmciLCJzdHJhdGVnaWVzLnVuYm91bmQiOiJObyBhY2NvdW50IGxpbmtlZCIsInN0cmF0ZWdpZXMudW5ib3VuZF9ub3RlIjoiVGhpcyBjYXRhbG9nIGVudHJ5IGhhcyBubyBsaW5rZWQgYWNjb3VudDsgaXQgZG9lcyBub3QgbWVhbiB0aGUgc3RyYXRlZ3kgaXMgc3RvcHBlZCBvciBydW5uaW5nLiIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX3RpdGxlIjoiQmluZGluZ3Mgb3V0c2lkZSB0aGUgY2F0YWxvZyIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX25vdGUiOiJUaGVzZSBhY2NvdW50cyBhcmUgYm91bmQgdG8gYSBzdHJhdGVneSB0aGUgY3VycmVudCBjYXRhbG9nIG5vIGxvbmdlciBkZWNsYXJlcyAocmV0aXJlZCBvciByZW5hbWVkKS4gVGhlIHJvdyByZXBvcnRzIHRoZSBiaW5kaW5nIGFzIGNvbmZpZ3VyZWQ7IGl0IGRvZXMgbm90IGNsYWltIHRoZSBzdHJhdGVneSBjYW4gc3RpbGwgcnVuLiIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX3Byb2ZpbGUiOiJTdHJhdGVneSBpZGVudGlmaWVyIG1pc3NpbmcgZnJvbSB0aGUgY2F0YWxvZyJ9LEVtPXsiaGVhbHRoLmZhaWx1cmVfYXRfbGVhc3QiOiLoh7PlsJEge2NvdW50fSIsImhlYWx0aC5mYWlsdXJlX3dpbmRvdyI6IntkYXRlfSDCtyDnur3nuqbml7bpl7QiLCJoZWFsdGguZmFpbHVyZV93aW5kb3dfZGV0YWlsIjoi5LuF57uf6K6h5LuK5pel77yM5LiN5ZCr5LiL5pa5IDE0IOaXpeWOhuWPsu+8m+e6vee6puaXtumXtOWQq+Wkj+S7pOaXtuOAgiIsImhlYWx0aC5mYWlsdXJlX2luY29tcGxldGUiOiLpg6jliIbmlbDmja7mnKrov5Tlm54iLCJoZWFsdGgua3BpLnRvZGF5X3J1bnMiOiLlrozmlbTmlbDmja7otKbmiLciLCJoZWFsdGgua3BpLnRvZGF5X3J1bnNfbm90ZSI6IuacquaOpeWFpSB7bm90X2Nvbm5lY3RlZH0gwrcg5pqC5peg5pWw5o2uIHtub19kYXRhfSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlX3RpdGxlIjoi5pyq5o6l5YWl5ZKM5pqC5peg5pWw5o2u5LiN6K6h5Li65aSx6LSl44CCIiwiaGVhbHRoLmtwaS5vYnNlcnZlZCI6IuS7iuaXpeacieiusOW9lei0puaItyIsImhlYWx0aC5rcGkuY3JlZGVudGlhbHMiOiLlh63or4EiLCJoZWFsdGgua3BpLmNyZWRlbnRpYWxzX3VuaXQiOiLpobnpnIDlhbPms6giLCJoZWFsdGgua3BpLnJlY2VudF9mYWlsdXJlIjoi5LuK5pel5aSx6LSl6LSm5oi3IiwiaGVhbHRoLmJ1c2luZXNzX2RhdGUiOiLnur3nuqbkuJrliqHml6Uge3ZhbHVlfSIsImhlYWx0aC5ub25fdHJhZGluZ19kYXkiOiLpnZ7kuqTmmJPml6XvvJrlkajmnKvml6DorqHliJLov5DooYzvvJvliqDlr4botKfluIHotKbmiLflj6/og73ku43mnInorrDlvZXjgIIiLCJoZWFsdGgubm9uX3RyYWRpbmdfZGF5X3Nob3J0Ijoi6Z2e5Lqk5piT5pelIiwiaGVhbHRoLmdyaWRfcmVhZF9mYWlsZWRfbm90ZSI6IumDqOWIhuaXpeacn+ivu+WPluWksei0pe+8jOaXoOazleehruiupOW9k+WkqeaYr+WQpui/kOihjOOAgiIsImhlYWx0aC5ncmlkLmJpbmRpbmdfY2hhbmdlZCI6Iue7keWumuW3sui9ruaNoiIsImhlYWx0aC5ncmlkLmJpbmRpbmdfY2hhbmdlZF9kZXRhaWwiOiLor6Xml6XmnJ/orrDlvZXlhpnkuo7nu5Hlrprova7mjaLkuYvliY3vvIzml6Dms5XkuI7lvZPliY3otKbmiLfnu5HlrprljLnphY3vvIzlm6DmraTkuI3lsZXnpLrvvJvov5nkuI3ku6PooajlvZPlpKnmnKrov5DooYzjgIIiLCJoZWFsdGguZ3JpZF9iaW5kaW5nX2NoYW5nZWRfbm90ZSI6IumDqOWIhuaXpeacn+WxnuS6jue7keWumui9ruaNouWJjeeahOWOhuWPsuiusOW9le+8m+iusOW9leW3suS/neeVme+8jOS9huS4jeS8muS4juW9k+WJjei0puaIt+e7keWumua3t+eUqOOAgiIsImhlYWx0aC5nbG9iYWxfc2NvcGVfbm90ZSI6IuacrOmhteWxleekuuWFqOmDqOW5s+WPsOS4jui0puaIt+eahOi/kOihjOeKtuaAgeOAgiIsImhlYWx0aC5ncmlkLmluY29tcGxldGUiOiLmnKrlrozmiJAiLCJoZWFsdGguY29sLmNyZWRlbnRpYWwiOiLlh63or4EiLCJoZWFsdGguY29sLmNoYW5uZWwiOiLmuKDpgZMiLCJoZWFsdGguY29sLnN1bW1hcnkiOiLlhoXlrrkiLCJoZWFsdGguZGV0YWlsLnN0YXJ0ZWQiOiLlvIDlp4siLCJoZWFsdGguZGV0YWlsLmZpbmlzaGVkIjoi57uT5p2fIiwiaGVhbHRoLmFjY291bnRfZnJhY3Rpb24iOiJ7Y291bnR9L3t0b3RhbH0iLCJoZWFsdGguc3RhdGVfY291bnRzIjoi5LuK5pel6LSm5oi354q25oCB77yI5pyJ5pWw5o2u77yJIiwiaGVhbHRoLnN0YXRlX2RldGFpbHMiOiLnirbmgIHmmI7nu4YiLCJoZWFsdGguZGF5X2RldGFpbF9zdW1tYXJ5Ijoie2NvdW50fSDmrKHov5DooYwiLCJoZWFsdGguZGF5X2RldGFpbF9ydW5zIjoi5p+l55yL5q+P5qyh6L+Q6KGMIiwiaGVhbHRoLnJ1bl9zdGF0ZS5zdWNjZWVkZWQiOiLmiJDlip8iLCJoZWFsdGgucnVuX3N0YXRlLmZhaWxlZCI6IuWksei0pSIsImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCI6Iuiiq+aLpuaIqiIsImhlYWx0aC5ydW5fc3RhdGUubm9fZGF0YSI6IuaaguaXoOaVsOaNriIsImhlYWx0aC5ydW5fc3RhdGUubm90X2Nvbm5lY3RlZCI6IuacquaOpeWFpSIsImhlYWx0aC5ydW5fc3RhdGUubm90X3J1biI6IuWwmuacquWIsOacn+aIlumdnui/kOihjOaXtuautSIsImhlYWx0aC5ydW5fc3RhdGUudW5rbm93biI6IuacquefpSIsImhlYWx0aC5ydW5fc3RhdGUucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJoZWFsdGgucnVuX3N0YXRlLmluY29tcGxldGUiOiLor7vlj5bkuI3lrozmlbQiLCJoZWFsdGgucm90YXRpb24udGl0bGUiOiLlh63or4Hova7mjaIiLCJoZWFsdGgucm90YXRpb24ub3BlbiI6IuabtOaWsCBJQktSIEZsZXggdG9rZW4iLCJoZWFsdGgucm90YXRpb24uY2xvc2UiOiLmlLbotbfova7mjaLooajljZUiLCJoZWFsdGgucm90YXRpb24ubGFzdF9yb3RhdGVkIjoi5LiK5qyh5a6M5oiQ6L2u5o2iIiwiaGVhbHRoLnJvdGF0aW9uLmV4cGlyZXMiOiLliLDmnJ/ml7bpl7QiLCJoZWFsdGgucm90YXRpb24ubmV2ZXJfcm90YXRlZCI6IuWwmuaXoOWujOaIkOiusOW9lSIsImhlYWx0aC5yb3RhdGlvbi5ub19leHBpcnkiOiLmnKrnmbvorrAiLCJoZWFsdGgucm90YXRpb24ubmV3X3NlY3JldCI6IuaWsCB0b2tlbu+8iOWPquWGme+8iSIsImhlYWx0aC5yb3RhdGlvbi5uZXdfZXhwaXJ5Ijoi5pawIHRva2VuIOWIsOacn+aXtuWIu++8iOWQq+aXtuWMuu+8iSIsImhlYWx0aC5yb3RhdGlvbi5zdGVwX3VwX21ldGhvZCI6IuS6jOasoemqjOivgeaWueW8jyIsImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfdG90cCI6IuWKqOaAgemqjOivgeeggSIsImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfcmVjb3ZlcnkiOiLmgaLlpI3noIEiLCJoZWFsdGgucm90YXRpb24ub25lX3RpbWVfY29kZSI6IuacrOasoemqjOivgeeggSIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZSI6IuaaguWtmOaWsCB0b2tlbiIsImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSI6IuehruiupOWujOaIkOi9ruaNoiIsImhlYWx0aC5yb3RhdGlvbi5jYW5jZWwiOiLlj5bmtojlubbnpoHnlKjmmoLlrZjniYjmnKwiLCJoZWFsdGgucm90YXRpb24ud29ya2luZyI6Iuato+WcqOaPkOS6pOKApiIsImhlYWx0aC5yb3RhdGlvbi5yZWZyZXNoIjoi6YeN5paw6K+75Y+W54q25oCBIiwiaGVhbHRoLnJvdGF0aW9uLndyaXRlX29ubHlfbm90ZSI6IuaPkOS6pOWQjuS4jeS8muaYvuekuuaIlumHjeaWsOivu+WPliB0b2tlbuOAgiIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZV9ub3RlIjoi5pqC5a2Y5LiN5Lya56aB55So5pen54mI5pys77yb5a6M5oiQ5LiL5ri45pu05paw5ZKM6aqM6K+B5ZCO5YaN56Gu6K6k44CCIiwiaGVhbHRoLnJvdGF0aW9uLmZpbmFsaXplX2FjayI6IuaIkeW3suabtOaWsOW5tumqjOivgeWFqOmDqOS4i+a4uOS9v+eUqOaWueOAgiIsImhlYWx0aC5yb3RhdGlvbi5jYW5jZWxfbm90ZSI6IuWPlua2iOWPquemgeeUqOacrOasoeaaguWtmOeahOaWsOeJiOacrOOAgiIsImhlYWx0aC5yb3RhdGlvbi51bmtub3duX25vdGUiOiLnu5PmnpzmnKrnoa7orqTvvIzkuI3opoHph43lpI3mj5DkuqTvvJvor7fph43mlrDor7vlj5blubblr7notKbjgIIiLCJoZWFsdGgucm90YXRpb24udmFsaWRhdGlvbiI6Iuivt+Whq+WGmeaWsCB0b2tlbuOAgeacieaViOWIsOacn+aXtuWIu+WSjOmqjOivgeeggeOAgiIsImhlYWx0aC5yb3RhdGlvbi5yZXF1ZXN0X2ZhaWxlZCI6IuaTjeS9nOacquiiq+ehruiupO+8jOivt+ivu+WPluW9k+WJjeeKtuaAgeOAgiIsImhlYWx0aC5yb3RhdGlvbi51bmF2YWlsYWJsZSI6IuW9k+WJjei0puWPt+aIlueKtuaAgeS4jeWFgeiuuOatpOaTjeS9nOOAgiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5hZGRpbmdfdmVyc2lvbiI6Iuato+WcqOaaguWtmOaWsOeJiOacrCIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5zdGFnZWQiOiLlt7LmmoLlrZjvvIzlvoXkuIvmuLjpqozor4EiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemluZyI6Iuato+WcqOWujOaIkOi9ruaNoiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5maW5hbGl6ZWQiOiLova7mjaLlt7LlrozmiJAiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsaW5nIjoi5q2j5Zyo5Y+W5raI5pqC5a2Y54mI5pysIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmNhbmNlbGVkIjoi5pqC5a2Y54mI5pys5bey5Y+W5raIIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmFkZF91bmtub3duIjoi5pqC5a2Y57uT5p6c5pyq56Gu6K6kIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZpbmFsaXplX3Vua25vd24iOiLlrozmiJDnu5PmnpzmnKrnoa7orqQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsX3Vua25vd24iOiLlj5bmtojnu5PmnpzmnKrnoa7orqQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmFpbGVkIjoi5pON5L2c5aSx6LSl77yM5pyq56Gu6K6k5Y+R55Sf5YaZ5YWlIn0sUm09eyJoZWFsdGguZmFpbHVyZV9hdF9sZWFzdCI6IkF0IGxlYXN0IHtjb3VudH0iLCJoZWFsdGguZmFpbHVyZV93aW5kb3ciOiJ7ZGF0ZX0gwrcgTmV3IFlvcmsgdGltZSIsImhlYWx0aC5mYWlsdXJlX3dpbmRvd19kZXRhaWwiOiJUb2RheSBvbmx5OyBleGNsdWRlcyB0aGUgMTQtZGF5IGhpc3RvcnkgYmVsb3cuIE5ldyBZb3JrIHRpbWUgb2JzZXJ2ZXMgRFNULiIsImhlYWx0aC5mYWlsdXJlX2luY29tcGxldGUiOiJTb21lIGRhdGEgd2FzIG5vdCByZXR1cm5lZCIsImhlYWx0aC5rcGkudG9kYXlfcnVucyI6IkFjY291bnRzIHdpdGggY29tcGxldGUgZGF0YSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlIjoiTm90IGNvbm5lY3RlZDoge25vdF9jb25uZWN0ZWR9IMK3IG5vIGRhdGE6IHtub19kYXRhfSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlX3RpdGxlIjoiTm90IGNvbm5lY3RlZCBhbmQgbm8gZGF0YSBkbyBub3QgY291bnQgYXMgZmFpbHVyZXMuIiwiaGVhbHRoLmtwaS5vYnNlcnZlZCI6IkFjY291bnRzIHdpdGggdG9kYXkncyByZWNvcmRzIiwiaGVhbHRoLmtwaS5jcmVkZW50aWFscyI6IkNyZWRlbnRpYWxzIiwiaGVhbHRoLmtwaS5jcmVkZW50aWFsc191bml0IjoibmVlZCBhdHRlbnRpb24iLCJoZWFsdGgua3BpLnJlY2VudF9mYWlsdXJlIjoiVG9kYXkncyBmYWlsZWQgYWNjb3VudHMiLCJoZWFsdGguYnVzaW5lc3NfZGF0ZSI6Ik5ldyBZb3JrIGJ1c2luZXNzIGRheSB7dmFsdWV9IiwiaGVhbHRoLm5vbl90cmFkaW5nX2RheSI6Ik5vbi10cmFkaW5nIGRheTogbm8gc2NoZWR1bGVkIHdlZWtlbmQgcnVuczsgY3J5cHRvIGFjY291bnRzIG1heSBzdGlsbCByZXBvcnQuIiwiaGVhbHRoLm5vbl90cmFkaW5nX2RheV9zaG9ydCI6Ik5vbi10cmFkaW5nIGRheSIsImhlYWx0aC5ncmlkX3JlYWRfZmFpbGVkX25vdGUiOiJTb21lIGRhdGVzIGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3aGV0aGVyIGEgcnVuIG9jY3VycmVkIGlzIHVua25vd24uIiwiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkIjoiQmluZGluZyByb3RhdGVkIiwiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkX2RldGFpbCI6IlRoaXMgZGF5IHdhcyByZWNvcmRlZCB1bmRlciBhbiBlYXJsaWVyIGJpbmRpbmcgYW5kIG5vIGxvbmdlciBtYXRjaGVzIHRoZSBjdXJyZW50IGFjY291bnQgYmluZGluZywgc28gaXQgaXMgbm90IHNob3duLiBJdCBkb2VzIG5vdCBtZWFuIG5vIHJ1biBvY2N1cnJlZC4iLCJoZWFsdGguZ3JpZF9iaW5kaW5nX2NoYW5nZWRfbm90ZSI6IlNvbWUgZGF0ZXMgcHJlZGF0ZSBhIGJpbmRpbmcgcm90YXRpb247IHRoZWlyIHJlY29yZHMgYXJlIHJldGFpbmVkIGJ1dCBuZXZlciBtaXhlZCB3aXRoIHRoZSBjdXJyZW50IGFjY291bnQgYmluZGluZy4iLCJoZWFsdGguZ2xvYmFsX3Njb3BlX25vdGUiOiJUaGlzIHBhZ2Ugc2hvd3MgcnVudGltZSBzdGF0dXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGFjY291bnRzLiIsImhlYWx0aC5ncmlkLmluY29tcGxldGUiOiJJbmNvbXBsZXRlIiwiaGVhbHRoLmNvbC5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbCIsImhlYWx0aC5jb2wuY2hhbm5lbCI6IkNoYW5uZWwiLCJoZWFsdGguY29sLnN1bW1hcnkiOiJTdW1tYXJ5IiwiaGVhbHRoLmRldGFpbC5zdGFydGVkIjoiU3RhcnRlZCIsImhlYWx0aC5kZXRhaWwuZmluaXNoZWQiOiJGaW5pc2hlZCIsImhlYWx0aC5hY2NvdW50X2ZyYWN0aW9uIjoie2NvdW50fS97dG90YWx9IiwiaGVhbHRoLnN0YXRlX2NvdW50cyI6IlRvZGF5J3MgYWNjb3VudCBzdGF0ZXMgKHdpdGggZGF0YSkiLCJoZWFsdGguc3RhdGVfZGV0YWlscyI6IlN0YXR1cyBkZXRhaWxzIiwiaGVhbHRoLmRheV9kZXRhaWxfc3VtbWFyeSI6Intjb3VudH0gcnVucyIsImhlYWx0aC5kYXlfZGV0YWlsX3J1bnMiOiJWaWV3IGluZGl2aWR1YWwgcnVucyIsImhlYWx0aC5ydW5fc3RhdGUuc3VjY2VlZGVkIjoiU3VjY2VlZGVkIiwiaGVhbHRoLnJ1bl9zdGF0ZS5mYWlsZWQiOiJGYWlsZWQiLCJoZWFsdGgucnVuX3N0YXRlLmJsb2NrZWQiOiJCbG9ja2VkIiwiaGVhbHRoLnJ1bl9zdGF0ZS5ub19kYXRhIjoiTm8gZGF0YSIsImhlYWx0aC5ydW5fc3RhdGUubm90X2Nvbm5lY3RlZCI6Ik5vdCBjb25uZWN0ZWQiLCJoZWFsdGgucnVuX3N0YXRlLm5vdF9ydW4iOiJOb3QgZHVlIG9yIG91dHNpZGUgcnVuIHdpbmRvdyIsImhlYWx0aC5ydW5fc3RhdGUudW5rbm93biI6IlVua25vd24iLCJoZWFsdGgucnVuX3N0YXRlLnJlYWRfZmFpbGVkIjoiUmVhZCBmYWlsZWQiLCJoZWFsdGgucnVuX3N0YXRlLmluY29tcGxldGUiOiJSZWFkIGluY29tcGxldGUiLCJoZWFsdGgucm90YXRpb24udGl0bGUiOiJDcmVkZW50aWFsIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLm9wZW4iOiJVcGRhdGUgSUJLUiBGbGV4IHRva2VuIiwiaGVhbHRoLnJvdGF0aW9uLmNsb3NlIjoiQ2xvc2Ugcm90YXRpb24gZm9ybSIsImhlYWx0aC5yb3RhdGlvbi5sYXN0X3JvdGF0ZWQiOiJMYXN0IHJvdGF0ZWQiLCJoZWFsdGgucm90YXRpb24uZXhwaXJlcyI6IkV4cGlyeSIsImhlYWx0aC5yb3RhdGlvbi5uZXZlcl9yb3RhdGVkIjoiTm8gY29tcGxldGVkIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLm5vX2V4cGlyeSI6Ik5vdCByZWNvcmRlZCIsImhlYWx0aC5yb3RhdGlvbi5uZXdfc2VjcmV0IjoiTmV3IHRva2VuICh3cml0ZS1vbmx5KSIsImhlYWx0aC5yb3RhdGlvbi5uZXdfZXhwaXJ5IjoiTmV3IHRva2VuIGV4cGlyeSAod2l0aCB0aW1lIHpvbmUpIiwiaGVhbHRoLnJvdGF0aW9uLnN0ZXBfdXBfbWV0aG9kIjoiU2Vjb25kLWZhY3RvciBtZXRob2QiLCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3RvdHAiOiJBdXRoZW50aWNhdG9yIGNvZGUiLCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3JlY292ZXJ5IjoiUmVjb3ZlcnkgY29kZSIsImhlYWx0aC5yb3RhdGlvbi5vbmVfdGltZV9jb2RlIjoiT25lLXRpbWUgY29kZSIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZSI6IlN0YWdlIG5ldyB0b2tlbiIsImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSI6IkZpbmFsaXplIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbCI6IkNhbmNlbCBzdGFnZWQgdmVyc2lvbiIsImhlYWx0aC5yb3RhdGlvbi53b3JraW5nIjoiU3VibWl0dGluZ+KApiIsImhlYWx0aC5yb3RhdGlvbi5yZWZyZXNoIjoiUmVmcmVzaCBzdGF0dXMiLCJoZWFsdGgucm90YXRpb24ud3JpdGVfb25seV9ub3RlIjoiVGhlIHRva2VuIGlzIG5ldmVyIGRpc3BsYXllZCBvciByZWFkIGJhY2sgYWZ0ZXIgc3VibWlzc2lvbi4iLCJoZWFsdGgucm90YXRpb24uc3RhZ2Vfbm90ZSI6IlN0YWdpbmcga2VlcHMgdGhlIG9sZCB2ZXJzaW9uIGVuYWJsZWQ7IGZpbmFsaXplIG9ubHkgYWZ0ZXIgZG93bnN0cmVhbSB1cGRhdGUgYW5kIHZlcmlmaWNhdGlvbi4iLCJoZWFsdGgucm90YXRpb24uZmluYWxpemVfYWNrIjoiSSBoYXZlIHVwZGF0ZWQgYW5kIHZlcmlmaWVkIGFsbCBkb3duc3RyZWFtIGNvbnN1bWVycy4iLCJoZWFsdGgucm90YXRpb24uY2FuY2VsX25vdGUiOiJDYW5jZWwgZGlzYWJsZXMgb25seSB0aGlzIHN0YWdlZCBuZXcgdmVyc2lvbi4iLCJoZWFsdGgucm90YXRpb24udW5rbm93bl9ub3RlIjoiVGhlIG91dGNvbWUgaXMgdW5jb25maXJtZWQuIERvIG5vdCByZXN1Ym1pdDsgcmVmcmVzaCBhbmQgcmVjb25jaWxlLiIsImhlYWx0aC5yb3RhdGlvbi52YWxpZGF0aW9uIjoiRW50ZXIgdGhlIG5ldyB0b2tlbiwgYSB2YWxpZCBleHBpcnksIGFuZCBhIG9uZS10aW1lIGNvZGUuIiwiaGVhbHRoLnJvdGF0aW9uLnJlcXVlc3RfZmFpbGVkIjoiVGhlIG9wZXJhdGlvbiB3YXMgbm90IGNvbmZpcm1lZDsgcmVhZCB0aGUgY3VycmVudCBzdGF0dXMuIiwiaGVhbHRoLnJvdGF0aW9uLnVuYXZhaWxhYmxlIjoiVGhpcyBhY2NvdW50IG9yIG9wZXJhdGlvbiBzdGF0ZSBkb2VzIG5vdCBhbGxvdyB0aGF0IGFjdGlvbi4iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuYWRkaW5nX3ZlcnNpb24iOiJTdGFnaW5nIG5ldyB2ZXJzaW9uIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLnN0YWdlZCI6IlN0YWdlZDsgZG93bnN0cmVhbSB2ZXJpZmljYXRpb24gcmVxdWlyZWQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemluZyI6IkZpbmFsaXppbmcgcm90YXRpb24iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemVkIjoiUm90YXRpb24gZmluYWxpemVkIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmNhbmNlbGluZyI6IkNhbmNlbGluZyBzdGFnZWQgdmVyc2lvbiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5jYW5jZWxlZCI6IlN0YWdlZCB2ZXJzaW9uIGNhbmNlbGVkIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmFkZF91bmtub3duIjoiU3RhZ2Ugb3V0Y29tZSB1bmtub3duIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZpbmFsaXplX3Vua25vd24iOiJGaW5hbGl6ZSBvdXRjb21lIHVua25vd24iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsX3Vua25vd24iOiJDYW5jZWwgb3V0Y29tZSB1bmtub3duIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZhaWxlZCI6IkZhaWxlZDsgbm8gd3JpdGUgaXMgY29uZmlybWVkIn0sem09eyJmYWN0cy5hc3NldHMiOiLotYTkuqciLCJmYWN0cy5jYXNoIjoi546w6YeRIiwiZmFjdHMuYXZhaWxhYmxlX2Nhc2giOiLlj6/nlKjnjrDph5EiLCJmYWN0cy5jYXNoX3NlbWFudGljcyI6IuWIuOWVhuaPkOS+m+eahOeOsOmHkeS9memine+8jOS4jeS7o+ihqOi0reS5sOWKm+OAgeWPr+eUqOi1hOmHkeaIluS/neivgemHkeOAgiIsImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQiOiLotKbmiLfouqvku73mnKrmoLjpqozvvIzph5Hpop3mmoLkuI3lsZXnpLoiLCJmYWN0cy5wbGF0Zm9ybV9pZGVudGl0eV91bnZlcmlmaWVkIjoi5bmz5Y+w5ZCI6K6h5LiN5Y+v55So77ya5pyJ6LSm5oi36Lqr5Lu95pyq5qC46aqMIiwiZmFjdHMub2JzZXJ2YXRpb25fY29uZmxpY3QiOiLlkIzkuIDotKbmiLfouqvku73nmoTmlbDmja7kuI3kuIDoh7TvvIzph5Hpop3mmoLkuI3lsZXnpLoiLCJmYWN0cy5hbW91bnRfdW5hdmFpbGFibGUiOiLph5Hpop3kuI3lj6/nlKgiLCJmYWN0cy5wbGF0Zm9ybV90b3RhbCI6IuW5s+WPsOWQiOiuoSIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsIjoi6YOo5YiG5ZCI6K6hIiwiZmFjdHMucGxhdGZvcm1fdG90YWxfbGl2ZSI6IuWunuebmOWQiOiuoSIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsX2xpdmUiOiLlrp7nm5jlsI/orqEiLCJmYWN0cy5wbGF0Zm9ybV9zY29wZV9ub3RlIjoi5LuF5ZCr5a6e55uY6LSm5oi377yM5LiN5ZCr5qih5ouf6LSm5oi377yb5LuF5ZCI6K6h5bey5qC46aqM5LiU5Lyw5YC85pel5pyf5LiA6Ie055qE6LSm5oi344CCIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWxfbm90ZSI6IuS7heWQiOiuoeW3suaguOmqjOS4lOS8sOWAvOaXpeacn+S4gOiHtOeahOi0puaIt+OAgiIsImZhY3RzLmNvdmVyYWdlIjoi5bey6K6h5YWlIHtjb3ZlcmVkfS97ZXhwZWN0ZWR9IOS4qui0puaItyIsImZhY3RzLnBhcnRpYWxfYmFkZ2UiOiLkvLDlgLzkuI3lrozmlbQiLCJmYWN0cy5zdGFsZV9wZW5kaW5nIjoi5b6F5pu05pawIiwiZmFjdHMuYXNfb2Zfc3RhbGUiOiLmiKroh7Mge3ZhbHVlfSDCtyDlvoXmm7TmlrAiLCJmYWN0cy5pZGVudGl0eV9hY3Rpb24iOiLljrvmoLjpqozotKbmiLciLCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIjoi6ZKx5YyF5Lyw5YC8IiwiZmFjdHMud2FsbGV0X2hvbGRpbmdzIjoi5oyB5LuTIMK3IHtjb3VudH0g56eN6LWE5LqnIiwiZmFjdHMud2FsbGV0X3Njb3BlX25vdGUiOiJCaW5hbmNlIOi/lOWbnueahOmSseWMheS8sOWAvO+8jOS4jeS7o+ihqOWujOaVtOi0puaIt+WHgOWAvOaIlueOsOmHke+8m+S4jeiuoeWFpeWunuebmOi0puaIt+WQiOiuoeOAgiIsImZhY3RzLndhbGxldF9ob2xkaW5nc19zY29wZV9ub3RlIjoi5oyB5LuT5pWw6YeP5LuF6KaG55uW546w6LSn5LiO5rS75pyf55CG6LSi77yM5LiN5ZCr6LWE6YeR6LSm5oi344CB5p2g5p2G44CB5ZCI57qm5Y+K6ZSB5a6a55CG6LSi44CCIiwiZmFjdHMud2FsbGV0X3VuYXZhaWxhYmxlIjoi5pqC5LiN5Y+v55SoIiwiZmFjdHMud2FsbGV0X25vX2RhdGEiOiLmmoLml6DmlbDmja4iLCJmYWN0cy53YWxsZXRfcGVuZGluZyI6IuW+heabtOaWsCIsImZhY3RzLndhbGxldF9yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pSJ9LE5tPXsiZmFjdHMuYXNzZXRzIjoiQXNzZXRzIiwiZmFjdHMuY2FzaCI6IkNhc2giLCJmYWN0cy5hdmFpbGFibGVfY2FzaCI6IkF2YWlsYWJsZSBjYXNoIiwiZmFjdHMuY2FzaF9zZW1hbnRpY3MiOiJCcm9rZXItcmVwb3J0ZWQgY2FzaCBiYWxhbmNlOyB0aGlzIGlzIG5vdCBidXlpbmcgcG93ZXIsIGF2YWlsYWJsZSBmdW5kcywgb3IgbWFyZ2luLiIsImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQiOiJBY2NvdW50IGlkZW50aXR5IHVudmVyaWZpZWQ7IGFtb3VudHMgYXJlIGhpZGRlbiIsImZhY3RzLnBsYXRmb3JtX2lkZW50aXR5X3VudmVyaWZpZWQiOiJQbGF0Zm9ybSB0b3RhbCB1bmF2YWlsYWJsZTogc29tZSBhY2NvdW50IGlkZW50aXRpZXMgYXJlIHVudmVyaWZpZWQiLCJmYWN0cy5vYnNlcnZhdGlvbl9jb25mbGljdCI6IkRhdGEgY29uZmxpY3RzIGZvciB0aGUgc2FtZSBhY2NvdW50IGlkZW50aXR5OyBhbW91bnRzIGFyZSBoaWRkZW4iLCJmYWN0cy5hbW91bnRfdW5hdmFpbGFibGUiOiJBbW91bnQgdW5hdmFpbGFibGUiLCJmYWN0cy5wbGF0Zm9ybV90b3RhbCI6IlBsYXRmb3JtIHRvdGFsIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWwiOiJTdWJ0b3RhbCIsImZhY3RzLnBsYXRmb3JtX3RvdGFsX2xpdmUiOiJMaXZlIHRvdGFsIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWxfbGl2ZSI6IkxpdmUgc3VidG90YWwiLCJmYWN0cy5wbGF0Zm9ybV9zY29wZV9ub3RlIjoiTGl2ZSBhY2NvdW50cyBvbmx5OyBwYXBlciBhY2NvdW50cyBhcmUgZXhjbHVkZWQuIE9ubHkgdmVyaWZpZWQgYWNjb3VudHMgd2l0aCB0aGUgc2FtZSB2YWx1YXRpb24gZGF0ZSBhcmUgc3VtbWVkLiIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsX25vdGUiOiJPbmx5IHZlcmlmaWVkIGFjY291bnRzIHdpdGggdGhlIHNhbWUgdmFsdWF0aW9uIGRhdGUgYXJlIGluY2x1ZGVkLiIsImZhY3RzLmNvdmVyYWdlIjoiSW5jbHVkZXMge2NvdmVyZWR9IG9mIHtleHBlY3RlZH0gYWNjb3VudHMiLCJmYWN0cy5wYXJ0aWFsX2JhZGdlIjoiVmFsdWF0aW9uIGluY29tcGxldGUiLCJmYWN0cy5zdGFsZV9wZW5kaW5nIjoiVXBkYXRlIHBlbmRpbmciLCJmYWN0cy5hc19vZl9zdGFsZSI6IkFzIG9mIHt2YWx1ZX0gwrcgdXBkYXRlIHBlbmRpbmciLCJmYWN0cy5pZGVudGl0eV9hY3Rpb24iOiJWZXJpZnkgYWNjb3VudHMiLCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIjoiV2FsbGV0IHZhbHVhdGlvbiIsImZhY3RzLndhbGxldF9ob2xkaW5ncyI6IkhvbGRpbmdzIMK3IHtjb3VudH0gYXNzZXRzIiwiZmFjdHMud2FsbGV0X3Njb3BlX25vdGUiOiJQcm92aWRlci1yZXR1cm5lZCB3YWxsZXQgdmFsdWF0aW9uLCBub3QgY29tcGxldGUgYWNjb3VudCBOQVYgb3IgY2FzaDsgZXhjbHVkZWQgZnJvbSBsaXZlLWFjY291bnQgdG90YWxzLiIsImZhY3RzLndhbGxldF9ob2xkaW5nc19zY29wZV9ub3RlIjoiUXVhbnRpdGllcyBjb3ZlciBTcG90IGFuZCBGbGV4aWJsZSBFYXJuIG9ubHk7IGZ1bmRpbmcsIG1hcmdpbiwgZnV0dXJlcywgYW5kIGxvY2tlZCBFYXJuIGFyZSBleGNsdWRlZC4iLCJmYWN0cy53YWxsZXRfdW5hdmFpbGFibGUiOiJUZW1wb3JhcmlseSB1bmF2YWlsYWJsZSIsImZhY3RzLndhbGxldF9ub19kYXRhIjoiTm8gZGF0YSIsImZhY3RzLndhbGxldF9wZW5kaW5nIjoiVXBkYXRlIHBlbmRpbmciLCJmYWN0cy53YWxsZXRfcmVhZF9mYWlsZWQiOiJSZWFkIGZhaWxlZCJ9LE9tPXsiY29ja3BpdC5zeW50aGV0aWMiOiLnpLrkvovmlbDmja4iLCJjb2NrcGl0LnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0Lm5vdF9zZXQiOiLmnKrorr7nva4iLCJjb2NrcGl0LmFzX29mIjoi5oiq6IezIHt2YWx1ZX0iLCJjb2NrcGl0LmZyZXNobmVzcy5jdXJyZW50Ijoi5pyA5pawIiwiY29ja3BpdC5mcmVzaG5lc3Muc3RhbGUiOiLlt7Lov4fml7YiLCJjb2NrcGl0LmZyZXNobmVzcy5leHBpcmVkIjoi5bey5aSx5pWIIiwiY29ja3BpdC5mcmVzaG5lc3MubWlzc2luZyI6IuacquaPkOS+myIsImNvY2twaXQuZnJlc2huZXNzLnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0LmZyZXNobmVzcy5wYXJ0aWFsIjoi6YOo5YiG6KaG55uWIiwiY29ja3BpdC5mcmVzaG5lc3MudW5hdmFpbGFibGUiOiLmmoLkuI3lj6/nlKgiLCJjb2NrcGl0LmZyZXNobmVzcy5yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pSIsImNvY2twaXQuZXhwaXJ5Lm5vbmUiOiLml6DmnInmlYjmnJ/pmZDliLYiLCJjb2NrcGl0LmV4cGlyeS51bmtub3duIjoi5pyJ5pWI5pyf5peg5rOV56Gu6K6kIiwiY29ja3BpdC5leHBpcnkuYXQiOiLmnInmlYjmnJ/oh7Mge3ZhbHVlfSIsImNvY2twaXQuZXhwaXJ5Lm9wZW4iOiJ7dmFsdWV9IOWQjuWkseaViCIsImNvY2twaXQuZXhwaXJ5LnVuZGVyX2hvdXIiOiJ7dmFsdWV9IOWQjuWkseaViO+8iOS4jei2s+S4gOWwj+aXtu+8iSIsImNvY2twaXQuZXhwaXJ5LnVuZGVyX2ZpdmUiOiJ7dmFsdWV9IOWQjuWkseaViO+8iOS4jei2s+S6lOWIhumSn++8iSIsImNvY2twaXQuZXhwaXJ5LmV4cGlyZWQiOiLlt7LlpLHmlYgiLCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiI6IuS4jeWkhOeQhuWImeivpeWGs+WumuWIsOacn+WQjuiHquWKqOWkseaViO+8jOS4jeS8muaJp+ihjOS7u+S9leWPmOabtOOAgiIsImNvY2twaXQuZXhwaXJ5LmJvdW5kYXJ5Ijoi5Yiw5pyf5ZCO6ZyA6YeN5paw6K+75Y+W5Yaz5a6a77yM5LiN5Lya5bu26ZW/5pyJ5pWI5pyf44CCIiwiY29ja3BpdC5kZWNpc2lvbi5yZXZpZXciOiLmn6XnnIvlhrPlrpoiLCJjb2NrcGl0LmRlY2lzaW9uLnF1YWxpZmljYXRpb24iOiLotYTmoLzmkZjopoEiLCJjb2NrcGl0LmRlY2lzaW9uLnRhcmdldCI6IuebruaghyIsImNvY2twaXQuZGVjaXNpb24ucmVsZWFzZSI6IueJiOacrCIsImNvY2twaXQuZGVjaXNpb24udGllciI6IumjjumZqeaho+S9jSIsImNvY2twaXQuZGVjaXNpb24ucG9saWN5Ijoi562W55Wl54mI5pysIiwiY29ja3BpdC5kZWNpc2lvbi5vcGVyYXRpb24iOiLnlLPor7fnirbmgIEiLCJjb2NrcGl0LmRlY2lzaW9uLmV4cGlyZXMiOiLmnInmlYjmnJ8iLCJjb2NrcGl0LmRlY2lzaW9uLm5vX2FjdGlvbiI6IuS4jeWkhOeQhu+8muWIsOacn+WQjuiHquWKqOWkseaViO+8jOS4jeS6p+eUn+WPmOabtOOAgiIsImNvY2twaXQuZGVjaXNpb24uYmxvY2tlZCI6IuaaguS4jeWPr+WuoeaJuSIsImNvY2twaXQuZGVjaXNpb24uc2VsZWN0ZWQiOiLlvZPliY3lt7LpgIkiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLnBlbmRpbmciOiLlvoXlpITnkIYiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLmFwcHJvdmVkIjoi5bey5om55YeGIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5yZWplY3RlZCI6IuW3suaLkue7nSIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuZXhwaXJlZCI6IuW3sui/h+acnyIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuc3VwZXJzZWRlZCI6IuW3suiiq+WPluS7oyIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUud2l0aGRyYXduIjoi5bey5pKk5ZueIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS51bmtub3duIjoi54q25oCB5pyq55+lIiwiY29ja3BpdC5ibG9ja2VyLmV4cGlyZWQiOiLlhrPlrprlt7LliLDmnJ/jgIIiLCJjb2NrcGl0LmJsb2NrZXIuZXhwaXJ5Ijoi5pyJ5pWI5pyf5peg5rOV56Gu6K6k44CCIiwiY29ja3BpdC5ibG9ja2VyLm5vdF9hbGxvd2VkIjoi5pyN5Yqh56uv5b2T5YmN5LiN5YWB6K645a6h5om544CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfbWlzc2luZyI6IuaUr+aMgei1hOaWmee8uuWkseOAgiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0Ijoi5pSv5oyB6LWE5paZ5LiN5piv5pyA5paw5oiW5LiN5a6M5pW044CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfc3RhbGUiOiLmlK/mjIHotYTmlpnlt7Lov4fml7bvvIzlvZPliY3ml6Dms5Xmibnlh4bjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3VwcG9ydF9leHBpcmVkIjoi5pSv5oyB6LWE5paZ5bey5aSx5pWI77yM5b2T5YmN5peg5rOV5om55YeG44CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfdW5hdmFpbGFibGUiOiLmlK/mjIHotYTmlpnmnaXmupDkuI3lj6/nlKjvvIzlvZPliY3ml6Dms5Xmibnlh4bjgIIiLCJjb2NrcGl0LmJsb2NrZXIudW5xdWFsaWZpZWQiOiLmlK/mjIHotYTmlpnmnKrovr7liLDotYTmoLzopoHmsYLjgIIiLCJjb2NrcGl0LmJsb2NrZXIucG9saWN5Ijoi6aOO6Zmp562W55Wl5LiN5Y+v55So44CCIiwiY29ja3BpdC5ibG9ja2VyLmJpbmRpbmciOiLpo47pmanmoaPkvY3miJbnrZbnlaXniYjmnKzmnKrnu5HlrprjgIIiLCJjb2NrcGl0LmJsb2NrZXIucmV2aXNpb24iOiLlhrPlrprkv67orqLml6Dms5Xnoa7orqTjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGUiOiLor6XlhrPlrprlt7LkuI3lnKjlvoXlpITnkIbnirbmgIHjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGVfdW5rbm93biI6IuaXoOazleivu+WPluivpeWGs+WumueahOeKtuaAge+8jOW9k+WJjeS4jeWPr+WuoeaJueOAgiIsImNvY2twaXQuYmxvY2tlci5vdGhlciI6IuW9k+WJjeS4jeWPr+WuoeaJueOAgiIsImNvY2twaXQuc3VwcG9ydC50aXRsZSI6IuaUr+aMgei1hOaWmSIsImNvY2twaXQuc3VwcG9ydC5xdWFsaWZpZWQiOiLlkIjmoLwiLCJjb2NrcGl0LnN1cHBvcnQucXVhbGlmaWVkX2xpbWl0ZWQiOiLlkIjmoLzkvYbmnInpmZDliLYiLCJjb2NrcGl0LnN1cHBvcnQudW5xdWFsaWZpZWQiOiLkuI3lkIjmoLwiLCJjb2NrcGl0LnN1cHBvcnQudW5rbm93biI6Iui1hOagvOacquefpSIsImNvY2twaXQuc3VwcG9ydC5vYnNlcnZlZCI6IuinguWvn+aXtumXtCB7dmFsdWV9IiwiY29ja3BpdC5zdXBwb3J0Lm9ic2VydmVkX2xhYmVsIjoi6KeC5a+f5pe26Ze0IiwiY29ja3BpdC5zdXBwb3J0LnZhbGlkX3VudGlsIjoi5pyJ5pWI6IezIHt2YWx1ZX0iLCJjb2NrcGl0LnN1cHBvcnQudmFsaWRfdW50aWxfbGFiZWwiOiLmnInmlYjoh7MiLCJjb2NrcGl0LnN1cHBvcnQubGltaXRhdGlvbnMiOiLpmZDliLYiLCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiOiLmnKrmiqXlkYrpmZDliLbjgIIiLCJjb2NrcGl0LnN1cHBvcnQubWlzc2luZyI6IuaUr+aMgei1hOaWmeacquaPkOS+m++8jOWuoeaJueS/neaMgeWFs+mXreOAgiIsImNvY2twaXQuc3VwcG9ydC51bmF2YWlsYWJsZSI6IuaUr+aMgei1hOaWmeaaguS4jeWPr+eUqOOAgiIsImNvY2twaXQuc3VwcG9ydC5zdGFsZSI6IuaUr+aMgei1hOaWmeW3sui/h+acn++8jOmcgOmHjeaWsOivu+WPluOAgiIsImNvY2twaXQuc3VwcG9ydC5leHBpcmVkIjoi5pSv5oyB6LWE5paZ5bey5aSx5pWI77yM5LiN6IO955So5LqO5a6h5om544CCIiwiY29ja3BpdC5zdXBwb3J0LnByb3ZlbmFuY2UiOiLmnaXmupDmoIfor4YiLCJjb2NrcGl0LnBvbGljeS50aXRsZSI6IumjjumZqeetlueVpSIsImNvY2twaXQucG9saWN5LnNlbGVjdGVkIjoi5bey6YCJ5YGP5aW9IiwiY29ja3BpdC5wb2xpY3kuYXBwcm92ZWQiOiLlt7Lmibnlh4bnrZbnlaUiLCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmUiOiLnlJ/mlYjnrZbnlaUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbiI6IuS4tOaXtumZkOWItiIsImNvY2twaXQucG9saWN5Lm5vdF9vYnNlcnZlZCI6IuWwmuacquinguWvn+WIsCIsImNvY2twaXQucG9saWN5Lm1hcHBpbmdfdW5hdmFpbGFibGUiOiLnrZbnlaXmmKDlsITkuI3lj6/nlKgiLCJjb2NrcGl0LnBvbGljeS5yZWFkX2ZhaWxlZCI6IumjjumZqeetlueVpeivu+WPluWksei0peOAgiIsImNvY2twaXQucG9saWN5LnJldmlzaW9uIjoi5L+u6K6iIHt2YWx1ZX0iLCJjb2NrcGl0LnBvbGljeS52YWx1ZXMiOiLorqHnrpflh7rnmoTpmZDliLYiLCJjb2NrcGl0LnBvbGljeS5ub192YWx1ZXMiOiLmmoLml6DorqHnrpflgLzjgIIiLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UiOiLmnaXmupDvvJp7dmFsdWV9IiwiY29ja3BpdC5wb2xpY3kuc291cmNlX2xhYmVsIjoi5p2l5rqQIiwiY29ja3BpdC5wb2xpY3kudW5rbm93bl92YWx1ZSI6IuacquefpSIsImNvY2twaXQucG9saWN5LmN1cnJlbnQiOiLmmKDlsITlt7LmmK/mnIDmlrAiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbl9ub25lIjoi5pegIiwiY29ja3BpdC5wb2xpY3kuc2luY2UiOiLoh6oge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LmxpbWl0Lm1heF9ncm9zc19leHBvc3VyZSI6IuacgOWkp+aAu+aVnuWPoyIsImNvY2twaXQucG9saWN5LmxpbWl0LmNhc2hfZmxvb3IiOiLnjrDph5HkuIvpmZAiLCJjb2NrcGl0LnBvbGljeS5saW1pdC5vdGhlciI6IuWFtuS7lumZkOWItiIsImNvY2twaXQucG9saWN5LnNvdXJjZS5zZXJ2ZXIiOiLmnI3liqHnq68iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UudW5rbm93biI6Iuadpea6kOacquefpSIsImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCI6IiUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24ucmVkdWN0aW9uX29ubHkiOiLku4XlhYHorrjpmY3kvY7po47pmakiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24udW5rbm93biI6IuW3suWQr+eUqOS4tOaXtumZkOWItu+8jOWOn+WboOacquefpSIsImNvY2twaXQucG9saWN5LmVmZmVjdGl2ZV9ub3RlIjoi5bey6YCJ5YGP5aW95LiO55Sf5pWI562W55Wl5YiG5byA5pi+56S677yb6KeC5a+f56Gu6K6k5YmN5LiN5Lya6KeG5Li65bey55Sf5pWI44CCIiwiY29ja3BpdC50aWVyLnRpdGxlIjoi6aOO6Zmp5qGj5L2NIiwiY29ja3BpdC50aWVyLmNhcGl0YWwiOiLotYTmnKzkv53lhagiLCJjb2NrcGl0LnRpZXIuYmFsYW5jZWQiOiLlubPooaHlpI3liKkiLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoIjoi5oiQ6ZW/5aSN5YipIiwiY29ja3BpdC50aWVyLnVua25vd24iOiLmnKrnn6XmoaPkvY0iLCJjb2NrcGl0LnRpZXIuY2FwaXRhbF9ub3RlIjoi5YGP5aW96L6D5L2O6aOO6Zmp77yb6YCC55So6ZmQ5Yi255Sx5bey5om55YeG562W55Wl6K6h566X44CCIiwiY29ja3BpdC50aWVyLmJhbGFuY2VkX25vdGUiOiLlhbzpob7miJDplb/kuI7nuqbmnZ/vvJvpgILnlKjpmZDliLbnlLHlt7Lmibnlh4bnrZbnlaXorqHnrpfjgIIiLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoX25vdGUiOiLmjqXlj5fovoPpq5jpo47pmanvvJvpgILnlKjpmZDliLbnlLHlt7Lmibnlh4bnrZbnlaXorqHnrpfjgIIiLCJjb2NrcGl0LnRpZXIudW5zZXQiOiLlsJrmnKrpgInmi6kiLCJjb2NrcGl0LnRpZXIudW5zZXRfbm90ZSI6IuS/neWtmOWQjuihqOekuuaaguS4jemAieaLqemjjumZqeaho+S9jeOAgiIsImNvY2twaXQudGllci5zYXZlIjoi5L+d5a2Y5qGj5L2N6YCJ5oupIiwiY29ja3BpdC50aWVyLmRpcnR5Ijoi5bey5L+u5pS55L2G5pyq5L+d5a2YIiwiY29ja3BpdC50aWVyLnVuY2hhbmdlZCI6IuacquS/ruaUuSIsImNvY2twaXQudGllci5nYXRlIjoi5b2T5YmN5LiN5YWB6K645L+d5a2Y5qGj5L2N6YCJ5oup44CCIiwiY29ja3BpdC50aWVyLnNjb3BlIjoi6IyD5Zu0IHt2YWx1ZX0iLCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIjoi6YCJ5oup5L+u6K6iIHt2YWx1ZX0iLCJjb2NrcGl0LmxpZmVjeWNsZS50aXRsZSI6IueUn+WRveWRqOacnyIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6Iuatpei/m+WZqOaYvuekuu+8muaOiOadg+S4iumZkCIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuZWZmZWN0aXZlIjoi5q2l6L+b5Zmo5pi+56S677ya5a6e6ZmF6KeC5a+f6Zi25q61IiwiY29ja3BpdC5saWZlY3ljbGUuc3RlcC51bmNvbmZpcm1lZCI6IumYtuauteacquehruiupO+8muS7peS4i+S7heS4uuWAmemAiemYtuautSIsImNvY2twaXQubGlmZWN5Y2xlLmF4aXMucmVzZWFyY2giOiLnoJTnqbbpmLbmrrUiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmF1dGhvcml6ZWQiOiLmjojmnYPkuIrpmZAiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmVmZmVjdGl2ZSI6IuWunumZheinguWvnyIsImNvY2twaXQubGlmZWN5Y2xlLmF4aXMub3BlcmF0aW5nIjoi6L+Q6KGM54q25oCBIiwiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hcHBsaWNhdGlvbiI6IuW6lOeUqOeKtuaAgSIsImNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLnJlc2VhcmNoIjoi56CU56m2IiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UucGFwZXIiOiLmqKHmi58iLCJjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS5zbWFsbF9saXZlIjoi5bCP6KeE5qih5a6e55uYIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuZnVsbF9saXZlIjoi5a6M5pW05a6e55uYIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIjoi6Zi25q615pyq5YiG57G7IiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJ1bm5pbmciOiLov5DooYzkuK0iLCJjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcucGF1c2VkIjoi5bey5pqC5YGcIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlZHVjdGlvbl9vbmx5Ijoi5LuF5YeP5LuTIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlY29uY2lsZV9vbmx5Ijoi5LuF5a+56LSmIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5wZW5kaW5nIjoi5b6F5bqU55SoIiwiY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24uYXBwbHlpbmciOiLlupTnlKjkuK0iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5hcHBsaWVkIjoi5bmz5Y+w5bey5bqU55SoIiwiY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24ucmVqZWN0ZWQiOiLlupTnlKjooqvmi5Lnu50iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5mYWlsZWQiOiLlupTnlKjlpLHotKUiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi51bmtub3duIjoi5pyq55+lIiwiY29ja3BpdC5saWZlY3ljbGUubm90ZSI6IumYtuauteOAgeaOiOadg+OAgeWunumZheinguWvn+WSjOi/kOihjOeKtuaAgeWIhuWIq+aYvuekuu+8m+eVjOmdouS4jeS8muiHquihjOaPkOWNh+mYtuauteOAgiIsImNvY2twaXQubGlmZWN5Y2xlLm5vdF9wcm92aWRlZCI6IuacquaPkOS+m+ivpeebruagh+eahOeUn+WRveWRqOacn+mYtuauteS/oeaBr+OAgiIsImNvY2twaXQubGlmZWN5Y2xlLmlkZW50aXR5Ijoi54mI5pysIHtyZWxlYXNlfSDCtyDnm67moIcge3RhcmdldH0iLCJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LnJpc2tfcmVkdWN0aW9uX29ubHkiOiLku4XlhYHorrjpmY3kvY7po47pmakiLCJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LnVua25vd24iOiLluILlnLrnirbmgIHlvbHlk43mnKrnn6UiLCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSI6IueUs+ivt+eKtuaAgSIsImNvY2twaXQub3BlcmF0aW9uLmRlY2lzaW9uIjoi5Yaz5a6aIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGljYXRpb24iOiLlupTnlKgiLCJjb2NrcGl0Lm9wZXJhdGlvbi5vYnNlcnZhdGlvbiI6Iui/kOihjOinguWvnyIsImNvY2twaXQub3BlcmF0aW9uLnJlY29yZGVkIjoi5Yaz5a6a5bey6K6w5b2VIiwiY29ja3BpdC5vcGVyYXRpb24uYWNjZXB0ZWQiOiLlt7LmjqXlj5fvvIznrYnlvoXlubPlj7DlpITnkIYiLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBseWluZyI6IuW6lOeUqOi/m+ihjOS4rSIsImNvY2twaXQub3BlcmF0aW9uLnJlamVjdGVkIjoi5bqU55So6KKr5ouS57udIiwiY29ja3BpdC5vcGVyYXRpb24udW5rbm93biI6Iue7k+aenOacquefpSIsImNvY2twaXQub3BlcmF0aW9uLmZhaWxlZCI6IuW6lOeUqOWksei0pSIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfdW5vYnNlcnZlZCI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOetieW+hei/kOihjOehruiupCIsImNvY2twaXQub3BlcmF0aW9uLmNvbmZpcm1lZCI6Iui/kOihjOW3suehruiupCIsImNvY2twaXQub3BlcmF0aW9uLnJlZnJlc2giOiLliLfmlrDnirbmgIEiLCJjb2NrcGl0Lm9wZXJhdGlvbi5pZCI6IuaTjeS9nOagh+ivhiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmVxdWVzdCI6Iuivt+axguagh+ivhiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmV2aXNpb24iOiLnu5Hlrprkv67orqIge3ZhbHVlfSIsImNvY2twaXQub3BlcmF0aW9uLm5vdF9yZWFkeSI6IuaTjeS9nOeKtuaAgeaOpeWPo+aaguS4jeWPr+eUqO+8jOaXoOazlei/veafpei/measoeeUs+ivt+OAgiIsImNvY2twaXQub3BlcmF0aW9uLnJlYWRfZmFpbGVkIjoi5pON5L2c54q25oCB6K+75Y+W5aSx6LSl44CCIiwiY29ja3BpdC5vcGVyYXRpb24ubm9fcmV0cnkiOiLnu5PmnpzmnKrnn6Xml7bkuI3kvJroh6rliqjph43or5XvvJvor7flhYjliLfmlrDnirbmgIHnoa7orqTjgIIiLCJjb2NrcGl0Lm9wZXJhdGlvbi5ub25lIjoi5pqC5peg5pON5L2c6K6w5b2V44CCIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9ub19yZWFkYmFjayI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOatpOebruagh+aXoOazleaPkOS+m+eLrOeri+eahOi/kOihjOaXtuWbnuivu+OAgiIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfcmVhZGJhY2tfdW5rbm93biI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOWbnuivu+iDveWKm+acquefpeOAgiIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLmlkbGUiOiLmnKrlvIDlp4siLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5hY3RpdmUiOiLov5vooYzkuK0iLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5jb21wbGV0ZSI6IuW3suWujOaIkCIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLmZhaWxlZCI6IuW3suWksei0pSIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLnVuYXZhaWxhYmxlIjoi5peg5rOV54us56uL5Zue6K+7IiwiY29ja3BpdC5vcGVyYXRpb24ucmVhc29uLnVua25vd24iOiLmk43kvZznu5PmnpzlvoXnoa7orqQiLCJjb2NrcGl0LnBhdXNlLnRpdGxlIjoi6L+Q6KGM5o6n5Yi2IiwiY29ja3BpdC5wYXVzZS5wYXVzZSI6IuaaguWBnCIsImNvY2twaXQucGF1c2UucmVzdW1lIjoi5oGi5aSNIiwiY29ja3BpdC5wYXVzZS5wZW5kaW5nIjoi5o6n5Yi26K+35rGC5aSE55CG5LitIiwiY29ja3BpdC5wYXVzZS51bmF2YWlsYWJsZSI6IuW9k+WJjeS4jeaUr+aMgeivpeaTjeS9nOOAgiIsImNvY2twaXQucGF1c2Uubm90ZSI6IuaaguWBnOS4juaBouWkjeS9v+eUqOW5s+WPsOW3suacieivreS5ie+8m+W6lOeUqOaIkOWKn+S4jeetieS6jui/kOihjOW3suehruiupOOAgiIsImNvY2twaXQucGF1c2UucnVubmluZyI6Iui/kOihjOS4rSIsImNvY2twaXQucGF1c2UucGF1c2VkIjoi5bey5pqC5YGcIiwiY29ja3BpdC5wYXVzZS51bmtub3duIjoi6L+Q6KGM54q25oCB5pyq55+lIiwiY29ja3BpdC5wYXVzZS5ub19saXF1aWRhdGlvbiI6IuaaguWBnOS4jeS8muW5s+S7k++8jOS5n+S4jeS8muaSpOmUgOW+heaIkOS6pOiuouWNleOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy50aXRsZSI6Iua0u+WKqOiusOW9lSIsImNvY2twaXQuY2hhbmdlX2xvZy5lbXB0eSI6IuaaguaXoOa0u+WKqOiusOW9leOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy51bmF2YWlsYWJsZSI6Iua0u+WKqOiusOW9leaaguS4jeWPr+eUqOOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy5sb2FkX2ZhaWxlZCI6Iua0u+WKqOiusOW9leivu+WPluWksei0peOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy5tb3JlIjoi5Yqg6L295pu05aSaIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdG9yIjoi5pON5L2c6ICFIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdCI6IuWvueixoe+8mnt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cucmV2aXNpb24iOiLorrDlvZXkv67orqIge3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lIjoi57uT5p6cIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLnJlY29yZF9vd25lcl9kZWNpc2lvbiI6IuiusOW9lei0n+i0o+S6uuWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uYXBwcm92YWxfcmVjb3JkZWQiOiLorrDlvZXlrqHmibkiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLmFwcGxpY2F0aW9uX2Rpc3BhdGNoZWQiOiLmtL7lj5HlupTnlKjor7fmsYIiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLm90aGVyIjoi5YW25LuW5pON5L2cIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVjaWRlZCI6IuW3suWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnJlY29yZGVkIjoi5bey6K6w5b2VIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYXBwbHlpbmciOiLlupTnlKjkuK0iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5hcHBsaWVkIjoi5bey5bqU55SoIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUucmVqZWN0ZWQiOiLlt7Lmi5Lnu50iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5mYWlsZWQiOiLlpLHotKUiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS51bmtub3duIjoi5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5vd25lcl9kZWNpc2lvbiI6Iui0n+i0o+S6uuWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuc3RyYXRlZ3lfcHJvbW90aW9uIjoi562W55Wl5pmL57qnIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuWvuei0puaBouWkjSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IuaooeaLn+i0puaIt+W6lOeUqCIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuYXBwbGljYXRpb24iOiLmqKHmi5/otKbmiLflupTnlKgiLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm90aGVyIjoi5YW25LuW5a+56LGhIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YWdlIjoi5pqC5a2Y5Yet6K+B5paw54mI5pysIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2ZpbmFsaXplIjoi5a6M5oiQ5Yet6K+B6L2u5o2iIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCI6IuWPlua2iOWHreivgeaaguWtmOeJiOacrCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uY3JlZGVudGlhbF9yb3RhdGlvbl9kZW5pZWQiOiLmi5Lnu53lh63or4Hova7mjaLmk43kvZwiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5zdGFnZWQiOiLlt7LmmoLlrZgiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZWQiOiLlt7LlrozmiJAiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5jYW5jZWxlZCI6IuW3suWPlua2iCIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLmFkZF91bmtub3duIjoi5pqC5a2Y57uT5p6c5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZmluYWxpemVfdW5rbm93biI6IuWujOaIkOe7k+aenOacquefpSIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLmNhbmNlbF91bmtub3duIjoi5Y+W5raI57uT5p6c5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVuaWVkIjoi5bey5ouS57udIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5jcmVkZW50aWFsIjoi5Yet6K+BIiwiY29ja3BpdC5kaWdlc3QudGl0bGUiOiLmr4/ml6XmkZjopoHlj5HpgIEiLCJjb2NrcGl0LmRpZ2VzdC5hY2NlcHRlZCI6IuW3suaOpeWPl+aKlemAkiIsImNvY2twaXQuZGlnZXN0LmRlbGl2ZXJlZCI6IuS+m+W6lOWVhuW3suaOpeWPl+aKlemAkiIsImNvY2twaXQuZGlnZXN0LmZhaWxlZCI6IuWPkemAgeWksei0pSIsImNvY2twaXQuZGlnZXN0LnVua25vd24iOiLmipXpgJLnu5PmnpzmnKrnn6UiLCJjb2NrcGl0LmRpZ2VzdC51bmF2YWlsYWJsZSI6IuaaguaXoOazleehruiupOaKlemAkiIsImNvY2twaXQuZGlnZXN0LndpbmRvdyI6IuS4muWKoeaXpSB7ZGF5fSDCtyB7em9uZX0iLCJjb2NrcGl0LmRpZ2VzdC50YXJnZXRzIjoi55uu5qCHIHtleHBlY3RlZH0gwrcg5bey6KaG55uWIHtjb3ZlcmVkfSDCtyDkuI3lj6/nlKgge3VuYXZhaWxhYmxlfSIsImNvY2twaXQuZGlnZXN0LmFjY2VwdGVkX2F0Ijoi5o6l5Y+X5pe26Ze0IHt2YWx1ZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2siOiLmjqXmlLbmlrnnoa7orqQiLCJjb2NrcGl0LmRpZ2VzdC5hY2tfdW5rbm93biI6IuacquefpSIsImNvY2twaXQuZGlnZXN0LmFja19hdCI6IuehruiupOaXtumXtCB7dmFsdWV9IiwiY29ja3BpdC5kaWdlc3QubGVnYWN5Ijoi5LuF5pi+56S65Y6G5Y+y5Zue5omn77yM5LiN5Luj6KGo5b2T5YmN55Sf5Lqn5oqV6YCS44CCIiwiY29ja3BpdC5kaWdlc3Qubm9fZGF0YSI6IuaaguaXoOaRmOimgeaKlemAkuiusOW9leOAgiIsImNvY2twaXQuZGlnZXN0LnJlYWRfZmFpbGVkIjoi5pGY6KaB5oqV6YCS54q25oCB6K+75Y+W5aSx6LSl44CCIiwiY29ja3BpdC5kaWdlc3Qubm90ZSI6IuW3suaOpeWPl+S4jeetieS6juW3sumAgei+vu+8m+mAgei+vuS5n+S4jeetieS6juS6uuW3peehruiupOOAgiIsImNvY2twaXQuc3RyaXAudGl0bGUiOiLmk43kvZzlvoXmoLjlrp4iLCJjb2NrcGl0LnN0cmlwLnVua25vd24iOiLnu5PmnpzmnKrnn6XvvIzpnIDnoa7orqQiLCJjb2NrcGl0LnN0cmlwLnZpZXciOiLmn6XnnIvmk43kvZwiLCJjb2NrcGl0LnN0cmlwLmFjayI6IuW3suefpeaCie+8jOe7p+e7reaYvuekuuWOn+WboCIsImNvY2twaXQuc3RyaXAubGFzdF9yZWFkIjoi54q25oCB6K+75Y+W5LqOIHt2YWx1ZX0iLCJjb2NrcGl0LnN0cmlwLm5vdGUiOiLpobXpnaLliIfmjaLkuI3kvJrpmpDol4/or6Xmk43kvZzjgIIifSxEbT17ImNvY2twaXQuc3ludGhldGljIjoiU3ludGhldGljIGRhdGEiLCJjb2NrcGl0LnVua25vd24iOiJVbmtub3duIiwiY29ja3BpdC5ub3Rfc2V0IjoiTm90IHNldCIsImNvY2twaXQuYXNfb2YiOiJBcyBvZiB7dmFsdWV9IiwiY29ja3BpdC5mcmVzaG5lc3MuY3VycmVudCI6IkN1cnJlbnQiLCJjb2NrcGl0LmZyZXNobmVzcy5zdGFsZSI6IlN0YWxlIiwiY29ja3BpdC5mcmVzaG5lc3MuZXhwaXJlZCI6IkV4cGlyZWQiLCJjb2NrcGl0LmZyZXNobmVzcy5taXNzaW5nIjoiTm90IHByb3ZpZGVkIiwiY29ja3BpdC5mcmVzaG5lc3MudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmZyZXNobmVzcy5wYXJ0aWFsIjoiUGFydGlhbCBjb3ZlcmFnZSIsImNvY2twaXQuZnJlc2huZXNzLnVuYXZhaWxhYmxlIjoiVW5hdmFpbGFibGUiLCJjb2NrcGl0LmZyZXNobmVzcy5yZWFkX2ZhaWxlZCI6IlJlYWQgZmFpbGVkIiwiY29ja3BpdC5leHBpcnkubm9uZSI6Ik5vIGV4cGlyeSIsImNvY2twaXQuZXhwaXJ5LnVua25vd24iOiJFeHBpcnkgdW5jb25maXJtZWQiLCJjb2NrcGl0LmV4cGlyeS5hdCI6IkV4cGlyZXMge3ZhbHVlfSIsImNvY2twaXQuZXhwaXJ5Lm9wZW4iOiJFeHBpcmVzIGluIHt2YWx1ZX0iLCJjb2NrcGl0LmV4cGlyeS51bmRlcl9ob3VyIjoiRXhwaXJlcyBpbiB7dmFsdWV9ICh1bmRlciBvbmUgaG91cikiLCJjb2NrcGl0LmV4cGlyeS51bmRlcl9maXZlIjoiRXhwaXJlcyBpbiB7dmFsdWV9ICh1bmRlciBmaXZlIG1pbnV0ZXMpIiwiY29ja3BpdC5leHBpcnkuZXhwaXJlZCI6IkV4cGlyZWQiLCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiI6IklmIGxlZnQgb3BlbiwgdGhpcyBkZWNpc2lvbiBleHBpcmVzIHdpdGhvdXQgY2hhbmdpbmcgYW55dGhpbmcuIiwiY29ja3BpdC5leHBpcnkuYm91bmRhcnkiOiJBdCBleHBpcnkgdGhlIGRlY2lzaW9uIG11c3QgYmUgcmUtcmVhZDsgdmFsaWRpdHkgaXMgbmV2ZXIgZXh0ZW5kZWQuIiwiY29ja3BpdC5kZWNpc2lvbi5yZXZpZXciOiJSZXZpZXcgZGVjaXNpb24iLCJjb2NrcGl0LmRlY2lzaW9uLnF1YWxpZmljYXRpb24iOiJRdWFsaWZpY2F0aW9uIiwiY29ja3BpdC5kZWNpc2lvbi50YXJnZXQiOiJUYXJnZXQiLCJjb2NrcGl0LmRlY2lzaW9uLnJlbGVhc2UiOiJSZWxlYXNlIiwiY29ja3BpdC5kZWNpc2lvbi50aWVyIjoiUmlzayB0aWVyIiwiY29ja3BpdC5kZWNpc2lvbi5wb2xpY3kiOiJQb2xpY3kiLCJjb2NrcGl0LmRlY2lzaW9uLm9wZXJhdGlvbiI6IkFwcGxpY2F0aW9uIiwiY29ja3BpdC5kZWNpc2lvbi5leHBpcmVzIjoiRXhwaXJ5IiwiY29ja3BpdC5kZWNpc2lvbi5ub19hY3Rpb24iOiJJZiBubyBhY3Rpb24gaXMgdGFrZW46IGl0IGV4cGlyZXMgd2l0aCBubyBjaGFuZ2UuIiwiY29ja3BpdC5kZWNpc2lvbi5ibG9ja2VkIjoiQXBwcm92YWwgdW5hdmFpbGFibGUiLCJjb2NrcGl0LmRlY2lzaW9uLnNlbGVjdGVkIjoiU2VsZWN0ZWQiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLnBlbmRpbmciOiJQZW5kaW5nIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5hcHByb3ZlZCI6IkFwcHJvdmVkIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5yZWplY3RlZCI6IlJlamVjdGVkIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5leHBpcmVkIjoiRXhwaXJlZCIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuc3VwZXJzZWRlZCI6IlN1cGVyc2VkZWQiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLndpdGhkcmF3biI6IldpdGhkcmF3biIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUudW5rbm93biI6IlN0YXRlIHVua25vd24iLCJjb2NrcGl0LmJsb2NrZXIuZXhwaXJlZCI6IlRoaXMgZGVjaXNpb24gaGFzIGV4cGlyZWQuIiwiY29ja3BpdC5ibG9ja2VyLmV4cGlyeSI6IlRoZSB2YWxpZGl0eSB3aW5kb3cgY2Fubm90IGJlIGNvbmZpcm1lZC4iLCJjb2NrcGl0LmJsb2NrZXIubm90X2FsbG93ZWQiOiJUaGUgc2VydmVyIGRvZXMgbm90IGFsbG93IGFwcHJvdmFsIHJpZ2h0IG5vdy4iLCJjb2NrcGl0LmJsb2NrZXIuc3VwcG9ydF9taXNzaW5nIjoiU3VwcG9ydGluZyBkYXRhIGlzIG1pc3NpbmcuIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnQiOiJTdXBwb3J0aW5nIGRhdGEgaXMgbm90IGN1cnJlbnQgb3IgY29tcGxldGUuIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfc3RhbGUiOiJTdXBwb3J0aW5nIGRhdGEgaXMgc3RhbGU7IGFwcHJvdmFsIGlzIHVuYXZhaWxhYmxlLiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0X2V4cGlyZWQiOiJTdXBwb3J0aW5nIGRhdGEgaGFzIGV4cGlyZWQ7IGFwcHJvdmFsIGlzIHVuYXZhaWxhYmxlLiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0X3VuYXZhaWxhYmxlIjoiU3VwcG9ydGluZyBkYXRhIGNhbm5vdCBiZSByZWFkIGZyb20gaXRzIHNvdXJjZTsgYXBwcm92YWwgaXMgdW5hdmFpbGFibGUuIiwiY29ja3BpdC5ibG9ja2VyLnVucXVhbGlmaWVkIjoiU3VwcG9ydGluZyBkYXRhIGRvZXMgbm90IG1lZXQgdGhlIHF1YWxpZmljYXRpb24gcmVxdWlyZW1lbnQuIiwiY29ja3BpdC5ibG9ja2VyLnBvbGljeSI6IlRoZSByaXNrIHBvbGljeSBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmJsb2NrZXIuYmluZGluZyI6IlRoZSByaXNrIHRpZXIgb3IgcG9saWN5IHJldmlzaW9uIGlzIG5vdCBib3VuZC4iLCJjb2NrcGl0LmJsb2NrZXIucmV2aXNpb24iOiJUaGUgZGVjaXNpb24gcmV2aXNpb24gY2Fubm90IGJlIGNvbmZpcm1lZC4iLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGUiOiJUaGlzIGRlY2lzaW9uIGlzIG5vIGxvbmdlciBwZW5kaW5nLiIsImNvY2twaXQuYmxvY2tlci5zdGF0ZV91bmtub3duIjoiVGhlIGRlY2lzaW9uIHN0YXRlIGNvdWxkIG5vdCBiZSByZWFkOyBhcHByb3ZhbCBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmJsb2NrZXIub3RoZXIiOiJBcHByb3ZhbCBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LnN1cHBvcnQudGl0bGUiOiJTdXBwb3J0aW5nIGRhdGEiLCJjb2NrcGl0LnN1cHBvcnQucXVhbGlmaWVkIjoiUXVhbGlmaWVkIiwiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZF9saW1pdGVkIjoiUXVhbGlmaWVkIHdpdGggbGltaXRhdGlvbnMiLCJjb2NrcGl0LnN1cHBvcnQudW5xdWFsaWZpZWQiOiJVbnF1YWxpZmllZCIsImNvY2twaXQuc3VwcG9ydC51bmtub3duIjoiUXVhbGlmaWNhdGlvbiB1bmtub3duIiwiY29ja3BpdC5zdXBwb3J0Lm9ic2VydmVkIjoiT2JzZXJ2ZWQge3ZhbHVlfSIsImNvY2twaXQuc3VwcG9ydC5vYnNlcnZlZF9sYWJlbCI6Ik9ic2VydmVkIiwiY29ja3BpdC5zdXBwb3J0LnZhbGlkX3VudGlsIjoiVmFsaWQgdW50aWwge3ZhbHVlfSIsImNvY2twaXQuc3VwcG9ydC52YWxpZF91bnRpbF9sYWJlbCI6IlZhbGlkIHVudGlsIiwiY29ja3BpdC5zdXBwb3J0LmxpbWl0YXRpb25zIjoiTGltaXRhdGlvbnMiLCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiOiJObyBsaW1pdGF0aW9ucyByZXBvcnRlZC4iLCJjb2NrcGl0LnN1cHBvcnQubWlzc2luZyI6IlN1cHBvcnRpbmcgZGF0YSBpcyBub3QgcHJvdmlkZWQsIHNvIGFwcHJvdmFsIHN0YXlzIGNsb3NlZC4iLCJjb2NrcGl0LnN1cHBvcnQudW5hdmFpbGFibGUiOiJTdXBwb3J0aW5nIGRhdGEgaXMgdW5hdmFpbGFibGUuIiwiY29ja3BpdC5zdXBwb3J0LnN0YWxlIjoiU3VwcG9ydGluZyBkYXRhIGlzIHN0YWxlOyByZS1yZWFkIGl0LiIsImNvY2twaXQuc3VwcG9ydC5leHBpcmVkIjoiU3VwcG9ydGluZyBkYXRhIGhhcyBleHBpcmVkIGFuZCBjYW5ub3Qgc3VwcG9ydCBhcHByb3ZhbC4iLCJjb2NrcGl0LnN1cHBvcnQucHJvdmVuYW5jZSI6IlNvdXJjZSBpZGVudGlmaWVyIiwiY29ja3BpdC5wb2xpY3kudGl0bGUiOiJSaXNrIHBvbGljeSIsImNvY2twaXQucG9saWN5LnNlbGVjdGVkIjoiU2VsZWN0ZWQgcHJlZmVyZW5jZSIsImNvY2twaXQucG9saWN5LmFwcHJvdmVkIjoiQXBwcm92ZWQgcG9saWN5IiwiY29ja3BpdC5wb2xpY3kuZWZmZWN0aXZlIjoiRWZmZWN0aXZlIHBvbGljeSIsImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uIjoiVGVtcG9yYXJ5IHJlc3RyaWN0aW9uIiwiY29ja3BpdC5wb2xpY3kubm90X29ic2VydmVkIjoiTm90IHlldCBvYnNlcnZlZCIsImNvY2twaXQucG9saWN5Lm1hcHBpbmdfdW5hdmFpbGFibGUiOiJQb2xpY3kgbWFwcGluZyB1bmF2YWlsYWJsZSIsImNvY2twaXQucG9saWN5LnJlYWRfZmFpbGVkIjoiVGhlIHJpc2sgcG9saWN5IGNvdWxkIG5vdCBiZSByZWFkLiIsImNvY2twaXQucG9saWN5LnJldmlzaW9uIjoiUmV2aXNpb24ge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LnZhbHVlcyI6IkNvbXB1dGVkIGxpbWl0cyIsImNvY2twaXQucG9saWN5Lm5vX3ZhbHVlcyI6Ik5vIGNvbXB1dGVkIHZhbHVlcy4iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UiOiJTb3VyY2U6IHt2YWx1ZX0iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2VfbGFiZWwiOiJTb3VyY2UiLCJjb2NrcGl0LnBvbGljeS51bmtub3duX3ZhbHVlIjoiVW5rbm93biIsImNvY2twaXQucG9saWN5LmN1cnJlbnQiOiJNYXBwaW5nIGN1cnJlbnQiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbl9ub25lIjoiTm9uZSIsImNvY2twaXQucG9saWN5LnNpbmNlIjoiU2luY2Uge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LmxpbWl0Lm1heF9ncm9zc19leHBvc3VyZSI6Ik1heGltdW0gZ3Jvc3MgZXhwb3N1cmUiLCJjb2NrcGl0LnBvbGljeS5saW1pdC5jYXNoX2Zsb29yIjoiQ2FzaCBmbG9vciIsImNvY2twaXQucG9saWN5LmxpbWl0Lm90aGVyIjoiT3RoZXIgbGltaXQiLCJjb2NrcGl0LnBvbGljeS5zb3VyY2Uuc2VydmVyIjoiU2VydmVyIiwiY29ja3BpdC5wb2xpY3kuc291cmNlLnVua25vd24iOiJVbmtub3duIHNvdXJjZSIsImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCI6IiUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24ucmVkdWN0aW9uX29ubHkiOiJSaXNrIHJlZHVjdGlvbiBvbmx5IiwiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnVua25vd24iOiJUZW1wb3JhcnkgcmVzdHJpY3Rpb24gYWN0aXZlOyByZWFzb24gdW5rbm93biIsImNvY2twaXQucG9saWN5LmVmZmVjdGl2ZV9ub3RlIjoiU2VsZWN0ZWQgcHJlZmVyZW5jZSBhbmQgZWZmZWN0aXZlIHBvbGljeSBzdGF5IHNlcGFyYXRlOyBhIHNlbGVjdGlvbiBpcyBub3QgZWZmZWN0aXZlIGJlZm9yZSBvYnNlcnZhdGlvbi4iLCJjb2NrcGl0LnRpZXIudGl0bGUiOiJSaXNrIHRpZXIiLCJjb2NrcGl0LnRpZXIuY2FwaXRhbCI6IkNhcGl0YWwgcHJlc2VydmF0aW9uIiwiY29ja3BpdC50aWVyLmJhbGFuY2VkIjoiQmFsYW5jZWQgY29tcG91bmRpbmciLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoIjoiR3Jvd3RoIGNvbXBvdW5kaW5nIiwiY29ja3BpdC50aWVyLnVua25vd24iOiJVbmtub3duIHRpZXIiLCJjb2NrcGl0LnRpZXIuY2FwaXRhbF9ub3RlIjoiUHJlZmVyIGxvd2VyIHJpc2s7IHRoZSBhcHByb3ZlZCBwb2xpY3kgY29tcHV0ZXMgdGhlIGFwcGxpY2FibGUgbGltaXRzLiIsImNvY2twaXQudGllci5iYWxhbmNlZF9ub3RlIjoiQmFsYW5jZSBncm93dGggYW5kIHJlc3RyYWludDsgdGhlIGFwcHJvdmVkIHBvbGljeSBjb21wdXRlcyB0aGUgYXBwbGljYWJsZSBsaW1pdHMuIiwiY29ja3BpdC50aWVyLmdyb3d0aF9ub3RlIjoiQWNjZXB0IGhpZ2hlciByaXNrOyB0aGUgYXBwcm92ZWQgcG9saWN5IGNvbXB1dGVzIHRoZSBhcHBsaWNhYmxlIGxpbWl0cy4iLCJjb2NrcGl0LnRpZXIudW5zZXQiOiJObyB0aWVyIHNlbGVjdGVkIiwiY29ja3BpdC50aWVyLnVuc2V0X25vdGUiOiJTYXZpbmcgbGVhdmVzIG5vIHJpc2sgdGllciBzZWxlY3RlZC4iLCJjb2NrcGl0LnRpZXIuc2F2ZSI6IlNhdmUgdGllciBzZWxlY3Rpb24iLCJjb2NrcGl0LnRpZXIuZGlydHkiOiJDaGFuZ2VkLCBub3Qgc2F2ZWQiLCJjb2NrcGl0LnRpZXIudW5jaGFuZ2VkIjoiVW5jaGFuZ2VkIiwiY29ja3BpdC50aWVyLmdhdGUiOiJUaWVyIHNlbGVjdGlvbiBjYW5ub3QgYmUgc2F2ZWQgcmlnaHQgbm93LiIsImNvY2twaXQudGllci5zY29wZSI6IlNjb3BlIHt2YWx1ZX0iLCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIjoiU2VsZWN0aW9uIHJldmlzaW9uIHt2YWx1ZX0iLCJjb2NrcGl0LmxpZmVjeWNsZS50aXRsZSI6IkxpZmVjeWNsZSIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6IlN0ZXBwZXIgc2hvd3M6IGF1dGhvcml6ZWQgY2VpbGluZyIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuZWZmZWN0aXZlIjoiU3RlcHBlciBzaG93czogaW5kZXBlbmRlbnRseSBvYnNlcnZlZCBzdGFnZSIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAudW5jb25maXJtZWQiOiJTdGFnZSB1bmNvbmZpcm1lZDogdGhlIHN0ZXBzIGJlbG93IGFyZSBjYW5kaWRhdGVzIG9ubHkiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLnJlc2VhcmNoIjoiUmVzZWFyY2ggc3RhZ2UiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmF1dGhvcml6ZWQiOiJBdXRob3JpemVkIGNlaWxpbmciLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmVmZmVjdGl2ZSI6Ik9ic2VydmVkIHN0YWdlIiwiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5vcGVyYXRpbmciOiJPcGVyYXRpbmcgc3RhdGUiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmFwcGxpY2F0aW9uIjoiQXBwbGljYXRpb24gc3RhdGUiLCJjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS5yZXNlYXJjaCI6IlJlc2VhcmNoIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UucGFwZXIiOiJQYXBlciIsImNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLnNtYWxsX2xpdmUiOiJTbWFsbCBsaXZlIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuZnVsbF9saXZlIjoiRnVsbCBsaXZlIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIjoiU3RhZ2UgdW5jbGFzc2lmaWVkIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJ1bm5pbmciOiJSdW5uaW5nIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnBhdXNlZCI6IlBhdXNlZCIsImNvY2twaXQubGlmZWN5Y2xlLm9wZXJhdGluZy5yZWR1Y3Rpb25fb25seSI6IlJlZHVjdGlvbiBvbmx5IiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlY29uY2lsZV9vbmx5IjoiUmVjb25jaWxlIG9ubHkiLCJjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5wZW5kaW5nIjoiUGVuZGluZyIsImNvY2twaXQubGlmZWN5Y2xlLmFwcGxpY2F0aW9uLmFwcGx5aW5nIjoiQXBwbHlpbmciLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5hcHBsaWVkIjoiQXBwbGllZCBieSBwbGF0Zm9ybSIsImNvY2twaXQubGlmZWN5Y2xlLmFwcGxpY2F0aW9uLnJlamVjdGVkIjoiUmVqZWN0ZWQiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5mYWlsZWQiOiJGYWlsZWQiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi51bmtub3duIjoiVW5rbm93biIsImNvY2twaXQubGlmZWN5Y2xlLm5vdGUiOiJTdGFnZSwgYXV0aG9yaXR5LCBvYnNlcnZhdGlvbiBhbmQgb3BlcmF0aW5nIHN0YXRlIHN0YXkgc2VwYXJhdGU7IHRoZSBVSSBuZXZlciBwcm9tb3RlcyBhIHN0YWdlLiIsImNvY2twaXQubGlmZWN5Y2xlLm5vdF9wcm92aWRlZCI6IkxpZmVjeWNsZSBzdGFnZXMgd2VyZSBub3QgcHJvdmlkZWQgZm9yIHRoaXMgdGFyZ2V0LiIsImNvY2twaXQubGlmZWN5Y2xlLmlkZW50aXR5IjoiUmVsZWFzZSB7cmVsZWFzZX0gwrcgdGFyZ2V0IHt0YXJnZXR9IiwiY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC5yaXNrX3JlZHVjdGlvbl9vbmx5IjoiUmlzayByZWR1Y3Rpb24gb25seSIsImNvY2twaXQubGlmZWN5Y2xlLnJlZ2ltZV9lZmZlY3QudW5rbm93biI6IlJlZ2ltZSBlZmZlY3QgdW5rbm93biIsImNvY2twaXQub3BlcmF0aW9uLnRpdGxlIjoiQXBwbGljYXRpb24gc3RhdHVzIiwiY29ja3BpdC5vcGVyYXRpb24uZGVjaXNpb24iOiJEZWNpc2lvbiIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpY2F0aW9uIjoiQXBwbGljYXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5vYnNlcnZhdGlvbiI6IlJ1bnRpbWUgb2JzZXJ2YXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWNvcmRlZCI6IkRlY2lzaW9uIHJlY29yZGVkIiwiY29ja3BpdC5vcGVyYXRpb24uYWNjZXB0ZWQiOiJBY2NlcHRlZDsgd2FpdGluZyBmb3IgcGxhdGZvcm0gZGlzcGF0Y2giLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBseWluZyI6IkFwcGxpY2F0aW9uIGluIHByb2dyZXNzIiwiY29ja3BpdC5vcGVyYXRpb24ucmVqZWN0ZWQiOiJBcHBsaWNhdGlvbiByZWplY3RlZCIsImNvY2twaXQub3BlcmF0aW9uLnVua25vd24iOiJPdXRjb21lIHVua25vd24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5mYWlsZWQiOiJBcHBsaWNhdGlvbiBmYWlsZWQiLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBsaWVkX3Vub2JzZXJ2ZWQiOiJQbGF0Zm9ybSByZXBvcnRlZCBhcHBsaWVkOyBydW50aW1lIGNvbmZpcm1hdGlvbiBwZW5kaW5nIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9ub19yZWFkYmFjayI6IlBsYXRmb3JtIHJlcG9ydGVkIGFwcGxpZWQ7IGluZGVwZW5kZW50IHJ1bnRpbWUgcmVhZGJhY2sgaXMgdW5hdmFpbGFibGUgZm9yIHRoaXMgdGFyZ2V0IiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9yZWFkYmFja191bmtub3duIjoiUGxhdGZvcm0gcmVwb3J0ZWQgYXBwbGllZDsgcmVhZGJhY2sgY2FwYWJpbGl0eSB1bmtub3duIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuaWRsZSI6Ik5vdCBzdGFydGVkIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuYWN0aXZlIjoiSW4gcHJvZ3Jlc3MiLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5jb21wbGV0ZSI6IkNvbXBsZXRlIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuZmFpbGVkIjoiRmFpbGVkIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UudW5hdmFpbGFibGUiOiJJbmRlcGVuZGVudCByZWFkYmFjayB1bmF2YWlsYWJsZSIsImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIjoiT3BlcmF0aW9uIG91dGNvbWUgcGVuZGluZyBjb25maXJtYXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5jb25maXJtZWQiOiJSdW50aW1lIGNvbmZpcm1lZCIsImNvY2twaXQub3BlcmF0aW9uLnJlZnJlc2giOiJSZWZyZXNoIHN0YXR1cyIsImNvY2twaXQub3BlcmF0aW9uLmlkIjoiT3BlcmF0aW9uIHt2YWx1ZX0iLCJjb2NrcGl0Lm9wZXJhdGlvbi5yZXF1ZXN0IjoiUmVxdWVzdCB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmV2aXNpb24iOiJCb3VuZCByZXZpc2lvbiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ubm90X3JlYWR5IjoiVGhlIG9wZXJhdGlvbi1zdGF0dXMgZW5kcG9pbnQgaXMgbm90IGF2YWlsYWJsZSwgc28gdGhpcyBhcHBsaWNhdGlvbiBjYW5ub3QgYmUgdHJhY2VkLiIsImNvY2twaXQub3BlcmF0aW9uLnJlYWRfZmFpbGVkIjoiT3BlcmF0aW9uIHN0YXR1cyBjb3VsZCBub3QgYmUgcmVhZC4iLCJjb2NrcGl0Lm9wZXJhdGlvbi5ub19yZXRyeSI6IkFuIHVua25vd24gb3V0Y29tZSBpcyBuZXZlciByZXRyaWVkIGF1dG9tYXRpY2FsbHk7IHJlZnJlc2ggc3RhdHVzIGZpcnN0LiIsImNvY2twaXQub3BlcmF0aW9uLm5vbmUiOiJObyBvcGVyYXRpb24gcmVjb3JkZWQuIiwiY29ja3BpdC5wYXVzZS50aXRsZSI6IlJ1bnRpbWUgY29udHJvbCIsImNvY2twaXQucGF1c2UucGF1c2UiOiJQYXVzZSIsImNvY2twaXQucGF1c2UucmVzdW1lIjoiUmVzdW1lIiwiY29ja3BpdC5wYXVzZS5wZW5kaW5nIjoiQ29udHJvbCByZXF1ZXN0IHBlbmRpbmciLCJjb2NrcGl0LnBhdXNlLnVuYXZhaWxhYmxlIjoiVGhpcyBhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCByaWdodCBub3cuIiwiY29ja3BpdC5wYXVzZS5ub3RlIjoiUGF1c2UgYW5kIHJlc3VtZSB1c2UgZXhpc3RpbmcgcGxhdGZvcm0gc2VtYW50aWNzOyBhcHBsaWNhdGlvbiBzdWNjZXNzIGlzIG5vdCBydW50aW1lIGNvbmZpcm1hdGlvbi4iLCJjb2NrcGl0LnBhdXNlLm5vX2xpcXVpZGF0aW9uIjoiUGF1c2luZyBkb2VzIG5vdCBsaXF1aWRhdGUgcG9zaXRpb25zIG9yIGNhbmNlbCBwZW5kaW5nIG9yZGVycy4iLCJjb2NrcGl0LnBhdXNlLnJ1bm5pbmciOiJSdW5uaW5nIiwiY29ja3BpdC5wYXVzZS5wYXVzZWQiOiJQYXVzZWQiLCJjb2NrcGl0LnBhdXNlLnVua25vd24iOiJSdW50aW1lIHN0YXRlIHVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cudGl0bGUiOiJBY3Rpdml0eSBoaXN0b3J5IiwiY29ja3BpdC5jaGFuZ2VfbG9nLmVtcHR5IjoiTm8gYWN0aXZpdHkgcmVjb3JkZWQuIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnVuYXZhaWxhYmxlIjoiQWN0aXZpdHkgaGlzdG9yeSBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmNoYW5nZV9sb2cubG9hZF9mYWlsZWQiOiJBY3Rpdml0eSBoaXN0b3J5IGNvdWxkIG5vdCBiZSByZWFkLiIsImNvY2twaXQuY2hhbmdlX2xvZy5tb3JlIjoiTG9hZCBtb3JlIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdG9yIjoiQWN0b3Ige3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0IjoiU3ViamVjdDoge3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5yZXZpc2lvbiI6IlJlY29yZCByZXZpc2lvbiB7dmFsdWV9IiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUiOiJPdXRjb21lIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLnJlY29yZF9vd25lcl9kZWNpc2lvbiI6Ik93bmVyIGRlY2lzaW9uIHJlY29yZGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5hcHByb3ZhbF9yZWNvcmRlZCI6IkFwcHJvdmFsIHJlY29yZGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5hcHBsaWNhdGlvbl9kaXNwYXRjaGVkIjoiQXBwbGljYXRpb24gZGlzcGF0Y2hlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiOiJPdGhlciBhY3Rpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5kZWNpZGVkIjoiRGVjaWRlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnJlY29yZGVkIjoiUmVjb3JkZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5hcHBseWluZyI6IkFwcGx5aW5nIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYXBwbGllZCI6IkFwcGxpZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5yZWplY3RlZCI6IlJlamVjdGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZmFpbGVkIjoiRmFpbGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm93bmVyX2RlY2lzaW9uIjoiT3duZXIgZGVjaXNpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiOiJSZWNvbmNpbGlhdGlvbiByZWNvdmVyeSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IlBhcGVyIGFjY291bnQgYXBwbGljYXRpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLmFwcGxpY2F0aW9uIjoiUGFwZXIgYWNjb3VudCBhcHBsaWNhdGlvbiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQub3RoZXIiOiJPdGhlciBzdWJqZWN0IiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YWdlIjoiQ3JlZGVudGlhbCB2ZXJzaW9uIHN0YWdlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uY3JlZGVudGlhbF9yb3RhdGlvbl9maW5hbGl6ZSI6IkNyZWRlbnRpYWwgcm90YXRpb24gZmluYWxpemVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCI6IkNyZWRlbnRpYWwgc3RhZ2VkIHZlcnNpb24gY2FuY2VsZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLmNyZWRlbnRpYWxfcm90YXRpb25fZGVuaWVkIjoiQ3JlZGVudGlhbCByb3RhdGlvbiBkZW5pZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5zdGFnZWQiOiJTdGFnZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZWQiOiJGaW5hbGl6ZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5jYW5jZWxlZCI6IkNhbmNlbGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYWRkX3Vua25vd24iOiJTdGFnZSBvdXRjb21lIHVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZV91bmtub3duIjoiRmluYWxpemUgb3V0Y29tZSB1bmtub3duIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuY2FuY2VsX3Vua25vd24iOiJDYW5jZWwgb3V0Y29tZSB1bmtub3duIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVuaWVkIjoiRGVuaWVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbCIsImNvY2twaXQuZGlnZXN0LnRpdGxlIjoiRGFpbHkgZGlnZXN0IGRlbGl2ZXJ5IiwiY29ja3BpdC5kaWdlc3QuYWNjZXB0ZWQiOiJBY2NlcHRlZCBmb3IgZGVsaXZlcnkiLCJjb2NrcGl0LmRpZ2VzdC5kZWxpdmVyZWQiOiJQcm92aWRlciBhY2NlcHRlZCBkZWxpdmVyeSIsImNvY2twaXQuZGlnZXN0LmZhaWxlZCI6IkRlbGl2ZXJ5IGZhaWxlZCIsImNvY2twaXQuZGlnZXN0LnVua25vd24iOiJEZWxpdmVyeSBvdXRjb21lIHVua25vd24iLCJjb2NrcGl0LmRpZ2VzdC51bmF2YWlsYWJsZSI6IkRlbGl2ZXJ5IHN0YXR1cyB1bmF2YWlsYWJsZSIsImNvY2twaXQuZGlnZXN0LndpbmRvdyI6IkJ1c2luZXNzIGRheSB7ZGF5fSDCtyB7em9uZX0iLCJjb2NrcGl0LmRpZ2VzdC50YXJnZXRzIjoiVGFyZ2V0cyB7ZXhwZWN0ZWR9IMK3IGNvdmVyZWQge2NvdmVyZWR9IMK3IHVuYXZhaWxhYmxlIHt1bmF2YWlsYWJsZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2NlcHRlZF9hdCI6IkFjY2VwdGVkIHt2YWx1ZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2siOiJSZWNpcGllbnQgYWNrbm93bGVkZ21lbnQiLCJjb2NrcGl0LmRpZ2VzdC5hY2tfdW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmRpZ2VzdC5hY2tfYXQiOiJBY2tub3dsZWRnZWQge3ZhbHVlfSIsImNvY2twaXQuZGlnZXN0LmxlZ2FjeSI6Ik9ubHkgbGVnYWN5IHJlY2VpcHRzIGFyZSBzaG93bjsgdGhleSBkbyBub3QgcmVwcmVzZW50IGN1cnJlbnQgcHJvZHVjdGlvbiBkZWxpdmVyeS4iLCJjb2NrcGl0LmRpZ2VzdC5ub19kYXRhIjoiTm8gZGlnZXN0IGRlbGl2ZXJ5IHJlY29yZC4iLCJjb2NrcGl0LmRpZ2VzdC5yZWFkX2ZhaWxlZCI6IkRpZ2VzdCBkZWxpdmVyeSBzdGF0dXMgY291bGQgbm90IGJlIHJlYWQuIiwiY29ja3BpdC5kaWdlc3Qubm90ZSI6IkFjY2VwdGVkIGlzIG5vdCBkZWxpdmVyZWQ7IGRlbGl2ZXJ5IGlzIG5vdCBodW1hbiBhY2tub3dsZWRnbWVudC4iLCJjb2NrcGl0LnN0cmlwLnRpdGxlIjoiT3BlcmF0aW9uIG5lZWRzIGF0dGVudGlvbiIsImNvY2twaXQuc3RyaXAudW5rbm93biI6Ik91dGNvbWUgdW5rbm93bjsgY29uZmlybWF0aW9uIHJlcXVpcmVkIiwiY29ja3BpdC5zdHJpcC52aWV3IjoiVmlldyBvcGVyYXRpb24iLCJjb2NrcGl0LnN0cmlwLmFjayI6IkFja25vd2xlZGdlIChzdGF5cyB2aXNpYmxlKSIsImNvY2twaXQuc3RyaXAubGFzdF9yZWFkIjoiU3RhdHVzIHJlYWQge3ZhbHVlfSIsImNvY2twaXQuc3RyaXAubm90ZSI6Ik5hdmlnYXRpb24gZG9lcyBub3QgaGlkZSB0aGlzIG9wZXJhdGlvbi4ifSxPaT17Li4uaG0sLi4uZ20sLi4ueW0sLi4ua20sLi4ud20sLi4uVG0sLi4uRW0sLi4uem0sLi4uT219LHRjPXsuLi5tbSwuLi52bSwuLi5ibSwuLi5TbSwuLi54bSwuLi5BbSwuLi5SbSwuLi5ObSwuLi5EbX07Zm9yKGNvbnN0IGMgb2YgT2JqZWN0LmtleXMoT2kpKWlmKCEoYyBpbiB0YykpdGhyb3cgbmV3IEVycm9yKGBpMThuOiBtaXNzaW5nIGVuIHRyYW5zbGF0aW9uIGZvciAke2N9YCk7Zm9yKGNvbnN0IGMgb2YgT2JqZWN0LmtleXModGMpKWlmKCEoYyBpbiBPaSkpdGhyb3cgbmV3IEVycm9yKGBpMThuOiBtaXNzaW5nIHpoIHRyYW5zbGF0aW9uIGZvciAke2N9YCk7Y29uc3QgcXI9KGMscik9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLHIpP2Nbcl06dm9pZCAwO2Z1bmN0aW9uIGx2KGMpe3JldHVybiBxcihPaSxjKSE9PXZvaWQgMH1jb25zdCBNbT1bWyJyZXNlYXJjaC5zdGF0ZS4iLCJzdGF0ZS51bmtub3duX3N0YXR1cyJdLFsic3RhdGUuIiwic3RhdGUudW5rbm93bl9zdGF0dXMiXSxbInJlYXNvbi4iLCJyZWFzb24udW5rbm93biJdLFsiZGVjaXNpb25zLmFjdGlvbi4iLCJkZWNpc2lvbnMuYWN0aW9uLnVua25vd24iXSxbInN0cmF0ZWdpZXMuZXhlY3V0aW9uLiIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnVua25vd24iXSxbInJlc2VhcmNoLnNvdXJjZS4iLCJyZXNlYXJjaC5zb3VyY2Uub3RoZXIiXSxbImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIl0sWyJpbml0aWFsX2Vucm9sbG1lbnQuIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnVua25vd24iXSxbImFjY291bnRzLmZpZWxkLiIsImFjY291bnRzLmZpZWxkLm90aGVyIl0sWyJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLiIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiXSxbImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLiIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnVua25vd24iXSxbImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5vdGhlciJdLFsiY29ja3BpdC5wb2xpY3kubGltaXQuIiwiY29ja3BpdC5wb2xpY3kubGltaXQub3RoZXIiXSxbImNvY2twaXQucG9saWN5LnNvdXJjZS4iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UudW5rbm93biJdLFsiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLiIsImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uLnJlYXNvbi51bmtub3duIl0sWyJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LiIsImNvY2twaXQubGlmZWN5Y2xlLnJlZ2ltZV9lZmZlY3QudW5rbm93biJdLFsiY29ja3BpdC5vcGVyYXRpb24ucmVhc29uLiIsImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIl1dO2Z1bmN0aW9uIF9wKGMscixkPXt9LHUpe2NvbnN0IHY9Yz09PSJ6aCI/W09pLHRjXTpbdGMsT2ldLHg9aD0+TW0uZmluZCgoW3ldKT0+aC5zdGFydHNXaXRoKHkpKT8uWzFdLE49W3JdO3UmJk4ucHVzaCh1KTtmb3IoY29uc3QgaCBvZltyLHVdKXtpZighaCljb250aW51ZTtjb25zdCB5PXgoaCk7eSYmIU4uaW5jbHVkZXMoeSkmJk4ucHVzaCh5KX1OLnB1c2goImNvbW1vbi51bmtub3duIik7bGV0IEQ7Zm9yKGNvbnN0IGggb2YgTilpZihEPXYubWFwKHk9PnFyKHksaCkpLmZpbmQoeT0+eSE9PXZvaWQgMCksRCE9PXZvaWQgMClicmVhaztyZXR1cm4gRD09PXZvaWQgMCYmKEQ9cXIodlswXSwiY29tbW9uLnVua25vd24iKT8/IlVua25vd24iKSxELnJlcGxhY2UoL1x7KFx3KylcfS9nLChoLHkpPT55IGluIGQ/U3RyaW5nKGRbeV0pOmgpfWNvbnN0IGhwPVUuY3JlYXRlQ29udGV4dCgiemgiKTtmdW5jdGlvbiBXbCh7bGFuZ3VhZ2U6YyxjaGlsZHJlbjpyfSl7cmV0dXJuIG0uanN4KGhwLlByb3ZpZGVyLHt2YWx1ZTpjLGNoaWxkcmVuOnJ9KX1mdW5jdGlvbiBHbigpe3JldHVybiBVLnVzZUNvbnRleHQoaHApfWZ1bmN0aW9uIGl0KCl7Y29uc3QgYz1HbigpO3JldHVybihyLGQsdSk9Pl9wKGMscixkLHUpfWNvbnN0IERpPXt0aGVtZToic3lzdGVtIixsYW5ndWFnZToiZW4iLHVwRG93bjoiZ3JlZW4tdXAiLGhpZGVBbW91bnRzOiExLGRlZmF1bHRSYW5nZToiWVREIn0scXQ9e3RoZW1lOiJxc2wtdGhlbWUtcHJlZmVyZW5jZSIsbGFuZ3VhZ2U6InFzbC1zd2l0Y2gtbGFuZyIsdXBEb3duOiJxc2wtdXBkb3duLXByZWZlcmVuY2UiLGhpZGVBbW91bnRzOiJxc2wtaGlkZS1hbW91bnRzIixkZWZhdWx0UmFuZ2U6InFzbC1kZWZhdWx0LXJhbmdlIn07ZnVuY3Rpb24gemkoYyl7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oYyl9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIE5pKGMscil7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oYyxyKSx3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oYyk9PT1yfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBDbShjKXtyZXR1cm4gYz09PSJsaWdodCJ8fGM9PT0iZGFyayJ8fGM9PT0ic3lzdGVtIj9jOkRpLnRoZW1lfWZ1bmN0aW9uIHFtKGMpe2lmKGM9PT0iemgifHxjPT09InpoLUNOIilyZXR1cm4iemgiO2lmKGM9PT0iZW4iKXJldHVybiJlbiI7Y29uc3Qgcj10eXBlb2YgbmF2aWdhdG9yPiJ1Ij9bXTpuYXZpZ2F0b3IubGFuZ3VhZ2VzPy5sZW5ndGg/bmF2aWdhdG9yLmxhbmd1YWdlczpbbmF2aWdhdG9yLmxhbmd1YWdlXTtmb3IoY29uc3QgZCBvZiByKXtpZigvXnpoKD86LXwkKS9pLnRlc3QoZCkpcmV0dXJuInpoIjtpZigvXmVuKD86LXwkKS9pLnRlc3QoZCkpcmV0dXJuImVuIn1yZXR1cm4gRGkubGFuZ3VhZ2V9ZnVuY3Rpb24gVW0oYyl7cmV0dXJuIGM9PT0icmVkLXVwInx8Yz09PSJncmVlbi11cCI/YzpEaS51cERvd259ZnVuY3Rpb24gam0oYyl7cmV0dXJuIGM9PT0iMU0ifHxjPT09IjNNInx8Yz09PSJZVEQifHxjPT09IjFZInx8Yz09PSJBTEwiP2M6RGkuZGVmYXVsdFJhbmdlfWZ1bmN0aW9uIG1wKCl7cmV0dXJue3RoZW1lOkNtKHppKHF0LnRoZW1lKSksbGFuZ3VhZ2U6cW0oemkocXQubGFuZ3VhZ2UpKSx1cERvd246VW0oemkocXQudXBEb3duKSksaGlkZUFtb3VudHM6emkocXQuaGlkZUFtb3VudHMpPT09IjEiLGRlZmF1bHRSYW5nZTpqbSh6aShxdC5kZWZhdWx0UmFuZ2UpKX19ZnVuY3Rpb24gSG0oYyl7cmV0dXJuW05pKHF0LnRoZW1lLGMudGhlbWUpLE5pKHF0Lmxhbmd1YWdlLGMubGFuZ3VhZ2UpLE5pKHF0LnVwRG93bixjLnVwRG93biksTmkocXQuaGlkZUFtb3VudHMsYy5oaWRlQW1vdW50cz8iMSI6IjAiKSxOaShxdC5kZWZhdWx0UmFuZ2UsYy5kZWZhdWx0UmFuZ2UpXS5ldmVyeShCb29sZWFuKX1mdW5jdGlvbiBncChjLHIpe3JldHVybiBjPT09InN5c3RlbSI/cj8iZGFyayI6ImxpZ2h0IjpjfWNvbnN0IHZwPVUuY3JlYXRlQ29udGV4dChudWxsKSx5cD1VLmNyZWF0ZUNvbnRleHQoe3ByZWZzOkRpLHBlcnNpc3RGYWlsZWQ6ITEscmVzb2x2ZWRUaGVtZToibGlnaHQiLHNldFByZWZzOigpPT57fX0pO2Z1bmN0aW9uIEdyKCl7cmV0dXJuIFUudXNlQ29udGV4dCh5cCl9Y29uc3QgYnA9VS5jcmVhdGVDb250ZXh0KHtzY29wZToiYWxsIixvcHRpb25zOltdLHNldFNjb3BlOigpPT57fSxzdGF0dXM6InJlYWR5IixtZXRhU3RhdHVzOiJyZWFkeSIscmV0cnk6KCk9Pnt9fSk7ZnVuY3Rpb24gQm0oKXtyZXR1cm4gVS51c2VDb250ZXh0KGJwKX1jb25zdCBrcD1VLmNyZWF0ZUNvbnRleHQoKCk9Pnt9KTtmdW5jdGlvbiBMbSgpe3JldHVybiBVLnVzZUNvbnRleHQoa3ApfWNvbnN0IFltPVsib3ZlcnZpZXciLCJwZXJmb3JtYW5jZSIsImRlY2lzaW9ucyIsImFjY291bnRzIiwic3RyYXRlZ2llcyIsImhlYWx0aCJdLFNwPSJhbGwiO2Z1bmN0aW9uIGlwKGMpe2NvbnN0IHI9bmV3IFVSTFNlYXJjaFBhcmFtcyhjKTtsZXQgZD1yLmdldCgicGFnZSIpO2NvbnN0IHU9ci5nZXQoIndvcmtzcGFjZSIpO3JldHVybiFkJiZ1PT09InJlc2VhcmNoIiYmKGQ9ImRlY2lzaW9ucyIpLCFkJiZ1PT09ImFjY291bnRzIiYmKGQ9ImFjY291bnRzIiksKCFkfHwhWW0uaW5jbHVkZXMoZCkpJiYoZD0ib3ZlcnZpZXciKSx7cGFnZTpkLHNjb3BlOnIuZ2V0KCJzY29wZSIpfHxTcCxhY2NvdW50OnIuZ2V0KCJhY2NvdW50IiksdGFiOnIuZ2V0KCJ0YWIiKSxkZWNpc2lvbjpyLmdldCgiZGVjaXNpb24iKX19ZnVuY3Rpb24gR20oYyl7Y29uc3Qgcj1uZXcgVVJMU2VhcmNoUGFyYW1zO2MucGFnZSE9PSJvdmVydmlldyImJnIuc2V0KCJwYWdlIixjLnBhZ2UpLGMuc2NvcGUhPT1TcCYmci5zZXQoInNjb3BlIixjLnNjb3BlKSxjLmFjY291bnQmJnIuc2V0KCJhY2NvdW50IixjLmFjY291bnQpLGMudGFiJiZyLnNldCgidGFiIixjLnRhYiksYy5wYWdlPT09ImRlY2lzaW9ucyImJmMuZGVjaXNpb24mJnIuc2V0KCJkZWNpc2lvbiIsYy5kZWNpc2lvbik7Y29uc3QgZD1yLnRvU3RyaW5nKCk7cmV0dXJuIGQ/YD8ke2R9YDoiIn1mdW5jdGlvbiBscChjKXtjb25zdCByPUdtKGMpO3dpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7cXNsOmN9LCIiLGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3J9YCl9bGV0IHdwPW51bGw7ZnVuY3Rpb24gY3YoYyl7d3A9Y31mdW5jdGlvbiBVcigpe3JldHVybiB3cH1jbGFzcyBNaSBleHRlbmRzIEVycm9ye3N0YXR1cztjb2RlO2NvbnN0cnVjdG9yKHIsZD1udWxsKXtzdXBlcihyPT09NDAxPyJzZXNzaW9uX2V4cGlyZWQiOiJhY2Nlc3NfZGVuaWVkIiksdGhpcy5zdGF0dXM9cix0aGlzLmNvZGU9ZH19ZnVuY3Rpb24geHAoYyl7aWYoYz09PW51bGx8fHR5cGVvZiBjIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShjKSlyZXR1cm4gbnVsbDtjb25zdCByPWM7cmV0dXJuIE9iamVjdC5rZXlzKHIpLnNvcnQoKS5qb2luKCkhPT0iZXJyb3Isb2sifHxyLm9rIT09ITF8fHR5cGVvZiByLmVycm9yIT0ic3RyaW5nIj9udWxsOnIuZXJyb3J9Y2xhc3MgaWMgZXh0ZW5kcyBFcnJvcntzdGF0dXM7cGF5bG9hZDtjb25zdHJ1Y3RvcihyLGQpe2NvbnN0IHU9ZD8uZXJyb3I7c3VwZXIodXx8YGh0dHBfJHtyfWApLHRoaXMuc3RhdHVzPXIsdGhpcy5wYXlsb2FkPWR9fWNvbnN0IFFtPS9eXC9hcGlcL2NyZWRlbnRpYWwtcm90YXRpb25cL2lia3JfZmxleFwvKD86c3RhZ2V8b3BlcmF0aW9uc1wvW0EtWmEtejAtOV1bQS1aYS16MC05Xy1dezcsMTI3fVwvKD86ZmluYWxpemV8Y2FuY2VsKSkkLztsZXQgbGM9MCxRcj0wO2Z1bmN0aW9uIFhtKCl7cmV0dXJuIFFyfWZ1bmN0aW9uIFhyKCl7bGMrPTEsUXIrPTEsd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJxc2wtcHJpdmF0ZS1zZXNzaW9uLWludmFsaWQiKSl9ZnVuY3Rpb24ganIoYyl7aWYoYyE9PWxjKXRocm93IG5ldyBFcnJvcigic2Vzc2lvbl9pbnZhbGlkYXRlZCIpfWFzeW5jIGZ1bmN0aW9uIG1lKGMpe2NvbnN0IHI9bGMsZD1hd2FpdCBmZXRjaChjLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixjYWNoZToibm8tc3RvcmUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoZC5zdGF0dXM9PT00MDF8fGQuc3RhdHVzPT09NDAzKXtjb25zdCB2PWF3YWl0IGQuanNvbigpLmNhdGNoKCgpPT4oe30pKTt0aHJvdyBYcigpLG5ldyBNaShkLnN0YXR1cyx4cCh2KSl9aWYoanIociksIWQub2spe2NvbnN0IHY9YXdhaXQgZC5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO3Rocm93IG5ldyBpYyhkLnN0YXR1cyx2KX1jb25zdCB1PWF3YWl0IGQuanNvbigpO3JldHVybiBqcihyKSx1fWFzeW5jIGZ1bmN0aW9uIFpyKGMscil7Y29uc3QgZD1sYyx1PWF3YWl0IGZldGNoKGMse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixjYWNoZToibm8tc3RvcmUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHIpfSksdj1hd2FpdCB1Lmpzb24oKS5jYXRjaCgoKT0+KHt9KSk7anIoZCk7Y29uc3QgeD14cCh2KSxOPXUuc3RhdHVzPT09NDAzJiZRbS50ZXN0KGMpJiZ4PT09InN0ZXBfdXBfaW52YWxpZCI7aWYodS5zdGF0dXM9PT00MDF8fHUuc3RhdHVzPT09NDAzJiYhTil0aHJvdyBYcigpLG5ldyBNaSh1LnN0YXR1cyx4KTtpZighdS5va3x8dj8ub2s9PT0hMSl0aHJvdyBuZXcgaWModS5zdGF0dXMsdik7cmV0dXJuIFFyKz0xLHZ9ZnVuY3Rpb24gSHIoYyl7cmV0dXJuYCR7Yy5wbGF0Zm9ybX06JHtjLmFjY291bnRfYWxpYXN9YH1mdW5jdGlvbiBabShjLHIpe2lmKCFyKXJldHVybjtjb25zdCBkPWMuZmluZCh2PT5Icih2KT09PXIpO2lmKGQpcmV0dXJuIGQ7Y29uc3QgdT1jLmZpbHRlcih2PT52LmFjY291bnRfYWxpYXM9PT1yKTtyZXR1cm4gdS5sZW5ndGg9PT0xP3VbMF06dm9pZCAwfWZ1bmN0aW9uIFRwKGMscixkKXtyZXR1cm4gYz8uYWNjb3VudE9wdGlvbnM/LltyXT8uZmluZCh1PT51LmtleT09PWQpfWZ1bmN0aW9uIGNwKGMscil7cmV0dXJuIFRwKGMsci5wbGF0Zm9ybSxyLmFjY291bnRfYWxpYXMpPy5hY2NvdW50X3NlbGVjdG9yPy50cmltKCl8fHIuYWNjb3VudF9hbGlhc31mdW5jdGlvbiBvdihjLHIpe2NvbnN0IGQ9bmV3IE1hcDtmb3IoY29uc3QgdSBvZiBjKXtsZXQgdj1kLmdldCh1LnBsYXRmb3JtKTt2fHxkLnNldCh1LnBsYXRmb3JtLHY9bmV3IE1hcCk7Y29uc3QgTj1jcChyLHUpLnRvVXBwZXJDYXNlKCksRD12LmdldChOKTtEP0QucHVzaCh1KTp2LnNldChOLFt1XSl9cmV0dXJuWy4uLmRdLm1hcCgoW3Usdl0pPT4oe3BsYXRmb3JtOnUsYWNjb3VudHM6Wy4uLnYudmFsdWVzKCldLm1hcCh4PT4oe2lkZW50aXR5OmNwKHIseFswXSkscm93czp4fSkpfSkpfWZ1bmN0aW9uIEFwKGMscil7Y29uc3QgZD1jLmluZGV4T2YoIjoiKTtyZXR1cm4gZD4wP3tzY29wZTpjLnNsaWNlKGQrMSkscGxhdGZvcm06Yy5zbGljZSgwLGQpfTp7c2NvcGU6YyxwbGF0Zm9ybTpyfX1jbGFzcyBWbSBleHRlbmRzIEVycm9ye3JlcXVlc3RJZDtvcGVyYXRpb25JZDtjb25zdHJ1Y3RvcihyLGQpe3N1cGVyKCJtdXRhdGlvbl9vdXRjb21lX3Vua25vd24iKSx0aGlzLnJlcXVlc3RJZD1yLHRoaXMub3BlcmF0aW9uSWQ9ZH19Y29uc3QgS209InFzbC5vcGVyYXRpb24udjEiLEptPSJxc2wuYXVkaXRfZXZlbnRzLnYxIjtmdW5jdGlvbiBOcihjKXtyZXR1cm4gYz09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiJ8fGM9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkcifHxjPT09IkdST1dUSF9DT01QT1VORElORyJ9ZnVuY3Rpb24gJG0oYyl7cmV0dXJuIGM9PT0icmVzZWFyY2gifHxjPT09InBhcGVyInx8Yz09PSJzbWFsbF9saXZlInx8Yz09PSJmdWxsX2xpdmUifWZ1bmN0aW9uIE9yKGMpe3JldHVybiAkbShjKT9jOiJ1bmNsYXNzaWZpZWQifWZ1bmN0aW9uIFdtKGMpe3JldHVybiB0eXBlb2YgYz09InN0cmluZyImJmMubGVuZ3RoPjAmJmMubGVuZ3RoPD02NCYmL15bYS16XVthLXowLTlfXSokLy50ZXN0KGMpP2M6bnVsbH1mdW5jdGlvbiBydigpe2NvbnN0IGM9Z2xvYmFsVGhpcy5jcnlwdG87cmV0dXJuIGM/LnJhbmRvbVVVSUQ/Yy5yYW5kb21VVUlEKCk6YHJlcS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCl9YH1mdW5jdGlvbiBzdihjLHIsZCx1KXtpZighYylyZXR1cm57c3RhdGU6Im5vbmUifTtjb25zdCB2PURhdGUucGFyc2UoYykseD1yP0RhdGUucGFyc2Uocik6TnVtYmVyLk5hTixOPURhdGUucGFyc2UoZCk7aWYoIU51bWJlci5pc0Zpbml0ZSh2KXx8IU51bWJlci5pc0Zpbml0ZSh4KXx8IU51bWJlci5pc0Zpbml0ZShOKSlyZXR1cm57c3RhdGU6InVua25vd24iLGV4cGlyZXNBdDpjfTtjb25zdCBEPXgrTWF0aC5tYXgoMCx1LU4pO3JldHVybiBEPj12P3tzdGF0ZToiZXhwaXJlZCIsZXhwaXJlc0F0OmMsc2VydmVyTm93OkR9OntzdGF0ZToib3BlbiIsZXhwaXJlc0F0OmMscmVtYWluaW5nTXM6di1EfX1mdW5jdGlvbiBWcihjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGljJiYoYy5zdGF0dXM9PT00MDR8fGMuc3RhdHVzPT09NTAxKX1mdW5jdGlvbiBVZShjKXtyZXR1cm4gYyE9PW51bGwmJnR5cGVvZiBjPT0ib2JqZWN0Ij9jOm51bGx9ZnVuY3Rpb24gWShjKXtyZXR1cm4gdHlwZW9mIGM9PSJzdHJpbmciJiZjLmxlbmd0aD4wP2M6bnVsbH1mdW5jdGlvbiBJbChjKXtyZXR1cm4gdHlwZW9mIGM9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUoYyk/YzpudWxsfWZ1bmN0aW9uIEZtKGMpe2NvbnN0IHI9VWUoYyk7aWYocil7Y29uc3Qgdj1ZKHIua2luZCkseD1ZKHIuaWQpO3JldHVybiB2PT09bnVsbCYmeD09PW51bGw/bnVsbDp7a2luZDp2Pz8idW5rbm93biIsaWQ6eD8/IiJ9fWNvbnN0IGQ9WShjKTtpZihkPT09bnVsbClyZXR1cm4gbnVsbDtjb25zdCB1PWQuaW5kZXhPZigiOiIpO3JldHVybiB1PDA/e2tpbmQ6InVua25vd24iLGlkOmR9OntraW5kOmQuc2xpY2UoMCx1KS50cmltKCl8fCJ1bmtub3duIixpZDpkLnNsaWNlKHUrMSkudHJpbSgpfX1mdW5jdGlvbiBQbShjKXtjb25zdCByPVVlKGMpO2lmKCFyKXJldHVybiBudWxsO2NvbnN0IGQ9ci5zdGF0ZT09PSJjdXJyZW50Inx8ci5zdGF0ZT09PSJzdGFsZSJ8fHIuc3RhdGU9PT0ibWlzc2luZyJ8fHIuc3RhdGU9PT0iZXhwaXJlZCJ8fHIuc3RhdGU9PT0idW5hdmFpbGFibGUiP3Iuc3RhdGU6InVuYXZhaWxhYmxlIix1PXIucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQifHxyLnF1YWxpZmljYXRpb249PT0idW5xdWFsaWZpZWQiP3IucXVhbGlmaWNhdGlvbjoidW5rbm93biIsdj1BcnJheS5pc0FycmF5KHIubGltaXRhdGlvbnMpP3IubGltaXRhdGlvbnMuZmlsdGVyKHg9PnR5cGVvZiB4PT0ic3RyaW5nIik6W107cmV0dXJue2V2aWRlbmNlX2lkOlkoci5ldmlkZW5jZV9pZCksbGFiZWxfa2V5Olkoci5sYWJlbF9rZXkpLG9ic2VydmVkX2F0Olkoci5vYnNlcnZlZF9hdCksdmFsaWRfdW50aWw6WShyLnZhbGlkX3VudGlsKSxzdGF0ZTpkLHF1YWxpZmljYXRpb246dSxsaW1pdGF0aW9uczp2fX1mdW5jdGlvbiBJbShjKXtyZXR1cm4gQXJyYXkuaXNBcnJheShjKT9jLmZsYXRNYXAocj0+e2NvbnN0IGQ9VWUocik7aWYoIWR8fHR5cGVvZiBkLmtleSE9InN0cmluZyIpcmV0dXJuW107Y29uc3QgdT1kLnN0YXR1cz09PSJrbm93biJ8fGQuc3RhdHVzPT09InVua25vd24ifHxkLnN0YXR1cz09PSJ1bmF2YWlsYWJsZSI/ZC5zdGF0dXM6InVua25vd24iO3JldHVyblt7a2V5OmQua2V5LGxhYmVsX2tleTpZKGQubGFiZWxfa2V5KSx2YWx1ZTp0eXBlb2YgZC52YWx1ZT09Im51bWJlciJ8fHR5cGVvZiBkLnZhbHVlPT0ic3RyaW5nIj9kLnZhbHVlOm51bGwsdW5pdDpZKGQudW5pdCksc3RhdHVzOnUsc291cmNlOlkoZC5zb3VyY2UpfV19KTpbXX1mdW5jdGlvbiBlZyhjLHI9e30pe2NvbnN0IGQ9VWUoYyk7aWYoIWQpcmV0dXJuIG51bGw7Y29uc3QgdT1ZKGQuaWQpPz9ZKGQub3BlcmF0aW9uX2lkKT8/IiIsdj17YXBwbHlpbmc6ImFwcGx5aW5nIixhcHBsaWVkOiJhcHBsaWVkIixmYWlsZWQ6ImZhaWxlZCIscmVqZWN0ZWQ6InJlamVjdGVkIixhY2NlcHRlZDoicGVuZGluZyIsdW5hY2NlcHRlZDoidW5rbm93biIsdW5hcHBsaWVkOiJ1bmtub3duIix1bmtub3duOiJ1bmtub3duIn0seD1ZKGQuc3RhdHVzKSxOPXg/dlt4XT8/InVua25vd24iOiJ1bmtub3duIixEPVkoZC5yZWFzb25fY29kZSksaD1VZShkLmRpc3BhdGNoKSx5PVVlKGQuYXBwbGljYXRpb24pLE89WShyLmRlY2lzaW9uPy5kZWNpZGVkX2F0KSxCPVkoZC51cGRhdGVkX2F0KTtyZXR1cm57b3BlcmF0aW9uX2lkOnUscmVxdWVzdF9pZDp1LGRlY2lzaW9uX2lkOlkoZC5kZWNpc2lvbl9pZCksZGVjaXNpb25fcmV2aXNpb246bnVsbCxhY3Rpb246V20oci5kZWNpc2lvbj8uYWN0aW9uKSx0aXRsZV9rZXk6bnVsbCxhY2NvdW50X2FsaWFzOlkoeT8uYWNjb3VudF9hbGlhcykscGxhdGZvcm06WSh5Py5wbGF0Zm9ybSkscmVsZWFzZV9pZDpZKHk/LnJlbGVhc2VfaWQpLHRhcmdldF9pZDpZKHk/LnRhcmdldF9pZCksc3RhdGU6TixyZWNvcmRlZF9hdDpPPz9CLGRpc3BhdGNoZWRfYXQ6WShoPy51cGRhdGVkX2F0KSxhcHBsaWVkX2F0Ok49PT0iYXBwbGllZCI/QjpudWxsLGFwcGxpZWRfYnk6eT8icGxhdGZvcm0iOm51bGwscnVudGltZV9jb25maXJtZWRfYXQ6bnVsbCxydW50aW1lX3N0YXRlOiJ1bmtub3duIixmYWlsdXJlX3JlYXNvbjpOPT09ImZhaWxlZCI/RDpudWxsLHVua25vd25fcmVhc29uOk49PT0idW5rbm93biI/RDpudWxsLHJlYWRiYWNrX2F2YWlsYWJsZTpZKGQuYWN0aXZhdGlvbl9zdGF0dXMpPT09Im5vdF9jb25uZWN0ZWQiPyExOm51bGwsc2VydmVyX3RpbWU6ci5zZXJ2ZXJUaW1lPz9udWxsfX1mdW5jdGlvbiB1dihjKXtjb25zdCByPVVlKGMpO2lmKCFyKXJldHVybiBudWxsO2NvbnN0IGQ9WShyLmZyZXNobmVzcyksdT1kPT09ImN1cnJlbnQifHxkPT09Im9rInx8ZD09PSJyZWFkeSJ8fGQ9PT0iZnJlc2giPyJjdXJyZW50IjpkPT09InN0YWxlIj8ic3RhbGUiOmQ9PT0iZXhwaXJlZCI/ImV4cGlyZWQiOmQ9PT0ibWlzc2luZyI/Im1pc3NpbmciOiJ1bmF2YWlsYWJsZSIsdj1VZShyLnNoYWRvdykseD10eXBlb2Ygdj8ucGFzc2VkPT0iYm9vbGVhbiI/di5wYXNzZWQ/InF1YWxpZmllZCI6InVucXVhbGlmaWVkIjoidW5rbm93biI7cmV0dXJue2V2aWRlbmNlX2lkOlkoci5zb3VyY2VfaWQpPz9ZKHIubWF0ZXJpYWxfc2hhMjU2KSxsYWJlbF9rZXk6bnVsbCxvYnNlcnZlZF9hdDpZKHIub2JzZXJ2ZWRfYXQpLHZhbGlkX3VudGlsOm51bGwsc3RhdGU6dSxxdWFsaWZpY2F0aW9uOngsbGltaXRhdGlvbnM6W119fWFzeW5jIGZ1bmN0aW9uIGR2KGMscj0hMSl7aWYocilyZXR1cm57c3RhdHVzOiJyZWFkeSIsc3ludGhldGljOiEwLGRhdGE6aWcoYyl9O3RyeXtjb25zdCBkPWF3YWl0IG1lKGAvYXBpL29wZXJhdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoYyl9YCksdT1VZShkKTtpZihZKHU/LnNjaGVtYV92ZXJzaW9uKSE9PUttKXJldHVybntzdGF0dXM6Im5vdF9yZWFkeSJ9O2NvbnN0IHY9ZWcodT8ub3BlcmF0aW9uLHtzZXJ2ZXJUaW1lOlkodT8uc2VydmVyX3RpbWUpLGRlY2lzaW9uOlVlKHU/LmRlY2lzaW9uKX0pO3JldHVybiB2P3tzdGF0dXM6InJlYWR5IixkYXRhOnYsc3ludGhldGljOiExfTp7c3RhdHVzOiJub3RfcmVhZHkifX1jYXRjaChkKXtpZihWcihkKSlyZXR1cm57c3RhdHVzOiJub3RfcmVhZHkifTt0aHJvdyBkfX1mdW5jdGlvbiB0ZyhjLHIpe2NvbnN0IGQ9VWUoYy50ZW1wb3JhcnlfcmVzdHJpY3Rpb24pO3JldHVybntzY29wZTpyLHNlbGVjdGVkX3RpZXI6TnIoYy5zZWxlY3RlZF90aWVyKT9jLnNlbGVjdGVkX3RpZXI6bnVsbCxzZWxlY3Rpb25fcmV2aXNpb246SWwoYy5zZWxlY3Rpb25fcmV2aXNpb24pLGFwcHJvdmVkX3RpZXI6TnIoYy5hcHByb3ZlZF90aWVyKT9jLmFwcHJvdmVkX3RpZXI6bnVsbCxhcHByb3ZlZF9wb2xpY3lfaWQ6WShjLmFwcHJvdmVkX3BvbGljeV9pZCksYXBwcm92ZWRfcG9saWN5X3JldmlzaW9uOlkoYy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb24pLGVmZmVjdGl2ZV90aWVyOk5yKGMuZWZmZWN0aXZlX3RpZXIpP2MuZWZmZWN0aXZlX3RpZXI6bnVsbCxlZmZlY3RpdmVfcG9saWN5X2lkOlkoYy5lZmZlY3RpdmVfcG9saWN5X2lkKSxlZmZlY3RpdmVfcG9saWN5X3JldmlzaW9uOlkoYy5lZmZlY3RpdmVfcG9saWN5X3JldmlzaW9uKSxlZmZlY3RpdmVfb2JzZXJ2ZWRfYXQ6WShjLmVmZmVjdGl2ZV9vYnNlcnZlZF9hdCksdGVtcG9yYXJ5X3Jlc3RyaWN0aW9uOmQ/e2FjdGl2ZTpkLmFjdGl2ZT09PSEwLHJlYXNvbjpZKGQucmVhc29uKSx1bnRpbDpZKGQudW50aWwpfTpudWxsLHZhbHVlczpJbShjLnZhbHVlcz8/Yy5saW1pdHMpfX1hc3luYyBmdW5jdGlvbiBmdihjLHI9ITEpe2lmKHIpcmV0dXJue3N0YXR1czoicmVhZHkiLHN5bnRoZXRpYzohMCxkYXRhOmxnKGMpfTt0cnl7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTpjfSksdT1hd2FpdCBtZShgL2FwaS9yaXNrLXByb2ZpbGVzPyR7ZH1gKSx2PVVlKHUpLHg9VWUodj8uYmluZGluZyk/P1VlKHY/LnBvbGljeV9iaW5kaW5nKTtyZXR1cm4geD97c3RhdHVzOiJyZWFkeSIsZGF0YTp0Zyh4LGMpLHN5bnRoZXRpYzohMX06e3N0YXR1czoibm90X3JlYWR5In19Y2F0Y2goZCl7aWYoVnIoZCkpcmV0dXJue3N0YXR1czoibm90X3JlYWR5In07dGhyb3cgZH19YXN5bmMgZnVuY3Rpb24gcHYoYyxyPSExKXtpZihyKXJldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITAsZGF0YTpjZygpfTtjb25zdCBkPVtdO2Zvcihjb25zdCB1IG9mIGMuc3RyYXRlZ2llcyl7Y29uc3Qgdj1VZSh1LmxpZmVjeWNsZSk7Zm9yKGNvbnN0IHggb2YgdS5jb25maWd1cmVkX2FjY291bnRzKXtjb25zdCBOPVVlKHgubGlmZWN5Y2xlKT8/djtkLnB1c2goe3Byb2ZpbGU6dS5wcm9maWxlLGFjY291bnRfYWxpYXM6eC5hY2NvdW50X2FsaWFzLHBsYXRmb3JtOngucGxhdGZvcm0sdGFyZ2V0X2lkOlkoTj8udGFyZ2V0X2lkKSxyZWxlYXNlX2lkOlkoTj8ucmVsZWFzZV9pZCkscHJlc2VudDohIU4scmVzZWFyY2hfc3RhZ2U6T3IoTj8ucmVzZWFyY2hfc3RhZ2UpLGF1dGhvcml6ZWRfc3RhZ2U6T3IoTj8uYXV0aG9yaXplZF9zdGFnZSksZWZmZWN0aXZlX3N0YWdlOk9yKE4/LmVmZmVjdGl2ZV9zdGFnZSksb3BlcmF0aW5nX3N0YXRlOlsicnVubmluZyIsInBhdXNlZCIsInJlZHVjdGlvbl9vbmx5IiwicmVjb25jaWxlX29ubHkiLCJ1bmtub3duIl0uaW5jbHVkZXMoTj8ub3BlcmF0aW5nX3N0YXRlKT9OPy5vcGVyYXRpbmdfc3RhdGU6InVua25vd24iLGFwcGxpY2F0aW9uX3N0YXRlOlsicGVuZGluZyIsImFwcGx5aW5nIiwiYXBwbGllZCIsInJlamVjdGVkIiwiZmFpbGVkIiwidW5rbm93biJdLmluY2x1ZGVzKE4/LmFwcGxpY2F0aW9uX3N0YXRlKT9OPy5hcHBsaWNhdGlvbl9zdGF0ZToidW5rbm93biIsb2JzZXJ2ZWRfYXQ6WShOPy5vYnNlcnZlZF9hdCksZXZpZGVuY2U6UG0oTj8uZXZpZGVuY2UpLHJlZ2ltZV9lZmZlY3Q6WShOPy5yZWdpbWVfZWZmZWN0KX0pfX1yZXR1cm57c3RhdHVzOiJyZWFkeSIsZGF0YTpkLHN5bnRoZXRpYzohMX19YXN5bmMgZnVuY3Rpb24gX3YoYyxyPSExKXtpZihyKXJldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITAsZGF0YTpvZygpfTtjb25zdCBkPVVlKGMuZGlnZXN0KTtpZighZClyZXR1cm57c3RhdHVzOiJyZWFkeSIsc3ludGhldGljOiExLGRhdGE6e2J1c2luZXNzX2RheTpudWxsLHRpbWV6b25lOm51bGwsZXhwZWN0ZWRfdGFyZ2V0czpudWxsLGNvdmVyZWRfdGFyZ2V0czpudWxsLHVuYXZhaWxhYmxlX3RhcmdldHM6bnVsbCxkZWxpdmVyeV9zdGF0ZToidW5hdmFpbGFibGUiLGFjY2VwdGVkX2F0Om51bGwsYWNrbm93bGVkZ2VkX2F0Om51bGwsc291cmNlX2FzX29mOmMuYXNfb2YsbGVnYWN5X3JlY2VpcHRzOiEwLHRhcmdldHM6W119fTtjb25zdCB1PWQuZGVsaXZlcnlfc3RhdGUsdj11PT09ImFjY2VwdGVkInx8dT09PSJkZWxpdmVyZWQifHx1PT09ImZhaWxlZCJ8fHU9PT0idW5rbm93biI/dToidW5hdmFpbGFibGUiO3JldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITEsZGF0YTp7YnVzaW5lc3NfZGF5OlkoZC5idXNpbmVzc19kYXkpLHRpbWV6b25lOlkoZC50aW1lem9uZSksZXhwZWN0ZWRfdGFyZ2V0czpJbChkLmV4cGVjdGVkX3RhcmdldHMpLGNvdmVyZWRfdGFyZ2V0czpJbChkLmNvdmVyZWRfdGFyZ2V0cyksdW5hdmFpbGFibGVfdGFyZ2V0czpJbChkLnVuYXZhaWxhYmxlX3RhcmdldHMpLGRlbGl2ZXJ5X3N0YXRlOnYsYWNjZXB0ZWRfYXQ6WShkLmFjY2VwdGVkX2F0KSxhY2tub3dsZWRnZWRfYXQ6WShkLmFja25vd2xlZGdlZF9hdCksc291cmNlX2FzX29mOlkoZC5zb3VyY2VfYXNfb2YpLGxlZ2FjeV9yZWNlaXB0czohMSx0YXJnZXRzOltdfX19ZnVuY3Rpb24gbmcoYyl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYyl9Y2F0Y2h7cmV0dXJuIG51bGx9fWNvbnN0IGFnPVsiY3JlZGVudGlhbF9yb3RhdGlvbl9zdGFnZSIsImNyZWRlbnRpYWxfcm90YXRpb25fZmluYWxpemUiLCJjcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCIsImNyZWRlbnRpYWxfcm90YXRpb25fZGVuaWVkIl07YXN5bmMgZnVuY3Rpb24gaHYoYz1udWxsLHI9ITEpe2lmKHIpcmV0dXJue3N0YXR1czoicmVhZHkiLHN5bnRoZXRpYzohMCxkYXRhOnJnKCl9O3RyeXtjb25zdCBkPW5ldyBVUkxTZWFyY2hQYXJhbXMoe2xpbWl0OiIyNSJ9KTtjJiZkLnNldCgiY3Vyc29yIixjKTtjb25zdCB1PWF3YWl0IG1lKGAvYXBpL2F1ZGl0LWV2ZW50cz8ke2R9YCksdj1VZSh1KTtyZXR1cm4gWSh2Py5zY2hlbWFfdmVyc2lvbikhPT1KbT97c3RhdHVzOiJub3RfcmVhZHkifTp7c3RhdHVzOiJyZWFkeSIsZGF0YTooQXJyYXkuaXNBcnJheSh2Py5ldmVudHMpP3YuZXZlbnRzOltdKS5mbGF0TWFwKEQ9Pntjb25zdCBoPVVlKEQpO2lmKCFoKXJldHVybltdO2NvbnN0IHk9L15cL2FwaVwvKGRlY2lzaW9uc3xvcGVyYXRpb25zKVwvKFteLz8jXSspLy5leGVjKFkoaC5yZWYpPz8iIiksTz15P25nKHlbMl0pOm51bGwsQj1ZKGgucmV2aXNpb24pLFo9Rm0oaC5zdWJqZWN0KSxfZT1aPy5raW5kPT09ImNyZWRlbnRpYWwiJiZaLmlkPT09Imlia3JfZmxleCImJmFnLmluY2x1ZGVzKFkoaC5hY3Rpb24pPz8iIikmJnR5cGVvZiBoLmV2ZW50X2lkPT0ic3RyaW5nIjtyZXR1cm5be2V2ZW50X2lkOlkoX2U/aC5ldmVudF9pZDpoLmlkKT8/IiIsb2NjdXJyZWRfYXQ6WShoLm9jY3VycmVkX2F0KT8/IiIsYWN0b3I6WShoLmFjdG9yX2FsaWFzKSxhY3Rpb246WShoLmFjdGlvbik/PyJ1bmtub3duIixzdWJqZWN0OloscmV2aXNpb246QixkZWNpc2lvbl9pZDp5Py5bMV09PT0iZGVjaXNpb25zIj9POm51bGwsb3BlcmF0aW9uX2lkOl9lP1koaC5vcGVyYXRpb25faWQpOnk/LlsxXT09PSJvcGVyYXRpb25zIj9POm51bGwsb3V0Y29tZTpZKGgub3V0Y29tZSl9XX0pLHN5bnRoZXRpYzohMX19Y2F0Y2goZCl7aWYoVnIoZCkpcmV0dXJue3N0YXR1czoibm90X3JlYWR5In07dGhyb3cgZH19ZnVuY3Rpb24gaWcoYyl7cmV0dXJue29wZXJhdGlvbl9pZDpjLHJlcXVlc3RfaWQ6InN5bnRoZXRpYy1yZXF1ZXN0IixkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsZGVjaXNpb25fcmV2aXNpb246MyxhY3Rpb246ImFwcHJvdmUiLHRpdGxlX2tleToiZGVjaXNpb24ucHJvbW90aW9uX3RpdGxlIixhY2NvdW50X2FsaWFzOiJkZW1vX2FjY291bnQiLHBsYXRmb3JtOiJpYmtyIixyZWxlYXNlX2lkOiJkZW1vLXJlbGVhc2UtMjAyNi4xMCIsdGFyZ2V0X2lkOiJkZW1vLXRhcmdldCIsc3RhdGU6ImFwcGx5aW5nIixyZWNvcmRlZF9hdDoiMjAyNi0xMS0wMVQxMDowMDowMFoiLGRpc3BhdGNoZWRfYXQ6IjIwMjYtMTEtMDFUMTA6MDA6MDVaIixhcHBsaWVkX2F0Om51bGwsYXBwbGllZF9ieTpudWxsLHJ1bnRpbWVfY29uZmlybWVkX2F0Om51bGwscnVudGltZV9zdGF0ZToidW5rbm93biIsZmFpbHVyZV9yZWFzb246bnVsbCx1bmtub3duX3JlYXNvbjpudWxsLHJlYWRiYWNrX2F2YWlsYWJsZTpudWxsLHNlcnZlcl90aW1lOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX19ZnVuY3Rpb24gbGcoYyl7cmV0dXJue3Njb3BlOmMsc2VsZWN0ZWRfdGllcjoiQkFMQU5DRURfQ09NUE9VTkRJTkciLHNlbGVjdGlvbl9yZXZpc2lvbjoyLGFwcHJvdmVkX3RpZXI6IkJBTEFOQ0VEX0NPTVBPVU5ESU5HIixhcHByb3ZlZF9wb2xpY3lfaWQ6InN5bnRoZXRpYy1wb2xpY3kiLGFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbjoicjciLGVmZmVjdGl2ZV90aWVyOiJCQUxBTkNFRF9DT01QT1VORElORyIsZWZmZWN0aXZlX3BvbGljeV9pZDoic3ludGhldGljLXBvbGljeSIsZWZmZWN0aXZlX3BvbGljeV9yZXZpc2lvbjoicjciLGVmZmVjdGl2ZV9vYnNlcnZlZF9hdDoiMjAyNi0xMS0wMVQwOTozMDowMFoiLHRlbXBvcmFyeV9yZXN0cmljdGlvbjpudWxsLHZhbHVlczpbe2tleToibWF4X2dyb3NzX2V4cG9zdXJlIixsYWJlbF9rZXk6bnVsbCx2YWx1ZTo0NSx1bml0OiJwZXJjZW50IixzdGF0dXM6Imtub3duIixzb3VyY2U6InNlcnZlciJ9LHtrZXk6ImNhc2hfZmxvb3IiLGxhYmVsX2tleTpudWxsLHZhbHVlOjIwLHVuaXQ6InBlcmNlbnQiLHN0YXR1czoia25vd24iLHNvdXJjZToic2VydmVyIn1dfX1mdW5jdGlvbiBjZygpe3JldHVyblt7cHJvZmlsZToiZGVtb190cmVuZCIsYWNjb3VudF9hbGlhczoiZGVtb19hY2NvdW50IixwbGF0Zm9ybToiaWJrciIsdGFyZ2V0X2lkOiJkZW1vLXRhcmdldCIscmVsZWFzZV9pZDoiZGVtby1yZWxlYXNlLTIwMjYuMTAiLHByZXNlbnQ6ITAscmVzZWFyY2hfc3RhZ2U6InBhcGVyIixhdXRob3JpemVkX3N0YWdlOiJwYXBlciIsZWZmZWN0aXZlX3N0YWdlOiJwYXBlciIsb3BlcmF0aW5nX3N0YXRlOiJydW5uaW5nIixhcHBsaWNhdGlvbl9zdGF0ZToiYXBwbGllZCIsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTEtMDFUMDk6MzA6MDBaIixldmlkZW5jZTp7ZXZpZGVuY2VfaWQ6InN5bnRoZXRpYy1ldmlkZW5jZSIsbGFiZWxfa2V5Om51bGwsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTAtMzFUMTM6MDA6MDBaIix2YWxpZF91bnRpbDoiMjAyNi0xMS0wMlQxMzowMDowMFoiLHN0YXRlOiJjdXJyZW50IixxdWFsaWZpY2F0aW9uOiJxdWFsaWZpZWQiLGxpbWl0YXRpb25zOltdfSxyZWdpbWVfZWZmZWN0OiJyaXNrX3JlZHVjdGlvbl9vbmx5In1dfWZ1bmN0aW9uIG9nKCl7cmV0dXJue2J1c2luZXNzX2RheToiMjAyNi0xMS0wMSIsdGltZXpvbmU6IkFtZXJpY2EvTmV3X1lvcmsiLGV4cGVjdGVkX3RhcmdldHM6NCxjb3ZlcmVkX3RhcmdldHM6Myx1bmF2YWlsYWJsZV90YXJnZXRzOjEsZGVsaXZlcnlfc3RhdGU6ImFjY2VwdGVkIixhY2NlcHRlZF9hdDoiMjAyNi0xMS0wMVQxMzowNTowMFoiLGFja25vd2xlZGdlZF9hdDpudWxsLHNvdXJjZV9hc19vZjoiMjAyNi0xMS0wMVQxMzowMDowMFoiLGxlZ2FjeV9yZWNlaXB0czohMSx0YXJnZXRzOltdfX1mdW5jdGlvbiByZygpe2NvbnN0IGM9IjAiLnJlcGVhdCg2MykrIjEiO3JldHVyblt7ZXZlbnRfaWQ6InN5bnRoZXRpYy1ldmVudC0xIixvY2N1cnJlZF9hdDoiMjAyNi0xMS0wMVQxMDowMDowMFoiLGFjdG9yOiJvd25lciIsYWN0aW9uOiJhcHByb3ZhbF9yZWNvcmRlZCIsc3ViamVjdDp7a2luZDoib3duZXJfZGVjaXNpb24iLGlkOiJzeW50aGV0aWMtZGVjaXNpb24tMDAxIn0scmV2aXNpb246YyxkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsb3BlcmF0aW9uX2lkOiJzeW50aGV0aWMtb3BlcmF0aW9uLTEiLG91dGNvbWU6InJlY29yZGVkIn0se2V2ZW50X2lkOiJzeW50aGV0aWMtZXZlbnQtMiIsb2NjdXJyZWRfYXQ6IjIwMjYtMTEtMDFUMTA6MDA6MDVaIixhY3RvcjoicGxhdGZvcm0iLGFjdGlvbjoiYXBwbGljYXRpb25fZGlzcGF0Y2hlZCIsc3ViamVjdDp7a2luZDoicGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiIsaWQ6ImRlbW8tdGFyZ2V0In0scmV2aXNpb246YyxkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsb3BlcmF0aW9uX2lkOiJzeW50aGV0aWMtb3BlcmF0aW9uLTEiLG91dGNvbWU6ImFwcGx5aW5nIn1dfWNvbnN0IG9wPSJxc2wuY3JlZGVudGlhbF9yb3RhdGlvbi52MSIsc2c9Imlia3JfZmxleCIscnA9e307ZnVuY3Rpb24gdWcoKXtyZXR1cm4gbWUoIi9hcGkvc2Vzc2lvbiIpfWxldCBGbD1udWxsLFJhPW51bGw7Y29uc3QgQnI9bmV3IFNldDtmdW5jdGlvbiBkZyhjKXtyZXR1cm4gQnIuYWRkKGMpLCgpPT57QnIuZGVsZXRlKGMpfX1mdW5jdGlvbiBmZyhjKXtjb25zdCByPU51bWJlcihjP3JwPy5WSVRFX0lOQk9YX0ZBSUxVUkVfQkFDS09GRl9NUzpycD8uVklURV9JTkJPWF9DQUNIRV9NUyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShyKSYmcj49MWUzJiZyPD0zZTU/cjpjPzZlNDoxNWUzfWZ1bmN0aW9uIHBnKGM9ITEpe2NvbnN0IHI9WG0oKTtyZXR1cm4gUmEmJlJhLnJldmlzaW9uPT09ciYmRGF0ZS5ub3coKTxSYS51bnRpbCYmKCFjfHxSYS52YWx1ZS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKT9Qcm9taXNlLnJlc29sdmUoUmEudmFsdWUpOihGbHx8KEZsPW1lKCIvYXBpL2RlY2lzaW9ucy1pbmJveCIpLnRoZW4oZD0+e1JhPXt2YWx1ZTpkLHVudGlsOkRhdGUubm93KCkrZmcoZC5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKSxyZXZpc2lvbjpyfTtmb3IoY29uc3QgdSBvZlsuLi5Ccl0pdSgpO3JldHVybiBkfSkuZmluYWxseSgoKT0+e0ZsPW51bGx9KSksRmwpfWZ1bmN0aW9uIG12KGM9MjUscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtsaW1pdDpTdHJpbmcoYyl9KTtyZXR1cm4gciYmZC5zZXQoImN1cnNvciIsciksbWUoYC9hcGkvb3duZXItZGVjaXNpb25zL2hpc3Rvcnk/JHtkfWApfWZ1bmN0aW9uIF9nKCl7cmV0dXJuIG1lKCIvYXBpL2FjY291bnRzIil9ZnVuY3Rpb24gZ3YoKXtyZXR1cm4gbWUoIi9hcGkvYWNjb3VudC1mYWN0cyIpfWZ1bmN0aW9uIHZ2KCl7cmV0dXJuIG1lKCIvYXBpL2JpbmFuY2UtYWNjb3VudC1mYWN0cyIpfWZ1bmN0aW9uIHl2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHthY2NvdW50OmN9KTtyZXR1cm4gciYmZC5zZXQoInBsYXRmb3JtIixyKSxtZShgL2FwaS9hY2NvdW50LXNldHRpbmdzL2RpZmY/JHtkfWApfWZ1bmN0aW9uIGJ2KGMscixkPTI1LHUpe2NvbnN0IHY9bmV3IFVSTFNlYXJjaFBhcmFtcyh7YWNjb3VudDpjLGxpbWl0OlN0cmluZyhkKX0pO3JldHVybiByJiZ2LnNldCgicGxhdGZvcm0iLHIpLHUmJnYuc2V0KCJjdXJzb3IiLHUpLG1lKGAvYXBpL2FjY291bnQtc2V0dGluZ3MvaGlzdG9yeT8ke3Z9YCl9ZnVuY3Rpb24ga3YoYyl7cmV0dXJuIFpyKCIvYXBpL2FjY291bnQtc2V0dGluZ3MvZHJhZnQiLGMpfWZ1bmN0aW9uIFN2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtwbGF0Zm9ybTpjLGtleTpyfSk7cmV0dXJuIG1lKGAvYXBpL2FjY291bnQtc2V0dGluZ3M/JHtkfWApfWZ1bmN0aW9uIHd2KCl7cmV0dXJuIG1lKCIvYXBpL3J1bnRpbWUvdG9kYXkiKX1mdW5jdGlvbiB4digpe3JldHVybiBtZSgiL2FwaS9zdHJhdGVnaWVzL3N1bW1hcnkiKX1mdW5jdGlvbiBUdihjPTI1LHIpe2NvbnN0IGQ9bmV3IFVSTFNlYXJjaFBhcmFtcyh7bGltaXQ6U3RyaW5nKGMpfSk7cmV0dXJuIG1lKGAvYXBpL25vdGlmaWNhdGlvbnMvc2VuZC1sb2c/JHtkfWApfWZ1bmN0aW9uIEF2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHthY2NvdW50OmN9KTtyZXR1cm4gciYmZC5zZXQoInBsYXRmb3JtIixyKSxtZShgL2FwaS9hY2NvdW50cy9ydW4tY29udHJvbHM/JHtkfWApfWZ1bmN0aW9uIENpKGMscixkKXtjb25zdCB1PUFwKGMsZCksdj1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTp1LnNjb3BlLHJhbmdlOnJ9KTtyZXR1cm4gdS5wbGF0Zm9ybSYmdi5zZXQoInBsYXRmb3JtIix1LnBsYXRmb3JtKSxTdHJpbmcodil9ZnVuY3Rpb24gRXYoYyxyLGQpe3JldHVybiBtZShgL2FwaS9wZXJmb3JtYW5jZS9zdW1tYXJ5PyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIFJ2KGMscixkKXtyZXR1cm4gbWUoYC9hcGkvcGVyZm9ybWFuY2UvcmV0dXJucz8ke0NpKGMscixkKX1gKX1mdW5jdGlvbiB6dihjLHIsZCl7cmV0dXJuIG1lKGAvYXBpL3BlcmZvcm1hbmNlL2Fzc2V0cz8ke0NpKGMscixkKX1gKX1mdW5jdGlvbiBOdihjLHIsZCl7cmV0dXJuIG1lKGAvYXBpL3BlcmZvcm1hbmNlL2hvbGRpbmdzPyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIE92KGMscixkKXtyZXR1cm4gbWUoYC9hcGkvcGVyZm9ybWFuY2UvdHJhZGVzPyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIER2KGMscixkLHUsdix4KXtjb25zdCBOPUFwKGMsdiksRD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTpOLnNjb3BlLHJhbmdlOnIseWVhcjpTdHJpbmcoZCl9KTtyZXR1cm4gdSE9bnVsbCYmRC5zZXQoIm1vbnRoIixTdHJpbmcodSkpLE4ucGxhdGZvcm0mJkQuc2V0KCJwbGF0Zm9ybSIsTi5wbGF0Zm9ybSkseCYmRC5zZXQoImN1cnJlbmN5Iix4KSxtZShgL2FwaS9wZXJmb3JtYW5jZS9jYWxlbmRhcj8ke0R9YCl9YXN5bmMgZnVuY3Rpb24gTXYoKXtyZXR1cm4oYXdhaXQgbWUoIi9hcGkvY29uZmlnIikpLnJ1bnRpbWVEYWlseUJpbmRpbmdzPz9bXX1mdW5jdGlvbiBDdihjLHIsZCx1PSEwKXtjb25zdCB2PW5ldyBVUkxTZWFyY2hQYXJhbXMoe2RhdGU6Y30pO3JldHVybiByJiZ2LnNldCgicGxhdGZvcm0iLHIpLGQmJnYuc2V0KCJhY2NvdW50X2tleSIsZCksdXx8di5zZXQoImluY2x1ZGVfaGlzdG9yeSIsImZhbHNlIiksbWUoYC9hcGkvcnVudGltZS1kYWlseT8ke3Z9YCl9ZnVuY3Rpb24gcXYoKXtyZXR1cm4gbWUoIi9hcGkvY3JlZGVudGlhbC1tYWludGVuYW5jZSIpfWNvbnN0IGNjPWAvYXBpL2NyZWRlbnRpYWwtcm90YXRpb24vJHtzZ31gLGhnPS9eXGR7NH0tXGR7Mn0tXGR7Mn1UXGR7Mn06XGR7Mn06XGR7Mn0oPzpcLlxkezEsM30pPyg/Olp8WystXVxkezJ9OlxkezJ9KSQvLHphPS9eW0EtWmEtejAtOV1bQS1aYS16MC05Xy1dezcsMTI3fSQvLG1nPVsiYWRkaW5nX3ZlcnNpb24iLCJzdGFnZWQiLCJmaW5hbGl6aW5nIiwiZmluYWxpemVkIiwiY2FuY2VsaW5nIiwiY2FuY2VsZWQiLCJhZGRfdW5rbm93biIsImZpbmFsaXplX3Vua25vd24iLCJjYW5jZWxfdW5rbm93biIsImZhaWxlZCJdLGdnPVsicHJveHlfdW5jb25maXJtZWQiLCJtYWludGVuYW5jZV9yZXZpc2lvbl9jb25mbGljdCIsInByb3ZpZGVyX2ZhaWxlZCJdLHZnPVsiaW52YWxpZF9jcmVkZW50aWFsX3JvdGF0aW9uX3JlcXVlc3QiLCJpbnZhbGlkX2NyZWRlbnRpYWxfZXhwaXJ5Iiwib3JpZ2luX3JlcXVpcmVkIiwiY3Jvc3Nfb3JpZ2luX3JlamVjdGVkIiwicm90YXRpb25fb3duZXJfcmVxdWlyZWQiLCJzdGVwX3VwX2ludmFsaWQiLCJzdGVwX3VwX3JhdGVfbGltaXRlZCIsImNyZWRlbnRpYWxfcm90YXRpb25fb3BlcmF0aW9uX25vdF9mb3VuZCIsImNyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdF9jb25mbGljdCIsImNyZWRlbnRpYWxfcm90YXRpb25fc3RhdGVfY29uZmxpY3QiLCJjcmVkZW50aWFsX21haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IiwiY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSJdLHlnPXZnLGJnPVsibmFtZSIsImxhc3Rfcm90YXRlZF9hdCIsImV4cGlyZXNfYXQiXSxrZz1bIm9wZXJhdGlvbl9pZCIsInN0YXRlIiwicmVxdWVzdGVkX2V4cGlyZXNfYXQiLCJjcmVhdGVkX2F0IiwidXBkYXRlZF9hdCIsImFsbG93ZWRfYWN0aW9ucyIsInJlYXNvbl9jb2RlIl0sU2c9WyJzY2hlbWFfdmVyc2lvbiIsIm9rIiwic2VydmVyX3RpbWUiLCJtZXRhZGF0YSIsIm9wZXJhdGlvbiIsImFsbG93ZWRfYWN0aW9ucyIsInJlcGxheWVkIl0sd2c9WyJ2YWx1ZSIsIm5ld192YWx1ZSIsIm1hc2tlZF92YWx1ZSIsIm9sZF92YWx1ZSIsInRva2VuIiwic2VjcmV0IiwiY29kZSIsInN0ZXBfdXAiLCJ2ZXJzaW9uIiwidmVyc2lvbl9uYW1lIiwicmVzb3VyY2VfbmFtZSIsImZpbmdlcnByaW50IiwiZGlnZXN0IiwicHJvdmlkZXIiLCJwcm92aWRlcl9yZXNwb25zZSIsInJlc3BvbnNlIiwiYm9keSIsInBheWxvYWQiXTtjbGFzcyBQZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoImludmFsaWRfY3JlZGVudGlhbF9yb3RhdGlvbl9yZXNwb25zZSIpfX1mdW5jdGlvbiBLcihjKXtpZihjPT09bnVsbHx8dHlwZW9mIGMhPSJvYmplY3QifHxBcnJheS5pc0FycmF5KGMpKXRocm93IG5ldyBQZTtyZXR1cm4gY31mdW5jdGlvbiB4ZyhjKXtmb3IoY29uc3QgciBvZiBPYmplY3Qua2V5cyhjKSlpZih3Zy5pbmNsdWRlcyhyLnRvTG93ZXJDYXNlKCkpKXRocm93IG5ldyBQZX1mdW5jdGlvbiBKcihjLHIsZD1bXSl7aWYoeGcoYyksci5zb21lKHU9PiFkLmluY2x1ZGVzKHUpJiYhT2JqZWN0Lmhhc093bihjLHUpKSl0aHJvdyBuZXcgUGU7Zm9yKGNvbnN0IHUgb2YgT2JqZWN0LmtleXMoYykpaWYoIXIuaW5jbHVkZXModSkpdGhyb3cgbmV3IFBlfWZ1bmN0aW9uIExyKGMscj01MTIpe2lmKHR5cGVvZiBjIT0ic3RyaW5nInx8Yy5sZW5ndGg9PT0wfHxjLmxlbmd0aD5yKXRocm93IG5ldyBQZTtyZXR1cm4gY31mdW5jdGlvbiBuYyhjKXtpZihjPT09bnVsbClyZXR1cm4gbnVsbDtpZih0eXBlb2YgYyE9InN0cmluZyJ8fCFoZy50ZXN0KGMpfHxOdW1iZXIuaXNOYU4oRGF0ZS5wYXJzZShjKSkpdGhyb3cgbmV3IFBlO2NvbnN0W3IsZF09Yy5zcGxpdCgiVCIpLFt1LHYseF09ci5zcGxpdCgiLSIpLm1hcChOdW1iZXIpLFtOLEQsaF09ZC5zbGljZSgwLDgpLnNwbGl0KCI6IikubWFwKE51bWJlcikseT1jLmVuZHNXaXRoKCJaIik/bnVsbDpjLnNsaWNlKC02KTtpZih1PDE5NzB8fHY8MXx8dj4xMnx8eDwxfHx4Pm5ldyBEYXRlKERhdGUuVVRDKHUsdiwwKSkuZ2V0VVRDRGF0ZSgpfHxOPjIzfHxEPjU5fHxoPjU5fHx5JiYoTnVtYmVyKHkuc2xpY2UoMSwzKSk+MjN8fE51bWJlcih5LnNsaWNlKDQpKT41OSkpdGhyb3cgbmV3IFBlO3JldHVybiBjfWZ1bmN0aW9uIGVjKGMpe2NvbnN0IHI9bmMoYyk7aWYocj09PW51bGwpdGhyb3cgbmV3IFBlO3JldHVybiByfWZ1bmN0aW9uIFRnKGMpe3RyeXtyZXR1cm4gbmMoYykhPT1udWxsfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBBZyhjKXtjb25zdCByPUtyKGMpO3JldHVybiBKcihyLGJnKSx7bmFtZTpMcihyLm5hbWUsMTI4KSxsYXN0X3JvdGF0ZWRfYXQ6bmMoci5sYXN0X3JvdGF0ZWRfYXQpLGV4cGlyZXNfYXQ6bmMoci5leHBpcmVzX2F0KX19ZnVuY3Rpb24gRWcoYyl7aWYoYz09PW51bGwpcmV0dXJuIG51bGw7Y29uc3Qgcj1LcihjKTtKcihyLGtnKTtjb25zdCBkPUxyKHIuc3RhdGUsMzIpO2lmKCFtZy5pbmNsdWRlcyhkKSl0aHJvdyBuZXcgUGU7Y29uc3QgdT1yLnJlYXNvbl9jb2RlO2lmKHUhPT1udWxsJiYodHlwZW9mIHUhPSJzdHJpbmcifHwhZ2cuaW5jbHVkZXModSkpKXRocm93IG5ldyBQZTtjb25zdCB2PXIuYWxsb3dlZF9hY3Rpb25zO2lmKCFBcnJheS5pc0FycmF5KHYpfHwhdi5ldmVyeSh4PT54PT09ImZpbmFsaXplInx8eD09PSJjYW5jZWwiKSl0aHJvdyBuZXcgUGU7aWYodHlwZW9mIHIub3BlcmF0aW9uX2lkIT0ic3RyaW5nInx8IXphLnRlc3Qoci5vcGVyYXRpb25faWQpKXRocm93IG5ldyBQZTtyZXR1cm57b3BlcmF0aW9uX2lkOkxyKHIub3BlcmF0aW9uX2lkLDEyOCksc3RhdGU6ZCxyZXF1ZXN0ZWRfZXhwaXJlc19hdDplYyhyLnJlcXVlc3RlZF9leHBpcmVzX2F0KSxjcmVhdGVkX2F0OmVjKHIuY3JlYXRlZF9hdCksdXBkYXRlZF9hdDplYyhyLnVwZGF0ZWRfYXQpLGFsbG93ZWRfYWN0aW9uczp2LHJlYXNvbl9jb2RlOnU/P251bGx9fWZ1bmN0aW9uIEVwKGMpe2NvbnN0IHI9S3IoYyk7aWYoSnIocixTZyxbInJlcGxheWVkIl0pLHIub2shPT0hMHx8ci5zY2hlbWFfdmVyc2lvbiE9PW9wKXRocm93IG5ldyBQZTtjb25zdCBkPUFycmF5LmlzQXJyYXkoci5hbGxvd2VkX2FjdGlvbnMpP3IuYWxsb3dlZF9hY3Rpb25zOm51bGw7aWYoIWR8fCFkLmV2ZXJ5KHY9PnY9PT0ic3RhZ2UiKSl0aHJvdyBuZXcgUGU7Y29uc3QgdT1yLnJlcGxheWVkO2lmKHUhPT12b2lkIDAmJnR5cGVvZiB1IT0iYm9vbGVhbiIpdGhyb3cgbmV3IFBlO3JldHVybntzY2hlbWFfdmVyc2lvbjpvcCxvazohMCxzZXJ2ZXJfdGltZTplYyhyLnNlcnZlcl90aW1lKSxtZXRhZGF0YTpBZyhyLm1ldGFkYXRhKSxvcGVyYXRpb246RWcoci5vcGVyYXRpb24pLGFsbG93ZWRfYWN0aW9uczpkLC4uLnU9PT12b2lkIDA/e306e3JlcGxheWVkOnV9fX1jb25zdCBSZz1bInJlcXVlc3RfaWRfaW52YWxpZCIsIm9wZXJhdGlvbl9pZF9pbnZhbGlkIiwiY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCIsInN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiLCJzdGVwX3VwX2NvZGVfcmVxdWlyZWQiLCJkb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCJdO2Z1bmN0aW9uIFV2KGMpe2NvbnN0IHI9YyBpbnN0YW5jZW9mIE1pP2MuY29kZTpjIGluc3RhbmNlb2YgRXJyb3I/Yy5tZXNzYWdlOm51bGw7cmV0dXJuIHI9PT1udWxsP251bGw6Wy4uLnlnLC4uLlJnXS5pbmNsdWRlcyhyKT9yOm51bGx9ZnVuY3Rpb24ganYoKXtyZXR1cm4gbWUoY2MpLnRoZW4oRXApfWZ1bmN0aW9uICRyKGMpe2lmKGMubWV0aG9kIT09InRvdHAiJiZjLm1ldGhvZCE9PSJyZWNvdmVyeSIpdGhyb3cgbmV3IEVycm9yKCJzdGVwX3VwX21ldGhvZF9pbnZhbGlkIik7aWYodHlwZW9mIGMuY29kZSE9InN0cmluZyJ8fGMuY29kZS5sZW5ndGg9PT0wfHxjLmNvZGUubGVuZ3RoPjEyOCl0aHJvdyBuZXcgRXJyb3IoInN0ZXBfdXBfY29kZV9yZXF1aXJlZCIpO3JldHVybnttZXRob2Q6Yy5tZXRob2QsY29kZTpjLmNvZGV9fWFzeW5jIGZ1bmN0aW9uIFdyKGMscixkLHUpe3RyeXtyZXR1cm4gRXAoYXdhaXQgWnIoYyxyKSl9Y2F0Y2godil7dGhyb3cgdiBpbnN0YW5jZW9mIGljfHx2IGluc3RhbmNlb2YgTWk/djpuZXcgVm0oZCx1KX19ZnVuY3Rpb24gSHYoYyl7aWYoIXphLnRlc3QoYy5yZXF1ZXN0X2lkKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJyZXF1ZXN0X2lkX2ludmFsaWQiKSk7Y29uc3Qgcj1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYy5uZXdfdmFsdWUpLmxlbmd0aDtyZXR1cm4gcjwxfHxyPjEwMjQ/UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJjcmVkZW50aWFsX3ZhbHVlX2xlbmd0aF9pbnZhbGlkIikpOlRnKGMuZXhwaXJlc19hdCk/V3IoYCR7Y2N9L3N0YWdlYCx7cmVxdWVzdF9pZDpjLnJlcXVlc3RfaWQsbmV3X3ZhbHVlOmMubmV3X3ZhbHVlLGV4cGlyZXNfYXQ6Yy5leHBpcmVzX2F0LHN0ZXBfdXA6JHIoYy5zdGVwX3VwKX0sYy5yZXF1ZXN0X2lkLG51bGwpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSIpKX1mdW5jdGlvbiBCdihjKXtyZXR1cm4gemEudGVzdChjLm9wZXJhdGlvbl9pZCk/emEudGVzdChjLnJlcXVlc3RfaWQpP1dyKGAke2NjfS9vcGVyYXRpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGMub3BlcmF0aW9uX2lkKX0vZmluYWxpemVgLHtyZXF1ZXN0X2lkOmMucmVxdWVzdF9pZCxkb3duc3RyZWFtX3ZlcmlmaWVkOiEwLHN0ZXBfdXA6JHIoYy5zdGVwX3VwKX0sYy5yZXF1ZXN0X2lkLGMub3BlcmF0aW9uX2lkKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInJlcXVlc3RfaWRfaW52YWxpZCIpKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIm9wZXJhdGlvbl9pZF9pbnZhbGlkIikpfWZ1bmN0aW9uIEx2KGMpe3JldHVybiB6YS50ZXN0KGMub3BlcmF0aW9uX2lkKT96YS50ZXN0KGMucmVxdWVzdF9pZCk/V3IoYCR7Y2N9L29wZXJhdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoYy5vcGVyYXRpb25faWQpfS9jYW5jZWxgLHtyZXF1ZXN0X2lkOmMucmVxdWVzdF9pZCxzdGVwX3VwOiRyKGMuc3RlcF91cCl9LGMucmVxdWVzdF9pZCxjLm9wZXJhdGlvbl9pZCk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJyZXF1ZXN0X2lkX2ludmFsaWQiKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJvcGVyYXRpb25faWRfaW52YWxpZCIpKX1hc3luYyBmdW5jdGlvbiB6ZyhjLHI9ZmV0Y2gpe2lmKCEvXlthLWYwLTldezY0fSQvLnRlc3QoYykpcmV0dXJuITE7Y29uc3QgZD1hd2FpdCByKCIvIix7bWV0aG9kOiJIRUFEIixjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJvbWl0In0pLHU9ZC5oZWFkZXJzLmdldCgiWC1Db25zb2xlLUJ1aWxkIik7cmV0dXJuIGQub2smJi9eW2EtZjAtOV17NjR9JC8udGVzdCh1fHwiIikmJnUhPT1jfWZ1bmN0aW9uIE5nKCl7Y29uc3QgYz1pdCgpLFtyLGRdPVUudXNlU3RhdGUoITEpO2lmKFUudXNlRWZmZWN0KCgpPT57Y29uc3Qgdj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9InFzbC1jb25zb2xlLWJ1aWxkIl0nKT8uY29udGVudHx8IiI7bGV0IHg9ITEsTj0hMSxEPTA7Y29uc3QgaD1hc3luYygpPT57aWYoIShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUhPT0idmlzaWJsZSJ8fE58fERhdGUubm93KCktRDw2ZTQpKXtOPSEwLEQ9RGF0ZS5ub3coKTt0cnl7YXdhaXQgemcodikmJiF4JiZkKCEwKX1jYXRjaHt9ZmluYWxseXtOPSExfX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpLCgpPT57eD0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpfX0sW10pLCFyKXJldHVybiBudWxsO2NvbnN0IHU9YXN5bmMoKT0+e2NvbnN0IHY9VXIoKTsoIXZ8fGF3YWl0IHYoKSkmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX07cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ1cGRhdGUtbm90aWNlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOmMoInNoZWxsLnVwZGF0ZV9hdmFpbGFibGUiKX0pLG0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pnt1KCl9LGNoaWxkcmVuOmMoInNoZWxsLnJlbG9hZCIpfSldfSl9Y29uc3Qgc3A9bmV3IE1hcCxhYz1uZXcgTWFwO2Z1bmN0aW9uIEZyKGMpe3JldHVybiBjPT09InpoIj8iemgtQ04iOiJlbi1VUyJ9ZnVuY3Rpb24gb2MoYyxyKXtjb25zdCBkPWAke2N9OiR7SlNPTi5zdHJpbmdpZnkocil9YDtsZXQgdT1zcC5nZXQoZCk7cmV0dXJuIHV8fCh1PW5ldyBJbnRsLk51bWJlckZvcm1hdChGcihjKSxyKSxzcC5zZXQoZCx1KSksdX1mdW5jdGlvbiBPZyhjLHIsZD0yKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpgJHtjPjA/IisiOmM8MD8iLSI6IiJ9JHtvYyhyLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6ZCxtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZH0pLmZvcm1hdChNYXRoLmFicyhjKSl9JWB9ZnVuY3Rpb24gWXYoYyxyKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpgJHtjPjA/IisiOmM8MD8iLSI6IiJ9JHtvYyhyLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChNYXRoLmFicyhjKSl9IHBwYH1mdW5jdGlvbiBEZyhjLHIsZCl7aWYoYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKSlyZXR1cm4i4oCUIjtjb25zdCB1PW9jKGQse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSkuZm9ybWF0KGMpO3JldHVybiByP2Ake3J9ICR7dX1gOnV9Y29uc3QgTWc9L14tPyg/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvO2Z1bmN0aW9uIENnKGMpe3JldHVybiB0eXBlb2YgYz09Im51bWJlciI/TnVtYmVyLmlzRmluaXRlKGMpP2M8MD8i4oiS4oCi4oCi4oCiIjoi4oCi4oCi4oCiIjoi4oCUIjp0eXBlb2YgYyE9InN0cmluZyJ8fCFNZy50ZXN0KGMpPyLigJQiOmMuc3RhcnRzV2l0aCgiLSIpJiYvWzEtOV0vLnRlc3QoYyk/IuKIkuKAouKAouKAoiI6IuKAouKAouKAoiJ9ZnVuY3Rpb24gR3YoYyxyKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpvYyhyLHttYXhpbXVtRnJhY3Rpb25EaWdpdHM6Nn0pLmZvcm1hdChjKX1jb25zdCBScD0vXlxkezR9LVxkezJ9LVxkezJ9JC87ZnVuY3Rpb24genAoYyxyKXtpZighYylyZXR1cm4i4oCUIjtpZihScC50ZXN0KGMpKXJldHVybiBjO2NvbnN0IGQ9RGF0ZS5wYXJzZShjKTtpZighTnVtYmVyLmlzRmluaXRlKGQpKXJldHVybiLigJQiO2NvbnN0IHU9YCR7cn06ZGF0ZWA7bGV0IHY9YWMuZ2V0KHUpO3JldHVybiB2fHwodj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChGcihyKSx7eWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCJ9KSxhYy5zZXQodSx2KSksdi5mb3JtYXQobmV3IERhdGUoZCkpfWZ1bmN0aW9uIE5wKGMscixkPSExKXtpZighYylyZXR1cm57dGV4dDoi4oCUIix6b25lOiIifTtjb25zdCB1PURhdGUucGFyc2UoYyk7aWYoIU51bWJlci5pc0Zpbml0ZSh1KSlyZXR1cm57dGV4dDoi4oCUIix6b25lOiIifTtpZihScC50ZXN0KGMpKXJldHVybnt0ZXh0OnpwKGMsciksem9uZToiIn07Y29uc3Qgdj1uZXcgRGF0ZSh1KSx4PWAke3J9OmRhdGV0aW1lOiR7ZH1gO2xldCBOPWFjLmdldCh4KTtOfHwoTj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChGcihyKSx7eWVhcjpkPyJudW1lcmljIjp2b2lkIDAsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmVOYW1lOiJzaG9ydE9mZnNldCJ9KSxhYy5zZXQoeCxOKSk7Y29uc3QgRD1OLmZvcm1hdFRvUGFydHModiksaD1ELmZpbmQoTz0+Ty50eXBlPT09InRpbWVab25lTmFtZSIpPy52YWx1ZXx8IiI7cmV0dXJue3RleHQ6RC5maWx0ZXIoTz0+Ty50eXBlIT09InRpbWVab25lTmFtZSIpLm1hcChPPT5PLnZhbHVlKS5qb2luKCIiKS50cmltKCksem9uZTpofX1mdW5jdGlvbiBRdihjLHIpe2lmKCFjKXJldHVybiBudWxsO2NvbnN0IGQ9RGF0ZS5wYXJzZShjKTtpZighTnVtYmVyLmlzRmluaXRlKGQpKXJldHVybiBudWxsO2NvbnN0IHU9TWF0aC5tYXgoMCxNYXRoLnJvdW5kKChEYXRlLm5vdygpLWQpLzFlMykpO2lmKHU8NjApcmV0dXJuIHI9PT0iemgiPyLliJrliJoiOiJqdXN0IG5vdyI7Y29uc3Qgdj1NYXRoLmZsb29yKHUvNjApO2lmKHY8NjApcmV0dXJuIHI9PT0iemgiP2Ake3Z9IOWIhumSn+WJjWA6YCR7dn1tIGFnb2A7Y29uc3QgeD1NYXRoLmZsb29yKHYvNjApO2lmKHg8NDgpcmV0dXJuIHI9PT0iemgiP2Ake3h9IOWwj+aXtuWJjWA6YCR7eH1oIGFnb2A7Y29uc3QgTj1NYXRoLmZsb29yKHgvMjQpO3JldHVybiByPT09InpoIj9gJHtOfSDlpKnliY1gOmAke059ZCBhZ29gfWNvbnN0IERyPXthY2NvdW50X2FsaWFzZXM6e2hrOntlbjoiSEsiLHpoOiLpppnmuK8ifSxsaXZlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LHBhcGVyOntlbjoicGFwZXIiLHpoOiLmqKHmi58ifSxzZzp7ZW46IlNHIix6aDoi5paw5Yqg5Z2hIn0sc294bDp7ZW46IlNPWEwiLHpoOiJTT1hMIn0sdHFxcTp7ZW46IlRRUVEiLHpoOiJUUVFRIn19LGFjY291bnRzOntiaW5hbmNlOntCaW5hbmNlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LGJpbmFuY2U6e2VuOiJsaXZlIix6aDoi5a6e55uYIn0sY3J5cHRvX2NvbWJvOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LGRlZmF1bHQ6e2VuOiJsaXZlIix6aDoi5a6e55uYIn19fSxkb21haW5zOntjbl9lcXVpdHk6e2VuOiJDTiBBLXNoYXJlIix6aDoiQeiCoSJ9LGNyeXB0bzp7ZW46IkNyeXB0byIsemg6IuWKoOWvhiJ9LGhrX2VxdWl0eTp7ZW46IkhLIEVxdWl0eSIsemg6Iua4r+iCoSJ9LHVzX2VxdWl0eTp7ZW46IlVTIEVxdWl0eSIsemg6Iue+juiCoSJ9fSxsYW5lczp7ZHJ5X3J1bjp7ZW46ImRyeSBydW4iLHpoOiLmvJTnu4MifSxsaXZlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LHBhcGVyOntlbjoicGFwZXIiLHpoOiLmqKHmi58ifSxyZXNlYXJjaDp7ZW46InJlc2VhcmNoIix6aDoi56CU56m2In0sc2hhZG93Ontlbjoic2hhZG93Iix6aDoi5b2x5a2QIn19LHBsYXRmb3Jtczp7YmluYW5jZToiQmluYW5jZSIsZmlyc3RyYWRlOiJGaXJzdHJhZGUiLGlia3I6IklCS1IiLGxvbmdicmlkZ2U6IkxvbmdCcmlkZ2UiLHFtdDoiUU1UIixzY2h3YWI6IlNjaHdhYiJ9LHNlbmRlcnM6e3F1YW50X3NlbnRpbmVsOntlbjoiUXVhbnRTZW50aW5lbCIsemg6IumHj+WMluWTqOWFtSJ9fSxzdHJhdGVnaWVzOntjbl9jaGluZXh0X2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5OntlbjoiQ04gQ2hpTmV4dCBHcm93dGggTW9tZW50dW0gUXVhbGl0eSIsemg6IuWIm+S4muadv+aIkOmVv+WKqOmHj+i0qOmHjyJ9LGNuX2NoaW5leHRfZ3Jvd3RoX21vbWVudHVtX3F1YWxpdHlfc25hcHNob3Q6e2VuOiJDTiBDaGlOZXh0IEdyb3d0aCBRdWFsaXR5IFNuYXBzaG90Iix6aDoi5Yib5Lia5p2/5oiQ6ZW/6LSo6YeP5b+r54WnIn0sY25fY2hpbmV4dF90YWN0aWNhbF9yb3RhdGlvbjp7ZW46IkNOIENoaU5leHQgVGFjdGljYWwgUm90YXRpb24iLHpoOiLliJvkuJrmnb/miJjmnK/ova7liqgifSxjbl9jc2k1MDBfbXVsdGlfZmFjdG9yX3NuYXBzaG90OntlbjoiQ04gQ1NJIDUwMCBNdWx0aS1GYWN0b3IgU25hcHNob3QiLHpoOiJB6IKh5Lit6K+BNTAw5aSa5Zug5a2QIn0sY25fZGl2aWRlbmRfcXVhbGl0eV9zbmFwc2hvdDp7ZW46IkNOIERpdmlkZW5kIFF1YWxpdHkiLHpoOiJB6IKh57qi5Yip6LSo6YePIn0sY25fZXF1aXR5X2NvbWJvOntlbjoiQ04gQWxwaGEgQ29tYm8iLHpoOiJB6IKh6L+b5Y+W57uE5ZCIIn0sY25faW5kZXhfZXRmX3RhY3RpY2FsX3JvdGF0aW9uOntlbjoiQ04gSW5kZXggRVRGIFRhY3RpY2FsIFJvdGF0aW9uIix6aDoiQeiCoeWuveWfukVURuaImOacr+i9ruWKqCJ9LGNuX2luZHVzdHJ5X2V0Zl9yb3RhdGlvbjp7ZW46IkNOIEluZHVzdHJ5IEVURiBSb3RhdGlvbiIsemg6IkHogqHooYzkuJpFVEbova7liqgifSxjbl9pbmR1c3RyeV9ldGZfcm90YXRpb25fYWdncmVzc2l2ZTp7ZW46IkNOIEVURiBSb3RhdGlvbiIsemg6IkHogqFFVEbova7liqgifSxjbl9zdGFyX2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5OntlbjoiQ04gU1RBUiBHcm93dGggTW9tZW50dW0gUXVhbGl0eSIsemg6IuenkeWIm+adv+aIkOmVv+WKqOmHj+i0qOmHjyJ9LGNuX3N0b2NrX21vbWVudHVtX3JvdGF0aW9uOntlbjoiQ04gU3RvY2sgTW9tZW50dW0gUm90YXRpb24iLHpoOiJB6IKh6IKh56Wo5Yqo6YeP6L2u5YqoIn0sY3J5cHRvX2J0Y19kY2E6e2VuOiJCVEMgRENBIix6aDoiQlRD5a6a5oqVIn0sY3J5cHRvX2VxdWl0eV9jb21ibzp7ZW46IkNyeXB0byBDb3JlIENvbWJvIix6aDoi5Yqg5a+G5Yqo6YeP57uE5ZCIIn0sY3J5cHRvX2xlYWRlcl9yb3RhdGlvbjp7ZW46IkNyeXB0byBMZWFkZXIgUm90YXRpb24iLHpoOiLliqDlr4bpoobmtqjova7liqgifSxjcnlwdG9fbGl2ZV9wb29sX3JvdGF0aW9uOntlbjoiQ3J5cHRvIFBvb2wgUm90YXRpb24iLHpoOiLliqDlr4bmsaDova7liqgifSxjcnlwdG9fdHJlbmRfcm90YXRpb246e2VuOiJBbHRjb2luIFRyZW5kIix6aDoi5bGx5a+o6LaL5Yq/6L2u5YqoIn0sZ2xvYmFsX2V0Zl9jb25maWRlbmNlX3ZvbF9nYXRlOntlbjoiR2xvYmFsIEVURiBDb25maWRlbmNlIFZvbCBHYXRlIix6aDoi5YWo55CDIEVURiDnva7kv6Hms6Lliqjpl6jmjqcifSxnbG9iYWxfZXRmX3JvdGF0aW9uOntlbjoiR2xvYmFsIEVURiBSb3RhdGlvbiIsemg6IuWFqOeQg0VURui9ruWKqCJ9LGhrX2VxdWl0eV9jb21ibzp7ZW46IkhLIENvcmUgQ29tYm8iLHpoOiLmuK/ogqHmgZLnlJ/nu4TlkIgifSxoa19nbG9iYWxfZXRmX3RhY3RpY2FsX3JvdGF0aW9uOntlbjoiSEsgRVRGIFRhY3RpY2FsIFJvdGF0aW9uIix6aDoi5riv6IKhRVRG5oiY5pyv6L2u5YqoIn0saGtfbG93X3ZvbF9kaXZpZGVuZF9xdWFsaXR5X3NuYXBzaG90OntlbjoiSEsgRGl2aWRlbmQgUXVhbGl0eSIsemg6Iua4r+iCoee6ouWIqei0qOmHjyJ9LGliaXRfc21hcnRfZGNhOntlbjoiSUJJVCBCaXRjb2luIERDQSIsemg6IklCSVTmr5TnibnluIHlrprmipUifSxuYXNkYXFfc3A1MDBfc21hcnRfZGNhOntlbjoiTkFTREFRL1MmUCA1MDAgRENBIix6aDoi57qz5oyH5qCH5pmu5a6a5oqVIn0scXFxX3RlY2hfZW5oYW5jZW1lbnQ6e2VuOiJUZWNoL0NvbW11bmljYXRpb24gUHVsbGJhY2sgRW5oYW5jZW1lbnQiLHpoOiLnp5HmioDpgJrkv6Hlm57osIPlop7lvLoifSxydXNzZWxsX3RvcDUwX2xlYWRlcl9yb3RhdGlvbjp7ZW46IlJ1c3NlbGwgVG9wNTAgTGVhZGVycyIsemg6Iue9l+e0oFRvcDUw6aKG5raoIn0sc294bF9zb3h4X2NvcmVfb25seV9wMl92N19sb25ndGVybV9jb21wb3VuZGluZ19jYXNoX3Jlc2VydmU6e2VuOiJTT1hML1NPWFggQ29yZSBDb21wb3VuZGluZyAoQ2FzaCBSZXNlcnZlKSIsemg6IlNPWEwvU09YWCDmoLjlv4PlpI3liKnvvIjnjrDph5Hkv53nlZnvvIkifSxzb3hsX3NveHhfdHJlbmRfaW5jb21lOntlbjoiU2VtaWNvbmR1Y3RvciBUcmVuZCBJbmNvbWUiLHpoOiLljYrlr7zkvZPotovlir/mlLbnm4oifSx0ZWNoX2NvbW11bmljYXRpb25fcHVsbGJhY2tfZW5oYW5jZW1lbnQ6e2VuOiJUZWNoL0NvbW11bmljYXRpb24gUHVsbGJhY2sgRW5oYW5jZW1lbnQiLHpoOiLnp5HmioDpgJrkv6Hlm57osIPlop7lvLoifSx0ZWNsX3hsa190cmVuZF9pbmNvbWU6e2VuOiJURUNML1hMSyBUcmVuZCBJbmNvbWUiLHpoOiJURUNML1hMS+i2i+WKv+aUtuebiiJ9LHRxcXFfZ3Jvd3RoX2luY29tZTp7ZW46Ik5BU0RBUSBHcm93dGggSW5jb21lIix6aDoi57qz5pav6L6+5YWL5aKe6ZW/5pS255uKIn0sdXNfZXF1aXR5X2NvbWJvOntlbjoiVVMgQ29yZSBJbmNvbWUgQ29tYm8iLHpoOiLnvo7ogqHmoLjlv4PmlLbnm4rnu4TlkIgifSx1c19lcXVpdHlfY29tYm9fY29yZTp7ZW46IlVTIENvcmUgQ29tYm8iLHpoOiLnvo7ogqHmoLjlv4Pnu4TlkIgifSx1c19lcXVpdHlfY29tYm9fbGV2ZXJhZ2VkOntlbjoiVVMgQWxwaGEgQ29tYm8iLHpoOiLnvo7ogqHliqDpgJ/nu4TlkIgifX0sc3RyYXRlZ3lfYWxpYXNlczp7Yml0Y29pbl9ldGZfc21hcnRfZGNhOiJpYml0X3NtYXJ0X2RjYSIsZ2xvYmFsX2V0Zl9jb25maWRlbmNlX3ZvbF9nYXRlOiJnbG9iYWxfZXRmX3JvdGF0aW9uIixnbG9iYWxfbWFjcm9fZXRmX3JvdGF0aW9uOiJnbG9iYWxfZXRmX3JvdGF0aW9uIn19LHFnPXtCQVNFX1VSTDoiL3YyLyIsREVWOiExLE1PREU6InByb2R1Y3Rpb24iLFBST0Q6ITAsU1NSOiExfTtsZXQgT3A9e307dHJ5e2NvbnN0IGM9SlNPTi5wYXJzZShxZz8uVklURV9RU0xfRElTUExBWV9OQU1FU19KU09OfHwie30iKTtjJiZ0eXBlb2YgYz09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGMpJiYoT3A9Yyl9Y2F0Y2h7fWZ1bmN0aW9uIFByKGMscixkPSJlbiIsdT0iIix2PSIiLHg9T3Ape2NvbnN0IE49eC5zdHJhdGVneV9hbGlhc2VzPy5bcl18fERyLnN0cmF0ZWd5X2FsaWFzZXM/LltyXXx8cjtmb3IoY29uc3QgRCBvZlt4LERyXSl7Y29uc3QgaD1jPT09ImFjY291bnRzIj9EW2NdPy5bU3RyaW5nKHYpLnRvTG93ZXJDYXNlKCldOkRbY10sTz1oPy5bRD09PURyJiZjPT09InN0cmF0ZWdpZXMiP046cl0/PyhjPT09InN0cmF0ZWdpZXMiP2g/LltOXTpudWxsKSxCPXR5cGVvZiBPPT0ib2JqZWN0IiYmTz9PW1N0cmluZyhkKS5zdGFydHNXaXRoKCJ6aCIpPyJ6aCI6ImVuIl18fE8uZW46TztpZih0eXBlb2YgQj09InN0cmluZyImJkIudHJpbSgpKXJldHVybiBCLnRyaW0oKX1yZXR1cm4gdXx8cnx8IiJ9ZnVuY3Rpb24gVWcoYyxyLGQ9IiIpe3JldHVybiBQcigic3RyYXRlZ2llcyIsYyxyLGR8fChyLnN0YXJ0c1dpdGgoInpoIik/IuacquWRveWQjeetlueVpSI6IlVubmFtZWQgc3RyYXRlZ3kiKSl9ZnVuY3Rpb24gamcoYyxyKXtyZXR1cm4gUHIoImxhbmVzIixjLHIsci5zdGFydHNXaXRoKCJ6aCIpPyLmnKrnn6UiOiJVbmtub3duIil9ZnVuY3Rpb24gSGcoYyxyKXtyZXR1cm4gUHIoImRvbWFpbnMiLGMscixyLnN0YXJ0c1dpdGgoInpoIik/IuacquefpeW4guWcuiI6IlVua25vd24gbWFya2V0Iil9ZnVuY3Rpb24gQmcoYyl7Y29uc3Qgcj1VLnVzZUNvbnRleHQodnApLGQ9R24oKSx1PWl0KCksdj1jPT09dm9pZCAwP3I6YztyZXR1cm57Y29uZmlnOnYsYWNjb3VudDooeCxOKT0+e2lmKCF4KXJldHVybiB1KCJjb21tb24uYWNjb3VudCIpO2NvbnN0IEQ9Tj9UcCh2LE4seCk6dm9pZCAwO2Zvcihjb25zdCBPIG9mW0Q/LmxhYmVsLEQ/LmtleSxEPy50YXJnZXRfbmFtZV0pe2NvbnN0IEI9dXAoTyk7aWYoQilyZXR1cm4gQn1jb25zdCBoPXVwKHgpO2lmKGgpcmV0dXJuIGg7Y29uc3QgeT1EPy5hY2NvdW50X3NlbGVjdG9yPy50cmltKCk7Zm9yKGNvbnN0IE8gb2ZbeSx4XSlpZihPJiYvXig/OkQ/VVxkezUsMTZ9fCg/OkFjY291bnQgKT9cZFtcZCAuLV17NCwyNH1cZCkkL2kudGVzdChPKSlyZXR1cm4iKioqIitPLnNsaWNlKC0yKTtyZXR1cm4gdSgiY29tbW9uLmFjY291bnQiKX0sc3RyYXRlZ3k6eD0+e2NvbnN0IE49dj8uc3RyYXRlZ3lQcm9maWxlcz8uZmluZChEPT5ELnByb2ZpbGU9PT14KTtyZXR1cm4gVWcoeCxkLGQ9PT0iemgiP04/LmxhYmVsX3poOk4/LmxhYmVsX2VuKX0sY3VycmVudFN0cmF0ZWd5Ong9PnY/LmN1cnJlbnRTdHJhdGVnaWVzPy5beC5wbGF0Zm9ybV0/Llt4LmFjY291bnRfYWxpYXNdPy5zdHJhdGVneV9wcm9maWxlLHBsYXRmb3JtOng9PkxnKHY/LnBsYXRmb3JtTWV0YT8uW3hdPy5sYWJlbCx4KSxsYW5lOng9PmpnKHgsZCksZG9tYWluOng9PkhnKHgsZCl9fWZ1bmN0aW9uIExnKGMscil7cmV0dXJuIGN8fHJ9ZnVuY3Rpb24gdXAoYyl7aWYodHlwZW9mIGMhPSJzdHJpbmcifHwvW1xwe0NjfVxwe0NmfVxwe0NzfVxwe1psfVxwe1pwfV0vdS50ZXN0KGMpKXJldHVybiIiO2NvbnN0IHI9Yy50cmltKCk7cmV0dXJuIXJ8fHIubGVuZ3RoPjcwfHxyLmluY2x1ZGVzKCI6Ly8iKXx8L0Q/VVxkezUsfXxcZCg/Oltccy4tXSpcZCl7NCx9fF5bMC05YS1mLV17MTIsfSQvaS50ZXN0KHIpPyIiOnJ9ZnVuY3Rpb24gWWcoe29uUmV0cnk6Y30pe2NvbnN0IHI9aXQoKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLWVycm9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLHN0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjZweCAxMHB4In0sY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzY29wZS1wYW5lbC10ZXh0IixjaGlsZHJlbjpyKCJzaGVsbC5zY29wZV9tZXRhX2Vycm9yIil9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpjLGNoaWxkcmVuOnIoImNvbW1vbi5yZXRyeSIpfSldfSl9ZnVuY3Rpb24gR2coKXtjb25zdCBjPWl0KCkscj1CZygpLHtzY29wZTpkLG9wdGlvbnM6dSxzZXRTY29wZTp2LHN0YXR1czp4LG1ldGFTdGF0dXM6TixyZXRyeTpEfT1CbSgpLFtoLHldPVUudXNlU3RhdGUoITEpLE89VS51c2VSZWYobnVsbCksQj1VLnVzZVJlZihudWxsKSxaPVUudXNlUmVmKG51bGwpLF9lPVUudXNlUmVmKCExKSxjZT1VLnVzZVJlZihudWxsKSx2ZT1jKCJzaGVsbC5zY29wZV9lcnJvciIpLHdlPWMoInNoZWxsLnNjb3BlX2xvYWRpbmciKSxLZT1KPT57Y2UuY3VycmVudD1KLHkoITEpfTtVLnVzZUVmZmVjdCgoKT0+e2g/Wi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yKCIuc2NvcGUtb3B0aW9uLCAuc2NvcGUtcGFuZWwgYnV0dG9uIik/LmZvY3VzKCk6X2UuY3VycmVudCYmY2UuY3VycmVudCE9PSJvdXRzaWRlIiYmQi5jdXJyZW50Py5mb2N1cygpLGh8fChjZS5jdXJyZW50PW51bGwpLF9lLmN1cnJlbnQ9aH0sW2hdKSxVLnVzZUVmZmVjdCgoKT0+e2lmKCFoKXJldHVybjtjb25zdCBKPWJlPT57Ty5jdXJyZW50Py5jb250YWlucyhiZS50YXJnZXQpfHxLZSgib3V0c2lkZSIpfSx5ZT1iZT0+e2JlLmtleT09PSJFc2NhcGUiJiZLZSgiZXNjYXBlIil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIseWUpLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEopLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHllKX19LFtoXSk7Y29uc3QgT2U9Wm0odS5tYXAoSj0+KHsuLi5KLGFjY291bnRfYWxpYXM6Si5hbGlhc30pKSxkKSxvZT1kPT09ImFsbCI/Yygic2hlbGwuc2NvcGVfYWxsIik6T2U/YCR7ci5wbGF0Zm9ybShPZS5wbGF0Zm9ybSl9IMK3ICR7ci5hY2NvdW50KE9lLmFsaWFzLE9lLnBsYXRmb3JtKX1gOmMoImNvbW1vbi51bmtub3duIiksamU9Wy4uLm5ldyBTZXQodS5tYXAoSj0+Si5wbGF0Zm9ybSkpXSxXPUo9Pm0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNjb3BlLW9wdGlvbiR7ZD09PUhyKHtwbGF0Zm9ybTpKLnBsYXRmb3JtLGFjY291bnRfYWxpYXM6Si5hbGlhc30pPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9Pnt2KEhyKHtwbGF0Zm9ybTpKLnBsYXRmb3JtLGFjY291bnRfYWxpYXM6Si5hbGlhc30pKSxLZSgic2VsZWN0Iil9LGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NsYXNzTmFtZToic2NvcGUtb3B0aW9uLWxhYmVsIixjaGlsZHJlbjpyLmFjY291bnQoSi5hbGlhcyxKLnBsYXRmb3JtKX0pLEoucGFwZXI9PT0hMCYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImJhZGdlIGJhZGdlLWFjY2VudCIsY2hpbGRyZW46YygiY29tbW9uLnBhcGVyX2JhZGdlIil9KV19LGAke0oucGxhdGZvcm19OiR7Si5hbGlhc31gKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLXN3aXRjaGVyIixyZWY6TyxjaGlsZHJlbjpbbS5qc3goImJ1dHRvbiIse3JlZjpCLHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20gc2NvcGUtdHJpZ2dlciIsImFyaWEtaGFzcG9wdXAiOiJsaXN0Ym94IiwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1sYWJlbCI6Yygic2hlbGwuc2NvcGUiKSxvbkNsaWNrOigpPT55KEo9PiFKKSxjaGlsZHJlbjptLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InNjb3BlLXRyaWdnZXItbGFiZWwiLGNoaWxkcmVuOlt4PT09ImVycm9yIj92ZTpvZSwiIOKWviJdfSl9KSxoJiZtLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2NvcGUtcGFuZWwiLHJlZjpaLHJvbGU6Imxpc3Rib3giLCJhcmlhLWxhYmVsIjpjKCJzaGVsbC5zY29wZSIpLGNoaWxkcmVuOlt4IT09InJlYWR5IiYmbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLWVycm9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLHN0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjZweCAxMHB4In0sY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzY29wZS1wYW5lbC10ZXh0IixjaGlsZHJlbjp4PT09ImVycm9yIj92ZTp3ZX0pLHg9PT0iZXJyb3IiJiZtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpELGNoaWxkcmVuOmMoImNvbW1vbi5yZXRyeSIpfSldfSkseD09PSJyZWFkeSImJk49PT0iZXJyb3IiJiZtLmpzeChZZyx7b25SZXRyeTpEfSksbS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzY29wZS1vcHRpb24ke2Q9PT0iYWxsIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT57digiYWxsIiksS2UoInNlbGVjdCIpfSxjaGlsZHJlbjpjKCJzaGVsbC5zY29wZV9hbGwiKX0pLGplLm1hcChKPT5tLmpzeHMoImRpdiIse2NoaWxkcmVuOlttLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzY29wZS1ncm91cCIsY2hpbGRyZW46ci5wbGF0Zm9ybShKKX0pLHUuZmlsdGVyKHllPT55ZS5wbGF0Zm9ybT09PUopLm1hcChXKV19LEopKV19KV19KX1jb25zdCBEcD1bIjFNIiwiM00iLCJZVEQiLCIxWSIsIkFMTCJdO2Z1bmN0aW9uIFh2KHt2YWx1ZTpjLG9uQ2hhbmdlOnIscmV0dXJuczpkfSl7Y29uc3QgdT1pdCgpLHY9ZD8uW2NdPz9udWxsO3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dSgicGVyZi5yYW5nZS5sYWJlbCIpLGNoaWxkcmVuOkRwLm1hcCh4PT5tLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHt4PT09Yz8iIGFjdGl2ZSI6IiJ9YCwiYXJpYS1wcmVzc2VkIjp4PT09YyxvbkNsaWNrOigpPT5yKHgpLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnUoYHBlcmYucmFuZ2UuJHt4fWApfSkseD09PWMmJnYmJm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzZWdtZW50LXN1YiIsY2hpbGRyZW46dn0pXX0seCkpfSl9ZnVuY3Rpb24gUWcoe29uQ2xvc2U6Y30pe2NvbnN0IHI9aXQoKSx7cHJlZnM6ZCxzZXRQcmVmczp1LHBlcnNpc3RGYWlsZWQ6dn09R3IoKSx4PVUudXNlUmVmKG51bGwpO1UudXNlRWZmZWN0KCgpPT57Y29uc3QgaD1kb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDpudWxsLHk9aD8uY2xvc2VzdCgiZGV0YWlscyIpLE89eSYmIXkub3Blbj95LnF1ZXJ5U2VsZWN0b3IoInN1bW1hcnkiKTpoO3JldHVybiB4LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpPy5mb2N1cygpLCgpPT57TyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZPLmlzQ29ubmVjdGVkJiZPLmZvY3VzKCl9fSxbXSk7Y29uc3QgTj1oPT57aWYoaC5rZXk9PT0iRXNjYXBlIil7aC5wcmV2ZW50RGVmYXVsdCgpLGMoKTtyZXR1cm59aWYoaC5rZXkhPT0iVGFiIilyZXR1cm47Y29uc3QgeT14LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKSwgaW5wdXQ6bm90KDpkaXNhYmxlZCksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKTtpZigheT8ubGVuZ3RoKXJldHVybjtjb25zdCBPPXlbMF0sQj15W3kubGVuZ3RoLTFdO2guc2hpZnRLZXkmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1PPyhoLnByZXZlbnREZWZhdWx0KCksQi5mb2N1cygpKTohaC5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PUImJihoLnByZXZlbnREZWZhdWx0KCksTy5mb2N1cygpKX0sRD0oaCx5KT0+dSh7Li4uZCxbaF06eX0pO3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkaWFsb2ctYmFja2Ryb3AiLG9uTW91c2VEb3duOmg9PmgudGFyZ2V0PT09aC5jdXJyZW50VGFyZ2V0JiZjKCksY2hpbGRyZW46bS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZyIscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6InRydWUiLCJhcmlhLWxhYmVsbGVkYnkiOiJwcmVmcy10aXRsZSIscmVmOngsb25LZXlEb3duOk4sY2hpbGRyZW46W20uanN4KCJoMiIse2lkOiJwcmVmcy10aXRsZSIsY2hpbGRyZW46cigicHJlZnMudGl0bGUiKX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1ncmlkIixjaGlsZHJlbjpbbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMudGhlbWUiKX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpyKCJwcmVmcy50aGVtZSIpLGNoaWxkcmVuOlsibGlnaHQiLCJkYXJrIiwic3lzdGVtIl0ubWFwKGg9Pm0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7ZC50aGVtZT09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgidGhlbWUiLGgpLGNoaWxkcmVuOnIoYHByZWZzLnRoZW1lXyR7aH1gKX0saCkpfSldfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMubGFuZ3VhZ2UiKX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpyKCJwcmVmcy5sYW5ndWFnZSIpLGNoaWxkcmVuOlsiemgiLCJlbiJdLm1hcChoPT5tLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2QubGFuZ3VhZ2U9PT1oPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9PkQoImxhbmd1YWdlIixoKSxjaGlsZHJlbjpoPT09InpoIj8i5Lit5paHIjoiRW5nbGlzaCJ9LGgpKX0pXX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1yb3ciLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoInByZWZzLnVwZG93biIpfSksbS5qc3goImRpdiIse2NsYXNzTmFtZToic2VnbWVudGVkIixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOnIoInByZWZzLnVwZG93biIpLGNoaWxkcmVuOlsiZ3JlZW4tdXAiLCJyZWQtdXAiXS5tYXAoaD0+bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtkLnVwRG93bj09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgidXBEb3duIixoKSxjaGlsZHJlbjpyKGg9PT0iZ3JlZW4tdXAiPyJwcmVmcy51cGRvd25fZ3JlZW5fdXAiOiJwcmVmcy51cGRvd25fcmVkX3VwIil9LGgpKX0pXX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1yb3ciLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoInByZWZzLmhpZGVfYW1vdW50cyIpfSksbS5qc3goImlucHV0Iix7dHlwZToiY2hlY2tib3giLGNoZWNrZWQ6ZC5oaWRlQW1vdW50cyxvbkNoYW5nZTpoPT5EKCJoaWRlQW1vdW50cyIsaC50YXJnZXQuY2hlY2tlZCksImFyaWEtbGFiZWwiOnIoInByZWZzLmhpZGVfYW1vdW50cyIpfSldfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMuZGVmYXVsdF9yYW5nZSIpfSksbS5qc3goImRpdiIse2NsYXNzTmFtZToic2VnbWVudGVkIixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOnIoInByZWZzLmRlZmF1bHRfcmFuZ2UiKSxjaGlsZHJlbjpEcC5tYXAoaD0+bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtkLmRlZmF1bHRSYW5nZT09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgiZGVmYXVsdFJhbmdlIixoKSxjaGlsZHJlbjpyKGBwZXJmLnJhbmdlLiR7aH1gKX0saCkpfSldfSldfSksbS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cigicHJlZnMubm90ZSIpfSksdiYmbS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpyKCJwcmVmcy5zYXZlX2Vycm9yIil9KSxtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkaWFsb2ctYWN0aW9ucyIsY2hpbGRyZW46bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLG9uQ2xpY2s6YyxjaGlsZHJlbjpyKCJjb21tb24uY2xvc2UiKX0pfSldfSl9KX1jb25zdCBNcj1be2lkOiJvdmVydmlldyIsbGFiZWxLZXk6Im5hdi5vdmVydmlldyIsaWNvbjoiTTMgMTIgTDEyIDQgTDIxIDEyIE02IDEwIFYyMCBIMTggVjEwIn0se2lkOiJkZWNpc2lvbnMiLGxhYmVsS2V5OiJuYXYuZGVjaXNpb25zIixpY29uOiJNNCA2IEgyMCBNNCAxMiBIMjAgTTQgMTggSDE0In0se2lkOiJzdHJhdGVnaWVzIixsYWJlbEtleToibmF2LnN0cmF0ZWdpZXMiLGljb246Ik01IDUgSDE5IFYxOSBINSBaIE01IDEwIEgxOSBNMTAgMTAgVjE5In0se2lkOiJhY2NvdW50cyIsbGFiZWxLZXk6Im5hdi5hY2NvdW50cyIsaWNvbjoiTTEyIDEyIG0tNCAwIGE0IDQgMCAxIDAgOCAwIGE0IDQgMCAxIDAgLTggMCBNNCAyMCBjMC00IDQtNiA4LTYgczggMiA4IDYifSx7aWQ6InBlcmZvcm1hbmNlIixsYWJlbEtleToibmF2LnBlcmZvcm1hbmNlIixpY29uOiJNNCAxOCBMMTAgMTAgTDE0IDEzIEwyMCA1In0se2lkOiJoZWFsdGgiLGxhYmVsS2V5OiJuYXYuaGVhbHRoIixpY29uOiJNMyAxMiBINyBMMTAgNSBMMTQgMTkgTDE3IDEyIEgyMSJ9XSxYZz1bIm92ZXJ2aWV3IiwiZGVjaXNpb25zIl0sZHA9WyJzdHJhdGVnaWVzIiwiYWNjb3VudHMiLCJwZXJmb3JtYW5jZSIsImhlYWx0aCJdO2Z1bmN0aW9uIENyKHtwYXRoOmN9KXtyZXR1cm4gbS5qc3goInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuOCIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46bS5qc3goInBhdGgiLHtkOmN9KX0pfWZ1bmN0aW9uIFpnKHtwYWdlOmMsdG9kb0NvdW50OnIsdG9kb1N0YXR1czpkPSJvayIsc3ludGhldGljOnUsbG9naW46dix1cGRhdGVkQXQ6eCxvbkxvZ291dDpOLGNoaWxkcmVuOkR9KXtjb25zdCBoPWl0KCkseT1HbigpLE89TG0oKSx7cHJlZnM6QixzZXRQcmVmczpaLHJlc29sdmVkVGhlbWU6X2V9PUdyKCksY2U9X2U9PT0iZGFyayIsW3ZlLHdlXT1VLnVzZVN0YXRlKCExKSxbS2UsT2VdPVUudXNlU3RhdGUoITEpLG9lPVUudXNlUmVmKG51bGwpLGplPVUudXNlUmVmKG51bGwpLFc9VS51c2VSZWYoITEpO1UudXNlRWZmZWN0KCgpPT57b2UuY3VycmVudCYmKG9lLmN1cnJlbnQub3Blbj0hMSksd2UoITEpfSxbY10pLFUudXNlRWZmZWN0KCgpPT57Vy5jdXJyZW50JiYhdmUmJmplLmN1cnJlbnQ/LmZvY3VzKCksVy5jdXJyZW50PXZlfSxbdmVdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGxlPVRlPT57Y29uc3QgbHQ9b2UuY3VycmVudDtsdD8ub3BlbiYmIWx0LmNvbnRhaW5zKFRlLnRhcmdldCkmJihsdC5vcGVuPSExKX0sUmU9VGU9PntUZS5rZXk9PT0iRXNjYXBlIiYmKG9lLmN1cnJlbnQmJihvZS5jdXJyZW50Lm9wZW49ITEpLHdlKCExKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsbGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLFJlKSwoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixsZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUmUpfX0sW10pO2NvbnN0IEo9ciE9PW51bGwmJnI+MD9tLmpzeCgic3BhbiIse2NsYXNzTmFtZToibmF2LWJhZGdlIixjaGlsZHJlbjpyfSk6bnVsbCx5ZT1kPT09InJlYWRfZmFpbGVkIixiZT14P05wKHgseSk6bnVsbCxIZT0obGUsUmU9IiIpPT5tLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmAke1JlfSR7Yz09PWxlLmlkPyIgYWN0aXZlIjoiIn1gLCJhcmlhLWxhYmVsIjpsZS5pZD09PSJkZWNpc2lvbnMiJiZ5ZT9gJHtoKGxlLmxhYmVsS2V5KX0gwrcgJHtoKCJuYXYudG9kb191bmF2YWlsYWJsZSIpfWA6aChsZS5sYWJlbEtleSksImFyaWEtY3VycmVudCI6Yz09PWxlLmlkPyJwYWdlIjp2b2lkIDAsb25DbGljazooKT0+Tyh7cGFnZTpsZS5pZCxhY2NvdW50Om51bGwsdGFiOm51bGwsZGVjaXNpb246bnVsbH0pLGNoaWxkcmVuOlttLmpzeChDcix7cGF0aDpsZS5pY29ufSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6UmU9PT0idG9wbmF2LWl0ZW0iPyJ0b3BuYXYtbGFiZWwiOiJuYXYtdGV4dCIsY2hpbGRyZW46aChsZS5sYWJlbEtleSl9KSxsZS5pZD09PSJkZWNpc2lvbnMiJiYoSnx8eWUmJm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJuYXYtYmFkZ2UgbmF2LWJhZGdlLXVua25vd24iLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiI/In0pKV19LGxlLmlkKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNoZWxsIixjaGlsZHJlbjpbbS5qc3goImEiLHtjbGFzc05hbWU6InNraXAtbGluayIsaHJlZjoiI21haW4tY29udGVudCIsY2hpbGRyZW46aCgic2hlbGwuc2tpcF90b19jb250ZW50Iil9KSxtLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2hlbGwtbWFpbiIsY2hpbGRyZW46W20uanN4cygiaGVhZGVyIix7Y2xhc3NOYW1lOiJ0b3BiYXIiLGNoaWxkcmVuOlttLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJicmFuZCIsImFyaWEtbGFiZWwiOmgoImFwcC5uYW1lIiksb25DbGljazooKT0+Tyh7cGFnZToib3ZlcnZpZXciLGFjY291bnQ6bnVsbCx0YWI6bnVsbH0pLGNoaWxkcmVuOlttLmpzeCgiaW1nIix7c3JjOiIvdjIvYXNzZXRzL3FzbC1icmFuZC1pY29uLnN2ZyIsYWx0OiIiLHdpZHRoOjI4LGhlaWdodDoyOH0pLG0uanN4cygic3BhbiIse2NsYXNzTmFtZToiYnJhbmQtY29weSIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJicmFuZC1uYW1lIixjaGlsZHJlbjpoKCJhcHAubmFtZSIpfSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImJyYW5kLXN1YnRpdGxlIixjaGlsZHJlbjpoKCJzaGVsbC5jb2NrcGl0Iil9KV19KV19KSxtLmpzeCgibmF2Iix7Y2xhc3NOYW1lOiJ0b3BuYXYiLCJhcmlhLWxhYmVsIjpoKCJuYXYubWFpbiIpLGNoaWxkcmVuOk1yLm1hcChsZT0+SGUobGUsInRvcG5hdi1pdGVtIikpfSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNwYWNlciJ9KSxjIT09ImhlYWx0aCImJm0uanN4KEdnLHt9KSxiZSYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRvcGJhci11cGRhdGVkIixjaGlsZHJlbjpoKCJjb21tb24udXBkYXRlZF9hdCIse3ZhbHVlOmAke2JlLnRleHR9JHtiZS56b25lP2AgKCR7YmUuem9uZX0pYDoiIn1gfSl9KSxtLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20gYXBwZWFyYW5jZS10b2dnbGUgbGFuZy10b2dnbGUiLCJhcmlhLWxhYmVsIjpoKCJwcmVmcy5sYW5ndWFnZSIpLHRpdGxlOmgoInByZWZzLmxhbmd1YWdlIiksb25DbGljazooKT0+Wih7Li4uQixsYW5ndWFnZTp5PT09InpoIj8iZW4iOiJ6aCJ9KSxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImxhbmctbGFiZWwgbGFuZy1sYWJlbC1mdWxsIixjaGlsZHJlbjp5PT09InpoIj8iRW5nbGlzaCI6IuS4reaWhyJ9KSxtLmpzeCgic3BhbiIse2NsYXNzTmFtZToibGFuZy1sYWJlbCBsYW5nLWxhYmVsLXNob3J0IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjp5PT09InpoIj8iRU4iOiLkuK0ifSldfSksbS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIGFwcGVhcmFuY2UtdG9nZ2xlIiwiYXJpYS1sYWJlbCI6aChjZT8ic2hlbGwuc3dpdGNoX2xpZ2h0Ijoic2hlbGwuc3dpdGNoX2RhcmsiKSx0aXRsZTpoKGNlPyJzaGVsbC5zd2l0Y2hfbGlnaHQiOiJzaGVsbC5zd2l0Y2hfZGFyayIpLG9uQ2xpY2s6KCk9Plooey4uLkIsdGhlbWU6Y2U/ImxpZ2h0IjoiZGFyayJ9KSxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpjZT8i4piAIjoi4pi+In0pLG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0aGVtZS10b2dnbGUtbGFiZWwiLGNoaWxkcmVuOmgoY2U/InByZWZzLnRoZW1lX2xpZ2h0IjoicHJlZnMudGhlbWVfZGFyayIpfSldfSksdSYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRvcGJhci1zeW50aGV0aWMiLGNoaWxkcmVuOm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJiYWRnZSBiYWRnZS1hY2NlbnQiLGNoaWxkcmVuOmgoImNvbW1vbi5zeW50aGV0aWNfYmFkZ2UiKX0pfSksbS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJpY29uLWJ1dHRvbiIsImFyaWEtcHJlc3NlZCI6Qi5oaWRlQW1vdW50cywiYXJpYS1sYWJlbCI6aChCLmhpZGVBbW91bnRzPyJzaGVsbC5zaG93X2Ftb3VudHMiOiJzaGVsbC5oaWRlX2Ftb3VudHMiKSx0aXRsZTpoKEIuaGlkZUFtb3VudHM/InNoZWxsLnNob3dfYW1vdW50cyI6InNoZWxsLmhpZGVfYW1vdW50cyIpLG9uQ2xpY2s6KCk9Plooey4uLkIsaGlkZUFtb3VudHM6IUIuaGlkZUFtb3VudHN9KSxjaGlsZHJlbjptLmpzeCgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS44IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpCLmhpZGVBbW91bnRzP20uanN4KCJwYXRoIix7ZDoiTTMgMyBMMjEgMjEgTTEwIDUuNSBDMTEuNSA1IDEzIDUgMTQgNS41IEMxOCA3IDIxIDEyIDIxIDEyIEMyMCAxNCAxOC41IDE1LjggMTYuNSAxNyBNNi41IDYuOCBDNCA4LjcgMyAxMiAzIDEyIEMzIDEyIDYgMTggMTIgMTggQzEzIDE4IDE0IDE3LjggMTQuOCAxNy41In0pOm0uanN4cyhtLkZyYWdtZW50LHtjaGlsZHJlbjpbbS5qc3goInBhdGgiLHtkOiJNMiAxMiBDMiAxMiA1LjUgNSAxMiA1IEMxOC41IDUgMjIgMTIgMjIgMTIgQzIyIDEyIDE4LjUgMTkgMTIgMTkgQzUuNSAxOSAyIDEyIDIgMTIgWiJ9KSxtLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifSldfSl9KX0pLG0uanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToidXNlci1tZW51IixyZWY6b2UsY2hpbGRyZW46W20uanN4KCJzdW1tYXJ5Iix7ImFyaWEtbGFiZWwiOmgoInNoZWxsLnVzZXJfbWVudSIpLGNoaWxkcmVuOih2fHwiVSIpLnNsaWNlKDAsMSkudG9VcHBlckNhc2UoKX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ1c2VyLW1lbnUtcGFuZWwiLGNoaWxkcmVuOlttLmpzeCgic3Ryb25nIix7Y2xhc3NOYW1lOiJ1c2VyLW1lbnUtbmFtZSIsY2hpbGRyZW46dnx8IuKAlCJ9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im1lbnUtaXRlbSIsb25DbGljazooKT0+e09lKCEwKSxvZS5jdXJyZW50JiYob2UuY3VycmVudC5vcGVuPSExKX0sY2hpbGRyZW46aCgic2hlbGwucHJlZmVyZW5jZXMiKX0pLG0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToibWVudS1pdGVtIixvbkNsaWNrOk4sY2hpbGRyZW46aCgic2hlbGwubG9nb3V0Iil9KV19KV19KV19KSxtLmpzeChOZyx7fSksbS5qc3goIm1haW4iLHtjbGFzc05hbWU6ImNvbnRlbnQiLGlkOiJtYWluLWNvbnRlbnQiLGNoaWxkcmVuOkR9LGMpXX0pLG0uanN4KCJuYXYiLHtjbGFzc05hbWU6ImJvdHRvbS10YWJzIiwiYXJpYS1sYWJlbCI6aCgibmF2Lm1haW4iKSxjaGlsZHJlbjptLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYm90dG9tLXRhYnMtaW5uZXIiLGNoaWxkcmVuOltYZy5tYXAobGU9PkhlKE1yLmZpbmQoUmU9PlJlLmlkPT09bGUpLCJib3R0b20tdGFiIikpLG0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixyZWY6amUsY2xhc3NOYW1lOmBib3R0b20tdGFiJHt2ZXx8ZHAuaW5jbHVkZXMoYyk/IiBhY3RpdmUiOiIifWAsImFyaWEtZXhwYW5kZWQiOnZlLCJhcmlhLWNvbnRyb2xzIjoibW9yZS1zaGVldCIsImFyaWEtbGFiZWwiOmgoIm5hdi5tb3JlIiksb25DbGljazooKT0+d2UobGU9PiFsZSksY2hpbGRyZW46W20uanN4KENyLHtwYXRoOiJNNSAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIE0xMiAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIE0xOSAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIn0pLG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJuYXYtdGV4dCIsY2hpbGRyZW46aCgibmF2Lm1vcmUiKX0pXX0pXX0pfSksdmUmJm0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtb3JlLXNoZWV0IixpZDoibW9yZS1zaGVldCIscm9sZToibWVudSIsY2hpbGRyZW46W2RwLm1hcChsZT0+SGUoTXIuZmluZChSZT0+UmUuaWQ9PT1sZSksIm5hdi1pdGVtIikpLG0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im5hdi1pdGVtIixvbkNsaWNrOigpPT57T2UoITApLHdlKCExKX0sY2hpbGRyZW46W20uanN4KENyLHtwYXRoOiJNMTIgMTUgbS0zIDAgYTMgMyAwIDEgMCA2IDAgYTMgMyAwIDEgMCAtNiAwIE0xOSAxMiBhNyA3IDAgMCAwLS4xLTEuMiBsMi0xLjUgLTItMy40IC0yLjMgMSBhNyA3IDAgMCAwLTItMS4yIEwxNC4yIDMgSDkuOCBMOS40IDUuNyBhNyA3IDAgMCAwLTIgMS4yIGwtMi4zLTEgLTIgMy40IDIgMS41IEE3IDcgMCAwIDAgNSAxMiJ9KSxtLmpzeCgic3BhbiIse2NsYXNzTmFtZToibmF2LXRleHQiLGNoaWxkcmVuOmgoInNoZWxsLnByZWZlcmVuY2VzIil9KV19KV19KSxLZSYmbS5qc3goUWcse29uQ2xvc2U6KCk9Pk9lKCExKX0pXX0pfWNvbnN0IE1wPVUuY3JlYXRlQ29udGV4dCgoKT0+e30pO2Z1bmN0aW9uIFp2KCl7cmV0dXJuIFUudXNlQ29udGV4dChNcCl9ZnVuY3Rpb24gVmcoe2NoaWxkcmVuOmN9KXtjb25zdCByPWl0KCksW2QsdV09VS51c2VTdGF0ZShbXSksdj1VLnVzZVJlZigxKSx4PVUudXNlQ2FsbGJhY2soRD0+e2NvbnN0IGg9di5jdXJyZW50Kys7dSh5PT5bLi4ueS5zbGljZSgtMyksey4uLkQsaWQ6aH1dKSx3aW5kb3cuc2V0VGltZW91dCgoKT0+dSh5PT55LmZpbHRlcihPPT5PLmlkIT09aCkpLDZlMyl9LFtdKSxOPUQ9PnUoaD0+aC5maWx0ZXIoeT0+eS5pZCE9PUQpKTtyZXR1cm4gbS5qc3hzKE1wLlByb3ZpZGVyLHt2YWx1ZTp4LGNoaWxkcmVuOltjLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InRvYXN0LXN0YWNrIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOmQubWFwKEQ9Pm0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOmB0b2FzdCAke0Qua2luZD09PSJpbmZvIj8iIjpELmtpbmR9YCxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpELnRleHR9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5OKEQuaWQpLCJhcmlhLWxhYmVsIjpyKCJjb21tb24uY2xvc2UiKSxjaGlsZHJlbjoi4pyVIn0pXX0sRC5pZCkpfSldfSl9ZnVuY3Rpb24gSXIoe3RvbmU6YyxzaXplOnI9MTB9KXtyZXR1cm4gYz09PSJvayI/bS5qc3goInN2ZyIse3dpZHRoOnIsaGVpZ2h0OnIsdmlld0JveDoiMCAwIDEwIDEwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeCgicGF0aCIse2Q6Ik0xLjUgNS41IEw0IDggTDguNSAyIixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9KX0pOmM9PT0id2FybiI/bS5qc3hzKCJzdmciLHt3aWR0aDpyLGhlaWdodDpyLHZpZXdCb3g6IjAgMCAxMCAxMCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W20uanN4KCJwYXRoIix7ZDoiTTUgMSBMOS41IDkgSDAuNSBaIixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuMiIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn0pLG0uanN4KCJsaW5lIix7eDE6IjUiLHkxOiI0Iix4MjoiNSIseTI6IjYuNCIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLG0uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjcuOCIscjoiMC43IixmaWxsOiJjdXJyZW50Q29sb3IifSldfSk6Yz09PSJlcnJvciI/bS5qc3hzKCJzdmciLHt3aWR0aDpyLGhlaWdodDpyLHZpZXdCb3g6IjAgMCAxMCAxMCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W20uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIn0pLG0uanN4KCJwYXRoIix7ZDoiTTMuMiAzLjIgTDYuOCA2LjggTTYuOCAzLjIgTDMuMiA2LjgiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIixzdHJva2VMaW5lY2FwOiJyb3VuZCJ9KV19KTptLmpzeCgic3ZnIix7d2lkdGg6cixoZWlnaHQ6cix2aWV3Qm94OiIwIDAgMTAgMTAiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOm0uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIixzdHJva2VEYXNoYXJyYXk6IjIgMS40In0pfSl9ZnVuY3Rpb24gS2coe3RvbmU6YyxjaGlsZHJlbjpyLHRpdGxlOmR9KXtyZXR1cm4gbS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke2N9YCx0aXRsZTpkLGNoaWxkcmVuOltjIT09ImFjY2VudCImJm0uanN4KElyLHt0b25lOmN9KSxyXX0pfWNvbnN0IEpnPXtoZWFsdGh5OiJvayIscmV2aWV3OiJ3YXJuIix3YXRjaDoid2FybiIsY3JpdGljYWw6ImVycm9yIixmcmVzaDoib2siLGJsb2NrZWQ6ImVycm9yIixmYWlsZWQ6ImVycm9yIixyZWFkX2luY29tcGxldGU6ImVycm9yIixpbnN1ZmZpY2llbnQ6Indhcm4iLHByZXZpZXdlZDoidW5rbm93biIsbm9fc2lnbmFsOiJvayIsb2s6Im9rIixwYXJ0aWFsOiJ3YXJuIixzdGFsZToid2FybiIsbm9fZGF0YToidW5rbm93biIsbm90X2Nvbm5lY3RlZDoidW5rbm93biIsdW5hdmFpbGFibGU6InVua25vd24iLHJlYWRfZmFpbGVkOiJlcnJvciJ9O2Z1bmN0aW9uICRnKGMpe3JldHVybiBKZ1tjfHwiIl18fCJ1bmtub3duIn1mdW5jdGlvbiBWdih7c3RhdHVzOmMscmVhc29uOnJ9KXtjb25zdCBkPWl0KCksdT1jfHwidW5rbm93biIsdj1gc3RhdGUuJHt1fWAseD1yP2ByZWFzb24uJHtyfWA6bnVsbCxOPXg/ZCh4KTp2b2lkIDA7cmV0dXJuIG0uanN4KCJzcGFuIix7ImRhdGEtc3RhdHVzIjp1LCJkYXRhLXJlYXNvbiI6cj8/dm9pZCAwLGNoaWxkcmVuOm0uanN4KEtnLHt0b25lOiRnKHUpLHRpdGxlOk4sY2hpbGRyZW46ZCh2KX0pfSl9ZnVuY3Rpb24gS3Yoe3ZhbHVlOmMscHJlZml4OnI9ImNvbW1vbi5hc19vZiJ9KXtjb25zdCBkPWl0KCksdT1HbigpO2lmKCFjKXJldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46ZChyLHt2YWx1ZTpkKCJjb21tb24ubmEiKX0pfSk7Y29uc3R7dGV4dDp2LHpvbmU6eH09TnAoYyx1KTtyZXR1cm4gbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmQocix7dmFsdWU6eD9gJHt2fSAoJHt4fSlgOnZ9KX0pfWZ1bmN0aW9uIEp2KHt2YWx1ZTpjfSl7Y29uc3Qgcj1HbigpO3JldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3ctdmFsdWUiLGNoaWxkcmVuOnpwKGMscil9KX1mdW5jdGlvbiAkdih7dmFsdWU6YyxjdXJyZW5jeTpyLHNpZ25lZDpkPSExfSl7Y29uc3QgdT1HbigpLHtwcmVmczp2fT1HcigpO2lmKGM9PW51bGx8fCFOdW1iZXIuaXNGaW5pdGUoYykpcmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjoi4oCUIn0pO2lmKHYuaGlkZUFtb3VudHMpcmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSIsY2hpbGRyZW46Q2coYyl9KTtjb25zdCB4PURnKGQ/TWF0aC5hYnMoYyk6YyxyLHUpLE49ZD9jPjA/IisiOmM8MD8iLSI6IiI6IiIsRD0hZHx8Yz09PTA/ImZsYXQiOmM+MD8idXAiOiJkb3duIjtyZXR1cm4gbS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOmBtb25leSAke0R9YCxjaGlsZHJlbjpbTix4XX0pfWZ1bmN0aW9uIFd2KHt2YWx1ZTpjLGRpZ2l0czpyPTJ9KXtpZihjPT1udWxsfHwhTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToicGVyY2VudCBmbGF0IixjaGlsZHJlbjoi4oCUIn0pO2NvbnN0IGQ9R24oKSx1PWM9PT0wPyJmbGF0IjpjPjA/InVwIjoiZG93biI7cmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBwZXJjZW50ICR7dX1gLGNoaWxkcmVuOk9nKGMsZCxyKX0pfWZ1bmN0aW9uIGZwKHtoZWlnaHQ6Yz0xNix3aWR0aDpyPSIxMDAlIn0pe3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJza2VsZXRvbiIsc3R5bGU6e2hlaWdodDpjLHdpZHRoOnJ9LCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gRnYoe3RpdGxlOmMsYm9keTpyLGFjdGlvbjpkLHN0YXRlOnU9Im5vX2RhdGEifSl7cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJlbXB0eS1zdGF0ZSIsImRhdGEtc3RhdGUiOnUsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdGF0ZS1pY29uIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeChJcix7dG9uZToidW5rbm93biIsc2l6ZToxNH0pfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOlttLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJlbXB0eS10aXRsZSIsY2hpbGRyZW46Y30pLHImJm0uanN4KCJwIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46cn0pXX0pLGQmJm0uanN4KCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWFjdGlvbiIsY2hpbGRyZW46ZH0pXX0pfWZ1bmN0aW9uIFB2KHtvblJldHJ5OmN9KXtjb25zdCByPWl0KCk7cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJlcnJvci1zdGF0ZSIscm9sZToiYWxlcnQiLCJkYXRhLXN0YXRlIjoicmVhZF9mYWlsZWQiLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RhdGUtaWNvbiBzdGF0ZS1pY29uLWVycm9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeChJcix7dG9uZToiZXJyb3IiLHNpemU6MTR9KX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOm0uanN4KCJkaXYiLHtjbGFzc05hbWU6ImVycm9yLXRpdGxlIixjaGlsZHJlbjpyKCJzdGF0ZS5sb2FkX2ZhaWxlZCIpfSl9KSxjJiZtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdGF0ZS1hY3Rpb24iLGNoaWxkcmVuOm0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOmMsY2hpbGRyZW46cigiY29tbW9uLnJldHJ5Iil9KX0pXX0pfWZ1bmN0aW9uIEl2KHt0aXRsZUtleTpjLGJvZHlLZXk6cn0pe2NvbnN0IGQ9aXQoKTtyZXR1cm4gbS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJtZXRob2Qtbm90ZSIsY2hpbGRyZW46W20uanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46ZChjKX0pLG0uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOmQocil9KV19KX1jbGFzcyBXZyBleHRlbmRzIFUuQ29tcG9uZW50e3N0YXRlPXtmYWlsZWQ6ITF9O3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoKXtyZXR1cm57ZmFpbGVkOiEwfX1yZWxvYWQ9KCk9Pntsb2NhdGlvbi5yZWxvYWQoKX07cmVuZGVyKCl7cmV0dXJuIHRoaXMuc3RhdGUuZmFpbGVkP20uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlLWxvYWQtZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpbbS5qc3goInAiLHtjaGlsZHJlbjp0aGlzLnByb3BzLnRpdGxlfSksbS5qc3goImJ1dHRvbiIse2NsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5Iix0eXBlOiJidXR0b24iLG9uQ2xpY2s6dGhpcy5yZWxvYWQsY2hpbGRyZW46dGhpcy5wcm9wcy5hY3Rpb259KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBGZyh7Y2hpbGRyZW46Y30pe2NvbnN0IHI9aXQoKTtyZXR1cm4gbS5qc3goV2cse3RpdGxlOnIoImNvbW1vbi5wYWdlX2xvYWRfZmFpbGVkIiksYWN0aW9uOnIoInNoZWxsLnJlbG9hZCIpLGNoaWxkcmVuOmN9KX1jb25zdCBQZz1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vT3ZlcnZpZXdQYWdlLUMzNl9rSmRkLmpzIiksX192aXRlX19tYXBEZXBzKFswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExXSkpKSxJZz1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vUGVyZm9ybWFuY2VQYWdlLUJQVnkxREJYLmpzIiksX192aXRlX19tYXBEZXBzKFsxMiw1LDgsMiwzLDQsMTMsMTQsMTVdKSkpLGV2PVUubGF6eSgoKT0+WW4oKCk9PmltcG9ydCgiLi9EZWNpc2lvbnNQYWdlLUJfVVF4UVZlLmpzIiksX192aXRlX19tYXBEZXBzKFsxNiwxLDE3LDEwLDUsMTQsMTgsNiw3LDE5XSkpKSx0dj1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vQWNjb3VudHNQYWdlLUJsRUkxYTdrLmpzIiksX192aXRlX19tYXBEZXBzKFsyMCwyMSw1LDYsNywxOCwxNCwxNywxMCwyMl0pKSksbnY9VS5sYXp5KCgpPT5ZbigoKT0+aW1wb3J0KCIuL1N0cmF0ZWdpZXNQYWdlLURXeWE1Qnk1LmpzIiksX192aXRlX19tYXBEZXBzKFsyMywyMSw1LDYsNywxNCwyNF0pKSksYXY9VS5sYXp5KCgpPT5ZbigoKT0+aW1wb3J0KCIuL0hlYWx0aFBhZ2UtT1RZTU9HZ2UuanMiKSxfX3ZpdGVfX21hcERlcHMoWzI1LDUsOCwxMywxOCw2LDcsOSwxMCwyNl0pKSk7ZnVuY3Rpb24gcHAoe2tpbmQ6Yyxub0FjY2VzczpyLG9uUmV0cnk6ZH0pe2NvbnN0IHU9aXQoKSx2PWM9PT0iZGVuaWVkIjtyZXR1cm4gbS5qc3hzKCJtYWluIix7Y2xhc3NOYW1lOiJhY2Nlc3Mtc2NyZWVuIixjaGlsZHJlbjpbbS5qc3goImltZyIse3NyYzoiL3YyL2Fzc2V0cy9xc2wtYnJhbmQtaWNvbi5zdmciLGFsdDoiIix3aWR0aDo0OCxoZWlnaHQ6NDh9KSxtLmpzeCgiaDEiLHtjaGlsZHJlbjp1KHY/cj8iYXV0aC5kZW5pZWRfdGl0bGUiOiJhdXRoLmxvZ2luX3RpdGxlIjoiYXV0aC5lcnJvcl90aXRsZSIpfSksbS5qc3goInAiLHtjaGlsZHJlbjp1KHY/cj8iYXV0aC5kZW5pZWRfYm9keSI6ImF1dGgubG9naW5fYm9keSI6ImF1dGguZXJyb3JfYm9keSIpfSksdj9yP251bGw6bS5qc3goImEiLHtjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIsaHJlZjoiL2xvZ2luIixjaGlsZHJlbjp1KCJhdXRoLmxvZ2luIil9KTptLmpzeCgiYnV0dG9uIix7Y2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLHR5cGU6ImJ1dHRvbiIsb25DbGljazpkLGNoaWxkcmVuOnUoImNvbW1vbi5yZXRyeSIpfSldfSl9ZnVuY3Rpb24gaXYoKXtjb25zdFtjLHJdPVUudXNlU3RhdGUobXApLFtkLHVdPVUudXNlU3RhdGUoKCk9PndpbmRvdy5tYXRjaE1lZGlhPy4oIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPz8hMSksW3YseF09VS51c2VTdGF0ZSgibG9hZGluZyIpLFtOLERdPVUudXNlU3RhdGUobnVsbCksW2gseV09VS51c2VTdGF0ZSgoKT0+aXAod2luZG93LmxvY2F0aW9uLnNlYXJjaCkpLFtPLEJdPVUudXNlU3RhdGUobnVsbCksW1osX2VdPVUudXNlU3RhdGUoW10pLFtjZSx2ZV09VS51c2VTdGF0ZSgibG9hZGluZyIpLFt3ZSxLZV09VS51c2VTdGF0ZSgwKSxbT2Usb2VdPVUudXNlU3RhdGUoInJlYWR5IiksW2plLFddPVUudXNlU3RhdGUoITEpLFtKLHllXT1VLnVzZVN0YXRlKG51bGwpLFtiZSxIZV09VS51c2VTdGF0ZSgibG9hZGluZyIpLFtsZSxSZV09VS51c2VTdGF0ZShudWxsKSxbVGUsbHRdPVUudXNlU3RhdGUoMCksY3Q9VS51c2VSZWYoaCk7Y3QuY3VycmVudD1oO2NvbnN0IEJlPVUudXNlQ2FsbGJhY2soVD0+e3IoVCksVyghSG0oVCkpfSxbXSksQT1VLnVzZUNhbGxiYWNrKCgpPT5LZShUPT5UKzEpLFtdKSxxPWdwKGMudGhlbWUsZCk7VS51c2VFZmZlY3QoKCk9Pntkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT1xfSxbcV0pLFUudXNlRWZmZWN0KCgpPT57ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudXBkb3duPWMudXBEb3dufSxbYy51cERvd25dKSxVLnVzZUVmZmVjdCgoKT0+e2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nPWMubGFuZ3VhZ2U9PT0iemgiPyJ6aC1DTiI6ImVuIn0sW2MubGFuZ3VhZ2VdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9d2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO2lmKCFUKXJldHVybjtjb25zdCBNPUM9PnUoQy5tYXRjaGVzKTtyZXR1cm4gVC5hZGRFdmVudExpc3RlbmVyPy4oImNoYW5nZSIsTSksKCk9PlQucmVtb3ZlRXZlbnRMaXN0ZW5lcj8uKCJjaGFuZ2UiLE0pfSxbXSksVS51c2VFZmZlY3QoKCk9PntsZXQgVD0hMTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtjb25zdCBNPWF3YWl0IHVnKCk7aWYoVClyZXR1cm47aWYoIU0uYXV0aGVudGljYXRlZHx8IU0uYWxsb3dlZCl7RChNKSx4KCJkZW5pZWQiKTtyZXR1cm59RChNKSx4KCJyZWFkeSIpfWNhdGNoKE0pe2lmKFQpcmV0dXJuO00gaW5zdGFuY2VvZiBNaSYmTS5zdGF0dXM9PT00MDE/eCgiZGVuaWVkIik6eChDPT5DPT09InJlYWR5Ij9DOiJlcnJvciIpfX0pKCksKCk9PntUPSEwfX0sW1RlXSksVS51c2VFZmZlY3QoKCk9PntpZih2IT09InJlYWR5IilyZXR1cm47bGV0IFQ9ITE7Y29uc3QgTT0oKT0+e3BnKCkudGhlbihqPT57aWYoVClyZXR1cm47Y29uc3QgRj1qLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCI7SGUoRj8icmVhZF9mYWlsZWQiOiJvayIpLHllKEY/bnVsbDpqLml0ZW1zLmZpbHRlcihLPT5LLnN0YXR1cz09PSJwZW5kaW5nIikubGVuZ3RoKX0pLmNhdGNoKCgpPT57VHx8KEhlKCJyZWFkX2ZhaWxlZCIpLHllKG51bGwpKX0pfTtIZSgibG9hZGluZyIpLHllKG51bGwpLE0oKTtjb25zdCBDPWRnKE0pO3JldHVybigpPT57VD0hMCxDKCl9fSxbdl0pLFUudXNlRWZmZWN0KCgpPT57aWYodiE9PSJyZWFkeSIpcmV0dXJuO2xldCBUPSExO3JldHVybiB2ZSgibG9hZGluZyIpLChhc3luYygpPT57dHJ5e2NvbnN0IE09YXdhaXQgX2coKTtpZihUKXJldHVybjtsZXQgQz1udWxsO3RyeXtDPWF3YWl0IG1lKCIvYXBpL2NvbmZpZyIpfWNhdGNoe31pZihUKXJldHVybjtCKEMpLG9lKEM/InJlYWR5IjoiZXJyb3IiKSxfZShNLmFjY291bnRzLm1hcChqPT4oe2FsaWFzOmouYWNjb3VudF9hbGlhcyxwbGF0Zm9ybTpqLnBsYXRmb3JtLHBhcGVyOkM/Qy5hY2NvdW50T3B0aW9ucz8uW2oucGxhdGZvcm1dPy5maW5kKEY9PkYua2V5PT09ai5hY2NvdW50X2FsaWFzKT8uYnJva2VyX2Vudmlyb25tZW50PT09InBhcGVyIjpudWxsfSkpKSxSZShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHZlKCJyZWFkeSIpfWNhdGNoe1R8fHZlKCJlcnJvciIpfX0pKCksKCk9PntUPSEwfX0sW3Ysd2VdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9KCk9PntEKG51bGwpLHgoImRlbmllZCIpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInFzbC1wcml2YXRlLXNlc3Npb24taW52YWxpZCIsVCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJxc2wtcHJpdmF0ZS1zZXNzaW9uLWludmFsaWQiLFQpfSxbXSk7Y29uc3QgRz1VLnVzZUNhbGxiYWNrKFQ9Pntjb25zdCBNPXsuLi5jdC5jdXJyZW50LC4uLlR9LEM9KCk9Pnt5KE0pLGxwKE0pfSxqPVVyKCk7aWYoaiYmKE0ucGFnZSE9PWN0LmN1cnJlbnQucGFnZXx8TS5hY2NvdW50IT09Y3QuY3VycmVudC5hY2NvdW50KSl7aigpLnRoZW4oRj0+e0YmJkMoKX0pO3JldHVybn1DKCl9LFtdKTtVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9KCk9Pntjb25zdCBNPWlwKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLEM9VXIoKTtpZihDKXtDKCkudGhlbihqPT57aj95KE0pOmxwKGN0LmN1cnJlbnQpfSk7cmV0dXJufXkoTSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLFQpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLFQpfSxbXSk7Y29uc3QgcmU9YXN5bmMoKT0+e1hyKCk7dHJ5e2F3YWl0IFpyKCIvYXBpL2xvZ291dCIse30pfWNhdGNoe313aW5kb3cubG9jYXRpb24uYXNzaWduKCIvbG9naW4iKX07aWYoVS51c2VFZmZlY3QoKCk9Pntkb2N1bWVudC50aXRsZT1gJHtfcChjLmxhbmd1YWdlLGBuYXYuJHtoLnBhZ2V9YCl9IMK3IFF1YW50U3RyYXRlZ3lMYWJgfSxbYy5sYW5ndWFnZSxoLnBhZ2VdKSx2PT09ImxvYWRpbmciKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeCgibWFpbiIse2NsYXNzTmFtZToiYm9vdC1zY3JlZW4iLHJvbGU6InN0YXR1cyIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsY2hpbGRyZW46bS5qc3goZnAse2hlaWdodDoyNCx3aWR0aDoyMDB9KX0pfSk7aWYodj09PSJkZW5pZWQiKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeChwcCx7a2luZDoiZGVuaWVkIixub0FjY2VzczpOPy5hdXRoZW50aWNhdGVkPT09ITAmJiFOLmFsbG93ZWR9KX0pO2lmKHY9PT0iZXJyb3IiKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeChwcCx7a2luZDoiZXJyb3IiLG9uUmV0cnk6KCk9Pmx0KFQ9PlQrMSl9KX0pO2NvbnN0IHA9e3Njb3BlOmguc2NvcGUsb3B0aW9uczpaLHNldFNjb3BlOlQ9Pkcoe3Njb3BlOlR9KSxzdGF0dXM6Y2UsbWV0YVN0YXR1czpPZSxyZXRyeTpBfTtyZXR1cm4gbS5qc3goV2wse2xhbmd1YWdlOmMubGFuZ3VhZ2UsY2hpbGRyZW46bS5qc3goeXAuUHJvdmlkZXIse3ZhbHVlOntwcmVmczpjLHNldFByZWZzOkJlLHJlc29sdmVkVGhlbWU6cSxwZXJzaXN0RmFpbGVkOmplfSxjaGlsZHJlbjptLmpzeCh2cC5Qcm92aWRlcix7dmFsdWU6TyxjaGlsZHJlbjptLmpzeChicC5Qcm92aWRlcix7dmFsdWU6cCxjaGlsZHJlbjptLmpzeChrcC5Qcm92aWRlcix7dmFsdWU6RyxjaGlsZHJlbjptLmpzeChWZyx7Y2hpbGRyZW46bS5qc3goWmcse3BhZ2U6aC5wYWdlLHRvZG9Db3VudDpKLHRvZG9TdGF0dXM6YmUsc3ludGhldGljOk4/LnN5bnRoZXRpYz09PSEwLGxvZ2luOk4/LmxvZ2lufHxudWxsLHVwZGF0ZWRBdDpsZSxvbkxvZ291dDooKT0+e3JlKCl9LGNoaWxkcmVuOm0uanN4KEZnLHtjaGlsZHJlbjptLmpzeHMoVS5TdXNwZW5zZSx7ZmFsbGJhY2s6bS5qc3goZnAse2hlaWdodDoyNDB9KSxjaGlsZHJlbjpbaC5wYWdlPT09Im92ZXJ2aWV3IiYmbS5qc3goUGcse30pLGgucGFnZT09PSJwZXJmb3JtYW5jZSImJm0uanN4KElnLHt9KSxoLnBhZ2U9PT0iZGVjaXNpb25zIiYmbS5qc3goZXYse2RlY2lzaW9uOmguZGVjaXNpb259KSxoLnBhZ2U9PT0iYWNjb3VudHMiJiZtLmpzeCh0dix7YWNjb3VudDpoLmFjY291bnQsdGFiOmgudGFifSksaC5wYWdlPT09InN0cmF0ZWdpZXMiJiZtLmpzeChudix7fSksaC5wYWdlPT09ImhlYWx0aCImJm0uanN4KGF2LHt9KV19KX0saC5wYWdlKX0pfSl9KX0pfSl9KX0pfWNvbnN0IENwPW1wKCk7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9Z3AoQ3AudGhlbWUsd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/PyExKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZz1DcC5sYW5ndWFnZT09PSJ6aCI/InpoLUNOIjoiZW4iO2NvbnN0IFBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290Iik7UGwmJi9eI1wvZGVzayg/OlsvP118JCkvLnRlc3Qod2luZG93LmxvY2F0aW9uLmhhc2gpP1luKGFzeW5jKCk9Pntjb25zdHttb3VudERlc2s6Y309YXdhaXQgaW1wb3J0KCIuL0Rlc2tBcHAtRG9rUmpLMzUuanMiKTtyZXR1cm57bW91bnREZXNrOmN9fSxfX3ZpdGVfX21hcERlcHMoWzI3LDMsMjhdKSkudGhlbigoe21vdW50RGVzazpjfSk9PmMoUGwpKTpQbCYmX20uY3JlYXRlUm9vdChQbCkucmVuZGVyKG0uanN4KGl2LHt9KSk7ZXhwb3J0e0p2IGFzICQsS3YgYXMgQSxLZyBhcyBCLE9nIGFzIEMsQ2cgYXMgRCxQdiBhcyBFLE52IGFzIEYsT3YgYXMgRyxpYyBhcyBILEd2IGFzIEksRGcgYXMgSixQciBhcyBLLFp2IGFzIEwsJHYgYXMgTSx1ZyBhcyBOLFF2IGFzIE8sV3YgYXMgUCxOciBhcyBRLFh2IGFzIFIsVnYgYXMgUyxtdiBhcyBULHV2IGFzIFUsZHYgYXMgVixzdiBhcyBXLFpyIGFzIFgsTWkgYXMgWSxvdiBhcyBaLFluIGFzIF8sZ3AgYXMgYSxIciBhcyBhMCx5diBhcyBhMSxTdiBhcyBhMixrdiBhcyBhMyxBdiBhcyBhNCxidiBhcyBhNSxjdiBhcyBhNixUcCBhcyBhNyxmdiBhcyBhOCxabSBhcyBhOSxfZyBhcyBhYSxndiBhcyBhYix2diBhcyBhYyxVZyBhcyBhZCx4diBhcyBhZSxwdiBhcyBhZixydiBhcyBhZyxUZyBhcyBhaCxVdiBhcyBhaSxIdiBhcyBhaixCdiBhcyBhayxMdiBhcyBhbCxDdiBhcyBhbSxxdiBhcyBhbixqdiBhcyBhbyxfdiBhcyBhcCxUdiBhcyBhcSxNdiBhcyBhcixsdiBhcyBhcyxCbSBhcyBiLF9tIGFzIGMsRHYgYXMgZCxMbSBhcyBlLEZ2IGFzIGYsbWUgYXMgZyxodiBhcyBoLHBnIGFzIGksbSBhcyBqLHp2IGFzIGssbXAgYXMgbCxFdiBhcyBtLGZwIGFzIG4sd3YgYXMgbyxSdiBhcyBwLEduIGFzIHEsVSBhcyByLEhtIGFzIHMsTnAgYXMgdCxpdCBhcyB1LHpwIGFzIHYsWXYgYXMgdyxCZyBhcyB4LEl2IGFzIHksR3IgYXMgen07Cg==" }, - "/v2/assets/index-CvmsbotJ.css": { contentType: "text/css; charset=utf-8", base64: "OnJvb3R7LS1zdXJmYWNlLTA6ICNGN0Y4RkE7LS1zdXJmYWNlLTE6ICNGRkZGRkY7LS1zdXJmYWNlLTI6ICNGMEYyRjU7LS1zdXJmYWNlLWhvdmVyOiAjRThFQkYwOy0tdGV4dC1wcmltYXJ5OiAjMTgxODFCOy0tdGV4dC1zZWNvbmRhcnk6ICM1MjU3NjM7LS10ZXh0LW11dGVkOiAjNjQ2Qjc4Oy0tYm9yZGVyOiAjREZFMkU4Oy0tYm9yZGVyLXN0cm9uZzogIzg1OEI5ODstLWJvcmRlci1zdHJvbmdlcjogIzUyNTc2MzstLWFjY2VudDogIzVCNEZENjstLWFjY2VudC10aW50OiAjRUVFQkZDOy0tb24tYWNjZW50OiAjRkZGRkZGOy0tc3VjY2VzczogIzE5NjI0RDstLXN1Y2Nlc3MtdGludDogI0VBRjZFRjstLXdhcm5pbmc6ICM4MDUwMDA7LS13YXJuaW5nLXRpbnQ6ICNGRkY0REQ7LS1kYW5nZXI6ICNBNzJFNDI7LS1kYW5nZXItdGludDogI0ZDRUNFRjstLWluZm86ICMxMzZDOUY7LS1pbmZvLXRpbnQ6ICNFQUY0RkM7LS1mb2N1cy1yaW5nOiAjNUI0RkQ2Oy0tY2hhcnQtMTogIzVCNEZENjstLWNoYXJ0LTI6ICMxMzZDOUY7LS1jaGFydC1ncmlkOiAjREZFMkU4Oy0tY2hyb21lOiAjRkZGRkZGOy0tYnV0dG9uLXByaW1hcnktYmc6ICMxODE4MUI7LS1idXR0b24tcHJpbWFyeS1mZzogI0ZGRkZGRjstLWJ1dHRvbi1wcmltYXJ5LWhvdmVyOiAjMzAzMDM0Oy0tYnV0dG9uLXByaW1hcnktcHJlc3NlZDogIzBGMTAxMjstLW92ZXJsYXktc2NyaW06ICMwMDAwMDA2NjstLW9uLXdhcm46ICNGRkZGRkY7LS1jaGFydC1iZW5jaG1hcms6ICM2NDZCNzg7LS1zaGFkb3c6IDAgMTJweCAzMnB4ICMxODE4MUIxQTstLW1yZC1iZzogI0YzRUVFNjstLW1yZC1pbms6ICMxQjFBMjQ7LS1tcmQtaW5rLTI6ICM1RDVCNkU7LS1tcmQtaW5rLTM6ICM2QzZBN0U7LS1tcmQtcGFuZWw6ICNGRkZGRkZBRDstLW1yZC1wYW5lbC0yOiAjRkZGRkZGRTY7LS1tcmQtbGluZTogIzI4MUU0NjE3Oy0tbXJkLWhpZ2hsaWdodDogI0ZGRkZGRkU2Oy0tbXJkLW1pbnQ6ICMwQjdENTc7LS1tcmQtYW1iZXI6ICNBMzVDMDA7LS1tcmQtY29yYWw6ICNDMDMzNEM7LS1tcmQtdmlvbGV0OiAjNTY0NkQ0Oy0tbXJkLXNreTogIzE2Njk5RjstLW1yZC11bmtub3duOiAjNkM2QTgwOy0tbXJkLXA6ICM2MjUwRDY7LS1tcmQtYjE6ICMxQThDQTg7LS1tcmQtYjI6ICNEMDRGODY7LS1tcmQtYjM6ICNCODg2MEI7LS1tcmQtYjQ6ICMyRjdEMDA7LS1tcmQteDE6ICMyNTYzQzk7LS1tcmQteDI6ICMzMzMwM0Y7LS1tcmQteDM6ICM2RjdDOEM7LS1tcmQtYnV0dG9uOiAjMUIxQTI0Oy0tbXJkLWJ1dHRvbi1pbms6ICNGRkZGRkY7LS1tcmQtb24tYWNjZW50OiAjRkZGRkZGOy0tbXJkLXNoYWRvdzogMCAxOHB4IDQwcHggLTIycHggIzNDMjg2NDU5Oy0tbXJkLWF1cm9yYTogcmFkaWFsLWdyYWRpZW50KDkwMHB4IDYwMHB4IGF0IDUlIC0xMCUsICNBMDhDRkY1OSwgI0EwOENGRjAwIDYwJSksIHJhZGlhbC1ncmFkaWVudCg4MDBweCA2MDBweCBhdCAxMDAlIDAlLCAjNzhEMkM4NTksICM3OEQyQzgwMCA2MCUpLCByYWRpYWwtZ3JhZGllbnQoNzAwcHggNTAwcHggYXQgNzAlIDExMCUsICNGRkJFODI2NiwgI0ZGQkU4MjAwIDYwJSk7LS1mb250LXNhbnM6ICJHZWlzdCIsICJJbnRlciIsICJOb3RvIFNhbnMgU0MiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICJTZWdvZSBVSSIsIFJvYm90bywgIlBpbmdGYW5nIFNDIiwgIkhpcmFnaW5vIFNhbnMgR0IiLCAiTWljcm9zb2Z0IFlhSGVpIiwgc2Fucy1zZXJpZjstLWZvbnQtbW9ubzogIkdlaXN0IE1vbm8iLCAiU0ZNb25vLVJlZ3VsYXIiLCAiSmV0QnJhaW5zIE1vbm8iLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZTstLW1yZC1mb250LXNlcmlmOiAiSW5zdHJ1bWVudCBTZXJpZiIsICJOb3RvIFNlcmlmIENKSyBTQyIsICJTb3VyY2UgSGFuIFNlcmlmIFNDIiwgIlNvbmd0aSBTQyIsICJTVFNvbmciLCBHZW9yZ2lhLCBzZXJpZjstLW1yZC1yYWRpdXM6IDIycHg7LS10ZXh0LXhzOiAxMnB4Oy0tdGV4dC1zbTogMTNweDstLXRleHQtYmFzZTogMTRweDstLXRleHQtbWQ6IDE2cHg7LS10ZXh0LWxnOiAyMHB4Oy0tdGV4dC14bDogMjZweDstLXNwYWNlLTE6IDRweDstLXNwYWNlLTI6IDhweDstLXNwYWNlLTM6IDEycHg7LS1zcGFjZS00OiAxNnB4Oy0tc3BhY2UtNTogMjBweDstLXNwYWNlLTY6IDI0cHg7LS1zcGFjZS04OiAzMnB4Oy0tcGFkLWNhcmQ6IDFyZW0gMS4yNXJlbTstLXJhZGl1czogOHB4Oy0tcmFkaXVzLWNhcmQ6IDEycHg7LS1oYWlybGluZTogLjVweDstLWNvbnRyb2wtaDogMzZweDstLWJvdHRvbS10YWJzLWhlaWdodDogNjRweDtjb2xvci1zY2hlbWU6bGlnaHQ7LS1iYWNrZ3JvdW5kLWNhbnZhczogdmFyKC0tc3VyZmFjZS0wKTstLWJhY2tncm91bmQtY2hyb21lOiB2YXIoLS1jaHJvbWUpOy0tc3VyZmFjZS1kZWZhdWx0OiB2YXIoLS1zdXJmYWNlLTEpOy0tc3VyZmFjZS1zdWJ0bGU6IHZhcigtLXN1cmZhY2UtMik7LS1ib3JkZXItZGl2aWRlcjogdmFyKC0tYm9yZGVyKTstLWJvcmRlci1jb250cm9sOiB2YXIoLS1ib3JkZXItc3Ryb25nKTstLWFjY2VudC1mb3JlZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOy0tYWNjZW50LXN1cmZhY2U6IHZhcigtLWFjY2VudC10aW50KTstLXN0YXR1cy1hdHRlbnRpb246IHZhcigtLXdhcm5pbmcpOy0tc3RhdHVzLWF0dGVudGlvbi1iZzogdmFyKC0td2FybmluZy10aW50KTstLXN0YXR1cy1ibG9ja2VkOiB2YXIoLS1kYW5nZXIpOy0tc3RhdHVzLWJsb2NrZWQtYmc6IHZhcigtLWRhbmdlci10aW50KTstLXN0YXR1cy12ZXJpZmllZDogdmFyKC0tc3VjY2Vzcyk7LS1zdGF0dXMtdmVyaWZpZWQtYmc6IHZhcigtLXN1Y2Nlc3MtdGludCk7LS1zdGF0dXMtaW5mbzogdmFyKC0taW5mbyk7LS1zdGF0dXMtaW5mby1iZzogdmFyKC0taW5mby10aW50KTstLWNoYXJ0LXByaW1hcnk6IHZhcigtLWNoYXJ0LTEpOy0tY2hhcnQtc2Vjb25kYXJ5OiB2YXIoLS1jaGFydC0yKTstLWNhbnZhczogdmFyKC0tc3VyZmFjZS0wKTstLXN1cmZhY2U6IHZhcigtLXN1cmZhY2UtMSk7LS1pbms6IHZhcigtLXRleHQtcHJpbWFyeSk7LS1tdXRlZDogdmFyKC0tdGV4dC1tdXRlZCk7LS1saW5lOiB2YXIoLS1ib3JkZXIpOy0tdXAtZ3JlZW46IHZhcigtLXN1Y2Nlc3MpOy0tZG93bi1ncmVlbjogdmFyKC0tZGFuZ2VyKTstLXVwOiB2YXIoLS11cC1ncmVlbik7LS1kb3duOiB2YXIoLS1kb3duLWdyZWVuKTstLXN0YXR1cy1vazogdmFyKC0tc3VjY2Vzcyk7LS1zdGF0dXMtd2FybjogdmFyKC0td2FybmluZyk7LS1zdGF0dXMtZXJyb3I6IHZhcigtLWRhbmdlcik7LS1zdGF0dXMtdW5rbm93bjogdmFyKC0tdGV4dC1tdXRlZCk7LS1iZW5jaG1hcmstMTogdmFyKC0tY2hhcnQtMSk7LS1iZW5jaG1hcmstMjogdmFyKC0tY2hhcnQtMik7LS1iZW5jaG1hcmstMzogdmFyKC0tc3VjY2Vzcyk7LS1iZW5jaG1hcmstNDogdmFyKC0tY2hhcnQtYmVuY2htYXJrKTstLXJhZGl1cy1zOiB2YXIoLS1yYWRpdXMpOy0tcmFkaXVzLW06IHZhcigtLXJhZGl1cy1jYXJkKTstLWdhcC0xOiB2YXIoLS1zcGFjZS0xKTstLWdhcC0yOiB2YXIoLS1zcGFjZS0yKTstLWdhcC0zOiB2YXIoLS1zcGFjZS0zKTstLWdhcC00OiB2YXIoLS1zcGFjZS00KX06cm9vdFtkYXRhLXRoZW1lPWRhcmtdey0tc3VyZmFjZS0wOiAjMEYxMDEyOy0tc3VyZmFjZS0xOiAjMTcxODFDOy0tc3VyZmFjZS0yOiAjMUQxRjI0Oy0tc3VyZmFjZS1ob3ZlcjogIzIzMjYyQzstLXRleHQtcHJpbWFyeTogI0Y0RjRGNTstLXRleHQtc2Vjb25kYXJ5OiAjQjRCNkJGOy0tdGV4dC1tdXRlZDogIzhEOTE5RTstLWJvcmRlcjogIzMwMzIzODstLWJvcmRlci1zdHJvbmc6ICM3MTc2ODQ7LS1ib3JkZXItc3Ryb25nZXI6ICNCNEI2QkY7LS1hY2NlbnQ6ICNCN0FERkY7LS1hY2NlbnQtdGludDogIzI5MjQzQjstLW9uLWFjY2VudDogIzE3MTgxQzstLXN1Y2Nlc3M6ICM4RENGQjY7LS1zdWNjZXNzLXRpbnQ6ICMxODJDMjU7LS13YXJuaW5nOiAjRjNDNjc3Oy0td2FybmluZy10aW50OiAjMzAyNzE4Oy0tZGFuZ2VyOiAjRjFBNUFEOy0tZGFuZ2VyLXRpbnQ6ICMzMjFGMjM7LS1pbmZvOiAjODlDOUVGOy0taW5mby10aW50OiAjMTkyQjM4Oy0tZm9jdXMtcmluZzogI0I3QURGRjstLWNoYXJ0LTE6ICNCN0FERkY7LS1jaGFydC0yOiAjODlDOUVGOy0tY2hhcnQtZ3JpZDogIzMwMzIzODstLWNocm9tZTogIzBGMTAxMjstLWJ1dHRvbi1wcmltYXJ5LWJnOiAjRjRGNEY1Oy0tYnV0dG9uLXByaW1hcnktZmc6ICMxNzE4MUM7LS1idXR0b24tcHJpbWFyeS1ob3ZlcjogI0ZGRkZGRjstLWJ1dHRvbi1wcmltYXJ5LXByZXNzZWQ6ICNERURFRTQ7LS1vdmVybGF5LXNjcmltOiAjMDAwMDAwOTk7LS1vbi13YXJuOiAjMTcxODFDOy0tY2hhcnQtYmVuY2htYXJrOiAjOUFBMEFFOy0tc2hhZG93OiAwIDEycHggMzJweCAjMDAwMDAwNjY7LS1tcmQtYmc6ICMwQTBDMTM7LS1tcmQtaW5rOiAjRUNFQUY0Oy0tbXJkLWluay0yOiAjQTVBM0I4Oy0tbXJkLWluay0zOiAjOEY4REE2Oy0tbXJkLXBhbmVsOiAjRkZGRkZGMEQ7LS1tcmQtcGFuZWwtMjogI0ZGRkZGRjE2Oy0tbXJkLWxpbmU6ICNGRkZGRkYxNzstLW1yZC1oaWdobGlnaHQ6ICNGRkZGRkYyNDstLW1yZC1taW50OiAjNjJFM0I0Oy0tbXJkLWFtYmVyOiAjRkZCODVBOy0tbXJkLWNvcmFsOiAjRkY3QjhBOy0tbXJkLXZpb2xldDogI0E5OUNGRjstLW1yZC1za3k6ICM2Q0M3RkY7LS1tcmQtdW5rbm93bjogIzlEOUJCNDstLW1yZC1wOiAjOTA4NUU5Oy0tbXJkLWIxOiAjMjJBM0IzOy0tbXJkLWIyOiAjRDU1MTgxOy0tbXJkLWIzOiAjQzk4NTAwOy0tbXJkLWI0OiAjMDA4MzAwOy0tbXJkLXgxOiAjNUI5Q0YyOy0tbXJkLXgyOiAjRTZFM0YyOy0tbXJkLXgzOiAjOEE5N0E4Oy0tbXJkLWJ1dHRvbjogI0VDRUFGNDstLW1yZC1idXR0b24taW5rOiAjMTQxMzFDOy0tbXJkLW9uLWFjY2VudDogIzBBMEMxMzstLW1yZC1zaGFkb3c6IDAgMjBweCA1MHB4IC0yMHB4ICMwMDAwMDBCMzstLW1yZC1hdXJvcmE6IHJhZGlhbC1ncmFkaWVudCg5MDBweCA2MDBweCBhdCA4JSAtMTAlLCAjNUY1NkU2NTcsICM1RjU2RTYwMCA2MCUpLCByYWRpYWwtZ3JhZGllbnQoODAwcHggNjAwcHggYXQgMTAwJSAwJSwgIzE0OTY5NjM4LCAjMTQ5Njk2MDAgNjAlKSwgcmFkaWFsLWdyYWRpZW50KDcwMHB4IDUwMHB4IGF0IDcwJSAxMTAlLCAjRkZBQTUwMjQsICNGRkFBNTAwMCA2MCUpO2NvbG9yLXNjaGVtZTpkYXJrfTpyb290W2RhdGEtdXBkb3duPXJlZC11cF17LS11cDogdmFyKC0tZG93bi1ncmVlbik7LS1kb3duOiB2YXIoLS11cC1ncmVlbil9Kntib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbCxib2R5e21hcmdpbjowO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnZhcigtLWJhY2tncm91bmQtY2FudmFzKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS41Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9Lm51bSwua3BpLXZhbHVlLHRkLm51bSwubW9uZXksLnBlcmNlbnR7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfWF7Y29sb3I6dmFyKC0tYWNjZW50KTt0ZXh0LWRlY29yYXRpb246bm9uZX1hOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YnV0dG9ue2ZvbnQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZX1idXR0b246ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjU1fTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAgMCAwIDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXI6MH0uc2tpcC1saW5re3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6OHB4O3RvcDotNDhweDtwYWRkaW5nOjhweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1vbi1hY2NlbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO3otaW5kZXg6MTAwO3RyYW5zaXRpb246dG9wIC4xNXN9LnNraXAtbGluazpmb2N1c3t0b3A6OHB4fS5zaGVsbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwdmg7YmFja2dyb3VuZDp2YXIoLS1iYWNrZ3JvdW5kLWNhbnZhcyl9LnNoZWxsLW1haW57ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5icmFuZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4OjAgMCBhdXRvfS5icmFuZCBpbWd7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtmbGV4OjAgMCBhdXRvfS5icmFuZC1jb3B5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bGluZS1oZWlnaHQ6MS4xNTttaW4td2lkdGg6MH0uYnJhbmQtbmFtZXtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO3doaXRlLXNwYWNlOm5vd3JhcH0uYnJhbmQtc3VidGl0bGV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOjExcHg7d2hpdGUtc3BhY2U6bm93cmFwfS50b3BiYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjY0cHg7cGFkZGluZzowIDI0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLWRpdmlkZXIpO2JhY2tncm91bmQ6dmFyKC0tYmFja2dyb3VuZC1jaHJvbWUpO3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjIwO2ZsZXgtd3JhcDpub3dyYXB9LnRvcGJhciAuc3BhY2Vye2ZsZXg6MSAxIGF1dG99LnRvcGJhci11cGRhdGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O3doaXRlLXNwYWNlOm5vd3JhcH0udG9wbmF2e2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjJweDtoZWlnaHQ6NjRweDttaW4td2lkdGg6MH0udG9wbmF2LWl0ZW17ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDtwYWRkaW5nOjAgMTJweDttaW4taGVpZ2h0OjQ0cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbTotMXB4O3RyYW5zaXRpb246Y29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpLGJhY2tncm91bmQtY29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpfS50b3BuYXYtaXRlbTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1zdWJ0bGUpfS50b3BuYXYtaXRlbS5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS50b3BuYXYtaXRlbSBzdmd7ZmxleDowIDAgYXV0b30ubmF2LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweCAxMnB4O21pbi1oZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dGV4dC1hbGlnbjpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTJzIGN1YmljLWJlemllciguMiwwLDAsMSksY29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpfS5uYXYtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtaG92ZXIpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9Lm5hdi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zdXJmYWNlKTtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCk7Zm9udC13ZWlnaHQ6NjAwfS5uYXYtaXRlbSBzdmd7ZmxleDowIDAgYXV0b30ubmF2LWJhZGdle21hcmdpbi1sZWZ0OmF1dG87bWluLXdpZHRoOjE4cHg7cGFkZGluZzowIDVweDtib3JkZXItcmFkaXVzOjlweDtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy13YXJuKTtjb2xvcjp2YXIoLS1vbi13YXJuKTtmb250LXNpemU6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxOHB4fS50b3BuYXYtaXRlbSAubmF2LWJhZGdle21hcmdpbi1sZWZ0OjJweH0ubmF2LWJhZGdlLXVua25vd257YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLW11dGVkKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS1saW5lKX0uY29udGVudHtmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MzJweCAyNHB4IDY0cHg7bWF4LXdpZHRoOjE0NDBweDt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG99Lmljb24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9Lmljb24tYnV0dG9uOmhvdmVyLC5pY29uLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5ib3R0b20tdGFic3tkaXNwbGF5Om5vbmU7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7bWluLWhlaWdodDpjYWxjKHZhcigtLWJvdHRvbS10YWJzLWhlaWdodCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO2JhY2tncm91bmQ6dmFyKC0tYmFja2dyb3VuZC1jaHJvbWUpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTt6LWluZGV4OjMwO3BhZGRpbmctYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKX0uYm90dG9tLXRhYnMtaW5uZXJ7ZGlzcGxheTpmbGV4fS5ib3R0b20tdGFie2ZsZXg6MSAxIDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6M3B4O21pbi1oZWlnaHQ6NTZweDtwYWRkaW5nOjhweCAwIDZweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEycHg7cG9zaXRpb246cmVsYXRpdmV9LmJvdHRvbS10YWIuYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKTtmb250LXdlaWdodDo2MDB9LmJvdHRvbS10YWIgLm5hdi1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4O3JpZ2h0OmNhbGMoNTAlIC0gMjJweCk7bWFyZ2luOjB9Lm1vcmUtc2hlZXR7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOmNhbGModmFyKC0tYm90dG9tLXRhYnMtaGVpZ2h0KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWRlZmF1bHQpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTtib3JkZXItcmFkaXVzOjE2cHggMTZweCAwIDA7cGFkZGluZzo4cHggMTZweCAxNnB4O21heC1oZWlnaHQ6NzBkdmg7b3ZlcmZsb3cteTphdXRvO3otaW5kZXg6NDA7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpfS5tb3JlLXNoZWV0IC5uYXYtaXRlbXtmb250LXNpemU6MTVweDttaW4taGVpZ2h0OjQ4cHh9LmxhbmctbGFiZWwtc2hvcnR7ZGlzcGxheTpub25lfS5idXR0b257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NnB4O21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nOjlweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpLGJvcmRlci1jb2xvciAuMTJzIGN1YmljLWJlemllciguMiwwLDAsMSksY29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpfS5idXR0b24tcHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWJ1dHRvbi1wcmltYXJ5LWJnKTtjb2xvcjp2YXIoLS1idXR0b24tcHJpbWFyeS1mZyl9LmJ1dHRvbi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6dmFyKC0tYnV0dG9uLXByaW1hcnktaG92ZXIpfS5idXR0b24tcHJpbWFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDp2YXIoLS1idXR0b24tcHJpbWFyeS1wcmVzc2VkKX0uYnV0dG9uLXNlY29uZGFyeXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWNvbnRyb2wpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1kZWZhdWx0KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1ob3Zlcil9LmJ1dHRvbi1kYW5nZXJ7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtYmxvY2tlZCk7Y29sb3I6dmFyKC0tc3RhdHVzLWJsb2NrZWQtYmcpfS5idXR0b24tZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3RhdHVzLWJsb2NrZWQpIDg4JSx2YXIoLS1zdXJmYWNlLWRlZmF1bHQpKX0uYnV0dG9uLWRhbmdlci1vdXRsaW5le2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtYmxvY2tlZCk7Y29sb3I6dmFyKC0tc3RhdHVzLWJsb2NrZWQpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmJ1dHRvbi1kYW5nZXItb3V0bGluZTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1ibG9ja2VkLWJnKX0uYnV0dG9uLXNte21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjRweCAxMXB4O2ZvbnQtc2l6ZToxM3B4fS5jYXJke2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1kZWZhdWx0KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtwYWRkaW5nOjI0cHg7bWluLXdpZHRoOjB9LmNhcmQtdGl0bGV7bWFyZ2luOjAgMCAxMnB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAxNWVtO2xpbmUtaGVpZ2h0OjEuNH0uY2FyZC1ub3Rle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjo4cHggMCAwO2xpbmUtaGVpZ2h0OjEuNTV9LmtwaS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsbWlubWF4KDAsMWZyKSk7Z2FwOjEycHh9LmtwaS1jYXJke2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1kZWZhdWx0KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kaXZpZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtwYWRkaW5nOjE4cHggMjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHg7bWluLXdpZHRoOjA7dGV4dC1hbGlnbjpsZWZ0fWJ1dHRvbi5rcGktY2FyZHt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTJzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMTJzIGVhc2V9YnV0dG9uLmtwaS1jYXJkOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDQ1JSx2YXIoLS1saW5lKSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDMlLHZhcigtLXN1cmZhY2UpKX0ua3BpLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1tdXRlZCl9LmtwaS12YWx1ZXtmb250LXNpemU6MjVweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0uMDE1ZW07b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ua3BpLXZhbHVlIC5mbGF0e2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjUwMH0ua3BpLXN0YXRle2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1tdXRlZCl9Lm1ldHJpYy1ub3Rle21hcmdpbjowO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjZ9LmtwaS1zdWJ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNDU7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ua3BpLWZvb3R7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4IDEwcHg7bWFyZ2luLXRvcDoycHg7ZmxleC13cmFwOndyYXB9LmtwaS1mb290IC5iYWRnZXttYXgtd2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDttaW4taGVpZ2h0OjI0cHg7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5iYWRnZSBzdmd7ZmxleDowIDAgYXV0b30uYmFkZ2Utb2t7Y29sb3I6dmFyKC0tc3RhdHVzLXZlcmlmaWVkKTtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy12ZXJpZmllZC1iZyl9LmJhZGdlLXdhcm57Y29sb3I6dmFyKC0tc3RhdHVzLWF0dGVudGlvbik7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtYXR0ZW50aW9uLWJnKX0uYmFkZ2UtZXJyb3J7Y29sb3I6dmFyKC0tc3RhdHVzLWJsb2NrZWQpO2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWJsb2NrZWQtYmcpfS5iYWRnZS11bmtub3due2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2Utc3VidGxlKX0uYmFkZ2UtYWNjZW50e2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zdXJmYWNlKX0udXB7Y29sb3I6dmFyKC0tdXApfS5kb3due2NvbG9yOnZhcigtLWRvd24pfS5mbGF0e2NvbG9yOnZhcigtLW11dGVkKX0uYXNvZntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmVtcHR5LXN0YXRlLC5lcnJvci1zdGF0ZXttaW4taGVpZ2h0OjA7cGFkZGluZzoxMnB4IDE0cHg7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4IDEwcHg7dGV4dC1hbGlnbjpsZWZ0O2NvbG9yOnZhcigtLW11dGVkKTtib3JkZXItcmFkaXVzOjEwcHh9LmVtcHR5LXN0YXRle2JvcmRlcjoxcHggZGFzaGVkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWxpbmUpIDkwJSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdXJmYWNlLTIpIDMwJSx0cmFuc3BhcmVudCl9LmVycm9yLXN0YXRle2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdXJmYWNlLTIpIDE4JSx2YXIoLS1zdXJmYWNlKSl9LnN0YXRlLWljb257ZmxleDpub25lO3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp2YXIoLS1tdXRlZCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1tdXRlZCkgOSUsdHJhbnNwYXJlbnQpfS5zdGF0ZS1pY29uLWVycm9ye2NvbG9yOnZhcigtLW11dGVkKX0uc3RhdGUtY29weXtmbGV4OjEgMSAxODBweDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHggOHB4fS5zdGF0ZS1jb3B5Pi5zdGF0ZS1kZXRhaWxze2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7bWFyZ2luLXRvcDowfS5zdGF0ZS1jb3B5Pi5zdGF0ZS1kZXRhaWxzW29wZW5de2ZsZXg6MSAxIGF1dG99LmVtcHR5LXN0YXRlIC5lbXB0eS10aXRsZSwuZXJyb3Itc3RhdGUgLmVycm9yLXRpdGxle21hcmdpbjowO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjR9LmVtcHR5LXN0YXRlIC5lbXB0eS10aXRsZSwuZXJyb3Itc3RhdGUgLmVycm9yLXRpdGxle2NvbG9yOnZhcigtLWluayl9LnN0YXRlLWFjdGlvbntmbGV4Om5vbmU7bWFyZ2luLWxlZnQ6YXV0bztkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LnN0YXRlLWRldGFpbHN7bWFyZ2luLXRvcDozcHh9LnN0YXRlLWRldGFpbHM+c3VtbWFyeXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQ7Y3Vyc29yOnBvaW50ZXI7bGlzdC1zdHlsZTpub25lfS5zdGF0ZS1kZXRhaWxzPnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS5zdGF0ZS1kZXRhaWxzPnN1bW1hcnk6YmVmb3Jle2NvbnRlbnQ6IuKAuiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjEycyBlYXNlfS5zdGF0ZS1kZXRhaWxzW29wZW5dPnN1bW1hcnk6YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zdGF0ZS1kZXRhaWxzPnB7bWFyZ2luOjVweCAwIDA7bWF4LXdpZHRoOjYyY2g7Zm9udC1zaXplOjEyLjVweDtsaW5lLWhlaWdodDoxLjU1O292ZXJmbG93LXdyYXA6YW55d2hlcmV9LnN0YXRlLWRldGFpbHMgdWx7bWFyZ2luOjZweCAwIDA7cGFkZGluZy1sZWZ0OjE4cHg7Zm9udC1zaXplOjEyLjVweDtsaW5lLWhlaWdodDoxLjU1fS5zdGF0ZS1jb3B5IC5zdGF0ZS1zaG9ydHttYXJnaW46MDtmb250LXNpemU6MTIuNXB4O2xpbmUtaGVpZ2h0OjEuNDV9LnN0YXRlLXNob3J0e2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93LXdyYXA6YW55d2hlcmV9LnN0YXRlLWlubGluZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHggMTBweDttYXJnaW4tdG9wOjhweH0uc3RhdGUtaW5saW5lIC5zdGF0ZS1kZXRhaWxze21hcmdpbi10b3A6MH0uc2tlbGV0b257Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tc3VyZmFjZS0yKSAyNSUsY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VyZmFjZS0yKSA2MCUsdmFyKC0tc3VyZmFjZSkpIDUwJSx2YXIoLS1zdXJmYWNlLTIpIDc1JSk7YmFja2dyb3VuZC1zaXplOjIwMCUgMTAwJTthbmltYXRpb246c2tlbGV0b24tc3dlZXAgMS40cyBpbmZpbml0ZTttaW4taGVpZ2h0OjE2cHh9QGtleWZyYW1lcyBza2VsZXRvbi1zd2VlcHswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCUgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlIDB9fS5wYWdle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjI0cHh9LnBhZ2UtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHggMTZweDtmbGV4LXdyYXA6d3JhcH0ucGFnZS10aXRsZXttYXJnaW46MDtmb250LXNpemU6MzJweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbTtsaW5lLWhlaWdodDoxLjI1fS5wYWdlLXN1YnRpdGxle21hcmdpbjotMTJweCAwIDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNTttYXgtd2lkdGg6NzJjaH0ucGFnZS1oZWFkZXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHggMTJweDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tbGVmdDphdXRvfS5wYWdlLWhlYWRlci1hY3Rpb25zIC5zZWdtZW50ZWR7bWF4LXdpZHRoOjEwMCV9LmdyaWQtMntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE4cHh9LnNlY3Rpb24tc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweH0udGFibGUtd3JhcHtvdmVyZmxvdy14OmF1dG87Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKX10YWJsZS5kYXRhLXRhYmxle3dpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtc2l6ZToxM3B4fS5kYXRhLXRhYmxlIHRoLC5kYXRhLXRhYmxlIHRke3BhZGRpbmc6MTBweCAxNHB4O3RleHQtYWxpZ246bGVmdDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1zb2Z0LWxpbmUsIHZhcigtLWxpbmUpKTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmRhdGEtdGFibGUgdGhlYWQgdGh7cG9zaXRpb246c3RpY2t5O3RvcDowO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VyZmFjZS0yKSA1NSUsdmFyKC0tc3VyZmFjZSkpO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6MTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKX0uZGF0YS10YWJsZSB0Ym9keSB0cnt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGVhc2V9LmRhdGEtdGFibGUgdGJvZHkgdHI6aG92ZXJ7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDQlLHZhcigtLXN1cmZhY2UpKX0uZGF0YS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRke2JvcmRlci1ib3R0b206bm9uZX0udGFibGUtc29ydHtib3JkZXI6MDtwYWRkaW5nOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246aW5oZXJpdH0udGFibGUtc29ydHttaW4taGVpZ2h0OjI0cHh9LmRhdGEtdGFibGUgdGguc29ydGFibGV7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmRhdGEtdGFibGUgdGguc29ydGFibGU6aG92ZXJ7Y29sb3I6dmFyKC0taW5rKX0uZGF0YS10YWJsZSB0ZC5udW0sLmRhdGEtdGFibGUgdGgubnVte3RleHQtYWxpZ246cmlnaHQ7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5jYXJkLWRldGFpbHN7bWFyZ2luLXRvcDo2cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpfS5jYXJkLWRldGFpbHM+c3VtbWFyeXtjdXJzb3I6cG9pbnRlcn0uY2FyZC1kZXRhaWxzIHB7bWFyZ2luOjRweCAwIDB9LmFjY291bnQtZmFjdHMtbm90ZXN7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpfS5hY2NvdW50LWZhY3RzLW5vdGVzIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXJ9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LmRhdGEtdGFibGUgdGgsLmRhdGEtdGFibGUgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9fS50YWJze2Rpc3BsYXk6ZmxleDtnYXA6MnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZsZXgtd3JhcDp3cmFwO292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0udGFiczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS50YWJ7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6MTFweCAxNHB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0udGFiOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRhYi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2ZvbnQtd2VpZ2h0OjYwMH0uc2VnbWVudGVke2Rpc3BsYXk6aW5saW5lLWZsZXg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6M3B4O2dhcDoycHg7ZmxleC13cmFwOndyYXB9LnNlZ21lbnRlZCAuc2VnbWVudHttaW4taGVpZ2h0OjI4cHg7cGFkZGluZzo0cHggMTFweDtib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS1tdXRlZCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxLjM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xcyBlYXNlLGNvbG9yIC4xcyBlYXNlfS5zZWdtZW50ZWQgLnNlZ21lbnQ6aG92ZXI6bm90KC5hY3RpdmUpe2NvbG9yOnZhcigtLWluayl9LnNlZ21lbnRlZCAuc2VnbWVudCAuc2VnbWVudC1zdWJ7Zm9udC1zaXplOjEycHg7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5zZWdtZW50ZWQgLnNlZ21lbnQuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDFweCAzcHggIzBmMTcyYTFhfS5maWVsZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo1cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5maWVsZD5zcGFue2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKX0uaW5wdXQsc2VsZWN0LmlucHV0LHRleHRhcmVhLmlucHV0e21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2JvcmRlcjouNXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdHJvbmcpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250OmluaGVyaXQ7d2lkdGg6MTAwJX0uaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCksc2VsZWN0LmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpLHRleHRhcmVhLmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmlucHV0OmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmcpO291dGxpbmUtb2Zmc2V0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5pbnB1dDpkaXNhYmxlZCxzZWxlY3QuaW5wdXQ6ZGlzYWJsZWQsdGV4dGFyZWEuaW5wdXQ6ZGlzYWJsZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jYXJkLmNhcmQtZmxhdHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMSk7Ym9yZGVyOi41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jYXJkKTtwYWRkaW5nOnZhcigtLXBhZC1jYXJkKX0uY2hlY2tib3gtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo4cHg7Zm9udC1zaXplOjEzcHh9LmNoZWNrYm94LXJvdyBpbnB1dHttYXJnaW4tdG9wOjNweH0uZGlhbG9nLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDp2YXIoLS1vdmVybGF5LXNjcmltKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4O3otaW5kZXg6NTB9LmRpYWxvZ3tiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpO21heC13aWR0aDo0ODBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6ODV2aDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MzJweH0uZGlhbG9nIGgye21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjEuNH0uZGlhbG9nIC5kaWFsb2ctdGFyZ2V0e2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDhweH0uZGlhbG9nIC5kaWFsb2ctc3VtbWFyeXtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjAgMCA4cHh9LmRpYWxvZyAuZGlhbG9nLWNvbnNlcXVlbmNle21hcmdpbjowIDAgMTJweH0uZGlhbG9nIC5kaWFsb2ctY29uc2VxdWVuY2UuZGFuZ2Vye2NvbG9yOnZhcigtLWRhbmdlcil9LmRpYWxvZy1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjhweDttYXJnaW4tdG9wOjE2cHh9LnRvYXN0LXN0YWNre3Bvc2l0aW9uOmZpeGVkO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3otaW5kZXg6MTIwO21heC13aWR0aDptaW4oNDIwcHgsY2FsYygxMDB2dyAtIDMycHgpKX0udG9hc3R7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KTtwYWRkaW5nOjEwcHggMTJweDtkaXNwbGF5OmZsZXg7Z2FwOjhweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZvbnQtc2l6ZToxM3B4fS50b2FzdC5lcnJvcntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1zdGF0dXMtZXJyb3IpfS50b2FzdC5zdWNjZXNze2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLXN0YXR1cy1vayl9LnRvYXN0IGJ1dHRvbntjb2xvcjp2YXIoLS1tdXRlZCk7ZmxleDowIDAgYXV0b30uZGlmZi1hZmZlY3RzLWxpdmV7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXdlaWdodDo2MDB9LnRpbWVsaW5le2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9LnRpbWVsaW5lIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAwIDE2cHggMjBweDtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tbGluZSk7bWFyZ2luLWxlZnQ6NnB4fS50aW1lbGluZSBsaTpsYXN0LWNoaWxke3BhZGRpbmctYm90dG9tOjB9LnRpbWVsaW5lIGxpOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTZweDt0b3A6NHB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpfS50aW1lbGluZSAudGltZWxpbmUtdGltZXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmRhbmdlci16b25le2JvcmRlcjoxcHggc29saWQgdmFyKC0tZGFuZ2VyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweH0uZGFuZ2VyLXpvbmUtdGl0bGV7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjA7Zm9udC1zaXplOjE0cHh9LmRhbmdlci1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjE2cHg7ZmxleC13cmFwOndyYXB9LmRhbmdlci1yb3cgLmRhbmdlci1yb3ctdGV4dHtmbGV4OjEgMSAzMjBweH0uZGFuZ2VyLXJvdyAuZGFuZ2VyLXJvdy10ZXh0IHN0cm9uZ3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MnB4fS5kYW5nZXItcm93IC5kYW5nZXItcm93LXRleHQgcHttYXJnaW46MDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHh9LmNoYXJ0e3dpZHRoOjEwMCV9LmNoYXJ0LWxlZ2VuZHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweCAxNnB4O21hcmdpbi10b3A6OHB4fS5jaGFydC1sZWdlbmQgYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MnB4IDRweDtib3JkZXItcmFkaXVzOjRweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt0ZXh0LWFsaWduOmxlZnR9LmNoYXJ0LWxlZ2VuZCBidXR0b246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5jaGFydC1sZWdlbmQgYnV0dG9uLm9mZntvcGFjaXR5Oi40O3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LmNoYXJ0LWxlZ2VuZCAubGVnZW5kLXN3YXRjaHtmbGV4OjAgMCAxNHB4O3dpZHRoOjE0cHg7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ibG9ja30uY2hhcnQtdG9vbHRpcHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpO3BhZGRpbmc6OHB4IDEwcHg7Zm9udC1zaXplOjEycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO21heC13aWR0aDptaW4oMjQwcHgsNzB2dyk7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmNoYXJ0LXRvb2x0aXAgLnRvb2x0aXAtZGF0ZXtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLWJvdHRvbTo0cHh9LmNoYXJ0LXRvb2x0aXAgLnRvb2x0aXAtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LmNoYXJ0LWZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlfS5jYWxlbmRhci1tb250aC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsbWlubWF4KDM2cHgsMWZyKSk7Z2FwOjRweH0uY2FsZW5kYXItY2VsbHttaW4taGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nOjRweCA2cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSl9LmNhbGVuZGFyLWNlbGwgLmNlbGwtZGF0ZXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjExcHh9LmNhbGVuZGFyLWNlbGwgLmNlbGwtdmFsdWV7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtd2VpZ2h0OjYwMH0uY2FsZW5kYXItY2VsbC5jZWxsLWVtcHR5e2JvcmRlci1zdHlsZTpkYXNoZWQ7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZyx0cmFuc3BhcmVudCAwIDZweCx2YXIoLS1zdXJmYWNlLTIpIDZweCAxMnB4KX0uY2FsZW5kYXIteWVhci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsbWlubWF4KDAsMWZyKSk7Z2FwOjhweH0uY2FsZW5kYXItbmF2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4fS5jYWxlbmRhci1uYXYgLmN1cnJlbnR7Zm9udC13ZWlnaHQ6NjAwO21pbi13aWR0aDoxMTBweDt0ZXh0LWFsaWduOmNlbnRlcn0uY2FsZW5kYXItd2Vla2RheXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmJhcmxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5iYXJsaXN0LXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjkwcHggMWZyIDkwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOjEzcHh9LmJhcmxpc3QtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5iYXJsaXN0LXRyYWNre3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxNHB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS0yKTtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW59LmJhcmxpc3QtZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtib3JkZXItcmFkaXVzOjRweH0uYmFybGlzdC12YWx1ZXt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uaW5ib3h7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjgwcHgsMzgwcHgpIDFmcjtnYXA6MTZweDthbGlnbi1pdGVtczpzdGFydH0uaW5ib3gubGlzdC1vbmx5e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5pbmJveC5saXN0LW9ubHkgLmluYm94LWxpc3R7bWF4LXdpZHRoOm5vbmV9LmluYm94LWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5pbmJveC1pdGVte2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJX0uaW5ib3gtaXRlbTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uaW5ib3gtaXRlbS5hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tYWNjZW50KX0ucHJpb3JpdHktZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6NnB4O2ZsZXg6MCAwIGF1dG99LnByaW9yaXR5LWhpZ2h7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtZXJyb3IpfS5wcmlvcml0eS1tZWRpdW17YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtd2Fybil9LnByaW9yaXR5LW5vcm1hbHtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy11bmtub3duKX0uaW5ib3gtaXRlbSAuaXRlbS1tYWlue21pbi13aWR0aDowO2ZsZXg6MSAxIGF1dG99LmluYm94LWl0ZW0gLml0ZW0tdGl0bGV7Zm9udC13ZWlnaHQ6NjAwO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmluYm94LWl0ZW0gLml0ZW0tbWV0YXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7ZmxleC13cmFwOndyYXB9LmluYm94LWRldGFpbHtwb3NpdGlvbjpzdGlja3k7dG9wOjcycHh9LmluYm94LWFjdGlvbnN7cG9zaXRpb246c3RpY2t5O2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtnYXA6OHB4O3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLXRvcDoxMnB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7ZmxleC13cmFwOndyYXB9LmFjY291bnQtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMjYwcHgsMWZyKSk7Z2FwOjEycHh9LmFjY291bnQtY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7cGFkZGluZzoxNHB4IDE2cHg7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweH0uYWNjb3VudC1jYXJkOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5hY2NvdW50LWNhcmQgLmFjY291bnQtdGl0bGV7Zm9udC13ZWlnaHQ6NzAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0uYWNjb3VudC1jYXJkIC5hY2NvdW50LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweDtmb250LXNpemU6MTNweH0uYWNjb3VudC1jYXJkIC5hY2NvdW50LXJvdyBzcGFuOmZpcnN0LWNoaWxke2NvbG9yOnZhcigtLW11dGVkKX0uYWNjb3VudHMtbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDMwMHB4LDQyMHB4KSAxZnI7Z2FwOjE2cHg7YWxpZ24taXRlbXM6c3RhcnR9LnN0cmF0ZWd5LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKTtnYXA6MTJweH1AbWVkaWEobWF4LXdpZHRoOjEwMDBweCl7LnN0cmF0ZWd5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsuYWNjb3VudC1ncmlkLC5zdHJhdGVneS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfX0uaGVhbHRoLWdyaWR7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJzY3JvbGwtYmVoYXZpb3IteDpjb250YWluO3Njcm9sbGJhci13aWR0aDp0aGluO3BhZGRpbmctYm90dG9tOjJweH0uaGVhbHRoLWdyaWQgdGFibGV7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtc2l6ZToxMnB4fS5oZWFsdGgtZ3JpZC1oaW50e2Rpc3BsYXk6bm9uZTttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS40NX0udGFibGUtc2Nyb2xsLWhpbnR7ZGlzcGxheTpub25lO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQ1fS5oZWFsdGgtZ3JpZCB0aCwuaGVhbHRoLWdyaWQgdGR7cGFkZGluZzo0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmhlYWx0aC1ncmlkIHRoe2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo1MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5oZWFsdGgtY2VsbHt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtmb250LXNpemU6MTFweH0uaGVhbHRoLWNlbGwub2t7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdGF0dXMtb2spIDIwJSx0cmFuc3BhcmVudCk7Y29sb3I6dmFyKC0tc3RhdHVzLW9rKX0uaGVhbHRoLWNlbGwuZmFpbGVke2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3RhdHVzLWVycm9yKSAyMCUsdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLXN0YXR1cy1lcnJvcil9LmhlYWx0aC1jZWxsLm5vdC1ydW57YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWNlbGwubm8tcmVjb3Jke2JhY2tncm91bmQ6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgxMzVkZWcsdHJhbnNwYXJlbnQgMCA0cHgsdmFyKC0tc3VyZmFjZS0yKSA0cHggOHB4KTtjb2xvcjp2YXIoLS1tdXRlZCl9LmhlYWx0aC1jZWxsOmhvdmVyLC5oZWFsdGgtY2VsbDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCl9LmhlYWx0aC1sZWdlbmR7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWxlZ2VuZCBzcGFue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LnN0YXQtc3RyaXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKTtnYXA6MTJweH0uc2NvcGUtc3dpdGNoZXJ7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjB9LnNjb3BlLXRyaWdnZXJ7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LnNjb3BlLXRyaWdnZXItbGFiZWx7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zY29wZS1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNHB4KTtsZWZ0OjA7bWluLXdpZHRoOjIyMHB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdyk7cGFkZGluZzo2cHg7ei1pbmRleDo1MDttYXgtaGVpZ2h0OjMyMHB4O292ZXJmbG93OmF1dG99LnNjb3BlLWdyb3Vwe3BhZGRpbmc6NHB4IDhweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LnNjb3BlLW9wdGlvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjhweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTt0ZXh0LWFsaWduOmxlZnQ7bWluLXdpZHRoOjB9LnNjb3BlLW9wdGlvbi1sYWJlbHtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2xpbmUtaGVpZ2h0OjEuNH0uc2NvcGUtb3B0aW9uIC5iYWRnZXtmbGV4Om5vbmV9LnNjb3BlLXBhbmVsLXRleHR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5zY29wZS1vcHRpb246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5zY29wZS1vcHRpb24uYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NjAwfS51c2VyLW1lbnV7cG9zaXRpb246cmVsYXRpdmV9LnVzZXItbWVudT5zdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZTt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1vbi1hY2NlbnQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXJ9LnVzZXItbWVudT5zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0udXNlci1tZW51LXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOmNhbGMoMTAwJSArIDRweCk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW0pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KTtwYWRkaW5nOjhweDttaW4td2lkdGg6MjAwcHg7ei1pbmRleDo1MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnVzZXItbWVudS1wYW5lbCAubWVudS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO3RleHQtYWxpZ246bGVmdH0udXNlci1tZW51LXBhbmVsIC5tZW51LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS51c2VyLW1lbnUtbmFtZXtwYWRkaW5nOjRweCA4cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO21hcmdpbi1ib3R0b206NHB4fS5wcmVmcy1ncmlke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE2cHh9LnByZWZzLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNnB4fS5wcmVmcy1yb3c+c3Bhbntmb250LXdlaWdodDo1MDB9LmJvb3Qtc2NyZWVuLC5hY2Nlc3Mtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjI0cHh9LmFjY2Vzcy1zY3JlZW4gaW1ne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9LmFjY2Vzcy1zY3JlZW4gaDF7bWFyZ2luOjA7Zm9udC1zaXplOjI0cHh9LmFjY2Vzcy1zY3JlZW4gcHtjb2xvcjp2YXIoLS1tdXRlZCk7bWF4LXdpZHRoOjQyMHB4O21hcmdpbjowfS5nbG9iYWwtbm90aWNle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo4cHggMTZweDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN0YXR1cy13YXJuKSAxMiUsdmFyKC0tc3VyZmFjZSkpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZvbnQtc2l6ZToxM3B4fUBtZWRpYShtYXgtd2lkdGg6MTAyNHB4KXsua3BpLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5ncmlkLTIsLmFjY291bnRzLWxheW91dCwuaW5ib3h7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uaW5ib3gtZGV0YWlse3Bvc2l0aW9uOnN0YXRpY319QG1lZGlhKG1heC13aWR0aDoxMTAwcHgpey5zdGF0LXN0cmlwe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX19QG1lZGlhKG1heC13aWR0aDoxNzAwcHgpYW5kIChtaW4td2lkdGg6NzY5cHgpey50b3BiYXJ7ZmxleC13cmFwOndyYXA7Z2FwOjhweCAxNnB4O3BhZGRpbmctYmxvY2s6OHB4fS50b3BuYXZ7b3JkZXI6MTtmbGV4LWJhc2lzOjEwMCU7aGVpZ2h0OjQ0cHh9fUBtZWRpYShtYXgtd2lkdGg6MTE4MHB4KWFuZCAobWluLXdpZHRoOjc2OXB4KXsudG9wYmFye2dhcDoxMHB4O3BhZGRpbmc6MCAxNnB4fS50b3BiYXItdXBkYXRlZHtkaXNwbGF5Om5vbmV9LnRvcG5hdi1pdGVte3dpZHRoOjQ0cHg7cGFkZGluZzowO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnRvcG5hdi1sYWJlbHtkaXNwbGF5Om5vbmV9fUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5zdGF0LXN0cmlwe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0udG9wbmF2e2Rpc3BsYXk6bm9uZX0uYm90dG9tLXRhYnN7ZGlzcGxheTpibG9ja30uY29udGVudHtwYWRkaW5nOjIwcHggMTZweCBjYWxjKHZhcigtLWJvdHRvbS10YWJzLWhlaWdodCkgKyAzMnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKX0uaGVhbHRoLWdyaWQtaGludCwudGFibGUtc2Nyb2xsLWhpbnR7ZGlzcGxheTpibG9ja30ucGFnZXtnYXA6MTZweH0ucGFnZS1oZWFkZXJ7Z2FwOjEwcHh9LnBhZ2UtdGl0bGV7Zm9udC1zaXplOjI4cHg7bGV0dGVyLXNwYWNpbmc6LS4wMmVtfS5wYWdlLXN1YnRpdGxle21hcmdpbi10b3A6LThweDtmb250LXNpemU6MTRweH0ucGFnZS1oZWFkZXItYWN0aW9uc3ttYXJnaW4tbGVmdDphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ucGFnZS1oZWFkZXItYWN0aW9uczpoYXMoPi5zZWdtZW50ZWQpe3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MH0ucGFnZS1oZWFkZXItYWN0aW9ucz4uYnV0dG9ue2ZsZXg6MCAwIGF1dG99LnBhZ2UtaGVhZGVyLWFjdGlvbnM+LnNlZ21lbnRlZHt3aWR0aDoxMDAlO2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3cteDphdXRvO3Njcm9sbGJhci13aWR0aDpub25lfS5wYWdlLWhlYWRlci1hY3Rpb25zPi5zZWdtZW50ZWQ6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ucGFnZS1oZWFkZXItYWN0aW9ucz4uc2VnbWVudGVkIC5zZWdtZW50e2ZsZXg6MSAxIGF1dG87anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNhcmR7cGFkZGluZzoxNnB4fS5jYXJkLXRpdGxle2ZvbnQtc2l6ZToxOHB4O21hcmdpbi1ib3R0b206MTBweH0ua3BpLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5rcGktdmFsdWV7Zm9udC1zaXplOjIycHh9LmtwaS1jYXJke3BhZGRpbmc6MTRweH0udG9wYmFyLXVwZGF0ZWR7ZGlzcGxheTpub25lfS50b3BiYXJ7bWluLWhlaWdodDo1NnB4O2ZsZXgtd3JhcDpub3dyYXA7Z2FwOjhweDtwYWRkaW5nOjZweCAxMnB4fS50b3BiYXIgLmJyYW5kIGltZ3t3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS5icmFuZC1jb3B5e2Rpc3BsYXk6bm9uZX0udG9wYmFyIC5zY29wZS1zd2l0Y2hlcntmbGV4OjEgMSBhdXRvO21pbi13aWR0aDo0NHB4fS50b3BiYXIgLnNwYWNlciwubGFuZy1sYWJlbC1mdWxse2Rpc3BsYXk6bm9uZX0ubGFuZy1sYWJlbC1zaG9ydHtkaXNwbGF5OmlubGluZX0udG9wYmFyIC50aGVtZS10b2dnbGUtbGFiZWx7ZGlzcGxheTpub25lfS50b3BiYXIgLmFwcGVhcmFuY2UtdG9nZ2xlLC50b3BiYXIgLmljb24tYnV0dG9uLC50b3BiYXIgLnVzZXItbWVudT5zdW1tYXJ5e21pbi13aWR0aDo0NHB4O21pbi1oZWlnaHQ6NDRweH0udG9wYmFyIC5zY29wZS10cmlnZ2Vye3dpZHRoOjEwMCU7bWluLXdpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4fS5zY29wZS1wYW5lbHt3aWR0aDptaW4oMzQwcHgsY2FsYygxMDB2dyAtIDI0cHgpKTttYXgtaGVpZ2h0OjYwZHZofS5zY29wZS1vcHRpb257bWluLWhlaWdodDo0NHB4fS5jYWxlbmRhci15ZWFyLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5pbmJveC1hY3Rpb25ze3Bvc2l0aW9uOnN0YXRpY30uZW1wdHktc3RhdGUsLmVycm9yLXN0YXRle3BhZGRpbmc6MTFweCAxMnB4fS5zdGF0ZS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9LmRhdGEtdGFibGUgdGgsLmRhdGEtdGFibGUgdGR7cGFkZGluZzo5cHggMTFweH19QG1lZGlhKG1heC13aWR0aDo0MzBweCl7LnRvcGJhcjpoYXMoPi5zY29wZS1zd2l0Y2hlcik6aGFzKD4udG9wYmFyLXN5bnRoZXRpYyl7ZmxleC13cmFwOndyYXB9LnRvcGJhcjpoYXMoPi5zY29wZS1zd2l0Y2hlcik6aGFzKD4udG9wYmFyLXN5bnRoZXRpYyk+LnRvcGJhci1zeW50aGV0aWN7b3JkZXI6MTA7ZmxleDoxIDEgMTAwJTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn19LnVwZGF0ZS1ub3RpY2V7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4O3BhZGRpbmc6MTJweCAyMHB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS0yKX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpeyosKjpiZWZvcmUsKjphZnRlcnthbmltYXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnR9fS5hcHBlYXJhbmNlLXRvZ2dsZXtmbGV4OjAgMCBhdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0uYWNjb3VudC1wbGF0Zm9ybS1ncm91cCsuYWNjb3VudC1wbGF0Zm9ybS1ncm91cHttYXJnaW4tdG9wOjIwcHh9LmFjY291bnQtcGxhdGZvcm0tdGl0bGV7bWFyZ2luOjAgMCAxMHB4O2ZvbnQtc2l6ZToxNnB4fS5hY2NvdW50LXN0cmF0ZWd5LWxpbmt7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJTtnYXA6NnB4O3BhZGRpbmc6MTBweCA4cHg7bWFyZ2luOjAgLThweDtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjEycyBlYXNlfS5hY2NvdW50LXN0cmF0ZWd5LWxpbmsrLmFjY291bnQtc3RyYXRlZ3ktbGlua3tib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKX0uYWNjb3VudC1zdHJhdGVneS1saW5rOmhvdmVyIC5hY2NvdW50LXN0cmF0ZWd5LW5hbWV7Y29sb3I6dmFyKC0tYWNjZW50KTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5hY2NvdW50LXN0cmF0ZWd5LWxpbms6aG92ZXIsLmFjY291bnQtc3RyYXRlZ3ktbGluazpmb2N1cy12aXNpYmxle2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA2JSx0cmFuc3BhcmVudCl9LmFjY291bnQtc3RyYXRlZ3ktaGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7bWluLXdpZHRoOjB9LmFjY291bnQtc3RyYXRlZ3ktY2hldnJvbntmbGV4OjAgMCBhdXRvO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxO3RyYW5zaXRpb246Y29sb3IgLjEycyBlYXNlLHRyYW5zZm9ybSAuMTJzIGVhc2V9LmFjY291bnQtc3RyYXRlZ3ktbGluazpob3ZlciAuYWNjb3VudC1zdHJhdGVneS1jaGV2cm9uLC5hY2NvdW50LXN0cmF0ZWd5LWxpbms6Zm9jdXMtdmlzaWJsZSAuYWNjb3VudC1zdHJhdGVneS1jaGV2cm9ue2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgpfS5hY2NvdW50LXN0cmF0ZWd5LW5hbWV7Zm9udC13ZWlnaHQ6NjAwO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmFjY291bnQtYnJva2VyLXRpdGxle21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToxNXB4O292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmFjY291bnQtaWRlbnRpdHktbm90ZXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LnRvcGJhcntnYXA6OHB4O3BhZGRpbmctaW5saW5lOjEycHh9LnRvcGJhciAuc2NvcGUtc3dpdGNoZXJ7bWluLXdpZHRoOjQ0cHh9LnNjb3BlLXN3aXRjaGVyPmJ1dHRvbnttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmFjY291bnQtc3RyYXRlZ3ktbGlua3ttaW4taGVpZ2h0OjQ0cHh9fS5hY2NvdW50LWdyb3VwLWNhcmQgLmFjY291bnQtcm93e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDtmb250LXNpemU6MTNweH0uYWNjb3VudC1ncm91cC1jYXJkIC5hY2NvdW50LXJvdz5zcGFuOmZpcnN0LWNoaWxke2NvbG9yOnZhcigtLW11dGVkKX0uYWNjb3VudC1zdHJhdGVneS1saW5rPi5iYWRnZXthbGlnbi1zZWxmOmZsZXgtc3RhcnR9LmNhbGVuZGFyLWNlbGwuY2VsbC1mdXR1cmV7Ym9yZGVyLXN0eWxlOnNvbGlkO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VyZmFjZS0yKSA1NSUsdmFyKC0tc3VyZmFjZSkpfS5jYWxlbmRhci1jZWxsLmNlbGwtY2xvc2Vke2JvcmRlci1zdHlsZTpzb2xpZDtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMil9LmNhbGVuZGFyLWNlbGwuY2VsbC1wZW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA0NSUsdmFyKC0tbGluZSkpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSl9LmNhbGVuZGFyLWNlbGwuY2VsbC1wZW5kaW5nOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDo1cHg7d2lkdGg6NXB4O2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO29wYWNpdHk6LjY1fQo=" }, - "/v2/assets/overview-BnD81Tiy.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgeSxuIGFzIF8sZCBhcyB1fWZyb20iLi9zaGFyZWQtRHJOVjdaZGguanMiO2NvbnN0IGU9IjIwMjYtMTEtMDJUMTQ6MzE6MTJaIixuPSIyMDI2LTExLTAyVDE0OjI2OjAwWiIsdD0oYSxzPWUpPT4oe3N0YXR1czoia25vd24iLHZhbHVlOmEsb2JzZXJ2ZWRfYXQ6c30pO2Z1bmN0aW9uIHIoYSxzLHYsdyxsPVtdKXtjb25zdCBvPXUoIjIwMjYtMTAtMDQiLDMwKTtyZXR1cm57cG9pbnRzOl8oYSxzLG8ubGVuZ3RoLWwubGVuZ3RoLHYsdyksZGF0ZXNfZnJvbTpvWzBdLGRhdGVzX3RvOm9bby5sZW5ndGgtMV0sZ2FwX2RhdGVzOmx9fWNvbnN0IGc9e3RhcmdldF9pZDoiaWJrci9zb3hsIixwbGF0Zm9ybToiaWJrciIscGxhdGZvcm1fbGFiZWw6IklCS1IiLGFjY291bnRfcmVmOiJV4oCi4oCi4oCiMDAwMiIsYWNjb3VudF9zdWZmaXg6IjAwMDIiLHN0cmF0ZWd5OnQoe3Byb2ZpbGU6InNveGxfc294eF90cmVuZF9pbmNvbWUiLGxhYmVsOiJTZW1pY29uZHVjdG9yIFRyZW5kIEluY29tZSJ9KSxtb2RlOnQoImxpdmUiKSxydW50aW1lOnQoInJ1bm5pbmciLCIyMDI2LTExLTAyVDE0OjMxOjQ4WiIpLG5hdjp7c3RhdHVzOiJrbm93biIsY3VycmVuY3k6IlVTRCIsYW1vdW50OiIxOTg0NTAuMDAiLHVzZDoiMTk4NDUwLjAwIixvYnNlcnZlZF9hdDpufSxkYXlfY2hhbmdlOntyYXRpbzoiLTAuMDA2MiIsYW1vdW50OiItMTIzOC4wMCIsY3VycmVuY3k6IlVTRCJ9LHNwYXJrbGluZV8zMGQ6cigyMTQ4MDAsMTk4NDUwLDI2MDAsLjQpLGRyYXdkb3duOntyYXRpbzoiLTAuMTQxIixsaW1pdF9yYXRpbzoiLTAuMTUiLHN0YXRlOiJuZWFyX2xpbWl0In0sY29uZmlnOntzdGF0ZToic3luY2VkIixkcmlmdF9jb3VudDowLGNoZWNrZWRfYXQ6ZX0sbGFzdF9ydW46e2F0OiIyMDI2LTExLTAyVDEzOjU1OjAwWiIsb3V0Y29tZToibm9fb3AifSxyZXR1cm5fYmFzaXM6Im5hdGl2ZV9pYmtyX3R3ciJ9LGY9e3RhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIscGxhdGZvcm06ImxvbmdicmlkZ2UiLHBsYXRmb3JtX2xhYmVsOiJMb25nQnJpZGdlIixhY2NvdW50X3JlZjoiTELigKLigKLigKIwMDA1IixhY2NvdW50X3N1ZmZpeDoiMDAwNSIsc3RyYXRlZ3k6dCh7cHJvZmlsZToiaGtfZ2xvYmFsX2V0Zl90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6IkhLIEVURiBUYWN0aWNhbCBSb3RhdGlvbiJ9KSxtb2RlOnQoImxpdmUiKSxydW50aW1lOntzdGF0dXM6InVua25vd24iLHJlYXNvbjoiaWRlbnRpdHlfdW52ZXJpZmllZCJ9LG5hdjp7c3RhdHVzOiJrbm93biIsY3VycmVuY3k6IkhLRCIsYW1vdW50OiIxMTEzMDAwLjAwIix1c2Q6IjE0MjcwMC4wMCIsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTEtMDJUMDk6MDY6MDBaIn0sZGF5X2NoYW5nZTp7cmF0aW86Ii0wLjAwODgiLGFtb3VudDoiLTEyNTYuMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMTQ1ODAwLDE0MjcwMCw5MDAsMS4zLFsiMjAyNi0xMC0xMiJdKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjA1OSIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJkcmlmdCIsZHJpZnRfY291bnQ6MixjaGVja2VkX2F0OmV9LGxhc3RfcnVuOnthdDoiMjAyNi0xMS0wMlQwOTowNTowMFoiLG91dGNvbWU6ImRyaWZ0In0scmV0dXJuX2Jhc2lzOiJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQifSxtPXt0YXJnZXRfaWQ6Imlia3IvdHFxcSIscGxhdGZvcm06Imlia3IiLHBsYXRmb3JtX2xhYmVsOiJJQktSIixhY2NvdW50X3JlZjoiVeKAouKAouKAojAwMDEiLGFjY291bnRfc3VmZml4OiIwMDAxIixzdHJhdGVneTp0KHtwcm9maWxlOiJ0cXFxX2dyb3d0aF9pbmNvbWUiLGxhYmVsOiJUUVFRIEdyb3d0aCBJbmNvbWUifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiNDEyMzgwLjAwIix1c2Q6IjQxMjM4MC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDE4NCIsYW1vdW50OiI3NTg4LjAwIixjdXJyZW5jeToiVVNEIn0sc3BhcmtsaW5lXzMwZDpyKDM5ODEwMCw0MTIzODAsMzEwMCwyLjEpLGRyYXdkb3duOntyYXRpbzoiLTAuMDYyIixsaW1pdF9yYXRpbzoiLTAuMTUiLHN0YXRlOiJvayJ9LGNvbmZpZzp7c3RhdGU6InN5bmNlZCIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0OmV9LGxhc3RfcnVuOnthdDoiMjAyNi0xMS0wMlQxNDoyNTowMFoiLG91dGNvbWU6Im5vX29wIn0scmV0dXJuX2Jhc2lzOiJuYXRpdmVfaWJrcl90d3IifSxiPXt0YXJnZXRfaWQ6InNjaHdhYi9jb3JlIixwbGF0Zm9ybToic2Nod2FiIixwbGF0Zm9ybV9sYWJlbDoiU2Nod2FiIixhY2NvdW50X3JlZjoiU+KAouKAouKAojAwMDMiLGFjY291bnRfc3VmZml4OiIwMDAzIixzdHJhdGVneTp0KHtwcm9maWxlOiJ1c19lcXVpdHlfY29tYm9fY29yZSIsbGFiZWw6IlVTIENvcmUgQ29tYm8ifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiMjM2OTAwLjAwIix1c2Q6IjIzNjkwMC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDA0MiIsYW1vdW50OiI5OTEuMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMjMxMjAwLDIzNjkwMCwxMjAwLDMuMyksZHJhd2Rvd246e3JhdGlvOiItMC4wMzMiLGxpbWl0X3JhdGlvOiItMC4xNSIsc3RhdGU6Im9rIn0sY29uZmlnOntzdGF0ZToic3luY2VkIixkcmlmdF9jb3VudDowLGNoZWNrZWRfYXQ6ZX0sbGFzdF9ydW46e2F0OiIyMDI2LTExLTAyVDA2OjA1OjAwWiIsb3V0Y29tZToibm9fb3AifSxyZXR1cm5fYmFzaXM6Im5hdl9jaGFuZ2VfdW5hZGp1c3RlZCJ9LGs9e3RhcmdldF9pZDoiZmlyc3RyYWRlL2luY29tZSIscGxhdGZvcm06ImZpcnN0cmFkZSIscGxhdGZvcm1fbGFiZWw6IkZpcnN0cmFkZSIsYWNjb3VudF9yZWY6IkbigKLigKLigKIwMDA0IixhY2NvdW50X3N1ZmZpeDoiMDAwNCIsc3RyYXRlZ3k6dCh7cHJvZmlsZToicnVzc2VsbF90b3A1MF9sZWFkZXJfcm90YXRpb24iLGxhYmVsOiJSdXNzZWxsIFRvcCA1MCBMZWFkZXIgUm90YXRpb24ifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiMTIxMzAwLjAwIix1c2Q6IjEyMTMwMC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDAxOCIsYW1vdW50OiIyMTguMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMTE5OTAwLDEyMTMwMCw0MjAsNC4yKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjAxOCIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxsYXN0X3J1bjp7YXQ6IjIwMjYtMTAtMzBUMTk6NDU6MDBaIixvdXRjb21lOiJvcmRlcnNfc3VibWl0dGVkIn0scmV0dXJuX2Jhc2lzOiJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQifSxoPXt0YXJnZXRfaWQ6ImJpbmFuY2Uvc3BvdCIscGxhdGZvcm06ImJpbmFuY2UiLHBsYXRmb3JtX2xhYmVsOiJCaW5hbmNlIixhY2NvdW50X3JlZjoiQk7igKLigKLigKIwMDA2IixhY2NvdW50X3N1ZmZpeDoiMDAwNiIsc3RyYXRlZ3k6dCh7cHJvZmlsZToiYnRjX2RjYSIsbGFiZWw6IkJUQyBEQ0EifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0RUIixhbW91bnQ6Ijc4MDcwLjAwIix1c2Q6Ijc4MDcwLjAwIixvYnNlcnZlZF9hdDpufSxkYXlfY2hhbmdlOntyYXRpbzoiMC4wMDg3IixhbW91bnQ6IjY3My4wMCIsY3VycmVuY3k6IlVTRCJ9LHNwYXJrbGluZV8zMGQ6cig3NDEwMCw3ODA3MCw3MDAsNS4xKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjA0NSIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxsYXN0X3J1bjp7YXQ6IjIwMjYtMTEtMDJUMTQ6MzA6MDBaIixvdXRjb21lOiJmaWxsZWQifSxyZXR1cm5fYmFzaXM6Im5hdl9jaGFuZ2VfdW5hZGp1c3RlZCJ9LGM9dSgiMjAyNi0xMC0wOSIsMjUpLHA9XygxMDAsMTAzLjksYy5sZW5ndGgsLjU1LC43KTtsZXQgZD0wO2NvbnN0IHg9cC5tYXAoYT0+KGQ9TWF0aC5tYXgoZCxOdW1iZXIoYSkpLChOdW1iZXIoYSkvZC0xKS50b0ZpeGVkKDQpKSksaT17b2s6ITAsc2NoZW1hX3ZlcnNpb246InFzbC5kZXNrLm92ZXJ2aWV3LnYxIixnZW5lcmF0ZWRfYXQ6eSxzbmFwc2hvdF9hdDpuLGZyZXNobmVzczp7ZGF0YV9zdGF0dXM6InJlYWR5IixhZ2Vfc2Vjb25kczozNjd9LHJlcG9ydGluZ19jdXJyZW5jeToiVVNEIix0b3RhbHM6e3N0YXR1czoiY29tcGxldGUiLGNvdmVyYWdlOntpbmNsdWRlZDo2LHRvdGFsOjYsZXhjbHVkZWRfcmVhc29uczpbXX0sZng6e3N0YXR1czoia25vd24iLGFzX29mOiIyMDI2LTExLTAyVDE0OjAwOjAwWiIsc291cmNlOiJvdmVydmlld19meCJ9LG5hdjoiMTE4OTgwMC4wMCIsZGF5X2NoYW5nZTp7YW1vdW50OiI2OTc2LjAwIixyYXRpbzoiMC4wMDU5In0sZHJhd2Rvd246e3JhdGlvOiItMC4wNDkiLGxpbWl0X3JhdGlvOiItMC4xNSIscGVha19kYXRlOiIyMDI2LTA5LTE4In0sZ3Jvc3NfZXhwb3N1cmVfcmF0aW86IjAuOTY0IixsZXZlcmFnZWRfZXRmX2V4cG9zdXJlX3JhdGlvOiIwLjQxMiIscnVuc190b2RheTp7ZG9uZToxMSxleHBlY3RlZDoxMixwZW5kaW5nOlt7dGFyZ2V0X2lkOiJpYmtyL3RxcXEiLGR1ZV9hdDoiMjAyNi0xMS0wMlQyMDo1NTowMFoifV19LGNvbmZpZ19kcmlmdDp7Y291bnQ6MSx0YXJnZXRfaWRzOlsibG9uZ2JyaWRnZS9oayJdfSxkYXRhX2FnZV9zZWNvbmRzOjM2N30sYm9vazpbZyxmLG0sYixrLGhdLGVxdWl0eV9jdXJ2ZTp7cmFuZ2U6IjFNIixwb3J0Zm9saW86e2RhdGVzOmMsaW5kZXhlZDpwfSxiZW5jaG1hcms6e2lkOiJuYXNkYXExMDAiLGxhYmVsOiJOYXNkYXEgMTAwIixpbmRleGVkOl8oMTAwLDEwMi4xLGMubGVuZ3RoLC44LDEuOSl9LGRyYXdkb3duOngsaGlzdG9yeV9zdGFydHM6IjIwMjYtMDUtMDQiLHJldHVybl9iYXNpczoibWl4ZWQifSxuZWVkc195b3U6W3tpZDoiYWxyX2RlbW9fMDAwMSIsa2luZDoiY29uZmlnX2RyaWZ0IixzZXZlcml0eToiY3JpdGljYWwiLHRhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIsdGl0bGU6IlBsYXRmb3JtIHJlYWQtYmFjayBkaWZmZXJzIGZyb20gc2F2ZWQgY29uZmlnIixkZXRhaWw6IjIgZmllbGRzOiBlbmFibGVkLCByZXNlcnZlZF9jYXNoX3JhdGlvLiBOb3RoaW5nIHdhcyBjaGFuZ2VkIGF1dG9tYXRpY2FsbHkuIixhY3Rpb246e2xhYmVsOiJSZXZpZXcgZGlmZiIscm91dGU6Ii9hY2NvdW50cz90YXJnZXQ9bG9uZ2JyaWRnZS9oayJ9fSx7aWQ6ImFscl9kZW1vXzAwMDIiLGtpbmQ6ImNyZWRlbnRpYWxfZXhwaXJpbmciLHNldmVyaXR5OiJ3YXJuaW5nIix0YXJnZXRfaWQ6InNjaHdhYi9jb3JlIix0aXRsZToiU2Nod2FiIHJlZnJlc2ggdG9rZW4gZXhwaXJlcyBpbiAyIGRheXMiLGRldGFpbDoiUmVmcmVzaCBpdCBieSBoYW5kIGJlZm9yZSAyMDI2LTExLTA0IDE3OjMwIFVUQy4iLGFjdGlvbjp7bGFiZWw6Ik9wZW4gYWNjb3VudCIscm91dGU6Ii9hY2NvdW50cz90YXJnZXQ9c2Nod2FiL2NvcmUifX0se2lkOiJhbHJfZGVtb18wMDAzIixraW5kOiJkcmF3ZG93bl9uZWFyX2xpbWl0IixzZXZlcml0eToid2FybmluZyIsdGFyZ2V0X2lkOiJpYmtyL3NveGwiLHRpdGxlOiJEcmF3ZG93biBuZWFyIGxpbWl0IixkZXRhaWw6Ii0xNC4xJSBhZ2FpbnN0IGEgLTE1LjAlIGxpbWl0LiBOb3RoaW5nIHdhcyBkb25lIGF1dG9tYXRpY2FsbHkuIixhY3Rpb246e2xhYmVsOiJWaWV3IHN0cmF0ZWd5Iixyb3V0ZToiL292ZXJ2aWV3P3RhcmdldD1pYmtyL3NveGwifX1dfSxxPXsuLi5pLGZyZXNobmVzczp7ZGF0YV9zdGF0dXM6InN0YWxlIixhZ2Vfc2Vjb25kczoxNDA0MDB9LHNuYXBzaG90X2F0OiIyMDI2LTEwLTMxVDIzOjMyOjAwWiIsdG90YWxzOnsuLi5pLnRvdGFscyxzdGF0dXM6InBhcnRpYWwiLGNvdmVyYWdlOntpbmNsdWRlZDo0LHRvdGFsOjYsZXhjbHVkZWRfcmVhc29uczpbInBoeXNpY2FsX2lkZW50aXR5X3VudmVyaWZpZWQiLCJjb3ZlcmFnZV9pbmNvbXBsZXRlIl19LG5hdjoiOTY5MDMwLjAwIixkYXlfY2hhbmdlOm51bGwsZ3Jvc3NfZXhwb3N1cmVfcmF0aW86bnVsbCxsZXZlcmFnZWRfZXRmX2V4cG9zdXJlX3JhdGlvOm51bGwsZGF0YV9hZ2Vfc2Vjb25kczoxNDA0MDB9LGJvb2s6W2csey4uLmYsbmF2OntzdGF0dXM6InN0YWxlIixjdXJyZW5jeToiSEtEIixhbW91bnQ6IjExMTMwMDAuMDAiLHVzZDpudWxsLG9ic2VydmVkX2F0OiIyMDI2LTEwLTMxVDA5OjA2OjAwWiIsYWdlX3NlY29uZHM6MTkyMzY3fX0sbSxiLGssey4uLmgsbmF2OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoicmVhZF9mYWlsZWQiLG9ic2VydmVkX2F0Om51bGx9LGRheV9jaGFuZ2U6bnVsbCxzcGFya2xpbmVfMzBkOntwb2ludHM6W10sZGF0ZXNfZnJvbTpudWxsLGRhdGVzX3RvOm51bGwsZ2FwX2RhdGVzOltdfSxkcmF3ZG93bjp7cmF0aW86bnVsbCxsaW1pdF9yYXRpbzoiLTAuMTUiLHN0YXRlOiJ1bmtub3duIn0sY29uZmlnOntzdGF0ZToidW5rbm93biIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0Om51bGx9LGxhc3RfcnVuOm51bGwscnVudGltZTp7c3RhdHVzOiJ1bmtub3duIixyZWFzb246InJlYWRfZmFpbGVkIn19XSxlcXVpdHlfY3VydmU6ey4uLmkuZXF1aXR5X2N1cnZlLGJlbmNobWFyazp7aWQ6bnVsbCxsYWJlbDpudWxsLGluZGV4ZWQ6W119fSxuZWVkc195b3U6W2kubmVlZHNfeW91WzBdLHtpZDoiYWxyX2RlbW9fMDAwNCIsa2luZDoiZGF0YV9zdGFsZSIsc2V2ZXJpdHk6Indhcm5pbmciLHRhcmdldF9pZDpudWxsLHRpdGxlOiJBY2NvdW50IGZhY3RzIGFyZSAzOSBob3VycyBvbGQiLGRldGFpbDoiVG90YWxzIGNvdmVyIDQgb2YgNiBhY2NvdW50cyB1bnRpbCBmYWN0cyByZWZyZXNoLiIsYWN0aW9uOntsYWJlbDoiT3BlbiBhY2NvdW50cyIscm91dGU6Ii9hY2NvdW50cyJ9fV19O2V4cG9ydHtxIGFzIGRlZ3JhZGVkLGkgYXMgb2t9Owo=" }, + "/v2/assets/credentials-NP33szLf.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgcn1mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCB0PWE9PmEsZT17b2s6ITAsc2NoZW1hX3ZlcnNpb246InFzbC5kZXNrLmNyZWRlbnRpYWxzLnYxIixnZW5lcmF0ZWRfYXQ6cixpdGVtczpbdCh7aWQ6ImNyZWRfaWJrcl9mbGV4IixwbGF0Zm9ybToiaWJrciIsbGFiZWw6IklCS1IgRmxleCAoc2hhcmVkKSIsa2luZDoiZmxleF90b2tlbiIsZXhwaXJ5OntzdGF0dXM6Imtub3duIixhdDoiMjAyNi0xMS0wOVQxNzozMDowMFoiLHNvdXJjZToib3BlcmF0b3JfcmVnaXN0ZXJlZCJ9LGxpbWl0X2RheXM6MzAscGhhc2U6IjciLHJlcXVpcmVzX2FjdGlvbjohMCxyb3RhdGlvbjp7c3VwcG9ydGVkOiEwLHJvdXRlOiIvP3BhZ2U9aGVhbHRoI2NyZWRlbnRpYWwtcm90YXRpb24ifSxydW5ib29rOiJkb2NzL2NyZWRlbnRpYWwtbWFpbnRlbmFuY2UuemgtQ04ubWQiLGxhc3Rfcm90YXRlZF9hdDoiMjAyNi0wOS0wOVQxNzozMDowMFoifSksdCh7aWQ6ImNyZWRfc2Nod2FiX29hdXRoIixwbGF0Zm9ybToic2Nod2FiIixsYWJlbDoiU2Nod2FiIHJlZnJlc2ggdG9rZW4iLGtpbmQ6Im9hdXRoX3JlZnJlc2giLGV4cGlyeTp7c3RhdHVzOiJrbm93biIsYXQ6IjIwMjYtMTEtMDNUMTc6MzA6MDBaIixzb3VyY2U6ImJyb2tlcl9tZXRhZGF0YSJ9LGxpbWl0X2RheXM6NyxwaGFzZToiMSIscmVxdWlyZXNfYWN0aW9uOiEwLHJvdGF0aW9uOntzdXBwb3J0ZWQ6ITEscm91dGU6bnVsbH0scnVuYm9vazpudWxsLGxhc3Rfcm90YXRlZF9hdDpudWxsfSksdCh7aWQ6ImNyZWRfbG9uZ2JyaWRnZV9hY2Nlc3MiLHBsYXRmb3JtOiJsb25nYnJpZGdlIixsYWJlbDoiTG9uZ0JyaWRnZSBhY2Nlc3MgdG9rZW4iLGtpbmQ6ImFjY2Vzc190b2tlbiIsZXhwaXJ5OntzdGF0dXM6Imtub3duIixhdDoiMjAyNi0xMi0wMlQwMDowMDowMFoiLHNvdXJjZToiYnJva2VyX21ldGFkYXRhIn0sbGltaXRfZGF5czozMCxwaGFzZToiMzAiLHJlcXVpcmVzX2FjdGlvbjohMCxyb3RhdGlvbjp7c3VwcG9ydGVkOiExLHJvdXRlOm51bGx9LHJ1bmJvb2s6bnVsbCxsYXN0X3JvdGF0ZWRfYXQ6IjIwMjYtMTEtMDJUMDA6MDA6MDBaIn0pLHQoe2lkOiJjcmVkX2ZpcnN0cmFkZV9wYXNzd29yZCIscGxhdGZvcm06ImZpcnN0cmFkZSIsbGFiZWw6IkZpcnN0cmFkZSBwYXNzd29yZCIsa2luZDoicGFzc3dvcmQiLGV4cGlyeTp7c3RhdHVzOiJrbm93biIsYXQ6IjIwMjYtMTEtMDFUMDA6MDA6MDBaIixzb3VyY2U6Im9wZXJhdG9yX3JlZ2lzdGVyZWQifSxsaW1pdF9kYXlzOjcscGhhc2U6ImV4cGlyZWQiLHJlcXVpcmVzX2FjdGlvbjohMCxyb3RhdGlvbjp7c3VwcG9ydGVkOiExLHJvdXRlOm51bGx9LHJ1bmJvb2s6bnVsbCxsYXN0X3JvdGF0ZWRfYXQ6bnVsbH0pLHQoe2lkOiJjcmVkX2JpbmFuY2VfYXBpIixwbGF0Zm9ybToiYmluYW5jZSIsbGFiZWw6IkJpbmFuY2UgQVBJIGtleSIsa2luZDoiYXBpX2tleSIsZXhwaXJ5OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoibmV2ZXJfcmVhZCJ9LGxpbWl0X2RheXM6bnVsbCxwaGFzZToidW5rbm93biIscmVxdWlyZXNfYWN0aW9uOiExLHJvdGF0aW9uOntzdXBwb3J0ZWQ6ITEscm91dGU6bnVsbH0scnVuYm9vazpudWxsLGxhc3Rfcm90YXRlZF9hdDpudWxsfSksdCh7aWQ6ImNyZWRfbG9uZ2JyaWRnZV9zZXNzaW9uIixwbGF0Zm9ybToibG9uZ2JyaWRnZSIsbGFiZWw6IkxvbmdCcmlkZ2Ugc2Vzc2lvbiIsa2luZDoic2Vzc2lvbiIsZXhwaXJ5OntzdGF0dXM6Im5vbmUifSxsaW1pdF9kYXlzOm51bGwscGhhc2U6Im5vdF9kdWUiLHJlcXVpcmVzX2FjdGlvbjohMSxyb3RhdGlvbjp7c3VwcG9ydGVkOiExLHJvdXRlOm51bGx9LHJ1bmJvb2s6bnVsbCxsYXN0X3JvdGF0ZWRfYXQ6bnVsbH0pXX0sbz17Li4uZSxpdGVtczpbZS5pdGVtc1swXSx7Li4uZS5pdGVtc1sxXSxleHBpcnk6e3N0YXR1czoidW5rbm93biIscmVhc29uOiJyZWFkX2ZhaWxlZCJ9LHBoYXNlOiJ1bmtub3duIixyZXF1aXJlc19hY3Rpb246ITF9LGUuaXRlbXNbMl0sey4uLmUuaXRlbXNbM10sZXhwaXJ5OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoic291cmNlX3VuYXZhaWxhYmxlIn0scGhhc2U6InVua25vd24iLHJlcXVpcmVzX2FjdGlvbjohMX0sey4uLmUuaXRlbXNbNF0sZXhwaXJ5OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoic291cmNlX3VuYXZhaWxhYmxlIn19LGUuaXRlbXNbNV1dfSxuPXsuLi5lLGl0ZW1zOltdfTtleHBvcnR7byBhcyBkZWdyYWRlZCxuIGFzIGVtcHR5LGUgYXMgb2t9Owo=" }, + "/v2/assets/helpers-BlCcD-d_.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3UgYXMgdyxqIGFzIG8sQiBhcyBqLGExIGFzIE8sYWYgYXMga31mcm9tIi4vaW5kZXgtRHRuRDBWNlguanMiO2ltcG9ydHtSIGFzIFN9ZnJvbSIuL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiO2Z1bmN0aW9uIFAoZSl7Y29uc3QgYT17fTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsInN0cmF0ZWd5X3Byb2ZpbGUiKSYmKGEuc3RyYXRlZ3lfcHJvZmlsZT1lLm92ZXJyaWRlcy5zdHJhdGVneV9wcm9maWxlPz9udWxsKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsImRjYV9tb2RlIikmJihhLmRjYV9tb2RlPWUub3ZlcnJpZGVzLmRjYV9tb2RlPz9udWxsKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsImRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIikmJihhLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPWUub3ZlcnJpZGVzLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkPz9udWxsKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsImluY29tZV9sYXllcl9lbmFibGVkIikmJihhLmluY29tZV9sYXllcl9lbmFibGVkPWUub3ZlcnJpZGVzLmluY29tZV9sYXllcl9lbmFibGVkPz9udWxsKSxlLm92ZXJyaWRlcy5vcHRpb25fb3ZlcmxheV9lbmFibGVkPT09bnVsbCYmKGEub3B0aW9uX292ZXJsYXlfZW5hYmxlZD1udWxsKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsInJlc2VydmVkX2Nhc2hfZmxvb3IiKSYmKGEucmVzZXJ2ZWRfY2FzaF9mbG9vcj1lLm92ZXJyaWRlcy5yZXNlcnZlZF9jYXNoX2Zsb29yPz9udWxsKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5vdmVycmlkZXMsInJlc2VydmVkX2Nhc2hfcmF0aW8iKSYmKGEucmVzZXJ2ZWRfY2FzaF9yYXRpbz1lLm92ZXJyaWRlcy5yZXNlcnZlZF9jYXNoX3JhdGlvPz9udWxsKTtjb25zdCBpPXtleHBlY3RlZF9kcmFmdF9yZXZpc2lvbjplLmV4cGVjdGVkRHJhZnRSZXZpc2lvbixpZGVudGl0eTplLmlkZW50aXR5LG92ZXJyaWRlczphfTtyZXR1cm4gZS5hY2tub3dsZWRnZUlkZW50aXR5Q29uZmxpY3QmJihpLmFja25vd2xlZGdlX2lkZW50aXR5X2NvbmZsaWN0PSEwKSxpfWZ1bmN0aW9uIEcoZSxhKXtjb25zdCBpPWUuY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1Nnx8ZS5vd25lcl9kZWNpc2lvbj8uY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1NjtyZXR1cm4hZS5jYW5kaWRhdGVfaWR8fCEvXlthLWYwLTldezY0fSQvLnRlc3QoU3RyaW5nKGl8fCIiKSl8fCFbImFwcHJvdmVfbGltaXRlZF9saXZlX2NhbmFyeSIsImtlZXBfcGFya2VkIl0uaW5jbHVkZXMoYSk/bnVsbDp7Y2FuZGlkYXRlX2lkOmUuY2FuZGlkYXRlX2lkLGNhbmRpZGF0ZV9ldmlkZW5jZV9zaGEyNTY6aSxkZWNpc2lvbjphfX1mdW5jdGlvbiB6KGUsYT0iYXBwcm92ZSIpe2NvbnN0IGk9ZT8ucmVjb3Zlcnl8fHt9O3JldHVybiBhIT09ImFwcHJvdmUiJiZhIT09InJlamVjdCJ8fGkubW9kZSE9PSJpbml0aWFsX2Vucm9sbG1lbnQifHxlLmZyZXNobmVzcz8uZGF0YV9zdGF0dXMhPT0icmVhZHkifHxlLmNvbmZpcm1hdGlvbnx8ZS5yZWplY3Rpb258fGkucmVhZGluZXNzIT09ImF3YWl0aW5nX2h1bWFuX2NvbmZpcm1hdGlvbiJ8fCFBcnJheS5pc0FycmF5KGkuYmxvY2tlcl9jb2Rlcyl8fGkuYmxvY2tlcl9jb2Rlcy5sZW5ndGh8fHR5cGVvZiBpLnJlY292ZXJ5X2lkIT0ic3RyaW5nInx8IWkucmVjb3ZlcnlfaWR8fCEvXlthLWYwLTldezY0fSQvLnRlc3QoU3RyaW5nKGkuY2FuZGlkYXRlX3NoYTI1Nnx8IiIpKXx8IS9eW2EtZjAtOV17NjR9JC8udGVzdChTdHJpbmcoaS5mYWN0c19zaGEyNTZ8fCIiKSk/bnVsbDp7bW9kZToiaW5pdGlhbF9lbnJvbGxtZW50IixkZWNpc2lvbjphLHJlY292ZXJ5X2lkOmkucmVjb3ZlcnlfaWQsY2FuZGlkYXRlX3NoYTI1NjppLmNhbmRpZGF0ZV9zaGEyNTYsZmFjdHNfc2hhMjU2OmkuZmFjdHNfc2hhMjU2fX1mdW5jdGlvbiBCKGUsYT0iYXBwcm92ZSIpe2lmKGU/LnJlY292ZXJ5Py5tb2RlPT09ImluaXRpYWxfZW5yb2xsbWVudCIpcmV0dXJuIHooZSxhKTtjb25zdCBpPWUucmVjb3Zlcnl8fHt9O3JldHVybiBhIT09ImFwcHJvdmUiJiZhIT09InJlamVjdCJ8fGUuZnJlc2huZXNzPy5kYXRhX3N0YXR1cyE9PSJyZWFkeSJ8fGUuY29uZmlybWF0aW9ufHxlLnJlamVjdGlvbnx8aS5yZWFkaW5lc3MhPT0iYXdhaXRpbmdfaHVtYW5fY29uZmlybWF0aW9uInx8IUFycmF5LmlzQXJyYXkoaS5ibG9ja2VyX2NvZGVzKXx8aS5ibG9ja2VyX2NvZGVzLmxlbmd0aHx8IS9eW2EtZjAtOV17NjR9JC8udGVzdChTdHJpbmcoaS5jYW5kaWRhdGVfc2hhMjU2fHwiIikpfHxpLmR1YWxfcmV2aWV3Py5ldmlkZW5jZV9iaW5kaW5nX3NoYTI1NiE9PWkuY2FuZGlkYXRlX3NoYTI1Nj9udWxsOntkZWNpc2lvbjphLHJlY292ZXJ5X2lkOmkucmVjb3ZlcnlfaWQsY2FuZGlkYXRlX3NoYTI1NjppLmNhbmRpZGF0ZV9zaGEyNTYsZHVhbF9yZXZpZXdfYmluZGluZ19zaGEyNTY6aS5kdWFsX3Jldmlldy5ldmlkZW5jZV9iaW5kaW5nX3NoYTI1Nn19ZnVuY3Rpb24gUSgpe2NvbnN0IGU9bmV3IFNldDtyZXR1cm57YWNxdWlyZShhKXtyZXR1cm4gZS5oYXMoYSk/ITE6KGUuYWRkKGEpLCEwKX0scmVsZWFzZShhKXtlLmRlbGV0ZShhKX0saXNMb2NrZWQoYSl7cmV0dXJuIGUuaGFzKGEpfSxoYXNBbnkoYSl7cmV0dXJuIGEuc29tZShpPT5lLmhhcyhpKSl9LGhhc0FueVdpdGhQcmVmaXhlcyhhKXtyZXR1cm5bLi4uZV0uc29tZShpPT5hLnNvbWUobj0+aS5zdGFydHNXaXRoKG4pKSl9LGNsZWFyKCl7ZS5jbGVhcigpfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZT9lLnN0YXR1cz09PSJyZWplY3RlZCI6ITB9Y29uc3QgYj0vXlswLTlhLWZdezY0fSQvLGY9ZT0+ISEoZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKSk7ZnVuY3Rpb24gdShlKXtpZihlPT09bnVsbHx8dHlwZW9mIGU9PSJzdHJpbmcifHx0eXBlb2YgZT09ImJvb2xlYW4ifHx0eXBlb2YgZT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSk7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm5gWyR7ZS5tYXAodSkuam9pbigiLCIpfV1gO2lmKCFmKGUpKXRocm93IG5ldyBFcnJvcigiaHVtYW5fZGVjaXNpb25fbWF0ZXJpYWxfaW52YWxpZCIpO3JldHVybmB7JHtPYmplY3Qua2V5cyhlKS5zb3J0KCkubWFwKGE9PmAke0pTT04uc3RyaW5naWZ5KGEpfToke3UoZVthXSl9YCkuam9pbigiLCIpfX1gfWFzeW5jIGZ1bmN0aW9uIHkoZSl7Y29uc3QgYT1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHUoZSkpKTtyZXR1cm5bLi4ubmV3IFVpbnQ4QXJyYXkoYSldLm1hcChpPT5pLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpLmpvaW4oIiIpfWZ1bmN0aW9uIFQoZSl7Y29uc3QgYT1lPy5kZWNpc2lvbl9iaW5kaW5nO3JldHVybiBhPy5raW5kPT09InByb21vdGlvbiImJmEuc3ViamVjdF9pZD09PWUudGlja2V0X2lkJiZ0eXBlb2YgYS5tYXRlcmlhbF9zaGEyNTY9PSJzdHJpbmciJiZiLnRlc3QoYS5tYXRlcmlhbF9zaGEyNTYpJiYoYS5yZXZpZXdfYmluZGluZz09bnVsbHx8YS5yZXZpZXdfYmluZGluZy5zY2hlbWFfdmVyc2lvbj09PSJxc2xfcHJvbW90aW9uX3Jldmlld19iaW5kaW5nLnYyIiYmdHlwZW9mIGEucmV2aWV3X2JpbmRpbmcucmV2aWV3X3NoYTI1Nj09InN0cmluZyImJmIudGVzdChhLnJldmlld19iaW5kaW5nLnJldmlld19zaGEyNTYpKX1mdW5jdGlvbiBIKGUsYSl7aWYoIWYoZSl8fGUua2luZCE9PWEua2luZHx8ZS5zdWJqZWN0X2lkIT09YS5zdWJqZWN0X2lkfHxlLm1hdGVyaWFsX3NoYTI1NiE9PWEubWF0ZXJpYWxfc2hhMjU2KXJldHVybiExO2NvbnN0IGk9ZS5yZXZpZXdfYmluZGluZztyZXR1cm4gYS5yZXZpZXdfc2hhMjU2PT09bnVsbD9pPT1udWxsOmYoaSkmJmkuc2NoZW1hX3ZlcnNpb249PT0icXNsX3Byb21vdGlvbl9yZXZpZXdfYmluZGluZy52MiImJmkucmV2aWV3X3NoYTI1Nj09PWEucmV2aWV3X3NoYTI1Nn1hc3luYyBmdW5jdGlvbiBNKGUsYSxpKXt0cnl7Y29uc3Qgbj1hPy5kZWNpc2lvbl9iaW5kaW5nO2xldCBsLHIsXyx0PW51bGw7aWYoZT09PSJvd25lciIpe2lmKGw9aS5jYW5kaWRhdGVfaWQscj1udWxsLF89e2RlY2lzaW9uOmkuZGVjaXNpb259LCFbImFwcHJvdmVfbGltaXRlZF9saXZlX2NhbmFyeSIsImtlZXBfcGFya2VkIl0uaW5jbHVkZXMoaS5kZWNpc2lvbil8fGEuY2FuZGlkYXRlPy5jYW5kaWRhdGVfaWQhPT1sfHxhLmNhbmRpZGF0ZV9ldmlkZW5jZV9zaGEyNTYhPT1pLmNhbmRpZGF0ZV9ldmlkZW5jZV9zaGEyNTYpcmV0dXJuIG51bGx9ZWxzZSBpZihlPT09InJlY292ZXJ5Iil7aWYobD1pLnJlY292ZXJ5X2lkLCFbImFwcHJvdmUiLCJyZWplY3QiXS5pbmNsdWRlcyhpLmRlY2lzaW9uKXx8YS5yZWNvdmVyeT8ucmVjb3ZlcnlfaWQhPT1sfHxhLnJlY292ZXJ5LmNhbmRpZGF0ZV9zaGEyNTYhPT1pLmNhbmRpZGF0ZV9zaGEyNTYpcmV0dXJuIG51bGw7aWYoaS5tb2RlPT09ImluaXRpYWxfZW5yb2xsbWVudCIpe2lmKGEucmVjb3ZlcnkubW9kZSE9PSJpbml0aWFsX2Vucm9sbG1lbnQifHxhLnJlY292ZXJ5LmZhY3RzX3NoYTI1NiE9PWkuZmFjdHNfc2hhMjU2fHx0eXBlb2YgaS5mYWN0c19zaGEyNTYhPSJzdHJpbmcifHwhYi50ZXN0KGkuZmFjdHNfc2hhMjU2KSlyZXR1cm4gbnVsbDtyPXttb2RlOiJpbml0aWFsX2Vucm9sbG1lbnQiLHJlY292ZXJ5X2lkOmwsY2FuZGlkYXRlX3NoYTI1NjppLmNhbmRpZGF0ZV9zaGEyNTYsZmFjdHNfc2hhMjU2OmkuZmFjdHNfc2hhMjU2fX1lbHNle2lmKGEucmVjb3ZlcnkuZHVhbF9yZXZpZXc/LmV2aWRlbmNlX2JpbmRpbmdfc2hhMjU2IT09aS5kdWFsX3Jldmlld19iaW5kaW5nX3NoYTI1NilyZXR1cm4gbnVsbDtyPXtyZWNvdmVyeV9pZDpsLGNhbmRpZGF0ZV9zaGEyNTY6aS5jYW5kaWRhdGVfc2hhMjU2LGR1YWxfcmV2aWV3X2JpbmRpbmdfc2hhMjU2OmkuZHVhbF9yZXZpZXdfYmluZGluZ19zaGEyNTZ9fV89e2RlY2lzaW9uOmkuZGVjaXNpb259fWVsc2V7aWYobD1pLnRpY2tldF9pZCwhVChhKXx8YS50aWNrZXRfaWQhPT1sfHwhWyJhY2NlcHQiLCJyZWplY3QiXS5pbmNsdWRlcyhpLmRlY2lzaW9uKSlyZXR1cm4gbnVsbDtpZihyPU9iamVjdC5mcm9tRW50cmllcyhbInRpY2tldF9pZCIsInN0cmF0ZWd5X3Byb2ZpbGUiLCJkb21haW4iLCJwcm9wb3NlZF9wYXJhbXMiLCJzaGFkb3dfcGFzc2VkIiwic2hhZG93X2V2aWRlbmNlX2tpbmQiXS5tYXAobT0+W20sYVttXV0pKSxuLnJldmlld19iaW5kaW5nIT1udWxsKXtjb25zdCBtPXtzY2hlbWFfdmVyc2lvbjoicXNsX3Byb21vdGlvbl9yZXZpZXdfbWF0ZXJpYWwudjIiLC4uLnIsLi4uT2JqZWN0LmZyb21FbnRyaWVzKFsiZHJpZnRfc3RhdHVzIiwiZHJpZnRfc2NvcmUiLCJidWRnZXQiLCJzZWFyY2hfaXRlcmF0aW9ucyIsInN1Z2dlc3RlZF9yaXNrX3Byb2ZpbGUiLCJub3RpZmljYXRpb25fc3ViamVjdCIsIm5vdGlmaWNhdGlvbl9ib2R5Iiwibm90ZXMiXS5tYXAocD0+W3AsYVtwXV0pKSxyZXNlYXJjaF9zdW1tYXJ5OmEucmVzZWFyY2hfc3VtbWFyeXx8bnVsbH07aWYodD1hd2FpdCB5KG0pLHQhPT1uLnJldmlld19iaW5kaW5nLnJldmlld19zaGEyNTYpcmV0dXJuIG51bGx9Y29uc3QgYz1pLnNlbGVjdGVkX2FjY291bnQ/P251bGwsZD1pLmNvbmZpcm1hdGlvbj8/bnVsbDtpZihpLmRlY2lzaW9uPT09ImFjY2VwdCImJighZihjKXx8IWYoZCl8fGMucGxhdGZvcm0hPT1kLnRhcmdldF9wbGF0Zm9ybSkpcmV0dXJuIG51bGw7Xz17c2VsZWN0ZWRfYWNjb3VudDpjLGNvbmZpcm1hdGlvbjpkfX1jb25zdCBzPWU9PT0ib3duZXIiP2kuY2FuZGlkYXRlX2V2aWRlbmNlX3NoYTI1Njphd2FpdCB5KHIpO3JldHVybiB0eXBlb2YgbCE9InN0cmluZyJ8fCFsfHx0eXBlb2YgcyE9InN0cmluZyJ8fCFiLnRlc3Qocyl8fG4/LmtpbmQhPT1lfHxuLnN1YmplY3RfaWQhPT1sfHxuLm1hdGVyaWFsX3NoYTI1NiE9PXM/bnVsbDpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHtraW5kOmUsc3ViamVjdF9pZDpsLG1hdGVyaWFsX3NoYTI1NjpzLHJldmlld19zaGEyNTY6dCxhY3Rpb246aS5kZWNpc2lvbix0YXJnZXQ6X30pKX1jYXRjaHtyZXR1cm4gbnVsbH19YXN5bmMgZnVuY3Rpb24gaChlLGEpe3RyeXtpZighZihhKXx8IVsicXNsX2h1bWFuX2RlY2lzaW9uX3JlY2VpcHQudjEiLCJxc2xfaHVtYW5fZGVjaXNpb25fcmVjZWlwdC52MiJdLmluY2x1ZGVzKGEuc2NoZW1hX3ZlcnNpb24pfHxhLmtpbmQhPT1lLmtpbmR8fGEuc3ViamVjdF9pZCE9PWUuc3ViamVjdF9pZHx8YS5tYXRlcmlhbF9zaGEyNTYhPT1lLm1hdGVyaWFsX3NoYTI1Nnx8YS5hY3Rpb24hPT1lLmFjdGlvbnx8dShhLnRhcmdldCkhPT11KGUudGFyZ2V0KXx8YS5ub19vcmRlciE9PSEwfHxhLmV4ZWN1dGlvbl9hdXRob3JpdHlfZ3JhbnRlZCE9PSExfHx0eXBlb2YgYS5kZWNpZGVkX2J5IT0ic3RyaW5nInx8IWEuZGVjaWRlZF9ieXx8YS5kZWNpZGVkX2J5Lmxlbmd0aD4xMDB8fC9bXHUwMDAwLVx1MDAxZlx1MDA3Zl0vLnRlc3QoYS5kZWNpZGVkX2J5KXx8dHlwZW9mIGEuZGVjaWRlZF9hdCE9InN0cmluZyJ8fGEuZGVjaWRlZF9hdC5sZW5ndGg+NDB8fCFOdW1iZXIuaXNGaW5pdGUoRGF0ZS5wYXJzZShhLmRlY2lkZWRfYXQpKXx8L1tcdTAwMDAtXHUwMDFmXHUwMDdmXS8udGVzdChhLmRlY2lkZWRfYXQpfHx0eXBlb2YgYS5yZWNlaXB0X3NoYTI1NiE9InN0cmluZyJ8fCFiLnRlc3QoYS5yZWNlaXB0X3NoYTI1NikpcmV0dXJuITE7Y29uc3QgaT1hLnNjaGVtYV92ZXJzaW9uPT09InFzbF9odW1hbl9kZWNpc2lvbl9yZWNlaXB0LnYyIjtpZihpIT09ISFlLnJldmlld19zaGEyNTZ8fGkmJihlLmtpbmQhPT0icHJvbW90aW9uInx8YS5yZXZpZXdfYmluZGluZz8uc2NoZW1hX3ZlcnNpb24hPT0icXNsX3Byb21vdGlvbl9yZXZpZXdfYmluZGluZy52MiJ8fGEucmV2aWV3X2JpbmRpbmcucmV2aWV3X3NoYTI1NiE9PWUucmV2aWV3X3NoYTI1NikpcmV0dXJuITE7Y29uc3Qgbj17c2NoZW1hX3ZlcnNpb246YS5zY2hlbWFfdmVyc2lvbiwuLi5pP3tyZXZpZXdfYmluZGluZzp7c2NoZW1hX3ZlcnNpb246InFzbF9wcm9tb3Rpb25fcmV2aWV3X2JpbmRpbmcudjIiLHJldmlld19zaGEyNTY6ZS5yZXZpZXdfc2hhMjU2fX06e30sa2luZDplLmtpbmQsc3ViamVjdF9pZDplLnN1YmplY3RfaWQsbWF0ZXJpYWxfc2hhMjU2OmUubWF0ZXJpYWxfc2hhMjU2LGFjdGlvbjplLmFjdGlvbix0YXJnZXQ6ZS50YXJnZXQsZGVjaWRlZF9hdDphLmRlY2lkZWRfYXQsZGVjaWRlZF9ieTphLmRlY2lkZWRfYnksbm9fb3JkZXI6ITAsZXhlY3V0aW9uX2F1dGhvcml0eV9ncmFudGVkOiExfTtyZXR1cm4gdShhKT09PXUoey4uLm4scmVjZWlwdF9zaGEyNTY6YXdhaXQgeShuKX0pfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBYKCl7Y29uc3QgZT1uZXcgTWFwLGE9bmV3IE1hcCxpPWw9PmAke2wua2luZH06JHtsLnN1YmplY3RfaWR9OiR7bC5tYXRlcmlhbF9zaGEyNTZ9YDtsZXQgbj0wO3JldHVybntlcG9jaCgpe3JldHVybiBufSxjbGVhcigpe24rKyxlLmNsZWFyKCksYS5jbGVhcigpfSxlbnRyaWVzKCl7cmV0dXJuWy4uLmUudmFsdWVzKCldLm1hcChsPT5KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGwpKSl9LHN0YXJ0KGwpe2NvbnN0IHI9aShsKTtyZXR1cm4gZS5oYXMocik/bnVsbDooZS5zZXQocix7ZXhwZWN0ZWQ6SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsKSksc3RhdHVzOiJ1bnJlc29sdmVkIixyZWNlaXB0Om51bGwscXVldWVDb25maXJtZWQ6ITF9KSx7aWQ6cixnZW5lcmF0aW9uOm59KX0sY3VycmVudChsKXtyZXR1cm4gbC5nZW5lcmF0aW9uPT09biYmZS5oYXMobC5pZCkmJihsLnNlcXVlbmNlPT09dm9pZCAwfHxhLmdldChsLmlkKT09PWwuc2VxdWVuY2UpfSxhc3luYyByZWNlaXZlKGwscixfKXtjb25zdCB0PWUuZ2V0KGwuaWQpO2lmKCF0fHwhdGhpcy5jdXJyZW50KGwpKXJldHVybiExO2NvbnN0IHM9YXdhaXQgaCh0LmV4cGVjdGVkLHIpO3JldHVybiB0aGlzLmN1cnJlbnQobCk/IXN8fHQucmVjZWlwdCYmdC5yZWNlaXB0LnJlY2VpcHRfc2hhMjU2IT09ci5yZWNlaXB0X3NoYTI1Nj8odC5zdGF0dXM9InVucmVzb2x2ZWQiLHQucXVldWVDb25maXJtZWQ9ITEsITEpOih0LnJlY2VpcHQ9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyKSksdC5xdWV1ZUNvbmZpcm1lZD1fPz90LnF1ZXVlQ29uZmlybWVkLHQuc3RhdHVzPXQucXVldWVDb25maXJtZWQ/InJlY29yZGVkIjoidW5yZXNvbHZlZCIsITApOiExfSxiZWdpblJlYWQobCl7Y29uc3Qgcj1pKGwpLF89KGEuZ2V0KHIpfHwwKSsxO3JldHVybiBhLnNldChyLF8pLHtpZDpyLGdlbmVyYXRpb246bixzZXF1ZW5jZTpffX0sYXN5bmMgcmVhZGJhY2sobCxyLF8pe2NvbnN0IHQ9ZS5nZXQobC5pZCkscz1yPy5kZWNpc2lvbl9yZWFkYmFjayxjPSgpPT50aGlzLmN1cnJlbnQobCkmJmEuZ2V0KGwuaWQpPT09bC5zZXF1ZW5jZTtpZighdHx8IWMoKSlyZXR1cm4hMTtpZihyPy5vayE9PSEwfHxzPy5zY2hlbWFfdmVyc2lvbiE9PSJxc2xfaHVtYW5fZGVjaXNpb25fcmVhZGJhY2sudjEifHxzLnNvdXJjZSE9PSJkdXJhYmxlX2h1bWFuX2RlY2lzaW9uX3JlY29yZCJ8fHMua2luZCE9PXQuZXhwZWN0ZWQua2luZHx8cy5zdWJqZWN0X2lkIT09dC5leHBlY3RlZC5zdWJqZWN0X2lkfHxzLnJlcXVlc3RlZF9tYXRlcmlhbF9zaGEyNTYhPT10LmV4cGVjdGVkLm1hdGVyaWFsX3NoYTI1Nnx8dHlwZW9mIHMub2JzZXJ2ZWRfYXQhPSJzdHJpbmcifHwhTnVtYmVyLmlzRmluaXRlKERhdGUucGFyc2Uocy5vYnNlcnZlZF9hdCkpfHxzLmxvb2t1cF9zdGF0dXMhPT0iZm91bmQiKXJldHVybiB0LnN0YXR1cz0idW5yZXNvbHZlZCIsdC5xdWV1ZUNvbmZpcm1lZD0hMSwhMTtjb25zdCBkPWF3YWl0IGgodC5leHBlY3RlZCxzLnJlY2VpcHQpO3JldHVybiBjKCk/dGhpcy5yZWNlaXZlKGwsZD9zLnJlY2VpcHQ6bnVsbCxfKTohMX0scmVhZEZhaWxlZChsKXtpZighdGhpcy5jdXJyZW50KGwpfHxhLmdldChsLmlkKSE9PWwuc2VxdWVuY2UpcmV0dXJuITE7Y29uc3Qgcj1lLmdldChsLmlkKTtyZXR1cm4gci5zdGF0dXM9InVucmVzb2x2ZWQiLHIucXVldWVDb25maXJtZWQ9ITEsITB9fX1jb25zdCB4PU9iamVjdC5mcmVlemUoW09iamVjdC5mcmVlemUoe29wdGlvbl9zY29wZToicGFwZXIiLHBheWxvYWRfc2NvcGU6IlBBUEVSIn0pLE9iamVjdC5mcmVlemUoe29wdGlvbl9zY29wZToiSEsiLHBheWxvYWRfc2NvcGU6IkhLIn0pLE9iamVjdC5mcmVlemUoe29wdGlvbl9zY29wZToic2ciLHBheWxvYWRfc2NvcGU6IlNHIn0pXSk7T2JqZWN0LmZyZWV6ZSh4Lm1hcChlPT5lLm9wdGlvbl9zY29wZSkpO09iamVjdC5mcmVlemUoeC5tYXAoZT0+ZS5wYXlsb2FkX3Njb3BlKSk7Y29uc3QgQT1PYmplY3QuZnJlZXplKFsibWF4X2ZpbmFuY2VfYW1vdW50IiwicmVtYWluaW5nX2ZpbmFuY2VfYW1vdW50IiwiaW5pdF9tYXJnaW4iLCJtYWludGVuYW5jZV9tYXJnaW4iLCJtYXJnaW5fY2FsbCIsImJ1eV9wb3dlciJdKTtPYmplY3QuZnJlZXplKFsiY3VycmVuY3kiLC4uLkEsInJpc2tfbGV2ZWwiXSk7Y29uc3QgcT1be3Byb2ZpbGU6InRxcXFfZ3Jvd3RoX2luY29tZSIsbGFiZWw6Iue6s+aWr+i+vuWFi+WinumVv+aUtuebiiIsbGFiZWxfZW46Ik5BU0RBUSBHcm93dGggSW5jb21lIixsYWJlbF96aDoi57qz5pav6L6+5YWL5aKe6ZW/5pS255uKIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiEwLGluY29tZV9sYXllcl9lbmFibGVkOiEwLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJ1bnRpbWVfZW5hYmxlZCIsY2FuX3N3aXRjaF9saXZlOiEwLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIiwibGl2ZSJdLGJsb2NrZWRfbGl2ZV9yZWFzb246IiIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMCxhbGxvd2VkX3BsYXRmb3JtczpbImlia3IiXX0saW5jb21lX2xheWVyX3N0YXJ0X3VzZDoiMjUwMDAwIixpbmNvbWVfbGF5ZXJfbWF4X3JhdGlvOiIwLjU1IixpbmNvbWVfbGF5ZXJfYWxsb2NhdGlvbnM6e1NDSEQ6LjMsREdSTzouMixTR09WOi40LFNQWUk6LjA4LFFRUUk6LjAyfX0se3Byb2ZpbGU6InNveGxfc294eF90cmVuZF9pbmNvbWUiLGxhYmVsOiLljYrlr7zkvZPotovlir/mlLbnm4oiLGxhYmVsX2VuOiJTZW1pY29uZHVjdG9yIFRyZW5kIEluY29tZSIsbGFiZWxfemg6IuWNiuWvvOS9k+i2i+WKv+aUtuebiiIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMCxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMCxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJydW50aW1lX2VuYWJsZWQiLGNhbl9zd2l0Y2hfbGl2ZTohMCxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biIsImxpdmUiXSxibG9ja2VkX2xpdmVfcmVhc29uOiIiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITAsYWxsb3dlZF9wbGF0Zm9ybXM6WyJsb25nYnJpZGdlIiwiaWJrciIsInNjaHdhYiJdfSxpbmNvbWVfbGF5ZXJfc3RhcnRfdXNkOiIxNTAwMDAiLGluY29tZV9sYXllcl9tYXhfcmF0aW86IjAuOTUiLGluY29tZV9sYXllcl9hbGxvY2F0aW9uczp7U0NIRDouMTUsREdSTzouMSxTR09WOi43LFNQWUk6LjA0LFFRUUk6LjAxfX0se3Byb2ZpbGU6InNveGxfc294eF9jb3JlX29ubHlfcDJfdjdfbG9uZ3Rlcm1fY29tcG91bmRpbmdfY2FzaF9yZXNlcnZlIixsYWJlbDoiU09YTC9TT1hYIOaguOW/g+WkjeWIqe+8iOeOsOmHkeS/neeVme+8iSIsbGFiZWxfZW46IlNPWEwvU09YWCBDb3JlIENvbXBvdW5kaW5nIChDYXNoIFJlc2VydmUpIixsYWJlbF96aDoiU09YTC9TT1hYIOaguOW/g+WkjeWIqe+8iOeOsOmHkeS/neeVme+8iSIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX29ubHlfbmFtZWRfcHJvZmlsZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX0scmVzZWFyY2hfY2FuZGlkYXRlX2lkZW50aXR5OntjYW5kaWRhdGVfaWQ6InNveGxfc294eF9jb3JlX29ubHlfcDJfdjdfbG9uZ3Rlcm1fY29tcG91bmRpbmdfY2FzaF9yZXNlcnZlIixjb25maWdfc2hhMjU2OiI4NDNhYjRlOTNlODE5ODVjMmIzYmVjYzYxYTJmMGI5NzE1MDhjY2YyNWFmYTU5YWNmNDAyZTc1ZjU3NDUxNGQxIn19LHtwcm9maWxlOiJuYXNkYXFfc3A1MDBfc21hcnRfZGNhIixsYWJlbDoi57qz5oyH5qCH5pmu5a6a5oqVIixsYWJlbF9lbjoiTkFTREFRL1MmUCA1MDAgRENBIixsYWJlbF96aDoi57qz5oyH5qCH5pmu5a6a5oqVIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoibWlzc2luZ19jdXJyZW50X3Byb21vdGlvbl9ldmlkZW5jZV9hbmRfcHJlYXV0aG9yaXplZF9hdXRvbm9teV9wb2xpY3kiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGRjYV9lbmFibGVkOiEwLGRjYV9kZWZhdWx0X21vZGU6ImZpeGVkIixkY2FfZGVmYXVsdF9iYXNlX2ludmVzdG1lbnRfdXNkOiIxMDAwIn0se3Byb2ZpbGU6ImliaXRfc21hcnRfZGNhIixsYWJlbDoiSUJJVOavlOeJueW4geWumuaKlSIsbGFiZWxfZW46IklCSVQgQml0Y29pbiBEQ0EiLGxhYmVsX3poOiJJQklU5q+U54m55biB5a6a5oqVIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiEwLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxsaWZlY3ljbGVfc3RhZ2U6InJ1bnRpbWVfZW5hYmxlZCIsY2FuX3N3aXRjaF9saXZlOiEwLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIiwibGl2ZSJdLGJsb2NrZWRfbGl2ZV9yZWFzb246IiIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMCxhbGxvd2VkX3BsYXRmb3JtczpbImZpcnN0cmFkZSJdfSxkY2FfZW5hYmxlZDohMCxkY2FfZGVmYXVsdF9tb2RlOiJmaXhlZCIsZGNhX2RlZmF1bHRfYmFzZV9pbnZlc3RtZW50X3VzZDoiMTAwMCJ9LHtwcm9maWxlOiJnbG9iYWxfZXRmX3JvdGF0aW9uIixsYWJlbDoi5YWo55CDRVRG6L2u5YqoIixsYWJlbF9lbjoiR2xvYmFsIEVURiBSb3RhdGlvbiIsbGFiZWxfemg6IuWFqOeQg0VURui9ruWKqCIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMCxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMCxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiExLGxpZmVjeWNsZV9zdGFnZToicnVudGltZV9lbmFibGVkIixjYW5fc3dpdGNoX2xpdmU6ITAsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iLCJsaXZlIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoiIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiEwLGFsbG93ZWRfcGxhdGZvcm1zOlsiaWJrciJdfSxpbmNvbWVfbGF5ZXJfc3RhcnRfdXNkOiI1MDAwMDAiLGluY29tZV9sYXllcl9tYXhfcmF0aW86IjAuMTUiLGluY29tZV9sYXllcl9hbGxvY2F0aW9uczp7U0NIRDouNCxER1JPOi4yNSxTR09WOi4zLFNQWUk6LjA1fX0se3Byb2ZpbGU6InJ1c3NlbGxfdG9wNTBfbGVhZGVyX3JvdGF0aW9uIixsYWJlbDoi572X57SgVG9wNTDpoobmtqgiLGxhYmVsX2VuOiJSdXNzZWxsIFRvcDUwIExlYWRlcnMiLGxhYmVsX3poOiLnvZfntKBUb3A1MOmihua2qCIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMCxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMCxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJydW50aW1lX2VuYWJsZWQiLGNhbl9zd2l0Y2hfbGl2ZTohMCxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biIsImxpdmUiXSxibG9ja2VkX2xpdmVfcmVhc29uOiIiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITAsYWxsb3dlZF9wbGF0Zm9ybXM6WyJpYmtyIiwibG9uZ2JyaWRnZSJdfSxpbmNvbWVfbGF5ZXJfc3RhcnRfdXNkOiIzMDAwMDAiLGluY29tZV9sYXllcl9tYXhfcmF0aW86IjAuMjUiLGluY29tZV9sYXllcl9hbGxvY2F0aW9uczp7U0NIRDouNDUsREdSTzouMyxTR09WOi4yNX19LHtwcm9maWxlOiJ0ZWNsX3hsa190cmVuZF9pbmNvbWUiLGxhYmVsOiJURUNML1hMS+i2i+WKv+aUtuebiiIsbGFiZWxfZW46IlRFQ0wvWExLIFRyZW5kIEluY29tZSIsbGFiZWxfemg6IlRFQ0wvWExL6LaL5Yq/5pS255uKIixkb21haW46InVzX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJmYWlsZWRfcHJvbW90aW9uX3ZzX2xpdmVfcHJvZmlsZXMiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToidXNfZXF1aXR5X2NvbWJvIixsYWJlbDoi576O6IKh5qC45b+D5pS255uK57uE5ZCIIixsYWJlbF9lbjoiVVMgQ29yZSBJbmNvbWUgQ29tYm8iLGxhYmVsX3poOiLnvo7ogqHmoLjlv4PmlLbnm4rnu4TlkIgiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITAsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiEwLGxpZmVjeWNsZV9zdGFnZToic2hhZG93X2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoic2hhZG93X2NhbmRpZGF0ZV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxjb21ib19tb2RlOiJkeW5hbWljIixpbmNvbWVfbGF5ZXJfc3RhcnRfdXNkOiIzMDAwMDAiLGluY29tZV9sYXllcl9tYXhfcmF0aW86IjAuMjUiLGluY29tZV9sYXllcl9hbGxvY2F0aW9uczp7U0NIRDouMjUsREdSTzouMjUsU0dPVjouMixTUFlJOi4xNSxRUVFJOi4xNX19LHtwcm9maWxlOiJ1c19lcXVpdHlfY29tYm9fY29yZSIsbGFiZWw6Iue+juiCoeaguOW/g+e7hOWQiCIsbGFiZWxfZW46IlVTIENvcmUgQ29tYm8iLGxhYmVsX3poOiLnvo7ogqHmoLjlv4Pnu4TlkIgiLGRvbWFpbjoidXNfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiEwLGxpZmVjeWNsZV9zdGFnZToic2hhZG93X2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoic2hhZG93X2NhbmRpZGF0ZV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxjb21ib19tb2RlOiJkeW5hbWljIn0se3Byb2ZpbGU6InVzX2VxdWl0eV9jb21ib19sZXZlcmFnZWQiLGxhYmVsOiLnvo7ogqHliqDpgJ/nu4TlkIgiLGxhYmVsX2VuOiJVUyBBbHBoYSBDb21ibyIsbGFiZWxfemg6Iue+juiCoeWKoOmAn+e7hOWQiCIsZG9tYWluOiJ1c19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITAsbGlmZWN5Y2xlX3N0YWdlOiJzaGFkb3dfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJzaGFkb3dfY2FuZGlkYXRlX3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119LGNvbWJvX21vZGU6ImR5bmFtaWMifSx7cHJvZmlsZToiaGtfZ2xvYmFsX2V0Zl90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6Iua4r+iCoUVURuaImOacr+i9ruWKqCIsbGFiZWxfZW46IkhLIEVURiBUYWN0aWNhbCBSb3RhdGlvbiIsbGFiZWxfemg6Iua4r+iCoUVURuaImOacr+i9ruWKqCIsZG9tYWluOiJoa19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImhrX2xvd192b2xfZGl2aWRlbmRfcXVhbGl0eV9zbmFwc2hvdCIsbGFiZWw6Iua4r+iCoee6ouWIqei0qOmHjyIsbGFiZWxfZW46IkhLIERpdmlkZW5kIFF1YWxpdHkiLGxhYmVsX3poOiLmuK/ogqHnuqLliKnotKjph48iLGRvbWFpbjoiaGtfZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsicGFwZXIiLCJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoibWlzc2luZ19jdXJyZW50X3Byb21vdGlvbl9ldmlkZW5jZV9hbmRfcHJlYXV0aG9yaXplZF9hdXRvbm9teV9wb2xpY3kiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiaGtfZXF1aXR5X2NvbWJvIixsYWJlbDoi5riv6IKh5oGS55Sf57uE5ZCIIixsYWJlbF9lbjoiSEsgQ29yZSBDb21ibyIsbGFiZWxfemg6Iua4r+iCoeaBkueUn+e7hOWQiCIsZG9tYWluOiJoa19lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITAsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxjb21ib19tb2RlOiJkeW5hbWljIn0se3Byb2ZpbGU6ImNuX2luZHVzdHJ5X2V0Zl9yb3RhdGlvbiIsbGFiZWw6IkHogqHooYzkuJpFVEbova7liqgiLGxhYmVsX2VuOiJDTiBJbmR1c3RyeSBFVEYgUm90YXRpb24iLGxhYmVsX3poOiJB6IKh6KGM5LiaRVRG6L2u5YqoIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246Im1pc3NpbmdfY3VycmVudF9wcm9tb3Rpb25fZXZpZGVuY2VfYW5kX3ByZWF1dGhvcml6ZWRfYXV0b25vbXlfcG9saWN5IixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX2luZHVzdHJ5X2V0Zl9yb3RhdGlvbl9hZ2dyZXNzaXZlIixsYWJlbDoiQeiCoUVURui9ruWKqCIsbGFiZWxfZW46IkNOIEVURiBSb3RhdGlvbiIsbGFiZWxfemg6IkHogqFFVEbova7liqgiLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6ImxpdmVfY2FuZGlkYXRlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJsaXZlX2NhbmRpZGF0ZV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX2luZGV4X2V0Zl90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6IkHogqHlrr3ln7pFVEbmiJjmnK/ova7liqgiLGxhYmVsX2VuOiJDTiBJbmRleCBFVEYgVGFjdGljYWwgUm90YXRpb24iLGxhYmVsX3poOiJB6IKh5a695Z+6RVRG5oiY5pyv6L2u5YqoIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25fY2hpbmV4dF90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6IuWIm+S4muadv+aImOacr+i9ruWKqCIsbGFiZWxfZW46IkNOIENoaU5leHQgVGFjdGljYWwgUm90YXRpb24iLGxhYmVsX3poOiLliJvkuJrmnb/miJjmnK/ova7liqgiLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjbl9jaGluZXh0X2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5IixsYWJlbDoi5Yib5Lia5p2/5oiQ6ZW/5Yqo6YeP6LSo6YePIixsYWJlbF9lbjoiQ04gQ2hpTmV4dCBHcm93dGggTW9tZW50dW0gUXVhbGl0eSIsbGFiZWxfemg6IuWIm+S4muadv+aIkOmVv+WKqOmHj+i0qOmHjyIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX2RpdmlkZW5kX3F1YWxpdHlfc25hcHNob3QiLGxhYmVsOiJB6IKh57qi5Yip6LSo6YePIixsYWJlbF9lbjoiQ04gRGl2aWRlbmQgUXVhbGl0eSIsbGFiZWxfemg6IkHogqHnuqLliKnotKjph48iLGRvbWFpbjoiY25fZXF1aXR5IixydW50aW1lX2VuYWJsZWQ6ITEsaW5jb21lX2xheWVyX2VuYWJsZWQ6ITEsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMSxjb21ib19lbmFibGVkOiExLGZyb3plbjohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX19LHtwcm9maWxlOiJjbl9jaGluZXh0X2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5X3NuYXBzaG90IixsYWJlbDoi5Yib5Lia5p2/5oiQ6ZW/6LSo6YeP5b+r54WnIixsYWJlbF9lbjoiQ04gQ2hpTmV4dCBHcm93dGggUXVhbGl0eSBTbmFwc2hvdCIsbGFiZWxfemg6IuWIm+S4muadv+aIkOmVv+i0qOmHj+W/q+eFpyIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfX0se3Byb2ZpbGU6ImNuX3N0YXJfZ3Jvd3RoX21vbWVudHVtX3F1YWxpdHkiLGxhYmVsOiLnp5HliJvmnb/miJDplb/liqjph4/otKjph48iLGxhYmVsX2VuOiJDTiBTVEFSIEdyb3d0aCBNb21lbnR1bSBRdWFsaXR5IixsYWJlbF96aDoi56eR5Yib5p2/5oiQ6ZW/5Yqo6YeP6LSo6YePIixkb21haW46ImNuX2VxdWl0eSIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMSxmcm96ZW46ITAsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY25fZXF1aXR5X2NvbWJvIixsYWJlbDoiQeiCoei/m+WPlue7hOWQiCIsbGFiZWxfZW46IkNOIEFscGhhIENvbWJvIixsYWJlbF96aDoiQeiCoei/m+WPlue7hOWQiCIsZG9tYWluOiJjbl9lcXVpdHkiLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITAsZnJvemVuOiEwLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIl0sYmxvY2tlZF9saXZlX3JlYXNvbjoicmVzZWFyY2hfYmFja3Rlc3Rfb25seV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiExLGFsbG93ZWRfcGxhdGZvcm1zOltdfSxjb21ib19tb2RlOiJkeW5hbWljIn0se3Byb2ZpbGU6ImNyeXB0b19saXZlX3Bvb2xfcm90YXRpb24iLGxhYmVsOiLliqDlr4bmsaDova7liqgiLGxhYmVsX2VuOiJDcnlwdG8gUG9vbCBSb3RhdGlvbiIsbGFiZWxfemg6IuWKoOWvhuaxoOi9ruWKqCIsZG9tYWluOiJjcnlwdG8iLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246Im1pc3NpbmdfY3VycmVudF9wcm9tb3Rpb25fZXZpZGVuY2VfYW5kX3ByZWF1dGhvcml6ZWRfYXV0b25vbXlfcG9saWN5IixsaXZlX2NvbnRpbnVpdHk6e2VsaWdpYmxlOiEwLGFsbG93ZWRfcGxhdGZvcm1zOlsiYmluYW5jZSJdfX0se3Byb2ZpbGU6ImNyeXB0b19idGNfZGNhIixsYWJlbDoiQlRD5a6a5oqVIixsYWJlbF9lbjoiQlRDIERDQSIsbGFiZWxfemg6IkJUQ+WumuaKlSIsZG9tYWluOiJjcnlwdG8iLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJzaGFkb3dfYWN0aXZlIixjYW5fc3dpdGNoX2xpdmU6ITEsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJwYXBlciIsImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJzaGFkb3dfY2FuZGlkYXRlX3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY3J5cHRvX3RyZW5kX3JvdGF0aW9uIixsYWJlbDoi5bGx5a+o6LaL5Yq/6L2u5YqoIixsYWJlbF9lbjoiQWx0Y29pbiBUcmVuZCIsbGFiZWxfemg6IuWxseWvqOi2i+WKv+i9ruWKqCIsZG9tYWluOiJjcnlwdG8iLHJ1bnRpbWVfZW5hYmxlZDohMSxpbmNvbWVfbGF5ZXJfZW5hYmxlZDohMSxvcHRpb25fb3ZlcmxheV9lbmFibGVkOiExLGNvbWJvX2VuYWJsZWQ6ITEsbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaF9hY3RpdmUiLGNhbl9zd2l0Y2hfbGl2ZTohMSxhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iXSxibG9ja2VkX2xpdmVfcmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGxpdmVfY29udGludWl0eTp7ZWxpZ2libGU6ITEsYWxsb3dlZF9wbGF0Zm9ybXM6W119fSx7cHJvZmlsZToiY3J5cHRvX2VxdWl0eV9jb21ibyIsbGFiZWw6IuWKoOWvhuWKqOmHj+e7hOWQiCIsbGFiZWxfZW46IkNyeXB0byBDb3JlIENvbWJvIixsYWJlbF96aDoi5Yqg5a+G5Yqo6YeP57uE5ZCIIixkb21haW46ImNyeXB0byIscnVudGltZV9lbmFibGVkOiExLGluY29tZV9sYXllcl9lbmFibGVkOiExLG9wdGlvbl9vdmVybGF5X2VuYWJsZWQ6ITEsY29tYm9fZW5hYmxlZDohMCxsaWZlY3ljbGVfc3RhZ2U6InJlc2VhcmNoX2FjdGl2ZSIsY2FuX3N3aXRjaF9saXZlOiExLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGJsb2NrZWRfbGl2ZV9yZWFzb246InJlc2VhcmNoX2JhY2t0ZXN0X29ubHlfcmVxdWlyZXNfZXZpZGVuY2VfcGFja2FnZSIsbGl2ZV9jb250aW51aXR5OntlbGlnaWJsZTohMSxhbGxvd2VkX3BsYXRmb3JtczpbXX0sY29tYm9fbW9kZToiZHluYW1pYyJ9XTtTLnBsYXRmb3JtO2NvbnN0IE49bmV3IFNldChxLm1hcChlPT5lLnByb2ZpbGUpKTtuZXcgTWFwKHEuZmlsdGVyKGU9Pk4uaGFzKGUucHJvZmlsZSkpLm1hcChlPT5bZS5wcm9maWxlLHtsYWJlbF96aDplLmxhYmVsX3poLGxhYmVsX2VuOmUubGFiZWxfZW59XSkpO2Z1bmN0aW9uIEQoZSl7cmV0dXJuKGU/LmFwcGxpY2F0aW9uX3ByZXBhcmF0aW9uPy5hY2NvdW50X29wdGlvbnN8fFtdKS5maWx0ZXIoYT0+YT8ucGxhdGZvcm09PT0ibG9uZ2JyaWRnZSImJmE/LmJyb2tlcl9lbnZpcm9ubWVudD09PSJwYXBlciImJnR5cGVvZiBhLmtleT09InN0cmluZyImJmEua2V5LnRyaW0oKSkubWFwKGE9Pih7aWQ6YCR7YS5wbGF0Zm9ybX06JHthLmtleX1gLGxhYmVsOnR5cGVvZiBhLmxhYmVsPT0ic3RyaW5nIiYmYS5sYWJlbC50cmltKCk/YS5sYWJlbDpTdHJpbmcoYS5rZXkpfSkpfWZ1bmN0aW9uIFIoZSl7Y29uc3QgYT1lPy5hcHBsaWNhdGlvbl9wcmVwYXJhdGlvbj8uYmxvY2tlcl9jb2RlcztyZXR1cm4gQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGg+MH1mdW5jdGlvbiBKKGUsYSl7aWYoIWV8fCFDKGUuYXBwbGljYXRpb24pKXJldHVybiExO2NvbnN0IGk9ZS5hcHBsaWNhdGlvbl9wcmVwYXJhdGlvbnx8e307cmV0dXJuIFIoZSl8fGkucHJlZmxpZ2h0X3N0YXR1cyE9PSJyZWFkeSJ8fCFpLnByZXZpZXdfcmVxdWVzdD8hMTpEKGUpLnNvbWUobj0+bi5pZD09PWEpfWZ1bmN0aW9uIFYoZSxhLGkpe2lmKGUhPT0ic2Nod2FiInx8YSE9PSJmcmVzaCJ8fCFpfHx0eXBlb2YgaSE9Im9iamVjdCIpcmV0dXJuIG51bGw7Y29uc3Qgbj1pO2lmKE9iamVjdC5rZXlzKG4pLmxlbmd0aCE9PTJ8fCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwidmFsdWUiKXx8IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCJzb3VyY2VfdGFnIikpcmV0dXJuIG51bGw7Y29uc3QgbD1uLnZhbHVlO2lmKG4uc291cmNlX3RhZyE9PSJzZWN1cml0aWVzQWNjb3VudC50eXBlInx8dHlwZW9mIGwhPSJzdHJpbmcifHxsLmxlbmd0aDwxfHxsLmxlbmd0aD4zMilyZXR1cm4gbnVsbDtmb3IoY29uc3QgXyBvZiBsKWlmKCEoXz49IkEiJiZfPD0iWiJ8fF8+PSJhIiYmXzw9InoifHxfPT09Il8iKSlyZXR1cm4gbnVsbDtyZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybiBlPy5mbG9vclRvdWNoZWQ9PT0hMHx8ZT8uY2xlYXJGbG9vcj09PSEwfHxlPy5yYXRpb1RvdWNoZWQ9PT0hMHx8ZT8uY2xlYXJSYXRpbz09PSEwfHx0eXBlb2YgZT8uY2FzaE1vZGU9PSJzdHJpbmciJiZlLmNhc2hNb2RlIT09IiJ9ZnVuY3Rpb24gRShlKXtpZih0eXBlb2YgZSE9InN0cmluZyJ8fGUubGVuZ3RoPjMyfHwhL14oPzowfFsxLTldXGQqKSg/OlwuXGQrKT8kLy50ZXN0KGUpKXJldHVybiBudWxsO2NvbnN0W2EsaT0iIl09ZS5zcGxpdCgiLiIpO3JldHVybiBhPT09IjAifHxhPT09IjEiJiYoaT09PSIifHwvXjArJC8udGVzdChpKSk/ZTpudWxsfWZ1bmN0aW9uIFUoZSl7Y29uc3QgYT1lLnRyaW0oKTtpZighL15cZCsoPzpcLlxkKyk/JC8udGVzdChhKSlyZXR1cm4gbnVsbDtjb25zdFtpLG49IiJdPWEuc3BsaXQoIi4iKSxsPWkucmVwbGFjZSgvXjArKD89XGQpLywiIil8fCIwIjtpZihsLmxlbmd0aD4zfHxsLmxlbmd0aD09PTMmJmwhPT0iMTAwInx8bD09PSIxMDAiJiYvWzEtOV0vLnRlc3QobikpcmV0dXJuIG51bGw7Y29uc3Qgcj1gJHtsfSR7bn1gLnJlcGxhY2UoL14wKyg/PVxkKS8sIiIpfHwiMCIsXz1uLmxlbmd0aCsyLHQ9ci5wYWRTdGFydChfKzEsIjAiKSxzPXQubGVuZ3RoLV8sYz10LnNsaWNlKDAscykucmVwbGFjZSgvXjArKD89XGQpLywiIil8fCIwIixkPXQuc2xpY2UocykucmVwbGFjZSgvMCskLywiIik7cmV0dXJuIEUoZD9gJHtjfS4ke2R9YDpjKX1mdW5jdGlvbiB2KHt2YWx1ZTplfSl7Y29uc3QgYT13KCk7cmV0dXJuIGU9PW51bGw/by5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZsYXQiLGNoaWxkcmVuOmEoImRlY2lzaW9ucy5ub3Rfc2V0Iil9KTp0eXBlb2YgZT09ImJvb2xlYW4iP28uanN4KG8uRnJhZ21lbnQse2NoaWxkcmVuOmU/IuKckyI6IuKclSJ9KTpvLmpzeCgic3BhbiIse2NsYXNzTmFtZToibnVtIixjaGlsZHJlbjpTdHJpbmcoZSl9KX1mdW5jdGlvbiBZKHtyb3dzOmV9KXtjb25zdCBhPXcoKTtyZXR1cm4gby5qc3goImRpdiIse2NsYXNzTmFtZToidGFibGUtd3JhcCIsY2hpbGRyZW46by5qc3hzKCJ0YWJsZSIse2NsYXNzTmFtZToiZGF0YS10YWJsZSIsY2hpbGRyZW46W28uanN4KCJ0aGVhZCIse2NoaWxkcmVuOm8uanN4cygidHIiLHtjaGlsZHJlbjpbby5qc3goInRoIix7Y2hpbGRyZW46YSgiZGVjaXNpb25zLmNvbC5maWVsZCIpfSksby5qc3goInRoIix7Y2hpbGRyZW46YSgiZGVjaXNpb25zLmNvbC5jdXJyZW50Iil9KSxvLmpzeCgidGgiLHtjaGlsZHJlbjphKCJkZWNpc2lvbnMuY29sLnByb3Bvc2VkIil9KSxvLmpzeCgidGgiLHtjaGlsZHJlbjphKCJkZWNpc2lvbnMuY29sLmFmZmVjdHNfbGl2ZSIpfSldfSl9KSxvLmpzeCgidGJvZHkiLHtjaGlsZHJlbjplLm1hcChpPT5vLmpzeHMoInRyIix7Y2hpbGRyZW46W28uanN4KCJ0ZCIseyJkYXRhLWZpZWxkIjppLmZpZWxkLGNoaWxkcmVuOmkubGFiZWx9KSxvLmpzeCgidGQiLHtjaGlsZHJlbjpvLmpzeCh2LHt2YWx1ZTppLmJlZm9yZX0pfSksby5qc3goInRkIix7Y2hpbGRyZW46by5qc3godix7dmFsdWU6aS5hZnRlcn0pfSksby5qc3goInRkIix7Y2xhc3NOYW1lOmkuYWZmZWN0c0xpdmU/ImRpZmYtYWZmZWN0cy1saXZlIjoiIixjaGlsZHJlbjpvLmpzeChqLHt0b25lOmkuYWZmZWN0c0xpdmU/Indhcm4iOiJ1bmtub3duIixjaGlsZHJlbjppLmFmZmVjdHNMaXZlP2EoImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfcmVxdWlyZWQiKTphKCJkZWNpc2lvbnMuYWZmZWN0c19saXZlX25vbmUiKX0pfSldfSxpLmZpZWxkKSl9KV19KX0pfWZ1bmN0aW9uIFcoe2l0ZW1zOmV9KXtyZXR1cm4gby5qc3goInVsIix7Y2xhc3NOYW1lOiJ0aW1lbGluZSIsY2hpbGRyZW46ZS5tYXAoYT0+by5qc3hzKCJsaSIse2NoaWxkcmVuOltvLmpzeCgiZGl2Iix7Y2hpbGRyZW46YS50aXRsZX0pLGEuZGV0YWlsJiZvLmpzeCgiZGl2Iix7c3R5bGU6e2NvbG9yOiJ2YXIoLS1tdXRlZCkiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjphLmRldGFpbH0pLG8uanN4KCJkaXYiLHtjbGFzc05hbWU6InRpbWVsaW5lLXRpbWUiLGNoaWxkcmVuOm8uanN4KE8se3ZhbHVlOmEudGltZX0pfSldfSxhLmlkKSl9KX1jb25zdCBJPVsic3RyYXRlZ3kiLCJkY2EiLCJjYXNoX3Jlc2VydmUiLCJpbmNvbWVfbGF5ZXIiXTtmdW5jdGlvbiBaKGUsYSl7cmV0dXJuIGU/LnBsYXRmb3JtTWV0YT8uW2FdPy5sYWJlbHx8YX1mdW5jdGlvbiBlZShlLGEsaSl7cmV0dXJuIGU/LmFjY291bnRPcHRpb25zPy5bYV0/LmZpbmQobD0+bC5rZXk9PT1pKT8udGFyZ2V0X25hbWV8fGl9ZnVuY3Rpb24gYWUoZSxhKXtyZXR1cm4oZT8uc3RyYXRlZ3lQcm9maWxlc3x8W10pLmZpbHRlcihpPT50eXBlb2YgaT8ucHJvZmlsZT09InN0cmluZyImJmkucHJvZmlsZS5sZW5ndGg+MCkubWFwKGk9Pih7cHJvZmlsZTppLnByb2ZpbGUsbGFiZWw6ayhpLnByb2ZpbGUsYSxhPT09InpoIj9pLmxhYmVsX3poOmkubGFiZWxfZW4pfSkpfWZ1bmN0aW9uIGllKGUsYSl7cmV0dXJuIGUoYS5sYWJlbF9rZXkse30sYGFjY291bnRzLmZpZWxkLiR7YS5maWVsZH1gKX1mdW5jdGlvbiBsZShlLGEpe3JldHVybiBlKGBhY2NvdW50cy5zZWN0aW9uLiR7YX1gKX1mdW5jdGlvbiBuZShlLGEsaSxuPSExLGw9ImVuIil7cmV0dXJuIG4/ZSgiY29tbW9uLnVua25vd24iKTppPT1udWxsfHxpPT09IiI/ZSgiY29tbW9uLm5hIik6dHlwZW9mIGk9PSJib29sZWFuIj9lKGk/ImFjY291bnRzLmJvb2wub24iOiJhY2NvdW50cy5ib29sLm9mZiIpOmE9PT0iZGNhX21vZGUiJiYoaT09PSJmaXhlZCJ8fGk9PT0ic21hcnQiKT9lKGBhY2NvdW50cy5kY2FfbW9kZS4ke2l9YCk6YT09PSJzdHJhdGVneV9wcm9maWxlIj9rKFN0cmluZyhpKSxsKTpTdHJpbmcoaSl9ZnVuY3Rpb24gcmUoZSxhKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxlLmZpZWxkKSl7Y29uc3QgaT1hW2UuZmllbGRdO3JldHVybiBpPT09bnVsbHx8aT09PXZvaWQgMD9lLmN1cnJlbnQ6aX1yZXR1cm4gZS5vdmVycmlkZGVuP2UuZHJhZnQ6ZS5jdXJyZW50fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIGU9PW51bGw/bnVsbDp0eXBlb2YgZT09Im51bWJlciI/U3RyaW5nKGUpOmV9ZnVuY3Rpb24gdGUoZSxhKXtjb25zdCBpPXt9O2Zvcihjb25zdCBuIG9mIGUpe2lmKG4uZmllbGQ9PT0ib3B0aW9uX292ZXJsYXlfZW5hYmxlZCIpe24ub3ZlcnJpZGRlbiYmKGkub3B0aW9uX292ZXJsYXlfZW5hYmxlZD1udWxsKTtjb250aW51ZX1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxuLmZpZWxkKT9pW24uZmllbGRdPWcoYVtuLmZpZWxkXSk6bi5vdmVycmlkZGVuJiYoaVtuLmZpZWxkXT1nKG4uZHJhZnQpKX1yZXR1cm4gaX1mdW5jdGlvbiBvZShlKXtjb25zdCBhPVtdO2Zvcihjb25zdCBpIG9mIEkpe2NvbnN0IG49ZS5maWx0ZXIobD0+bC5zZWN0aW9uPT09aSk7bi5sZW5ndGgmJmEucHVzaCh7c2VjdGlvbjppLHJvd3M6bn0pfXJldHVybiBhfWZ1bmN0aW9uIEYoZSl7cmV0dXJuL15cZCsoPzpcLlxkKyk/JC8udGVzdChlKSYmTnVtYmVyLmlzRmluaXRlKE51bWJlcihlKSl9ZnVuY3Rpb24gX2UoZSl7aWYoIUYoZSkpcmV0dXJuITE7Y29uc3QgYT1OdW1iZXIoZSk7cmV0dXJuIGE+PTAmJmE8PTF9ZnVuY3Rpb24gc2UoZSl7cmV0dXJuIGUubGVuZ3RoPD0zMiYmL14oPzowfFsxLTldXGQqKSg/OlwuXGQrKT8kLy50ZXN0KGUpJiZOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKGUpKSYmTnVtYmVyKGUpPjB9ZXhwb3J0e1kgYXMgRCxXIGFzIFQsUSBhcyBhLEggYXMgYixYIGFzIGMsbmUgYXMgZCxhZSBhcyBlLGllIGFzIGYsb2UgYXMgZyxNIGFzIGgscmUgYXMgaSxGIGFzIGosX2UgYXMgayxzZSBhcyBsLHRlIGFzIG0sSyBhcyBuLEcgYXMgbyxKIGFzIHAsVSBhcyBxLEIgYXMgcixsZSBhcyBzLGVlIGFzIHQsRSBhcyB1LFAgYXMgdixWIGFzIHcsWiBhcyB4fTsK" }, + "/v2/assets/hooks-Bi5o2VTD.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e3J9ZnJvbSIuL2luZGV4LUR0bkQwVjZYLmpzIjtmdW5jdGlvbiBwKCl7bGV0IGU9MDtyZXR1cm57YmVnaW4oKXtyZXR1cm4gZSs9MSxlfSxpc0N1cnJlbnQoYSl7cmV0dXJuIGE9PT1lfSxpbnZhbGlkYXRlKCl7ZSs9MX19fWZ1bmN0aW9uIGcoZSxhKXtjb25zdFtsLHVdPXIudXNlU3RhdGUoe3BoYXNlOiJsb2FkaW5nIixkYXRhOm51bGwsZXJyb3I6bnVsbH0pLHM9ci51c2VSZWYocCgpKSxbaSxmXT1yLnVzZVN0YXRlKDApLGM9ci51c2VSZWYoZSk7Yy5jdXJyZW50PWUsci51c2VFZmZlY3QoKCk9Pntjb25zdCB0PXMuY3VycmVudC5iZWdpbigpO3Uoe3BoYXNlOiJsb2FkaW5nIixkYXRhOm51bGwsZXJyb3I6bnVsbH0pO2xldCBvPSExO3JldHVybiBjLmN1cnJlbnQoKS50aGVuKG49PnshbyYmcy5jdXJyZW50LmlzQ3VycmVudCh0KSYmdSh7cGhhc2U6InJlYWR5IixkYXRhOm4sZXJyb3I6bnVsbH0pfSkuY2F0Y2gobj0+eyFvJiZzLmN1cnJlbnQuaXNDdXJyZW50KHQpJiZ1KHtwaGFzZToiZXJyb3IiLGRhdGE6bnVsbCxlcnJvcjpuIGluc3RhbmNlb2YgRXJyb3I/bjpuZXcgRXJyb3IoInJlcXVlc3RfZmFpbGVkIil9KX0pLCgpPT57bz0hMH19LFsuLi5hLGldKTtjb25zdCBkPXIudXNlQ2FsbGJhY2soKCk9PmYodD0+dCsxKSxbXSk7cmV0dXJuey4uLmwscmVsb2FkOmR9fWV4cG9ydHtwIGFzIGMsZyBhcyB1fTsK" }, + "/v2/assets/inboxFailure-BDvAMggC.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e0EgYXMgbyxIIGFzIGl9ZnJvbSIuL2luZGV4LUR0bkQwVjZYLmpzIjtjb25zdCByPW5ldyBTZXQoWyJxdW90YV9leGhhdXN0ZWQiLCJ1bmF1dGhvcml6ZWQiLCJpbmRleF9taXNzaW5nIiwiaW5kZXhfaW5jb21wbGV0ZSIsImluZGV4X3VuYXZhaWxhYmxlIiwidW5rbm93biJdKTtmdW5jdGlvbiBhKGUsdCl7aWYodCBpbnN0YW5jZW9mIG8pcmV0dXJuInVuYXV0aG9yaXplZCI7aWYodCBpbnN0YW5jZW9mIGkpe2NvbnN0IG49dC5wYXlsb2FkPy5lcnJvcl9zdGF0ZTtpZihuJiZyLmhhcyhuKSlyZXR1cm4gbn1yZXR1cm4gZT8uZXJyb3Jfc3RhdGUmJnIuaGFzKGUuZXJyb3Jfc3RhdGUpP2UuZXJyb3Jfc3RhdGU6InVua25vd24ifWV4cG9ydHthIGFzIGl9Owo=" }, + "/v2/assets/index-BPX_ZZJn.css": { contentType: "text/css; charset=utf-8", base64: "OnJvb3R7LS1zdXJmYWNlLTA6ICNGN0Y4RkE7LS1zdXJmYWNlLTE6ICNGRkZGRkY7LS1zdXJmYWNlLTI6ICNGMEYyRjU7LS1zdXJmYWNlLWhvdmVyOiAjRThFQkYwOy0tdGV4dC1wcmltYXJ5OiAjMTgxODFCOy0tdGV4dC1zZWNvbmRhcnk6ICM1MjU3NjM7LS10ZXh0LW11dGVkOiAjNjQ2Qjc4Oy0tYm9yZGVyOiAjREZFMkU4Oy0tYm9yZGVyLXN0cm9uZzogIzg1OEI5ODstLWJvcmRlci1zdHJvbmdlcjogIzUyNTc2MzstLWFjY2VudDogIzVCNEZENjstLWFjY2VudC10aW50OiAjRUVFQkZDOy0tb24tYWNjZW50OiAjRkZGRkZGOy0tc3VjY2VzczogIzE5NjI0RDstLXN1Y2Nlc3MtdGludDogI0VBRjZFRjstLXdhcm5pbmc6ICM4MDUwMDA7LS13YXJuaW5nLXRpbnQ6ICNGRkY0REQ7LS1kYW5nZXI6ICNBNzJFNDI7LS1kYW5nZXItdGludDogI0ZDRUNFRjstLWluZm86ICMxMzZDOUY7LS1pbmZvLXRpbnQ6ICNFQUY0RkM7LS1mb2N1cy1yaW5nOiAjNUI0RkQ2Oy0tY2hhcnQtMTogIzVCNEZENjstLWNoYXJ0LTI6ICMxMzZDOUY7LS1jaGFydC1ncmlkOiAjREZFMkU4Oy0tY2hyb21lOiAjRkZGRkZGOy0tYnV0dG9uLXByaW1hcnktYmc6ICMxODE4MUI7LS1idXR0b24tcHJpbWFyeS1mZzogI0ZGRkZGRjstLWJ1dHRvbi1wcmltYXJ5LWhvdmVyOiAjMzAzMDM0Oy0tYnV0dG9uLXByaW1hcnktcHJlc3NlZDogIzBGMTAxMjstLW92ZXJsYXktc2NyaW06ICMwMDAwMDA2NjstLW9uLXdhcm46ICNGRkZGRkY7LS1jaGFydC1iZW5jaG1hcms6ICM2NDZCNzg7LS1zaGFkb3c6IDAgMTJweCAzMnB4ICMxODE4MUIxQTstLW1yZC1iZzogI0YzRUVFNjstLW1yZC1pbms6ICMxQjFBMjQ7LS1tcmQtaW5rLTI6ICM1RDVCNkU7LS1tcmQtaW5rLTM6ICM2QzZBN0U7LS1tcmQtcGFuZWw6ICNGRkZGRkZBRDstLW1yZC1wYW5lbC0yOiAjRkZGRkZGRTY7LS1tcmQtbGluZTogIzI4MUU0NjE3Oy0tbXJkLWhpZ2hsaWdodDogI0ZGRkZGRkU2Oy0tbXJkLW1pbnQ6ICMwQjdENTc7LS1tcmQtYW1iZXI6ICNBMzVDMDA7LS1tcmQtY29yYWw6ICNDMDMzNEM7LS1tcmQtdmlvbGV0OiAjNTY0NkQ0Oy0tbXJkLXNreTogIzE2Njk5RjstLW1yZC11bmtub3duOiAjNkM2QTgwOy0tbXJkLXA6ICM2MjUwRDY7LS1tcmQtYjE6ICMxQThDQTg7LS1tcmQtYjI6ICNEMDRGODY7LS1tcmQtYjM6ICNCODg2MEI7LS1tcmQtYjQ6ICMyRjdEMDA7LS1tcmQteDE6ICMyNTYzQzk7LS1tcmQteDI6ICMzMzMwM0Y7LS1tcmQteDM6ICM2RjdDOEM7LS1tcmQtYnV0dG9uOiAjMUIxQTI0Oy0tbXJkLWJ1dHRvbi1pbms6ICNGRkZGRkY7LS1tcmQtb24tYWNjZW50OiAjRkZGRkZGOy0tbXJkLXNoYWRvdzogMCAxOHB4IDQwcHggLTIycHggIzNDMjg2NDU5Oy0tbXJkLWF1cm9yYTogcmFkaWFsLWdyYWRpZW50KDkwMHB4IDYwMHB4IGF0IDUlIC0xMCUsICNBMDhDRkY1OSwgI0EwOENGRjAwIDYwJSksIHJhZGlhbC1ncmFkaWVudCg4MDBweCA2MDBweCBhdCAxMDAlIDAlLCAjNzhEMkM4NTksICM3OEQyQzgwMCA2MCUpLCByYWRpYWwtZ3JhZGllbnQoNzAwcHggNTAwcHggYXQgNzAlIDExMCUsICNGRkJFODI2NiwgI0ZGQkU4MjAwIDYwJSk7LS1mb250LXNhbnM6ICJHZWlzdCIsICJJbnRlciIsICJOb3RvIFNhbnMgU0MiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICJTZWdvZSBVSSIsIFJvYm90bywgIlBpbmdGYW5nIFNDIiwgIkhpcmFnaW5vIFNhbnMgR0IiLCAiTWljcm9zb2Z0IFlhSGVpIiwgc2Fucy1zZXJpZjstLWZvbnQtbW9ubzogIkdlaXN0IE1vbm8iLCAiU0ZNb25vLVJlZ3VsYXIiLCAiSmV0QnJhaW5zIE1vbm8iLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZTstLW1yZC1mb250LXNlcmlmOiAiSW5zdHJ1bWVudCBTZXJpZiIsICJOb3RvIFNlcmlmIENKSyBTQyIsICJTb3VyY2UgSGFuIFNlcmlmIFNDIiwgIlNvbmd0aSBTQyIsICJTVFNvbmciLCBHZW9yZ2lhLCBzZXJpZjstLW1yZC1yYWRpdXM6IDIycHg7LS10ZXh0LXhzOiAxMnB4Oy0tdGV4dC1zbTogMTNweDstLXRleHQtYmFzZTogMTRweDstLXRleHQtbWQ6IDE2cHg7LS10ZXh0LWxnOiAyMHB4Oy0tdGV4dC14bDogMjZweDstLXNwYWNlLTE6IDRweDstLXNwYWNlLTI6IDhweDstLXNwYWNlLTM6IDEycHg7LS1zcGFjZS00OiAxNnB4Oy0tc3BhY2UtNTogMjBweDstLXNwYWNlLTY6IDI0cHg7LS1zcGFjZS04OiAzMnB4Oy0tcGFkLWNhcmQ6IDFyZW0gMS4yNXJlbTstLXJhZGl1czogOHB4Oy0tcmFkaXVzLWNhcmQ6IDEycHg7LS1oYWlybGluZTogLjVweDstLWNvbnRyb2wtaDogMzZweDstLWJvdHRvbS10YWJzLWhlaWdodDogNjRweDtjb2xvci1zY2hlbWU6bGlnaHQ7LS1iYWNrZ3JvdW5kLWNhbnZhczogdmFyKC0tc3VyZmFjZS0wKTstLWJhY2tncm91bmQtY2hyb21lOiB2YXIoLS1jaHJvbWUpOy0tc3VyZmFjZS1kZWZhdWx0OiB2YXIoLS1zdXJmYWNlLTEpOy0tc3VyZmFjZS1zdWJ0bGU6IHZhcigtLXN1cmZhY2UtMik7LS1ib3JkZXItZGl2aWRlcjogdmFyKC0tYm9yZGVyKTstLWJvcmRlci1jb250cm9sOiB2YXIoLS1ib3JkZXItc3Ryb25nKTstLWFjY2VudC1mb3JlZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOy0tYWNjZW50LXN1cmZhY2U6IHZhcigtLWFjY2VudC10aW50KTstLXN0YXR1cy1hdHRlbnRpb246IHZhcigtLXdhcm5pbmcpOy0tc3RhdHVzLWF0dGVudGlvbi1iZzogdmFyKC0td2FybmluZy10aW50KTstLXN0YXR1cy1ibG9ja2VkOiB2YXIoLS1kYW5nZXIpOy0tc3RhdHVzLWJsb2NrZWQtYmc6IHZhcigtLWRhbmdlci10aW50KTstLXN0YXR1cy12ZXJpZmllZDogdmFyKC0tc3VjY2Vzcyk7LS1zdGF0dXMtdmVyaWZpZWQtYmc6IHZhcigtLXN1Y2Nlc3MtdGludCk7LS1zdGF0dXMtaW5mbzogdmFyKC0taW5mbyk7LS1zdGF0dXMtaW5mby1iZzogdmFyKC0taW5mby10aW50KTstLWNoYXJ0LXByaW1hcnk6IHZhcigtLWNoYXJ0LTEpOy0tY2hhcnQtc2Vjb25kYXJ5OiB2YXIoLS1jaGFydC0yKTstLWNhbnZhczogdmFyKC0tc3VyZmFjZS0wKTstLXN1cmZhY2U6IHZhcigtLXN1cmZhY2UtMSk7LS1pbms6IHZhcigtLXRleHQtcHJpbWFyeSk7LS1tdXRlZDogdmFyKC0tdGV4dC1tdXRlZCk7LS1saW5lOiB2YXIoLS1ib3JkZXIpOy0tdXAtZ3JlZW46IHZhcigtLXN1Y2Nlc3MpOy0tZG93bi1ncmVlbjogdmFyKC0tZGFuZ2VyKTstLXVwOiB2YXIoLS11cC1ncmVlbik7LS1kb3duOiB2YXIoLS1kb3duLWdyZWVuKTstLXN0YXR1cy1vazogdmFyKC0tc3VjY2Vzcyk7LS1zdGF0dXMtd2FybjogdmFyKC0td2FybmluZyk7LS1zdGF0dXMtZXJyb3I6IHZhcigtLWRhbmdlcik7LS1zdGF0dXMtdW5rbm93bjogdmFyKC0tdGV4dC1tdXRlZCk7LS1iZW5jaG1hcmstMTogdmFyKC0tY2hhcnQtMSk7LS1iZW5jaG1hcmstMjogdmFyKC0tY2hhcnQtMik7LS1iZW5jaG1hcmstMzogdmFyKC0tc3VjY2Vzcyk7LS1iZW5jaG1hcmstNDogdmFyKC0tY2hhcnQtYmVuY2htYXJrKTstLXJhZGl1cy1zOiB2YXIoLS1yYWRpdXMpOy0tcmFkaXVzLW06IHZhcigtLXJhZGl1cy1jYXJkKTstLWdhcC0xOiB2YXIoLS1zcGFjZS0xKTstLWdhcC0yOiB2YXIoLS1zcGFjZS0yKTstLWdhcC0zOiB2YXIoLS1zcGFjZS0zKTstLWdhcC00OiB2YXIoLS1zcGFjZS00KX06cm9vdFtkYXRhLXRoZW1lPWRhcmtdey0tc3VyZmFjZS0wOiAjMEYxMDEyOy0tc3VyZmFjZS0xOiAjMTcxODFDOy0tc3VyZmFjZS0yOiAjMUQxRjI0Oy0tc3VyZmFjZS1ob3ZlcjogIzIzMjYyQzstLXRleHQtcHJpbWFyeTogI0Y0RjRGNTstLXRleHQtc2Vjb25kYXJ5OiAjQjRCNkJGOy0tdGV4dC1tdXRlZDogIzhEOTE5RTstLWJvcmRlcjogIzMwMzIzODstLWJvcmRlci1zdHJvbmc6ICM3MTc2ODQ7LS1ib3JkZXItc3Ryb25nZXI6ICNCNEI2QkY7LS1hY2NlbnQ6ICNCN0FERkY7LS1hY2NlbnQtdGludDogIzI5MjQzQjstLW9uLWFjY2VudDogIzE3MTgxQzstLXN1Y2Nlc3M6ICM4RENGQjY7LS1zdWNjZXNzLXRpbnQ6ICMxODJDMjU7LS13YXJuaW5nOiAjRjNDNjc3Oy0td2FybmluZy10aW50OiAjMzAyNzE4Oy0tZGFuZ2VyOiAjRjFBNUFEOy0tZGFuZ2VyLXRpbnQ6ICMzMjFGMjM7LS1pbmZvOiAjODlDOUVGOy0taW5mby10aW50OiAjMTkyQjM4Oy0tZm9jdXMtcmluZzogI0I3QURGRjstLWNoYXJ0LTE6ICNCN0FERkY7LS1jaGFydC0yOiAjODlDOUVGOy0tY2hhcnQtZ3JpZDogIzMwMzIzODstLWNocm9tZTogIzBGMTAxMjstLWJ1dHRvbi1wcmltYXJ5LWJnOiAjRjRGNEY1Oy0tYnV0dG9uLXByaW1hcnktZmc6ICMxNzE4MUM7LS1idXR0b24tcHJpbWFyeS1ob3ZlcjogI0ZGRkZGRjstLWJ1dHRvbi1wcmltYXJ5LXByZXNzZWQ6ICNERURFRTQ7LS1vdmVybGF5LXNjcmltOiAjMDAwMDAwOTk7LS1vbi13YXJuOiAjMTcxODFDOy0tY2hhcnQtYmVuY2htYXJrOiAjOUFBMEFFOy0tc2hhZG93OiAwIDEycHggMzJweCAjMDAwMDAwNjY7LS1tcmQtYmc6ICMwQTBDMTM7LS1tcmQtaW5rOiAjRUNFQUY0Oy0tbXJkLWluay0yOiAjQTVBM0I4Oy0tbXJkLWluay0zOiAjOEY4REE2Oy0tbXJkLXBhbmVsOiAjRkZGRkZGMEQ7LS1tcmQtcGFuZWwtMjogI0ZGRkZGRjE2Oy0tbXJkLWxpbmU6ICNGRkZGRkYxNzstLW1yZC1oaWdobGlnaHQ6ICNGRkZGRkYyNDstLW1yZC1taW50OiAjNjJFM0I0Oy0tbXJkLWFtYmVyOiAjRkZCODVBOy0tbXJkLWNvcmFsOiAjRkY3QjhBOy0tbXJkLXZpb2xldDogI0E5OUNGRjstLW1yZC1za3k6ICM2Q0M3RkY7LS1tcmQtdW5rbm93bjogIzlEOUJCNDstLW1yZC1wOiAjOTA4NUU5Oy0tbXJkLWIxOiAjMjJBM0IzOy0tbXJkLWIyOiAjRDU1MTgxOy0tbXJkLWIzOiAjQzk4NTAwOy0tbXJkLWI0OiAjMDA4MzAwOy0tbXJkLXgxOiAjNUI5Q0YyOy0tbXJkLXgyOiAjRTZFM0YyOy0tbXJkLXgzOiAjOEE5N0E4Oy0tbXJkLWJ1dHRvbjogI0VDRUFGNDstLW1yZC1idXR0b24taW5rOiAjMTQxMzFDOy0tbXJkLW9uLWFjY2VudDogIzBBMEMxMzstLW1yZC1zaGFkb3c6IDAgMjBweCA1MHB4IC0yMHB4ICMwMDAwMDBCMzstLW1yZC1hdXJvcmE6IHJhZGlhbC1ncmFkaWVudCg5MDBweCA2MDBweCBhdCA4JSAtMTAlLCAjNUY1NkU2NTcsICM1RjU2RTYwMCA2MCUpLCByYWRpYWwtZ3JhZGllbnQoODAwcHggNjAwcHggYXQgMTAwJSAwJSwgIzE0OTY5NjM4LCAjMTQ5Njk2MDAgNjAlKSwgcmFkaWFsLWdyYWRpZW50KDcwMHB4IDUwMHB4IGF0IDcwJSAxMTAlLCAjRkZBQTUwMjQsICNGRkFBNTAwMCA2MCUpO2NvbG9yLXNjaGVtZTpkYXJrfTpyb290W2RhdGEtdXBkb3duPXJlZC11cF17LS11cDogdmFyKC0tZG93bi1ncmVlbik7LS1kb3duOiB2YXIoLS11cC1ncmVlbil9Kntib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbCxib2R5e21hcmdpbjowO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnZhcigtLWJhY2tncm91bmQtY2FudmFzKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS41Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9Lm51bSwua3BpLXZhbHVlLC5tb25leSwucGVyY2VudHtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9YXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1idXR0b257Zm9udDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lfWJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNTV9OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCAwIDAgMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlcjowfS5za2lwLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7dG9wOi00OHB4O3BhZGRpbmc6OHB4IDEycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLW9uLWFjY2VudCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7ei1pbmRleDoxMDA7dHJhbnNpdGlvbjp0b3AgLjE1c30uc2tpcC1saW5rOmZvY3Vze3RvcDo4cHh9LnNoZWxse2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDoxMDB2aDtiYWNrZ3JvdW5kOnZhcigtLWJhY2tncm91bmQtY2FudmFzKX0uc2hlbGwtbWFpbntmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmJyYW5ke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZsZXg6MCAwIGF1dG99LmJyYW5kIGltZ3t3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2ZsZXg6MCAwIGF1dG99LmJyYW5kLWNvcHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDoxLjE1O21pbi13aWR0aDowfS5icmFuZC1uYW1le2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDtsZXR0ZXItc3BhY2luZzotLjAxZW07d2hpdGUtc3BhY2U6bm93cmFwfS5icmFuZC1zdWJ0aXRsZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnRvcGJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O21pbi1oZWlnaHQ6NjRweDtwYWRkaW5nOjAgMjRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7YmFja2dyb3VuZDp2YXIoLS1iYWNrZ3JvdW5kLWNocm9tZSk7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MjA7ZmxleC13cmFwOm5vd3JhcH0udG9wYmFyIC5zcGFjZXJ7ZmxleDoxIDEgYXV0b30udG9wYmFyLXVwZGF0ZWR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwfS50b3BuYXZ7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6MnB4O2hlaWdodDo2NHB4O21pbi13aWR0aDowfS50b3BuYXYtaXRlbXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O3BhZGRpbmc6MCAxMnB4O21pbi1oZWlnaHQ6NDRweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHh9LnRvcG5hdi1pdGVtOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1YnRsZSl9LnRvcG5hdi1pdGVtLmFjdGl2ZXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LnRvcG5hdi1pdGVtIHN2Z3tmbGV4OjAgMCBhdXRvfS5uYXYtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4IDEycHg7bWluLWhlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246cmVsYXRpdmV9LnRvcG5hdi1pdGVtLC5uYXYtaXRlbXt0cmFuc2l0aW9uOmNvbG9yIC4xMnMgY3ViaWMtYmV6aWVyKC4yLDAsMCwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xMnMgY3ViaWMtYmV6aWVyKC4yLDAsMCwxKX0ubmF2LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5uYXYtaXRlbS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc3VyZmFjZSk7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2ZvbnQtd2VpZ2h0OjYwMH0ubmF2LWl0ZW0gc3Zne2ZsZXg6MCAwIGF1dG99Lm5hdi1iYWRnZXttYXJnaW4tbGVmdDphdXRvO21pbi13aWR0aDoxOHB4O3BhZGRpbmc6MCA1cHg7Ym9yZGVyLXJhZGl1czo5cHg7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtd2Fybik7Y29sb3I6dmFyKC0tb24td2Fybik7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MThweH0udG9wbmF2LWl0ZW0gLm5hdi1iYWRnZXttYXJnaW4tbGVmdDoycHh9Lm5hdi1iYWRnZS11bmtub3due2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS0yKTtjb2xvcjp2YXIoLS1tdXRlZCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tbGluZSl9LmNvbnRlbnR7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjMycHggMjRweCA2NHB4O21heC13aWR0aDoxNDQwcHg7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvfS5pY29uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5pY29uLWJ1dHRvbjpob3ZlciwuaWNvbi1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVde2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1ob3Zlcik7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uYm90dG9tLXRhYnN7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO21pbi1oZWlnaHQ6Y2FsYyh2YXIoLS1ib3R0b20tdGFicy1oZWlnaHQpICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtiYWNrZ3JvdW5kOnZhcigtLWJhY2tncm91bmQtY2hyb21lKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7ei1pbmRleDozMDtwYWRkaW5nLWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSl9LmJvdHRvbS10YWJzLWlubmVye2Rpc3BsYXk6ZmxleH0uYm90dG9tLXRhYntmbGV4OjEgMSAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjNweDttaW4taGVpZ2h0OjU2cHg7cGFkZGluZzo4cHggMCA2cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZToxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5ib3R0b20tdGFiLmFjdGl2ZXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCk7Zm9udC13ZWlnaHQ6NjAwfS5ib3R0b20tdGFiIC5uYXYtYmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtyaWdodDpjYWxjKDUwJSAtIDIycHgpO21hcmdpbjowfS5tb3JlLXNoZWV0e3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowO2JvdHRvbTpjYWxjKHZhcigtLWJvdHRvbS10YWJzLWhlaWdodCkgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1kZWZhdWx0KTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czoxNnB4IDE2cHggMCAwO3BhZGRpbmc6OHB4IDE2cHggMTZweDttYXgtaGVpZ2h0OjcwZHZoO292ZXJmbG93LXk6YXV0bzt6LWluZGV4OjQwO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KX0ubW9yZS1zaGVldCAubmF2LWl0ZW17Zm9udC1zaXplOjE1cHg7bWluLWhlaWdodDo0OHB4fS5sYW5nLWxhYmVsLXNob3J0e2Rpc3BsYXk6bm9uZX0uYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo5cHggMTZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xMnMgY3ViaWMtYmV6aWVyKC4yLDAsMCwxKSxib3JkZXItY29sb3IgLjEycyBjdWJpYy1iZXppZXIoLjIsMCwwLDEpLGNvbG9yIC4xMnMgY3ViaWMtYmV6aWVyKC4yLDAsMCwxKX0uYnV0dG9uLXByaW1hcnl7YmFja2dyb3VuZDp2YXIoLS1idXR0b24tcHJpbWFyeS1iZyk7Y29sb3I6dmFyKC0tYnV0dG9uLXByaW1hcnktZmcpfS5idXR0b24tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOnZhcigtLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKX0uYnV0dG9uLXByaW1hcnk6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6dmFyKC0tYnV0dG9uLXByaW1hcnktcHJlc3NlZCl9LmJ1dHRvbi1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1jb250cm9sKTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtZGVmYXVsdCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uYnV0dG9uLXNlY29uZGFyeTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtaG92ZXIpfS5idXR0b24tZGFuZ2Vye2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWJsb2NrZWQpO2NvbG9yOnZhcigtLXN0YXR1cy1ibG9ja2VkLWJnKX0uYnV0dG9uLWRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN0YXR1cy1ibG9ja2VkKSA4OCUsdmFyKC0tc3VyZmFjZS1kZWZhdWx0KSl9LmJ1dHRvbi1kYW5nZXItb3V0bGluZXtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLWJsb2NrZWQpO2NvbG9yOnZhcigtLXN0YXR1cy1ibG9ja2VkKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5idXR0b24tZGFuZ2VyLW91dGxpbmU6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtYmxvY2tlZC1iZyl9LmJ1dHRvbi1zbXttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo0cHggMTFweDtmb250LXNpemU6MTNweH0uY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtZGVmYXVsdCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7cGFkZGluZzoyNHB4O21pbi13aWR0aDowfS5jYXJkLXRpdGxle21hcmdpbjowIDAgMTJweDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LS4wMTVlbTtsaW5lLWhlaWdodDoxLjR9LmNhcmQtbm90ZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6MTJweDttYXJnaW46OHB4IDAgMDtsaW5lLWhlaWdodDoxLjU1fS5rcGktZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LG1pbm1heCgwLDFmcikpO2dhcDoxMnB4fS5rcGktY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtZGVmYXVsdCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7cGFkZGluZzoxOHB4IDIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O21pbi13aWR0aDowO3RleHQtYWxpZ246bGVmdH1idXR0b24ua3BpLWNhcmR7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjEycyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjEycyBlYXNlfWJ1dHRvbi5rcGktY2FyZDpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA0NSUsdmFyKC0tbGluZSkpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSAzJSx2YXIoLS1zdXJmYWNlKSl9LmtwaS10aXRsZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tbXV0ZWQpfS5rcGktdmFsdWV7Zm9udC1zaXplOjI1cHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotLjAxNWVtO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmtwaS12YWx1ZSAuZmxhdHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDB9LmtwaS1zdGF0ZXtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tbXV0ZWQpfS5tZXRyaWMtbm90ZXttYXJnaW46MDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42fS5rcGktc3Vie2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmtwaS1mb290e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweCAxMHB4O21hcmdpbi10b3A6MnB4O2ZsZXgtd3JhcDp3cmFwfS5rcGktZm9vdCAuYmFkZ2V7bWF4LXdpZHRoOjEwMCU7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7bWluLWhlaWdodDoyNHB4O3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O3doaXRlLXNwYWNlOm5vd3JhcH0uYmFkZ2Ugc3Zne2ZsZXg6MCAwIGF1dG99LmJhZGdlLW9re2NvbG9yOnZhcigtLXN0YXR1cy12ZXJpZmllZCk7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtdmVyaWZpZWQtYmcpfS5iYWRnZS13YXJue2NvbG9yOnZhcigtLXN0YXR1cy1hdHRlbnRpb24pO2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWF0dGVudGlvbi1iZyl9LmJhZGdlLWVycm9ye2NvbG9yOnZhcigtLXN0YXR1cy1ibG9ja2VkKTtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1ibG9ja2VkLWJnKX0uYmFkZ2UtdW5rbm93bntjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1YnRsZSl9LmJhZGdlLWFjY2VudHtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc3VyZmFjZSl9LnVwe2NvbG9yOnZhcigtLXVwKX0uZG93bntjb2xvcjp2YXIoLS1kb3duKX0uZmxhdHtjb2xvcjp2YXIoLS1tdXRlZCl9LmFzb2Z7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4fS5lbXB0eS1zdGF0ZSwuZXJyb3Itc3RhdGV7bWluLWhlaWdodDowO3BhZGRpbmc6MTJweCAxNHB4O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweCAxMHB4O3RleHQtYWxpZ246bGVmdDtjb2xvcjp2YXIoLS1tdXRlZCk7Ym9yZGVyLXJhZGl1czoxMHB4fS5lbXB0eS1zdGF0ZXtib3JkZXI6MXB4IGRhc2hlZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1saW5lKSA5MCUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VyZmFjZS0yKSAzMCUsdHJhbnNwYXJlbnQpfS5lcnJvci1zdGF0ZXtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VyZmFjZS0yKSAxOCUsdmFyKC0tc3VyZmFjZSkpfS5zdGF0ZS1pY29ue2ZsZXg6bm9uZTt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6dmFyKC0tbXV0ZWQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tbXV0ZWQpIDklLHRyYW5zcGFyZW50KX0uc3RhdGUtY29weXtmbGV4OjEgMSAxODBweDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHggOHB4fS5zdGF0ZS1jb3B5Pi5zdGF0ZS1kZXRhaWxze2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7bWFyZ2luLXRvcDowfS5zdGF0ZS1jb3B5Pi5zdGF0ZS1kZXRhaWxzW29wZW5de2ZsZXg6MSAxIGF1dG99LmVtcHR5LXN0YXRlIC5lbXB0eS10aXRsZSwuZXJyb3Itc3RhdGUgLmVycm9yLXRpdGxle21hcmdpbjowO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6dmFyKC0taW5rKX0uc3RhdGUtYWN0aW9ue2ZsZXg6bm9uZTttYXJnaW4tbGVmdDphdXRvO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uc3RhdGUtZGV0YWlsc3ttYXJnaW4tdG9wOjNweH0uc3RhdGUtZGV0YWlscz5zdW1tYXJ5e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNDtjdXJzb3I6cG9pbnRlcjtsaXN0LXN0eWxlOm5vbmV9LnN0YXRlLWRldGFpbHM+c3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LnN0YXRlLWRldGFpbHM+c3VtbWFyeTpiZWZvcmV7Y29udGVudDoi4oC6IjtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzIGVhc2V9LnN0YXRlLWRldGFpbHNbb3Blbl0+c3VtbWFyeTpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnN0YXRlLWRldGFpbHM+cHttYXJnaW46NXB4IDAgMDttYXgtd2lkdGg6NjJjaDtmb250LXNpemU6MTIuNXB4O2xpbmUtaGVpZ2h0OjEuNTU7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uc3RhdGUtZGV0YWlscyB1bHttYXJnaW46NnB4IDAgMDtwYWRkaW5nLWxlZnQ6MThweDtmb250LXNpemU6MTIuNXB4O2xpbmUtaGVpZ2h0OjEuNTV9LnN0YXRlLWNvcHkgLnN0YXRlLXNob3J0e21hcmdpbjowO2ZvbnQtc2l6ZToxMi41cHg7bGluZS1oZWlnaHQ6MS40NX0uc3RhdGUtc2hvcnR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNDU7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uc3RhdGUtaW5saW5le2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweCAxMHB4O21hcmdpbi10b3A6OHB4fS5zdGF0ZS1pbmxpbmUgLnN0YXRlLWRldGFpbHN7bWFyZ2luLXRvcDowfS5za2VsZXRvbntib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1zdXJmYWNlLTIpIDI1JSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdXJmYWNlLTIpIDYwJSx2YXIoLS1zdXJmYWNlKSkgNTAlLHZhcigtLXN1cmZhY2UtMikgNzUlKTtiYWNrZ3JvdW5kLXNpemU6MjAwJSAxMDAlO2FuaW1hdGlvbjpza2VsZXRvbi1zd2VlcCAxLjRzIGluZmluaXRlO21pbi1oZWlnaHQ6MTZweH1Aa2V5ZnJhbWVzIHNrZWxldG9uLXN3ZWVwezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246LTIwMCUgMH19LnBhZ2V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MjRweH0ucGFnZS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweCAxNnB4O2ZsZXgtd3JhcDp3cmFwfS5wYWdlLXRpdGxle21hcmdpbjowO2ZvbnQtc2l6ZTozMnB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAyNWVtO2xpbmUtaGVpZ2h0OjEuMjV9LnBhZ2Utc3VidGl0bGV7bWFyZ2luOi0xMnB4IDAgMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS41O21heC13aWR0aDo3MmNofS5wYWdlLWhlYWRlci1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweCAxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1sZWZ0OmF1dG99LnBhZ2UtaGVhZGVyLWFjdGlvbnMgLnNlZ21lbnRlZHttYXgtd2lkdGg6MTAwJX0uZ3JpZC0ye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MThweH0uc2VjdGlvbi1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNnB4fS50YWJsZS13cmFwe292ZXJmbG93LXg6YXV0bztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpfXRhYmxlLmRhdGEtdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Zm9udC1zaXplOjEzcHh9LmRhdGEtdGFibGUgdGgsLmRhdGEtdGFibGUgdGR7cGFkZGluZzoxMHB4IDE0cHg7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXNvZnQtbGluZSwgdmFyKC0tbGluZSkpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZGF0YS10YWJsZSB0aGVhZCB0aHtwb3NpdGlvbjpzdGlja3k7dG9wOjA7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdXJmYWNlLTIpIDU1JSx2YXIoLS1zdXJmYWNlKSk7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2luZzouMDFlbTt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDoxO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpfS5kYXRhLXRhYmxlIHRib2R5IHRye3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgZWFzZX0uZGF0YS10YWJsZSB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNCUsdmFyKC0tc3VyZmFjZSkpfS5kYXRhLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGR7Ym9yZGVyLWJvdHRvbTpub25lfS50YWJsZS1zb3J0e2JvcmRlcjowO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjppbmhlcml0O21pbi1oZWlnaHQ6MjRweH0uZGF0YS10YWJsZSB0aC5zb3J0YWJsZXtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZGF0YS10YWJsZSB0aC5zb3J0YWJsZTpob3Zlcntjb2xvcjp2YXIoLS1pbmspfS5kYXRhLXRhYmxlIHRkLm51bSwuZGF0YS10YWJsZSB0aC5udW17dGV4dC1hbGlnbjpyaWdodDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LmFjY291bnQtZmFjdHMtbm90ZXN7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpfS5hY2NvdW50LWZhY3RzLW5vdGVzIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXJ9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LmRhdGEtdGFibGUgdGgsLmRhdGEtdGFibGUgdGR7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9fS50YWJze2Rpc3BsYXk6ZmxleDtnYXA6MnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZsZXgtd3JhcDp3cmFwO292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0udGFiczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS50YWJ7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6MTFweCAxNHB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0udGFiOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRhYi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpO2ZvbnQtd2VpZ2h0OjYwMH0uc2VnbWVudGVke2Rpc3BsYXk6aW5saW5lLWZsZXg7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6M3B4O2dhcDoycHg7ZmxleC13cmFwOndyYXB9LnNlZ21lbnRlZCAuc2VnbWVudHttaW4taGVpZ2h0OjI4cHg7cGFkZGluZzo0cHggMTFweDtib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS1tdXRlZCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxLjM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xcyBlYXNlLGNvbG9yIC4xcyBlYXNlfS5zZWdtZW50ZWQgLnNlZ21lbnQ6aG92ZXI6bm90KC5hY3RpdmUpe2NvbG9yOnZhcigtLWluayl9LnNlZ21lbnRlZCAuc2VnbWVudCAuc2VnbWVudC1zdWJ7Zm9udC1zaXplOjEycHg7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5zZWdtZW50ZWQgLnNlZ21lbnQuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDFweCAzcHggIzBmMTcyYTFhfS5maWVsZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo1cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5maWVsZD5zcGFue2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKX0uaW5wdXR7bWluLWhlaWdodDozNnB4O3BhZGRpbmc6dmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7Ym9yZGVyOi41cHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS0xKTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQ6aW5oZXJpdDt3aWR0aDoxMDAlfS5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5pbnB1dDpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQ6ZGlzYWJsZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5jYXJkLmNhcmQtZmxhdHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMSk7Ym9yZGVyOi41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jYXJkKTtwYWRkaW5nOnZhcigtLXBhZC1jYXJkKX0uY2hlY2tib3gtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo4cHg7Zm9udC1zaXplOjEzcHh9LmNoZWNrYm94LXJvdyBpbnB1dHttYXJnaW4tdG9wOjNweH0uZGlhbG9nLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDp2YXIoLS1vdmVybGF5LXNjcmltKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNnB4O3otaW5kZXg6NTB9LmRpYWxvZ3tiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGl2aWRlcik7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpO21heC13aWR0aDo0ODBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6ODV2aDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MzJweH0uZGlhbG9nIGgye21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjEuNH0uZGlhbG9nIC5kaWFsb2ctdGFyZ2V0e2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDhweH0uZGlhbG9nIC5kaWFsb2ctc3VtbWFyeXtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjAgMCA4cHh9LmRpYWxvZyAuZGlhbG9nLWNvbnNlcXVlbmNle21hcmdpbjowIDAgMTJweH0uZGlhbG9nIC5kaWFsb2ctY29uc2VxdWVuY2UuZGFuZ2Vye2NvbG9yOnZhcigtLWRhbmdlcil9LmRpYWxvZy1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjhweDttYXJnaW4tdG9wOjE2cHh9LnRvYXN0LXN0YWNre3Bvc2l0aW9uOmZpeGVkO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3otaW5kZXg6MTIwO21heC13aWR0aDptaW4oNDIwcHgsY2FsYygxMDB2dyAtIDMycHgpKX0udG9hc3R7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KTtwYWRkaW5nOjEwcHggMTJweDtkaXNwbGF5OmZsZXg7Z2FwOjhweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZvbnQtc2l6ZToxM3B4fS50b2FzdC5lcnJvcntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1zdGF0dXMtZXJyb3IpfS50b2FzdC5zdWNjZXNze2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLXN0YXR1cy1vayl9LnRvYXN0IGJ1dHRvbntjb2xvcjp2YXIoLS1tdXRlZCk7ZmxleDowIDAgYXV0b30uZGlmZi1hZmZlY3RzLWxpdmV7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXdlaWdodDo2MDB9LnRpbWVsaW5le2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9LnRpbWVsaW5lIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAwIDE2cHggMjBweDtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tbGluZSk7bWFyZ2luLWxlZnQ6NnB4fS50aW1lbGluZSBsaTpsYXN0LWNoaWxke3BhZGRpbmctYm90dG9tOjB9LnRpbWVsaW5lIGxpOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTZweDt0b3A6NHB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpfS50aW1lbGluZSAudGltZWxpbmUtdGltZXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LmRhbmdlci16b25le2JvcmRlcjoxcHggc29saWQgdmFyKC0tZGFuZ2VyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweH0uZGFuZ2VyLXpvbmUtdGl0bGV7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjA7Zm9udC1zaXplOjE0cHh9LmRhbmdlci1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjE2cHg7ZmxleC13cmFwOndyYXB9LmRhbmdlci1yb3cgLmRhbmdlci1yb3ctdGV4dHtmbGV4OjEgMSAzMjBweH0uZGFuZ2VyLXJvdyAuZGFuZ2VyLXJvdy10ZXh0IHN0cm9uZ3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MnB4fS5kYW5nZXItcm93IC5kYW5nZXItcm93LXRleHQgcHttYXJnaW46MDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEzcHh9LmNoYXJ0e3dpZHRoOjEwMCV9LmNoYXJ0LWxlZ2VuZHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweCAxNnB4O21hcmdpbi10b3A6OHB4fS5jaGFydC1sZWdlbmQgYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MnB4IDRweDtib3JkZXItcmFkaXVzOjRweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt0ZXh0LWFsaWduOmxlZnR9LmNoYXJ0LWxlZ2VuZCBidXR0b246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5jaGFydC1sZWdlbmQgYnV0dG9uLm9mZntvcGFjaXR5Oi40O3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LmNoYXJ0LWxlZ2VuZCAubGVnZW5kLXN3YXRjaHtmbGV4OjAgMCAxNHB4O3dpZHRoOjE0cHg7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ibG9ja30uY2hhcnQtdG9vbHRpcHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpO3BhZGRpbmc6OHB4IDEwcHg7Zm9udC1zaXplOjEycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO21heC13aWR0aDptaW4oMjQwcHgsNzB2dyk7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmNoYXJ0LXRvb2x0aXAgLnRvb2x0aXAtZGF0ZXtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLWJvdHRvbTo0cHh9LmNoYXJ0LXRvb2x0aXAgLnRvb2x0aXAtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LmNoYXJ0LWZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlfS5jYWxlbmRhci1tb250aC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsbWlubWF4KDM2cHgsMWZyKSk7Z2FwOjRweH0uY2FsZW5kYXItY2VsbHttaW4taGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nOjRweCA2cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSl9LmNhbGVuZGFyLWNlbGwgLmNlbGwtZGF0ZXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjExcHh9LmNhbGVuZGFyLWNlbGwgLmNlbGwtdmFsdWV7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtd2VpZ2h0OjYwMH0uY2FsZW5kYXItY2VsbC5jZWxsLWVtcHR5e2JvcmRlci1zdHlsZTpkYXNoZWQ7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZyx0cmFuc3BhcmVudCAwIDZweCx2YXIoLS1zdXJmYWNlLTIpIDZweCAxMnB4KX0uY2FsZW5kYXIteWVhci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsbWlubWF4KDAsMWZyKSk7Z2FwOjhweH0uY2FsZW5kYXItbmF2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4fS5jYWxlbmRhci1uYXYgLmN1cnJlbnR7Zm9udC13ZWlnaHQ6NjAwO21pbi13aWR0aDoxMTBweDt0ZXh0LWFsaWduOmNlbnRlcn0uY2FsZW5kYXItd2Vla2RheXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmJhcmxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5iYXJsaXN0LXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjkwcHggMWZyIDkwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOjEzcHh9LmJhcmxpc3QtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5iYXJsaXN0LXRyYWNre3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxNHB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS0yKTtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW59LmJhcmxpc3QtZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtib3JkZXItcmFkaXVzOjRweH0uYmFybGlzdC12YWx1ZXt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uaW5ib3h7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjgwcHgsMzgwcHgpIDFmcjtnYXA6MTZweDthbGlnbi1pdGVtczpzdGFydH0uaW5ib3gubGlzdC1vbmx5e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5pbmJveC5saXN0LW9ubHkgLmluYm94LWxpc3R7bWF4LXdpZHRoOm5vbmV9LmluYm94LWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4fS5pbmJveC1pdGVte2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJX0uaW5ib3gtaXRlbTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uaW5ib3gtaXRlbS5hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tYWNjZW50KX0ucHJpb3JpdHktZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6NnB4O2ZsZXg6MCAwIGF1dG99LnByaW9yaXR5LWhpZ2h7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtZXJyb3IpfS5wcmlvcml0eS1tZWRpdW17YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtd2Fybil9LnByaW9yaXR5LW5vcm1hbHtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy11bmtub3duKX0uaW5ib3gtaXRlbSAuaXRlbS1tYWlue21pbi13aWR0aDowO2ZsZXg6MSAxIGF1dG99LmluYm94LWl0ZW0gLml0ZW0tdGl0bGV7Zm9udC13ZWlnaHQ6NjAwO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmluYm94LWl0ZW0gLml0ZW0tbWV0YXtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7ZmxleC13cmFwOndyYXB9LmluYm94LWRldGFpbHtwb3NpdGlvbjpzdGlja3k7dG9wOjcycHh9LmluYm94LWFjdGlvbnN7cG9zaXRpb246c3RpY2t5O2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtnYXA6OHB4O3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLXRvcDoxMnB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7ZmxleC13cmFwOndyYXB9LmFjY291bnQtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMjYwcHgsMWZyKSk7Z2FwOjEycHh9LnN0cmF0ZWd5LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKTtnYXA6MTJweH1AbWVkaWEobWF4LXdpZHRoOjEwMDBweCl7LnN0cmF0ZWd5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsuYWNjb3VudC1ncmlkLC5zdHJhdGVneS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfX0uaGVhbHRoLWdyaWR7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJzY3JvbGwtYmVoYXZpb3IteDpjb250YWluO3Njcm9sbGJhci13aWR0aDp0aGluO3BhZGRpbmctYm90dG9tOjJweH0uaGVhbHRoLWdyaWQgdGFibGV7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtc2l6ZToxMnB4fS5oZWFsdGgtZ3JpZC1oaW50e2Rpc3BsYXk6bm9uZTttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS40NX0udGFibGUtc2Nyb2xsLWhpbnR7ZGlzcGxheTpub25lO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQ1fS5oZWFsdGgtZ3JpZCB0aCwuaGVhbHRoLWdyaWQgdGR7cGFkZGluZzo0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmhlYWx0aC1ncmlkIHRoe2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo1MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5oZWFsdGgtY2VsbHt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtmb250LXNpemU6MTFweH0uaGVhbHRoLWNlbGwub2t7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdGF0dXMtb2spIDIwJSx0cmFuc3BhcmVudCk7Y29sb3I6dmFyKC0tc3RhdHVzLW9rKX0uaGVhbHRoLWNlbGwuZmFpbGVke2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3RhdHVzLWVycm9yKSAyMCUsdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLXN0YXR1cy1lcnJvcil9LmhlYWx0aC1jZWxsLm5vdC1ydW57YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpO2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWNlbGwubm8tcmVjb3Jke2JhY2tncm91bmQ6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgxMzVkZWcsdHJhbnNwYXJlbnQgMCA0cHgsdmFyKC0tc3VyZmFjZS0yKSA0cHggOHB4KTtjb2xvcjp2YXIoLS1tdXRlZCl9LmhlYWx0aC1jZWxsOmhvdmVyLC5oZWFsdGgtY2VsbDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCl9LmhlYWx0aC1sZWdlbmR7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKX0uaGVhbHRoLWxlZ2VuZCBzcGFue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LnN0YXQtc3RyaXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKTtnYXA6MTJweH0uc2NvcGUtc3dpdGNoZXJ7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjB9LnNjb3BlLXRyaWdnZXJ7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LnNjb3BlLXRyaWdnZXItbGFiZWx7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zY29wZS1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNHB4KTtsZWZ0OjA7bWluLXdpZHRoOjIyMHB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdyk7cGFkZGluZzo2cHg7ei1pbmRleDo1MDttYXgtaGVpZ2h0OjMyMHB4O292ZXJmbG93OmF1dG99LnNjb3BlLWdyb3Vwe3BhZGRpbmc6NHB4IDhweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9LnNjb3BlLW9wdGlvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjhweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zKTt0ZXh0LWFsaWduOmxlZnQ7bWluLXdpZHRoOjB9LnNjb3BlLW9wdGlvbi1sYWJlbHtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2xpbmUtaGVpZ2h0OjEuNH0uc2NvcGUtb3B0aW9uIC5iYWRnZXtmbGV4Om5vbmV9LnNjb3BlLXBhbmVsLXRleHR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5zY29wZS1vcHRpb246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5zY29wZS1vcHRpb24uYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NjAwfS51c2VyLW1lbnV7cG9zaXRpb246cmVsYXRpdmV9LnVzZXItbWVudT5zdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZTt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1vbi1hY2NlbnQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXJ9LnVzZXItbWVudT5zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0udXNlci1tZW51LXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOmNhbGMoMTAwJSArIDRweCk7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW0pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KTtwYWRkaW5nOjhweDttaW4td2lkdGg6MjAwcHg7ei1pbmRleDo1MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnVzZXItbWVudS1wYW5lbCAubWVudS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXMpO3RleHQtYWxpZ246bGVmdH0udXNlci1tZW51LXBhbmVsIC5tZW51LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS51c2VyLW1lbnUtbmFtZXtwYWRkaW5nOjRweCA4cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO21hcmdpbi1ib3R0b206NHB4fS5wcmVmcy1ncmlke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE2cHh9LnByZWZzLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNnB4fS5wcmVmcy1yb3c+c3Bhbntmb250LXdlaWdodDo1MDB9LmJvb3Qtc2NyZWVuLC5hY2Nlc3Mtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjI0cHh9LmFjY2Vzcy1zY3JlZW4gaW1ne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9LmFjY2Vzcy1zY3JlZW4gaDF7bWFyZ2luOjA7Zm9udC1zaXplOjI0cHh9LmFjY2Vzcy1zY3JlZW4gcHtjb2xvcjp2YXIoLS1tdXRlZCk7bWF4LXdpZHRoOjQyMHB4O21hcmdpbjowfS5nbG9iYWwtbm90aWNle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo4cHggMTZweDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN0YXR1cy13YXJuKSAxMiUsdmFyKC0tc3VyZmFjZSkpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZvbnQtc2l6ZToxM3B4fUBtZWRpYShtYXgtd2lkdGg6MTAyNHB4KXsua3BpLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5ncmlkLTIsLmluYm94e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmluYm94LWRldGFpbHtwb3NpdGlvbjpzdGF0aWN9fUBtZWRpYShtYXgtd2lkdGg6MTEwMHB4KXsuc3RhdC1zdHJpcHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9fUBtZWRpYShtYXgtd2lkdGg6MTcwMHB4KWFuZCAobWluLXdpZHRoOjc2OXB4KXsudG9wYmFye2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHggMTZweDtwYWRkaW5nLWJsb2NrOjhweH0udG9wbmF2e29yZGVyOjE7ZmxleC1iYXNpczoxMDAlO2hlaWdodDo0NHB4fX1AbWVkaWEobWF4LXdpZHRoOjExODBweClhbmQgKG1pbi13aWR0aDo3NjlweCl7LnRvcGJhcntnYXA6MTBweDtwYWRkaW5nOjAgMTZweH0udG9wYmFyLXVwZGF0ZWR7ZGlzcGxheTpub25lfS50b3BuYXYtaXRlbXt3aWR0aDo0NHB4O3BhZGRpbmc6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50b3BuYXYtbGFiZWx7ZGlzcGxheTpub25lfX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuc3RhdC1zdHJpcHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LnRvcG5hdntkaXNwbGF5Om5vbmV9LmJvdHRvbS10YWJze2Rpc3BsYXk6YmxvY2t9LmNvbnRlbnR7cGFkZGluZzoyMHB4IDE2cHggY2FsYyh2YXIoLS1ib3R0b20tdGFicy1oZWlnaHQpICsgMzJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSl9LmhlYWx0aC1ncmlkLWhpbnQsLnRhYmxlLXNjcm9sbC1oaW50e2Rpc3BsYXk6YmxvY2t9LnBhZ2V7Z2FwOjE2cHh9LnBhZ2UtaGVhZGVye2dhcDoxMHB4fS5wYWdlLXRpdGxle2ZvbnQtc2l6ZToyOHB4O2xldHRlci1zcGFjaW5nOi0uMDJlbX0ucGFnZS1zdWJ0aXRsZXttYXJnaW4tdG9wOi04cHg7Zm9udC1zaXplOjE0cHh9LnBhZ2UtaGVhZGVyLWFjdGlvbnN7bWFyZ2luLWxlZnQ6YXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnBhZ2UtaGVhZGVyLWFjdGlvbnM6aGFzKD4uc2VnbWVudGVkKXt3aWR0aDoxMDAlO21hcmdpbi1sZWZ0OjB9LnBhZ2UtaGVhZGVyLWFjdGlvbnM+LmJ1dHRvbntmbGV4OjAgMCBhdXRvfS5wYWdlLWhlYWRlci1hY3Rpb25zPi5zZWdtZW50ZWR7d2lkdGg6MTAwJTtmbGV4LXdyYXA6bm93cmFwO292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0ucGFnZS1oZWFkZXItYWN0aW9ucz4uc2VnbWVudGVkOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnBhZ2UtaGVhZGVyLWFjdGlvbnM+LnNlZ21lbnRlZCAuc2VnbWVudHtmbGV4OjEgMSBhdXRvO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5jYXJke3BhZGRpbmc6MTZweH0uY2FyZC10aXRsZXtmb250LXNpemU6MThweDttYXJnaW4tYm90dG9tOjEwcHh9LmtwaS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ua3BpLXZhbHVle2ZvbnQtc2l6ZToyMnB4fS5rcGktY2FyZHtwYWRkaW5nOjE0cHh9LnRvcGJhci11cGRhdGVke2Rpc3BsYXk6bm9uZX0udG9wYmFye21pbi1oZWlnaHQ6NTZweDtmbGV4LXdyYXA6bm93cmFwO2dhcDo4cHg7cGFkZGluZzo2cHggMTJweH0udG9wYmFyIC5icmFuZCBpbWd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0uYnJhbmQtY29weXtkaXNwbGF5Om5vbmV9LnRvcGJhciAuc2NvcGUtc3dpdGNoZXJ7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6NDRweH0udG9wYmFyIC5zcGFjZXIsLmxhbmctbGFiZWwtZnVsbHtkaXNwbGF5Om5vbmV9LmxhbmctbGFiZWwtc2hvcnR7ZGlzcGxheTppbmxpbmV9LnRvcGJhciAudGhlbWUtdG9nZ2xlLWxhYmVse2Rpc3BsYXk6bm9uZX0udG9wYmFyIC5hcHBlYXJhbmNlLXRvZ2dsZSwudG9wYmFyIC5pY29uLWJ1dHRvbiwudG9wYmFyIC51c2VyLW1lbnU+c3VtbWFyeXttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHh9LnRvcGJhciAuc2NvcGUtdHJpZ2dlcnt3aWR0aDoxMDAlO21pbi13aWR0aDo0NHB4O21pbi1oZWlnaHQ6NDRweH0uc2NvcGUtcGFuZWx7d2lkdGg6bWluKDM0MHB4LGNhbGMoMTAwdncgLSAyNHB4KSk7bWF4LWhlaWdodDo2MGR2aH0uc2NvcGUtb3B0aW9ue21pbi1oZWlnaHQ6NDRweH0uY2FsZW5kYXIteWVhci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0uaW5ib3gtYWN0aW9uc3twb3NpdGlvbjpzdGF0aWN9LmVtcHR5LXN0YXRlLC5lcnJvci1zdGF0ZXtwYWRkaW5nOjExcHggMTJweH0uc3RhdGUtaWNvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS5kYXRhLXRhYmxlIHRoLC5kYXRhLXRhYmxlIHRke3BhZGRpbmc6OXB4IDExcHh9fUBtZWRpYShtYXgtd2lkdGg6NDMwcHgpey50b3BiYXI6aGFzKD4uc2NvcGUtc3dpdGNoZXIpOmhhcyg+LnRvcGJhci1zeW50aGV0aWMpe2ZsZXgtd3JhcDp3cmFwfS50b3BiYXI6aGFzKD4uc2NvcGUtc3dpdGNoZXIpOmhhcyg+LnRvcGJhci1zeW50aGV0aWMpPi50b3BiYXItc3ludGhldGlje29yZGVyOjEwO2ZsZXg6MSAxIDEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9fS51cGRhdGUtbm90aWNle2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweDtwYWRkaW5nOjEycHggMjBweDtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtMil9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsqLCo6YmVmb3JlLCo6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOi4wMW1zIWltcG9ydGFudDthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50fX0uYXBwZWFyYW5jZS10b2dnbGV7ZmxleDowIDAgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LmFjY291bnQtcGxhdGZvcm0tZ3JvdXArLmFjY291bnQtcGxhdGZvcm0tZ3JvdXB7bWFyZ2luLXRvcDoyMHB4fS5hY2NvdW50LXBsYXRmb3JtLXRpdGxle21hcmdpbjowIDAgMTBweDtmb250LXNpemU6MTZweH0uYWNjb3VudC1zdHJhdGVneS1saW5re2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCU7Z2FwOjZweDtwYWRkaW5nOjEwcHggOHB4O21hcmdpbjowIC04cHg7Ym9yZGVyLXJhZGl1czo4cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xMnMgZWFzZX0uYWNjb3VudC1zdHJhdGVneS1saW5rKy5hY2NvdW50LXN0cmF0ZWd5LWxpbmt7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSl9LmFjY291bnQtc3RyYXRlZ3ktbGluazpob3ZlciAuYWNjb3VudC1zdHJhdGVneS1uYW1le2NvbG9yOnZhcigtLWFjY2VudCk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYWNjb3VudC1zdHJhdGVneS1saW5rOmhvdmVyLC5hY2NvdW50LXN0cmF0ZWd5LWxpbms6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNiUsdHJhbnNwYXJlbnQpfS5hY2NvdW50LXN0cmF0ZWd5LWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4O21pbi13aWR0aDowfS5hY2NvdW50LXN0cmF0ZWd5LWNoZXZyb257ZmxleDowIDAgYXV0bztjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MTt0cmFuc2l0aW9uOmNvbG9yIC4xMnMgZWFzZSx0cmFuc2Zvcm0gLjEycyBlYXNlfS5hY2NvdW50LXN0cmF0ZWd5LWxpbms6aG92ZXIgLmFjY291bnQtc3RyYXRlZ3ktY2hldnJvbiwuYWNjb3VudC1zdHJhdGVneS1saW5rOmZvY3VzLXZpc2libGUgLmFjY291bnQtc3RyYXRlZ3ktY2hldnJvbntjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMnB4KX0uYWNjb3VudC1zdHJhdGVneS1uYW1le2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5hY2NvdW50LWJyb2tlci10aXRsZXttYXJnaW46MCAwIDhweDtmb250LXNpemU6MTVweDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey50b3BiYXJ7Z2FwOjhweDtwYWRkaW5nLWlubGluZToxMnB4fS50b3BiYXIgLnNjb3BlLXN3aXRjaGVye21pbi13aWR0aDo0NHB4fS5zY29wZS1zd2l0Y2hlcj5idXR0b257bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5hY2NvdW50LXN0cmF0ZWd5LWxpbmt7bWluLWhlaWdodDo0NHB4fX0uYWNjb3VudC1ncm91cC1jYXJkIC5hY2NvdW50LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7Zm9udC1zaXplOjEzcHh9LmFjY291bnQtZ3JvdXAtY2FyZCAuYWNjb3VudC1yb3c+c3BhbjpmaXJzdC1jaGlsZHtjb2xvcjp2YXIoLS1tdXRlZCl9LmFjY291bnQtc3RyYXRlZ3ktbGluaz4uYmFkZ2V7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5jYWxlbmRhci1jZWxsLmNlbGwtZnV0dXJle2JvcmRlci1zdHlsZTpzb2xpZDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN1cmZhY2UtMikgNTUlLHZhcigtLXN1cmZhY2UpKX0uY2FsZW5kYXItY2VsbC5jZWxsLWNsb3NlZHtib3JkZXItc3R5bGU6c29saWQ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLTIpfS5jYWxlbmRhci1jZWxsLmNlbGwtcGVuZGluZ3twb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNDUlLHZhcigtLWxpbmUpKTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpfS5jYWxlbmRhci1jZWxsLmNlbGwtcGVuZGluZzphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7cmlnaHQ6NXB4O3dpZHRoOjVweDtoZWlnaHQ6NXB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtvcGFjaXR5Oi42NX0K" }, + "/v2/assets/index-DtnD0V6X.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9PdmVydmlld1BhZ2UtWWgya3h1YVcuanMiLCJhc3NldHMvaW5ib3hGYWlsdXJlLUJEdkFNZ2dDLmpzIiwiYXNzZXRzL2Nhc2hmbG93TWV0aG9kLURtVFQ2R1YtLmpzIiwiYXNzZXRzL3RpY2tzLUJjV2F3TTRkLmpzIiwiYXNzZXRzL2Nhc2hmbG93TWV0aG9kLUdtOGFQajl0LmNzcyIsImFzc2V0cy9ob29rcy1CaTVvMlZURC5qcyIsImFzc2V0cy9jb2NrcGl0LUJWaVFRZWZzLmpzIiwiYXNzZXRzL2NvY2twaXQtREV6VXpZNFcuY3NzIiwiYXNzZXRzL0twaUNhcmQtRDVaWTJnNm0uanMiLCJhc3NldHMvc3RhdHVzLUJfVVhVbzhHLmpzIiwiYXNzZXRzL3J1bnRpbWVfZGFpbHlfY29udHJhY3QteFc0M21aUVkuanMiLCJhc3NldHMvT3ZlcnZpZXdQYWdlLUNEcDBvNzlGLmNzcyIsImFzc2V0cy9QZXJmb3JtYW5jZVBhZ2UtUy1UR196UUIuanMiLCJhc3NldHMvRGF0YVRhYmxlLUNUdU04d1pnLmpzIiwiYXNzZXRzL1RhYnMtQklWY0lQQ28uanMiLCJhc3NldHMvUGVyZm9ybWFuY2VQYWdlLUJNTlN3X3FvLmNzcyIsImFzc2V0cy9EZWNpc2lvbnNQYWdlLUxIZmVBdTc3LmpzIiwiYXNzZXRzL2hlbHBlcnMtQmxDY0QtZF8uanMiLCJhc3NldHMvRGlhbG9nLUJlMElWTEk4LmpzIiwiYXNzZXRzL0RlY2lzaW9uc1BhZ2UtQ3lldVRQaG4uY3NzIiwiYXNzZXRzL0FjY291bnRzUGFnZS1EcTNZX2RZMy5qcyIsImFzc2V0cy9FeGVjdXRpb25FdmlkZW5jZS0yOGx5OElFZy5qcyIsImFzc2V0cy9BY2NvdW50c1BhZ2UtQ2FCOUVWREYuY3NzIiwiYXNzZXRzL1N0cmF0ZWdpZXNQYWdlLUJmVlFNaUxrLmpzIiwiYXNzZXRzL1N0cmF0ZWdpZXNQYWdlLUNlWmt4R19OLmNzcyIsImFzc2V0cy9IZWFsdGhQYWdlLUNLMWJ2WmloLmpzIiwiYXNzZXRzL0NyZWRlbnRpYWxSb3RhdGlvblBhbmVsLTZRVnJ4UGdJLmpzIiwiYXNzZXRzL0hlYWx0aFBhZ2UtQzMxdmgxeGEuY3NzIiwiYXNzZXRzL0Rlc2tBcHAtRENFMzFsa0UuanMiLCJhc3NldHMvRGVza0FwcC1SODBsX013SC5jc3MiXSkpKT0+aS5tYXAoaT0+ZFtpXSk7CihmdW5jdGlvbigpe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLnJlbExpc3Q7aWYociYmci5zdXBwb3J0cyYmci5zdXBwb3J0cygibW9kdWxlcHJlbG9hZCIpKXJldHVybjtmb3IoY29uc3QgdiBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdJykpdSh2KTtuZXcgTXV0YXRpb25PYnNlcnZlcih2PT57Zm9yKGNvbnN0IHggb2YgdilpZih4LnR5cGU9PT0iY2hpbGRMaXN0Iilmb3IoY29uc3QgTiBvZiB4LmFkZGVkTm9kZXMpTi50YWdOYW1lPT09IkxJTksiJiZOLnJlbD09PSJtb2R1bGVwcmVsb2FkIiYmdShOKX0pLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZnVuY3Rpb24gZCh2KXtjb25zdCB4PXt9O3JldHVybiB2LmludGVncml0eSYmKHguaW50ZWdyaXR5PXYuaW50ZWdyaXR5KSx2LnJlZmVycmVyUG9saWN5JiYoeC5yZWZlcnJlclBvbGljeT12LnJlZmVycmVyUG9saWN5KSx2LmNyb3NzT3JpZ2luPT09InVzZS1jcmVkZW50aWFscyI/eC5jcmVkZW50aWFscz0iaW5jbHVkZSI6di5jcm9zc09yaWdpbj09PSJhbm9ueW1vdXMiP3guY3JlZGVudGlhbHM9Im9taXQiOnguY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIix4fWZ1bmN0aW9uIHUodil7aWYodi5lcClyZXR1cm47di5lcD0hMDtjb25zdCB4PWQodik7ZmV0Y2godi5ocmVmLHgpfX0pKCk7Y29uc3QgYW09Im1vZHVsZXByZWxvYWQiLGltPWZ1bmN0aW9uKGMpe3JldHVybiIvdjIvIitjfSxLZj17fSxZbj1mdW5jdGlvbihyLGQsdSl7bGV0IHY9UHJvbWlzZS5yZXNvbHZlKCk7aWYoZCYmZC5sZW5ndGg+MCl7bGV0IGg9ZnVuY3Rpb24oeSl7cmV0dXJuIFByb21pc2UuYWxsKHkubWFwKE89PlByb21pc2UucmVzb2x2ZShPKS50aGVuKEI9Pih7c3RhdHVzOiJmdWxmaWxsZWQiLHZhbHVlOkJ9KSxCPT4oe3N0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjpCfSkpKSl9O2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIik7Y29uc3QgTj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW3Byb3BlcnR5PWNzcC1ub25jZV0iKSxEPU4/Lm5vbmNlfHxOPy5nZXRBdHRyaWJ1dGUoIm5vbmNlIik7dj1oKGQubWFwKHk9PntpZih5PWltKHkpLHkgaW4gS2YpcmV0dXJuO0tmW3ldPSEwO2NvbnN0IE89eS5lbmRzV2l0aCgiLmNzcyIpLEI9Tz8nW3JlbD0ic3R5bGVzaGVldCJdJzoiIjtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7eX0iXSR7Qn1gKSlyZXR1cm47Y29uc3QgWj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7aWYoWi5yZWw9Tz8ic3R5bGVzaGVldCI6YW0sT3x8KFouYXM9InNjcmlwdCIpLFouY3Jvc3NPcmlnaW49IiIsWi5ocmVmPXksRCYmWi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixEKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKFopLE8pcmV0dXJuIG5ldyBQcm9taXNlKChfZSxjZSk9PntaLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLF9lKSxaLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+Y2UobmV3IEVycm9yKGBVbmFibGUgdG8gcHJlbG9hZCBDU1MgZm9yICR7eX1gKSkpfSl9KSl9ZnVuY3Rpb24geChOKXtjb25zdCBEPW5ldyBFdmVudCgidml0ZTpwcmVsb2FkRXJyb3IiLHtjYW5jZWxhYmxlOiEwfSk7aWYoRC5wYXlsb2FkPU4sd2luZG93LmRpc3BhdGNoRXZlbnQoRCksIUQuZGVmYXVsdFByZXZlbnRlZCl0aHJvdyBOfXJldHVybiB2LnRoZW4oTj0+e2Zvcihjb25zdCBEIG9mIE58fFtdKUQuc3RhdHVzPT09InJlamVjdGVkIiYmeChELnJlYXNvbik7cmV0dXJuIHIoKS5jYXRjaCh4KX0pfTt2YXIgeHI9e2V4cG9ydHM6e319LEVpPXt9O3ZhciBKZjtmdW5jdGlvbiBsbSgpe2lmKEpmKXJldHVybiBFaTtKZj0xO3ZhciBjPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpO2Z1bmN0aW9uIGQodSx2LHgpe3ZhciBOPW51bGw7aWYoeCE9PXZvaWQgMCYmKE49IiIreCksdi5rZXkhPT12b2lkIDAmJihOPSIiK3Yua2V5KSwia2V5ImluIHYpe3g9e307Zm9yKHZhciBEIGluIHYpRCE9PSJrZXkiJiYoeFtEXT12W0RdKX1lbHNlIHg9djtyZXR1cm4gdj14LnJlZix7JCR0eXBlb2Y6Yyx0eXBlOnUsa2V5Ok4scmVmOnYhPT12b2lkIDA/djpudWxsLHByb3BzOnh9fXJldHVybiBFaS5GcmFnbWVudD1yLEVpLmpzeD1kLEVpLmpzeHM9ZCxFaX12YXIgJGY7ZnVuY3Rpb24gY20oKXtyZXR1cm4gJGZ8fCgkZj0xLHhyLmV4cG9ydHM9bG0oKSkseHIuZXhwb3J0c312YXIgbT1jbSgpLFRyPXtleHBvcnRzOnt9fSxSaT17fSxBcj17ZXhwb3J0czp7fX0sRXI9e307dmFyIFdmO2Z1bmN0aW9uIG9tKCl7cmV0dXJuIFdmfHwoV2Y9MSwoZnVuY3Rpb24oYyl7ZnVuY3Rpb24gcihBLHEpe3ZhciBHPUEubGVuZ3RoO0EucHVzaChxKTtlOmZvcig7MDxHOyl7dmFyIHJlPUctMT4+PjEscD1BW3JlXTtpZigwPHYocCxxKSlBW3JlXT1xLEFbR109cCxHPXJlO2Vsc2UgYnJlYWsgZX19ZnVuY3Rpb24gZChBKXtyZXR1cm4gQS5sZW5ndGg9PT0wP251bGw6QVswXX1mdW5jdGlvbiB1KEEpe2lmKEEubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgcT1BWzBdLEc9QS5wb3AoKTtpZihHIT09cSl7QVswXT1HO2U6Zm9yKHZhciByZT0wLHA9QS5sZW5ndGgsVD1wPj4+MTtyZTxUOyl7dmFyIE09MioocmUrMSktMSxDPUFbTV0saj1NKzEsRj1BW2pdO2lmKDA+dihDLEcpKWo8cCYmMD52KEYsQyk/KEFbcmVdPUYsQVtqXT1HLHJlPWopOihBW3JlXT1DLEFbTV09RyxyZT1NKTtlbHNlIGlmKGo8cCYmMD52KEYsRykpQVtyZV09RixBW2pdPUcscmU9ajtlbHNlIGJyZWFrIGV9fXJldHVybiBxfWZ1bmN0aW9uIHYoQSxxKXt2YXIgRz1BLnNvcnRJbmRleC1xLnNvcnRJbmRleDtyZXR1cm4gRyE9PTA/RzpBLmlkLXEuaWR9aWYoYy51bnN0YWJsZV9ub3c9dm9pZCAwLHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciB4PXBlcmZvcm1hbmNlO2MudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHgubm93KCl9fWVsc2V7dmFyIE49RGF0ZSxEPU4ubm93KCk7Yy51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gTi5ub3coKS1EfX12YXIgaD1bXSx5PVtdLE89MSxCPW51bGwsWj0zLF9lPSExLGNlPSExLHZlPSExLHdlPSExLEtlPXR5cGVvZiBzZXRUaW1lb3V0PT0iZnVuY3Rpb24iP3NldFRpbWVvdXQ6bnVsbCxPZT10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDpudWxsLG9lPXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIGplKEEpe2Zvcih2YXIgcT1kKHkpO3EhPT1udWxsOyl7aWYocS5jYWxsYmFjaz09PW51bGwpdSh5KTtlbHNlIGlmKHEuc3RhcnRUaW1lPD1BKXUoeSkscS5zb3J0SW5kZXg9cS5leHBpcmF0aW9uVGltZSxyKGgscSk7ZWxzZSBicmVhaztxPWQoeSl9fWZ1bmN0aW9uIFcoQSl7aWYodmU9ITEsamUoQSksIWNlKWlmKGQoaCkhPT1udWxsKWNlPSEwLEp8fChKPSEwLFRlKCkpO2Vsc2V7dmFyIHE9ZCh5KTtxIT09bnVsbCYmQmUoVyxxLnN0YXJ0VGltZS1BKX19dmFyIEo9ITEseWU9LTEsYmU9NSxIZT0tMTtmdW5jdGlvbiBsZSgpe3JldHVybiB3ZT8hMDohKGMudW5zdGFibGVfbm93KCktSGU8YmUpfWZ1bmN0aW9uIFJlKCl7aWYod2U9ITEsSil7dmFyIEE9Yy51bnN0YWJsZV9ub3coKTtIZT1BO3ZhciBxPSEwO3RyeXtlOntjZT0hMSx2ZSYmKHZlPSExLE9lKHllKSx5ZT0tMSksX2U9ITA7dmFyIEc9Wjt0cnl7dDp7Zm9yKGplKEEpLEI9ZChoKTtCIT09bnVsbCYmIShCLmV4cGlyYXRpb25UaW1lPkEmJmxlKCkpOyl7dmFyIHJlPUIuY2FsbGJhY2s7aWYodHlwZW9mIHJlPT0iZnVuY3Rpb24iKXtCLmNhbGxiYWNrPW51bGwsWj1CLnByaW9yaXR5TGV2ZWw7dmFyIHA9cmUoQi5leHBpcmF0aW9uVGltZTw9QSk7aWYoQT1jLnVuc3RhYmxlX25vdygpLHR5cGVvZiBwPT0iZnVuY3Rpb24iKXtCLmNhbGxiYWNrPXAsamUoQSkscT0hMDticmVhayB0fUI9PT1kKGgpJiZ1KGgpLGplKEEpfWVsc2UgdShoKTtCPWQoaCl9aWYoQiE9PW51bGwpcT0hMDtlbHNle3ZhciBUPWQoeSk7VCE9PW51bGwmJkJlKFcsVC5zdGFydFRpbWUtQSkscT0hMX19YnJlYWsgZX1maW5hbGx5e0I9bnVsbCxaPUcsX2U9ITF9cT12b2lkIDB9fWZpbmFsbHl7cT9UZSgpOko9ITF9fX12YXIgVGU7aWYodHlwZW9mIG9lPT0iZnVuY3Rpb24iKVRlPWZ1bmN0aW9uKCl7b2UoUmUpfTtlbHNlIGlmKHR5cGVvZiBNZXNzYWdlQ2hhbm5lbDwidSIpe3ZhciBsdD1uZXcgTWVzc2FnZUNoYW5uZWwsY3Q9bHQucG9ydDI7bHQucG9ydDEub25tZXNzYWdlPVJlLFRlPWZ1bmN0aW9uKCl7Y3QucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgVGU9ZnVuY3Rpb24oKXtLZShSZSwwKX07ZnVuY3Rpb24gQmUoQSxxKXt5ZT1LZShmdW5jdGlvbigpe0EoYy51bnN0YWJsZV9ub3coKSl9LHEpfWMudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsYy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLGMudW5zdGFibGVfTG93UHJpb3JpdHk9NCxjLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsYy51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxjLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsYy51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihBKXtBLmNhbGxiYWNrPW51bGx9LGMudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oQSl7MD5BfHwxMjU8QT9jb25zb2xlLmVycm9yKCJmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQiKTpiZT0wPEE/TWF0aC5mbG9vcigxZTMvQSk6NX0sYy51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBafSxjLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oQSl7c3dpdGNoKFope2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciBxPTM7YnJlYWs7ZGVmYXVsdDpxPVp9dmFyIEc9WjtaPXE7dHJ5e3JldHVybiBBKCl9ZmluYWxseXtaPUd9fSxjLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe3dlPSEwfSxjLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihBLHEpe3N3aXRjaChBKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6QT0zfXZhciBHPVo7Wj1BO3RyeXtyZXR1cm4gcSgpfWZpbmFsbHl7Wj1HfX0sYy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKEEscSxHKXt2YXIgcmU9Yy51bnN0YWJsZV9ub3coKTtzd2l0Y2godHlwZW9mIEc9PSJvYmplY3QiJiZHIT09bnVsbD8oRz1HLmRlbGF5LEc9dHlwZW9mIEc9PSJudW1iZXIiJiYwPEc/cmUrRzpyZSk6Rz1yZSxBKXtjYXNlIDE6dmFyIHA9LTE7YnJlYWs7Y2FzZSAyOnA9MjUwO2JyZWFrO2Nhc2UgNTpwPTEwNzM3NDE4MjM7YnJlYWs7Y2FzZSA0OnA9MWU0O2JyZWFrO2RlZmF1bHQ6cD01ZTN9cmV0dXJuIHA9RytwLEE9e2lkOk8rKyxjYWxsYmFjazpxLHByaW9yaXR5TGV2ZWw6QSxzdGFydFRpbWU6RyxleHBpcmF0aW9uVGltZTpwLHNvcnRJbmRleDotMX0sRz5yZT8oQS5zb3J0SW5kZXg9RyxyKHksQSksZChoKT09PW51bGwmJkE9PT1kKHkpJiYodmU/KE9lKHllKSx5ZT0tMSk6dmU9ITAsQmUoVyxHLXJlKSkpOihBLnNvcnRJbmRleD1wLHIoaCxBKSxjZXx8X2V8fChjZT0hMCxKfHwoSj0hMCxUZSgpKSkpLEF9LGMudW5zdGFibGVfc2hvdWxkWWllbGQ9bGUsYy51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oQSl7dmFyIHE9WjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgRz1aO1o9cTt0cnl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7Wj1HfX19fSkoRXIpKSxFcn12YXIgRmY7ZnVuY3Rpb24gcm0oKXtyZXR1cm4gRmZ8fChGZj0xLEFyLmV4cG9ydHM9b20oKSksQXIuZXhwb3J0c312YXIgUnI9e2V4cG9ydHM6e319LCQ9e307dmFyIFBmO2Z1bmN0aW9uIHNtKCl7aWYoUGYpcmV0dXJuICQ7UGY9MTt2YXIgYz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSx2PVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikseD1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLE49U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLEQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxoPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikseT1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksQj1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gWihwKXtyZXR1cm4gcD09PW51bGx8fHR5cGVvZiBwIT0ib2JqZWN0Ij9udWxsOihwPUImJnBbQl18fHBbIkBAaXRlcmF0b3IiXSx0eXBlb2YgcD09ImZ1bmN0aW9uIj9wOm51bGwpfXZhciBfZT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sY2U9T2JqZWN0LmFzc2lnbix2ZT17fTtmdW5jdGlvbiB3ZShwLFQsTSl7dGhpcy5wcm9wcz1wLHRoaXMuY29udGV4dD1ULHRoaXMucmVmcz12ZSx0aGlzLnVwZGF0ZXI9TXx8X2V9d2UucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sd2UucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHAsVCl7aWYodHlwZW9mIHAhPSJvYmplY3QiJiZ0eXBlb2YgcCE9ImZ1bmN0aW9uIiYmcCE9bnVsbCl0aHJvdyBFcnJvcigidGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLHAsVCwic2V0U3RhdGUiKX0sd2UucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKHApe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxwLCJmb3JjZVVwZGF0ZSIpfTtmdW5jdGlvbiBLZSgpe31LZS5wcm90b3R5cGU9d2UucHJvdG90eXBlO2Z1bmN0aW9uIE9lKHAsVCxNKXt0aGlzLnByb3BzPXAsdGhpcy5jb250ZXh0PVQsdGhpcy5yZWZzPXZlLHRoaXMudXBkYXRlcj1NfHxfZX12YXIgb2U9T2UucHJvdG90eXBlPW5ldyBLZTtvZS5jb25zdHJ1Y3Rvcj1PZSxjZShvZSx3ZS5wcm90b3R5cGUpLG9lLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBqZT1BcnJheS5pc0FycmF5LFc9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbCxWOm51bGx9LEo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB5ZShwLFQsTSxDLGosRil7cmV0dXJuIE09Ri5yZWYseyQkdHlwZW9mOmMsdHlwZTpwLGtleTpULHJlZjpNIT09dm9pZCAwP006bnVsbCxwcm9wczpGfX1mdW5jdGlvbiBiZShwLFQpe3JldHVybiB5ZShwLnR5cGUsVCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxwLnByb3BzKX1mdW5jdGlvbiBIZShwKXtyZXR1cm4gdHlwZW9mIHA9PSJvYmplY3QiJiZwIT09bnVsbCYmcC4kJHR5cGVvZj09PWN9ZnVuY3Rpb24gbGUocCl7dmFyIFQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrcC5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24oTSl7cmV0dXJuIFRbTV19KX12YXIgUmU9L1wvKy9nO2Z1bmN0aW9uIFRlKHAsVCl7cmV0dXJuIHR5cGVvZiBwPT0ib2JqZWN0IiYmcCE9PW51bGwmJnAua2V5IT1udWxsP2xlKCIiK3Aua2V5KTpULnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBsdCgpe31mdW5jdGlvbiBjdChwKXtzd2l0Y2gocC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gcC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBwLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCh0eXBlb2YgcC5zdGF0dXM9PSJzdHJpbmciP3AudGhlbihsdCxsdCk6KHAuc3RhdHVzPSJwZW5kaW5nIixwLnRoZW4oZnVuY3Rpb24oVCl7cC5zdGF0dXM9PT0icGVuZGluZyImJihwLnN0YXR1cz0iZnVsZmlsbGVkIixwLnZhbHVlPVQpfSxmdW5jdGlvbihUKXtwLnN0YXR1cz09PSJwZW5kaW5nIiYmKHAuc3RhdHVzPSJyZWplY3RlZCIscC5yZWFzb249VCl9KSkscC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gcC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBwLnJlYXNvbn19dGhyb3cgcH1mdW5jdGlvbiBCZShwLFQsTSxDLGope3ZhciBGPXR5cGVvZiBwOyhGPT09InVuZGVmaW5lZCJ8fEY9PT0iYm9vbGVhbiIpJiYocD1udWxsKTt2YXIgSz0hMTtpZihwPT09bnVsbClLPSEwO2Vsc2Ugc3dpdGNoKEYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOks9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChwLiQkdHlwZW9mKXtjYXNlIGM6Y2FzZSByOks9ITA7YnJlYWs7Y2FzZSBPOnJldHVybiBLPXAuX2luaXQsQmUoSyhwLl9wYXlsb2FkKSxULE0sQyxqKX19aWYoSylyZXR1cm4gaj1qKHApLEs9Qz09PSIiPyIuIitUZShwLDApOkMsamUoaik/KE09IiIsSyE9bnVsbCYmKE09Sy5yZXBsYWNlKFJlLCIkJi8iKSsiLyIpLEJlKGosVCxNLCIiLGZ1bmN0aW9uKEZ0KXtyZXR1cm4gRnR9KSk6aiE9bnVsbCYmKEhlKGopJiYoaj1iZShqLE0rKGoua2V5PT1udWxsfHxwJiZwLmtleT09PWoua2V5PyIiOigiIitqLmtleSkucmVwbGFjZShSZSwiJCYvIikrIi8iKStLKSksVC5wdXNoKGopKSwxO0s9MDt2YXIgb3Q9Qz09PSIiPyIuIjpDKyI6IjtpZihqZShwKSlmb3IodmFyIGtlPTA7a2U8cC5sZW5ndGg7a2UrKylDPXBba2VdLEY9b3QrVGUoQyxrZSksSys9QmUoQyxULE0sRixqKTtlbHNlIGlmKGtlPVoocCksdHlwZW9mIGtlPT0iZnVuY3Rpb24iKWZvcihwPWtlLmNhbGwocCksa2U9MDshKEM9cC5uZXh0KCkpLmRvbmU7KUM9Qy52YWx1ZSxGPW90K1RlKEMsa2UrKyksSys9QmUoQyxULE0sRixqKTtlbHNlIGlmKEY9PT0ib2JqZWN0Iil7aWYodHlwZW9mIHAudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gQmUoY3QocCksVCxNLEMsaik7dGhyb3cgVD1TdHJpbmcocCksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoVD09PSJbb2JqZWN0IE9iamVjdF0iPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHApLmpvaW4oIiwgIikrIn0iOlQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIil9cmV0dXJuIEt9ZnVuY3Rpb24gQShwLFQsTSl7aWYocD09bnVsbClyZXR1cm4gcDt2YXIgQz1bXSxqPTA7cmV0dXJuIEJlKHAsQywiIiwiIixmdW5jdGlvbihGKXtyZXR1cm4gVC5jYWxsKE0sRixqKyspfSksQ31mdW5jdGlvbiBxKHApe2lmKHAuX3N0YXR1cz09PS0xKXt2YXIgVD1wLl9yZXN1bHQ7VD1UKCksVC50aGVuKGZ1bmN0aW9uKE0peyhwLl9zdGF0dXM9PT0wfHxwLl9zdGF0dXM9PT0tMSkmJihwLl9zdGF0dXM9MSxwLl9yZXN1bHQ9TSl9LGZ1bmN0aW9uKE0peyhwLl9zdGF0dXM9PT0wfHxwLl9zdGF0dXM9PT0tMSkmJihwLl9zdGF0dXM9MixwLl9yZXN1bHQ9TSl9KSxwLl9zdGF0dXM9PT0tMSYmKHAuX3N0YXR1cz0wLHAuX3Jlc3VsdD1UKX1pZihwLl9zdGF0dXM9PT0xKXJldHVybiBwLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBwLl9yZXN1bHR9dmFyIEc9dHlwZW9mIHJlcG9ydEVycm9yPT0iZnVuY3Rpb24iP3JlcG9ydEVycm9yOmZ1bmN0aW9uKHApe2lmKHR5cGVvZiB3aW5kb3c9PSJvYmplY3QiJiZ0eXBlb2Ygd2luZG93LkVycm9yRXZlbnQ9PSJmdW5jdGlvbiIpe3ZhciBUPW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZTp0eXBlb2YgcD09Im9iamVjdCImJnAhPT1udWxsJiZ0eXBlb2YgcC5tZXNzYWdlPT0ic3RyaW5nIj9TdHJpbmcocC5tZXNzYWdlKTpTdHJpbmcocCksZXJyb3I6cH0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudChUKSlyZXR1cm59ZWxzZSBpZih0eXBlb2YgcHJvY2Vzcz09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLmVtaXQ9PSJmdW5jdGlvbiIpe3Byb2Nlc3MuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLHApO3JldHVybn1jb25zb2xlLmVycm9yKHApfTtmdW5jdGlvbiByZSgpe31yZXR1cm4gJC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihwLFQsTSl7QShwLGZ1bmN0aW9uKCl7VC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE0pfSxjb3VudDpmdW5jdGlvbihwKXt2YXIgVD0wO3JldHVybiBBKHAsZnVuY3Rpb24oKXtUKyt9KSxUfSx0b0FycmF5OmZ1bmN0aW9uKHApe3JldHVybiBBKHAsZnVuY3Rpb24oVCl7cmV0dXJuIFR9KXx8W119LG9ubHk6ZnVuY3Rpb24ocCl7aWYoIUhlKHApKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gcH19LCQuQ29tcG9uZW50PXdlLCQuRnJhZ21lbnQ9ZCwkLlByb2ZpbGVyPXYsJC5QdXJlQ29tcG9uZW50PU9lLCQuU3RyaWN0TW9kZT11LCQuU3VzcGVuc2U9aCwkLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERT1XLCQuX19DT01QSUxFUl9SVU5USU1FPXtfX3Byb3RvX186bnVsbCxjOmZ1bmN0aW9uKHApe3JldHVybiBXLkgudXNlTWVtb0NhY2hlKHApfX0sJC5jYWNoZT1mdW5jdGlvbihwKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcC5hcHBseShudWxsLGFyZ3VtZW50cyl9fSwkLmNsb25lRWxlbWVudD1mdW5jdGlvbihwLFQsTSl7aWYocD09bnVsbCl0aHJvdyBFcnJvcigiVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3ArIi4iKTt2YXIgQz1jZSh7fSxwLnByb3BzKSxqPXAua2V5LEY9dm9pZCAwO2lmKFQhPW51bGwpZm9yKEsgaW4gVC5yZWYhPT12b2lkIDAmJihGPXZvaWQgMCksVC5rZXkhPT12b2lkIDAmJihqPSIiK1Qua2V5KSxUKSFKLmNhbGwoVCxLKXx8Sz09PSJrZXkifHxLPT09Il9fc2VsZiJ8fEs9PT0iX19zb3VyY2UifHxLPT09InJlZiImJlQucmVmPT09dm9pZCAwfHwoQ1tLXT1UW0tdKTt2YXIgSz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoSz09PTEpQy5jaGlsZHJlbj1NO2Vsc2UgaWYoMTxLKXtmb3IodmFyIG90PUFycmF5KEspLGtlPTA7a2U8SztrZSsrKW90W2tlXT1hcmd1bWVudHNba2UrMl07Qy5jaGlsZHJlbj1vdH1yZXR1cm4geWUocC50eXBlLGosdm9pZCAwLHZvaWQgMCxGLEMpfSwkLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24ocCl7cmV0dXJuIHA9eyQkdHlwZW9mOk4sX2N1cnJlbnRWYWx1ZTpwLF9jdXJyZW50VmFsdWUyOnAsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSxwLlByb3ZpZGVyPXAscC5Db25zdW1lcj17JCR0eXBlb2Y6eCxfY29udGV4dDpwfSxwfSwkLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24ocCxULE0pe3ZhciBDLGo9e30sRj1udWxsO2lmKFQhPW51bGwpZm9yKEMgaW4gVC5rZXkhPT12b2lkIDAmJihGPSIiK1Qua2V5KSxUKUouY2FsbChULEMpJiZDIT09ImtleSImJkMhPT0iX19zZWxmIiYmQyE9PSJfX3NvdXJjZSImJihqW0NdPVRbQ10pO3ZhciBLPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihLPT09MSlqLmNoaWxkcmVuPU07ZWxzZSBpZigxPEspe2Zvcih2YXIgb3Q9QXJyYXkoSyksa2U9MDtrZTxLO2tlKyspb3Rba2VdPWFyZ3VtZW50c1trZSsyXTtqLmNoaWxkcmVuPW90fWlmKHAmJnAuZGVmYXVsdFByb3BzKWZvcihDIGluIEs9cC5kZWZhdWx0UHJvcHMsSylqW0NdPT09dm9pZCAwJiYoaltDXT1LW0NdKTtyZXR1cm4geWUocCxGLHZvaWQgMCx2b2lkIDAsbnVsbCxqKX0sJC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sJC5mb3J3YXJkUmVmPWZ1bmN0aW9uKHApe3JldHVybnskJHR5cGVvZjpELHJlbmRlcjpwfX0sJC5pc1ZhbGlkRWxlbWVudD1IZSwkLmxhenk9ZnVuY3Rpb24ocCl7cmV0dXJueyQkdHlwZW9mOk8sX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDpwfSxfaW5pdDpxfX0sJC5tZW1vPWZ1bmN0aW9uKHAsVCl7cmV0dXJueyQkdHlwZW9mOnksdHlwZTpwLGNvbXBhcmU6VD09PXZvaWQgMD9udWxsOlR9fSwkLnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihwKXt2YXIgVD1XLlQsTT17fTtXLlQ9TTt0cnl7dmFyIEM9cCgpLGo9Vy5TO2ohPT1udWxsJiZqKE0sQyksdHlwZW9mIEM9PSJvYmplY3QiJiZDIT09bnVsbCYmdHlwZW9mIEMudGhlbj09ImZ1bmN0aW9uIiYmQy50aGVuKHJlLEcpfWNhdGNoKEYpe0coRil9ZmluYWxseXtXLlQ9VH19LCQudW5zdGFibGVfdXNlQ2FjaGVSZWZyZXNoPWZ1bmN0aW9uKCl7cmV0dXJuIFcuSC51c2VDYWNoZVJlZnJlc2goKX0sJC51c2U9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2UocCl9LCQudXNlQWN0aW9uU3RhdGU9ZnVuY3Rpb24ocCxULE0pe3JldHVybiBXLkgudXNlQWN0aW9uU3RhdGUocCxULE0pfSwkLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VDYWxsYmFjayhwLFQpfSwkLnVzZUNvbnRleHQ9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VDb250ZXh0KHApfSwkLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LCQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihwLFQpe3JldHVybiBXLkgudXNlRGVmZXJyZWRWYWx1ZShwLFQpfSwkLnVzZUVmZmVjdD1mdW5jdGlvbihwLFQsTSl7dmFyIEM9Vy5IO2lmKHR5cGVvZiBNPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJ1c2VFZmZlY3QgQ1JVRCBvdmVybG9hZCBpcyBub3QgZW5hYmxlZCBpbiB0aGlzIGJ1aWxkIG9mIFJlYWN0LiIpO3JldHVybiBDLnVzZUVmZmVjdChwLFQpfSwkLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFcuSC51c2VJZCgpfSwkLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24ocCxULE0pe3JldHVybiBXLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShwLFQsTSl9LCQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VJbnNlcnRpb25FZmZlY3QocCxUKX0sJC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24ocCxUKXtyZXR1cm4gVy5ILnVzZUxheW91dEVmZmVjdChwLFQpfSwkLnVzZU1lbW89ZnVuY3Rpb24ocCxUKXtyZXR1cm4gVy5ILnVzZU1lbW8ocCxUKX0sJC51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKHAsVCl7cmV0dXJuIFcuSC51c2VPcHRpbWlzdGljKHAsVCl9LCQudXNlUmVkdWNlcj1mdW5jdGlvbihwLFQsTSl7cmV0dXJuIFcuSC51c2VSZWR1Y2VyKHAsVCxNKX0sJC51c2VSZWY9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VSZWYocCl9LCQudXNlU3RhdGU9ZnVuY3Rpb24ocCl7cmV0dXJuIFcuSC51c2VTdGF0ZShwKX0sJC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihwLFQsTSl7cmV0dXJuIFcuSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShwLFQsTSl9LCQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBXLkgudXNlVHJhbnNpdGlvbigpfSwkLnZlcnNpb249IjE5LjEuMSIsJH12YXIgSWY7ZnVuY3Rpb24gWXIoKXtyZXR1cm4gSWZ8fChJZj0xLFJyLmV4cG9ydHM9c20oKSksUnIuZXhwb3J0c312YXIgenI9e2V4cG9ydHM6e319LFdlPXt9O3ZhciBlcDtmdW5jdGlvbiB1bSgpe2lmKGVwKXJldHVybiBXZTtlcD0xO3ZhciBjPVlyKCk7ZnVuY3Rpb24gcihoKXt2YXIgeT0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIraDtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3krPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBPPTI7Tzxhcmd1bWVudHMubGVuZ3RoO08rKyl5Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbT10pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitoKyI7IHZpc2l0ICIreSsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIGQoKXt9dmFyIHU9e2Q6e2Y6ZCxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iocig1MjIpKX0sRDpkLEM6ZCxMOmQsbTpkLFg6ZCxTOmQsTTpkfSxwOjAsZmluZERPTU5vZGU6bnVsbH0sdj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKTtmdW5jdGlvbiB4KGgseSxPKXt2YXIgQj0zPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1szXSE9PXZvaWQgMD9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6dixrZXk6Qj09bnVsbD9udWxsOiIiK0IsY2hpbGRyZW46aCxjb250YWluZXJJbmZvOnksaW1wbGVtZW50YXRpb246T319dmFyIE49Yy5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU7ZnVuY3Rpb24gRChoLHkpe2lmKGg9PT0iZm9udCIpcmV0dXJuIiI7aWYodHlwZW9mIHk9PSJzdHJpbmciKXJldHVybiB5PT09InVzZS1jcmVkZW50aWFscyI/eToiIn1yZXR1cm4gV2UuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPXUsV2UuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGgseSl7dmFyIE89Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIXl8fHkubm9kZVR5cGUhPT0xJiZ5Lm5vZGVUeXBlIT09OSYmeS5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKHIoMjk5KSk7cmV0dXJuIHgoaCx5LG51bGwsTyl9LFdlLmZsdXNoU3luYz1mdW5jdGlvbihoKXt2YXIgeT1OLlQsTz11LnA7dHJ5e2lmKE4uVD1udWxsLHUucD0yLGgpcmV0dXJuIGgoKX1maW5hbGx5e04uVD15LHUucD1PLHUuZC5mKCl9fSxXZS5wcmVjb25uZWN0PWZ1bmN0aW9uKGgseSl7dHlwZW9mIGg9PSJzdHJpbmciJiYoeT8oeT15LmNyb3NzT3JpZ2luLHk9dHlwZW9mIHk9PSJzdHJpbmciP3k9PT0idXNlLWNyZWRlbnRpYWxzIj95OiIiOnZvaWQgMCk6eT1udWxsLHUuZC5DKGgseSkpfSxXZS5wcmVmZXRjaEROUz1mdW5jdGlvbihoKXt0eXBlb2YgaD09InN0cmluZyImJnUuZC5EKGgpfSxXZS5wcmVpbml0PWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciJiZ5JiZ0eXBlb2YgeS5hcz09InN0cmluZyIpe3ZhciBPPXkuYXMsQj1EKE8seS5jcm9zc09yaWdpbiksWj10eXBlb2YgeS5pbnRlZ3JpdHk9PSJzdHJpbmciP3kuaW50ZWdyaXR5OnZvaWQgMCxfZT10eXBlb2YgeS5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj95LmZldGNoUHJpb3JpdHk6dm9pZCAwO089PT0ic3R5bGUiP3UuZC5TKGgsdHlwZW9mIHkucHJlY2VkZW5jZT09InN0cmluZyI/eS5wcmVjZWRlbmNlOnZvaWQgMCx7Y3Jvc3NPcmlnaW46QixpbnRlZ3JpdHk6WixmZXRjaFByaW9yaXR5Ol9lfSk6Tz09PSJzY3JpcHQiJiZ1LmQuWChoLHtjcm9zc09yaWdpbjpCLGludGVncml0eTpaLGZldGNoUHJpb3JpdHk6X2Usbm9uY2U6dHlwZW9mIHkubm9uY2U9PSJzdHJpbmciP3kubm9uY2U6dm9pZCAwfSl9fSxXZS5wcmVpbml0TW9kdWxlPWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciKWlmKHR5cGVvZiB5PT0ib2JqZWN0IiYmeSE9PW51bGwpe2lmKHkuYXM9PW51bGx8fHkuYXM9PT0ic2NyaXB0Iil7dmFyIE89RCh5LmFzLHkuY3Jvc3NPcmlnaW4pO3UuZC5NKGgse2Nyb3NzT3JpZ2luOk8saW50ZWdyaXR5OnR5cGVvZiB5LmludGVncml0eT09InN0cmluZyI/eS5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiB5Lm5vbmNlPT0ic3RyaW5nIj95Lm5vbmNlOnZvaWQgMH0pfX1lbHNlIHk9PW51bGwmJnUuZC5NKGgpfSxXZS5wcmVsb2FkPWZ1bmN0aW9uKGgseSl7aWYodHlwZW9mIGg9PSJzdHJpbmciJiZ0eXBlb2YgeT09Im9iamVjdCImJnkhPT1udWxsJiZ0eXBlb2YgeS5hcz09InN0cmluZyIpe3ZhciBPPXkuYXMsQj1EKE8seS5jcm9zc09yaWdpbik7dS5kLkwoaCxPLHtjcm9zc09yaWdpbjpCLGludGVncml0eTp0eXBlb2YgeS5pbnRlZ3JpdHk9PSJzdHJpbmciP3kuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgeS5ub25jZT09InN0cmluZyI/eS5ub25jZTp2b2lkIDAsdHlwZTp0eXBlb2YgeS50eXBlPT0ic3RyaW5nIj95LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6dHlwZW9mIHkuZmV0Y2hQcmlvcml0eT09InN0cmluZyI/eS5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeTp0eXBlb2YgeS5yZWZlcnJlclBvbGljeT09InN0cmluZyI/eS5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6dHlwZW9mIHkuaW1hZ2VTcmNTZXQ9PSJzdHJpbmciP3kuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6dHlwZW9mIHkuaW1hZ2VTaXplcz09InN0cmluZyI/eS5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYTp0eXBlb2YgeS5tZWRpYT09InN0cmluZyI/eS5tZWRpYTp2b2lkIDB9KX19LFdlLnByZWxvYWRNb2R1bGU9ZnVuY3Rpb24oaCx5KXtpZih0eXBlb2YgaD09InN0cmluZyIpaWYoeSl7dmFyIE89RCh5LmFzLHkuY3Jvc3NPcmlnaW4pO3UuZC5tKGgse2FzOnR5cGVvZiB5LmFzPT0ic3RyaW5nIiYmeS5hcyE9PSJzY3JpcHQiP3kuYXM6dm9pZCAwLGNyb3NzT3JpZ2luOk8saW50ZWdyaXR5OnR5cGVvZiB5LmludGVncml0eT09InN0cmluZyI/eS5pbnRlZ3JpdHk6dm9pZCAwfSl9ZWxzZSB1LmQubShoKX0sV2UucmVxdWVzdEZvcm1SZXNldD1mdW5jdGlvbihoKXt1LmQucihoKX0sV2UudW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oaCx5KXtyZXR1cm4gaCh5KX0sV2UudXNlRm9ybVN0YXRlPWZ1bmN0aW9uKGgseSxPKXtyZXR1cm4gTi5ILnVzZUZvcm1TdGF0ZShoLHksTyl9LFdlLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gTi5ILnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCl9LFdlLnZlcnNpb249IjE5LjEuMSIsV2V9dmFyIHRwO2Z1bmN0aW9uIGRtKCl7aWYodHApcmV0dXJuIHpyLmV4cG9ydHM7dHA9MTtmdW5jdGlvbiBjKCl7aWYoISh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPiJ1Inx8dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSE9ImZ1bmN0aW9uIikpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKHIpfX1yZXR1cm4gYygpLHpyLmV4cG9ydHM9dW0oKSx6ci5leHBvcnRzfXZhciBucDtmdW5jdGlvbiBmbSgpe2lmKG5wKXJldHVybiBSaTtucD0xO3ZhciBjPXJtKCkscj1ZcigpLGQ9ZG0oKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gdihlKXtyZXR1cm4hKCFlfHxlLm5vZGVUeXBlIT09MSYmZS5ub2RlVHlwZSE9PTkmJmUubm9kZVR5cGUhPT0xMSl9ZnVuY3Rpb24geChlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIHQ9ZSwodC5mbGFncyY0MDk4KSE9PTAmJihuPXQucmV0dXJuKSxlPXQucmV0dXJuO3doaWxlKGUpfXJldHVybiB0LnRhZz09PTM/bjpudWxsfWZ1bmN0aW9uIE4oZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKHQ9PT1udWxsJiYoZT1lLmFsdGVybmF0ZSxlIT09bnVsbCYmKHQ9ZS5tZW1vaXplZFN0YXRlKSksdCE9PW51bGwpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBEKGUpe2lmKHgoZSkhPT1lKXRocm93IEVycm9yKHUoMTg4KSl9ZnVuY3Rpb24gaChlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYodD14KGUpLHQ9PT1udWxsKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIHQhPT1lP251bGw6ZX1mb3IodmFyIG49ZSxhPXQ7Oyl7dmFyIGk9bi5yZXR1cm47aWYoaT09PW51bGwpYnJlYWs7dmFyIGw9aS5hbHRlcm5hdGU7aWYobD09PW51bGwpe2lmKGE9aS5yZXR1cm4sYSE9PW51bGwpe249YTtjb250aW51ZX1icmVha31pZihpLmNoaWxkPT09bC5jaGlsZCl7Zm9yKGw9aS5jaGlsZDtsOyl7aWYobD09PW4pcmV0dXJuIEQoaSksZTtpZihsPT09YSlyZXR1cm4gRChpKSx0O2w9bC5zaWJsaW5nfXRocm93IEVycm9yKHUoMTg4KSl9aWYobi5yZXR1cm4hPT1hLnJldHVybiluPWksYT1sO2Vsc2V7Zm9yKHZhciBvPSExLHM9aS5jaGlsZDtzOyl7aWYocz09PW4pe289ITAsbj1pLGE9bDticmVha31pZihzPT09YSl7bz0hMCxhPWksbj1sO2JyZWFrfXM9cy5zaWJsaW5nfWlmKCFvKXtmb3Iocz1sLmNoaWxkO3M7KXtpZihzPT09bil7bz0hMCxuPWwsYT1pO2JyZWFrfWlmKHM9PT1hKXtvPSEwLGE9bCxuPWk7YnJlYWt9cz1zLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IodSgxODkpKX19aWYobi5hbHRlcm5hdGUhPT1hKXRocm93IEVycm9yKHUoMTkwKSl9aWYobi50YWchPT0zKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIG4uc3RhdGVOb2RlLmN1cnJlbnQ9PT1uP2U6dH1mdW5jdGlvbiB5KGUpe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09MjZ8fHQ9PT0yN3x8dD09PTYpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKHQ9eShlKSx0IT09bnVsbClyZXR1cm4gdDtlPWUuc2libGluZ31yZXR1cm4gbnVsbH12YXIgTz1PYmplY3QuYXNzaWduLEI9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFo9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxfZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxjZT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHZlPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksd2U9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxLZT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLE9lPVN5bWJvbC5mb3IoInJlYWN0LmNvbnN1bWVyIiksb2U9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGplPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksVz1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEo9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLHllPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxiZT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksSGU9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxsZT1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vX2NhY2hlX3NlbnRpbmVsIiksUmU9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIFRlKGUpe3JldHVybiBlPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiP251bGw6KGU9UmUmJmVbUmVdfHxlWyJAQGl0ZXJhdG9yIl0sdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpudWxsKX12YXIgbHQ9U3ltYm9sLmZvcigicmVhY3QuY2xpZW50LnJlZmVyZW5jZSIpO2Z1bmN0aW9uIGN0KGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGUuJCR0eXBlb2Y9PT1sdD9udWxsOmUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgY2U6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHdlOnJldHVybiJQcm9maWxlciI7Y2FzZSB2ZTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBXOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBKOnJldHVybiJTdXNwZW5zZUxpc3QiO2Nhc2UgSGU6cmV0dXJuIkFjdGl2aXR5In1pZih0eXBlb2YgZT09Im9iamVjdCIpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgX2U6cmV0dXJuIlBvcnRhbCI7Y2FzZSBvZTpyZXR1cm4oZS5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIE9lOnJldHVybihlLl9jb250ZXh0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgamU6dmFyIHQ9ZS5yZW5kZXI7cmV0dXJuIGU9ZS5kaXNwbGF5TmFtZSxlfHwoZT10LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fCIiLGU9ZSE9PSIiPyJGb3J3YXJkUmVmKCIrZSsiKSI6IkZvcndhcmRSZWYiKSxlO2Nhc2UgeWU6cmV0dXJuIHQ9ZS5kaXNwbGF5TmFtZXx8bnVsbCx0IT09bnVsbD90OmN0KGUudHlwZSl8fCJNZW1vIjtjYXNlIGJlOnQ9ZS5fcGF5bG9hZCxlPWUuX2luaXQ7dHJ5e3JldHVybiBjdChlKHQpKX1jYXRjaHt9fXJldHVybiBudWxsfXZhciBCZT1BcnJheS5pc0FycmF5LEE9ci5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1kLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxHPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0scmU9W10scD0tMTtmdW5jdGlvbiBUKGUpe3JldHVybntjdXJyZW50OmV9fWZ1bmN0aW9uIE0oZSl7MD5wfHwoZS5jdXJyZW50PXJlW3BdLHJlW3BdPW51bGwscC0tKX1mdW5jdGlvbiBDKGUsdCl7cCsrLHJlW3BdPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgaj1UKG51bGwpLEY9VChudWxsKSxLPVQobnVsbCksb3Q9VChudWxsKTtmdW5jdGlvbiBrZShlLHQpe3N3aXRjaChDKEssdCksQyhGLGUpLEMoaixudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2tmKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKXQ9a2YodCksZT1TZih0LGUpO2Vsc2Ugc3dpdGNoKGUpe2Nhc2Uic3ZnIjplPTE7YnJlYWs7Y2FzZSJtYXRoIjplPTI7YnJlYWs7ZGVmYXVsdDplPTB9fU0oaiksQyhqLGUpfWZ1bmN0aW9uIEZ0KCl7TShqKSxNKEYpLE0oSyl9ZnVuY3Rpb24gcmMoZSl7ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmQyhvdCxlKTt2YXIgdD1qLmN1cnJlbnQsbj1TZih0LGUudHlwZSk7dCE9PW4mJihDKEYsZSksQyhqLG4pKX1mdW5jdGlvbiBxaShlKXtGLmN1cnJlbnQ9PT1lJiYoTShqKSxNKEYpKSxvdC5jdXJyZW50PT09ZSYmKE0ob3QpLFNpLl9jdXJyZW50VmFsdWU9Ryl9dmFyIHNjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdWM9Yy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLGRjPWMudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sscXA9Yy51bnN0YWJsZV9zaG91bGRZaWVsZCxVcD1jLnVuc3RhYmxlX3JlcXVlc3RQYWludCx6dD1jLnVuc3RhYmxlX25vdyxqcD1jLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLGVzPWMudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksdHM9Yy51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxVaT1jLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LEhwPWMudW5zdGFibGVfTG93UHJpb3JpdHksbnM9Yy51bnN0YWJsZV9JZGxlUHJpb3JpdHksQnA9Yy5sb2csTHA9Yy51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxOYT1udWxsLHJ0PW51bGw7ZnVuY3Rpb24gUHQoZSl7aWYodHlwZW9mIEJwPT0iZnVuY3Rpb24iJiZMcChlKSxydCYmdHlwZW9mIHJ0LnNldFN0cmljdE1vZGU9PSJmdW5jdGlvbiIpdHJ5e3J0LnNldFN0cmljdE1vZGUoTmEsZSl9Y2F0Y2h7fX12YXIgc3Q9TWF0aC5jbHozMj9NYXRoLmNsejMyOlFwLFlwPU1hdGgubG9nLEdwPU1hdGguTE4yO2Z1bmN0aW9uIFFwKGUpe3JldHVybiBlPj4+PTAsZT09PTA/MzI6MzEtKFlwKGUpL0dwfDApfDB9dmFyIGppPTI1NixIaT00MTk0MzA0O2Z1bmN0aW9uIHduKGUpe3ZhciB0PWUmNDI7aWYodCE9PTApcmV0dXJuIHQ7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OnJldHVybiA2NDtjYXNlIDEyODpyZXR1cm4gMTI4O2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBlJjQxOTQwNDg7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIGUmNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIEJpKGUsdCxuKXt2YXIgYT1lLnBlbmRpbmdMYW5lcztpZihhPT09MClyZXR1cm4gMDt2YXIgaT0wLGw9ZS5zdXNwZW5kZWRMYW5lcyxvPWUucGluZ2VkTGFuZXM7ZT1lLndhcm1MYW5lczt2YXIgcz1hJjEzNDIxNzcyNztyZXR1cm4gcyE9PTA/KGE9cyZ+bCxhIT09MD9pPXduKGEpOihvJj1zLG8hPT0wP2k9d24obyk6bnx8KG49cyZ+ZSxuIT09MCYmKGk9d24obikpKSkpOihzPWEmfmwscyE9PTA/aT13bihzKTpvIT09MD9pPXduKG8pOm58fChuPWEmfmUsbiE9PTAmJihpPXduKG4pKSkpLGk9PT0wPzA6dCE9PTAmJnQhPT1pJiYodCZsKT09PTAmJihsPWkmLWksbj10Ji10LGw+PW58fGw9PT0zMiYmKG4mNDE5NDA0OCkhPT0wKT90Oml9ZnVuY3Rpb24gT2EoZSx0KXtyZXR1cm4oZS5wZW5kaW5nTGFuZXMmfihlLnN1c3BlbmRlZExhbmVzJn5lLnBpbmdlZExhbmVzKSZ0KT09PTB9ZnVuY3Rpb24gWHAoZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA4OmNhc2UgNjQ6cmV0dXJuIHQrMjUwO2Nhc2UgMTY6Y2FzZSAzMjpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gdCs1ZTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuLTE7Y2FzZSA2NzEwODg2NDpjYXNlIDEzNDIxNzcyODpjYXNlIDI2ODQzNTQ1NjpjYXNlIDUzNjg3MDkxMjpjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuLTE7ZGVmYXVsdDpyZXR1cm4tMX19ZnVuY3Rpb24gYXMoKXt2YXIgZT1qaTtyZXR1cm4gamk8PD0xLChqaSY0MTk0MDQ4KT09PTAmJihqaT0yNTYpLGV9ZnVuY3Rpb24gaXMoKXt2YXIgZT1IaTtyZXR1cm4gSGk8PD0xLChIaSY2MjkxNDU2MCk9PT0wJiYoSGk9NDE5NDMwNCksZX1mdW5jdGlvbiBmYyhlKXtmb3IodmFyIHQ9W10sbj0wOzMxPm47bisrKXQucHVzaChlKTtyZXR1cm4gdH1mdW5jdGlvbiBEYShlLHQpe2UucGVuZGluZ0xhbmVzfD10LHQhPT0yNjg0MzU0NTYmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIFpwKGUsdCxuLGEsaSxsKXt2YXIgbz1lLnBlbmRpbmdMYW5lcztlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS53YXJtTGFuZXM9MCxlLmV4cGlyZWRMYW5lcyY9bixlLmVudGFuZ2xlZExhbmVzJj1uLGUuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmPW4sZS5zaGVsbFN1c3BlbmRDb3VudGVyPTA7dmFyIHM9ZS5lbnRhbmdsZW1lbnRzLGY9ZS5leHBpcmF0aW9uVGltZXMsaz1lLmhpZGRlblVwZGF0ZXM7Zm9yKG49byZ+bjswPG47KXt2YXIgRT0zMS1zdChuKSx6PTE8PEU7c1tFXT0wLGZbRV09LTE7dmFyIFM9a1tFXTtpZihTIT09bnVsbClmb3Ioa1tFXT1udWxsLEU9MDtFPFMubGVuZ3RoO0UrKyl7dmFyIHc9U1tFXTt3IT09bnVsbCYmKHcubGFuZSY9LTUzNjg3MDkxMyl9biY9fnp9YSE9PTAmJmxzKGUsYSwwKSxsIT09MCYmaT09PTAmJmUudGFnIT09MCYmKGUuc3VzcGVuZGVkTGFuZXN8PWwmfihvJn50KSl9ZnVuY3Rpb24gbHMoZSx0LG4pe2UucGVuZGluZ0xhbmVzfD10LGUuc3VzcGVuZGVkTGFuZXMmPX50O3ZhciBhPTMxLXN0KHQpO2UuZW50YW5nbGVkTGFuZXN8PXQsZS5lbnRhbmdsZW1lbnRzW2FdPWUuZW50YW5nbGVtZW50c1thXXwxMDczNzQxODI0fG4mNDE5NDA5MH1mdW5jdGlvbiBjcyhlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgYT0zMS1zdChuKSxpPTE8PGE7aSZ0fGVbYV0mdCYmKGVbYV18PXQpLG4mPX5pfX1mdW5jdGlvbiBwYyhlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjplPTEyODticmVhaztjYXNlIDI2ODQzNTQ1NjplPTEzNDIxNzcyODticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBfYyhlKXtyZXR1cm4gZSY9LWUsMjxlPzg8ZT8oZSYxMzQyMTc3MjcpIT09MD8zMjoyNjg0MzU0NTY6ODoyfWZ1bmN0aW9uIG9zKCl7dmFyIGU9cS5wO3JldHVybiBlIT09MD9lOihlPXdpbmRvdy5ldmVudCxlPT09dm9pZCAwPzMyOllmKGUudHlwZSkpfWZ1bmN0aW9uIFZwKGUsdCl7dmFyIG49cS5wO3RyeXtyZXR1cm4gcS5wPWUsdCgpfWZpbmFsbHl7cS5wPW59fXZhciBJdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxKZT0iX19yZWFjdEZpYmVyJCIrSXQsSWU9Il9fcmVhY3RQcm9wcyQiK0l0LFFuPSJfX3JlYWN0Q29udGFpbmVyJCIrSXQsaGM9Il9fcmVhY3RFdmVudHMkIitJdCxLcD0iX19yZWFjdExpc3RlbmVycyQiK0l0LEpwPSJfX3JlYWN0SGFuZGxlcyQiK0l0LHJzPSJfX3JlYWN0UmVzb3VyY2VzJCIrSXQsTWE9Il9fcmVhY3RNYXJrZXIkIitJdDtmdW5jdGlvbiBtYyhlKXtkZWxldGUgZVtKZV0sZGVsZXRlIGVbSWVdLGRlbGV0ZSBlW2hjXSxkZWxldGUgZVtLcF0sZGVsZXRlIGVbSnBdfWZ1bmN0aW9uIFhuKGUpe3ZhciB0PWVbSmVdO2lmKHQpcmV0dXJuIHQ7Zm9yKHZhciBuPWUucGFyZW50Tm9kZTtuOyl7aWYodD1uW1FuXXx8bltKZV0pe2lmKG49dC5hbHRlcm5hdGUsdC5jaGlsZCE9PW51bGx8fG4hPT1udWxsJiZuLmNoaWxkIT09bnVsbClmb3IoZT1BZihlKTtlIT09bnVsbDspe2lmKG49ZVtKZV0pcmV0dXJuIG47ZT1BZihlKX1yZXR1cm4gdH1lPW4sbj1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWm4oZSl7aWYoZT1lW0plXXx8ZVtRbl0pe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09Nnx8dD09PTEzfHx0PT09MjZ8fHQ9PT0yN3x8dD09PTMpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ2EoZSl7dmFyIHQ9ZS50YWc7aWYodD09PTV8fHQ9PT0yNnx8dD09PTI3fHx0PT09NilyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIFZuKGUpe3ZhciB0PWVbcnNdO3JldHVybiB0fHwodD1lW3JzXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBMZShlKXtlW01hXT0hMH12YXIgc3M9bmV3IFNldCx1cz17fTtmdW5jdGlvbiB4bihlLHQpe0tuKGUsdCksS24oZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gS24oZSx0KXtmb3IodXNbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspc3MuYWRkKHRbZV0pfXZhciAkcD1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSxkcz17fSxmcz17fTtmdW5jdGlvbiBXcChlKXtyZXR1cm4gc2MuY2FsbChmcyxlKT8hMDpzYy5jYWxsKGRzLGUpPyExOiRwLnRlc3QoZSk/ZnNbZV09ITA6KGRzW2VdPSEwLCExKX1mdW5jdGlvbiBMaShlLHQsbil7aWYoV3AodCkpaWYobj09PW51bGwpZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIGE9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoYSE9PSJkYXRhLSImJmEhPT0iYXJpYS0iKXtlLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59fWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihuPT09bnVsbCllLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiBVdChlLHQsbixhKXtpZihhPT09bnVsbCllLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIithKX19dmFyIGdjLHBzO2Z1bmN0aW9uIEpuKGUpe2lmKGdjPT09dm9pZCAwKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKG4pe3ZhciB0PW4uc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtnYz10JiZ0WzFdfHwiIixwcz0tMTxuLnN0YWNrLmluZGV4T2YoYAogICAgYXRgKT8iICg8YW5vbnltb3VzPikiOi0xPG4uc3RhY2suaW5kZXhPZigiQCIpPyJAdW5rbm93bjowOjAiOiIifXJldHVybmAKYCtnYytlK3BzfXZhciB2Yz0hMTtmdW5jdGlvbiB5YyhlLHQpe2lmKCFlfHx2YylyZXR1cm4iIjt2Yz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciBhPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIHo9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkoei5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QoeixbXSl9Y2F0Y2godyl7dmFyIFM9d31SZWZsZWN0LmNvbnN0cnVjdChlLFtdLHopfWVsc2V7dHJ5e3ouY2FsbCgpfWNhdGNoKHcpe1M9d31lLmNhbGwoei5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKHcpe1M9d30oej1lKCkpJiZ0eXBlb2Ygei5jYXRjaD09ImZ1bmN0aW9uIiYmei5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaCh3KXtpZih3JiZTJiZ0eXBlb2Ygdy5zdGFjaz09InN0cmluZyIpcmV0dXJuW3cuc3RhY2ssUy5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTthLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7aSYmaS5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGw9YS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWxbMF0scz1sWzFdO2lmKG8mJnMpe3ZhciBmPW8uc3BsaXQoYApgKSxrPXMuc3BsaXQoYApgKTtmb3IoaT1hPTA7YTxmLmxlbmd0aCYmIWZbYV0uaW5jbHVkZXMoIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCIpOylhKys7Zm9yKDtpPGsubGVuZ3RoJiYha1tpXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KWkrKztpZihhPT09Zi5sZW5ndGh8fGk9PT1rLmxlbmd0aClmb3IoYT1mLmxlbmd0aC0xLGk9ay5sZW5ndGgtMTsxPD1hJiYwPD1pJiZmW2FdIT09a1tpXTspaS0tO2Zvcig7MTw9YSYmMDw9aTthLS0saS0tKWlmKGZbYV0hPT1rW2ldKXtpZihhIT09MXx8aSE9PTEpZG8gaWYoYS0tLGktLSwwPml8fGZbYV0hPT1rW2ldKXt2YXIgRT1gCmArZlthXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmRS5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKEU9RS5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLEV9d2hpbGUoMTw9YSYmMDw9aSk7YnJlYWt9fX1maW5hbGx5e3ZjPSExLEVycm9yLnByZXBhcmVTdGFja1RyYWNlPW59cmV0dXJuKG49ZT9lLmRpc3BsYXlOYW1lfHxlLm5hbWU6IiIpP0puKG4pOiIifWZ1bmN0aW9uIEZwKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gSm4oZS50eXBlKTtjYXNlIDE2OnJldHVybiBKbigiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIEpuKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIEpuKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAxNTpyZXR1cm4geWMoZS50eXBlLCExKTtjYXNlIDExOnJldHVybiB5YyhlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIHljKGUudHlwZSwhMCk7Y2FzZSAzMTpyZXR1cm4gSm4oIkFjdGl2aXR5Iik7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gX3MoZSl7dHJ5e3ZhciB0PSIiO2RvIHQrPUZwKGUpLGU9ZS5yZXR1cm47d2hpbGUoZSk7cmV0dXJuIHR9Y2F0Y2gobil7cmV0dXJuYApFcnJvciBnZW5lcmF0aW5nIHN0YWNrOiBgK24ubWVzc2FnZStgCmArbi5zdGFja319ZnVuY3Rpb24gZ3QoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpyZXR1cm4gZTtjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiZlLnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYodD09PSJjaGVja2JveCJ8fHQ9PT0icmFkaW8iKX1mdW5jdGlvbiBQcChlKXt2YXIgdD1ocyhlKT8iY2hlY2tlZCI6InZhbHVlIixuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCksYT0iIitlW3RdO2lmKCFlLmhhc093blByb3BlcnR5KHQpJiZ0eXBlb2YgbjwidSImJnR5cGVvZiBuLmdldD09ImZ1bmN0aW9uIiYmdHlwZW9mIG4uc2V0PT0iZnVuY3Rpb24iKXt2YXIgaT1uLmdldCxsPW4uc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKG8pe2E9IiIrbyxsLmNhbGwodGhpcyxvKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOm4uZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBhfSxzZXRWYWx1ZTpmdW5jdGlvbihvKXthPSIiK299LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fWZ1bmN0aW9uIEdpKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1QcChlKSl9ZnVuY3Rpb24gbXMoZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS5fdmFsdWVUcmFja2VyO2lmKCF0KXJldHVybiEwO3ZhciBuPXQuZ2V0VmFsdWUoKSxhPSIiO3JldHVybiBlJiYoYT1ocyhlKT9lLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6ZS52YWx1ZSksZT1hLGUhPT1uPyh0LnNldFZhbHVlKGUpLCEwKTohMX1mdW5jdGlvbiBRaShlKXtpZihlPWV8fCh0eXBlb2YgZG9jdW1lbnQ8InUiP2RvY3VtZW50OnZvaWQgMCksdHlwZW9mIGU+InUiKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2h7cmV0dXJuIGUuYm9keX19dmFyIElwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuIGUucmVwbGFjZShJcCxmdW5jdGlvbih0KXtyZXR1cm4iXFwiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gYmMoZSx0LG4sYSxpLGwsbyxzKXtlLm5hbWU9IiIsbyE9bnVsbCYmdHlwZW9mIG8hPSJmdW5jdGlvbiImJnR5cGVvZiBvIT0ic3ltYm9sIiYmdHlwZW9mIG8hPSJib29sZWFuIj9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLHQhPW51bGw/bz09PSJudW1iZXIiPyh0PT09MCYmZS52YWx1ZT09PSIifHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrZ3QodCkpOmUudmFsdWUhPT0iIitndCh0KSYmKGUudmFsdWU9IiIrZ3QodCkpOm8hPT0ic3VibWl0IiYmbyE9PSJyZXNldCJ8fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLHQhPW51bGw/a2MoZSxvLGd0KHQpKTpuIT1udWxsP2tjKGUsbyxndChuKSk6YSE9bnVsbCYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksaT09bnVsbCYmbCE9bnVsbCYmKGUuZGVmYXVsdENoZWNrZWQ9ISFsKSxpIT1udWxsJiYoZS5jaGVja2VkPWkmJnR5cGVvZiBpIT0iZnVuY3Rpb24iJiZ0eXBlb2YgaSE9InN5bWJvbCIpLHMhPW51bGwmJnR5cGVvZiBzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgcyE9InN5bWJvbCImJnR5cGVvZiBzIT0iYm9vbGVhbiI/ZS5uYW1lPSIiK2d0KHMpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gZ3MoZSx0LG4sYSxpLGwsbyxzKXtpZihsIT1udWxsJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJzeW1ib2wiJiZ0eXBlb2YgbCE9ImJvb2xlYW4iJiYoZS50eXBlPWwpLHQhPW51bGx8fG4hPW51bGwpe2lmKCEobCE9PSJzdWJtaXQiJiZsIT09InJlc2V0Inx8dCE9bnVsbCkpcmV0dXJuO249biE9bnVsbD8iIitndChuKToiIix0PXQhPW51bGw/IiIrZ3QodCk6bixzfHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH1hPWE/P2ksYT10eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhIWEsZS5jaGVja2VkPXM/ZS5jaGVja2VkOiEhYSxlLmRlZmF1bHRDaGVja2VkPSEhYSxvIT1udWxsJiZ0eXBlb2YgbyE9ImZ1bmN0aW9uIiYmdHlwZW9mIG8hPSJzeW1ib2wiJiZ0eXBlb2YgbyE9ImJvb2xlYW4iJiYoZS5uYW1lPW8pfWZ1bmN0aW9uIGtjKGUsdCxuKXt0PT09Im51bWJlciImJlFpKGUub3duZXJEb2N1bWVudCk9PT1lfHxlLmRlZmF1bHRWYWx1ZT09PSIiK258fChlLmRlZmF1bHRWYWx1ZT0iIituKX1mdW5jdGlvbiAkbihlLHQsbixhKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXRbIiQiK25baV1dPSEwO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspaT10Lmhhc093blByb3BlcnR5KCIkIitlW25dLnZhbHVlKSxlW25dLnNlbGVjdGVkIT09aSYmKGVbbl0uc2VsZWN0ZWQ9aSksaSYmYSYmKGVbbl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihuPSIiK2d0KG4pLHQ9bnVsbCxpPTA7aTxlLmxlbmd0aDtpKyspe2lmKGVbaV0udmFsdWU9PT1uKXtlW2ldLnNlbGVjdGVkPSEwLGEmJihlW2ldLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufXQhPT1udWxsfHxlW2ldLmRpc2FibGVkfHwodD1lW2ldKX10IT09bnVsbCYmKHQuc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiB2cyhlLHQsbil7aWYodCE9bnVsbCYmKHQ9IiIrZ3QodCksdCE9PWUudmFsdWUmJihlLnZhbHVlPXQpLG49PW51bGwpKXtlLmRlZmF1bHRWYWx1ZSE9PXQmJihlLmRlZmF1bHRWYWx1ZT10KTtyZXR1cm59ZS5kZWZhdWx0VmFsdWU9biE9bnVsbD8iIitndChuKToiIn1mdW5jdGlvbiB5cyhlLHQsbixhKXtpZih0PT1udWxsKXtpZihhIT1udWxsKXtpZihuIT1udWxsKXRocm93IEVycm9yKHUoOTIpKTtpZihCZShhKSl7aWYoMTxhLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7YT1hWzBdfW49YX1uPT1udWxsJiYobj0iIiksdD1ufW49Z3QodCksZS5kZWZhdWx0VmFsdWU9bixhPWUudGV4dENvbnRlbnQsYT09PW4mJmEhPT0iIiYmYSE9PW51bGwmJihlLnZhbHVlPWEpfWZ1bmN0aW9uIFduKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmbi5ub2RlVHlwZT09PTMpe24ubm9kZVZhbHVlPXQ7cmV0dXJufX1lLnRleHRDb250ZW50PXR9dmFyIGVfPW5ldyBTZXQoImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IGFzcGVjdFJhdGlvIGJvcmRlckltYWdlT3V0c2V0IGJvcmRlckltYWdlU2xpY2UgYm9yZGVySW1hZ2VXaWR0aCBib3hGbGV4IGJveEZsZXhHcm91cCBib3hPcmRpbmFsR3JvdXAgY29sdW1uQ291bnQgY29sdW1ucyBmbGV4IGZsZXhHcm93IGZsZXhQb3NpdGl2ZSBmbGV4U2hyaW5rIGZsZXhOZWdhdGl2ZSBmbGV4T3JkZXIgZ3JpZEFyZWEgZ3JpZFJvdyBncmlkUm93RW5kIGdyaWRSb3dTcGFuIGdyaWRSb3dTdGFydCBncmlkQ29sdW1uIGdyaWRDb2x1bW5FbmQgZ3JpZENvbHVtblNwYW4gZ3JpZENvbHVtblN0YXJ0IGZvbnRXZWlnaHQgbGluZUNsYW1wIGxpbmVIZWlnaHQgb3BhY2l0eSBvcmRlciBvcnBoYW5zIHNjYWxlIHRhYlNpemUgd2lkb3dzIHpJbmRleCB6b29tIGZpbGxPcGFjaXR5IGZsb29kT3BhY2l0eSBzdG9wT3BhY2l0eSBzdHJva2VEYXNoYXJyYXkgc3Ryb2tlRGFzaG9mZnNldCBzdHJva2VNaXRlcmxpbWl0IHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2lkdGggTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgTW96Qm94RmxleCBNb3pCb3hGbGV4R3JvdXAgTW96TGluZUNsYW1wIG1zQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgbXNGbGV4IG1zWm9vbSBtc0ZsZXhHcm93IG1zRmxleE5lZ2F0aXZlIG1zRmxleE9yZGVyIG1zRmxleFBvc2l0aXZlIG1zRmxleFNocmluayBtc0dyaWRDb2x1bW4gbXNHcmlkQ29sdW1uU3BhbiBtc0dyaWRSb3cgbXNHcmlkUm93U3BhbiBXZWJraXRBbmltYXRpb25JdGVyYXRpb25Db3VudCBXZWJraXRCb3hGbGV4IFdlYktpdEJveEZsZXhHcm91cCBXZWJraXRCb3hPcmRpbmFsR3JvdXAgV2Via2l0Q29sdW1uQ291bnQgV2Via2l0Q29sdW1ucyBXZWJraXRGbGV4IFdlYmtpdEZsZXhHcm93IFdlYmtpdEZsZXhQb3NpdGl2ZSBXZWJraXRGbGV4U2hyaW5rIFdlYmtpdExpbmVDbGFtcCIuc3BsaXQoIiAiKSk7ZnVuY3Rpb24gYnMoZSx0LG4pe3ZhciBhPXQuaW5kZXhPZigiLS0iKT09PTA7bj09bnVsbHx8dHlwZW9mIG49PSJib29sZWFuInx8bj09PSIiP2E/ZS5zZXRQcm9wZXJ0eSh0LCIiKTp0PT09ImZsb2F0Ij9lLmNzc0Zsb2F0PSIiOmVbdF09IiI6YT9lLnNldFByb3BlcnR5KHQsbik6dHlwZW9mIG4hPSJudW1iZXIifHxuPT09MHx8ZV8uaGFzKHQpP3Q9PT0iZmxvYXQiP2UuY3NzRmxvYXQ9bjplW3RdPSgiIituKS50cmltKCk6ZVt0XT1uKyJweCJ9ZnVuY3Rpb24ga3MoZSx0LG4pe2lmKHQhPW51bGwmJnR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBFcnJvcih1KDYyKSk7aWYoZT1lLnN0eWxlLG4hPW51bGwpe2Zvcih2YXIgYSBpbiBuKSFuLmhhc093blByb3BlcnR5KGEpfHx0IT1udWxsJiZ0Lmhhc093blByb3BlcnR5KGEpfHwoYS5pbmRleE9mKCItLSIpPT09MD9lLnNldFByb3BlcnR5KGEsIiIpOmE9PT0iZmxvYXQiP2UuY3NzRmxvYXQ9IiI6ZVthXT0iIik7Zm9yKHZhciBpIGluIHQpYT10W2ldLHQuaGFzT3duUHJvcGVydHkoaSkmJm5baV0hPT1hJiZicyhlLGksYSl9ZWxzZSBmb3IodmFyIGwgaW4gdCl0Lmhhc093blByb3BlcnR5KGwpJiZicyhlLGwsdFtsXSl9ZnVuY3Rpb24gU2MoZSl7aWYoZS5pbmRleE9mKCItIik9PT0tMSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdF89bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksbl89L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gWGkoZSl7cmV0dXJuIG5fLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9dmFyIHdjPW51bGw7ZnVuY3Rpb24geGMoZSl7cmV0dXJuIGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93LGUuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQmJihlPWUuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpLGUubm9kZVR5cGU9PT0zP2UucGFyZW50Tm9kZTplfXZhciBGbj1udWxsLFBuPW51bGw7ZnVuY3Rpb24gU3MoZSl7dmFyIHQ9Wm4oZSk7aWYodCYmKGU9dC5zdGF0ZU5vZGUpKXt2YXIgbj1lW0llXXx8bnVsbDtlOnN3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYoYmMoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLG4udHlwZT09PSJyYWRpbyImJnQhPW51bGwpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdnQoIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciBhPW5bdF07aWYoYSE9PWUmJmEuZm9ybT09PWUuZm9ybSl7dmFyIGk9YVtJZV18fG51bGw7aWYoIWkpdGhyb3cgRXJyb3IodSg5MCkpO2JjKGEsaS52YWx1ZSxpLmRlZmF1bHRWYWx1ZSxpLmRlZmF1bHRWYWx1ZSxpLmNoZWNrZWQsaS5kZWZhdWx0Q2hlY2tlZCxpLnR5cGUsaS5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKylhPW5bdF0sYS5mb3JtPT09ZS5mb3JtJiZtcyhhKX1icmVhayBlO2Nhc2UidGV4dGFyZWEiOnZzKGUsbi52YWx1ZSxuLmRlZmF1bHRWYWx1ZSk7YnJlYWsgZTtjYXNlInNlbGVjdCI6dD1uLnZhbHVlLHQhPW51bGwmJiRuKGUsISFuLm11bHRpcGxlLHQsITEpfX19dmFyIFRjPSExO2Z1bmN0aW9uIHdzKGUsdCxuKXtpZihUYylyZXR1cm4gZSh0LG4pO1RjPSEwO3RyeXt2YXIgYT1lKHQpO3JldHVybiBhfWZpbmFsbHl7aWYoVGM9ITEsKEZuIT09bnVsbHx8UG4hPT1udWxsKSYmKHpsKCksRm4mJih0PUZuLGU9UG4sUG49Rm49bnVsbCxTcyh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKylTcyhlW3RdKX19ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihuPT09bnVsbClyZXR1cm4gbnVsbDt2YXIgYT1uW0llXXx8bnVsbDtpZihhPT09bnVsbClyZXR1cm4gbnVsbDtuPWFbdF07ZTpzd2l0Y2godCl7Y2FzZSJvbkNsaWNrIjpjYXNlIm9uQ2xpY2tDYXB0dXJlIjpjYXNlIm9uRG91YmxlQ2xpY2siOmNhc2Uib25Eb3VibGVDbGlja0NhcHR1cmUiOmNhc2Uib25Nb3VzZURvd24iOmNhc2Uib25Nb3VzZURvd25DYXB0dXJlIjpjYXNlIm9uTW91c2VNb3ZlIjpjYXNlIm9uTW91c2VNb3ZlQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlVXAiOmNhc2Uib25Nb3VzZVVwQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRW50ZXIiOihhPSFhLmRpc2FibGVkKXx8KGU9ZS50eXBlLGE9IShlPT09ImJ1dHRvbiJ8fGU9PT0iaW5wdXQifHxlPT09InNlbGVjdCJ8fGU9PT0idGV4dGFyZWEiKSksZT0hYTticmVhayBlO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJnR5cGVvZiBuIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKHUoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn12YXIganQ9ISh0eXBlb2Ygd2luZG93PiJ1Inx8dHlwZW9mIHdpbmRvdy5kb2N1bWVudD4idSJ8fHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudD4idSIpLEFjPSExO2lmKGp0KXRyeXt2YXIgVWE9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFVhLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7QWM9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFVhLFVhKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVWEsVWEpfWNhdGNoe0FjPSExfXZhciBlbj1udWxsLEVjPW51bGwsWmk9bnVsbDtmdW5jdGlvbiB4cygpe2lmKFppKXJldHVybiBaaTt2YXIgZSx0PUVjLG49dC5sZW5ndGgsYSxpPSJ2YWx1ZSJpbiBlbj9lbi52YWx1ZTplbi50ZXh0Q29udGVudCxsPWkubGVuZ3RoO2ZvcihlPTA7ZTxuJiZ0W2VdPT09aVtlXTtlKyspO3ZhciBvPW4tZTtmb3IoYT0xO2E8PW8mJnRbbi1hXT09PWlbbC1hXTthKyspO3JldHVybiBaaT1pLnNsaWNlKGUsMTxhPzEtYTp2b2lkIDApfWZ1bmN0aW9uIFZpKGUpe3ZhciB0PWUua2V5Q29kZTtyZXR1cm4iY2hhckNvZGUiaW4gZT8oZT1lLmNoYXJDb2RlLGU9PT0wJiZ0PT09MTMmJihlPTEzKSk6ZT10LGU9PT0xMCYmKGU9MTMpLDMyPD1lfHxlPT09MTM/ZTowfWZ1bmN0aW9uIEtpKCl7cmV0dXJuITB9ZnVuY3Rpb24gVHMoKXtyZXR1cm4hMX1mdW5jdGlvbiBldChlKXtmdW5jdGlvbiB0KG4sYSxpLGwsbyl7dGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1pLHRoaXMudHlwZT1hLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1vLHRoaXMuY3VycmVudFRhcmdldD1udWxsO2Zvcih2YXIgcyBpbiBlKWUuaGFzT3duUHJvcGVydHkocykmJihuPWVbc10sdGhpc1tzXT1uP24obCk6bFtzXSk7cmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPShsLmRlZmF1bHRQcmV2ZW50ZWQhPW51bGw/bC5kZWZhdWx0UHJldmVudGVkOmwucmV0dXJuVmFsdWU9PT0hMSk/S2k6VHMsdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1Ucyx0aGlzfXJldHVybiBPKHQucHJvdG90eXBlLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnByZXZlbnREZWZhdWx0P24ucHJldmVudERlZmF1bHQoKTp0eXBlb2Ygbi5yZXR1cm5WYWx1ZSE9InVua25vd24iJiYobi5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9S2kpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnN0b3BQcm9wYWdhdGlvbj9uLnN0b3BQcm9wYWdhdGlvbigpOnR5cGVvZiBuLmNhbmNlbEJ1YmJsZSE9InVua25vd24iJiYobi5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9S2kpfSxwZXJzaXN0OmZ1bmN0aW9uKCl7fSxpc1BlcnNpc3RlbnQ6S2l9KSx0fXZhciBUbj17ZXZlbnRQaGFzZTowLGJ1YmJsZXM6MCxjYW5jZWxhYmxlOjAsdGltZVN0YW1wOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKX0sZGVmYXVsdFByZXZlbnRlZDowLGlzVHJ1c3RlZDowfSxKaT1ldChUbiksamE9Tyh7fSxUbix7dmlldzowLGRldGFpbDowfSksYV89ZXQoamEpLFJjLHpjLEhhLCRpPU8oe30samEse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6T2MsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVsYXRlZFRhcmdldD09PXZvaWQgMD9lLmZyb21FbGVtZW50PT09ZS5zcmNFbGVtZW50P2UudG9FbGVtZW50OmUuZnJvbUVsZW1lbnQ6ZS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WCJpbiBlP2UubW92ZW1lbnRYOihlIT09SGEmJihIYSYmZS50eXBlPT09Im1vdXNlbW92ZSI/KFJjPWUuc2NyZWVuWC1IYS5zY3JlZW5YLHpjPWUuc2NyZWVuWS1IYS5zY3JlZW5ZKTp6Yz1SYz0wLEhhPWUpLFJjKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFkiaW4gZT9lLm1vdmVtZW50WTp6Y319KSxBcz1ldCgkaSksaV89Tyh7fSwkaSx7ZGF0YVRyYW5zZmVyOjB9KSxsXz1ldChpXyksY189Tyh7fSxqYSx7cmVsYXRlZFRhcmdldDowfSksTmM9ZXQoY18pLG9fPU8oe30sVG4se2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLHJfPWV0KG9fKSxzXz1PKHt9LFRuLHtjbGlwYm9hcmREYXRhOmZ1bmN0aW9uKGUpe3JldHVybiJjbGlwYm9hcmREYXRhImluIGU/ZS5jbGlwYm9hcmREYXRhOndpbmRvdy5jbGlwYm9hcmREYXRhfX0pLHVfPWV0KHNfKSxkXz1PKHt9LFRuLHtkYXRhOjB9KSxFcz1ldChkXyksZl89e0VzYzoiRXNjYXBlIixTcGFjZWJhcjoiICIsTGVmdDoiQXJyb3dMZWZ0IixVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LHBfPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0sX189e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBoXyhlKXt2YXIgdD10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiB0LmdldE1vZGlmaWVyU3RhdGU/dC5nZXRNb2RpZmllclN0YXRlKGUpOihlPV9fW2VdKT8hIXRbZV06ITF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gaF99dmFyIG1fPU8oe30samEse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9Zl9bZS5rZXldfHxlLmtleTtpZih0IT09IlVuaWRlbnRpZmllZCIpcmV0dXJuIHR9cmV0dXJuIGUudHlwZT09PSJrZXlwcmVzcyI/KGU9VmkoZSksZT09PTEzPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKSk6ZS50eXBlPT09ImtleWRvd24ifHxlLnR5cGU9PT0ia2V5dXAiP3BfW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpPYyxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImtleXByZXNzIj9WaShlKTowfSxrZXlDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5ZG93biJ8fGUudHlwZT09PSJrZXl1cCI/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5cHJlc3MiP1ZpKGUpOmUudHlwZT09PSJrZXlkb3duInx8ZS50eXBlPT09ImtleXVwIj9lLmtleUNvZGU6MH19KSxnXz1ldChtXyksdl89Tyh7fSwkaSx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSxScz1ldCh2XykseV89Tyh7fSxqYSx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOk9jfSksYl89ZXQoeV8pLGtfPU8oe30sVG4se3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSksU189ZXQoa18pLHdfPU8oe30sJGkse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSx4Xz1ldCh3XyksVF89Tyh7fSxUbix7bmV3U3RhdGU6MCxvbGRTdGF0ZTowfSksQV89ZXQoVF8pLEVfPVs5LDEzLDI3LDMyXSxEYz1qdCYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LEJhPW51bGw7anQmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihCYT1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBSXz1qdCYmIlRleHRFdmVudCJpbiB3aW5kb3cmJiFCYSx6cz1qdCYmKCFEY3x8QmEmJjg8QmEmJjExPj1CYSksTnM9IiAiLE9zPSExO2Z1bmN0aW9uIERzKGUsdCl7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybiBFXy5pbmRleE9mKHQua2V5Q29kZSkhPT0tMTtjYXNlImtleWRvd24iOnJldHVybiB0LmtleUNvZGUhPT0yMjk7Y2FzZSJrZXlwcmVzcyI6Y2FzZSJtb3VzZWRvd24iOmNhc2UiZm9jdXNvdXQiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIE1zKGUpe3JldHVybiBlPWUuZGV0YWlsLHR5cGVvZiBlPT0ib2JqZWN0IiYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgSW49ITE7ZnVuY3Rpb24gel8oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIE1zKHQpO2Nhc2Uia2V5cHJlc3MiOnJldHVybiB0LndoaWNoIT09MzI/bnVsbDooT3M9ITAsTnMpO2Nhc2UidGV4dElucHV0IjpyZXR1cm4gZT10LmRhdGEsZT09PU5zJiZPcz9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gTl8oZSx0KXtpZihJbilyZXR1cm4gZT09PSJjb21wb3NpdGlvbmVuZCJ8fCFEYyYmRHMoZSx0KT8oZT14cygpLFppPUVjPWVuPW51bGwsSW49ITEsZSk6bnVsbDtzd2l0Y2goZSl7Y2FzZSJwYXN0ZSI6cmV0dXJuIG51bGw7Y2FzZSJrZXlwcmVzcyI6aWYoISh0LmN0cmxLZXl8fHQuYWx0S2V5fHx0Lm1ldGFLZXkpfHx0LmN0cmxLZXkmJnQuYWx0S2V5KXtpZih0LmNoYXImJjE8dC5jaGFyLmxlbmd0aClyZXR1cm4gdC5jaGFyO2lmKHQud2hpY2gpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodC53aGljaCl9cmV0dXJuIG51bGw7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIHpzJiZ0LmxvY2FsZSE9PSJrbyI/bnVsbDp0LmRhdGE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIE9fPXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBDcyhlKXt2YXIgdD1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iaW5wdXQiPyEhT19bZS50eXBlXTp0PT09InRleHRhcmVhIn1mdW5jdGlvbiBxcyhlLHQsbixhKXtGbj9Qbj9Qbi5wdXNoKGEpOlBuPVthXTpGbj1hLHQ9cWwodCwib25DaGFuZ2UiKSwwPHQubGVuZ3RoJiYobj1uZXcgSmkoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sYSksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBMYT1udWxsLFlhPW51bGw7ZnVuY3Rpb24gRF8oZSl7bWYoZSwwKX1mdW5jdGlvbiBXaShlKXt2YXIgdD1DYShlKTtpZihtcyh0KSlyZXR1cm4gZX1mdW5jdGlvbiBVcyhlLHQpe2lmKGU9PT0iY2hhbmdlIilyZXR1cm4gdH12YXIganM9ITE7aWYoanQpe3ZhciBNYztpZihqdCl7dmFyIENjPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFDYyl7dmFyIEhzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0hzLnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxDYz10eXBlb2YgSHMub25pbnB1dD09ImZ1bmN0aW9uIn1NYz1DY31lbHNlIE1jPSExO2pzPU1jJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIEJzKCl7TGEmJihMYS5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsTHMpLFlhPUxhPW51bGwpfWZ1bmN0aW9uIExzKGUpe2lmKGUucHJvcGVydHlOYW1lPT09InZhbHVlIiYmV2koWWEpKXt2YXIgdD1bXTtxcyh0LFlhLGUseGMoZSkpLHdzKERfLHQpfX1mdW5jdGlvbiBNXyhlLHQsbil7ZT09PSJmb2N1c2luIj8oQnMoKSxMYT10LFlhPW4sTGEuYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLExzKSk6ZT09PSJmb2N1c291dCImJkJzKCl9ZnVuY3Rpb24gQ18oZSl7aWYoZT09PSJzZWxlY3Rpb25jaGFuZ2UifHxlPT09ImtleXVwInx8ZT09PSJrZXlkb3duIilyZXR1cm4gV2koWWEpfWZ1bmN0aW9uIHFfKGUsdCl7aWYoZT09PSJjbGljayIpcmV0dXJuIFdpKHQpfWZ1bmN0aW9uIFVfKGUsdCl7aWYoZT09PSJpbnB1dCJ8fGU9PT0iY2hhbmdlIilyZXR1cm4gV2kodCl9ZnVuY3Rpb24gal8oZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT09MS90KXx8ZSE9PWUmJnQhPT10fXZhciB1dD10eXBlb2YgT2JqZWN0LmlzPT0iZnVuY3Rpb24iP09iamVjdC5pczpqXztmdW5jdGlvbiBHYShlLHQpe2lmKHV0KGUsdCkpcmV0dXJuITA7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QifHx0PT09bnVsbClyZXR1cm4hMTt2YXIgbj1PYmplY3Qua2V5cyhlKSxhPU9iamVjdC5rZXlzKHQpO2lmKG4ubGVuZ3RoIT09YS5sZW5ndGgpcmV0dXJuITE7Zm9yKGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXTtpZighc2MuY2FsbCh0LGkpfHwhdXQoZVtpXSx0W2ldKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBZcyhlKXtmb3IoO2UmJmUuZmlyc3RDaGlsZDspZT1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGV9ZnVuY3Rpb24gR3MoZSx0KXt2YXIgbj1ZcyhlKTtlPTA7Zm9yKHZhciBhO247KXtpZihuLm5vZGVUeXBlPT09Myl7aWYoYT1lK24udGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJmE+PXQpcmV0dXJue25vZGU6bixvZmZzZXQ6dC1lfTtlPWF9ZTp7Zm9yKDtuOyl7aWYobi5uZXh0U2libGluZyl7bj1uLm5leHRTaWJsaW5nO2JyZWFrIGV9bj1uLnBhcmVudE5vZGV9bj12b2lkIDB9bj1ZcyhuKX19ZnVuY3Rpb24gUXMoZSx0KXtyZXR1cm4gZSYmdD9lPT09dD8hMDplJiZlLm5vZGVUeXBlPT09Mz8hMTp0JiZ0Lm5vZGVUeXBlPT09Mz9RcyhlLHQucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyh0KTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPyEhKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmMTYpOiExOiExfWZ1bmN0aW9uIFhzKGUpe2U9ZSE9bnVsbCYmZS5vd25lckRvY3VtZW50IT1udWxsJiZlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXchPW51bGw/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OndpbmRvdztmb3IodmFyIHQ9UWkoZS5kb2N1bWVudCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmPT0ic3RyaW5nIn1jYXRjaHtuPSExfWlmKG4pZT10LmNvbnRlbnRXaW5kb3c7ZWxzZSBicmVhazt0PVFpKGUuZG9jdW1lbnQpfXJldHVybiB0fWZ1bmN0aW9uIHFjKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmKHQ9PT0iaW5wdXQiJiYoZS50eXBlPT09InRleHQifHxlLnR5cGU9PT0ic2VhcmNoInx8ZS50eXBlPT09InRlbCJ8fGUudHlwZT09PSJ1cmwifHxlLnR5cGU9PT0icGFzc3dvcmQiKXx8dD09PSJ0ZXh0YXJlYSJ8fGUuY29udGVudEVkaXRhYmxlPT09InRydWUiKX12YXIgSF89anQmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZWE9bnVsbCxVYz1udWxsLFFhPW51bGwsamM9ITE7ZnVuY3Rpb24gWnMoZSx0LG4pe3ZhciBhPW4ud2luZG93PT09bj9uLmRvY3VtZW50Om4ubm9kZVR5cGU9PT05P246bi5vd25lckRvY3VtZW50O2pjfHxlYT09bnVsbHx8ZWEhPT1RaShhKXx8KGE9ZWEsInNlbGVjdGlvblN0YXJ0ImluIGEmJnFjKGEpP2E9e3N0YXJ0OmEuc2VsZWN0aW9uU3RhcnQsZW5kOmEuc2VsZWN0aW9uRW5kfTooYT0oYS5vd25lckRvY3VtZW50JiZhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCksYT17YW5jaG9yTm9kZTphLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0OmEuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTphLmZvY3VzTm9kZSxmb2N1c09mZnNldDphLmZvY3VzT2Zmc2V0fSksUWEmJkdhKFFhLGEpfHwoUWE9YSxhPXFsKFVjLCJvblNlbGVjdCIpLDA8YS5sZW5ndGgmJih0PW5ldyBKaSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOmF9KSx0LnRhcmdldD1lYSkpKX1mdW5jdGlvbiBBbihlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgdGE9e2FuaW1hdGlvbmVuZDpBbigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOkFuKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpBbigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOkFuKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpBbigiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6QW4oIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpBbigiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sSGM9e30sVnM9e307anQmJihWcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIHRhLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIHRhLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIHRhLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSB0YS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIEVuKGUpe2lmKEhjW2VdKXJldHVybiBIY1tlXTtpZighdGFbZV0pcmV0dXJuIGU7dmFyIHQ9dGFbZV0sbjtmb3IobiBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobikmJm4gaW4gVnMpcmV0dXJuIEhjW2VdPXRbbl07cmV0dXJuIGV9dmFyIEtzPUVuKCJhbmltYXRpb25lbmQiKSxKcz1FbigiYW5pbWF0aW9uaXRlcmF0aW9uIiksJHM9RW4oImFuaW1hdGlvbnN0YXJ0IiksQl89RW4oInRyYW5zaXRpb25ydW4iKSxMXz1FbigidHJhbnNpdGlvbnN0YXJ0IiksWV89RW4oInRyYW5zaXRpb25jYW5jZWwiKSxXcz1FbigidHJhbnNpdGlvbmVuZCIpLEZzPW5ldyBNYXAsQmM9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtCYy5wdXNoKCJzY3JvbGxFbmQiKTtmdW5jdGlvbiBBdChlLHQpe0ZzLnNldChlLHQpLHhuKHQsW2VdKX12YXIgUHM9bmV3IFdlYWtNYXA7ZnVuY3Rpb24geXQoZSx0KXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsKXt2YXIgbj1Qcy5nZXQoZSk7cmV0dXJuIG4hPT12b2lkIDA/bjoodD17dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazpfcyh0KX0sUHMuc2V0KGUsdCksdCl9cmV0dXJue3ZhbHVlOmUsc291cmNlOnQsc3RhY2s6X3ModCl9fXZhciBidD1bXSxuYT0wLExjPTA7ZnVuY3Rpb24gRmkoKXtmb3IodmFyIGU9bmEsdD1MYz1uYT0wO3Q8ZTspe3ZhciBuPWJ0W3RdO2J0W3QrK109bnVsbDt2YXIgYT1idFt0XTtidFt0KytdPW51bGw7dmFyIGk9YnRbdF07YnRbdCsrXT1udWxsO3ZhciBsPWJ0W3RdO2lmKGJ0W3QrK109bnVsbCxhIT09bnVsbCYmaSE9PW51bGwpe3ZhciBvPWEucGVuZGluZztvPT09bnVsbD9pLm5leHQ9aTooaS5uZXh0PW8ubmV4dCxvLm5leHQ9aSksYS5wZW5kaW5nPWl9bCE9PTAmJklzKG4saSxsKX19ZnVuY3Rpb24gUGkoZSx0LG4sYSl7YnRbbmErK109ZSxidFtuYSsrXT10LGJ0W25hKytdPW4sYnRbbmErK109YSxMY3w9YSxlLmxhbmVzfD1hLGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLmxhbmVzfD1hKX1mdW5jdGlvbiBZYyhlLHQsbixhKXtyZXR1cm4gUGkoZSx0LG4sYSksSWkoZSl9ZnVuY3Rpb24gYWEoZSx0KXtyZXR1cm4gUGkoZSxudWxsLG51bGwsdCksSWkoZSl9ZnVuY3Rpb24gSXMoZSx0LG4pe2UubGFuZXN8PW47dmFyIGE9ZS5hbHRlcm5hdGU7YSE9PW51bGwmJihhLmxhbmVzfD1uKTtmb3IodmFyIGk9ITEsbD1lLnJldHVybjtsIT09bnVsbDspbC5jaGlsZExhbmVzfD1uLGE9bC5hbHRlcm5hdGUsYSE9PW51bGwmJihhLmNoaWxkTGFuZXN8PW4pLGwudGFnPT09MjImJihlPWwuc3RhdGVOb2RlLGU9PT1udWxsfHxlLl92aXNpYmlsaXR5JjF8fChpPSEwKSksZT1sLGw9bC5yZXR1cm47cmV0dXJuIGUudGFnPT09Mz8obD1lLnN0YXRlTm9kZSxpJiZ0IT09bnVsbCYmKGk9MzEtc3QobiksZT1sLmhpZGRlblVwZGF0ZXMsYT1lW2ldLGE9PT1udWxsP2VbaV09W3RdOmEucHVzaCh0KSx0LmxhbmU9bnw1MzY4NzA5MTIpLGwpOm51bGx9ZnVuY3Rpb24gSWkoZSl7aWYoNTA8X2kpdGhyb3cgX2k9MCxKbz1udWxsLEVycm9yKHUoMTg1KSk7Zm9yKHZhciB0PWUucmV0dXJuO3QhPT1udWxsOyllPXQsdD1lLnJldHVybjtyZXR1cm4gZS50YWc9PT0zP2Uuc3RhdGVOb2RlOm51bGx9dmFyIGlhPXt9O2Z1bmN0aW9uIEdfKGUsdCxuLGEpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZkNsZWFudXA9dGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz10LHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1hLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBkdChlLHQsbixhKXtyZXR1cm4gbmV3IEdfKGUsdCxuLGEpfWZ1bmN0aW9uIEdjKGUpe3JldHVybiBlPWUucHJvdG90eXBlLCEoIWV8fCFlLmlzUmVhY3RDb21wb25lbnQpfWZ1bmN0aW9uIEh0KGUsdCl7dmFyIG49ZS5hbHRlcm5hdGU7cmV0dXJuIG49PT1udWxsPyhuPWR0KGUudGFnLHQsZS5rZXksZS5tb2RlKSxuLmVsZW1lbnRUeXBlPWUuZWxlbWVudFR5cGUsbi50eXBlPWUudHlwZSxuLnN0YXRlTm9kZT1lLnN0YXRlTm9kZSxuLmFsdGVybmF0ZT1lLGUuYWx0ZXJuYXRlPW4pOihuLnBlbmRpbmdQcm9wcz10LG4udHlwZT1lLnR5cGUsbi5mbGFncz0wLG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksbi5mbGFncz1lLmZsYWdzJjY1MDExNzEyLG4uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsbi5sYW5lcz1lLmxhbmVzLG4uY2hpbGQ9ZS5jaGlsZCxuLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQ9ZS5kZXBlbmRlbmNpZXMsbi5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LG4uc2libGluZz1lLnNpYmxpbmcsbi5pbmRleD1lLmluZGV4LG4ucmVmPWUucmVmLG4ucmVmQ2xlYW51cD1lLnJlZkNsZWFudXAsbn1mdW5jdGlvbiBldShlLHQpe2UuZmxhZ3MmPTY1MDExNzE0O3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBuPT09bnVsbD8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSx0PW4uZGVwZW5kZW5jaWVzLGUuZGVwZW5kZW5jaWVzPXQ9PT1udWxsP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiBlbChlLHQsbixhLGksbCl7dmFyIG89MDtpZihhPWUsdHlwZW9mIGU9PSJmdW5jdGlvbiIpR2MoZSkmJihvPTEpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKW89WGgoZSxuLGouY3VycmVudCk/MjY6ZT09PSJodG1sInx8ZT09PSJoZWFkInx8ZT09PSJib2R5Ij8yNzo1O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBIZTpyZXR1cm4gZT1kdCgzMSxuLHQsaSksZS5lbGVtZW50VHlwZT1IZSxlLmxhbmVzPWwsZTtjYXNlIGNlOnJldHVybiBSbihuLmNoaWxkcmVuLGksbCx0KTtjYXNlIHZlOm89OCxpfD0yNDticmVhaztjYXNlIHdlOnJldHVybiBlPWR0KDEyLG4sdCxpfDIpLGUuZWxlbWVudFR5cGU9d2UsZS5sYW5lcz1sLGU7Y2FzZSBXOnJldHVybiBlPWR0KDEzLG4sdCxpKSxlLmVsZW1lbnRUeXBlPVcsZS5sYW5lcz1sLGU7Y2FzZSBKOnJldHVybiBlPWR0KDE5LG4sdCxpKSxlLmVsZW1lbnRUeXBlPUosZS5sYW5lcz1sLGU7ZGVmYXVsdDppZih0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIEtlOmNhc2Ugb2U6bz0xMDticmVhayBlO2Nhc2UgT2U6bz05O2JyZWFrIGU7Y2FzZSBqZTpvPTExO2JyZWFrIGU7Y2FzZSB5ZTpvPTE0O2JyZWFrIGU7Y2FzZSBiZTpvPTE2LGE9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxlPT09bnVsbD8ibnVsbCI6dHlwZW9mIGUsIiIpKSxhPW51bGx9cmV0dXJuIHQ9ZHQobyxuLHQsaSksdC5lbGVtZW50VHlwZT1lLHQudHlwZT1hLHQubGFuZXM9bCx0fWZ1bmN0aW9uIFJuKGUsdCxuLGEpe3JldHVybiBlPWR0KDcsZSxhLHQpLGUubGFuZXM9bixlfWZ1bmN0aW9uIFFjKGUsdCxuKXtyZXR1cm4gZT1kdCg2LGUsbnVsbCx0KSxlLmxhbmVzPW4sZX1mdW5jdGlvbiBYYyhlLHQsbil7cmV0dXJuIHQ9ZHQoNCxlLmNoaWxkcmVuIT09bnVsbD9lLmNoaWxkcmVuOltdLGUua2V5LHQpLHQubGFuZXM9bix0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzplLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246ZS5pbXBsZW1lbnRhdGlvbn0sdH12YXIgbGE9W10sY2E9MCx0bD1udWxsLG5sPTAsa3Q9W10sU3Q9MCx6bj1udWxsLEJ0PTEsTHQ9IiI7ZnVuY3Rpb24gTm4oZSx0KXtsYVtjYSsrXT1ubCxsYVtjYSsrXT10bCx0bD1lLG5sPXR9ZnVuY3Rpb24gdHUoZSx0LG4pe2t0W1N0KytdPUJ0LGt0W1N0KytdPUx0LGt0W1N0KytdPXpuLHpuPWU7dmFyIGE9QnQ7ZT1MdDt2YXIgaT0zMi1zdChhKS0xO2EmPX4oMTw8aSksbis9MTt2YXIgbD0zMi1zdCh0KStpO2lmKDMwPGwpe3ZhciBvPWktaSU1O2w9KGEmKDE8PG8pLTEpLnRvU3RyaW5nKDMyKSxhPj49byxpLT1vLEJ0PTE8PDMyLXN0KHQpK2l8bjw8aXxhLEx0PWwrZX1lbHNlIEJ0PTE8PGx8bjw8aXxhLEx0PWV9ZnVuY3Rpb24gWmMoZSl7ZS5yZXR1cm4hPT1udWxsJiYoTm4oZSwxKSx0dShlLDEsMCkpfWZ1bmN0aW9uIFZjKGUpe2Zvcig7ZT09PXRsOyl0bD1sYVstLWNhXSxsYVtjYV09bnVsbCxubD1sYVstLWNhXSxsYVtjYV09bnVsbDtmb3IoO2U9PT16bjspem49a3RbLS1TdF0sa3RbU3RdPW51bGwsTHQ9a3RbLS1TdF0sa3RbU3RdPW51bGwsQnQ9a3RbLS1TdF0sa3RbU3RdPW51bGx9dmFyIEZlPW51bGwsQWU9bnVsbCxpZT0hMSxPbj1udWxsLE50PSExLEtjPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gRG4oZSl7dmFyIHQ9RXJyb3IodSg0MTgsIiIpKTt0aHJvdyBWYSh5dCh0LGUpKSxLY31mdW5jdGlvbiBudShlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUudHlwZSxhPWUubWVtb2l6ZWRQcm9wcztzd2l0Y2godFtKZV09ZSx0W0llXT1hLG4pe2Nhc2UiZGlhbG9nIjp0ZSgiY2FuY2VsIix0KSx0ZSgiY2xvc2UiLHQpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6dGUoImxvYWQiLHQpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihuPTA7bjxtaS5sZW5ndGg7bisrKXRlKG1pW25dLHQpO2JyZWFrO2Nhc2Uic291cmNlIjp0ZSgiZXJyb3IiLHQpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOnRlKCJlcnJvciIsdCksdGUoImxvYWQiLHQpO2JyZWFrO2Nhc2UiZGV0YWlscyI6dGUoInRvZ2dsZSIsdCk7YnJlYWs7Y2FzZSJpbnB1dCI6dGUoImludmFsaWQiLHQpLGdzKHQsYS52YWx1ZSxhLmRlZmF1bHRWYWx1ZSxhLmNoZWNrZWQsYS5kZWZhdWx0Q2hlY2tlZCxhLnR5cGUsYS5uYW1lLCEwKSxHaSh0KTticmVhaztjYXNlInNlbGVjdCI6dGUoImludmFsaWQiLHQpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnRlKCJpbnZhbGlkIix0KSx5cyh0LGEudmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5jaGlsZHJlbiksR2kodCl9bj1hLmNoaWxkcmVuLHR5cGVvZiBuIT0ic3RyaW5nIiYmdHlwZW9mIG4hPSJudW1iZXIiJiZ0eXBlb2YgbiE9ImJpZ2ludCJ8fHQudGV4dENvbnRlbnQ9PT0iIitufHxhLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZz09PSEwfHxiZih0LnRleHRDb250ZW50LG4pPyhhLnBvcG92ZXIhPW51bGwmJih0ZSgiYmVmb3JldG9nZ2xlIix0KSx0ZSgidG9nZ2xlIix0KSksYS5vblNjcm9sbCE9bnVsbCYmdGUoInNjcm9sbCIsdCksYS5vblNjcm9sbEVuZCE9bnVsbCYmdGUoInNjcm9sbGVuZCIsdCksYS5vbkNsaWNrIT1udWxsJiYodC5vbmNsaWNrPVVsKSx0PSEwKTp0PSExLHR8fERuKGUpfWZ1bmN0aW9uIGF1KGUpe2ZvcihGZT1lLnJldHVybjtGZTspc3dpdGNoKEZlLnRhZyl7Y2FzZSA1OmNhc2UgMTM6TnQ9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOk50PSEwO3JldHVybjtkZWZhdWx0OkZlPUZlLnJldHVybn19ZnVuY3Rpb24gWGEoZSl7aWYoZSE9PUZlKXJldHVybiExO2lmKCFpZSlyZXR1cm4gYXUoZSksaWU9ITAsITE7dmFyIHQ9ZS50YWcsbjtpZigobj10IT09MyYmdCE9PTI3KSYmKChuPXQ9PT01KSYmKG49ZS50eXBlLG49IShuIT09ImZvcm0iJiZuIT09ImJ1dHRvbiIpfHx1cihlLnR5cGUsZS5tZW1vaXplZFByb3BzKSksbj0hbiksbiYmQWUmJkRuKGUpLGF1KGUpLHQ9PT0xMyl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZT1lIT09bnVsbD9lLmRlaHlkcmF0ZWQ6bnVsbCwhZSl0aHJvdyBFcnJvcih1KDMxNykpO2U6e2ZvcihlPWUubmV4dFNpYmxpbmcsdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OClpZihuPWUuZGF0YSxuPT09Ii8kIil7aWYodD09PTApe0FlPVJ0KGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9dC0tfWVsc2UgbiE9PSIkIiYmbiE9PSIkISImJm4hPT0iJD8ifHx0Kys7ZT1lLm5leHRTaWJsaW5nfUFlPW51bGx9fWVsc2UgdD09PTI3Pyh0PUFlLGduKGUudHlwZSk/KGU9X3IsX3I9bnVsbCxBZT1lKTpBZT10KTpBZT1GZT9SdChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBaYSgpe0FlPUZlPW51bGwsaWU9ITF9ZnVuY3Rpb24gaXUoKXt2YXIgZT1PbjtyZXR1cm4gZSE9PW51bGwmJihhdD09PW51bGw/YXQ9ZTphdC5wdXNoLmFwcGx5KGF0LGUpLE9uPW51bGwpLGV9ZnVuY3Rpb24gVmEoZSl7T249PT1udWxsP09uPVtlXTpPbi5wdXNoKGUpfXZhciBKYz1UKG51bGwpLE1uPW51bGwsWXQ9bnVsbDtmdW5jdGlvbiB0bihlLHQsbil7QyhKYyx0Ll9jdXJyZW50VmFsdWUpLHQuX2N1cnJlbnRWYWx1ZT1ufWZ1bmN0aW9uIEd0KGUpe2UuX2N1cnJlbnRWYWx1ZT1KYy5jdXJyZW50LE0oSmMpfWZ1bmN0aW9uICRjKGUsdCxuKXtmb3IoO2UhPT1udWxsOyl7dmFyIGE9ZS5hbHRlcm5hdGU7aWYoKGUuY2hpbGRMYW5lcyZ0KSE9PXQ/KGUuY2hpbGRMYW5lc3w9dCxhIT09bnVsbCYmKGEuY2hpbGRMYW5lc3w9dCkpOmEhPT1udWxsJiYoYS5jaGlsZExhbmVzJnQpIT09dCYmKGEuY2hpbGRMYW5lc3w9dCksZT09PW4pYnJlYWs7ZT1lLnJldHVybn19ZnVuY3Rpb24gV2MoZSx0LG4sYSl7dmFyIGk9ZS5jaGlsZDtmb3IoaSE9PW51bGwmJihpLnJldHVybj1lKTtpIT09bnVsbDspe3ZhciBsPWkuZGVwZW5kZW5jaWVzO2lmKGwhPT1udWxsKXt2YXIgbz1pLmNoaWxkO2w9bC5maXJzdENvbnRleHQ7ZTpmb3IoO2whPT1udWxsOyl7dmFyIHM9bDtsPWk7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaWYocy5jb250ZXh0PT09dFtmXSl7bC5sYW5lc3w9bixzPWwuYWx0ZXJuYXRlLHMhPT1udWxsJiYocy5sYW5lc3w9biksJGMobC5yZXR1cm4sbixlKSxhfHwobz1udWxsKTticmVhayBlfWw9cy5uZXh0fX1lbHNlIGlmKGkudGFnPT09MTgpe2lmKG89aS5yZXR1cm4sbz09PW51bGwpdGhyb3cgRXJyb3IodSgzNDEpKTtvLmxhbmVzfD1uLGw9by5hbHRlcm5hdGUsbCE9PW51bGwmJihsLmxhbmVzfD1uKSwkYyhvLG4sZSksbz1udWxsfWVsc2Ugbz1pLmNoaWxkO2lmKG8hPT1udWxsKW8ucmV0dXJuPWk7ZWxzZSBmb3Iobz1pO28hPT1udWxsOyl7aWYobz09PWUpe289bnVsbDticmVha31pZihpPW8uc2libGluZyxpIT09bnVsbCl7aS5yZXR1cm49by5yZXR1cm4sbz1pO2JyZWFrfW89by5yZXR1cm59aT1vfX1mdW5jdGlvbiBLYShlLHQsbixhKXtlPW51bGw7Zm9yKHZhciBpPXQsbD0hMTtpIT09bnVsbDspe2lmKCFsKXtpZigoaS5mbGFncyY1MjQyODgpIT09MClsPSEwO2Vsc2UgaWYoKGkuZmxhZ3MmMjYyMTQ0KSE9PTApYnJlYWt9aWYoaS50YWc9PT0xMCl7dmFyIG89aS5hbHRlcm5hdGU7aWYobz09PW51bGwpdGhyb3cgRXJyb3IodSgzODcpKTtpZihvPW8ubWVtb2l6ZWRQcm9wcyxvIT09bnVsbCl7dmFyIHM9aS50eXBlO3V0KGkucGVuZGluZ1Byb3BzLnZhbHVlLG8udmFsdWUpfHwoZSE9PW51bGw/ZS5wdXNoKHMpOmU9W3NdKX19ZWxzZSBpZihpPT09b3QuY3VycmVudCl7aWYobz1pLmFsdGVybmF0ZSxvPT09bnVsbCl0aHJvdyBFcnJvcih1KDM4NykpO28ubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlIT09aS5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUmJihlIT09bnVsbD9lLnB1c2goU2kpOmU9W1NpXSl9aT1pLnJldHVybn1lIT09bnVsbCYmV2ModCxlLG4sYSksdC5mbGFnc3w9MjYyMTQ0fWZ1bmN0aW9uIGFsKGUpe2ZvcihlPWUuZmlyc3RDb250ZXh0O2UhPT1udWxsOyl7aWYoIXV0KGUuY29udGV4dC5fY3VycmVudFZhbHVlLGUubWVtb2l6ZWRWYWx1ZSkpcmV0dXJuITA7ZT1lLm5leHR9cmV0dXJuITF9ZnVuY3Rpb24gQ24oZSl7TW49ZSxZdD1udWxsLGU9ZS5kZXBlbmRlbmNpZXMsZSE9PW51bGwmJihlLmZpcnN0Q29udGV4dD1udWxsKX1mdW5jdGlvbiAkZShlKXtyZXR1cm4gbHUoTW4sZSl9ZnVuY3Rpb24gaWwoZSx0KXtyZXR1cm4gTW49PT1udWxsJiZDbihlKSxsdShlLHQpfWZ1bmN0aW9uIGx1KGUsdCl7dmFyIG49dC5fY3VycmVudFZhbHVlO2lmKHQ9e2NvbnRleHQ6dCxtZW1vaXplZFZhbHVlOm4sbmV4dDpudWxsfSxZdD09PW51bGwpe2lmKGU9PT1udWxsKXRocm93IEVycm9yKHUoMzA4KSk7WXQ9dCxlLmRlcGVuZGVuY2llcz17bGFuZXM6MCxmaXJzdENvbnRleHQ6dH0sZS5mbGFnc3w9NTI0Mjg4fWVsc2UgWXQ9WXQubmV4dD10O3JldHVybiBufXZhciBRXz10eXBlb2YgQWJvcnRDb250cm9sbGVyPCJ1Ij9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PXRoaXMuc2lnbmFsPXthYm9ydGVkOiExLGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24obixhKXtlLnB1c2goYSl9fTt0aGlzLmFib3J0PWZ1bmN0aW9uKCl7dC5hYm9ydGVkPSEwLGUuZm9yRWFjaChmdW5jdGlvbihuKXtyZXR1cm4gbigpfSl9fSxYXz1jLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssWl89Yy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxDZT17JCR0eXBlb2Y6b2UsQ29uc3VtZXI6bnVsbCxQcm92aWRlcjpudWxsLF9jdXJyZW50VmFsdWU6bnVsbCxfY3VycmVudFZhbHVlMjpudWxsLF90aHJlYWRDb3VudDowfTtmdW5jdGlvbiBGYygpe3JldHVybntjb250cm9sbGVyOm5ldyBRXyxkYXRhOm5ldyBNYXAscmVmQ291bnQ6MH19ZnVuY3Rpb24gSmEoZSl7ZS5yZWZDb3VudC0tLGUucmVmQ291bnQ9PT0wJiZYXyhaXyxmdW5jdGlvbigpe2UuY29udHJvbGxlci5hYm9ydCgpfSl9dmFyICRhPW51bGwsUGM9MCxvYT0wLHJhPW51bGw7ZnVuY3Rpb24gVl8oZSx0KXtpZigkYT09PW51bGwpe3ZhciBuPSRhPVtdO1BjPTAsb2E9dHIoKSxyYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTp2b2lkIDAsdGhlbjpmdW5jdGlvbihhKXtuLnB1c2goYSl9fX1yZXR1cm4gUGMrKyx0LnRoZW4oY3UsY3UpLHR9ZnVuY3Rpb24gY3UoKXtpZigtLVBjPT09MCYmJGEhPT1udWxsKXtyYSE9PW51bGwmJihyYS5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPSRhOyRhPW51bGwsb2E9MCxyYT1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fWZ1bmN0aW9uIEtfKGUsdCl7dmFyIG49W10sYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oaSl7bi5wdXNoKGkpfX07cmV0dXJuIGUudGhlbihmdW5jdGlvbigpe2Euc3RhdHVzPSJmdWxmaWxsZWQiLGEudmFsdWU9dDtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKykoMCxuW2ldKSh0KX0sZnVuY3Rpb24oaSl7Zm9yKGEuc3RhdHVzPSJyZWplY3RlZCIsYS5yZWFzb249aSxpPTA7aTxuLmxlbmd0aDtpKyspKDAsbltpXSkodm9pZCAwKX0pLGF9dmFyIG91PUEuUztBLlM9ZnVuY3Rpb24oZSx0KXt0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZ0eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iJiZWXyhlLHQpLG91IT09bnVsbCYmb3UoZSx0KX07dmFyIHFuPVQobnVsbCk7ZnVuY3Rpb24gSWMoKXt2YXIgZT1xbi5jdXJyZW50O3JldHVybiBlIT09bnVsbD9lOmdlLnBvb2xlZENhY2hlfWZ1bmN0aW9uIGxsKGUsdCl7dD09PW51bGw/Qyhxbixxbi5jdXJyZW50KTpDKHFuLHQucG9vbCl9ZnVuY3Rpb24gcnUoKXt2YXIgZT1JYygpO3JldHVybiBlPT09bnVsbD9udWxsOntwYXJlbnQ6Q2UuX2N1cnJlbnRWYWx1ZSxwb29sOmV9fXZhciBXYT1FcnJvcih1KDQ2MCkpLHN1PUVycm9yKHUoNDc0KSksY2w9RXJyb3IodSg1NDIpKSxlbz17dGhlbjpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHV1KGUpe3JldHVybiBlPWUuc3RhdHVzLGU9PT0iZnVsZmlsbGVkInx8ZT09PSJyZWplY3RlZCJ9ZnVuY3Rpb24gb2woKXt9ZnVuY3Rpb24gZHUoZSx0LG4pe3N3aXRjaChuPWVbbl0sbj09PXZvaWQgMD9lLnB1c2godCk6biE9PXQmJih0LnRoZW4ob2wsb2wpLHQ9biksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlPXQucmVhc29uLHB1KGUpLGU7ZGVmYXVsdDppZih0eXBlb2YgdC5zdGF0dXM9PSJzdHJpbmciKXQudGhlbihvbCxvbCk7ZWxzZXtpZihlPWdlLGUhPT1udWxsJiYxMDA8ZS5zaGVsbFN1c3BlbmRDb3VudGVyKXRocm93IEVycm9yKHUoNDgyKSk7ZT10LGUuc3RhdHVzPSJwZW5kaW5nIixlLnRoZW4oZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBpPXQ7aS5zdGF0dXM9ImZ1bGZpbGxlZCIsaS52YWx1ZT1hfX0sZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBpPXQ7aS5zdGF0dXM9InJlamVjdGVkIixpLnJlYXNvbj1hfX0pfXN3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiB0LnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGU9dC5yZWFzb24scHUoZSksZX10aHJvdyBGYT10LFdhfX12YXIgRmE9bnVsbDtmdW5jdGlvbiBmdSgpe2lmKEZhPT09bnVsbCl0aHJvdyBFcnJvcih1KDQ1OSkpO3ZhciBlPUZhO3JldHVybiBGYT1udWxsLGV9ZnVuY3Rpb24gcHUoZSl7aWYoZT09PVdhfHxlPT09Y2wpdGhyb3cgRXJyb3IodSg0ODMpKX12YXIgbm49ITE7ZnVuY3Rpb24gdG8oZSl7ZS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGxhbmVzOjAsaGlkZGVuQ2FsbGJhY2tzOm51bGx9LGNhbGxiYWNrczpudWxsfX1mdW5jdGlvbiBubyhlLHQpe2U9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPT09ZSYmKHQudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6ZS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6ZS5zaGFyZWQsY2FsbGJhY2tzOm51bGx9KX1mdW5jdGlvbiBhbihlKXtyZXR1cm57bGFuZTplLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gbG4oZSx0LG4pe3ZhciBhPWUudXBkYXRlUXVldWU7aWYoYT09PW51bGwpcmV0dXJuIG51bGw7aWYoYT1hLnNoYXJlZCwoc2UmMikhPT0wKXt2YXIgaT1hLnBlbmRpbmc7cmV0dXJuIGk9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9aS5uZXh0LGkubmV4dD10KSxhLnBlbmRpbmc9dCx0PUlpKGUpLElzKGUsbnVsbCxuKSx0fXJldHVybiBQaShlLGEsdCxuKSxJaShlKX1mdW5jdGlvbiBQYShlLHQsbil7aWYodD10LnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodD10LnNoYXJlZCwobiY0MTk0MDQ4KSE9PTApKXt2YXIgYT10LmxhbmVzO2EmPWUucGVuZGluZ0xhbmVzLG58PWEsdC5sYW5lcz1uLGNzKGUsbil9fWZ1bmN0aW9uIGFvKGUsdCl7dmFyIG49ZS51cGRhdGVRdWV1ZSxhPWUuYWx0ZXJuYXRlO2lmKGEhPT1udWxsJiYoYT1hLnVwZGF0ZVF1ZXVlLG49PT1hKSl7dmFyIGk9bnVsbCxsPW51bGw7aWYobj1uLmZpcnN0QmFzZVVwZGF0ZSxuIT09bnVsbCl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bD09PW51bGw/aT1sPW86bD1sLm5leHQ9byxuPW4ubmV4dH13aGlsZShuIT09bnVsbCk7bD09PW51bGw/aT1sPXQ6bD1sLm5leHQ9dH1lbHNlIGk9bD10O249e2Jhc2VTdGF0ZTphLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6aSxsYXN0QmFzZVVwZGF0ZTpsLHNoYXJlZDphLnNoYXJlZCxjYWxsYmFja3M6YS5jYWxsYmFja3N9LGUudXBkYXRlUXVldWU9bjtyZXR1cm59ZT1uLmxhc3RCYXNlVXBkYXRlLGU9PT1udWxsP24uZmlyc3RCYXNlVXBkYXRlPXQ6ZS5uZXh0PXQsbi5sYXN0QmFzZVVwZGF0ZT10fXZhciBpbz0hMTtmdW5jdGlvbiBJYSgpe2lmKGlvKXt2YXIgZT1yYTtpZihlIT09bnVsbCl0aHJvdyBlfX1mdW5jdGlvbiBlaShlLHQsbixhKXtpbz0hMTt2YXIgaT1lLnVwZGF0ZVF1ZXVlO25uPSExO3ZhciBsPWkuZmlyc3RCYXNlVXBkYXRlLG89aS5sYXN0QmFzZVVwZGF0ZSxzPWkuc2hhcmVkLnBlbmRpbmc7aWYocyE9PW51bGwpe2kuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgZj1zLGs9Zi5uZXh0O2YubmV4dD1udWxsLG89PT1udWxsP2w9azpvLm5leHQ9ayxvPWY7dmFyIEU9ZS5hbHRlcm5hdGU7RSE9PW51bGwmJihFPUUudXBkYXRlUXVldWUscz1FLmxhc3RCYXNlVXBkYXRlLHMhPT1vJiYocz09PW51bGw/RS5maXJzdEJhc2VVcGRhdGU9azpzLm5leHQ9ayxFLmxhc3RCYXNlVXBkYXRlPWYpKX1pZihsIT09bnVsbCl7dmFyIHo9aS5iYXNlU3RhdGU7bz0wLEU9az1mPW51bGwscz1sO2Rve3ZhciBTPXMubGFuZSYtNTM2ODcwOTEzLHc9UyE9PXMubGFuZTtpZih3PyhuZSZTKT09PVM6KGEmUyk9PT1TKXtTIT09MCYmUz09PW9hJiYoaW89ITApLEUhPT1udWxsJiYoRT1FLm5leHQ9e2xhbmU6MCx0YWc6cy50YWcscGF5bG9hZDpzLnBheWxvYWQsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9KTtlOnt2YXIgVj1lLFE9cztTPXQ7dmFyIHBlPW47c3dpdGNoKFEudGFnKXtjYXNlIDE6aWYoVj1RLnBheWxvYWQsdHlwZW9mIFY9PSJmdW5jdGlvbiIpe3o9Vi5jYWxsKHBlLHosUyk7YnJlYWsgZX16PVY7YnJlYWsgZTtjYXNlIDM6Vi5mbGFncz1WLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOmlmKFY9US5wYXlsb2FkLFM9dHlwZW9mIFY9PSJmdW5jdGlvbiI/Vi5jYWxsKHBlLHosUyk6VixTPT1udWxsKWJyZWFrIGU7ej1PKHt9LHosUyk7YnJlYWsgZTtjYXNlIDI6bm49ITB9fVM9cy5jYWxsYmFjayxTIT09bnVsbCYmKGUuZmxhZ3N8PTY0LHcmJihlLmZsYWdzfD04MTkyKSx3PWkuY2FsbGJhY2tzLHc9PT1udWxsP2kuY2FsbGJhY2tzPVtTXTp3LnB1c2goUykpfWVsc2Ugdz17bGFuZTpTLHRhZzpzLnRhZyxwYXlsb2FkOnMucGF5bG9hZCxjYWxsYmFjazpzLmNhbGxiYWNrLG5leHQ6bnVsbH0sRT09PW51bGw/KGs9RT13LGY9eik6RT1FLm5leHQ9dyxvfD1TO2lmKHM9cy5uZXh0LHM9PT1udWxsKXtpZihzPWkuc2hhcmVkLnBlbmRpbmcscz09PW51bGwpYnJlYWs7dz1zLHM9dy5uZXh0LHcubmV4dD1udWxsLGkubGFzdEJhc2VVcGRhdGU9dyxpLnNoYXJlZC5wZW5kaW5nPW51bGx9fXdoaWxlKCEwKTtFPT09bnVsbCYmKGY9eiksaS5iYXNlU3RhdGU9ZixpLmZpcnN0QmFzZVVwZGF0ZT1rLGkubGFzdEJhc2VVcGRhdGU9RSxsPT09bnVsbCYmKGkuc2hhcmVkLmxhbmVzPTApLHBufD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9en19ZnVuY3Rpb24gX3UoZSx0KXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGh1KGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobiE9PW51bGwpZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKV91KG5bZV0sdCl9dmFyIHNhPVQobnVsbCkscmw9VCgwKTtmdW5jdGlvbiBtdShlLHQpe2U9JHQsQyhybCxlKSxDKHNhLHQpLCR0PWV8dC5iYXNlTGFuZXN9ZnVuY3Rpb24gbG8oKXtDKHJsLCR0KSxDKHNhLHNhLmN1cnJlbnQpfWZ1bmN0aW9uIGNvKCl7JHQ9cmwuY3VycmVudCxNKHNhKSxNKHJsKX12YXIgY249MCxQPW51bGwsZGU9bnVsbCxEZT1udWxsLHNsPSExLHVhPSExLFVuPSExLHVsPTAsdGk9MCxkYT1udWxsLEpfPTA7ZnVuY3Rpb24gemUoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIG9vKGUsdCl7aWYodD09PW51bGwpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIXV0KGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gcm8oZSx0LG4sYSxpLGwpe3JldHVybiBjbj1sLFA9dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLEEuSD1lPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbD9JdTplZCxVbj0hMSxsPW4oYSxpKSxVbj0hMSx1YSYmKGw9dnUodCxuLGEsaSkpLGd1KGUpLGx9ZnVuY3Rpb24gZ3UoZSl7QS5IPW1sO3ZhciB0PWRlIT09bnVsbCYmZGUubmV4dCE9PW51bGw7aWYoY249MCxEZT1kZT1QPW51bGwsc2w9ITEsdGk9MCxkYT1udWxsLHQpdGhyb3cgRXJyb3IodSgzMDApKTtlPT09bnVsbHx8WWV8fChlPWUuZGVwZW5kZW5jaWVzLGUhPT1udWxsJiZhbChlKSYmKFllPSEwKSl9ZnVuY3Rpb24gdnUoZSx0LG4sYSl7UD1lO3ZhciBpPTA7ZG97aWYodWEmJihkYT1udWxsKSx0aT0wLHVhPSExLDI1PD1pKXRocm93IEVycm9yKHUoMzAxKSk7aWYoaSs9MSxEZT1kZT1udWxsLGUudXBkYXRlUXVldWUhPW51bGwpe3ZhciBsPWUudXBkYXRlUXVldWU7bC5sYXN0RWZmZWN0PW51bGwsbC5ldmVudHM9bnVsbCxsLnN0b3Jlcz1udWxsLGwubWVtb0NhY2hlIT1udWxsJiYobC5tZW1vQ2FjaGUuaW5kZXg9MCl9QS5IPXRoLGw9dChuLGEpfXdoaWxlKHVhKTtyZXR1cm4gbH1mdW5jdGlvbiAkXygpe3ZhciBlPUEuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD10eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iP25pKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKGRlIT09bnVsbD9kZS5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKFAuZmxhZ3N8PTEwMjQpLHR9ZnVuY3Rpb24gc28oKXt2YXIgZT11bCE9PTA7cmV0dXJuIHVsPTAsZX1mdW5jdGlvbiB1byhlLHQsbil7dC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5ufWZ1bmN0aW9uIGZvKGUpe2lmKHNsKXtmb3IoZT1lLm1lbW9pemVkU3RhdGU7ZSE9PW51bGw7KXt2YXIgdD1lLnF1ZXVlO3QhPT1udWxsJiYodC5wZW5kaW5nPW51bGwpLGU9ZS5uZXh0fXNsPSExfWNuPTAsRGU9ZGU9UD1udWxsLHVhPSExLHRpPXVsPTAsZGE9bnVsbH1mdW5jdGlvbiB0dCgpe3ZhciBlPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBEZT09PW51bGw/UC5tZW1vaXplZFN0YXRlPURlPWU6RGU9RGUubmV4dD1lLERlfWZ1bmN0aW9uIE1lKCl7aWYoZGU9PT1udWxsKXt2YXIgZT1QLmFsdGVybmF0ZTtlPWUhPT1udWxsP2UubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgZT1kZS5uZXh0O3ZhciB0PURlPT09bnVsbD9QLm1lbW9pemVkU3RhdGU6RGUubmV4dDtpZih0IT09bnVsbClEZT10LGRlPWU7ZWxzZXtpZihlPT09bnVsbCl0aHJvdyBQLmFsdGVybmF0ZT09PW51bGw/RXJyb3IodSg0NjcpKTpFcnJvcih1KDMxMCkpO2RlPWUsZT17bWVtb2l6ZWRTdGF0ZTpkZS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpkZS5iYXNlU3RhdGUsYmFzZVF1ZXVlOmRlLmJhc2VRdWV1ZSxxdWV1ZTpkZS5xdWV1ZSxuZXh0Om51bGx9LERlPT09bnVsbD9QLm1lbW9pemVkU3RhdGU9RGU9ZTpEZT1EZS5uZXh0PWV9cmV0dXJuIERlfWZ1bmN0aW9uIHBvKCl7cmV0dXJue2xhc3RFZmZlY3Q6bnVsbCxldmVudHM6bnVsbCxzdG9yZXM6bnVsbCxtZW1vQ2FjaGU6bnVsbH19ZnVuY3Rpb24gbmkoZSl7dmFyIHQ9dGk7cmV0dXJuIHRpKz0xLGRhPT09bnVsbCYmKGRhPVtdKSxlPWR1KGRhLGUsdCksdD1QLChEZT09PW51bGw/dC5tZW1vaXplZFN0YXRlOkRlLm5leHQpPT09bnVsbCYmKHQ9dC5hbHRlcm5hdGUsQS5IPXQ9PT1udWxsfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsP0l1OmVkKSxlfWZ1bmN0aW9uIGRsKGUpe2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKHR5cGVvZiBlLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIG5pKGUpO2lmKGUuJCR0eXBlb2Y9PT1vZSlyZXR1cm4gJGUoZSl9dGhyb3cgRXJyb3IodSg0MzgsU3RyaW5nKGUpKSl9ZnVuY3Rpb24gX28oZSl7dmFyIHQ9bnVsbCxuPVAudXBkYXRlUXVldWU7aWYobiE9PW51bGwmJih0PW4ubWVtb0NhY2hlKSx0PT1udWxsKXt2YXIgYT1QLmFsdGVybmF0ZTthIT09bnVsbCYmKGE9YS51cGRhdGVRdWV1ZSxhIT09bnVsbCYmKGE9YS5tZW1vQ2FjaGUsYSE9bnVsbCYmKHQ9e2RhdGE6YS5kYXRhLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5zbGljZSgpfSksaW5kZXg6MH0pKSl9aWYodD09bnVsbCYmKHQ9e2RhdGE6W10saW5kZXg6MH0pLG49PT1udWxsJiYobj1wbygpLFAudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCxuPXQuZGF0YVt0LmluZGV4XSxuPT09dm9pZCAwKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxhPTA7YTxlO2ErKyluW2FdPWxlO3JldHVybiB0LmluZGV4Kyssbn1mdW5jdGlvbiBRdChlLHQpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOnR9ZnVuY3Rpb24gZmwoZSl7dmFyIHQ9TWUoKTtyZXR1cm4gaG8odCxkZSxlKX1mdW5jdGlvbiBobyhlLHQsbil7dmFyIGE9ZS5xdWV1ZTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcih1KDMxMSkpO2EubGFzdFJlbmRlcmVkUmVkdWNlcj1uO3ZhciBpPWUuYmFzZVF1ZXVlLGw9YS5wZW5kaW5nO2lmKGwhPT1udWxsKXtpZihpIT09bnVsbCl7dmFyIG89aS5uZXh0O2kubmV4dD1sLm5leHQsbC5uZXh0PW99dC5iYXNlUXVldWU9aT1sLGEucGVuZGluZz1udWxsfWlmKGw9ZS5iYXNlU3RhdGUsaT09PW51bGwpZS5tZW1vaXplZFN0YXRlPWw7ZWxzZXt0PWkubmV4dDt2YXIgcz1vPW51bGwsZj1udWxsLGs9dCxFPSExO2Rve3ZhciB6PWsubGFuZSYtNTM2ODcwOTEzO2lmKHohPT1rLmxhbmU/KG5lJnopPT09ejooY24meik9PT16KXt2YXIgUz1rLnJldmVydExhbmU7aWYoUz09PTApZiE9PW51bGwmJihmPWYubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxhY3Rpb246ay5hY3Rpb24saGFzRWFnZXJTdGF0ZTprLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTprLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksej09PW9hJiYoRT0hMCk7ZWxzZSBpZigoY24mUyk9PT1TKXtrPWsubmV4dCxTPT09b2EmJihFPSEwKTtjb250aW51ZX1lbHNlIHo9e2xhbmU6MCxyZXZlcnRMYW5lOmsucmV2ZXJ0TGFuZSxhY3Rpb246ay5hY3Rpb24saGFzRWFnZXJTdGF0ZTprLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTprLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxmPT09bnVsbD8ocz1mPXosbz1sKTpmPWYubmV4dD16LFAubGFuZXN8PVMscG58PVM7ej1rLmFjdGlvbixVbiYmbihsLHopLGw9ay5oYXNFYWdlclN0YXRlP2suZWFnZXJTdGF0ZTpuKGwseil9ZWxzZSBTPXtsYW5lOnoscmV2ZXJ0TGFuZTprLnJldmVydExhbmUsYWN0aW9uOmsuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6ay5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6ay5lYWdlclN0YXRlLG5leHQ6bnVsbH0sZj09PW51bGw/KHM9Zj1TLG89bCk6Zj1mLm5leHQ9UyxQLmxhbmVzfD16LHBufD16O2s9ay5uZXh0fXdoaWxlKGshPT1udWxsJiZrIT09dCk7aWYoZj09PW51bGw/bz1sOmYubmV4dD1zLCF1dChsLGUubWVtb2l6ZWRTdGF0ZSkmJihZZT0hMCxFJiYobj1yYSxuIT09bnVsbCkpKXRocm93IG47ZS5tZW1vaXplZFN0YXRlPWwsZS5iYXNlU3RhdGU9byxlLmJhc2VRdWV1ZT1mLGEubGFzdFJlbmRlcmVkU3RhdGU9bH1yZXR1cm4gaT09PW51bGwmJihhLmxhbmVzPTApLFtlLm1lbW9pemVkU3RhdGUsYS5kaXNwYXRjaF19ZnVuY3Rpb24gbW8oZSl7dmFyIHQ9TWUoKSxuPXQucXVldWU7aWYobj09PW51bGwpdGhyb3cgRXJyb3IodSgzMTEpKTtuLmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgYT1uLmRpc3BhdGNoLGk9bi5wZW5kaW5nLGw9dC5tZW1vaXplZFN0YXRlO2lmKGkhPT1udWxsKXtuLnBlbmRpbmc9bnVsbDt2YXIgbz1pPWkubmV4dDtkbyBsPWUobCxvLmFjdGlvbiksbz1vLm5leHQ7d2hpbGUobyE9PWkpO3V0KGwsdC5tZW1vaXplZFN0YXRlKXx8KFllPSEwKSx0Lm1lbW9pemVkU3RhdGU9bCx0LmJhc2VRdWV1ZT09PW51bGwmJih0LmJhc2VTdGF0ZT1sKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWx9cmV0dXJuW2wsYV19ZnVuY3Rpb24geXUoZSx0LG4pe3ZhciBhPVAsaT1NZSgpLGw9aWU7aWYobCl7aWYobj09PXZvaWQgMCl0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2Ugbj10KCk7dmFyIG89IXV0KChkZXx8aSkubWVtb2l6ZWRTdGF0ZSxuKTtvJiYoaS5tZW1vaXplZFN0YXRlPW4sWWU9ITApLGk9aS5xdWV1ZTt2YXIgcz1TdS5iaW5kKG51bGwsYSxpLGUpO2lmKGFpKDIwNDgsOCxzLFtlXSksaS5nZXRTbmFwc2hvdCE9PXR8fG98fERlIT09bnVsbCYmRGUubWVtb2l6ZWRTdGF0ZS50YWcmMSl7aWYoYS5mbGFnc3w9MjA0OCxmYSg5LHBsKCksa3UuYmluZChudWxsLGEsaSxuLHQpLG51bGwpLGdlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0OSkpO2x8fChjbiYxMjQpIT09MHx8YnUoYSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIGJ1KGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LHQ9UC51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD1wbygpLFAudXBkYXRlUXVldWU9dCx0LnN0b3Jlcz1bZV0pOihuPXQuc3RvcmVzLG49PT1udWxsP3Quc3RvcmVzPVtlXTpuLnB1c2goZSkpfWZ1bmN0aW9uIGt1KGUsdCxuLGEpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PWEsd3UodCkmJnh1KGUpfWZ1bmN0aW9uIFN1KGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe3d1KHQpJiZ4dShlKX0pfWZ1bmN0aW9uIHd1KGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIXV0KGUsbil9Y2F0Y2h7cmV0dXJuITB9fWZ1bmN0aW9uIHh1KGUpe3ZhciB0PWFhKGUsMik7dCE9PW51bGwmJm10KHQsZSwyKX1mdW5jdGlvbiBnbyhlKXt2YXIgdD10dCgpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXt2YXIgbj1lO2lmKGU9bigpLFVuKXtQdCghMCk7dHJ5e24oKX1maW5hbGx5e1B0KCExKX19fXJldHVybiB0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZSx0LnF1ZXVlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6UXQsbGFzdFJlbmRlcmVkU3RhdGU6ZX0sdH1mdW5jdGlvbiBUdShlLHQsbixhKXtyZXR1cm4gZS5iYXNlU3RhdGU9bixobyhlLGRlLHR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6UXQpfWZ1bmN0aW9uIFdfKGUsdCxuLGEsaSl7aWYoaGwoZSkpdGhyb3cgRXJyb3IodSg0ODUpKTtpZihlPXQuYWN0aW9uLGUhPT1udWxsKXt2YXIgbD17cGF5bG9hZDppLGFjdGlvbjplLG5leHQ6bnVsbCxpc1RyYW5zaXRpb246ITAsc3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGxpc3RlbmVyczpbXSx0aGVuOmZ1bmN0aW9uKG8pe2wubGlzdGVuZXJzLnB1c2gobyl9fTtBLlQhPT1udWxsP24oITApOmwuaXNUcmFuc2l0aW9uPSExLGEobCksbj10LnBlbmRpbmcsbj09PW51bGw/KGwubmV4dD10LnBlbmRpbmc9bCxBdSh0LGwpKToobC5uZXh0PW4ubmV4dCx0LnBlbmRpbmc9bi5uZXh0PWwpfX1mdW5jdGlvbiBBdShlLHQpe3ZhciBuPXQuYWN0aW9uLGE9dC5wYXlsb2FkLGk9ZS5zdGF0ZTtpZih0LmlzVHJhbnNpdGlvbil7dmFyIGw9QS5ULG89e307QS5UPW87dHJ5e3ZhciBzPW4oaSxhKSxmPUEuUztmIT09bnVsbCYmZihvLHMpLEV1KGUsdCxzKX1jYXRjaChrKXt2byhlLHQsayl9ZmluYWxseXtBLlQ9bH19ZWxzZSB0cnl7bD1uKGksYSksRXUoZSx0LGwpfWNhdGNoKGspe3ZvKGUsdCxrKX19ZnVuY3Rpb24gRXUoZSx0LG4pe24hPT1udWxsJiZ0eXBlb2Ygbj09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PSJmdW5jdGlvbiI/bi50aGVuKGZ1bmN0aW9uKGEpe1J1KGUsdCxhKX0sZnVuY3Rpb24oYSl7cmV0dXJuIHZvKGUsdCxhKX0pOlJ1KGUsdCxuKX1mdW5jdGlvbiBSdShlLHQsbil7dC5zdGF0dXM9ImZ1bGZpbGxlZCIsdC52YWx1ZT1uLHp1KHQpLGUuc3RhdGU9bix0PWUucGVuZGluZyx0IT09bnVsbCYmKG49dC5uZXh0LG49PT10P2UucGVuZGluZz1udWxsOihuPW4ubmV4dCx0Lm5leHQ9bixBdShlLG4pKSl9ZnVuY3Rpb24gdm8oZSx0LG4pe3ZhciBhPWUucGVuZGluZztpZihlLnBlbmRpbmc9bnVsbCxhIT09bnVsbCl7YT1hLm5leHQ7ZG8gdC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLHp1KHQpLHQ9dC5uZXh0O3doaWxlKHQhPT1hKX1lLmFjdGlvbj1udWxsfWZ1bmN0aW9uIHp1KGUpe2U9ZS5saXN0ZW5lcnM7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspKDAsZVt0XSkoKX1mdW5jdGlvbiBOdShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIE91KGUsdCl7aWYoaWUpe3ZhciBuPWdlLmZvcm1TdGF0ZTtpZihuIT09bnVsbCl7ZTp7dmFyIGE9UDtpZihpZSl7aWYoQWUpe3Q6e2Zvcih2YXIgaT1BZSxsPU50O2kubm9kZVR5cGUhPT04Oyl7aWYoIWwpe2k9bnVsbDticmVhayB0fWlmKGk9UnQoaS5uZXh0U2libGluZyksaT09PW51bGwpe2k9bnVsbDticmVhayB0fX1sPWkuZGF0YSxpPWw9PT0iRiEifHxsPT09IkYiP2k6bnVsbH1pZihpKXtBZT1SdChpLm5leHRTaWJsaW5nKSxhPWkuZGF0YT09PSJGISI7YnJlYWsgZX19RG4oYSl9YT0hMX1hJiYodD1uWzBdKX19cmV0dXJuIG49dHQoKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9dCxhPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6TnUsbGFzdFJlbmRlcmVkU3RhdGU6dH0sbi5xdWV1ZT1hLG49V3UuYmluZChudWxsLFAsYSksYS5kaXNwYXRjaD1uLGE9Z28oITEpLGw9d28uYmluZChudWxsLFAsITEsYS5xdWV1ZSksYT10dCgpLGk9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246ZSxwZW5kaW5nOm51bGx9LGEucXVldWU9aSxuPVdfLmJpbmQobnVsbCxQLGksbCxuKSxpLmRpc3BhdGNoPW4sYS5tZW1vaXplZFN0YXRlPWUsW3QsbiwhMV19ZnVuY3Rpb24gRHUoZSl7dmFyIHQ9TWUoKTtyZXR1cm4gTXUodCxkZSxlKX1mdW5jdGlvbiBNdShlLHQsbil7aWYodD1obyhlLHQsTnUpWzBdLGU9ZmwoUXQpWzBdLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpdHJ5e3ZhciBhPW5pKHQpfWNhdGNoKG8pe3Rocm93IG89PT1XYT9jbDpvfWVsc2UgYT10O3Q9TWUoKTt2YXIgaT10LnF1ZXVlLGw9aS5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKFAuZmxhZ3N8PTIwNDgsZmEoOSxwbCgpLEZfLmJpbmQobnVsbCxpLG4pLG51bGwpKSxbYSxsLGVdfWZ1bmN0aW9uIEZfKGUsdCl7ZS5hY3Rpb249dH1mdW5jdGlvbiBDdShlKXt2YXIgdD1NZSgpLG49ZGU7aWYobiE9PW51bGwpcmV0dXJuIE11KHQsbixlKTtNZSgpLHQ9dC5tZW1vaXplZFN0YXRlLG49TWUoKTt2YXIgYT1uLnF1ZXVlLmRpc3BhdGNoO3JldHVybiBuLm1lbW9pemVkU3RhdGU9ZSxbdCxhLCExXX1mdW5jdGlvbiBmYShlLHQsbixhKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOm4sZGVwczphLGluc3Q6dCxuZXh0Om51bGx9LHQ9UC51cGRhdGVRdWV1ZSx0PT09bnVsbCYmKHQ9cG8oKSxQLnVwZGF0ZVF1ZXVlPXQpLG49dC5sYXN0RWZmZWN0LG49PT1udWxsP3QubGFzdEVmZmVjdD1lLm5leHQ9ZTooYT1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PWEsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gcGwoKXtyZXR1cm57ZGVzdHJveTp2b2lkIDAscmVzb3VyY2U6dm9pZCAwfX1mdW5jdGlvbiBxdSgpe3JldHVybiBNZSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gX2woZSx0LG4sYSl7dmFyIGk9dHQoKTthPWE9PT12b2lkIDA/bnVsbDphLFAuZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPWZhKDF8dCxwbCgpLG4sYSl9ZnVuY3Rpb24gYWkoZSx0LG4sYSl7dmFyIGk9TWUoKTthPWE9PT12b2lkIDA/bnVsbDphO3ZhciBsPWkubWVtb2l6ZWRTdGF0ZS5pbnN0O2RlIT09bnVsbCYmYSE9PW51bGwmJm9vKGEsZGUubWVtb2l6ZWRTdGF0ZS5kZXBzKT9pLm1lbW9pemVkU3RhdGU9ZmEodCxsLG4sYSk6KFAuZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPWZhKDF8dCxsLG4sYSkpfWZ1bmN0aW9uIFV1KGUsdCl7X2woODM5MDY1Niw4LGUsdCl9ZnVuY3Rpb24ganUoZSx0KXthaSgyMDQ4LDgsZSx0KX1mdW5jdGlvbiBIdShlLHQpe3JldHVybiBhaSg0LDIsZSx0KX1mdW5jdGlvbiBCdShlLHQpe3JldHVybiBhaSg0LDQsZSx0KX1mdW5jdGlvbiBMdShlLHQpe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtlPWUoKTt2YXIgbj10KGUpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiBuPT0iZnVuY3Rpb24iP24oKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBlPWUoKSx0LmN1cnJlbnQ9ZSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBZdShlLHQsbil7bj1uIT1udWxsP24uY29uY2F0KFtlXSk6bnVsbCxhaSg0LDQsTHUuYmluZChudWxsLHQsZSksbil9ZnVuY3Rpb24geW8oKXt9ZnVuY3Rpb24gR3UoZSx0KXt2YXIgbj1NZSgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9bi5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmb28odCxhWzFdKT9hWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gUXUoZSx0KXt2YXIgbj1NZSgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9bi5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZvbyh0LGFbMV0pKXJldHVybiBhWzBdO2lmKGE9ZSgpLFVuKXtQdCghMCk7dHJ5e2UoKX1maW5hbGx5e1B0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bYSx0XSxhfWZ1bmN0aW9uIGJvKGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMHx8KGNuJjEwNzM3NDE4MjQpIT09MD9lLm1lbW9pemVkU3RhdGU9dDooZS5tZW1vaXplZFN0YXRlPW4sZT1WZCgpLFAubGFuZXN8PWUscG58PWUsbil9ZnVuY3Rpb24gWHUoZSx0LG4sYSl7cmV0dXJuIHV0KG4sdCk/bjpzYS5jdXJyZW50IT09bnVsbD8oZT1ibyhlLG4sYSksdXQoZSx0KXx8KFllPSEwKSxlKTooY24mNDIpPT09MD8oWWU9ITAsZS5tZW1vaXplZFN0YXRlPW4pOihlPVZkKCksUC5sYW5lc3w9ZSxwbnw9ZSx0KX1mdW5jdGlvbiBadShlLHQsbixhLGkpe3ZhciBsPXEucDtxLnA9bCE9PTAmJjg+bD9sOjg7dmFyIG89QS5ULHM9e307QS5UPXMsd28oZSwhMSx0LG4pO3RyeXt2YXIgZj1pKCksaz1BLlM7aWYoayE9PW51bGwmJmsocyxmKSxmIT09bnVsbCYmdHlwZW9mIGY9PSJvYmplY3QiJiZ0eXBlb2YgZi50aGVuPT0iZnVuY3Rpb24iKXt2YXIgRT1LXyhmLGEpO2lpKGUsdCxFLGh0KGUpKX1lbHNlIGlpKGUsdCxhLGh0KGUpKX1jYXRjaCh6KXtpaShlLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjp6fSxodCgpKX1maW5hbGx5e3EucD1sLEEuVD1vfX1mdW5jdGlvbiBQXygpe31mdW5jdGlvbiBrbyhlLHQsbixhKXtpZihlLnRhZyE9PTUpdGhyb3cgRXJyb3IodSg0NzYpKTt2YXIgaT1WdShlKS5xdWV1ZTtadShlLGksdCxHLG49PT1udWxsP1BfOmZ1bmN0aW9uKCl7cmV0dXJuIEt1KGUpLG4oYSl9KX1mdW5jdGlvbiBWdShlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpHLGJhc2VTdGF0ZTpHLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOntwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6UXQsbGFzdFJlbmRlcmVkU3RhdGU6R30sbmV4dDpudWxsfTt2YXIgbj17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpRdCxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBLdShlKXt2YXIgdD1WdShlKS5uZXh0LnF1ZXVlO2lpKGUsdCx7fSxodCgpKX1mdW5jdGlvbiBTbygpe3JldHVybiAkZShTaSl9ZnVuY3Rpb24gSnUoKXtyZXR1cm4gTWUoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uICR1KCl7cmV0dXJuIE1lKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBJXyhlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPWh0KCk7ZT1hbihuKTt2YXIgYT1sbih0LGUsbik7YSE9PW51bGwmJihtdChhLHQsbiksUGEoYSx0LG4pKSx0PXtjYWNoZTpGYygpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gZWgoZSx0LG4pe3ZhciBhPWh0KCk7bj17bGFuZTphLHJldmVydExhbmU6MCxhY3Rpb246bixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LGhsKGUpP0Z1KHQsbik6KG49WWMoZSx0LG4sYSksbiE9PW51bGwmJihtdChuLGUsYSksUHUobix0LGEpKSl9ZnVuY3Rpb24gV3UoZSx0LG4pe3ZhciBhPWh0KCk7aWkoZSx0LG4sYSl9ZnVuY3Rpb24gaWkoZSx0LG4sYSl7dmFyIGk9e2xhbmU6YSxyZXZlcnRMYW5lOjAsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihobChlKSlGdSh0LGkpO2Vsc2V7dmFyIGw9ZS5hbHRlcm5hdGU7aWYoZS5sYW5lcz09PTAmJihsPT09bnVsbHx8bC5sYW5lcz09PTApJiYobD10Lmxhc3RSZW5kZXJlZFJlZHVjZXIsbCE9PW51bGwpKXRyeXt2YXIgbz10Lmxhc3RSZW5kZXJlZFN0YXRlLHM9bChvLG4pO2lmKGkuaGFzRWFnZXJTdGF0ZT0hMCxpLmVhZ2VyU3RhdGU9cyx1dChzLG8pKXJldHVybiBQaShlLHQsaSwwKSxnZT09PW51bGwmJkZpKCksITF9Y2F0Y2h7fWlmKG49WWMoZSx0LGksYSksbiE9PW51bGwpcmV0dXJuIG10KG4sZSxhKSxQdShuLHQsYSksITB9cmV0dXJuITF9ZnVuY3Rpb24gd28oZSx0LG4sYSl7aWYoYT17bGFuZToyLHJldmVydExhbmU6dHIoKSxhY3Rpb246YSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LGhsKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSB0PVljKGUsbixhLDIpLHQhPT1udWxsJiZtdCh0LGUsMil9ZnVuY3Rpb24gaGwoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1QfHx0IT09bnVsbCYmdD09PVB9ZnVuY3Rpb24gRnUoZSx0KXt1YT1zbD0hMDt2YXIgbj1lLnBlbmRpbmc7bj09PW51bGw/dC5uZXh0PXQ6KHQubmV4dD1uLm5leHQsbi5uZXh0PXQpLGUucGVuZGluZz10fWZ1bmN0aW9uIFB1KGUsdCxuKXtpZigobiY0MTk0MDQ4KSE9PTApe3ZhciBhPXQubGFuZXM7YSY9ZS5wZW5kaW5nTGFuZXMsbnw9YSx0LmxhbmVzPW4sY3MoZSxuKX19dmFyIG1sPXtyZWFkQ29udGV4dDokZSx1c2U6ZGwsdXNlQ2FsbGJhY2s6emUsdXNlQ29udGV4dDp6ZSx1c2VFZmZlY3Q6emUsdXNlSW1wZXJhdGl2ZUhhbmRsZTp6ZSx1c2VMYXlvdXRFZmZlY3Q6emUsdXNlSW5zZXJ0aW9uRWZmZWN0OnplLHVzZU1lbW86emUsdXNlUmVkdWNlcjp6ZSx1c2VSZWY6emUsdXNlU3RhdGU6emUsdXNlRGVidWdWYWx1ZTp6ZSx1c2VEZWZlcnJlZFZhbHVlOnplLHVzZVRyYW5zaXRpb246emUsdXNlU3luY0V4dGVybmFsU3RvcmU6emUsdXNlSWQ6emUsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6emUsdXNlRm9ybVN0YXRlOnplLHVzZUFjdGlvblN0YXRlOnplLHVzZU9wdGltaXN0aWM6emUsdXNlTWVtb0NhY2hlOnplLHVzZUNhY2hlUmVmcmVzaDp6ZX0sSXU9e3JlYWRDb250ZXh0OiRlLHVzZTpkbCx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiB0dCgpLm1lbW9pemVkU3RhdGU9W2UsdD09PXZvaWQgMD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6JGUsdXNlRWZmZWN0OlV1LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249biE9bnVsbD9uLmNvbmNhdChbZV0pOm51bGwsX2woNDE5NDMwOCw0LEx1LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gX2woNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe19sKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHQoKTt0PXQ9PT12b2lkIDA/bnVsbDp0O3ZhciBhPWUoKTtpZihVbil7UHQoITApO3RyeXtlKCl9ZmluYWxseXtQdCghMSl9fXJldHVybiBuLm1lbW9pemVkU3RhdGU9W2EsdF0sYX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLHQsbil7dmFyIGE9dHQoKTtpZihuIT09dm9pZCAwKXt2YXIgaT1uKHQpO2lmKFVuKXtQdCghMCk7dHJ5e24odCl9ZmluYWxseXtQdCghMSl9fX1lbHNlIGk9dDtyZXR1cm4gYS5tZW1vaXplZFN0YXRlPWEuYmFzZVN0YXRlPWksZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmUsbGFzdFJlbmRlcmVkU3RhdGU6aX0sYS5xdWV1ZT1lLGU9ZS5kaXNwYXRjaD1laC5iaW5kKG51bGwsUCxlKSxbYS5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7dmFyIHQ9dHQoKTtyZXR1cm4gZT17Y3VycmVudDplfSx0Lm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6ZnVuY3Rpb24oZSl7ZT1nbyhlKTt2YXIgdD1lLnF1ZXVlLG49V3UuYmluZChudWxsLFAsdCk7cmV0dXJuIHQuZGlzcGF0Y2g9bixbZS5tZW1vaXplZFN0YXRlLG5dfSx1c2VEZWJ1Z1ZhbHVlOnlvLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10dCgpO3JldHVybiBibyhuLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1nbyghMSk7cmV0dXJuIGU9WnUuYmluZChudWxsLFAsZS5xdWV1ZSwhMCwhMSksdHQoKS5tZW1vaXplZFN0YXRlPWUsWyExLGVdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIGE9UCxpPXR0KCk7aWYoaWUpe2lmKG49PT12b2lkIDApdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNle2lmKG49dCgpLGdlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0OSkpOyhuZSYxMjQpIT09MHx8YnUoYSx0LG4pfWkubWVtb2l6ZWRTdGF0ZT1uO3ZhciBsPXt2YWx1ZTpuLGdldFNuYXBzaG90OnR9O3JldHVybiBpLnF1ZXVlPWwsVXUoU3UuYmluZChudWxsLGEsbCxlKSxbZV0pLGEuZmxhZ3N8PTIwNDgsZmEoOSxwbCgpLGt1LmJpbmQobnVsbCxhLGwsbix0KSxudWxsKSxufSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPXR0KCksdD1nZS5pZGVudGlmaWVyUHJlZml4O2lmKGllKXt2YXIgbj1MdCxhPUJ0O249KGEmfigxPDwzMi1zdChhKS0xKSkudG9TdHJpbmcoMzIpK24sdD0iwqsiK3QrIlIiK24sbj11bCsrLDA8biYmKHQrPSJIIituLnRvU3RyaW5nKDMyKSksdCs9IsK7In1lbHNlIG49Sl8rKyx0PSLCqyIrdCsiciIrbi50b1N0cmluZygzMikrIsK7IjtyZXR1cm4gZS5tZW1vaXplZFN0YXRlPXR9LHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzOlNvLHVzZUZvcm1TdGF0ZTpPdSx1c2VBY3Rpb25TdGF0ZTpPdSx1c2VPcHRpbWlzdGljOmZ1bmN0aW9uKGUpe3ZhciB0PXR0KCk7dC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWU7dmFyIG49e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpudWxsLGxhc3RSZW5kZXJlZFN0YXRlOm51bGx9O3JldHVybiB0LnF1ZXVlPW4sdD13by5iaW5kKG51bGwsUCwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTpfbyx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gdHQoKS5tZW1vaXplZFN0YXRlPUlfLmJpbmQobnVsbCxQKX19LGVkPXtyZWFkQ29udGV4dDokZSx1c2U6ZGwsdXNlQ2FsbGJhY2s6R3UsdXNlQ29udGV4dDokZSx1c2VFZmZlY3Q6anUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpZdSx1c2VJbnNlcnRpb25FZmZlY3Q6SHUsdXNlTGF5b3V0RWZmZWN0OkJ1LHVzZU1lbW86UXUsdXNlUmVkdWNlcjpmbCx1c2VSZWY6cXUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZmwoUXQpfSx1c2VEZWJ1Z1ZhbHVlOnlvLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1NZSgpO3JldHVybiBYdShuLGRlLm1lbW9pemVkU3RhdGUsZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWZsKFF0KVswXSx0PU1lKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGU9PSJib29sZWFuIj9lOm5pKGUpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTp5dSx1c2VJZDpKdSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpTbyx1c2VGb3JtU3RhdGU6RHUsdXNlQWN0aW9uU3RhdGU6RHUsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlLHQpe3ZhciBuPU1lKCk7cmV0dXJuIFR1KG4sZGUsZSx0KX0sdXNlTWVtb0NhY2hlOl9vLHVzZUNhY2hlUmVmcmVzaDokdX0sdGg9e3JlYWRDb250ZXh0OiRlLHVzZTpkbCx1c2VDYWxsYmFjazpHdSx1c2VDb250ZXh0OiRlLHVzZUVmZmVjdDpqdSx1c2VJbXBlcmF0aXZlSGFuZGxlOll1LHVzZUluc2VydGlvbkVmZmVjdDpIdSx1c2VMYXlvdXRFZmZlY3Q6QnUsdXNlTWVtbzpRdSx1c2VSZWR1Y2VyOm1vLHVzZVJlZjpxdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBtbyhRdCl9LHVzZURlYnVnVmFsdWU6eW8sdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPU1lKCk7cmV0dXJuIGRlPT09bnVsbD9ibyhuLGUsdCk6WHUobixkZS5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1tbyhRdClbMF0sdD1NZSgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBlPT0iYm9vbGVhbiI/ZTpuaShlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6eXUsdXNlSWQ6SnUsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6U28sdXNlRm9ybVN0YXRlOkN1LHVzZUFjdGlvblN0YXRlOkN1LHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1NZSgpO3JldHVybiBkZSE9PW51bGw/VHUobixkZSxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOl9vLHVzZUNhY2hlUmVmcmVzaDokdX0scGE9bnVsbCxsaT0wO2Z1bmN0aW9uIGdsKGUpe3ZhciB0PWxpO3JldHVybiBsaSs9MSxwYT09PW51bGwmJihwYT1bXSksZHUocGEsZSx0KX1mdW5jdGlvbiBjaShlLHQpe3Q9dC5wcm9wcy5yZWYsZS5yZWY9dCE9PXZvaWQgMD90Om51bGx9ZnVuY3Rpb24gdmwoZSx0KXt0aHJvdyB0LiQkdHlwZW9mPT09Qj9FcnJvcih1KDUyNSkpOihlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSxFcnJvcih1KDMxLGU9PT0iW29iamVjdCBPYmplY3RdIj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjplKSkpfWZ1bmN0aW9uIHRkKGUpe3ZhciB0PWUuX2luaXQ7cmV0dXJuIHQoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gbmQoZSl7ZnVuY3Rpb24gdChnLF8pe2lmKGUpe3ZhciBiPWcuZGVsZXRpb25zO2I9PT1udWxsPyhnLmRlbGV0aW9ucz1bX10sZy5mbGFnc3w9MTYpOmIucHVzaChfKX19ZnVuY3Rpb24gbihnLF8pe2lmKCFlKXJldHVybiBudWxsO2Zvcig7XyE9PW51bGw7KXQoZyxfKSxfPV8uc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiBhKGcpe2Zvcih2YXIgXz1uZXcgTWFwO2chPT1udWxsOylnLmtleSE9PW51bGw/Xy5zZXQoZy5rZXksZyk6Xy5zZXQoZy5pbmRleCxnKSxnPWcuc2libGluZztyZXR1cm4gX31mdW5jdGlvbiBpKGcsXyl7cmV0dXJuIGc9SHQoZyxfKSxnLmluZGV4PTAsZy5zaWJsaW5nPW51bGwsZ31mdW5jdGlvbiBsKGcsXyxiKXtyZXR1cm4gZy5pbmRleD1iLGU/KGI9Zy5hbHRlcm5hdGUsYiE9PW51bGw/KGI9Yi5pbmRleCxiPF8/KGcuZmxhZ3N8PTY3MTA4ODY2LF8pOmIpOihnLmZsYWdzfD02NzEwODg2NixfKSk6KGcuZmxhZ3N8PTEwNDg1NzYsXyl9ZnVuY3Rpb24gbyhnKXtyZXR1cm4gZSYmZy5hbHRlcm5hdGU9PT1udWxsJiYoZy5mbGFnc3w9NjcxMDg4NjYpLGd9ZnVuY3Rpb24gcyhnLF8sYixSKXtyZXR1cm4gXz09PW51bGx8fF8udGFnIT09Nj8oXz1RYyhiLGcubW9kZSxSKSxfLnJldHVybj1nLF8pOihfPWkoXyxiKSxfLnJldHVybj1nLF8pfWZ1bmN0aW9uIGYoZyxfLGIsUil7dmFyIEg9Yi50eXBlO3JldHVybiBIPT09Y2U/RShnLF8sYi5wcm9wcy5jaGlsZHJlbixSLGIua2V5KTpfIT09bnVsbCYmKF8uZWxlbWVudFR5cGU9PT1IfHx0eXBlb2YgSD09Im9iamVjdCImJkghPT1udWxsJiZILiQkdHlwZW9mPT09YmUmJnRkKEgpPT09Xy50eXBlKT8oXz1pKF8sYi5wcm9wcyksY2koXyxiKSxfLnJldHVybj1nLF8pOihfPWVsKGIudHlwZSxiLmtleSxiLnByb3BzLG51bGwsZy5tb2RlLFIpLGNpKF8sYiksXy5yZXR1cm49ZyxfKX1mdW5jdGlvbiBrKGcsXyxiLFIpe3JldHVybiBfPT09bnVsbHx8Xy50YWchPT00fHxfLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09Yi5jb250YWluZXJJbmZvfHxfLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PWIuaW1wbGVtZW50YXRpb24/KF89WGMoYixnLm1vZGUsUiksXy5yZXR1cm49ZyxfKTooXz1pKF8sYi5jaGlsZHJlbnx8W10pLF8ucmV0dXJuPWcsXyl9ZnVuY3Rpb24gRShnLF8sYixSLEgpe3JldHVybiBfPT09bnVsbHx8Xy50YWchPT03PyhfPVJuKGIsZy5tb2RlLFIsSCksXy5yZXR1cm49ZyxfKTooXz1pKF8sYiksXy5yZXR1cm49ZyxfKX1mdW5jdGlvbiB6KGcsXyxiKXtpZih0eXBlb2YgXz09InN0cmluZyImJl8hPT0iInx8dHlwZW9mIF89PSJudW1iZXIifHx0eXBlb2YgXz09ImJpZ2ludCIpcmV0dXJuIF89UWMoIiIrXyxnLm1vZGUsYiksXy5yZXR1cm49ZyxfO2lmKHR5cGVvZiBfPT0ib2JqZWN0IiYmXyE9PW51bGwpe3N3aXRjaChfLiQkdHlwZW9mKXtjYXNlIFo6cmV0dXJuIGI9ZWwoXy50eXBlLF8ua2V5LF8ucHJvcHMsbnVsbCxnLm1vZGUsYiksY2koYixfKSxiLnJldHVybj1nLGI7Y2FzZSBfZTpyZXR1cm4gXz1YYyhfLGcubW9kZSxiKSxfLnJldHVybj1nLF87Y2FzZSBiZTp2YXIgUj1fLl9pbml0O3JldHVybiBfPVIoXy5fcGF5bG9hZCkseihnLF8sYil9aWYoQmUoXyl8fFRlKF8pKXJldHVybiBfPVJuKF8sZy5tb2RlLGIsbnVsbCksXy5yZXR1cm49ZyxfO2lmKHR5cGVvZiBfLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHooZyxnbChfKSxiKTtpZihfLiQkdHlwZW9mPT09b2UpcmV0dXJuIHooZyxpbChnLF8pLGIpO3ZsKGcsXyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUyhnLF8sYixSKXt2YXIgSD1fIT09bnVsbD9fLmtleTpudWxsO2lmKHR5cGVvZiBiPT0ic3RyaW5nIiYmYiE9PSIifHx0eXBlb2YgYj09Im51bWJlciJ8fHR5cGVvZiBiPT0iYmlnaW50IilyZXR1cm4gSCE9PW51bGw/bnVsbDpzKGcsXywiIitiLFIpO2lmKHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIFo6cmV0dXJuIGIua2V5PT09SD9mKGcsXyxiLFIpOm51bGw7Y2FzZSBfZTpyZXR1cm4gYi5rZXk9PT1IP2soZyxfLGIsUik6bnVsbDtjYXNlIGJlOnJldHVybiBIPWIuX2luaXQsYj1IKGIuX3BheWxvYWQpLFMoZyxfLGIsUil9aWYoQmUoYil8fFRlKGIpKXJldHVybiBIIT09bnVsbD9udWxsOkUoZyxfLGIsUixudWxsKTtpZih0eXBlb2YgYi50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBTKGcsXyxnbChiKSxSKTtpZihiLiQkdHlwZW9mPT09b2UpcmV0dXJuIFMoZyxfLGlsKGcsYiksUik7dmwoZyxiKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB3KGcsXyxiLFIsSCl7aWYodHlwZW9mIFI9PSJzdHJpbmciJiZSIT09IiJ8fHR5cGVvZiBSPT0ibnVtYmVyInx8dHlwZW9mIFI9PSJiaWdpbnQiKXJldHVybiBnPWcuZ2V0KGIpfHxudWxsLHMoXyxnLCIiK1IsSCk7aWYodHlwZW9mIFI9PSJvYmplY3QiJiZSIT09bnVsbCl7c3dpdGNoKFIuJCR0eXBlb2Ype2Nhc2UgWjpyZXR1cm4gZz1nLmdldChSLmtleT09PW51bGw/YjpSLmtleSl8fG51bGwsZihfLGcsUixIKTtjYXNlIF9lOnJldHVybiBnPWcuZ2V0KFIua2V5PT09bnVsbD9iOlIua2V5KXx8bnVsbCxrKF8sZyxSLEgpO2Nhc2UgYmU6dmFyIEk9Ui5faW5pdDtyZXR1cm4gUj1JKFIuX3BheWxvYWQpLHcoZyxfLGIsUixIKX1pZihCZShSKXx8VGUoUikpcmV0dXJuIGc9Zy5nZXQoYil8fG51bGwsRShfLGcsUixILG51bGwpO2lmKHR5cGVvZiBSLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHcoZyxfLGIsZ2woUiksSCk7aWYoUi4kJHR5cGVvZj09PW9lKXJldHVybiB3KGcsXyxiLGlsKF8sUiksSCk7dmwoXyxSKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBWKGcsXyxiLFIpe2Zvcih2YXIgSD1udWxsLEk9bnVsbCxMPV8sWD1fPTAsUWU9bnVsbDtMIT09bnVsbCYmWDxiLmxlbmd0aDtYKyspe0wuaW5kZXg+WD8oUWU9TCxMPW51bGwpOlFlPUwuc2libGluZzt2YXIgYWU9UyhnLEwsYltYXSxSKTtpZihhZT09PW51bGwpe0w9PT1udWxsJiYoTD1RZSk7YnJlYWt9ZSYmTCYmYWUuYWx0ZXJuYXRlPT09bnVsbCYmdChnLEwpLF89bChhZSxfLFgpLEk9PT1udWxsP0g9YWU6SS5zaWJsaW5nPWFlLEk9YWUsTD1RZX1pZihYPT09Yi5sZW5ndGgpcmV0dXJuIG4oZyxMKSxpZSYmTm4oZyxYKSxIO2lmKEw9PT1udWxsKXtmb3IoO1g8Yi5sZW5ndGg7WCsrKUw9eihnLGJbWF0sUiksTCE9PW51bGwmJihfPWwoTCxfLFgpLEk9PT1udWxsP0g9TDpJLnNpYmxpbmc9TCxJPUwpO3JldHVybiBpZSYmTm4oZyxYKSxIfWZvcihMPWEoTCk7WDxiLmxlbmd0aDtYKyspUWU9dyhMLGcsWCxiW1hdLFIpLFFlIT09bnVsbCYmKGUmJlFlLmFsdGVybmF0ZSE9PW51bGwmJkwuZGVsZXRlKFFlLmtleT09PW51bGw/WDpRZS5rZXkpLF89bChRZSxfLFgpLEk9PT1udWxsP0g9UWU6SS5zaWJsaW5nPVFlLEk9UWUpO3JldHVybiBlJiZMLmZvckVhY2goZnVuY3Rpb24oU24pe3JldHVybiB0KGcsU24pfSksaWUmJk5uKGcsWCksSH1mdW5jdGlvbiBRKGcsXyxiLFIpe2lmKGI9PW51bGwpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIEg9bnVsbCxJPW51bGwsTD1fLFg9Xz0wLFFlPW51bGwsYWU9Yi5uZXh0KCk7TCE9PW51bGwmJiFhZS5kb25lO1grKyxhZT1iLm5leHQoKSl7TC5pbmRleD5YPyhRZT1MLEw9bnVsbCk6UWU9TC5zaWJsaW5nO3ZhciBTbj1TKGcsTCxhZS52YWx1ZSxSKTtpZihTbj09PW51bGwpe0w9PT1udWxsJiYoTD1RZSk7YnJlYWt9ZSYmTCYmU24uYWx0ZXJuYXRlPT09bnVsbCYmdChnLEwpLF89bChTbixfLFgpLEk9PT1udWxsP0g9U246SS5zaWJsaW5nPVNuLEk9U24sTD1RZX1pZihhZS5kb25lKXJldHVybiBuKGcsTCksaWUmJk5uKGcsWCksSDtpZihMPT09bnVsbCl7Zm9yKDshYWUuZG9uZTtYKyssYWU9Yi5uZXh0KCkpYWU9eihnLGFlLnZhbHVlLFIpLGFlIT09bnVsbCYmKF89bChhZSxfLFgpLEk9PT1udWxsP0g9YWU6SS5zaWJsaW5nPWFlLEk9YWUpO3JldHVybiBpZSYmTm4oZyxYKSxIfWZvcihMPWEoTCk7IWFlLmRvbmU7WCsrLGFlPWIubmV4dCgpKWFlPXcoTCxnLFgsYWUudmFsdWUsUiksYWUhPT1udWxsJiYoZSYmYWUuYWx0ZXJuYXRlIT09bnVsbCYmTC5kZWxldGUoYWUua2V5PT09bnVsbD9YOmFlLmtleSksXz1sKGFlLF8sWCksST09PW51bGw/SD1hZTpJLnNpYmxpbmc9YWUsST1hZSk7cmV0dXJuIGUmJkwuZm9yRWFjaChmdW5jdGlvbihubSl7cmV0dXJuIHQoZyxubSl9KSxpZSYmTm4oZyxYKSxIfWZ1bmN0aW9uIHBlKGcsXyxiLFIpe2lmKHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwmJmIudHlwZT09PWNlJiZiLmtleT09PW51bGwmJihiPWIucHJvcHMuY2hpbGRyZW4pLHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIFo6ZTp7Zm9yKHZhciBIPWIua2V5O18hPT1udWxsOyl7aWYoXy5rZXk9PT1IKXtpZihIPWIudHlwZSxIPT09Y2Upe2lmKF8udGFnPT09Nyl7bihnLF8uc2libGluZyksUj1pKF8sYi5wcm9wcy5jaGlsZHJlbiksUi5yZXR1cm49ZyxnPVI7YnJlYWsgZX19ZWxzZSBpZihfLmVsZW1lbnRUeXBlPT09SHx8dHlwZW9mIEg9PSJvYmplY3QiJiZIIT09bnVsbCYmSC4kJHR5cGVvZj09PWJlJiZ0ZChIKT09PV8udHlwZSl7bihnLF8uc2libGluZyksUj1pKF8sYi5wcm9wcyksY2koUixiKSxSLnJldHVybj1nLGc9UjticmVhayBlfW4oZyxfKTticmVha31lbHNlIHQoZyxfKTtfPV8uc2libGluZ31iLnR5cGU9PT1jZT8oUj1SbihiLnByb3BzLmNoaWxkcmVuLGcubW9kZSxSLGIua2V5KSxSLnJldHVybj1nLGc9Uik6KFI9ZWwoYi50eXBlLGIua2V5LGIucHJvcHMsbnVsbCxnLm1vZGUsUiksY2koUixiKSxSLnJldHVybj1nLGc9Uil9cmV0dXJuIG8oZyk7Y2FzZSBfZTplOntmb3IoSD1iLmtleTtfIT09bnVsbDspe2lmKF8ua2V5PT09SClpZihfLnRhZz09PTQmJl8uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1iLmNvbnRhaW5lckluZm8mJl8uc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09Yi5pbXBsZW1lbnRhdGlvbil7bihnLF8uc2libGluZyksUj1pKF8sYi5jaGlsZHJlbnx8W10pLFIucmV0dXJuPWcsZz1SO2JyZWFrIGV9ZWxzZXtuKGcsXyk7YnJlYWt9ZWxzZSB0KGcsXyk7Xz1fLnNpYmxpbmd9Uj1YYyhiLGcubW9kZSxSKSxSLnJldHVybj1nLGc9Un1yZXR1cm4gbyhnKTtjYXNlIGJlOnJldHVybiBIPWIuX2luaXQsYj1IKGIuX3BheWxvYWQpLHBlKGcsXyxiLFIpfWlmKEJlKGIpKXJldHVybiBWKGcsXyxiLFIpO2lmKFRlKGIpKXtpZihIPVRlKGIpLHR5cGVvZiBIIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGI9SC5jYWxsKGIpLFEoZyxfLGIsUil9aWYodHlwZW9mIGIudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4gcGUoZyxfLGdsKGIpLFIpO2lmKGIuJCR0eXBlb2Y9PT1vZSlyZXR1cm4gcGUoZyxfLGlsKGcsYiksUik7dmwoZyxiKX1yZXR1cm4gdHlwZW9mIGI9PSJzdHJpbmciJiZiIT09IiJ8fHR5cGVvZiBiPT0ibnVtYmVyInx8dHlwZW9mIGI9PSJiaWdpbnQiPyhiPSIiK2IsXyE9PW51bGwmJl8udGFnPT09Nj8obihnLF8uc2libGluZyksUj1pKF8sYiksUi5yZXR1cm49ZyxnPVIpOihuKGcsXyksUj1RYyhiLGcubW9kZSxSKSxSLnJldHVybj1nLGc9UiksbyhnKSk6bihnLF8pfXJldHVybiBmdW5jdGlvbihnLF8sYixSKXt0cnl7bGk9MDt2YXIgSD1wZShnLF8sYixSKTtyZXR1cm4gcGE9bnVsbCxIfWNhdGNoKEwpe2lmKEw9PT1XYXx8TD09PWNsKXRocm93IEw7dmFyIEk9ZHQoMjksTCxudWxsLGcubW9kZSk7cmV0dXJuIEkubGFuZXM9UixJLnJldHVybj1nLEl9fX12YXIgX2E9bmQoITApLGFkPW5kKCExKSx3dD1UKG51bGwpLE90PW51bGw7ZnVuY3Rpb24gb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7QyhxZSxxZS5jdXJyZW50JjEpLEMod3QsZSksT3Q9PT1udWxsJiYodD09PW51bGx8fHNhLmN1cnJlbnQhPT1udWxsfHx0Lm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKE90PWUpfWZ1bmN0aW9uIGlkKGUpe2lmKGUudGFnPT09MjIpe2lmKEMocWUscWUuY3VycmVudCksQyh3dCxlKSxPdD09PW51bGwpe3ZhciB0PWUuYWx0ZXJuYXRlO3QhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiYoT3Q9ZSl9fWVsc2Ugcm4oKX1mdW5jdGlvbiBybigpe0MocWUscWUuY3VycmVudCksQyh3dCx3dC5jdXJyZW50KX1mdW5jdGlvbiBYdChlKXtNKHd0KSxPdD09PWUmJihPdD1udWxsKSxNKHFlKX12YXIgcWU9VCgwKTtmdW5jdGlvbiB5bChlKXtmb3IodmFyIHQ9ZTt0IT09bnVsbDspe2lmKHQudGFnPT09MTMpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihuIT09bnVsbCYmKG49bi5kZWh5ZHJhdGVkLG49PT1udWxsfHxuLmRhdGE9PT0iJD8ifHxwcihuKSkpcmV0dXJuIHR9ZWxzZSBpZih0LnRhZz09PTE5JiZ0Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIhPT12b2lkIDApe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0fWVsc2UgaWYodC5jaGlsZCE9PW51bGwpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1lKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiB4byhlLHQsbixhKXt0PWUubWVtb2l6ZWRTdGF0ZSxuPW4oYSx0KSxuPW49PW51bGw/dDpPKHt9LHQsbiksZS5tZW1vaXplZFN0YXRlPW4sZS5sYW5lcz09PTAmJihlLnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1uKX12YXIgVG89e2VucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgYT1odCgpLGk9YW4oYSk7aS5wYXlsb2FkPXQsbiE9bnVsbCYmKGkuY2FsbGJhY2s9biksdD1sbihlLGksYSksdCE9PW51bGwmJihtdCh0LGUsYSksUGEodCxlLGEpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgYT1odCgpLGk9YW4oYSk7aS50YWc9MSxpLnBheWxvYWQ9dCxuIT1udWxsJiYoaS5jYWxsYmFjaz1uKSx0PWxuKGUsaSxhKSx0IT09bnVsbCYmKG10KHQsZSxhKSxQYSh0LGUsYSkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSx0KXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciBuPWh0KCksYT1hbihuKTthLnRhZz0yLHQhPW51bGwmJihhLmNhbGxiYWNrPXQpLHQ9bG4oZSxhLG4pLHQhPT1udWxsJiYobXQodCxlLG4pLFBhKHQsZSxuKSl9fTtmdW5jdGlvbiBsZChlLHQsbixhLGksbCxvKXtyZXR1cm4gZT1lLnN0YXRlTm9kZSx0eXBlb2YgZS5zaG91bGRDb21wb25lbnRVcGRhdGU9PSJmdW5jdGlvbiI/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUoYSxsLG8pOnQucHJvdG90eXBlJiZ0LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudD8hR2EobixhKXx8IUdhKGksbCk6ITB9ZnVuY3Rpb24gY2QoZSx0LG4sYSl7ZT10LnN0YXRlLHR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHM9PSJmdW5jdGlvbiImJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLGEpLHR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT0iZnVuY3Rpb24iJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sYSksdC5zdGF0ZSE9PWUmJlRvLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIGpuKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpe249e307Zm9yKHZhciBhIGluIHQpYSE9PSJyZWYiJiYoblthXT10W2FdKX1pZihlPWUuZGVmYXVsdFByb3BzKXtuPT09dCYmKG49Tyh7fSxuKSk7Zm9yKHZhciBpIGluIGUpbltpXT09PXZvaWQgMCYmKG5baV09ZVtpXSl9cmV0dXJuIG59dmFyIGJsPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbCYmdHlwZW9mIGUubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixlKTtyZXR1cm59Y29uc29sZS5lcnJvcihlKX07ZnVuY3Rpb24gb2QoZSl7YmwoZSl9ZnVuY3Rpb24gcmQoZSl7Y29uc29sZS5lcnJvcihlKX1mdW5jdGlvbiBzZChlKXtibChlKX1mdW5jdGlvbiBrbChlLHQpe3RyeXt2YXIgbj1lLm9uVW5jYXVnaHRFcnJvcjtuKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgYX0pfX1mdW5jdGlvbiB1ZChlLHQsbil7dHJ5e3ZhciBhPWUub25DYXVnaHRFcnJvcjthKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm4uc3RhY2ssZXJyb3JCb3VuZGFyeTp0LnRhZz09PTE/dC5zdGF0ZU5vZGU6bnVsbH0pfWNhdGNoKGkpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBpfSl9fWZ1bmN0aW9uIEFvKGUsdCxuKXtyZXR1cm4gbj1hbihuKSxuLnRhZz0zLG4ucGF5bG9hZD17ZWxlbWVudDpudWxsfSxuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7a2woZSx0KX0sbn1mdW5jdGlvbiBkZChlKXtyZXR1cm4gZT1hbihlKSxlLnRhZz0zLGV9ZnVuY3Rpb24gZmQoZSx0LG4sYSl7dmFyIGk9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZih0eXBlb2YgaT09ImZ1bmN0aW9uIil7dmFyIGw9YS52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gaShsKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe3VkKHQsbixhKX19dmFyIG89bi5zdGF0ZU5vZGU7byE9PW51bGwmJnR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe3VkKHQsbixhKSx0eXBlb2YgaSE9ImZ1bmN0aW9uIiYmKF9uPT09bnVsbD9fbj1uZXcgU2V0KFt0aGlzXSk6X24uYWRkKHRoaXMpKTt2YXIgcz1hLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goYS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6cyE9PW51bGw/czoiIn0pfSl9ZnVuY3Rpb24gbmgoZSx0LG4sYSxpKXtpZihuLmZsYWdzfD0zMjc2OCxhIT09bnVsbCYmdHlwZW9mIGE9PSJvYmplY3QiJiZ0eXBlb2YgYS50aGVuPT0iZnVuY3Rpb24iKXtpZih0PW4uYWx0ZXJuYXRlLHQhPT1udWxsJiZLYSh0LG4saSwhMCksbj13dC5jdXJyZW50LG4hPT1udWxsKXtzd2l0Y2gobi50YWcpe2Nhc2UgMTM6cmV0dXJuIE90PT09bnVsbD9XbygpOm4uYWx0ZXJuYXRlPT09bnVsbCYmRWU9PT0wJiYoRWU9Myksbi5mbGFncyY9LTI1NyxuLmZsYWdzfD02NTUzNixuLmxhbmVzPWksYT09PWVvP24uZmxhZ3N8PTE2Mzg0Oih0PW4udXBkYXRlUXVldWUsdD09PW51bGw/bi51cGRhdGVRdWV1ZT1uZXcgU2V0KFthXSk6dC5hZGQoYSksUG8oZSxhLGkpKSwhMTtjYXNlIDIyOnJldHVybiBuLmZsYWdzfD02NTUzNixhPT09ZW8/bi5mbGFnc3w9MTYzODQ6KHQ9bi51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17dHJhbnNpdGlvbnM6bnVsbCxtYXJrZXJJbnN0YW5jZXM6bnVsbCxyZXRyeVF1ZXVlOm5ldyBTZXQoW2FdKX0sbi51cGRhdGVRdWV1ZT10KToobj10LnJldHJ5UXVldWUsbj09PW51bGw/dC5yZXRyeVF1ZXVlPW5ldyBTZXQoW2FdKTpuLmFkZChhKSksUG8oZSxhLGkpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBQbyhlLGEsaSksV28oKSwhMX1pZihpZSlyZXR1cm4gdD13dC5jdXJyZW50LHQhPT1udWxsPygodC5mbGFncyY2NTUzNik9PT0wJiYodC5mbGFnc3w9MjU2KSx0LmZsYWdzfD02NTUzNix0LmxhbmVzPWksYSE9PUtjJiYoZT1FcnJvcih1KDQyMikse2NhdXNlOmF9KSxWYSh5dChlLG4pKSkpOihhIT09S2MmJih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6YX0pLFZhKHl0KHQsbikpKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsaSY9LWksZS5sYW5lc3w9aSxhPXl0KGEsbiksaT1BbyhlLnN0YXRlTm9kZSxhLGkpLGFvKGUsaSksRWUhPT00JiYoRWU9MikpLCExO3ZhciBsPUVycm9yKHUoNTIwKSx7Y2F1c2U6YX0pO2lmKGw9eXQobCxuKSxwaT09PW51bGw/cGk9W2xdOnBpLnB1c2gobCksRWUhPT00JiYoRWU9MiksdD09PW51bGwpcmV0dXJuITA7YT15dChhLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1pJi1pLG4ubGFuZXN8PWUsZT1BbyhuLnN0YXRlTm9kZSxhLGUpLGFvKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGw9bi5zdGF0ZU5vZGUsKG4uZmxhZ3MmMTI4KT09PTAmJih0eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fGwhPT1udWxsJiZ0eXBlb2YgbC5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKF9uPT09bnVsbHx8IV9uLmhhcyhsKSkpKXJldHVybiBuLmZsYWdzfD02NTUzNixpJj0taSxuLmxhbmVzfD1pLGk9ZGQoaSksZmQoaSxlLG4sYSksYW8obixpKSwhMX1uPW4ucmV0dXJufXdoaWxlKG4hPT1udWxsKTtyZXR1cm4hMX12YXIgcGQ9RXJyb3IodSg0NjEpKSxZZT0hMTtmdW5jdGlvbiBYZShlLHQsbixhKXt0LmNoaWxkPWU9PT1udWxsP2FkKHQsbnVsbCxuLGEpOl9hKHQsZS5jaGlsZCxuLGEpfWZ1bmN0aW9uIF9kKGUsdCxuLGEsaSl7bj1uLnJlbmRlcjt2YXIgbD10LnJlZjtpZigicmVmImluIGEpe3ZhciBvPXt9O2Zvcih2YXIgcyBpbiBhKXMhPT0icmVmIiYmKG9bc109YVtzXSl9ZWxzZSBvPWE7cmV0dXJuIENuKHQpLGE9cm8oZSx0LG4sbyxsLGkpLHM9c28oKSxlIT09bnVsbCYmIVllPyh1byhlLHQsaSksWnQoZSx0LGkpKTooaWUmJnMmJlpjKHQpLHQuZmxhZ3N8PTEsWGUoZSx0LGEsaSksdC5jaGlsZCl9ZnVuY3Rpb24gaGQoZSx0LG4sYSxpKXtpZihlPT09bnVsbCl7dmFyIGw9bi50eXBlO3JldHVybiB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmIUdjKGwpJiZsLmRlZmF1bHRQcm9wcz09PXZvaWQgMCYmbi5jb21wYXJlPT09bnVsbD8odC50YWc9MTUsdC50eXBlPWwsbWQoZSx0LGwsYSxpKSk6KGU9ZWwobi50eXBlLG51bGwsYSx0LHQubW9kZSxpKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9aWYobD1lLmNoaWxkLCFDbyhlLGkpKXt2YXIgbz1sLm1lbW9pemVkUHJvcHM7aWYobj1uLmNvbXBhcmUsbj1uIT09bnVsbD9uOkdhLG4obyxhKSYmZS5yZWY9PT10LnJlZilyZXR1cm4gWnQoZSx0LGkpfXJldHVybiB0LmZsYWdzfD0xLGU9SHQobCxhKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZX1mdW5jdGlvbiBtZChlLHQsbixhLGkpe2lmKGUhPT1udWxsKXt2YXIgbD1lLm1lbW9pemVkUHJvcHM7aWYoR2EobCxhKSYmZS5yZWY9PT10LnJlZilpZihZZT0hMSx0LnBlbmRpbmdQcm9wcz1hPWwsQ28oZSxpKSkoZS5mbGFncyYxMzEwNzIpIT09MCYmKFllPSEwKTtlbHNlIHJldHVybiB0LmxhbmVzPWUubGFuZXMsWnQoZSx0LGkpfXJldHVybiBFbyhlLHQsbixhLGkpfWZ1bmN0aW9uIGdkKGUsdCxuKXt2YXIgYT10LnBlbmRpbmdQcm9wcyxpPWEuY2hpbGRyZW4sbD1lIT09bnVsbD9lLm1lbW9pemVkU3RhdGU6bnVsbDtpZihhLm1vZGU9PT0iaGlkZGVuIil7aWYoKHQuZmxhZ3MmMTI4KSE9PTApe2lmKGE9bCE9PW51bGw/bC5iYXNlTGFuZXN8bjpuLGUhPT1udWxsKXtmb3IoaT10LmNoaWxkPWUuY2hpbGQsbD0wO2khPT1udWxsOylsPWx8aS5sYW5lc3xpLmNoaWxkTGFuZXMsaT1pLnNpYmxpbmc7dC5jaGlsZExhbmVzPWwmfmF9ZWxzZSB0LmNoaWxkTGFuZXM9MCx0LmNoaWxkPW51bGw7cmV0dXJuIHZkKGUsdCxhLG4pfWlmKChuJjUzNjg3MDkxMikhPT0wKXQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LGUhPT1udWxsJiZsbCh0LGwhPT1udWxsP2wuY2FjaGVQb29sOm51bGwpLGwhPT1udWxsP211KHQsbCk6bG8oKSxpZCh0KTtlbHNlIHJldHVybiB0LmxhbmVzPXQuY2hpbGRMYW5lcz01MzY4NzA5MTIsdmQoZSx0LGwhPT1udWxsP2wuYmFzZUxhbmVzfG46bixuKX1lbHNlIGwhPT1udWxsPyhsbCh0LGwuY2FjaGVQb29sKSxtdSh0LGwpLHJuKCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihlIT09bnVsbCYmbGwodCxudWxsKSxsbygpLHJuKCkpO3JldHVybiBYZShlLHQsaSxuKSx0LmNoaWxkfWZ1bmN0aW9uIHZkKGUsdCxuLGEpe3ZhciBpPUljKCk7cmV0dXJuIGk9aT09PW51bGw/bnVsbDp7cGFyZW50OkNlLl9jdXJyZW50VmFsdWUscG9vbDppfSx0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczpuLGNhY2hlUG9vbDppfSxlIT09bnVsbCYmbGwodCxudWxsKSxsbygpLGlkKHQpLGUhPT1udWxsJiZLYShlLHQsYSwhMCksbnVsbH1mdW5jdGlvbiBTbChlLHQpe3ZhciBuPXQucmVmO2lmKG49PT1udWxsKWUhPT1udWxsJiZlLnJlZiE9PW51bGwmJih0LmZsYWdzfD00MTk0ODE2KTtlbHNle2lmKHR5cGVvZiBuIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbiE9Im9iamVjdCIpdGhyb3cgRXJyb3IodSgyODQpKTsoZT09PW51bGx8fGUucmVmIT09bikmJih0LmZsYWdzfD00MTk0ODE2KX19ZnVuY3Rpb24gRW8oZSx0LG4sYSxpKXtyZXR1cm4gQ24odCksbj1ybyhlLHQsbixhLHZvaWQgMCxpKSxhPXNvKCksZSE9PW51bGwmJiFZZT8odW8oZSx0LGkpLFp0KGUsdCxpKSk6KGllJiZhJiZaYyh0KSx0LmZsYWdzfD0xLFhlKGUsdCxuLGkpLHQuY2hpbGQpfWZ1bmN0aW9uIHlkKGUsdCxuLGEsaSxsKXtyZXR1cm4gQ24odCksdC51cGRhdGVRdWV1ZT1udWxsLG49dnUodCxhLG4saSksZ3UoZSksYT1zbygpLGUhPT1udWxsJiYhWWU/KHVvKGUsdCxsKSxadChlLHQsbCkpOihpZSYmYSYmWmModCksdC5mbGFnc3w9MSxYZShlLHQsbixsKSx0LmNoaWxkKX1mdW5jdGlvbiBiZChlLHQsbixhLGkpe2lmKENuKHQpLHQuc3RhdGVOb2RlPT09bnVsbCl7dmFyIGw9aWEsbz1uLmNvbnRleHRUeXBlO3R5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGwmJihsPSRlKG8pKSxsPW5ldyBuKGEsbCksdC5tZW1vaXplZFN0YXRlPWwuc3RhdGUhPT1udWxsJiZsLnN0YXRlIT09dm9pZCAwP2wuc3RhdGU6bnVsbCxsLnVwZGF0ZXI9VG8sdC5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz10LGw9dC5zdGF0ZU5vZGUsbC5wcm9wcz1hLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlLGwucmVmcz17fSx0byh0KSxvPW4uY29udGV4dFR5cGUsbC5jb250ZXh0PXR5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGw/JGUobyk6aWEsbC5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsbz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyx0eXBlb2Ygbz09ImZ1bmN0aW9uIiYmKHhvKHQsbixvLGEpLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PSJmdW5jdGlvbiJ8fHR5cGVvZiBsLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24ifHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fChvPWwuc3RhdGUsdHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZsLmNvbXBvbmVudFdpbGxNb3VudCgpLHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJmwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLG8hPT1sLnN0YXRlJiZUby5lbnF1ZXVlUmVwbGFjZVN0YXRlKGwsbC5zdGF0ZSxudWxsKSxlaSh0LGEsbCxpKSxJYSgpLGwuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2YgbC5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLGE9ITB9ZWxzZSBpZihlPT09bnVsbCl7bD10LnN0YXRlTm9kZTt2YXIgcz10Lm1lbW9pemVkUHJvcHMsZj1qbihuLHMpO2wucHJvcHM9Zjt2YXIgaz1sLmNvbnRleHQsRT1uLmNvbnRleHRUeXBlO289aWEsdHlwZW9mIEU9PSJvYmplY3QiJiZFIT09bnVsbCYmKG89JGUoRSkpO3ZhciB6PW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO0U9dHlwZW9mIHo9PSJmdW5jdGlvbiJ8fHR5cGVvZiBsLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iLHM9dC5wZW5kaW5nUHJvcHMhPT1zLEV8fHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwoc3x8ayE9PW8pJiZjZCh0LGwsYSxvKSxubj0hMTt2YXIgUz10Lm1lbW9pemVkU3RhdGU7bC5zdGF0ZT1TLGVpKHQsYSxsLGkpLElhKCksaz10Lm1lbW9pemVkU3RhdGUsc3x8UyE9PWt8fG5uPyh0eXBlb2Ygej09ImZ1bmN0aW9uIiYmKHhvKHQsbix6LGEpLGs9dC5tZW1vaXplZFN0YXRlKSwoZj1ubnx8bGQodCxuLGYsYSxTLGssbykpPyhFfHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fCh0eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJmwuY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCkpLHR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCkpOih0eXBlb2YgbC5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLHQubWVtb2l6ZWRQcm9wcz1hLHQubWVtb2l6ZWRTdGF0ZT1rKSxsLnByb3BzPWEsbC5zdGF0ZT1rLGwuY29udGV4dD1vLGE9Zik6KHR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksYT0hMSl9ZWxzZXtsPXQuc3RhdGVOb2RlLG5vKGUsdCksbz10Lm1lbW9pemVkUHJvcHMsRT1qbihuLG8pLGwucHJvcHM9RSx6PXQucGVuZGluZ1Byb3BzLFM9bC5jb250ZXh0LGs9bi5jb250ZXh0VHlwZSxmPWlhLHR5cGVvZiBrPT0ib2JqZWN0IiYmayE9PW51bGwmJihmPSRlKGspKSxzPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLChrPXR5cGVvZiBzPT0iZnVuY3Rpb24ifHx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIil8fHR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwobyE9PXp8fFMhPT1mKSYmY2QodCxsLGEsZiksbm49ITEsUz10Lm1lbW9pemVkU3RhdGUsbC5zdGF0ZT1TLGVpKHQsYSxsLGkpLElhKCk7dmFyIHc9dC5tZW1vaXplZFN0YXRlO28hPT16fHxTIT09d3x8bm58fGUhPT1udWxsJiZlLmRlcGVuZGVuY2llcyE9PW51bGwmJmFsKGUuZGVwZW5kZW5jaWVzKT8odHlwZW9mIHM9PSJmdW5jdGlvbiImJih4byh0LG4scyxhKSx3PXQubWVtb2l6ZWRTdGF0ZSksKEU9bm58fGxkKHQsbixFLGEsUyx3LGYpfHxlIT09bnVsbCYmZS5kZXBlbmRlbmNpZXMhPT1udWxsJiZhbChlLmRlcGVuZGVuY2llcykpPyhrfHx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwuY29tcG9uZW50V2lsbFVwZGF0ZSE9ImZ1bmN0aW9uInx8KHR5cGVvZiBsLmNvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJmwuY29tcG9uZW50V2lsbFVwZGF0ZShhLHcsZiksdHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGU9PSJmdW5jdGlvbiImJmwuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUoYSx3LGYpKSx0eXBlb2YgbC5jb21wb25lbnREaWRVcGRhdGU9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00KSx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTEwMjQpKToodHlwZW9mIGwuY29tcG9uZW50RGlkVXBkYXRlIT0iZnVuY3Rpb24ifHxvPT09ZS5tZW1vaXplZFByb3BzJiZTPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksdHlwZW9mIGwuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPSJmdW5jdGlvbiJ8fG89PT1lLm1lbW9pemVkUHJvcHMmJlM9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSx0Lm1lbW9pemVkUHJvcHM9YSx0Lm1lbW9pemVkU3RhdGU9dyksbC5wcm9wcz1hLGwuc3RhdGU9dyxsLmNvbnRleHQ9ZixhPUUpOih0eXBlb2YgbC5jb21wb25lbnREaWRVcGRhdGUhPSJmdW5jdGlvbiJ8fG89PT1lLm1lbW9pemVkUHJvcHMmJlM9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9ImZ1bmN0aW9uInx8bz09PWUubWVtb2l6ZWRQcm9wcyYmUz09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLGE9ITEpfXJldHVybiBsPWEsU2woZSx0KSxhPSh0LmZsYWdzJjEyOCkhPT0wLGx8fGE/KGw9dC5zdGF0ZU5vZGUsbj1hJiZ0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPSJmdW5jdGlvbiI/bnVsbDpsLnJlbmRlcigpLHQuZmxhZ3N8PTEsZSE9PW51bGwmJmE/KHQuY2hpbGQ9X2EodCxlLmNoaWxkLG51bGwsaSksdC5jaGlsZD1fYSh0LG51bGwsbixpKSk6WGUoZSx0LG4saSksdC5tZW1vaXplZFN0YXRlPWwuc3RhdGUsZT10LmNoaWxkKTplPVp0KGUsdCxpKSxlfWZ1bmN0aW9uIGtkKGUsdCxuLGEpe3JldHVybiBaYSgpLHQuZmxhZ3N8PTI1NixYZShlLHQsbixhKSx0LmNoaWxkfXZhciBSbz17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIHpvKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6cnUoKX19ZnVuY3Rpb24gTm8oZSx0LG4pe3JldHVybiBlPWUhPT1udWxsP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD14dCksZX1mdW5jdGlvbiBTZChlLHQsbil7dmFyIGE9dC5wZW5kaW5nUHJvcHMsaT0hMSxsPSh0LmZsYWdzJjEyOCkhPT0wLG87aWYoKG89bCl8fChvPWUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGU9PT1udWxsPyExOihxZS5jdXJyZW50JjIpIT09MCksbyYmKGk9ITAsdC5mbGFncyY9LTEyOSksbz0odC5mbGFncyYzMikhPT0wLHQuZmxhZ3MmPS0zMyxlPT09bnVsbCl7aWYoaWUpe2lmKGk/b24odCk6cm4oKSxpZSl7dmFyIHM9QWUsZjtpZihmPXMpe2U6e2ZvcihmPXMscz1OdDtmLm5vZGVUeXBlIT09ODspe2lmKCFzKXtzPW51bGw7YnJlYWsgZX1pZihmPVJ0KGYubmV4dFNpYmxpbmcpLGY9PT1udWxsKXtzPW51bGw7YnJlYWsgZX19cz1mfXMhPT1udWxsPyh0Lm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6cyx0cmVlQ29udGV4dDp6biE9PW51bGw/e2lkOkJ0LG92ZXJmbG93Okx0fTpudWxsLHJldHJ5TGFuZTo1MzY4NzA5MTIsaHlkcmF0aW9uRXJyb3JzOm51bGx9LGY9ZHQoMTgsbnVsbCxudWxsLDApLGYuc3RhdGVOb2RlPXMsZi5yZXR1cm49dCx0LmNoaWxkPWYsRmU9dCxBZT1udWxsLGY9ITApOmY9ITF9Znx8RG4odCl9aWYocz10Lm1lbW9pemVkU3RhdGUscyE9PW51bGwmJihzPXMuZGVoeWRyYXRlZCxzIT09bnVsbCkpcmV0dXJuIHByKHMpP3QubGFuZXM9MzI6dC5sYW5lcz01MzY4NzA5MTIsbnVsbDtYdCh0KX1yZXR1cm4gcz1hLmNoaWxkcmVuLGE9YS5mYWxsYmFjayxpPyhybigpLGk9dC5tb2RlLHM9d2woe21vZGU6ImhpZGRlbiIsY2hpbGRyZW46c30saSksYT1SbihhLGksbixudWxsKSxzLnJldHVybj10LGEucmV0dXJuPXQscy5zaWJsaW5nPWEsdC5jaGlsZD1zLGk9dC5jaGlsZCxpLm1lbW9pemVkU3RhdGU9em8obiksaS5jaGlsZExhbmVzPU5vKGUsbyxuKSx0Lm1lbW9pemVkU3RhdGU9Um8sYSk6KG9uKHQpLE9vKHQscykpfWlmKGY9ZS5tZW1vaXplZFN0YXRlLGYhPT1udWxsJiYocz1mLmRlaHlkcmF0ZWQscyE9PW51bGwpKXtpZihsKXQuZmxhZ3MmMjU2Pyhvbih0KSx0LmZsYWdzJj0tMjU3LHQ9RG8oZSx0LG4pKTp0Lm1lbW9pemVkU3RhdGUhPT1udWxsPyhybigpLHQuY2hpbGQ9ZS5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsKToocm4oKSxpPWEuZmFsbGJhY2sscz10Lm1vZGUsYT13bCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46YS5jaGlsZHJlbn0scyksaT1SbihpLHMsbixudWxsKSxpLmZsYWdzfD0yLGEucmV0dXJuPXQsaS5yZXR1cm49dCxhLnNpYmxpbmc9aSx0LmNoaWxkPWEsX2EodCxlLmNoaWxkLG51bGwsbiksYT10LmNoaWxkLGEubWVtb2l6ZWRTdGF0ZT16byhuKSxhLmNoaWxkTGFuZXM9Tm8oZSxvLG4pLHQubWVtb2l6ZWRTdGF0ZT1Sbyx0PWkpO2Vsc2UgaWYob24odCkscHIocykpe2lmKG89cy5uZXh0U2libGluZyYmcy5uZXh0U2libGluZy5kYXRhc2V0LG8pdmFyIGs9by5kZ3N0O289ayxhPUVycm9yKHUoNDE5KSksYS5zdGFjaz0iIixhLmRpZ2VzdD1vLFZhKHt2YWx1ZTphLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PURvKGUsdCxuKX1lbHNlIGlmKFllfHxLYShlLHQsbiwhMSksbz0obiZlLmNoaWxkTGFuZXMpIT09MCxZZXx8byl7aWYobz1nZSxvIT09bnVsbCYmKGE9biYtbixhPShhJjQyKSE9PTA/MTpwYyhhKSxhPShhJihvLnN1c3BlbmRlZExhbmVzfG4pKSE9PTA/MDphLGEhPT0wJiZhIT09Zi5yZXRyeUxhbmUpKXRocm93IGYucmV0cnlMYW5lPWEsYWEoZSxhKSxtdChvLGUsYSkscGQ7cy5kYXRhPT09IiQ/Inx8V28oKSx0PURvKGUsdCxuKX1lbHNlIHMuZGF0YT09PSIkPyI/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1mLnRyZWVDb250ZXh0LEFlPVJ0KHMubmV4dFNpYmxpbmcpLEZlPXQsaWU9ITAsT249bnVsbCxOdD0hMSxlIT09bnVsbCYmKGt0W1N0KytdPUJ0LGt0W1N0KytdPUx0LGt0W1N0KytdPXpuLEJ0PWUuaWQsTHQ9ZS5vdmVyZmxvdyx6bj10KSx0PU9vKHQsYS5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGk/KHJuKCksaT1hLmZhbGxiYWNrLHM9dC5tb2RlLGY9ZS5jaGlsZCxrPWYuc2libGluZyxhPUh0KGYse21vZGU6ImhpZGRlbiIsY2hpbGRyZW46YS5jaGlsZHJlbn0pLGEuc3VidHJlZUZsYWdzPWYuc3VidHJlZUZsYWdzJjY1MDExNzEyLGshPT1udWxsP2k9SHQoayxpKTooaT1SbihpLHMsbixudWxsKSxpLmZsYWdzfD0yKSxpLnJldHVybj10LGEucmV0dXJuPXQsYS5zaWJsaW5nPWksdC5jaGlsZD1hLGE9aSxpPXQuY2hpbGQscz1lLmNoaWxkLm1lbW9pemVkU3RhdGUscz09PW51bGw/cz16byhuKTooZj1zLmNhY2hlUG9vbCxmIT09bnVsbD8oaz1DZS5fY3VycmVudFZhbHVlLGY9Zi5wYXJlbnQhPT1rP3twYXJlbnQ6ayxwb29sOmt9OmYpOmY9cnUoKSxzPXtiYXNlTGFuZXM6cy5iYXNlTGFuZXN8bixjYWNoZVBvb2w6Zn0pLGkubWVtb2l6ZWRTdGF0ZT1zLGkuY2hpbGRMYW5lcz1ObyhlLG8sbiksdC5tZW1vaXplZFN0YXRlPVJvLGEpOihvbih0KSxuPWUuY2hpbGQsZT1uLnNpYmxpbmcsbj1IdChuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjphLmNoaWxkcmVufSksbi5yZXR1cm49dCxuLnNpYmxpbmc9bnVsbCxlIT09bnVsbCYmKG89dC5kZWxldGlvbnMsbz09PW51bGw/KHQuZGVsZXRpb25zPVtlXSx0LmZsYWdzfD0xNik6by5wdXNoKGUpKSx0LmNoaWxkPW4sdC5tZW1vaXplZFN0YXRlPW51bGwsbil9ZnVuY3Rpb24gT28oZSx0KXtyZXR1cm4gdD13bCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46dH0sZS5tb2RlKSx0LnJldHVybj1lLGUuY2hpbGQ9dH1mdW5jdGlvbiB3bChlLHQpe3JldHVybiBlPWR0KDIyLGUsbnVsbCx0KSxlLmxhbmVzPTAsZS5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0sZX1mdW5jdGlvbiBEbyhlLHQsbil7cmV0dXJuIF9hKHQsZS5jaGlsZCxudWxsLG4pLGU9T28odCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIHdkKGUsdCxuKXtlLmxhbmVzfD10O3ZhciBhPWUuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dCksJGMoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBNbyhlLHQsbixhLGkpe3ZhciBsPWUubWVtb2l6ZWRTdGF0ZTtsPT09bnVsbD9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOnQscmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDphLHRhaWw6bix0YWlsTW9kZTppfToobC5pc0JhY2t3YXJkcz10LGwucmVuZGVyaW5nPW51bGwsbC5yZW5kZXJpbmdTdGFydFRpbWU9MCxsLmxhc3Q9YSxsLnRhaWw9bixsLnRhaWxNb2RlPWkpfWZ1bmN0aW9uIHhkKGUsdCxuKXt2YXIgYT10LnBlbmRpbmdQcm9wcyxpPWEucmV2ZWFsT3JkZXIsbD1hLnRhaWw7aWYoWGUoZSx0LGEuY2hpbGRyZW4sbiksYT1xZS5jdXJyZW50LChhJjIpIT09MClhPWEmMXwyLHQuZmxhZ3N8PTEyODtlbHNle2lmKGUhPT1udWxsJiYoZS5mbGFncyYxMjgpIT09MCllOmZvcihlPXQuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZz09PTEzKWUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJndkKGUsbix0KTtlbHNlIGlmKGUudGFnPT09MTkpd2QoZSxuLHQpO2Vsc2UgaWYoZS5jaGlsZCE9PW51bGwpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT10KWJyZWFrIGU7Zm9yKDtlLnNpYmxpbmc9PT1udWxsOyl7aWYoZS5yZXR1cm49PT1udWxsfHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9YSY9MX1zd2l0Y2goQyhxZSxhKSxpKXtjYXNlImZvcndhcmRzIjpmb3Iobj10LmNoaWxkLGk9bnVsbDtuIT09bnVsbDspZT1uLmFsdGVybmF0ZSxlIT09bnVsbCYmeWwoZSk9PT1udWxsJiYoaT1uKSxuPW4uc2libGluZztuPWksbj09PW51bGw/KGk9dC5jaGlsZCx0LmNoaWxkPW51bGwpOihpPW4uc2libGluZyxuLnNpYmxpbmc9bnVsbCksTW8odCwhMSxpLG4sbCk7YnJlYWs7Y2FzZSJiYWNrd2FyZHMiOmZvcihuPW51bGwsaT10LmNoaWxkLHQuY2hpbGQ9bnVsbDtpIT09bnVsbDspe2lmKGU9aS5hbHRlcm5hdGUsZSE9PW51bGwmJnlsKGUpPT09bnVsbCl7dC5jaGlsZD1pO2JyZWFrfWU9aS5zaWJsaW5nLGkuc2libGluZz1uLG49aSxpPWV9TW8odCwhMCxuLG51bGwsbCk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6TW8odCwhMSxudWxsLG51bGwsdm9pZCAwKTticmVhaztkZWZhdWx0OnQubWVtb2l6ZWRTdGF0ZT1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIFp0KGUsdCxuKXtpZihlIT09bnVsbCYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSxwbnw9dC5sYW5lcywobiZ0LmNoaWxkTGFuZXMpPT09MClpZihlIT09bnVsbCl7aWYoS2EoZSx0LG4sITEpLChuJnQuY2hpbGRMYW5lcyk9PT0wKXJldHVybiBudWxsfWVsc2UgcmV0dXJuIG51bGw7aWYoZSE9PW51bGwmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKHUoMTUzKSk7aWYodC5jaGlsZCE9PW51bGwpe2ZvcihlPXQuY2hpbGQsbj1IdChlLGUucGVuZGluZ1Byb3BzKSx0LmNoaWxkPW4sbi5yZXR1cm49dDtlLnNpYmxpbmchPT1udWxsOyllPWUuc2libGluZyxuPW4uc2libGluZz1IdChlLGUucGVuZGluZ1Byb3BzKSxuLnJldHVybj10O24uc2libGluZz1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIENvKGUsdCl7cmV0dXJuKGUubGFuZXMmdCkhPT0wPyEwOihlPWUuZGVwZW5kZW5jaWVzLCEhKGUhPT1udWxsJiZhbChlKSkpfWZ1bmN0aW9uIGFoKGUsdCxuKXtzd2l0Y2godC50YWcpe2Nhc2UgMzprZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHRuKHQsQ2UsZS5tZW1vaXplZFN0YXRlLmNhY2hlKSxaYSgpO2JyZWFrO2Nhc2UgMjc6Y2FzZSA1OnJjKHQpO2JyZWFrO2Nhc2UgNDprZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO2JyZWFrO2Nhc2UgMTA6dG4odCx0LnR5cGUsdC5tZW1vaXplZFByb3BzLnZhbHVlKTticmVhaztjYXNlIDEzOnZhciBhPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbClyZXR1cm4gYS5kZWh5ZHJhdGVkIT09bnVsbD8ob24odCksdC5mbGFnc3w9MTI4LG51bGwpOihuJnQuY2hpbGQuY2hpbGRMYW5lcykhPT0wP1NkKGUsdCxuKToob24odCksZT1adChlLHQsbiksZSE9PW51bGw/ZS5zaWJsaW5nOm51bGwpO29uKHQpO2JyZWFrO2Nhc2UgMTk6dmFyIGk9KGUuZmxhZ3MmMTI4KSE9PTA7aWYoYT0obiZ0LmNoaWxkTGFuZXMpIT09MCxhfHwoS2EoZSx0LG4sITEpLGE9KG4mdC5jaGlsZExhbmVzKSE9PTApLGkpe2lmKGEpcmV0dXJuIHhkKGUsdCxuKTt0LmZsYWdzfD0xMjh9aWYoaT10Lm1lbW9pemVkU3RhdGUsaSE9PW51bGwmJihpLnJlbmRlcmluZz1udWxsLGkudGFpbD1udWxsLGkubGFzdEVmZmVjdD1udWxsKSxDKHFlLHFlLmN1cnJlbnQpLGEpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB0LmxhbmVzPTAsZ2QoZSx0LG4pO2Nhc2UgMjQ6dG4odCxDZSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBadChlLHQsbil9ZnVuY3Rpb24gVGQoZSx0LG4pe2lmKGUhPT1udWxsKWlmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzKVllPSEwO2Vsc2V7aWYoIUNvKGUsbikmJih0LmZsYWdzJjEyOCk9PT0wKXJldHVybiBZZT0hMSxhaChlLHQsbik7WWU9KGUuZmxhZ3MmMTMxMDcyKSE9PTB9ZWxzZSBZZT0hMSxpZSYmKHQuZmxhZ3MmMTA0ODU3NikhPT0wJiZ0dSh0LG5sLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7ZT10LnBlbmRpbmdQcm9wczt2YXIgYT10LmVsZW1lbnRUeXBlLGk9YS5faW5pdDtpZihhPWkoYS5fcGF5bG9hZCksdC50eXBlPWEsdHlwZW9mIGE9PSJmdW5jdGlvbiIpR2MoYSk/KGU9am4oYSxlKSx0LnRhZz0xLHQ9YmQobnVsbCx0LGEsZSxuKSk6KHQudGFnPTAsdD1FbyhudWxsLHQsYSxlLG4pKTtlbHNle2lmKGEhPW51bGwpe2lmKGk9YS4kJHR5cGVvZixpPT09amUpe3QudGFnPTExLHQ9X2QobnVsbCx0LGEsZSxuKTticmVhayBlfWVsc2UgaWYoaT09PXllKXt0LnRhZz0xNCx0PWhkKG51bGwsdCxhLGUsbik7YnJlYWsgZX19dGhyb3cgdD1jdChhKXx8YSxFcnJvcih1KDMwNix0LCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gRW8oZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGE9dC50eXBlLGk9am4oYSx0LnBlbmRpbmdQcm9wcyksYmQoZSx0LGEsaSxuKTtjYXNlIDM6ZTp7aWYoa2UodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM4NykpO2E9dC5wZW5kaW5nUHJvcHM7dmFyIGw9dC5tZW1vaXplZFN0YXRlO2k9bC5lbGVtZW50LG5vKGUsdCksZWkodCxhLG51bGwsbik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2lmKGE9by5jYWNoZSx0bih0LENlLGEpLGEhPT1sLmNhY2hlJiZXYyh0LFtDZV0sbiwhMCksSWEoKSxhPW8uZWxlbWVudCxsLmlzRGVoeWRyYXRlZClpZihsPXtlbGVtZW50OmEsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGV9LHQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwsdC5tZW1vaXplZFN0YXRlPWwsdC5mbGFncyYyNTYpe3Q9a2QoZSx0LGEsbik7YnJlYWsgZX1lbHNlIGlmKGEhPT1pKXtpPXl0KEVycm9yKHUoNDI0KSksdCksVmEoaSksdD1rZChlLHQsYSxuKTticmVhayBlfWVsc2UgZm9yKGU9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxlLm5vZGVUeXBlPT09OT9lPWUuYm9keTplPWUubm9kZU5hbWU9PT0iSFRNTCI/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSxBZT1SdChlLmZpcnN0Q2hpbGQpLEZlPXQsaWU9ITAsT249bnVsbCxOdD0hMCxuPWFkKHQsbnVsbCxhLG4pLHQuY2hpbGQ9bjtuOyluLmZsYWdzPW4uZmxhZ3MmLTN8NDA5NixuPW4uc2libGluZztlbHNle2lmKFphKCksYT09PWkpe3Q9WnQoZSx0LG4pO2JyZWFrIGV9WGUoZSx0LGEsbil9dD10LmNoaWxkfXJldHVybiB0O2Nhc2UgMjY6cmV0dXJuIFNsKGUsdCksZT09PW51bGw/KG49TmYodC50eXBlLG51bGwsdC5wZW5kaW5nUHJvcHMsbnVsbCkpP3QubWVtb2l6ZWRTdGF0ZT1uOmllfHwobj10LnR5cGUsZT10LnBlbmRpbmdQcm9wcyxhPWpsKEsuY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSxhW0plXT10LGFbSWVdPWUsVmUoYSxuLGUpLExlKGEpLHQuc3RhdGVOb2RlPWEpOnQubWVtb2l6ZWRTdGF0ZT1OZih0LnR5cGUsZS5tZW1vaXplZFByb3BzLHQucGVuZGluZ1Byb3BzLGUubWVtb2l6ZWRTdGF0ZSksbnVsbDtjYXNlIDI3OnJldHVybiByYyh0KSxlPT09bnVsbCYmaWUmJihhPXQuc3RhdGVOb2RlPUVmKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxLLmN1cnJlbnQpLEZlPXQsTnQ9ITAsaT1BZSxnbih0LnR5cGUpPyhfcj1pLEFlPVJ0KGEuZmlyc3RDaGlsZCkpOkFlPWkpLFhlKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxTbChlLHQpLGU9PT1udWxsJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIGU9PT1udWxsJiZpZSYmKChpPWE9QWUpJiYoYT1PaChhLHQudHlwZSx0LnBlbmRpbmdQcm9wcyxOdCksYSE9PW51bGw/KHQuc3RhdGVOb2RlPWEsRmU9dCxBZT1SdChhLmZpcnN0Q2hpbGQpLE50PSExLGk9ITApOmk9ITEpLGl8fERuKHQpKSxyYyh0KSxpPXQudHlwZSxsPXQucGVuZGluZ1Byb3BzLG89ZSE9PW51bGw/ZS5tZW1vaXplZFByb3BzOm51bGwsYT1sLmNoaWxkcmVuLHVyKGksbCk/YT1udWxsOm8hPT1udWxsJiZ1cihpLG8pJiYodC5mbGFnc3w9MzIpLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJihpPXJvKGUsdCwkXyxudWxsLG51bGwsbiksU2kuX2N1cnJlbnRWYWx1ZT1pKSxTbChlLHQpLFhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBlPT09bnVsbCYmaWUmJigoZT1uPUFlKSYmKG49RGgobix0LnBlbmRpbmdQcm9wcyxOdCksbiE9PW51bGw/KHQuc3RhdGVOb2RlPW4sRmU9dCxBZT1udWxsLGU9ITApOmU9ITEpLGV8fERuKHQpKSxudWxsO2Nhc2UgMTM6cmV0dXJuIFNkKGUsdCxuKTtjYXNlIDQ6cmV0dXJuIGtlKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksYT10LnBlbmRpbmdQcm9wcyxlPT09bnVsbD90LmNoaWxkPV9hKHQsbnVsbCxhLG4pOlhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gX2QoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDc6cmV0dXJuIFhlKGUsdCx0LnBlbmRpbmdQcm9wcyxuKSx0LmNoaWxkO2Nhc2UgODpyZXR1cm4gWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMjpyZXR1cm4gWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMDpyZXR1cm4gYT10LnBlbmRpbmdQcm9wcyx0bih0LHQudHlwZSxhLnZhbHVlKSxYZShlLHQsYS5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgOTpyZXR1cm4gaT10LnR5cGUuX2NvbnRleHQsYT10LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixDbih0KSxpPSRlKGkpLGE9YShpKSx0LmZsYWdzfD0xLFhlKGUsdCxhLG4pLHQuY2hpbGQ7Y2FzZSAxNDpyZXR1cm4gaGQoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE1OnJldHVybiBtZChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTk6cmV0dXJuIHhkKGUsdCxuKTtjYXNlIDMxOnJldHVybiBhPXQucGVuZGluZ1Byb3BzLG49dC5tb2RlLGE9e21vZGU6YS5tb2RlLGNoaWxkcmVuOmEuY2hpbGRyZW59LGU9PT1udWxsPyhuPXdsKGEsbiksbi5yZWY9dC5yZWYsdC5jaGlsZD1uLG4ucmV0dXJuPXQsdD1uKToobj1IdChlLmNoaWxkLGEpLG4ucmVmPXQucmVmLHQuY2hpbGQ9bixuLnJldHVybj10LHQ9biksdDtjYXNlIDIyOnJldHVybiBnZChlLHQsbik7Y2FzZSAyNDpyZXR1cm4gQ24odCksYT0kZShDZSksZT09PW51bGw/KGk9SWMoKSxpPT09bnVsbCYmKGk9Z2UsbD1GYygpLGkucG9vbGVkQ2FjaGU9bCxsLnJlZkNvdW50KyssbCE9PW51bGwmJihpLnBvb2xlZENhY2hlTGFuZXN8PW4pLGk9bCksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6YSxjYWNoZTppfSx0byh0KSx0bih0LENlLGkpKTooKGUubGFuZXMmbikhPT0wJiYobm8oZSx0KSxlaSh0LG51bGwsbnVsbCxuKSxJYSgpKSxpPWUubWVtb2l6ZWRTdGF0ZSxsPXQubWVtb2l6ZWRTdGF0ZSxpLnBhcmVudCE9PWE/KGk9e3BhcmVudDphLGNhY2hlOmF9LHQubWVtb2l6ZWRTdGF0ZT1pLHQubGFuZXM9PT0wJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWkpLHRuKHQsQ2UsYSkpOihhPWwuY2FjaGUsdG4odCxDZSxhKSxhIT09aS5jYWNoZSYmV2ModCxbQ2VdLG4sITApKSksWGUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAyOTp0aHJvdyB0LnBlbmRpbmdQcm9wc310aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfWZ1bmN0aW9uIFZ0KGUpe2UuZmxhZ3N8PTR9ZnVuY3Rpb24gQWQoZSx0KXtpZih0LnR5cGUhPT0ic3R5bGVzaGVldCJ8fCh0LnN0YXRlLmxvYWRpbmcmNCkhPT0wKWUuZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKGUuZmxhZ3N8PTE2Nzc3MjE2LCFxZih0KSl7aWYodD13dC5jdXJyZW50LHQhPT1udWxsJiYoKG5lJjQxOTQwNDgpPT09bmU/T3QhPT1udWxsOihuZSY2MjkxNDU2MCkhPT1uZSYmKG5lJjUzNjg3MDkxMik9PT0wfHx0IT09T3QpKXRocm93IEZhPWVvLHN1O2UuZmxhZ3N8PTgxOTJ9fWZ1bmN0aW9uIHhsKGUsdCl7dCE9PW51bGwmJihlLmZsYWdzfD00KSxlLmZsYWdzJjE2Mzg0JiYodD1lLnRhZyE9PTIyP2lzKCk6NTM2ODcwOTEyLGUubGFuZXN8PXQsdmF8PXQpfWZ1bmN0aW9uIG9pKGUsdCl7aWYoIWllKXN3aXRjaChlLnRhaWxNb2RlKXtjYXNlImhpZGRlbiI6dD1lLnRhaWw7Zm9yKHZhciBuPW51bGw7dCE9PW51bGw7KXQuYWx0ZXJuYXRlIT09bnVsbCYmKG49dCksdD10LnNpYmxpbmc7bj09PW51bGw/ZS50YWlsPW51bGw6bi5zaWJsaW5nPW51bGw7YnJlYWs7Y2FzZSJjb2xsYXBzZWQiOm49ZS50YWlsO2Zvcih2YXIgYT1udWxsO24hPT1udWxsOyluLmFsdGVybmF0ZSE9PW51bGwmJihhPW4pLG49bi5zaWJsaW5nO2E9PT1udWxsP3R8fGUudGFpbD09PW51bGw/ZS50YWlsPW51bGw6ZS50YWlsLnNpYmxpbmc9bnVsbDphLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24geGUoZSl7dmFyIHQ9ZS5hbHRlcm5hdGUhPT1udWxsJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLGE9MDtpZih0KWZvcih2YXIgaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxhfD1pLnN1YnRyZWVGbGFncyY2NTAxMTcxMixhfD1pLmZsYWdzJjY1MDExNzEyLGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7ZWxzZSBmb3IoaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxhfD1pLnN1YnRyZWVGbGFncyxhfD1pLmZsYWdzLGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7cmV0dXJuIGUuc3VidHJlZUZsYWdzfD1hLGUuY2hpbGRMYW5lcz1uLHR9ZnVuY3Rpb24gaWgoZSx0LG4pe3ZhciBhPXQucGVuZGluZ1Byb3BzO3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAzMTpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiB4ZSh0KSxudWxsO2Nhc2UgMTpyZXR1cm4geGUodCksbnVsbDtjYXNlIDM6cmV0dXJuIG49dC5zdGF0ZU5vZGUsYT1udWxsLGUhPT1udWxsJiYoYT1lLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQubWVtb2l6ZWRTdGF0ZS5jYWNoZSE9PWEmJih0LmZsYWdzfD0yMDQ4KSxHdChDZSksRnQoKSxuLnBlbmRpbmdDb250ZXh0JiYobi5jb250ZXh0PW4ucGVuZGluZ0NvbnRleHQsbi5wZW5kaW5nQ29udGV4dD1udWxsKSwoZT09PW51bGx8fGUuY2hpbGQ9PT1udWxsKSYmKFhhKHQpP1Z0KHQpOmU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYodC5mbGFncyYyNTYpPT09MHx8KHQuZmxhZ3N8PTEwMjQsaXUoKSkpLHhlKHQpLG51bGw7Y2FzZSAyNjpyZXR1cm4gbj10Lm1lbW9pemVkU3RhdGUsZT09PW51bGw/KFZ0KHQpLG4hPT1udWxsPyh4ZSh0KSxBZCh0LG4pKTooeGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KSk6bj9uIT09ZS5tZW1vaXplZFN0YXRlPyhWdCh0KSx4ZSh0KSxBZCh0LG4pKTooeGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KTooZS5tZW1vaXplZFByb3BzIT09YSYmVnQodCkseGUodCksdC5mbGFncyY9LTE2Nzc3MjE3KSxudWxsO2Nhc2UgMjc6cWkodCksbj1LLmN1cnJlbnQ7dmFyIGk9dC50eXBlO2lmKGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKCFhKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4geGUodCksbnVsbH1lPWouY3VycmVudCxYYSh0KT9udSh0KTooZT1FZihpLGEsbiksdC5zdGF0ZU5vZGU9ZSxWdCh0KSl9cmV0dXJuIHhlKHQpLG51bGw7Y2FzZSA1OmlmKHFpKHQpLG49dC50eXBlLGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKCFhKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4geGUodCksbnVsbH1pZihlPWouY3VycmVudCxYYSh0KSludSh0KTtlbHNle3N3aXRjaChpPWpsKEsuY3VycmVudCksZSl7Y2FzZSAxOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixuKTticmVhaztjYXNlIDI6ZT1pLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbik7YnJlYWs7ZGVmYXVsdDpzd2l0Y2gobil7Y2FzZSJzdmciOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixuKTticmVhaztjYXNlIm1hdGgiOmU9aS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLG4pO2JyZWFrO2Nhc2Uic2NyaXB0IjplPWkuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7YnJlYWs7Y2FzZSJzZWxlY3QiOmU9dHlwZW9mIGEuaXM9PSJzdHJpbmciP2kuY3JlYXRlRWxlbWVudCgic2VsZWN0Iix7aXM6YS5pc30pOmkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYS5tdWx0aXBsZT9lLm11bHRpcGxlPSEwOmEuc2l6ZSYmKGUuc2l6ZT1hLnNpemUpO2JyZWFrO2RlZmF1bHQ6ZT10eXBlb2YgYS5pcz09InN0cmluZyI/aS5jcmVhdGVFbGVtZW50KG4se2lzOmEuaXN9KTppLmNyZWF0ZUVsZW1lbnQobil9fWVbSmVdPXQsZVtJZV09YTtlOmZvcihpPXQuY2hpbGQ7aSE9PW51bGw7KXtpZihpLnRhZz09PTV8fGkudGFnPT09NillLmFwcGVuZENoaWxkKGkuc3RhdGVOb2RlKTtlbHNlIGlmKGkudGFnIT09NCYmaS50YWchPT0yNyYmaS5jaGlsZCE9PW51bGwpe2kuY2hpbGQucmV0dXJuPWksaT1pLmNoaWxkO2NvbnRpbnVlfWlmKGk9PT10KWJyZWFrIGU7Zm9yKDtpLnNpYmxpbmc9PT1udWxsOyl7aWYoaS5yZXR1cm49PT1udWxsfHxpLnJldHVybj09PXQpYnJlYWsgZTtpPWkucmV0dXJufWkuc2libGluZy5yZXR1cm49aS5yZXR1cm4saT1pLnNpYmxpbmd9dC5zdGF0ZU5vZGU9ZTtlOnN3aXRjaChWZShlLG4sYSksbil7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjplPSEhYS5hdXRvRm9jdXM7YnJlYWsgZTtjYXNlImltZyI6ZT0hMDticmVhayBlO2RlZmF1bHQ6ZT0hMX1lJiZWdCh0KX19cmV0dXJuIHhlKHQpLHQuZmxhZ3MmPS0xNjc3NzIxNyxudWxsO2Nhc2UgNjppZihlJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1hJiZWdCh0KTtlbHNle2lmKHR5cGVvZiBhIT0ic3RyaW5nIiYmdC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKHUoMTY2KSk7aWYoZT1LLmN1cnJlbnQsWGEodCkpe2lmKGU9dC5zdGF0ZU5vZGUsbj10Lm1lbW9pemVkUHJvcHMsYT1udWxsLGk9RmUsaSE9PW51bGwpc3dpdGNoKGkudGFnKXtjYXNlIDI3OmNhc2UgNTphPWkubWVtb2l6ZWRQcm9wc31lW0plXT10LGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxhIT09bnVsbCYmYS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc9PT0hMHx8YmYoZS5ub2RlVmFsdWUsbikpLGV8fERuKHQpfWVsc2UgZT1qbChlKS5jcmVhdGVUZXh0Tm9kZShhKSxlW0plXT10LHQuc3RhdGVOb2RlPWV9cmV0dXJuIHhlKHQpLG51bGw7Y2FzZSAxMzppZihhPXQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihpPVhhKHQpLGEhPT1udWxsJiZhLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihlPT09bnVsbCl7aWYoIWkpdGhyb3cgRXJyb3IodSgzMTgpKTtpZihpPXQubWVtb2l6ZWRTdGF0ZSxpPWkhPT1udWxsP2kuZGVoeWRyYXRlZDpudWxsLCFpKXRocm93IEVycm9yKHUoMzE3KSk7aVtKZV09dH1lbHNlIFphKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDt4ZSh0KSxpPSExfWVsc2UgaT1pdSgpLGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1pKSxpPSEwO2lmKCFpKXJldHVybiB0LmZsYWdzJjI1Nj8oWHQodCksdCk6KFh0KHQpLG51bGwpfWlmKFh0KHQpLCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0LmxhbmVzPW4sdDtpZihuPWEhPT1udWxsLGU9ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbil7YT10LmNoaWxkLGk9bnVsbCxhLmFsdGVybmF0ZSE9PW51bGwmJmEuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZhLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihpPWEuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpO3ZhciBsPW51bGw7YS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihsPWEubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbCE9PWkmJihhLmZsYWdzfD0yMDQ4KX1yZXR1cm4gbiE9PWUmJm4mJih0LmNoaWxkLmZsYWdzfD04MTkyKSx4bCh0LHQudXBkYXRlUXVldWUpLHhlKHQpLG51bGw7Y2FzZSA0OnJldHVybiBGdCgpLGU9PT1udWxsJiZscih0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSx4ZSh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIEd0KHQudHlwZSkseGUodCksbnVsbDtjYXNlIDE5OmlmKE0ocWUpLGk9dC5tZW1vaXplZFN0YXRlLGk9PT1udWxsKXJldHVybiB4ZSh0KSxudWxsO2lmKGE9KHQuZmxhZ3MmMTI4KSE9PTAsbD1pLnJlbmRlcmluZyxsPT09bnVsbClpZihhKW9pKGksITEpO2Vsc2V7aWYoRWUhPT0wfHxlIT09bnVsbCYmKGUuZmxhZ3MmMTI4KSE9PTApZm9yKGU9dC5jaGlsZDtlIT09bnVsbDspe2lmKGw9eWwoZSksbCE9PW51bGwpe2Zvcih0LmZsYWdzfD0xMjgsb2koaSwhMSksZT1sLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9ZSx4bCh0LGUpLHQuc3VidHJlZUZsYWdzPTAsZT1uLG49dC5jaGlsZDtuIT09bnVsbDspZXUobixlKSxuPW4uc2libGluZztyZXR1cm4gQyhxZSxxZS5jdXJyZW50JjF8MiksdC5jaGlsZH1lPWUuc2libGluZ31pLnRhaWwhPT1udWxsJiZ6dCgpPkVsJiYodC5mbGFnc3w9MTI4LGE9ITAsb2koaSwhMSksdC5sYW5lcz00MTk0MzA0KX1lbHNle2lmKCFhKWlmKGU9eWwobCksZSE9PW51bGwpe2lmKHQuZmxhZ3N8PTEyOCxhPSEwLGU9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPWUseGwodCxlKSxvaShpLCEwKSxpLnRhaWw9PT1udWxsJiZpLnRhaWxNb2RlPT09ImhpZGRlbiImJiFsLmFsdGVybmF0ZSYmIWllKXJldHVybiB4ZSh0KSxudWxsfWVsc2UgMip6dCgpLWkucmVuZGVyaW5nU3RhcnRUaW1lPkVsJiZuIT09NTM2ODcwOTEyJiYodC5mbGFnc3w9MTI4LGE9ITAsb2koaSwhMSksdC5sYW5lcz00MTk0MzA0KTtpLmlzQmFja3dhcmRzPyhsLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWwpOihlPWkubGFzdCxlIT09bnVsbD9lLnNpYmxpbmc9bDp0LmNoaWxkPWwsaS5sYXN0PWwpfXJldHVybiBpLnRhaWwhPT1udWxsPyh0PWkudGFpbCxpLnJlbmRlcmluZz10LGkudGFpbD10LnNpYmxpbmcsaS5yZW5kZXJpbmdTdGFydFRpbWU9enQoKSx0LnNpYmxpbmc9bnVsbCxlPXFlLmN1cnJlbnQsQyhxZSxhP2UmMXwyOmUmMSksdCk6KHhlKHQpLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gWHQodCksY28oKSxhPXQubWVtb2l6ZWRTdGF0ZSE9PW51bGwsZSE9PW51bGw/ZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9PWEmJih0LmZsYWdzfD04MTkyKTphJiYodC5mbGFnc3w9ODE5MiksYT8obiY1MzY4NzA5MTIpIT09MCYmKHQuZmxhZ3MmMTI4KT09PTAmJih4ZSh0KSx0LnN1YnRyZWVGbGFncyY2JiYodC5mbGFnc3w9ODE5MikpOnhlKHQpLG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmeGwodCxuLnJldHJ5UXVldWUpLG49bnVsbCxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksYT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoYT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGEhPT1uJiYodC5mbGFnc3w9MjA0OCksZSE9PW51bGwmJk0ocW4pLG51bGw7Y2FzZSAyNDpyZXR1cm4gbj1udWxsLGUhPT1udWxsJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQubWVtb2l6ZWRTdGF0ZS5jYWNoZSE9PW4mJih0LmZsYWdzfD0yMDQ4KSxHdChDZSkseGUodCksbnVsbDtjYXNlIDI1OnJldHVybiBudWxsO2Nhc2UgMzA6cmV0dXJuIG51bGx9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBsaChlLHQpe3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAxOnJldHVybiBlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDM6cmV0dXJuIEd0KENlKSxGdCgpLGU9dC5mbGFncywoZSY2NTUzNikhPT0wJiYoZSYxMjgpPT09MD8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBxaSh0KSxudWxsO2Nhc2UgMTM6aWYoWHQodCksZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJmUuZGVoeWRyYXRlZCE9PW51bGwpe2lmKHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcih1KDM0MCkpO1phKCl9cmV0dXJuIGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIE0ocWUpLG51bGw7Y2FzZSA0OnJldHVybiBGdCgpLG51bGw7Y2FzZSAxMDpyZXR1cm4gR3QodC50eXBlKSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gWHQodCksY28oKSxlIT09bnVsbCYmTShxbiksZT10LmZsYWdzLGUmNjU1MzY/KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNDpyZXR1cm4gR3QoQ2UpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiBFZChlLHQpe3N3aXRjaChWYyh0KSx0LnRhZyl7Y2FzZSAzOkd0KENlKSxGdCgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6cWkodCk7YnJlYWs7Y2FzZSA0OkZ0KCk7YnJlYWs7Y2FzZSAxMzpYdCh0KTticmVhaztjYXNlIDE5Ok0ocWUpO2JyZWFrO2Nhc2UgMTA6R3QodC50eXBlKTticmVhaztjYXNlIDIyOmNhc2UgMjM6WHQodCksY28oKSxlIT09bnVsbCYmTShxbik7YnJlYWs7Y2FzZSAyNDpHdChDZSl9fWZ1bmN0aW9uIHJpKGUsdCl7dHJ5e3ZhciBuPXQudXBkYXRlUXVldWUsYT1uIT09bnVsbD9uLmxhc3RFZmZlY3Q6bnVsbDtpZihhIT09bnVsbCl7dmFyIGk9YS5uZXh0O249aTtkb3tpZigobi50YWcmZSk9PT1lKXthPXZvaWQgMDt2YXIgbD1uLmNyZWF0ZSxvPW4uaW5zdDthPWwoKSxvLmRlc3Ryb3k9YX1uPW4ubmV4dH13aGlsZShuIT09aSl9fWNhdGNoKHMpe2hlKHQsdC5yZXR1cm4scyl9fWZ1bmN0aW9uIHNuKGUsdCxuKXt0cnl7dmFyIGE9dC51cGRhdGVRdWV1ZSxpPWEhPT1udWxsP2EubGFzdEVmZmVjdDpudWxsO2lmKGkhPT1udWxsKXt2YXIgbD1pLm5leHQ7YT1sO2Rve2lmKChhLnRhZyZlKT09PWUpe3ZhciBvPWEuaW5zdCxzPW8uZGVzdHJveTtpZihzIT09dm9pZCAwKXtvLmRlc3Ryb3k9dm9pZCAwLGk9dDt2YXIgZj1uLGs9czt0cnl7aygpfWNhdGNoKEUpe2hlKGksZixFKX19fWE9YS5uZXh0fXdoaWxlKGEhPT1sKX19Y2F0Y2goRSl7aGUodCx0LnJldHVybixFKX19ZnVuY3Rpb24gUmQoZSl7dmFyIHQ9ZS51cGRhdGVRdWV1ZTtpZih0IT09bnVsbCl7dmFyIG49ZS5zdGF0ZU5vZGU7dHJ5e2h1KHQsbil9Y2F0Y2goYSl7aGUoZSxlLnJldHVybixhKX19fWZ1bmN0aW9uIHpkKGUsdCxuKXtuLnByb3BzPWpuKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpLG4uc3RhdGU9ZS5tZW1vaXplZFN0YXRlO3RyeXtuLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goYSl7aGUoZSx0LGEpfX1mdW5jdGlvbiBzaShlLHQpe3RyeXt2YXIgbj1lLnJlZjtpZihuIT09bnVsbCl7c3dpdGNoKGUudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnZhciBhPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMzA6YT1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OmE9ZS5zdGF0ZU5vZGV9dHlwZW9mIG49PSJmdW5jdGlvbiI/ZS5yZWZDbGVhbnVwPW4oYSk6bi5jdXJyZW50PWF9fWNhdGNoKGkpe2hlKGUsdCxpKX19ZnVuY3Rpb24gRHQoZSx0KXt2YXIgbj1lLnJlZixhPWUucmVmQ2xlYW51cDtpZihuIT09bnVsbClpZih0eXBlb2YgYT09ImZ1bmN0aW9uIil0cnl7YSgpfWNhdGNoKGkpe2hlKGUsdCxpKX1maW5hbGx5e2UucmVmQ2xlYW51cD1udWxsLGU9ZS5hbHRlcm5hdGUsZSE9bnVsbCYmKGUucmVmQ2xlYW51cD1udWxsKX1lbHNlIGlmKHR5cGVvZiBuPT0iZnVuY3Rpb24iKXRyeXtuKG51bGwpfWNhdGNoKGkpe2hlKGUsdCxpKX1lbHNlIG4uY3VycmVudD1udWxsfWZ1bmN0aW9uIE5kKGUpe3ZhciB0PWUudHlwZSxuPWUubWVtb2l6ZWRQcm9wcyxhPWUuc3RhdGVOb2RlO3RyeXtlOnN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZhLmZvY3VzKCk7YnJlYWsgZTtjYXNlImltZyI6bi5zcmM/YS5zcmM9bi5zcmM6bi5zcmNTZXQmJihhLnNyY3NldD1uLnNyY1NldCl9fWNhdGNoKGkpe2hlKGUsZS5yZXR1cm4saSl9fWZ1bmN0aW9uIHFvKGUsdCxuKXt0cnl7dmFyIGE9ZS5zdGF0ZU5vZGU7QWgoYSxlLnR5cGUsbix0KSxhW0llXT10fWNhdGNoKGkpe2hlKGUsZS5yZXR1cm4saSl9fWZ1bmN0aW9uIE9kKGUpe3JldHVybiBlLnRhZz09PTV8fGUudGFnPT09M3x8ZS50YWc9PT0yNnx8ZS50YWc9PT0yNyYmZ24oZS50eXBlKXx8ZS50YWc9PT00fWZ1bmN0aW9uIFVvKGUpe2U6Zm9yKDs7KXtmb3IoO2Uuc2libGluZz09PW51bGw7KXtpZihlLnJldHVybj09PW51bGx8fE9kKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nO2UudGFnIT09NSYmZS50YWchPT02JiZlLnRhZyE9PTE4Oyl7aWYoZS50YWc9PT0yNyYmZ24oZS50eXBlKXx8ZS5mbGFncyYyfHxlLmNoaWxkPT09bnVsbHx8ZS50YWc9PT00KWNvbnRpbnVlIGU7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGR9aWYoIShlLmZsYWdzJjIpKXJldHVybiBlLnN0YXRlTm9kZX19ZnVuY3Rpb24gam8oZSx0LG4pe3ZhciBhPWUudGFnO2lmKGE9PT01fHxhPT09NillPWUuc3RhdGVOb2RlLHQ/KG4ubm9kZVR5cGU9PT05P24uYm9keTpuLm5vZGVOYW1lPT09IkhUTUwiP24ub3duZXJEb2N1bWVudC5ib2R5Om4pLmluc2VydEJlZm9yZShlLHQpOih0PW4ubm9kZVR5cGU9PT05P24uYm9keTpuLm5vZGVOYW1lPT09IkhUTUwiP24ub3duZXJEb2N1bWVudC5ib2R5Om4sdC5hcHBlbmRDaGlsZChlKSxuPW4uX3JlYWN0Um9vdENvbnRhaW5lcixuIT1udWxsfHx0Lm9uY2xpY2shPT1udWxsfHwodC5vbmNsaWNrPVVsKSk7ZWxzZSBpZihhIT09NCYmKGE9PT0yNyYmZ24oZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUsdD1udWxsKSxlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihqbyhlLHQsbiksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KWpvKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiBUbChlLHQsbil7dmFyIGE9ZS50YWc7aWYoYT09PTV8fGE9PT02KWU9ZS5zdGF0ZU5vZGUsdD9uLmluc2VydEJlZm9yZShlLHQpOm4uYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZihhIT09NCYmKGE9PT0yNyYmZ24oZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLGU9ZS5jaGlsZCxlIT09bnVsbCkpZm9yKFRsKGUsdCxuKSxlPWUuc2libGluZztlIT09bnVsbDspVGwoZSx0LG4pLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIERkKGUpe3ZhciB0PWUuc3RhdGVOb2RlLG49ZS5tZW1vaXplZFByb3BzO3RyeXtmb3IodmFyIGE9ZS50eXBlLGk9dC5hdHRyaWJ1dGVzO2kubGVuZ3RoOyl0LnJlbW92ZUF0dHJpYnV0ZU5vZGUoaVswXSk7VmUodCxhLG4pLHRbSmVdPWUsdFtJZV09bn1jYXRjaChsKXtoZShlLGUucmV0dXJuLGwpfX12YXIgS3Q9ITEsTmU9ITEsSG89ITEsTWQ9dHlwZW9mIFdlYWtTZXQ9PSJmdW5jdGlvbiI/V2Vha1NldDpTZXQsR2U9bnVsbDtmdW5jdGlvbiBjaChlLHQpe2lmKGU9ZS5jb250YWluZXJJbmZvLHJyPVFsLGU9WHMoZSkscWMoZSkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBlKXZhciBuPXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBlOntuPShuPWUub3duZXJEb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgYT1uLmdldFNlbGVjdGlvbiYmbi5nZXRTZWxlY3Rpb24oKTtpZihhJiZhLnJhbmdlQ291bnQhPT0wKXtuPWEuYW5jaG9yTm9kZTt2YXIgaT1hLmFuY2hvck9mZnNldCxsPWEuZm9jdXNOb2RlO2E9YS5mb2N1c09mZnNldDt0cnl7bi5ub2RlVHlwZSxsLm5vZGVUeXBlfWNhdGNoe249bnVsbDticmVhayBlfXZhciBvPTAscz0tMSxmPS0xLGs9MCxFPTAsej1lLFM9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciB3O3ohPT1ufHxpIT09MCYmei5ub2RlVHlwZSE9PTN8fChzPW8raSkseiE9PWx8fGEhPT0wJiZ6Lm5vZGVUeXBlIT09M3x8KGY9bythKSx6Lm5vZGVUeXBlPT09MyYmKG8rPXoubm9kZVZhbHVlLmxlbmd0aCksKHc9ei5maXJzdENoaWxkKSE9PW51bGw7KVM9eix6PXc7Zm9yKDs7KXtpZih6PT09ZSlicmVhayB0O2lmKFM9PT1uJiYrK2s9PT1pJiYocz1vKSxTPT09bCYmKytFPT09YSYmKGY9byksKHc9ei5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO3o9UyxTPXoucGFyZW50Tm9kZX16PXd9bj1zPT09LTF8fGY9PT0tMT9udWxsOntzdGFydDpzLGVuZDpmfX1lbHNlIG49bnVsbH1uPW58fHtzdGFydDowLGVuZDowfX1lbHNlIG49bnVsbDtmb3Ioc3I9e2ZvY3VzZWRFbGVtOmUsc2VsZWN0aW9uUmFuZ2U6bn0sUWw9ITEsR2U9dDtHZSE9PW51bGw7KWlmKHQ9R2UsZT10LmNoaWxkLCh0LnN1YnRyZWVGbGFncyYxMDI0KSE9PTAmJmUhPT1udWxsKWUucmV0dXJuPXQsR2U9ZTtlbHNlIGZvcig7R2UhPT1udWxsOyl7c3dpdGNoKHQ9R2UsbD10LmFsdGVybmF0ZSxlPXQuZmxhZ3MsdC50YWcpe2Nhc2UgMDpicmVhaztjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKChlJjEwMjQpIT09MCYmbCE9PW51bGwpe2U9dm9pZCAwLG49dCxpPWwubWVtb2l6ZWRQcm9wcyxsPWwubWVtb2l6ZWRTdGF0ZSxhPW4uc3RhdGVOb2RlO3RyeXt2YXIgVj1qbihuLnR5cGUsaSxuLmVsZW1lbnRUeXBlPT09bi50eXBlKTtlPWEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoVixsKSxhLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPWV9Y2F0Y2goUSl7aGUobixuLnJldHVybixRKX19YnJlYWs7Y2FzZSAzOmlmKChlJjEwMjQpIT09MCl7aWYoZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLG49ZS5ub2RlVHlwZSxuPT09OSlmcihlKTtlbHNlIGlmKG49PT0xKXN3aXRjaChlLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpmcihlKTticmVhaztkZWZhdWx0OmUudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2RlZmF1bHQ6aWYoKGUmMTAyNCkhPT0wKXRocm93IEVycm9yKHUoMTYzKSl9aWYoZT10LnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPXQucmV0dXJuLEdlPWU7YnJlYWt9R2U9dC5yZXR1cm59fWZ1bmN0aW9uIENkKGUsdCxuKXt2YXIgYT1uLmZsYWdzO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1bihlLG4pLGEmNCYmcmkoNSxuKTticmVhaztjYXNlIDE6aWYodW4oZSxuKSxhJjQpaWYoZT1uLnN0YXRlTm9kZSx0PT09bnVsbCl0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKG8pe2hlKG4sbi5yZXR1cm4sbyl9ZWxzZXt2YXIgaT1qbihuLnR5cGUsdC5tZW1vaXplZFByb3BzKTt0PXQubWVtb2l6ZWRTdGF0ZTt0cnl7ZS5jb21wb25lbnREaWRVcGRhdGUoaSx0LGUuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfWNhdGNoKG8pe2hlKG4sbi5yZXR1cm4sbyl9fWEmNjQmJlJkKG4pLGEmNTEyJiZzaShuLG4ucmV0dXJuKTticmVhaztjYXNlIDM6aWYodW4oZSxuKSxhJjY0JiYoZT1uLnVwZGF0ZVF1ZXVlLGUhPT1udWxsKSl7aWYodD1udWxsLG4uY2hpbGQhPT1udWxsKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6dD1uLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX10cnl7aHUoZSx0KX1jYXRjaChvKXtoZShuLG4ucmV0dXJuLG8pfX1icmVhaztjYXNlIDI3OnQ9PT1udWxsJiZhJjQmJkRkKG4pO2Nhc2UgMjY6Y2FzZSA1OnVuKGUsbiksdD09PW51bGwmJmEmNCYmTmQobiksYSY1MTImJnNpKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6dW4oZSxuKTticmVhaztjYXNlIDEzOnVuKGUsbiksYSY0JiZqZChlLG4pLGEmNjQmJihlPW4ubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmKGU9ZS5kZWh5ZHJhdGVkLGUhPT1udWxsJiYobj1oaC5iaW5kKG51bGwsbiksTWgoZSxuKSkpKTticmVhaztjYXNlIDIyOmlmKGE9bi5tZW1vaXplZFN0YXRlIT09bnVsbHx8S3QsIWEpe3Q9dCE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fE5lLGk9S3Q7dmFyIGw9TmU7S3Q9YSwoTmU9dCkmJiFsP2RuKGUsbiwobi5zdWJ0cmVlRmxhZ3MmODc3MikhPT0wKTp1bihlLG4pLEt0PWksTmU9bH1icmVhaztjYXNlIDMwOmJyZWFrO2RlZmF1bHQ6dW4oZSxuKX19ZnVuY3Rpb24gcWQoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7dCE9PW51bGwmJihlLmFsdGVybmF0ZT1udWxsLHFkKHQpKSxlLmNoaWxkPW51bGwsZS5kZWxldGlvbnM9bnVsbCxlLnNpYmxpbmc9bnVsbCxlLnRhZz09PTUmJih0PWUuc3RhdGVOb2RlLHQhPT1udWxsJiZtYyh0KSksZS5zdGF0ZU5vZGU9bnVsbCxlLnJldHVybj1udWxsLGUuZGVwZW5kZW5jaWVzPW51bGwsZS5tZW1vaXplZFByb3BzPW51bGwsZS5tZW1vaXplZFN0YXRlPW51bGwsZS5wZW5kaW5nUHJvcHM9bnVsbCxlLnN0YXRlTm9kZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbH12YXIgU2U9bnVsbCxudD0hMTtmdW5jdGlvbiBKdChlLHQsbil7Zm9yKG49bi5jaGlsZDtuIT09bnVsbDspVWQoZSx0LG4pLG49bi5zaWJsaW5nfWZ1bmN0aW9uIFVkKGUsdCxuKXtpZihydCYmdHlwZW9mIHJ0Lm9uQ29tbWl0RmliZXJVbm1vdW50PT0iZnVuY3Rpb24iKXRyeXtydC5vbkNvbW1pdEZpYmVyVW5tb3VudChOYSxuKX1jYXRjaHt9c3dpdGNoKG4udGFnKXtjYXNlIDI2Ok5lfHxEdChuLHQpLEp0KGUsdCxuKSxuLm1lbW9pemVkU3RhdGU/bi5tZW1vaXplZFN0YXRlLmNvdW50LS06bi5zdGF0ZU5vZGUmJihuPW4uc3RhdGVOb2RlLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7YnJlYWs7Y2FzZSAyNzpOZXx8RHQobix0KTt2YXIgYT1TZSxpPW50O2duKG4udHlwZSkmJihTZT1uLnN0YXRlTm9kZSxudD0hMSksSnQoZSx0LG4pLHZpKG4uc3RhdGVOb2RlKSxTZT1hLG50PWk7YnJlYWs7Y2FzZSA1Ok5lfHxEdChuLHQpO2Nhc2UgNjppZihhPVNlLGk9bnQsU2U9bnVsbCxKdChlLHQsbiksU2U9YSxudD1pLFNlIT09bnVsbClpZihudCl0cnl7KFNlLm5vZGVUeXBlPT09OT9TZS5ib2R5OlNlLm5vZGVOYW1lPT09IkhUTUwiP1NlLm93bmVyRG9jdW1lbnQuYm9keTpTZSkucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpfWNhdGNoKGwpe2hlKG4sdCxsKX1lbHNlIHRyeXtTZS5yZW1vdmVDaGlsZChuLnN0YXRlTm9kZSl9Y2F0Y2gobCl7aGUobix0LGwpfWJyZWFrO2Nhc2UgMTg6U2UhPT1udWxsJiYobnQ/KGU9U2UsVGYoZS5ub2RlVHlwZT09PTk/ZS5ib2R5OmUubm9kZU5hbWU9PT0iSFRNTCI/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSxuLnN0YXRlTm9kZSksQWkoZSkpOlRmKFNlLG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OmE9U2UsaT1udCxTZT1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLG50PSEwLEp0KGUsdCxuKSxTZT1hLG50PWk7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1Ok5lfHxzbigyLG4sdCksTmV8fHNuKDQsbix0KSxKdChlLHQsbik7YnJlYWs7Y2FzZSAxOk5lfHwoRHQobix0KSxhPW4uc3RhdGVOb2RlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZ6ZChuLHQsYSkpLEp0KGUsdCxuKTticmVhaztjYXNlIDIxOkp0KGUsdCxuKTticmVhaztjYXNlIDIyOk5lPShhPU5lKXx8bi5tZW1vaXplZFN0YXRlIT09bnVsbCxKdChlLHQsbiksTmU9YTticmVhaztkZWZhdWx0Okp0KGUsdCxuKX19ZnVuY3Rpb24gamQoZSx0KXtpZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsJiYoZT10LmFsdGVybmF0ZSxlIT09bnVsbCYmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiYoZT1lLmRlaHlkcmF0ZWQsZSE9PW51bGwpKSkpdHJ5e0FpKGUpfWNhdGNoKG4pe2hlKHQsdC5yZXR1cm4sbil9fWZ1bmN0aW9uIG9oKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAxMzpjYXNlIDE5OnZhciB0PWUuc3RhdGVOb2RlO3JldHVybiB0PT09bnVsbCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IE1kKSx0O2Nhc2UgMjI6cmV0dXJuIGU9ZS5zdGF0ZU5vZGUsdD1lLl9yZXRyeUNhY2hlLHQ9PT1udWxsJiYodD1lLl9yZXRyeUNhY2hlPW5ldyBNZCksdDtkZWZhdWx0OnRocm93IEVycm9yKHUoNDM1LGUudGFnKSl9fWZ1bmN0aW9uIEJvKGUsdCl7dmFyIG49b2goZSk7dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBpPW1oLmJpbmQobnVsbCxlLGEpO24uaGFzKGEpfHwobi5hZGQoYSksYS50aGVuKGksaSkpfSl9ZnVuY3Rpb24gZnQoZSx0KXt2YXIgbj10LmRlbGV0aW9ucztpZihuIT09bnVsbClmb3IodmFyIGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXSxsPWUsbz10LHM9bztlOmZvcig7cyE9PW51bGw7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoZ24ocy50eXBlKSl7U2U9cy5zdGF0ZU5vZGUsbnQ9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6U2U9cy5zdGF0ZU5vZGUsbnQ9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OlNlPXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbnQ9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKFNlPT09bnVsbCl0aHJvdyBFcnJvcih1KDE2MCkpO1VkKGwsbyxpKSxTZT1udWxsLG50PSExLGw9aS5hbHRlcm5hdGUsbCE9PW51bGwmJihsLnJldHVybj1udWxsKSxpLnJldHVybj1udWxsfWlmKHQuc3VidHJlZUZsYWdzJjEzODc4KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KUhkKHQsZSksdD10LnNpYmxpbmd9dmFyIEV0PW51bGw7ZnVuY3Rpb24gSGQoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZSxhPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6ZnQodCxlKSxwdChlKSxhJjQmJihzbigzLGUsZS5yZXR1cm4pLHJpKDMsZSksc24oNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOmZ0KHQsZSkscHQoZSksYSY1MTImJihOZXx8bj09PW51bGx8fER0KG4sbi5yZXR1cm4pKSxhJjY0JiZLdCYmKGU9ZS51cGRhdGVRdWV1ZSxlIT09bnVsbCYmKGE9ZS5jYWxsYmFja3MsYSE9PW51bGwmJihuPWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bj09PW51bGw/YTpuLmNvbmNhdChhKSkpKTticmVhaztjYXNlIDI2OnZhciBpPUV0O2lmKGZ0KHQsZSkscHQoZSksYSY1MTImJihOZXx8bj09PW51bGx8fER0KG4sbi5yZXR1cm4pKSxhJjQpe3ZhciBsPW4hPT1udWxsP24ubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKGE9ZS5tZW1vaXplZFN0YXRlLG49PT1udWxsKWlmKGE9PT1udWxsKWlmKGUuc3RhdGVOb2RlPT09bnVsbCl7ZTp7YT1lLnR5cGUsbj1lLm1lbW9pemVkUHJvcHMsaT1pLm93bmVyRG9jdW1lbnR8fGk7dDpzd2l0Y2goYSl7Y2FzZSJ0aXRsZSI6bD1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpWzBdLCghbHx8bFtNYV18fGxbSmVdfHxsLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ8fGwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKSYmKGw9aS5jcmVhdGVFbGVtZW50KGEpLGkuaGVhZC5pbnNlcnRCZWZvcmUobCxpLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpKSksVmUobCxhLG4pLGxbSmVdPWUsTGUobCksYT1sO2JyZWFrIGU7Y2FzZSJsaW5rIjp2YXIgbz1NZigibGluayIsImhyZWYiLGkpLmdldChhKyhuLmhyZWZ8fCIiKSk7aWYobyl7Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspaWYobD1vW3NdLGwuZ2V0QXR0cmlidXRlKCJocmVmIik9PT0obi5ocmVmPT1udWxsfHxuLmhyZWY9PT0iIj9udWxsOm4uaHJlZikmJmwuZ2V0QXR0cmlidXRlKCJyZWwiKT09PShuLnJlbD09bnVsbD9udWxsOm4ucmVsKSYmbC5nZXRBdHRyaWJ1dGUoInRpdGxlIik9PT0obi50aXRsZT09bnVsbD9udWxsOm4udGl0bGUpJiZsLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKT09PShuLmNyb3NzT3JpZ2luPT1udWxsP251bGw6bi5jcm9zc09yaWdpbikpe28uc3BsaWNlKHMsMSk7YnJlYWsgdH19bD1pLmNyZWF0ZUVsZW1lbnQoYSksVmUobCxhLG4pLGkuaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztjYXNlIm1ldGEiOmlmKG89TWYoIm1ldGEiLCJjb250ZW50IixpKS5nZXQoYSsobi5jb250ZW50fHwiIikpKXtmb3Iocz0wO3M8by5sZW5ndGg7cysrKWlmKGw9b1tzXSxsLmdldEF0dHJpYnV0ZSgiY29udGVudCIpPT09KG4uY29udGVudD09bnVsbD9udWxsOiIiK24uY29udGVudCkmJmwuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT0obi5uYW1lPT1udWxsP251bGw6bi5uYW1lKSYmbC5nZXRBdHRyaWJ1dGUoInByb3BlcnR5Iik9PT0obi5wcm9wZXJ0eT09bnVsbD9udWxsOm4ucHJvcGVydHkpJiZsLmdldEF0dHJpYnV0ZSgiaHR0cC1lcXVpdiIpPT09KG4uaHR0cEVxdWl2PT1udWxsP251bGw6bi5odHRwRXF1aXYpJiZsLmdldEF0dHJpYnV0ZSgiY2hhcnNldCIpPT09KG4uY2hhclNldD09bnVsbD9udWxsOm4uY2hhclNldCkpe28uc3BsaWNlKHMsMSk7YnJlYWsgdH19bD1pLmNyZWF0ZUVsZW1lbnQoYSksVmUobCxhLG4pLGkuaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LGEpKX1sW0plXT1lLExlKGwpLGE9bH1lLnN0YXRlTm9kZT1hfWVsc2UgQ2YoaSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9RGYoaSxhLGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBsIT09YT8obD09PW51bGw/bi5zdGF0ZU5vZGUhPT1udWxsJiYobj1uLnN0YXRlTm9kZSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobikpOmwuY291bnQtLSxhPT09bnVsbD9DZihpLGUudHlwZSxlLnN0YXRlTm9kZSk6RGYoaSxhLGUubWVtb2l6ZWRQcm9wcykpOmE9PT1udWxsJiZlLnN0YXRlTm9kZSE9PW51bGwmJnFvKGUsZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRQcm9wcyl9YnJlYWs7Y2FzZSAyNzpmdCh0LGUpLHB0KGUpLGEmNTEyJiYoTmV8fG49PT1udWxsfHxEdChuLG4ucmV0dXJuKSksbiE9PW51bGwmJmEmNCYmcW8oZSxlLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoZnQodCxlKSxwdChlKSxhJjUxMiYmKE5lfHxuPT09bnVsbHx8RHQobixuLnJldHVybikpLGUuZmxhZ3MmMzIpe2k9ZS5zdGF0ZU5vZGU7dHJ5e1duKGksIiIpfWNhdGNoKHcpe2hlKGUsZS5yZXR1cm4sdyl9fWEmNCYmZS5zdGF0ZU5vZGUhPW51bGwmJihpPWUubWVtb2l6ZWRQcm9wcyxxbyhlLGksbiE9PW51bGw/bi5tZW1vaXplZFByb3BzOmkpKSxhJjEwMjQmJihIbz0hMCk7YnJlYWs7Y2FzZSA2OmlmKGZ0KHQsZSkscHQoZSksYSY0KXtpZihlLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IodSgxNjIpKTthPWUubWVtb2l6ZWRQcm9wcyxuPWUuc3RhdGVOb2RlO3RyeXtuLm5vZGVWYWx1ZT1hfWNhdGNoKHcpe2hlKGUsZS5yZXR1cm4sdyl9fWJyZWFrO2Nhc2UgMzppZihMbD1udWxsLGk9RXQsRXQ9SGwodC5jb250YWluZXJJbmZvKSxmdCh0LGUpLEV0PWkscHQoZSksYSY0JiZuIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7QWkodC5jb250YWluZXJJbmZvKX1jYXRjaCh3KXtoZShlLGUucmV0dXJuLHcpfUhvJiYoSG89ITEsQmQoZSkpO2JyZWFrO2Nhc2UgNDphPUV0LEV0PUhsKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGZ0KHQsZSkscHQoZSksRXQ9YTticmVhaztjYXNlIDEyOmZ0KHQsZSkscHQoZSk7YnJlYWs7Y2FzZSAxMzpmdCh0LGUpLHB0KGUpLGUuY2hpbGQuZmxhZ3MmODE5MiYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9KG4hPT1udWxsJiZuLm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKFpvPXp0KCkpLGEmNCYmKGE9ZS51cGRhdGVRdWV1ZSxhIT09bnVsbCYmKGUudXBkYXRlUXVldWU9bnVsbCxCbyhlLGEpKSk7YnJlYWs7Y2FzZSAyMjppPWUubWVtb2l6ZWRTdGF0ZSE9PW51bGw7dmFyIGY9biE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwsaz1LdCxFPU5lO2lmKEt0PWt8fGksTmU9RXx8ZixmdCh0LGUpLE5lPUUsS3Q9ayxwdChlKSxhJjgxOTIpZTpmb3IodD1lLnN0YXRlTm9kZSx0Ll92aXNpYmlsaXR5PWk/dC5fdmlzaWJpbGl0eSYtMjp0Ll92aXNpYmlsaXR5fDEsaSYmKG49PT1udWxsfHxmfHxLdHx8TmV8fEhuKGUpKSxuPW51bGwsdD1lOzspe2lmKHQudGFnPT09NXx8dC50YWc9PT0yNil7aWYobj09PW51bGwpe2Y9bj10O3RyeXtpZihsPWYuc3RhdGVOb2RlLGkpbz1sLnN0eWxlLHR5cGVvZiBvLnNldFByb3BlcnR5PT0iZnVuY3Rpb24iP28uc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6by5kaXNwbGF5PSJub25lIjtlbHNle3M9Zi5zdGF0ZU5vZGU7dmFyIHo9Zi5tZW1vaXplZFByb3BzLnN0eWxlLFM9eiE9bnVsbCYmei5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheSIpP3ouZGlzcGxheTpudWxsO3Muc3R5bGUuZGlzcGxheT1TPT1udWxsfHx0eXBlb2YgUz09ImJvb2xlYW4iPyIiOigiIitTKS50cmltKCl9fWNhdGNoKHcpe2hlKGYsZi5yZXR1cm4sdyl9fX1lbHNlIGlmKHQudGFnPT09Nil7aWYobj09PW51bGwpe2Y9dDt0cnl7Zi5zdGF0ZU5vZGUubm9kZVZhbHVlPWk/IiI6Zi5tZW1vaXplZFByb3BzfWNhdGNoKHcpe2hlKGYsZi5yZXR1cm4sdyl9fX1lbHNlIGlmKCh0LnRhZyE9PTIyJiZ0LnRhZyE9PTIzfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsfHx0PT09ZSkmJnQuY2hpbGQhPT1udWxsKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhayBlO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKWJyZWFrIGU7bj09PXQmJihuPW51bGwpLHQ9dC5yZXR1cm59bj09PXQmJihuPW51bGwpLHQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9YSY0JiYoYT1lLnVwZGF0ZVF1ZXVlLGEhPT1udWxsJiYobj1hLnJldHJ5UXVldWUsbiE9PW51bGwmJihhLnJldHJ5UXVldWU9bnVsbCxCbyhlLG4pKSkpO2JyZWFrO2Nhc2UgMTk6ZnQodCxlKSxwdChlKSxhJjQmJihhPWUudXBkYXRlUXVldWUsYSE9PW51bGwmJihlLnVwZGF0ZVF1ZXVlPW51bGwsQm8oZSxhKSkpO2JyZWFrO2Nhc2UgMzA6YnJlYWs7Y2FzZSAyMTpicmVhaztkZWZhdWx0OmZ0KHQsZSkscHQoZSl9fWZ1bmN0aW9uIHB0KGUpe3ZhciB0PWUuZmxhZ3M7aWYodCYyKXt0cnl7Zm9yKHZhciBuLGE9ZS5yZXR1cm47YSE9PW51bGw7KXtpZihPZChhKSl7bj1hO2JyZWFrfWE9YS5yZXR1cm59aWYobj09bnVsbCl0aHJvdyBFcnJvcih1KDE2MCkpO3N3aXRjaChuLnRhZyl7Y2FzZSAyNzp2YXIgaT1uLnN0YXRlTm9kZSxsPVVvKGUpO1RsKGUsbCxpKTticmVhaztjYXNlIDU6dmFyIG89bi5zdGF0ZU5vZGU7bi5mbGFncyYzMiYmKFduKG8sIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIHM9VW8oZSk7VGwoZSxzLG8pO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIGY9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxrPVVvKGUpO2pvKGUsayxmKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMTYxKSl9fWNhdGNoKEUpe2hlKGUsZS5yZXR1cm4sRSl9ZS5mbGFncyY9LTN9dCY0MDk2JiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIEJkKGUpe2lmKGUuc3VidHJlZUZsYWdzJjEwMjQpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3ZhciB0PWU7QmQodCksdC50YWc9PT01JiZ0LmZsYWdzJjEwMjQmJnQuc3RhdGVOb2RlLnJlc2V0KCksZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIHVuKGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmODc3Milmb3IodD10LmNoaWxkO3QhPT1udWxsOylDZChlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIEhuKGUpe2ZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXt2YXIgdD1lO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnNuKDQsdCx0LnJldHVybiksSG4odCk7YnJlYWs7Y2FzZSAxOkR0KHQsdC5yZXR1cm4pO3ZhciBuPXQuc3RhdGVOb2RlO3R5cGVvZiBuLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZ6ZCh0LHQucmV0dXJuLG4pLEhuKHQpO2JyZWFrO2Nhc2UgMjc6dmkodC5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1OkR0KHQsdC5yZXR1cm4pLEhuKHQpO2JyZWFrO2Nhc2UgMjI6dC5tZW1vaXplZFN0YXRlPT09bnVsbCYmSG4odCk7YnJlYWs7Y2FzZSAzMDpIbih0KTticmVhaztkZWZhdWx0OkhuKHQpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBkbihlLHQsbil7Zm9yKG49biYmKHQuc3VidHJlZUZsYWdzJjg3NzIpIT09MCx0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgYT10LmFsdGVybmF0ZSxpPWUsbD10LG89bC5mbGFncztzd2l0Y2gobC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZG4oaSxsLG4pLHJpKDQsbCk7YnJlYWs7Y2FzZSAxOmlmKGRuKGksbCxuKSxhPWwsaT1hLnN0YXRlTm9kZSx0eXBlb2YgaS5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil0cnl7aS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGspe2hlKGEsYS5yZXR1cm4sayl9aWYoYT1sLGk9YS51cGRhdGVRdWV1ZSxpIT09bnVsbCl7dmFyIHM9YS5zdGF0ZU5vZGU7dHJ5e3ZhciBmPWkuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihmIT09bnVsbClmb3IoaS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsaT0wO2k8Zi5sZW5ndGg7aSsrKV91KGZbaV0scyl9Y2F0Y2goayl7aGUoYSxhLnJldHVybixrKX19biYmbyY2NCYmUmQobCksc2kobCxsLnJldHVybik7YnJlYWs7Y2FzZSAyNzpEZChsKTtjYXNlIDI2OmNhc2UgNTpkbihpLGwsbiksbiYmYT09PW51bGwmJm8mNCYmTmQobCksc2kobCxsLnJldHVybik7YnJlYWs7Y2FzZSAxMjpkbihpLGwsbik7YnJlYWs7Y2FzZSAxMzpkbihpLGwsbiksbiYmbyY0JiZqZChpLGwpO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmZG4oaSxsLG4pLHNpKGwsbC5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6YnJlYWs7ZGVmYXVsdDpkbihpLGwsbil9dD10LnNpYmxpbmd9fWZ1bmN0aW9uIExvKGUsdCl7dmFyIG49bnVsbDtlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYoZSE9bnVsbCYmZS5yZWZDb3VudCsrLG4hPW51bGwmJkphKG4pKX1mdW5jdGlvbiBZbyhlLHQpe2U9bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1lJiYodC5yZWZDb3VudCsrLGUhPW51bGwmJkphKGUpKX1mdW5jdGlvbiBNdChlLHQsbixhKXtpZih0LnN1YnRyZWVGbGFncyYxMDI1Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOylMZChlLHQsbixhKSx0PXQuc2libGluZ31mdW5jdGlvbiBMZChlLHQsbixhKXt2YXIgaT10LmZsYWdzO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpNdChlLHQsbixhKSxpJjIwNDgmJnJpKDksdCk7YnJlYWs7Y2FzZSAxOk10KGUsdCxuLGEpO2JyZWFrO2Nhc2UgMzpNdChlLHQsbixhKSxpJjIwNDgmJihlPW51bGwsdC5hbHRlcm5hdGUhPT1udWxsJiYoZT10LmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSx0IT09ZSYmKHQucmVmQ291bnQrKyxlIT1udWxsJiZKYShlKSkpO2JyZWFrO2Nhc2UgMTI6aWYoaSYyMDQ4KXtNdChlLHQsbixhKSxlPXQuc3RhdGVOb2RlO3RyeXt2YXIgbD10Lm1lbW9pemVkUHJvcHMsbz1sLmlkLHM9bC5vblBvc3RDb21taXQ7dHlwZW9mIHM9PSJmdW5jdGlvbiImJnMobyx0LmFsdGVybmF0ZT09PW51bGw/Im1vdW50IjoidXBkYXRlIixlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiwtMCl9Y2F0Y2goZil7aGUodCx0LnJldHVybixmKX19ZWxzZSBNdChlLHQsbixhKTticmVhaztjYXNlIDEzOk10KGUsdCxuLGEpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpsPXQuc3RhdGVOb2RlLG89dC5hbHRlcm5hdGUsdC5tZW1vaXplZFN0YXRlIT09bnVsbD9sLl92aXNpYmlsaXR5JjI/TXQoZSx0LG4sYSk6dWkoZSx0KTpsLl92aXNpYmlsaXR5JjI/TXQoZSx0LG4sYSk6KGwuX3Zpc2liaWxpdHl8PTIsaGEoZSx0LG4sYSwodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MCkpLGkmMjA0OCYmTG8obyx0KTticmVhaztjYXNlIDI0Ok10KGUsdCxuLGEpLGkmMjA0OCYmWW8odC5hbHRlcm5hdGUsdCk7YnJlYWs7ZGVmYXVsdDpNdChlLHQsbixhKX19ZnVuY3Rpb24gaGEoZSx0LG4sYSxpKXtmb3IoaT1pJiYodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MCx0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgbD1lLG89dCxzPW4sZj1hLGs9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aGEobCxvLHMsZixpKSxyaSg4LG8pO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjp2YXIgRT1vLnN0YXRlTm9kZTtvLm1lbW9pemVkU3RhdGUhPT1udWxsP0UuX3Zpc2liaWxpdHkmMj9oYShsLG8scyxmLGkpOnVpKGwsbyk6KEUuX3Zpc2liaWxpdHl8PTIsaGEobCxvLHMsZixpKSksaSYmayYyMDQ4JiZMbyhvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmhhKGwsbyxzLGYsaSksaSYmayYyMDQ4JiZZbyhvLmFsdGVybmF0ZSxvKTticmVhaztkZWZhdWx0OmhhKGwsbyxzLGYsaSl9dD10LnNpYmxpbmd9fWZ1bmN0aW9uIHVpKGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpZm9yKHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciBuPWUsYT10LGk9YS5mbGFncztzd2l0Y2goYS50YWcpe2Nhc2UgMjI6dWkobixhKSxpJjIwNDgmJkxvKGEuYWx0ZXJuYXRlLGEpO2JyZWFrO2Nhc2UgMjQ6dWkobixhKSxpJjIwNDgmJllvKGEuYWx0ZXJuYXRlLGEpO2JyZWFrO2RlZmF1bHQ6dWkobixhKX10PXQuc2libGluZ319dmFyIGRpPTgxOTI7ZnVuY3Rpb24gbWEoZSl7aWYoZS5zdWJ0cmVlRmxhZ3MmZGkpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspWWQoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gWWQoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDI2Om1hKGUpLGUuZmxhZ3MmZGkmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJlZoKEV0LGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgNTptYShlKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB0PUV0O0V0PUhsKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLG1hKGUpLEV0PXQ7YnJlYWs7Y2FzZSAyMjplLm1lbW9pemVkU3RhdGU9PT1udWxsJiYodD1lLmFsdGVybmF0ZSx0IT09bnVsbCYmdC5tZW1vaXplZFN0YXRlIT09bnVsbD8odD1kaSxkaT0xNjc3NzIxNixtYShlKSxkaT10KTptYShlKSk7YnJlYWs7ZGVmYXVsdDptYShlKX19ZnVuY3Rpb24gR2QoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYodCE9PW51bGwmJihlPXQuY2hpbGQsZSE9PW51bGwpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKGUhPT1udWxsKX19ZnVuY3Rpb24gZmkoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoKGUuZmxhZ3MmMTYpIT09MCl7aWYodCE9PW51bGwpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBhPXRbbl07R2U9YSxYZChhLGUpfUdkKGUpfWlmKGUuc3VidHJlZUZsYWdzJjEwMjU2KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KVFkKGUpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIFFkKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpmaShlKSxlLmZsYWdzJjIwNDgmJnNuKDksZSxlLnJldHVybik7YnJlYWs7Y2FzZSAzOmZpKGUpO2JyZWFrO2Nhc2UgMTI6ZmkoZSk7YnJlYWs7Y2FzZSAyMjp2YXIgdD1lLnN0YXRlTm9kZTtlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Ll92aXNpYmlsaXR5JjImJihlLnJldHVybj09PW51bGx8fGUucmV0dXJuLnRhZyE9PTEzKT8odC5fdmlzaWJpbGl0eSY9LTMsQWwoZSkpOmZpKGUpO2JyZWFrO2RlZmF1bHQ6ZmkoZSl9fWZ1bmN0aW9uIEFsKGUpe3ZhciB0PWUuZGVsZXRpb25zO2lmKChlLmZsYWdzJjE2KSE9PTApe2lmKHQhPT1udWxsKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT10W25dO0dlPWEsWGQoYSxlKX1HZChlKX1mb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7c3dpdGNoKHQ9ZSx0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpzbig4LHQsdC5yZXR1cm4pLEFsKHQpO2JyZWFrO2Nhc2UgMjI6bj10LnN0YXRlTm9kZSxuLl92aXNpYmlsaXR5JjImJihuLl92aXNpYmlsaXR5Jj0tMyxBbCh0KSk7YnJlYWs7ZGVmYXVsdDpBbCh0KX1lPWUuc2libGluZ319ZnVuY3Rpb24gWGQoZSx0KXtmb3IoO0dlIT09bnVsbDspe3ZhciBuPUdlO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpzbig4LG4sdCk7YnJlYWs7Y2FzZSAyMzpjYXNlIDIyOmlmKG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsKXt2YXIgYT1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7YSE9bnVsbCYmYS5yZWZDb3VudCsrfWJyZWFrO2Nhc2UgMjQ6SmEobi5tZW1vaXplZFN0YXRlLmNhY2hlKX1pZihhPW4uY2hpbGQsYSE9PW51bGwpYS5yZXR1cm49bixHZT1hO2Vsc2UgZTpmb3Iobj1lO0dlIT09bnVsbDspe2E9R2U7dmFyIGk9YS5zaWJsaW5nLGw9YS5yZXR1cm47aWYocWQoYSksYT09PW4pe0dlPW51bGw7YnJlYWsgZX1pZihpIT09bnVsbCl7aS5yZXR1cm49bCxHZT1pO2JyZWFrIGV9R2U9bH19fXZhciByaD17Z2V0Q2FjaGVGb3JUeXBlOmZ1bmN0aW9uKGUpe3ZhciB0PSRlKENlKSxuPXQuZGF0YS5nZXQoZSk7cmV0dXJuIG49PT12b2lkIDAmJihuPWUoKSx0LmRhdGEuc2V0KGUsbikpLG59fSxzaD10eXBlb2YgV2Vha01hcD09ImZ1bmN0aW9uIj9XZWFrTWFwOk1hcCxzZT0wLGdlPW51bGwsZWU9bnVsbCxuZT0wLHVlPTAsX3Q9bnVsbCxmbj0hMSxnYT0hMSxHbz0hMSwkdD0wLEVlPTAscG49MCxCbj0wLFFvPTAseHQ9MCx2YT0wLHBpPW51bGwsYXQ9bnVsbCxYbz0hMSxabz0wLEVsPTEvMCxSbD1udWxsLF9uPW51bGwsWmU9MCxobj1udWxsLHlhPW51bGwsYmE9MCxWbz0wLEtvPW51bGwsWmQ9bnVsbCxfaT0wLEpvPW51bGw7ZnVuY3Rpb24gaHQoKXtpZigoc2UmMikhPT0wJiZuZSE9PTApcmV0dXJuIG5lJi1uZTtpZihBLlQhPT1udWxsKXt2YXIgZT1vYTtyZXR1cm4gZSE9PTA/ZTp0cigpfXJldHVybiBvcygpfWZ1bmN0aW9uIFZkKCl7eHQ9PT0wJiYoeHQ9KG5lJjUzNjg3MDkxMik9PT0wfHxpZT9hcygpOjUzNjg3MDkxMik7dmFyIGU9d3QuY3VycmVudDtyZXR1cm4gZSE9PW51bGwmJihlLmZsYWdzfD0zMikseHR9ZnVuY3Rpb24gbXQoZSx0LG4peyhlPT09Z2UmJih1ZT09PTJ8fHVlPT09OSl8fGUuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGwpJiYoa2EoZSwwKSxtbihlLG5lLHh0LCExKSksRGEoZSxuKSwoKHNlJjIpPT09MHx8ZSE9PWdlKSYmKGU9PT1nZSYmKChzZSYyKT09PTAmJihCbnw9biksRWU9PT00JiZtbihlLG5lLHh0LCExKSksQ3QoZSkpfWZ1bmN0aW9uIEtkKGUsdCxuKXtpZigoc2UmNikhPT0wKXRocm93IEVycm9yKHUoMzI3KSk7dmFyIGE9IW4mJih0JjEyNCk9PT0wJiYodCZlLmV4cGlyZWRMYW5lcyk9PT0wfHxPYShlLHQpLGk9YT9maChlLHQpOkZvKGUsdCwhMCksbD1hO2Rve2lmKGk9PT0wKXtnYSYmIWEmJm1uKGUsdCwwLCExKTticmVha31lbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxsJiYhdWgobikpe2k9Rm8oZSx0LCExKSxsPSExO2NvbnRpbnVlfWlmKGk9PT0yKXtpZihsPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZsKXZhciBvPTA7ZWxzZSBvPWUucGVuZGluZ0xhbmVzJi01MzY4NzA5MTMsbz1vIT09MD9vOm8mNTM2ODcwOTEyPzUzNjg3MDkxMjowO2lmKG8hPT0wKXt0PW87ZTp7dmFyIHM9ZTtpPXBpO3ZhciBmPXMuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihmJiYoa2EocyxvKS5mbGFnc3w9MjU2KSxvPUZvKHMsbywhMSksbyE9PTIpe2lmKEdvJiYhZil7cy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9bCxCbnw9bCxpPTQ7YnJlYWsgZX1sPWF0LGF0PWksbCE9PW51bGwmJihhdD09PW51bGw/YXQ9bDphdC5wdXNoLmFwcGx5KGF0LGwpKX1pPW99aWYobD0hMSxpIT09Miljb250aW51ZX19aWYoaT09PTEpe2thKGUsMCksbW4oZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChhPWUsbD1pLGwpe2Nhc2UgMDpjYXNlIDE6dGhyb3cgRXJyb3IodSgzNDUpKTtjYXNlIDQ6aWYoKHQmNDE5NDA0OCkhPT10KWJyZWFrO2Nhc2UgNjptbihhLHQseHQsIWZuKTticmVhayBlO2Nhc2UgMjphdD1udWxsO2JyZWFrO2Nhc2UgMzpjYXNlIDU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMyOSkpfWlmKCh0JjYyOTE0NTYwKT09PXQmJihpPVpvKzMwMC16dCgpLDEwPGkpKXtpZihtbihhLHQseHQsIWZuKSxCaShhLDAsITApIT09MClicmVhayBlO2EudGltZW91dEhhbmRsZT13ZihKZC5iaW5kKG51bGwsYSxuLGF0LFJsLFhvLHQseHQsQm4sdmEsZm4sbCwyLC0wLDApLGkpO2JyZWFrIGV9SmQoYSxuLGF0LFJsLFhvLHQseHQsQm4sdmEsZm4sbCwwLC0wLDApfX1icmVha313aGlsZSghMCk7Q3QoZSl9ZnVuY3Rpb24gSmQoZSx0LG4sYSxpLGwsbyxzLGYsayxFLHosUyx3KXtpZihlLnRpbWVvdXRIYW5kbGU9LTEsej10LnN1YnRyZWVGbGFncywoeiY4MTkyfHwoeiYxNjc4NTQwOCk9PT0xNjc4NTQwOCkmJihraT17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLHVuc3VzcGVuZDpaaH0sWWQodCksej1LaCgpLHohPT1udWxsKSl7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PXoodGYuYmluZChudWxsLGUsdCxsLG4sYSxpLG8scyxmLEUsMSxTLHcpKSxtbihlLGwsbywhayk7cmV0dXJufXRmKGUsdCxsLG4sYSxpLG8scyxmKX1mdW5jdGlvbiB1aChlKXtmb3IodmFyIHQ9ZTs7KXt2YXIgbj10LnRhZztpZigobj09PTB8fG49PT0xMXx8bj09PTE1KSYmdC5mbGFncyYxNjM4NCYmKG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmKG49bi5zdG9yZXMsbiE9PW51bGwpKSlmb3IodmFyIGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIGk9blthXSxsPWkuZ2V0U25hcHNob3Q7aT1pLnZhbHVlO3RyeXtpZighdXQobCgpLGkpKXJldHVybiExfWNhdGNoe3JldHVybiExfX1pZihuPXQuY2hpbGQsdC5zdWJ0cmVlRmxhZ3MmMTYzODQmJm4hPT1udWxsKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDt0LnNpYmxpbmc9PT1udWxsOyl7aWYodC5yZXR1cm49PT1udWxsfHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH1mdW5jdGlvbiBtbihlLHQsbixhKXt0Jj1+UW8sdCY9fkJuLGUuc3VzcGVuZGVkTGFuZXN8PXQsZS5waW5nZWRMYW5lcyY9fnQsYSYmKGUud2FybUxhbmVzfD10KSxhPWUuZXhwaXJhdGlvblRpbWVzO2Zvcih2YXIgaT10OzA8aTspe3ZhciBsPTMxLXN0KGkpLG89MTw8bDthW2xdPS0xLGkmPX5vfW4hPT0wJiZscyhlLG4sdCl9ZnVuY3Rpb24gemwoKXtyZXR1cm4oc2UmNik9PT0wPyhoaSgwKSwhMSk6ITB9ZnVuY3Rpb24gJG8oKXtpZihlZSE9PW51bGwpe2lmKHVlPT09MCl2YXIgZT1lZS5yZXR1cm47ZWxzZSBlPWVlLFl0PU1uPW51bGwsZm8oZSkscGE9bnVsbCxsaT0wLGU9ZWU7Zm9yKDtlIT09bnVsbDspRWQoZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjtlZT1udWxsfX1mdW5jdGlvbiBrYShlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTtuIT09LTEmJihlLnRpbWVvdXRIYW5kbGU9LTEsUmgobikpLG49ZS5jYW5jZWxQZW5kaW5nQ29tbWl0LG4hPT1udWxsJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSwkbygpLGdlPWUsZWU9bj1IdChlLmN1cnJlbnQsbnVsbCksbmU9dCx1ZT0wLF90PW51bGwsZm49ITEsZ2E9T2EoZSx0KSxHbz0hMSx2YT14dD1Rbz1Cbj1wbj1FZT0wLGF0PXBpPW51bGwsWG89ITEsKHQmOCkhPT0wJiYodHw9dCYzMik7dmFyIGE9ZS5lbnRhbmdsZWRMYW5lcztpZihhIT09MClmb3IoZT1lLmVudGFuZ2xlbWVudHMsYSY9dDswPGE7KXt2YXIgaT0zMS1zdChhKSxsPTE8PGk7dHw9ZVtpXSxhJj1+bH1yZXR1cm4gJHQ9dCxGaSgpLG59ZnVuY3Rpb24gJGQoZSx0KXtQPW51bGwsQS5IPW1sLHQ9PT1XYXx8dD09PWNsPyh0PWZ1KCksdWU9Myk6dD09PXN1Pyh0PWZ1KCksdWU9NCk6dWU9dD09PXBkPzg6dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQudGhlbj09ImZ1bmN0aW9uIj82OjEsX3Q9dCxlZT09PW51bGwmJihFZT0xLGtsKGUseXQodCxlLmN1cnJlbnQpKSl9ZnVuY3Rpb24gV2QoKXt2YXIgZT1BLkg7cmV0dXJuIEEuSD1tbCxlPT09bnVsbD9tbDplfWZ1bmN0aW9uIEZkKCl7dmFyIGU9QS5BO3JldHVybiBBLkE9cmgsZX1mdW5jdGlvbiBXbygpe0VlPTQsZm58fChuZSY0MTk0MDQ4KSE9PW5lJiZ3dC5jdXJyZW50IT09bnVsbHx8KGdhPSEwKSwocG4mMTM0MjE3NzI3KT09PTAmJihCbiYxMzQyMTc3MjcpPT09MHx8Z2U9PT1udWxsfHxtbihnZSxuZSx4dCwhMSl9ZnVuY3Rpb24gRm8oZSx0LG4pe3ZhciBhPXNlO3NlfD0yO3ZhciBpPVdkKCksbD1GZCgpOyhnZSE9PWV8fG5lIT09dCkmJihSbD1udWxsLGthKGUsdCkpLHQ9ITE7dmFyIG89RWU7ZTpkbyB0cnl7aWYodWUhPT0wJiZlZSE9PW51bGwpe3ZhciBzPWVlLGY9X3Q7c3dpdGNoKHVlKXtjYXNlIDg6JG8oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6d3QuY3VycmVudD09PW51bGwmJih0PSEwKTt2YXIgaz11ZTtpZih1ZT0wLF90PW51bGwsU2EoZSxzLGYsayksbiYmZ2Epe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6az11ZSx1ZT0wLF90PW51bGwsU2EoZSxzLGYsayl9fWRoKCksbz1FZTticmVha31jYXRjaChFKXskZChlLEUpfXdoaWxlKCEwKTtyZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKyssWXQ9TW49bnVsbCxzZT1hLEEuSD1pLEEuQT1sLGVlPT09bnVsbCYmKGdlPW51bGwsbmU9MCxGaSgpKSxvfWZ1bmN0aW9uIGRoKCl7Zm9yKDtlZSE9PW51bGw7KVBkKGVlKX1mdW5jdGlvbiBmaChlLHQpe3ZhciBuPXNlO3NlfD0yO3ZhciBhPVdkKCksaT1GZCgpO2dlIT09ZXx8bmUhPT10PyhSbD1udWxsLEVsPXp0KCkrNTAwLGthKGUsdCkpOmdhPU9hKGUsdCk7ZTpkbyB0cnl7aWYodWUhPT0wJiZlZSE9PW51bGwpe3Q9ZWU7dmFyIGw9X3Q7dDpzd2l0Y2godWUpe2Nhc2UgMTp1ZT0wLF90PW51bGwsU2EoZSx0LGwsMSk7YnJlYWs7Y2FzZSAyOmNhc2UgOTppZih1dShsKSl7dWU9MCxfdD1udWxsLElkKHQpO2JyZWFrfXQ9ZnVuY3Rpb24oKXt1ZSE9PTImJnVlIT09OXx8Z2UhPT1lfHwodWU9NyksQ3QoZSl9LGwudGhlbih0LHQpO2JyZWFrIGU7Y2FzZSAzOnVlPTc7YnJlYWsgZTtjYXNlIDQ6dWU9NTticmVhayBlO2Nhc2UgNzp1dShsKT8odWU9MCxfdD1udWxsLElkKHQpKToodWU9MCxfdD1udWxsLFNhKGUsdCxsLDcpKTticmVhaztjYXNlIDU6dmFyIG89bnVsbDtzd2l0Y2goZWUudGFnKXtjYXNlIDI2Om89ZWUubWVtb2l6ZWRTdGF0ZTtjYXNlIDU6Y2FzZSAyNzp2YXIgcz1lZTtpZighb3x8cWYobykpe3VlPTAsX3Q9bnVsbDt2YXIgZj1zLnNpYmxpbmc7aWYoZiE9PW51bGwpZWU9ZjtlbHNle3ZhciBrPXMucmV0dXJuO2shPT1udWxsPyhlZT1rLE5sKGspKTplZT1udWxsfWJyZWFrIHR9fXVlPTAsX3Q9bnVsbCxTYShlLHQsbCw1KTticmVhaztjYXNlIDY6dWU9MCxfdD1udWxsLFNhKGUsdCxsLDYpO2JyZWFrO2Nhc2UgODokbygpLEVlPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fXBoKCk7YnJlYWt9Y2F0Y2goRSl7JGQoZSxFKX13aGlsZSghMCk7cmV0dXJuIFl0PU1uPW51bGwsQS5IPWEsQS5BPWksc2U9bixlZSE9PW51bGw/MDooZ2U9bnVsbCxuZT0wLEZpKCksRWUpfWZ1bmN0aW9uIHBoKCl7Zm9yKDtlZSE9PW51bGwmJiFxcCgpOylQZChlZSl9ZnVuY3Rpb24gUGQoZSl7dmFyIHQ9VGQoZS5hbHRlcm5hdGUsZSwkdCk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLHQ9PT1udWxsP05sKGUpOmVlPXR9ZnVuY3Rpb24gSWQoZSl7dmFyIHQ9ZSxuPXQuYWx0ZXJuYXRlO3N3aXRjaCh0LnRhZyl7Y2FzZSAxNTpjYXNlIDA6dD15ZChuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLHZvaWQgMCxuZSk7YnJlYWs7Y2FzZSAxMTp0PXlkKG4sdCx0LnBlbmRpbmdQcm9wcyx0LnR5cGUucmVuZGVyLHQucmVmLG5lKTticmVhaztjYXNlIDU6Zm8odCk7ZGVmYXVsdDpFZChuLHQpLHQ9ZWU9ZXUodCwkdCksdD1UZChuLHQsJHQpfWUubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyx0PT09bnVsbD9ObChlKTplZT10fWZ1bmN0aW9uIFNhKGUsdCxuLGEpe1l0PU1uPW51bGwsZm8odCkscGE9bnVsbCxsaT0wO3ZhciBpPXQucmV0dXJuO3RyeXtpZihuaChlLGksdCxuLG5lKSl7RWU9MSxrbChlLHl0KG4sZS5jdXJyZW50KSksZWU9bnVsbDtyZXR1cm59fWNhdGNoKGwpe2lmKGkhPT1udWxsKXRocm93IGVlPWksbDtFZT0xLGtsKGUseXQobixlLmN1cnJlbnQpKSxlZT1udWxsO3JldHVybn10LmZsYWdzJjMyNzY4PyhpZXx8YT09PTE/ZT0hMDpnYXx8KG5lJjUzNjg3MDkxMikhPT0wP2U9ITE6KGZuPWU9ITAsKGE9PT0yfHxhPT09OXx8YT09PTN8fGE9PT02KSYmKGE9d3QuY3VycmVudCxhIT09bnVsbCYmYS50YWc9PT0xMyYmKGEuZmxhZ3N8PTE2Mzg0KSkpLGVmKHQsZSkpOk5sKHQpfWZ1bmN0aW9uIE5sKGUpe3ZhciB0PWU7ZG97aWYoKHQuZmxhZ3MmMzI3NjgpIT09MCl7ZWYodCxmbik7cmV0dXJufWU9dC5yZXR1cm47dmFyIG49aWgodC5hbHRlcm5hdGUsdCwkdCk7aWYobiE9PW51bGwpe2VlPW47cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtlZT10O3JldHVybn1lZT10PWV9d2hpbGUodCE9PW51bGwpO0VlPT09MCYmKEVlPTUpfWZ1bmN0aW9uIGVmKGUsdCl7ZG97dmFyIG49bGgoZS5hbHRlcm5hdGUsZSk7aWYobiE9PW51bGwpe24uZmxhZ3MmPTMyNzY3LGVlPW47cmV0dXJufWlmKG49ZS5yZXR1cm4sbiE9PW51bGwmJihuLmZsYWdzfD0zMjc2OCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLCF0JiYoZT1lLnNpYmxpbmcsZSE9PW51bGwpKXtlZT1lO3JldHVybn1lZT1lPW59d2hpbGUoZSE9PW51bGwpO0VlPTYsZWU9bnVsbH1mdW5jdGlvbiB0ZihlLHQsbixhLGksbCxvLHMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gT2woKTt3aGlsZShaZSE9PTApO2lmKChzZSY2KSE9PTApdGhyb3cgRXJyb3IodSgzMjcpKTtpZih0IT09bnVsbCl7aWYodD09PWUuY3VycmVudCl0aHJvdyBFcnJvcih1KDE3NykpO2lmKGw9dC5sYW5lc3x0LmNoaWxkTGFuZXMsbHw9TGMsWnAoZSxuLGwsbyxzLGYpLGU9PT1nZSYmKGVlPWdlPW51bGwsbmU9MCkseWE9dCxobj1lLGJhPW4sVm89bCxLbz1pLFpkPWEsKHQuc3VidHJlZUZsYWdzJjEwMjU2KSE9PTB8fCh0LmZsYWdzJjEwMjU2KSE9PTA/KGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsZ2goVWksZnVuY3Rpb24oKXtyZXR1cm4gb2YoKSxudWxsfSkpOihlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wKSxhPSh0LmZsYWdzJjEzODc4KSE9PTAsKHQuc3VidHJlZUZsYWdzJjEzODc4KSE9PTB8fGEpe2E9QS5ULEEuVD1udWxsLGk9cS5wLHEucD0yLG89c2Usc2V8PTQ7dHJ5e2NoKGUsdCxuKX1maW5hbGx5e3NlPW8scS5wPWksQS5UPWF9fVplPTEsbmYoKSxhZigpLGxmKCl9fWZ1bmN0aW9uIG5mKCl7aWYoWmU9PT0xKXtaZT0wO3ZhciBlPWhuLHQ9eWEsbj0odC5mbGFncyYxMzg3OCkhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyYxMzg3OCkhPT0wfHxuKXtuPUEuVCxBLlQ9bnVsbDt2YXIgYT1xLnA7cS5wPTI7dmFyIGk9c2U7c2V8PTQ7dHJ5e0hkKHQsZSk7dmFyIGw9c3Isbz1YcyhlLmNvbnRhaW5lckluZm8pLHM9bC5mb2N1c2VkRWxlbSxmPWwuc2VsZWN0aW9uUmFuZ2U7aWYobyE9PXMmJnMmJnMub3duZXJEb2N1bWVudCYmUXMocy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxzKSl7aWYoZiE9PW51bGwmJnFjKHMpKXt2YXIgaz1mLnN0YXJ0LEU9Zi5lbmQ7aWYoRT09PXZvaWQgMCYmKEU9ayksInNlbGVjdGlvblN0YXJ0ImluIHMpcy5zZWxlY3Rpb25TdGFydD1rLHMuc2VsZWN0aW9uRW5kPU1hdGgubWluKEUscy52YWx1ZS5sZW5ndGgpO2Vsc2V7dmFyIHo9cy5vd25lckRvY3VtZW50fHxkb2N1bWVudCxTPXomJnouZGVmYXVsdFZpZXd8fHdpbmRvdztpZihTLmdldFNlbGVjdGlvbil7dmFyIHc9Uy5nZXRTZWxlY3Rpb24oKSxWPXMudGV4dENvbnRlbnQubGVuZ3RoLFE9TWF0aC5taW4oZi5zdGFydCxWKSxwZT1mLmVuZD09PXZvaWQgMD9ROk1hdGgubWluKGYuZW5kLFYpOyF3LmV4dGVuZCYmUT5wZSYmKG89cGUscGU9USxRPW8pO3ZhciBnPUdzKHMsUSksXz1HcyhzLHBlKTtpZihnJiZfJiYody5yYW5nZUNvdW50IT09MXx8dy5hbmNob3JOb2RlIT09Zy5ub2RlfHx3LmFuY2hvck9mZnNldCE9PWcub2Zmc2V0fHx3LmZvY3VzTm9kZSE9PV8ubm9kZXx8dy5mb2N1c09mZnNldCE9PV8ub2Zmc2V0KSl7dmFyIGI9ei5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQoZy5ub2RlLGcub2Zmc2V0KSx3LnJlbW92ZUFsbFJhbmdlcygpLFE+cGU/KHcuYWRkUmFuZ2UoYiksdy5leHRlbmQoXy5ub2RlLF8ub2Zmc2V0KSk6KGIuc2V0RW5kKF8ubm9kZSxfLm9mZnNldCksdy5hZGRSYW5nZShiKSl9fX19Zm9yKHo9W10sdz1zO3c9dy5wYXJlbnROb2RlOyl3Lm5vZGVUeXBlPT09MSYmei5wdXNoKHtlbGVtZW50OncsbGVmdDp3LnNjcm9sbExlZnQsdG9wOncuc2Nyb2xsVG9wfSk7Zm9yKHR5cGVvZiBzLmZvY3VzPT0iZnVuY3Rpb24iJiZzLmZvY3VzKCkscz0wO3M8ei5sZW5ndGg7cysrKXt2YXIgUj16W3NdO1IuZWxlbWVudC5zY3JvbGxMZWZ0PVIubGVmdCxSLmVsZW1lbnQuc2Nyb2xsVG9wPVIudG9wfX1RbD0hIXJyLHNyPXJyPW51bGx9ZmluYWxseXtzZT1pLHEucD1hLEEuVD1ufX1lLmN1cnJlbnQ9dCxaZT0yfX1mdW5jdGlvbiBhZigpe2lmKFplPT09Mil7WmU9MDt2YXIgZT1obix0PXlhLG49KHQuZmxhZ3MmODc3MikhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyY4NzcyKSE9PTB8fG4pe249QS5ULEEuVD1udWxsO3ZhciBhPXEucDtxLnA9Mjt2YXIgaT1zZTtzZXw9NDt0cnl7Q2QoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3NlPWkscS5wPWEsQS5UPW59fVplPTN9fWZ1bmN0aW9uIGxmKCl7aWYoWmU9PT00fHxaZT09PTMpe1plPTAsVXAoKTt2YXIgZT1obix0PXlhLG49YmEsYT1aZDsodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8KHQuZmxhZ3MmMTAyNTYpIT09MD9aZT01OihaZT0wLHlhPWhuPW51bGwsY2YoZSxlLnBlbmRpbmdMYW5lcykpO3ZhciBpPWUucGVuZGluZ0xhbmVzO2lmKGk9PT0wJiYoX249bnVsbCksX2MobiksdD10LnN0YXRlTm9kZSxydCYmdHlwZW9mIHJ0Lm9uQ29tbWl0RmliZXJSb290PT0iZnVuY3Rpb24iKXRyeXtydC5vbkNvbW1pdEZpYmVyUm9vdChOYSx0LHZvaWQgMCwodC5jdXJyZW50LmZsYWdzJjEyOCk9PT0xMjgpfWNhdGNoe31pZihhIT09bnVsbCl7dD1BLlQsaT1xLnAscS5wPTIsQS5UPW51bGw7dHJ5e2Zvcih2YXIgbD1lLm9uUmVjb3ZlcmFibGVFcnJvcixvPTA7bzxhLmxlbmd0aDtvKyspe3ZhciBzPWFbb107bChzLnZhbHVlLHtjb21wb25lbnRTdGFjazpzLnN0YWNrfSl9fWZpbmFsbHl7QS5UPXQscS5wPWl9fShiYSYzKSE9PTAmJk9sKCksQ3QoZSksaT1lLnBlbmRpbmdMYW5lcywobiY0MTk0MDkwKSE9PTAmJihpJjQyKSE9PTA/ZT09PUpvP19pKys6KF9pPTAsSm89ZSk6X2k9MCxoaSgwKX19ZnVuY3Rpb24gY2YoZSx0KXsoZS5wb29sZWRDYWNoZUxhbmVzJj10KT09PTAmJih0PWUucG9vbGVkQ2FjaGUsdCE9bnVsbCYmKGUucG9vbGVkQ2FjaGU9bnVsbCxKYSh0KSkpfWZ1bmN0aW9uIE9sKGUpe3JldHVybiBuZigpLGFmKCksbGYoKSxvZigpfWZ1bmN0aW9uIG9mKCl7aWYoWmUhPT01KXJldHVybiExO3ZhciBlPWhuLHQ9Vm87Vm89MDt2YXIgbj1fYyhiYSksYT1BLlQsaT1xLnA7dHJ5e3EucD0zMj5uPzMyOm4sQS5UPW51bGwsbj1LbyxLbz1udWxsO3ZhciBsPWhuLG89YmE7aWYoWmU9MCx5YT1obj1udWxsLGJhPTAsKHNlJjYpIT09MCl0aHJvdyBFcnJvcih1KDMzMSkpO3ZhciBzPXNlO2lmKHNlfD00LFFkKGwuY3VycmVudCksTGQobCxsLmN1cnJlbnQsbyxuKSxzZT1zLGhpKDAsITEpLHJ0JiZ0eXBlb2YgcnQub25Qb3N0Q29tbWl0RmliZXJSb290PT0iZnVuY3Rpb24iKXRyeXtydC5vblBvc3RDb21taXRGaWJlclJvb3QoTmEsbCl9Y2F0Y2h7fXJldHVybiEwfWZpbmFsbHl7cS5wPWksQS5UPWEsY2YoZSx0KX19ZnVuY3Rpb24gcmYoZSx0LG4pe3Q9eXQobix0KSx0PUFvKGUuc3RhdGVOb2RlLHQsMiksZT1sbihlLHQsMiksZSE9PW51bGwmJihEYShlLDIpLEN0KGUpKX1mdW5jdGlvbiBoZShlLHQsbil7aWYoZS50YWc9PT0zKXJmKGUsZSxuKTtlbHNlIGZvcig7dCE9PW51bGw7KXtpZih0LnRhZz09PTMpe3JmKHQsZSxuKTticmVha31lbHNlIGlmKHQudGFnPT09MSl7dmFyIGE9dC5zdGF0ZU5vZGU7aWYodHlwZW9mIHQudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoX249PT1udWxsfHwhX24uaGFzKGEpKSl7ZT15dChuLGUpLG49ZGQoMiksYT1sbih0LG4sMiksYSE9PW51bGwmJihmZChuLGEsdCxlKSxEYShhLDIpLEN0KGEpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gUG8oZSx0LG4pe3ZhciBhPWUucGluZ0NhY2hlO2lmKGE9PT1udWxsKXthPWUucGluZ0NhY2hlPW5ldyBzaDt2YXIgaT1uZXcgU2V0O2Euc2V0KHQsaSl9ZWxzZSBpPWEuZ2V0KHQpLGk9PT12b2lkIDAmJihpPW5ldyBTZXQsYS5zZXQodCxpKSk7aS5oYXMobil8fChHbz0hMCxpLmFkZChuKSxlPV9oLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIF9oKGUsdCxuKXt2YXIgYT1lLnBpbmdDYWNoZTthIT09bnVsbCYmYS5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bixnZT09PWUmJihuZSZuKT09PW4mJihFZT09PTR8fEVlPT09MyYmKG5lJjYyOTE0NTYwKT09PW5lJiYzMDA+enQoKS1abz8oc2UmMik9PT0wJiZrYShlLDApOlFvfD1uLHZhPT09bmUmJih2YT0wKSksQ3QoZSl9ZnVuY3Rpb24gc2YoZSx0KXt0PT09MCYmKHQ9aXMoKSksZT1hYShlLHQpLGUhPT1udWxsJiYoRGEoZSx0KSxDdChlKSl9ZnVuY3Rpb24gaGgoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDt0IT09bnVsbCYmKG49dC5yZXRyeUxhbmUpLHNmKGUsbil9ZnVuY3Rpb24gbWgoZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgYT1lLnN0YXRlTm9kZSxpPWUubWVtb2l6ZWRTdGF0ZTtpIT09bnVsbCYmKG49aS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6YT1lLnN0YXRlTm9kZTticmVhaztjYXNlIDIyOmE9ZS5zdGF0ZU5vZGUuX3JldHJ5Q2FjaGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMxNCkpfWEhPT1udWxsJiZhLmRlbGV0ZSh0KSxzZihlLG4pfWZ1bmN0aW9uIGdoKGUsdCl7cmV0dXJuIHVjKGUsdCl9dmFyIERsPW51bGwsd2E9bnVsbCxJbz0hMSxNbD0hMSxlcj0hMSxMbj0wO2Z1bmN0aW9uIEN0KGUpe2UhPT13YSYmZS5uZXh0PT09bnVsbCYmKHdhPT09bnVsbD9EbD13YT1lOndhPXdhLm5leHQ9ZSksTWw9ITAsSW98fChJbz0hMCx5aCgpKX1mdW5jdGlvbiBoaShlLHQpe2lmKCFlciYmTWwpe2VyPSEwO2RvIGZvcih2YXIgbj0hMSxhPURsO2EhPT1udWxsOyl7aWYoZSE9PTApe3ZhciBpPWEucGVuZGluZ0xhbmVzO2lmKGk9PT0wKXZhciBsPTA7ZWxzZXt2YXIgbz1hLnN1c3BlbmRlZExhbmVzLHM9YS5waW5nZWRMYW5lcztsPSgxPDwzMS1zdCg0MnxlKSsxKS0xLGwmPWkmfihvJn5zKSxsPWwmMjAxMzI2NzQxP2wmMjAxMzI2NzQxfDE6bD9sfDI6MH1sIT09MCYmKG49ITAscGYoYSxsKSl9ZWxzZSBsPW5lLGw9QmkoYSxhPT09Z2U/bDowLGEuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fGEudGltZW91dEhhbmRsZSE9PS0xKSwobCYzKT09PTB8fE9hKGEsbCl8fChuPSEwLHBmKGEsbCkpO2E9YS5uZXh0fXdoaWxlKG4pO2VyPSExfX1mdW5jdGlvbiB2aCgpe3VmKCl9ZnVuY3Rpb24gdWYoKXtNbD1Jbz0hMTt2YXIgZT0wO0xuIT09MCYmKEVoKCkmJihlPUxuKSxMbj0wKTtmb3IodmFyIHQ9enQoKSxuPW51bGwsYT1EbDthIT09bnVsbDspe3ZhciBpPWEubmV4dCxsPWRmKGEsdCk7bD09PTA/KGEubmV4dD1udWxsLG49PT1udWxsP0RsPWk6bi5uZXh0PWksaT09PW51bGwmJih3YT1uKSk6KG49YSwoZSE9PTB8fChsJjMpIT09MCkmJihNbD0hMCkpLGE9aX1oaShlKX1mdW5jdGlvbiBkZihlLHQpe2Zvcih2YXIgbj1lLnN1c3BlbmRlZExhbmVzLGE9ZS5waW5nZWRMYW5lcyxpPWUuZXhwaXJhdGlvblRpbWVzLGw9ZS5wZW5kaW5nTGFuZXMmLTYyOTE0NTYxOzA8bDspe3ZhciBvPTMxLXN0KGwpLHM9MTw8byxmPWlbb107Zj09PS0xPygocyZuKT09PTB8fChzJmEpIT09MCkmJihpW29dPVhwKHMsdCkpOmY8PXQmJihlLmV4cGlyZWRMYW5lc3w9cyksbCY9fnN9aWYodD1nZSxuPW5lLG49QmkoZSxlPT09dD9uOjAsZS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8ZS50aW1lb3V0SGFuZGxlIT09LTEpLGE9ZS5jYWxsYmFja05vZGUsbj09PTB8fGU9PT10JiYodWU9PT0yfHx1ZT09PTkpfHxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsKXJldHVybiBhIT09bnVsbCYmYSE9PW51bGwmJmRjKGEpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoKG4mMyk9PT0wfHxPYShlLG4pKXtpZih0PW4mLW4sdD09PWUuY2FsbGJhY2tQcmlvcml0eSlyZXR1cm4gdDtzd2l0Y2goYSE9PW51bGwmJmRjKGEpLF9jKG4pKXtjYXNlIDI6Y2FzZSA4Om49dHM7YnJlYWs7Y2FzZSAzMjpuPVVpO2JyZWFrO2Nhc2UgMjY4NDM1NDU2Om49bnM7YnJlYWs7ZGVmYXVsdDpuPVVpfXJldHVybiBhPWZmLmJpbmQobnVsbCxlKSxuPXVjKG4sYSksZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9bix0fXJldHVybiBhIT09bnVsbCYmYSE9PW51bGwmJmRjKGEpLGUuY2FsbGJhY2tQcmlvcml0eT0yLGUuY2FsbGJhY2tOb2RlPW51bGwsMn1mdW5jdGlvbiBmZihlLHQpe2lmKFplIT09MCYmWmUhPT01KXJldHVybiBlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLG51bGw7dmFyIG49ZS5jYWxsYmFja05vZGU7aWYoT2woKSYmZS5jYWxsYmFja05vZGUhPT1uKXJldHVybiBudWxsO3ZhciBhPW5lO3JldHVybiBhPUJpKGUsZT09PWdlP2E6MCxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxlLnRpbWVvdXRIYW5kbGUhPT0tMSksYT09PTA/bnVsbDooS2QoZSxhLHQpLGRmKGUsenQoKSksZS5jYWxsYmFja05vZGUhPW51bGwmJmUuY2FsbGJhY2tOb2RlPT09bj9mZi5iaW5kKG51bGwsZSk6bnVsbCl9ZnVuY3Rpb24gcGYoZSx0KXtpZihPbCgpKXJldHVybiBudWxsO0tkKGUsdCwhMCl9ZnVuY3Rpb24geWgoKXt6aChmdW5jdGlvbigpeyhzZSY2KSE9PTA/dWMoZXMsdmgpOnVmKCl9KX1mdW5jdGlvbiB0cigpe3JldHVybiBMbj09PTAmJihMbj1hcygpKSxMbn1mdW5jdGlvbiBfZihlKXtyZXR1cm4gZT09bnVsbHx8dHlwZW9mIGU9PSJzeW1ib2wifHx0eXBlb2YgZT09ImJvb2xlYW4iP251bGw6dHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpYaSgiIitlKX1mdW5jdGlvbiBoZihlLHQpe3ZhciBuPXQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3JldHVybiBuLm5hbWU9dC5uYW1lLG4udmFsdWU9dC52YWx1ZSxlLmlkJiZuLnNldEF0dHJpYnV0ZSgiZm9ybSIsZS5pZCksdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuLHQpLGU9bmV3IEZvcm1EYXRhKGUpLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSxlfWZ1bmN0aW9uIGJoKGUsdCxuLGEsaSl7aWYodD09PSJzdWJtaXQiJiZuJiZuLnN0YXRlTm9kZT09PWkpe3ZhciBsPV9mKChpW0llXXx8bnVsbCkuYWN0aW9uKSxvPWEuc3VibWl0dGVyO28mJih0PSh0PW9bSWVdfHxudWxsKT9fZih0LmZvcm1BY3Rpb24pOm8uZ2V0QXR0cmlidXRlKCJmb3JtQWN0aW9uIiksdCE9PW51bGwmJihsPXQsbz1udWxsKSk7dmFyIHM9bmV3IEppKCJhY3Rpb24iLCJhY3Rpb24iLG51bGwsYSxpKTtlLnB1c2goe2V2ZW50OnMsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKGEuZGVmYXVsdFByZXZlbnRlZCl7aWYoTG4hPT0wKXt2YXIgZj1vP2hmKGksbyk6bmV3IEZvcm1EYXRhKGkpO2tvKG4se3BlbmRpbmc6ITAsZGF0YTpmLG1ldGhvZDppLm1ldGhvZCxhY3Rpb246bH0sbnVsbCxmKX19ZWxzZSB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmKHMucHJldmVudERlZmF1bHQoKSxmPW8/aGYoaSxvKTpuZXcgRm9ybURhdGEoaSksa28obix7cGVuZGluZzohMCxkYXRhOmYsbWV0aG9kOmkubWV0aG9kLGFjdGlvbjpsfSxsLGYpKX0sY3VycmVudFRhcmdldDppfV19KX19Zm9yKHZhciBucj0wO25yPEJjLmxlbmd0aDtucisrKXt2YXIgYXI9QmNbbnJdLGtoPWFyLnRvTG93ZXJDYXNlKCksU2g9YXJbMF0udG9VcHBlckNhc2UoKSthci5zbGljZSgxKTtBdChraCwib24iK1NoKX1BdChLcywib25BbmltYXRpb25FbmQiKSxBdChKcywib25BbmltYXRpb25JdGVyYXRpb24iKSxBdCgkcywib25BbmltYXRpb25TdGFydCIpLEF0KCJkYmxjbGljayIsIm9uRG91YmxlQ2xpY2siKSxBdCgiZm9jdXNpbiIsIm9uRm9jdXMiKSxBdCgiZm9jdXNvdXQiLCJvbkJsdXIiKSxBdChCXywib25UcmFuc2l0aW9uUnVuIiksQXQoTF8sIm9uVHJhbnNpdGlvblN0YXJ0IiksQXQoWV8sIm9uVHJhbnNpdGlvbkNhbmNlbCIpLEF0KFdzLCJvblRyYW5zaXRpb25FbmQiKSxLbigib25Nb3VzZUVudGVyIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLEtuKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksS24oIm9uUG9pbnRlckVudGVyIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxLbigib25Qb2ludGVyTGVhdmUiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHhuKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSx4bigib25TZWxlY3QiLCJmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLHhuKCJvbkJlZm9yZUlucHV0IixbImNvbXBvc2l0aW9uZW5kIiwia2V5cHJlc3MiLCJ0ZXh0SW5wdXQiLCJwYXN0ZSJdKSx4bigib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSx4bigib25Db21wb3NpdGlvblN0YXJ0IiwiY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSkseG4oIm9uQ29tcG9zaXRpb25VcGRhdGUiLCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7dmFyIG1pPSJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSx3aD1uZXcgU2V0KCJiZWZvcmV0b2dnbGUgY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgc2Nyb2xsZW5kIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQobWkpKTtmdW5jdGlvbiBtZihlLHQpe3Q9KHQmNCkhPT0wO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgYT1lW25dLGk9YS5ldmVudDthPWEubGlzdGVuZXJzO2U6e3ZhciBsPXZvaWQgMDtpZih0KWZvcih2YXIgbz1hLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgcz1hW29dLGY9cy5pbnN0YW5jZSxrPXMuY3VycmVudFRhcmdldDtpZihzPXMubGlzdGVuZXIsZiE9PWwmJmkuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2w9cyxpLmN1cnJlbnRUYXJnZXQ9azt0cnl7bChpKX1jYXRjaChFKXtibChFKX1pLmN1cnJlbnRUYXJnZXQ9bnVsbCxsPWZ9ZWxzZSBmb3Iobz0wO288YS5sZW5ndGg7bysrKXtpZihzPWFbb10sZj1zLmluc3RhbmNlLGs9cy5jdXJyZW50VGFyZ2V0LHM9cy5saXN0ZW5lcixmIT09bCYmaS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7bD1zLGkuY3VycmVudFRhcmdldD1rO3RyeXtsKGkpfWNhdGNoKEUpe2JsKEUpfWkuY3VycmVudFRhcmdldD1udWxsLGw9Zn19fX1mdW5jdGlvbiB0ZShlLHQpe3ZhciBuPXRbaGNdO249PT12b2lkIDAmJihuPXRbaGNdPW5ldyBTZXQpO3ZhciBhPWUrIl9fYnViYmxlIjtuLmhhcyhhKXx8KGdmKHQsZSwyLCExKSxuLmFkZChhKSl9ZnVuY3Rpb24gaXIoZSx0LG4pe3ZhciBhPTA7dCYmKGF8PTQpLGdmKG4sZSxhLHQpfXZhciBDbD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBscihlKXtpZighZVtDbF0pe2VbQ2xdPSEwLHNzLmZvckVhY2goZnVuY3Rpb24obil7biE9PSJzZWxlY3Rpb25jaGFuZ2UiJiYod2guaGFzKG4pfHxpcihuLCExLGUpLGlyKG4sITAsZSkpfSk7dmFyIHQ9ZS5ub2RlVHlwZT09PTk/ZTplLm93bmVyRG9jdW1lbnQ7dD09PW51bGx8fHRbQ2xdfHwodFtDbF09ITAsaXIoInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBnZihlLHQsbixhKXtzd2l0Y2goWWYodCkpe2Nhc2UgMjp2YXIgaT1XaDticmVhaztjYXNlIDg6aT1GaDticmVhaztkZWZhdWx0Omk9eXJ9bj1pLmJpbmQobnVsbCx0LG4sZSksaT12b2lkIDAsIUFjfHx0IT09InRvdWNoc3RhcnQiJiZ0IT09InRvdWNobW92ZSImJnQhPT0id2hlZWwifHwoaT0hMCksYT9pIT09dm9pZCAwP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4se2NhcHR1cmU6ITAscGFzc2l2ZTppfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMCk6aSE9PXZvaWQgMD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtwYXNzaXZlOml9KTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLCExKX1mdW5jdGlvbiBjcihlLHQsbixhLGkpe3ZhciBsPWE7aWYoKHQmMSk9PT0wJiYodCYyKT09PTAmJmEhPT1udWxsKWU6Zm9yKDs7KXtpZihhPT09bnVsbClyZXR1cm47dmFyIG89YS50YWc7aWYobz09PTN8fG89PT00KXt2YXIgcz1hLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKHM9PT1pKWJyZWFrO2lmKG89PT00KWZvcihvPWEucmV0dXJuO28hPT1udWxsOyl7dmFyIGY9by50YWc7aWYoKGY9PT0zfHxmPT09NCkmJm8uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1pKXJldHVybjtvPW8ucmV0dXJufWZvcig7cyE9PW51bGw7KXtpZihvPVhuKHMpLG89PT1udWxsKXJldHVybjtpZihmPW8udGFnLGY9PT01fHxmPT09Nnx8Zj09PTI2fHxmPT09Mjcpe2E9bD1vO2NvbnRpbnVlIGV9cz1zLnBhcmVudE5vZGV9fWE9YS5yZXR1cm59d3MoZnVuY3Rpb24oKXt2YXIgaz1sLEU9eGMobiksej1bXTtlOnt2YXIgUz1Gcy5nZXQoZSk7aWYoUyE9PXZvaWQgMCl7dmFyIHc9SmksVj1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZihWaShuKT09PTApYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnc9Z187YnJlYWs7Y2FzZSJmb2N1c2luIjpWPSJmb2N1cyIsdz1OYzticmVhaztjYXNlImZvY3Vzb3V0IjpWPSJibHVyIix3PU5jO2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOnc9TmM7YnJlYWs7Y2FzZSJjbGljayI6aWYobi5idXR0b249PT0yKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51Ijp3PUFzO2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOnc9bF87YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6dz1iXzticmVhaztjYXNlIEtzOmNhc2UgSnM6Y2FzZSAkczp3PXJfO2JyZWFrO2Nhc2UgV3M6dz1TXzticmVhaztjYXNlInNjcm9sbCI6Y2FzZSJzY3JvbGxlbmQiOnc9YV87YnJlYWs7Y2FzZSJ3aGVlbCI6dz14XzticmVhaztjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlInBhc3RlIjp3PXVfO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOnc9UnM7YnJlYWs7Y2FzZSJ0b2dnbGUiOmNhc2UiYmVmb3JldG9nZ2xlIjp3PUFffXZhciBRPSh0JjQpIT09MCxwZT0hUSYmKGU9PT0ic2Nyb2xsInx8ZT09PSJzY3JvbGxlbmQiKSxnPVE/UyE9PW51bGw/UysiQ2FwdHVyZSI6bnVsbDpTO1E9W107Zm9yKHZhciBfPWssYjtfIT09bnVsbDspe3ZhciBSPV87aWYoYj1SLnN0YXRlTm9kZSxSPVIudGFnLFIhPT01JiZSIT09MjYmJlIhPT0yN3x8Yj09PW51bGx8fGc9PT1udWxsfHwoUj1xYShfLGcpLFIhPW51bGwmJlEucHVzaChnaShfLFIsYikpKSxwZSlicmVhaztfPV8ucmV0dXJufTA8US5sZW5ndGgmJihTPW5ldyB3KFMsVixudWxsLG4sRSksei5wdXNoKHtldmVudDpTLGxpc3RlbmVyczpRfSkpfX1pZigodCY3KT09PTApe2U6e2lmKFM9ZT09PSJtb3VzZW92ZXIifHxlPT09InBvaW50ZXJvdmVyIix3PWU9PT0ibW91c2VvdXQifHxlPT09InBvaW50ZXJvdXQiLFMmJm4hPT13YyYmKFY9bi5yZWxhdGVkVGFyZ2V0fHxuLmZyb21FbGVtZW50KSYmKFhuKFYpfHxWW1FuXSkpYnJlYWsgZTtpZigod3x8UykmJihTPUUud2luZG93PT09RT9FOihTPUUub3duZXJEb2N1bWVudCk/Uy5kZWZhdWx0Vmlld3x8Uy5wYXJlbnRXaW5kb3c6d2luZG93LHc/KFY9bi5yZWxhdGVkVGFyZ2V0fHxuLnRvRWxlbWVudCx3PWssVj1WP1huKFYpOm51bGwsViE9PW51bGwmJihwZT14KFYpLFE9Vi50YWcsViE9PXBlfHxRIT09NSYmUSE9PTI3JiZRIT09NikmJihWPW51bGwpKToodz1udWxsLFY9ayksdyE9PVYpKXtpZihRPUFzLFI9Im9uTW91c2VMZWF2ZSIsZz0ib25Nb3VzZUVudGVyIixfPSJtb3VzZSIsKGU9PT0icG9pbnRlcm91dCJ8fGU9PT0icG9pbnRlcm92ZXIiKSYmKFE9UnMsUj0ib25Qb2ludGVyTGVhdmUiLGc9Im9uUG9pbnRlckVudGVyIixfPSJwb2ludGVyIikscGU9dz09bnVsbD9TOkNhKHcpLGI9Vj09bnVsbD9TOkNhKFYpLFM9bmV3IFEoUixfKyJsZWF2ZSIsdyxuLEUpLFMudGFyZ2V0PXBlLFMucmVsYXRlZFRhcmdldD1iLFI9bnVsbCxYbihFKT09PWsmJihRPW5ldyBRKGcsXysiZW50ZXIiLFYsbixFKSxRLnRhcmdldD1iLFEucmVsYXRlZFRhcmdldD1wZSxSPVEpLHBlPVIsdyYmVil0Ontmb3IoUT13LGc9VixfPTAsYj1RO2I7Yj14YShiKSlfKys7Zm9yKGI9MCxSPWc7UjtSPXhhKFIpKWIrKztmb3IoOzA8Xy1iOylRPXhhKFEpLF8tLTtmb3IoOzA8Yi1fOylnPXhhKGcpLGItLTtmb3IoO18tLTspe2lmKFE9PT1nfHxnIT09bnVsbCYmUT09PWcuYWx0ZXJuYXRlKWJyZWFrIHQ7UT14YShRKSxnPXhhKGcpfVE9bnVsbH1lbHNlIFE9bnVsbDt3IT09bnVsbCYmdmYoeixTLHcsUSwhMSksViE9PW51bGwmJnBlIT09bnVsbCYmdmYoeixwZSxWLFEsITApfX1lOntpZihTPWs/Q2Eoayk6d2luZG93LHc9Uy5ub2RlTmFtZSYmUy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHc9PT0ic2VsZWN0Inx8dz09PSJpbnB1dCImJlMudHlwZT09PSJmaWxlIil2YXIgSD1VcztlbHNlIGlmKENzKFMpKWlmKGpzKUg9VV87ZWxzZXtIPUNfO3ZhciBJPU1ffWVsc2Ugdz1TLm5vZGVOYW1lLCF3fHx3LnRvTG93ZXJDYXNlKCkhPT0iaW5wdXQifHxTLnR5cGUhPT0iY2hlY2tib3giJiZTLnR5cGUhPT0icmFkaW8iP2smJlNjKGsuZWxlbWVudFR5cGUpJiYoSD1Vcyk6SD1xXztpZihIJiYoSD1IKGUsaykpKXtxcyh6LEgsbixFKTticmVhayBlfUkmJkkoZSxTLGspLGU9PT0iZm9jdXNvdXQiJiZrJiZTLnR5cGU9PT0ibnVtYmVyIiYmay5tZW1vaXplZFByb3BzLnZhbHVlIT1udWxsJiZrYyhTLCJudW1iZXIiLFMudmFsdWUpfXN3aXRjaChJPWs/Q2Eoayk6d2luZG93LGUpe2Nhc2UiZm9jdXNpbiI6KENzKEkpfHxJLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIikmJihlYT1JLFVjPWssUWE9bnVsbCk7YnJlYWs7Y2FzZSJmb2N1c291dCI6UWE9VWM9ZWE9bnVsbDticmVhaztjYXNlIm1vdXNlZG93biI6amM9ITA7YnJlYWs7Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJtb3VzZXVwIjpjYXNlImRyYWdlbmQiOmpjPSExLFpzKHosbixFKTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYoSF8pYnJlYWs7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpacyh6LG4sRSl9dmFyIEw7aWYoRGMpZTp7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dmFyIFg9Im9uQ29tcG9zaXRpb25TdGFydCI7YnJlYWsgZTtjYXNlImNvbXBvc2l0aW9uZW5kIjpYPSJvbkNvbXBvc2l0aW9uRW5kIjticmVhayBlO2Nhc2UiY29tcG9zaXRpb251cGRhdGUiOlg9Im9uQ29tcG9zaXRpb25VcGRhdGUiO2JyZWFrIGV9WD12b2lkIDB9ZWxzZSBJbj9EcyhlLG4pJiYoWD0ib25Db21wb3NpdGlvbkVuZCIpOmU9PT0ia2V5ZG93biImJm4ua2V5Q29kZT09PTIyOSYmKFg9Im9uQ29tcG9zaXRpb25TdGFydCIpO1gmJih6cyYmbi5sb2NhbGUhPT0ia28iJiYoSW58fFghPT0ib25Db21wb3NpdGlvblN0YXJ0Ij9YPT09Im9uQ29tcG9zaXRpb25FbmQiJiZJbiYmKEw9eHMoKSk6KGVuPUUsRWM9InZhbHVlImluIGVuP2VuLnZhbHVlOmVuLnRleHRDb250ZW50LEluPSEwKSksST1xbChrLFgpLDA8SS5sZW5ndGgmJihYPW5ldyBFcyhYLGUsbnVsbCxuLEUpLHoucHVzaCh7ZXZlbnQ6WCxsaXN0ZW5lcnM6SX0pLEw/WC5kYXRhPUw6KEw9TXMobiksTCE9PW51bGwmJihYLmRhdGE9TCkpKSksKEw9Ul8/el8oZSxuKTpOXyhlLG4pKSYmKFg9cWwoaywib25CZWZvcmVJbnB1dCIpLDA8WC5sZW5ndGgmJihJPW5ldyBFcygib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sRSksei5wdXNoKHtldmVudDpJLGxpc3RlbmVyczpYfSksSS5kYXRhPUwpKSxiaCh6LGUsayxuLEUpfW1mKHosdCl9KX1mdW5jdGlvbiBnaShlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHFsKGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLGE9W107ZSE9PW51bGw7KXt2YXIgaT1lLGw9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxpIT09NSYmaSE9PTI2JiZpIT09Mjd8fGw9PT1udWxsfHwoaT1xYShlLG4pLGkhPW51bGwmJmEudW5zaGlmdChnaShlLGksbCkpLGk9cWEoZSx0KSxpIT1udWxsJiZhLnB1c2goZ2koZSxpLGwpKSksZS50YWc9PT0zKXJldHVybiBhO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24geGEoZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUmJmUudGFnIT09MjcpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIHZmKGUsdCxuLGEsaSl7Zm9yKHZhciBsPXQuX3JlYWN0TmFtZSxvPVtdO24hPT1udWxsJiZuIT09YTspe3ZhciBzPW4sZj1zLmFsdGVybmF0ZSxrPXMuc3RhdGVOb2RlO2lmKHM9cy50YWcsZiE9PW51bGwmJmY9PT1hKWJyZWFrO3MhPT01JiZzIT09MjYmJnMhPT0yN3x8az09PW51bGx8fChmPWssaT8oaz1xYShuLGwpLGshPW51bGwmJm8udW5zaGlmdChnaShuLGssZikpKTppfHwoaz1xYShuLGwpLGshPW51bGwmJm8ucHVzaChnaShuLGssZikpKSksbj1uLnJldHVybn1vLmxlbmd0aCE9PTAmJmUucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6b30pfXZhciB4aD0vXHJcbj8vZyxUaD0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uIHlmKGUpe3JldHVybih0eXBlb2YgZT09InN0cmluZyI/ZToiIitlKS5yZXBsYWNlKHhoLGAKYCkucmVwbGFjZShUaCwiIil9ZnVuY3Rpb24gYmYoZSx0KXtyZXR1cm4gdD15Zih0KSx5ZihlKT09PXR9ZnVuY3Rpb24gVWwoKXt9ZnVuY3Rpb24gZmUoZSx0LG4sYSxpLGwpe3N3aXRjaChuKXtjYXNlImNoaWxkcmVuIjp0eXBlb2YgYT09InN0cmluZyI/dD09PSJib2R5Inx8dD09PSJ0ZXh0YXJlYSImJmE9PT0iInx8V24oZSxhKToodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpJiZ0IT09ImJvZHkiJiZXbihlLCIiK2EpO2JyZWFrO2Nhc2UiY2xhc3NOYW1lIjpZaShlLCJjbGFzcyIsYSk7YnJlYWs7Y2FzZSJ0YWJJbmRleCI6WWkoZSwidGFiaW5kZXgiLGEpO2JyZWFrO2Nhc2UiZGlyIjpjYXNlInJvbGUiOmNhc2Uidmlld0JveCI6Y2FzZSJ3aWR0aCI6Y2FzZSJoZWlnaHQiOllpKGUsbixhKTticmVhaztjYXNlInN0eWxlIjprcyhlLGEsbCk7YnJlYWs7Y2FzZSJkYXRhIjppZih0IT09Im9iamVjdCIpe1lpKGUsImRhdGEiLGEpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKGE9PT0iIiYmKHQhPT0iYSJ8fG4hPT0iaHJlZiIpKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31pZihhPT1udWxsfHx0eXBlb2YgYT09ImZ1bmN0aW9uInx8dHlwZW9mIGE9PSJzeW1ib2wifHx0eXBlb2YgYT09ImJvb2xlYW4iKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31hPVhpKCIiK2EpLGUuc2V0QXR0cmlidXRlKG4sYSk7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWVsc2UgdHlwZW9mIGw9PSJmdW5jdGlvbiImJihuPT09ImZvcm1BY3Rpb24iPyh0IT09ImlucHV0IiYmZmUoZSx0LCJuYW1lIixpLm5hbWUsaSxudWxsKSxmZShlLHQsImZvcm1FbmNUeXBlIixpLmZvcm1FbmNUeXBlLGksbnVsbCksZmUoZSx0LCJmb3JtTWV0aG9kIixpLmZvcm1NZXRob2QsaSxudWxsKSxmZShlLHQsImZvcm1UYXJnZXQiLGkuZm9ybVRhcmdldCxpLG51bGwpKTooZmUoZSx0LCJlbmNUeXBlIixpLmVuY1R5cGUsaSxudWxsKSxmZShlLHQsIm1ldGhvZCIsaS5tZXRob2QsaSxudWxsKSxmZShlLHQsInRhcmdldCIsaS50YXJnZXQsaSxudWxsKSkpO2lmKGE9PW51bGx8fHR5cGVvZiBhPT0ic3ltYm9sInx8dHlwZW9mIGE9PSJib29sZWFuIil7ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWt9YT1YaSgiIithKSxlLnNldEF0dHJpYnV0ZShuLGEpO2JyZWFrO2Nhc2Uib25DbGljayI6YSE9bnVsbCYmKGUub25jbGljaz1VbCk7YnJlYWs7Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmdGUoInNjcm9sbCIsZSk7YnJlYWs7Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmdGUoInNjcm9sbGVuZCIsZSk7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYSE9bnVsbCl7aWYodHlwZW9mIGEhPSJvYmplY3QifHwhKCJfX2h0bWwiaW4gYSkpdGhyb3cgRXJyb3IodSg2MSkpO2lmKG49YS5fX2h0bWwsbiE9bnVsbCl7aWYoaS5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcih1KDYwKSk7ZS5pbm5lckhUTUw9bn19YnJlYWs7Y2FzZSJtdWx0aXBsZSI6ZS5tdWx0aXBsZT1hJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiO2JyZWFrO2Nhc2UibXV0ZWQiOmUubXV0ZWQ9YSYmdHlwZW9mIGEhPSJmdW5jdGlvbiImJnR5cGVvZiBhIT0ic3ltYm9sIjticmVhaztjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiZGVmYXVsdFZhbHVlIjpjYXNlImRlZmF1bHRDaGVja2VkIjpjYXNlImlubmVySFRNTCI6Y2FzZSJyZWYiOmJyZWFrO2Nhc2UiYXV0b0ZvY3VzIjpicmVhaztjYXNlInhsaW5rSHJlZiI6aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhPT0iYm9vbGVhbiJ8fHR5cGVvZiBhPT0ic3ltYm9sIil7ZS5yZW1vdmVBdHRyaWJ1dGUoInhsaW5rOmhyZWYiKTticmVha31uPVhpKCIiK2EpLGUuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpocmVmIixuKTticmVhaztjYXNlImNvbnRlbnRFZGl0YWJsZSI6Y2FzZSJzcGVsbENoZWNrIjpjYXNlImRyYWdnYWJsZSI6Y2FzZSJ2YWx1ZSI6Y2FzZSJhdXRvUmV2ZXJzZSI6Y2FzZSJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIjpjYXNlImZvY3VzYWJsZSI6Y2FzZSJwcmVzZXJ2ZUFscGhhIjphIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiP2Uuc2V0QXR0cmlidXRlKG4sIiIrYSk6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJpbmVydCI6Y2FzZSJhbGxvd0Z1bGxTY3JlZW4iOmNhc2UiYXN5bmMiOmNhc2UiYXV0b1BsYXkiOmNhc2UiY29udHJvbHMiOmNhc2UiZGVmYXVsdCI6Y2FzZSJkZWZlciI6Y2FzZSJkaXNhYmxlZCI6Y2FzZSJkaXNhYmxlUGljdHVyZUluUGljdHVyZSI6Y2FzZSJkaXNhYmxlUmVtb3RlUGxheWJhY2siOmNhc2UiZm9ybU5vVmFsaWRhdGUiOmNhc2UiaGlkZGVuIjpjYXNlImxvb3AiOmNhc2Uibm9Nb2R1bGUiOmNhc2Uibm9WYWxpZGF0ZSI6Y2FzZSJvcGVuIjpjYXNlInBsYXlzSW5saW5lIjpjYXNlInJlYWRPbmx5IjpjYXNlInJlcXVpcmVkIjpjYXNlInJldmVyc2VkIjpjYXNlInNjb3BlZCI6Y2FzZSJzZWFtbGVzcyI6Y2FzZSJpdGVtU2NvcGUiOmEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/ZS5zZXRBdHRyaWJ1dGUobiwiIik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJjYXB0dXJlIjpjYXNlImRvd25sb2FkIjphPT09ITA/ZS5zZXRBdHRyaWJ1dGUobiwiIik6YSE9PSExJiZhIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiP2Uuc2V0QXR0cmlidXRlKG4sYSk6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJjb2xzIjpjYXNlInJvd3MiOmNhc2Uic2l6ZSI6Y2FzZSJzcGFuIjphIT1udWxsJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhaXNOYU4oYSkmJjE8PWE/ZS5zZXRBdHRyaWJ1dGUobixhKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlInJvd1NwYW4iOmNhc2Uic3RhcnQiOmE9PW51bGx8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHx0eXBlb2YgYT09InN5bWJvbCJ8fGlzTmFOKGEpP2UucmVtb3ZlQXR0cmlidXRlKG4pOmUuc2V0QXR0cmlidXRlKG4sYSk7YnJlYWs7Y2FzZSJwb3BvdmVyIjp0ZSgiYmVmb3JldG9nZ2xlIixlKSx0ZSgidG9nZ2xlIixlKSxMaShlLCJwb3BvdmVyIixhKTticmVhaztjYXNlInhsaW5rQWN0dWF0ZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFjdHVhdGUiLGEpO2JyZWFrO2Nhc2UieGxpbmtBcmNyb2xlIjpVdChlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6YXJjcm9sZSIsYSk7YnJlYWs7Y2FzZSJ4bGlua1JvbGUiOlV0KGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpyb2xlIixhKTticmVhaztjYXNlInhsaW5rU2hvdyI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnNob3ciLGEpO2JyZWFrO2Nhc2UieGxpbmtUaXRsZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnRpdGxlIixhKTticmVhaztjYXNlInhsaW5rVHlwZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnR5cGUiLGEpO2JyZWFrO2Nhc2UieG1sQmFzZSI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmJhc2UiLGEpO2JyZWFrO2Nhc2UieG1sTGFuZyI6VXQoZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmxhbmciLGEpO2JyZWFrO2Nhc2UieG1sU3BhY2UiOlV0KGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpzcGFjZSIsYSk7YnJlYWs7Y2FzZSJpcyI6TGkoZSwiaXMiLGEpO2JyZWFrO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpicmVhaztkZWZhdWx0OighKDI8bi5sZW5ndGgpfHxuWzBdIT09Im8iJiZuWzBdIT09Ik8ifHxuWzFdIT09Im4iJiZuWzFdIT09Ik4iKSYmKG49dF8uZ2V0KG4pfHxuLExpKGUsbixhKSl9fWZ1bmN0aW9uIG9yKGUsdCxuLGEsaSxsKXtzd2l0Y2gobil7Y2FzZSJzdHlsZSI6a3MoZSxhLGwpO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGEhPW51bGwpe2lmKHR5cGVvZiBhIT0ib2JqZWN0Inx8ISgiX19odG1sImluIGEpKXRocm93IEVycm9yKHUoNjEpKTtpZihuPWEuX19odG1sLG4hPW51bGwpe2lmKGkuY2hpbGRyZW4hPW51bGwpdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOnR5cGVvZiBhPT0ic3RyaW5nIj9XbihlLGEpOih0eXBlb2YgYT09Im51bWJlciJ8fHR5cGVvZiBhPT0iYmlnaW50IikmJlduKGUsIiIrYSk7YnJlYWs7Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmdGUoInNjcm9sbCIsZSk7YnJlYWs7Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmdGUoInNjcm9sbGVuZCIsZSk7YnJlYWs7Y2FzZSJvbkNsaWNrIjphIT1udWxsJiYoZS5vbmNsaWNrPVVsKTticmVhaztjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6YnJlYWs7Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOmJyZWFrO2RlZmF1bHQ6aWYoIXVzLmhhc093blByb3BlcnR5KG4pKWU6e2lmKG5bMF09PT0ibyImJm5bMV09PT0ibiImJihpPW4uZW5kc1dpdGgoIkNhcHR1cmUiKSx0PW4uc2xpY2UoMixpP24ubGVuZ3RoLTc6dm9pZCAwKSxsPWVbSWVdfHxudWxsLGw9bCE9bnVsbD9sW25dOm51bGwsdHlwZW9mIGw9PSJmdW5jdGlvbiImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGwsaSksdHlwZW9mIGE9PSJmdW5jdGlvbiIpKXt0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmbCE9PW51bGwmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQsYSxpKTticmVhayBlfW4gaW4gZT9lW25dPWE6YT09PSEwP2Uuc2V0QXR0cmlidXRlKG4sIiIpOkxpKGUsbixhKX19fWZ1bmN0aW9uIFZlKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbWciOnRlKCJlcnJvciIsZSksdGUoImxvYWQiLGUpO3ZhciBhPSExLGk9ITEsbDtmb3IobCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkobCkpe3ZhciBvPW5bbF07aWYobyE9bnVsbClzd2l0Y2gobCl7Y2FzZSJzcmMiOmE9ITA7YnJlYWs7Y2FzZSJzcmNTZXQiOmk9ITA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IodSgxMzcsdCkpO2RlZmF1bHQ6ZmUoZSx0LGwsbyxuLG51bGwpfX1pJiZmZShlLHQsInNyY1NldCIsbi5zcmNTZXQsbixudWxsKSxhJiZmZShlLHQsInNyYyIsbi5zcmMsbixudWxsKTtyZXR1cm47Y2FzZSJpbnB1dCI6dGUoImludmFsaWQiLGUpO3ZhciBzPWw9bz1pPW51bGwsZj1udWxsLGs9bnVsbDtmb3IoYSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoYSkpe3ZhciBFPW5bYV07aWYoRSE9bnVsbClzd2l0Y2goYSl7Y2FzZSJuYW1lIjppPUU7YnJlYWs7Y2FzZSJ0eXBlIjpvPUU7YnJlYWs7Y2FzZSJjaGVja2VkIjpmPUU7YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6az1FO2JyZWFrO2Nhc2UidmFsdWUiOmw9RTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6cz1FO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKEUhPW51bGwpdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6ZmUoZSx0LGEsRSxuLG51bGwpfX1ncyhlLGwscyxmLGssbyxpLCExKSxHaShlKTtyZXR1cm47Y2FzZSJzZWxlY3QiOnRlKCJpbnZhbGlkIixlKSxhPW89bD1udWxsO2ZvcihpIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShpKSYmKHM9bltpXSxzIT1udWxsKSlzd2l0Y2goaSl7Y2FzZSJ2YWx1ZSI6bD1zO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPXM7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YT1zO2RlZmF1bHQ6ZmUoZSx0LGkscyxuLG51bGwpfXQ9bCxuPW8sZS5tdWx0aXBsZT0hIWEsdCE9bnVsbD8kbihlLCEhYSx0LCExKTpuIT1udWxsJiYkbihlLCEhYSxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6dGUoImludmFsaWQiLGUpLGw9aT1hPW51bGw7Zm9yKG8gaW4gbilpZihuLmhhc093blByb3BlcnR5KG8pJiYocz1uW29dLHMhPW51bGwpKXN3aXRjaChvKXtjYXNlInZhbHVlIjphPXM7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmk9czticmVhaztjYXNlImNoaWxkcmVuIjpsPXM7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYocyE9bnVsbCl0aHJvdyBFcnJvcih1KDkxKSk7YnJlYWs7ZGVmYXVsdDpmZShlLHQsbyxzLG4sbnVsbCl9eXMoZSxhLGksbCksR2koZSk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IoZiBpbiBuKW4uaGFzT3duUHJvcGVydHkoZikmJihhPW5bZl0sYSE9bnVsbCkmJihmPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI6ZmUoZSx0LGYsYSxuLG51bGwpKTtyZXR1cm47Y2FzZSJkaWFsb2ciOnRlKCJiZWZvcmV0b2dnbGUiLGUpLHRlKCJ0b2dnbGUiLGUpLHRlKCJjYW5jZWwiLGUpLHRlKCJjbG9zZSIsZSk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0Ijp0ZSgibG9hZCIsZSk7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGE9MDthPG1pLmxlbmd0aDthKyspdGUobWlbYV0sZSk7YnJlYWs7Y2FzZSJpbWFnZSI6dGUoImVycm9yIixlKSx0ZSgibG9hZCIsZSk7YnJlYWs7Y2FzZSJkZXRhaWxzIjp0ZSgidG9nZ2xlIixlKTticmVhaztjYXNlImVtYmVkIjpjYXNlInNvdXJjZSI6Y2FzZSJsaW5rIjp0ZSgiZXJyb3IiLGUpLHRlKCJsb2FkIixlKTtjYXNlImFyZWEiOmNhc2UiYmFzZSI6Y2FzZSJiciI6Y2FzZSJjb2wiOmNhc2UiaHIiOmNhc2Uia2V5Z2VuIjpjYXNlIm1ldGEiOmNhc2UicGFyYW0iOmNhc2UidHJhY2siOmNhc2Uid2JyIjpjYXNlIm1lbnVpdGVtIjpmb3IoayBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoaykmJihhPW5ba10sYSE9bnVsbCkpc3dpdGNoKGspe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmZlKGUsdCxrLGEsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZihTYyh0KSl7Zm9yKEUgaW4gbiluLmhhc093blByb3BlcnR5KEUpJiYoYT1uW0VdLGEhPT12b2lkIDAmJm9yKGUsdCxFLGEsbix2b2lkIDApKTtyZXR1cm59fWZvcihzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmKGE9bltzXSxhIT1udWxsJiZmZShlLHQscyxhLG4sbnVsbCkpfWZ1bmN0aW9uIEFoKGUsdCxuLGEpe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImlucHV0Ijp2YXIgaT1udWxsLGw9bnVsbCxvPW51bGwscz1udWxsLGY9bnVsbCxrPW51bGwsRT1udWxsO2Zvcih3IGluIG4pe3ZhciB6PW5bd107aWYobi5oYXNPd25Qcm9wZXJ0eSh3KSYmeiE9bnVsbClzd2l0Y2godyl7Y2FzZSJjaGVja2VkIjpicmVhaztjYXNlInZhbHVlIjpicmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Zj16O2RlZmF1bHQ6YS5oYXNPd25Qcm9wZXJ0eSh3KXx8ZmUoZSx0LHcsbnVsbCxhLHopfX1mb3IodmFyIFMgaW4gYSl7dmFyIHc9YVtTXTtpZih6PW5bU10sYS5oYXNPd25Qcm9wZXJ0eShTKSYmKHchPW51bGx8fHohPW51bGwpKXN3aXRjaChTKXtjYXNlInR5cGUiOmw9dzticmVhaztjYXNlIm5hbWUiOmk9dzticmVhaztjYXNlImNoZWNrZWQiOms9dzticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpFPXc7YnJlYWs7Y2FzZSJ2YWx1ZSI6bz13O2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpzPXc7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYodyE9bnVsbCl0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDp3IT09eiYmZmUoZSx0LFMsdyxhLHopfX1iYyhlLG8scyxmLGssRSxsLGkpO3JldHVybjtjYXNlInNlbGVjdCI6dz1vPXM9Uz1udWxsO2ZvcihsIGluIG4paWYoZj1uW2xdLG4uaGFzT3duUHJvcGVydHkobCkmJmYhPW51bGwpc3dpdGNoKGwpe2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UibXVsdGlwbGUiOnc9ZjtkZWZhdWx0OmEuaGFzT3duUHJvcGVydHkobCl8fGZlKGUsdCxsLG51bGwsYSxmKX1mb3IoaSBpbiBhKWlmKGw9YVtpXSxmPW5baV0sYS5oYXNPd25Qcm9wZXJ0eShpKSYmKGwhPW51bGx8fGYhPW51bGwpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpTPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9bDticmVhaztjYXNlIm11bHRpcGxlIjpvPWw7ZGVmYXVsdDpsIT09ZiYmZmUoZSx0LGksbCxhLGYpfXQ9cyxuPW8sYT13LFMhPW51bGw/JG4oZSwhIW4sUywhMSk6ISFhIT0hIW4mJih0IT1udWxsPyRuKGUsISFuLHQsITApOiRuKGUsISFuLG4/W106IiIsITEpKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6dz1TPW51bGw7Zm9yKHMgaW4gbilpZihpPW5bc10sbi5oYXNPd25Qcm9wZXJ0eShzKSYmaSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkocykpc3dpdGNoKHMpe2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2RlZmF1bHQ6ZmUoZSx0LHMsbnVsbCxhLGkpfWZvcihvIGluIGEpaWYoaT1hW29dLGw9bltvXSxhLmhhc093blByb3BlcnR5KG8pJiYoaSE9bnVsbHx8bCE9bnVsbCkpc3dpdGNoKG8pe2Nhc2UidmFsdWUiOlM9aTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6dz1pO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGkhPW51bGwpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6aSE9PWwmJmZlKGUsdCxvLGksYSxsKX12cyhlLFMsdyk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IodmFyIFYgaW4gbilTPW5bVl0sbi5oYXNPd25Qcm9wZXJ0eShWKSYmUyE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoVikmJihWPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPSExOmZlKGUsdCxWLG51bGwsYSxTKSk7Zm9yKGYgaW4gYSlTPWFbZl0sdz1uW2ZdLGEuaGFzT3duUHJvcGVydHkoZikmJlMhPT13JiYoUyE9bnVsbHx8dyE9bnVsbCkmJihmPT09InNlbGVjdGVkIj9lLnNlbGVjdGVkPVMmJnR5cGVvZiBTIT0iZnVuY3Rpb24iJiZ0eXBlb2YgUyE9InN5bWJvbCI6ZmUoZSx0LGYsUyxhLHcpKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgUSBpbiBuKVM9bltRXSxuLmhhc093blByb3BlcnR5KFEpJiZTIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShRKSYmZmUoZSx0LFEsbnVsbCxhLFMpO2ZvcihrIGluIGEpaWYoUz1hW2tdLHc9bltrXSxhLmhhc093blByb3BlcnR5KGspJiZTIT09dyYmKFMhPW51bGx8fHchPW51bGwpKXN3aXRjaChrKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihTIT1udWxsKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmZlKGUsdCxrLFMsYSx3KX1yZXR1cm47ZGVmYXVsdDppZihTYyh0KSl7Zm9yKHZhciBwZSBpbiBuKVM9bltwZV0sbi5oYXNPd25Qcm9wZXJ0eShwZSkmJlMhPT12b2lkIDAmJiFhLmhhc093blByb3BlcnR5KHBlKSYmb3IoZSx0LHBlLHZvaWQgMCxhLFMpO2ZvcihFIGluIGEpUz1hW0VdLHc9bltFXSwhYS5oYXNPd25Qcm9wZXJ0eShFKXx8Uz09PXd8fFM9PT12b2lkIDAmJnc9PT12b2lkIDB8fG9yKGUsdCxFLFMsYSx3KTtyZXR1cm59fWZvcih2YXIgZyBpbiBuKVM9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZTIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShnKSYmZmUoZSx0LGcsbnVsbCxhLFMpO2Zvcih6IGluIGEpUz1hW3pdLHc9blt6XSwhYS5oYXNPd25Qcm9wZXJ0eSh6KXx8Uz09PXd8fFM9PW51bGwmJnc9PW51bGx8fGZlKGUsdCx6LFMsYSx3KX12YXIgcnI9bnVsbCxzcj1udWxsO2Z1bmN0aW9uIGpsKGUpe3JldHVybiBlLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBrZihlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBTZihlLHQpe2lmKGU9PT0wKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiBlPT09MSYmdD09PSJmb3JlaWduT2JqZWN0Ij8wOmV9ZnVuY3Rpb24gdXIoZSx0KXtyZXR1cm4gZT09PSJ0ZXh0YXJlYSJ8fGU9PT0ibm9zY3JpcHQifHx0eXBlb2YgdC5jaGlsZHJlbj09InN0cmluZyJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ibnVtYmVyInx8dHlwZW9mIHQuY2hpbGRyZW49PSJiaWdpbnQifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgZHI9bnVsbDtmdW5jdGlvbiBFaCgpe3ZhciBlPXdpbmRvdy5ldmVudDtyZXR1cm4gZSYmZS50eXBlPT09InBvcHN0YXRlIj9lPT09ZHI/ITE6KGRyPWUsITApOihkcj1udWxsLCExKX12YXIgd2Y9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsUmg9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6dm9pZCAwLHhmPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2U6dm9pZCAwLHpoPXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz09ImZ1bmN0aW9uIj9xdWV1ZU1pY3JvdGFzazp0eXBlb2YgeGY8InUiP2Z1bmN0aW9uKGUpe3JldHVybiB4Zi5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goTmgpfTp3ZjtmdW5jdGlvbiBOaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIGduKGUpe3JldHVybiBlPT09ImhlYWQifWZ1bmN0aW9uIFRmKGUsdCl7dmFyIG49dCxhPTAsaT0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiZsLm5vZGVUeXBlPT09OClpZihuPWwuZGF0YSxuPT09Ii8kIil7aWYoMDxhJiY4PmEpe249YTt2YXIgbz1lLm93bmVyRG9jdW1lbnQ7aWYobiYxJiZ2aShvLmRvY3VtZW50RWxlbWVudCksbiYyJiZ2aShvLmJvZHkpLG4mNClmb3Iobj1vLmhlYWQsdmkobiksbz1uLmZpcnN0Q2hpbGQ7bzspe3ZhciBzPW8ubmV4dFNpYmxpbmcsZj1vLm5vZGVOYW1lO29bTWFdfHxmPT09IlNDUklQVCJ8fGY9PT0iU1RZTEUifHxmPT09IkxJTksiJiZvLnJlbC50b0xvd2VyQ2FzZSgpPT09InN0eWxlc2hlZXQifHxuLnJlbW92ZUNoaWxkKG8pLG89c319aWYoaT09PTApe2UucmVtb3ZlQ2hpbGQobCksQWkodCk7cmV0dXJufWktLX1lbHNlIG49PT0iJCJ8fG49PT0iJD8ifHxuPT09IiQhIj9pKys6YT1uLmNoYXJDb2RlQXQoMCktNDg7ZWxzZSBhPTA7bj1sfXdoaWxlKG4pO0FpKHQpfWZ1bmN0aW9uIGZyKGUpe3ZhciB0PWUuZmlyc3RDaGlsZDtmb3IodCYmdC5ub2RlVHlwZT09PTEwJiYodD10Lm5leHRTaWJsaW5nKTt0Oyl7dmFyIG49dDtzd2l0Y2godD10Lm5leHRTaWJsaW5nLG4ubm9kZU5hbWUpe2Nhc2UiSFRNTCI6Y2FzZSJIRUFEIjpjYXNlIkJPRFkiOmZyKG4pLG1jKG4pO2NvbnRpbnVlO2Nhc2UiU0NSSVBUIjpjYXNlIlNUWUxFIjpjb250aW51ZTtjYXNlIkxJTksiOmlmKG4ucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCIpY29udGludWV9ZS5yZW1vdmVDaGlsZChuKX19ZnVuY3Rpb24gT2goZSx0LG4sYSl7Zm9yKDtlLm5vZGVUeXBlPT09MTspe3ZhciBpPW47aWYoZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKXtpZighYSYmKGUubm9kZU5hbWUhPT0iSU5QVVQifHxlLnR5cGUhPT0iaGlkZGVuIikpYnJlYWt9ZWxzZSBpZihhKXtpZighZVtNYV0pc3dpdGNoKHQpe2Nhc2UibWV0YSI6aWYoIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2Nhc2UibGluayI6aWYobD1lLmdldEF0dHJpYnV0ZSgicmVsIiksbD09PSJzdHlsZXNoZWV0IiYmZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO2lmKGwhPT1pLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShpLmhyZWY9PW51bGx8fGkuaHJlZj09PSIiP251bGw6aS5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0oaS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmkuY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShpLnRpdGxlPT1udWxsP251bGw6aS50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZihsPWUuZ2V0QXR0cmlidXRlKCJzcmMiKSwobCE9PShpLnNyYz09bnVsbD9udWxsOmkuc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShpLnR5cGU9PW51bGw/bnVsbDppLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShpLmNyb3NzT3JpZ2luPT1udWxsP251bGw6aS5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2UgaWYodD09PSJpbnB1dCImJmUudHlwZT09PSJoaWRkZW4iKXt2YXIgbD1pLm5hbWU9PW51bGw/bnVsbDoiIitpLm5hbWU7aWYoaS50eXBlPT09ImhpZGRlbiImJmUuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1sKXJldHVybiBlfWVsc2UgcmV0dXJuIGU7aWYoZT1SdChlLm5leHRTaWJsaW5nKSxlPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBEaChlLHQsbil7aWYodD09PSIiKXJldHVybiBudWxsO2Zvcig7ZS5ub2RlVHlwZSE9PTM7KWlmKChlLm5vZGVUeXBlIT09MXx8ZS5ub2RlTmFtZSE9PSJJTlBVVCJ8fGUudHlwZSE9PSJoaWRkZW4iKSYmIW58fChlPVJ0KGUubmV4dFNpYmxpbmcpLGU9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBwcihlKXtyZXR1cm4gZS5kYXRhPT09IiQhInx8ZS5kYXRhPT09IiQ/IiYmZS5vd25lckRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUifWZ1bmN0aW9uIE1oKGUsdCl7dmFyIG49ZS5vd25lckRvY3VtZW50O2lmKGUuZGF0YSE9PSIkPyJ8fG4ucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdCgpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKSxlLl9yZWFjdFJldHJ5PWF9fWZ1bmN0aW9uIFJ0KGUpe2Zvcig7ZSE9bnVsbDtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWUuZGF0YSx0PT09IiQifHx0PT09IiQhInx8dD09PSIkPyJ8fHQ9PT0iRiEifHx0PT09IkYiKWJyZWFrO2lmKHQ9PT0iLyQiKXJldHVybiBudWxsfX1yZXR1cm4gZX12YXIgX3I9bnVsbDtmdW5jdGlvbiBBZihlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OCl7dmFyIG49ZS5kYXRhO2lmKG49PT0iJCJ8fG49PT0iJCEifHxuPT09IiQ/Iil7aWYodD09PTApcmV0dXJuIGU7dC0tfWVsc2Ugbj09PSIvJCImJnQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIEVmKGUsdCxuKXtzd2l0Y2godD1qbChuKSxlKXtjYXNlImh0bWwiOmlmKGU9dC5kb2N1bWVudEVsZW1lbnQsIWUpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKGU9dC5oZWFkLCFlKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZihlPXQuYm9keSwhZSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gdmkoZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO21jKGUpfXZhciBUdD1uZXcgTWFwLFJmPW5ldyBTZXQ7ZnVuY3Rpb24gSGwoZSl7cmV0dXJuIHR5cGVvZiBlLmdldFJvb3ROb2RlPT0iZnVuY3Rpb24iP2UuZ2V0Um9vdE5vZGUoKTplLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH12YXIgV3Q9cS5kO3EuZD17ZjpDaCxyOnFoLEQ6VWgsQzpqaCxMOkhoLG06QmgsWDpZaCxTOkxoLE06R2h9O2Z1bmN0aW9uIENoKCl7dmFyIGU9V3QuZigpLHQ9emwoKTtyZXR1cm4gZXx8dH1mdW5jdGlvbiBxaChlKXt2YXIgdD1abihlKTt0IT09bnVsbCYmdC50YWc9PT01JiZ0LnR5cGU9PT0iZm9ybSI/S3UodCk6V3QucihlKX12YXIgVGE9dHlwZW9mIGRvY3VtZW50PiJ1Ij9udWxsOmRvY3VtZW50O2Z1bmN0aW9uIHpmKGUsdCxuKXt2YXIgYT1UYTtpZihhJiZ0eXBlb2YgdD09InN0cmluZyImJnQpe3ZhciBpPXZ0KHQpO2k9J2xpbmtbcmVsPSInK2UrJyJdW2hyZWY9IicraSsnIl0nLHR5cGVvZiBuPT0ic3RyaW5nIiYmKGkrPSdbY3Jvc3NvcmlnaW49IicrbisnIl0nKSxSZi5oYXMoaSl8fChSZi5hZGQoaSksZT17cmVsOmUsY3Jvc3NPcmlnaW46bixocmVmOnR9LGEucXVlcnlTZWxlY3RvcihpKT09PW51bGwmJih0PWEuY3JlYXRlRWxlbWVudCgibGluayIpLFZlKHQsImxpbmsiLGUpLExlKHQpLGEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBVaChlKXtXdC5EKGUpLHpmKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9ZnVuY3Rpb24gamgoZSx0KXtXdC5DKGUsdCksemYoInByZWNvbm5lY3QiLGUsdCl9ZnVuY3Rpb24gSGgoZSx0LG4pe1d0LkwoZSx0LG4pO3ZhciBhPVRhO2lmKGEmJmUmJnQpe3ZhciBpPSdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSInK3Z0KHQpKyciXSc7dD09PSJpbWFnZSImJm4mJm4uaW1hZ2VTcmNTZXQ/KGkrPSdbaW1hZ2VzcmNzZXQ9IicrdnQobi5pbWFnZVNyY1NldCkrJyJdJyx0eXBlb2Ygbi5pbWFnZVNpemVzPT0ic3RyaW5nIiYmKGkrPSdbaW1hZ2VzaXplcz0iJyt2dChuLmltYWdlU2l6ZXMpKyciXScpKTppKz0nW2hyZWY9IicrdnQoZSkrJyJdJzt2YXIgbD1pO3N3aXRjaCh0KXtjYXNlInN0eWxlIjpsPUFhKGUpO2JyZWFrO2Nhc2Uic2NyaXB0IjpsPUVhKGUpfVR0LmhhcyhsKXx8KGU9Tyh7cmVsOiJwcmVsb2FkIixocmVmOnQ9PT0iaW1hZ2UiJiZuJiZuLmltYWdlU3JjU2V0P3ZvaWQgMDplLGFzOnR9LG4pLFR0LnNldChsLGUpLGEucXVlcnlTZWxlY3RvcihpKSE9PW51bGx8fHQ9PT0ic3R5bGUiJiZhLnF1ZXJ5U2VsZWN0b3IoeWkobCkpfHx0PT09InNjcmlwdCImJmEucXVlcnlTZWxlY3RvcihiaShsKSl8fCh0PWEuY3JlYXRlRWxlbWVudCgibGluayIpLFZlKHQsImxpbmsiLGUpLExlKHQpLGEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBCaChlLHQpe1d0Lm0oZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT10JiZ0eXBlb2YgdC5hcz09InN0cmluZyI/dC5hczoic2NyaXB0IixpPSdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdW2FzPSInK3Z0KGEpKyciXVtocmVmPSInK3Z0KGUpKyciXScsbD1pO3N3aXRjaChhKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6bD1FYShlKX1pZighVHQuaGFzKGwpJiYoZT1PKHtyZWw6Im1vZHVsZXByZWxvYWQiLGhyZWY6ZX0sdCksVHQuc2V0KGwsZSksbi5xdWVyeVNlbGVjdG9yKGkpPT09bnVsbCkpe3N3aXRjaChhKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYobi5xdWVyeVNlbGVjdG9yKGJpKGwpKSlyZXR1cm59YT1uLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxWZShhLCJsaW5rIixlKSxMZShhKSxuLmhlYWQuYXBwZW5kQ2hpbGQoYSl9fX1mdW5jdGlvbiBMaChlLHQsbil7V3QuUyhlLHQsbik7dmFyIGE9VGE7aWYoYSYmZSl7dmFyIGk9Vm4oYSkuaG9pc3RhYmxlU3R5bGVzLGw9QWEoZSk7dD10fHwiZGVmYXVsdCI7dmFyIG89aS5nZXQobCk7aWYoIW8pe3ZhciBzPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihvPWEucXVlcnlTZWxlY3Rvcih5aShsKSkpcy5sb2FkaW5nPTU7ZWxzZXtlPU8oe3JlbDoic3R5bGVzaGVldCIsaHJlZjplLCJkYXRhLXByZWNlZGVuY2UiOnR9LG4pLChuPVR0LmdldChsKSkmJmhyKGUsbik7dmFyIGY9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtMZShmKSxWZShmLCJsaW5rIixlKSxmLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGssRSl7Zi5vbmxvYWQ9ayxmLm9uZXJyb3I9RX0pLGYuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtzLmxvYWRpbmd8PTF9KSxmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbigpe3MubG9hZGluZ3w9Mn0pLHMubG9hZGluZ3w9NCxCbChvLHQsYSl9bz17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6byxjb3VudDoxLHN0YXRlOnN9LGkuc2V0KGwsbyl9fX1mdW5jdGlvbiBZaChlLHQpe1d0LlgoZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT1WbihuKS5ob2lzdGFibGVTY3JpcHRzLGk9RWEoZSksbD1hLmdldChpKTtsfHwobD1uLnF1ZXJ5U2VsZWN0b3IoYmkoaSkpLGx8fChlPU8oe3NyYzplLGFzeW5jOiEwfSx0KSwodD1UdC5nZXQoaSkpJiZtcihlLHQpLGw9bi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxMZShsKSxWZShsLCJsaW5rIixlKSxuLmhlYWQuYXBwZW5kQ2hpbGQobCkpLGw9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bCxjb3VudDoxLHN0YXRlOm51bGx9LGEuc2V0KGksbCkpfX1mdW5jdGlvbiBHaChlLHQpe1d0Lk0oZSx0KTt2YXIgbj1UYTtpZihuJiZlKXt2YXIgYT1WbihuKS5ob2lzdGFibGVTY3JpcHRzLGk9RWEoZSksbD1hLmdldChpKTtsfHwobD1uLnF1ZXJ5U2VsZWN0b3IoYmkoaSkpLGx8fChlPU8oe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PVR0LmdldChpKSkmJm1yKGUsdCksbD1uLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLExlKGwpLFZlKGwsImxpbmsiLGUpLG4uaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sYS5zZXQoaSxsKSl9fWZ1bmN0aW9uIE5mKGUsdCxuLGEpe3ZhciBpPShpPUsuY3VycmVudCk/SGwoaSk6bnVsbDtpZighaSl0aHJvdyBFcnJvcih1KDQ0NikpO3N3aXRjaChlKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiB0eXBlb2Ygbi5wcmVjZWRlbmNlPT0ic3RyaW5nIiYmdHlwZW9mIG4uaHJlZj09InN0cmluZyI/KHQ9QWEobi5ocmVmKSxuPVZuKGkpLmhvaXN0YWJsZVN0eWxlcyxhPW4uZ2V0KHQpLGF8fChhPXt0eXBlOiJzdHlsZSIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQsYSkpLGEpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZSJsaW5rIjppZihuLnJlbD09PSJzdHlsZXNoZWV0IiYmdHlwZW9mIG4uaHJlZj09InN0cmluZyImJnR5cGVvZiBuLnByZWNlZGVuY2U9PSJzdHJpbmciKXtlPUFhKG4uaHJlZik7dmFyIGw9Vm4oaSkuaG9pc3RhYmxlU3R5bGVzLG89bC5nZXQoZSk7aWYob3x8KGk9aS5vd25lckRvY3VtZW50fHxpLG89e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGwuc2V0KGUsbyksKGw9aS5xdWVyeVNlbGVjdG9yKHlpKGUpKSkmJiFsLl9wJiYoby5pbnN0YW5jZT1sLG8uc3RhdGUubG9hZGluZz01KSxUdC5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LFR0LnNldChlLG4pLGx8fFFoKGksZSxuLG8uc3RhdGUpKSksdCYmYT09PW51bGwpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gb31pZih0JiZhIT09bnVsbCl0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLG49bi5zcmMsdHlwZW9mIG49PSJzdHJpbmciJiZ0JiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIiYmdHlwZW9mIHQhPSJzeW1ib2wiPyh0PUVhKG4pLG49Vm4oaSkuaG9pc3RhYmxlU2NyaXB0cyxhPW4uZ2V0KHQpLGF8fChhPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LGEpKSxhKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDQsZSkpfX1mdW5jdGlvbiBBYShlKXtyZXR1cm4naHJlZj0iJyt2dChlKSsnIid9ZnVuY3Rpb24geWkoZSl7cmV0dXJuJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bJytlKyJdIn1mdW5jdGlvbiBPZihlKXtyZXR1cm4gTyh7fSxlLHsiZGF0YS1wcmVjZWRlbmNlIjplLnByZWNlZGVuY2UscHJlY2VkZW5jZTpudWxsfSl9ZnVuY3Rpb24gUWgoZSx0LG4sYSl7ZS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrdCsiXSIpP2EubG9hZGluZz0xOih0PWUuY3JlYXRlRWxlbWVudCgibGluayIpLGEucHJlbG9hZD10LHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtyZXR1cm4gYS5sb2FkaW5nfD0xfSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZnVuY3Rpb24oKXtyZXR1cm4gYS5sb2FkaW5nfD0yfSksVmUodCwibGluayIsbiksTGUodCksZS5oZWFkLmFwcGVuZENoaWxkKHQpKX1mdW5jdGlvbiBFYShlKXtyZXR1cm4nW3NyYz0iJyt2dChlKSsnIl0nfWZ1bmN0aW9uIGJpKGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIERmKGUsdCxuKXtpZih0LmNvdW50KyssdC5pbnN0YW5jZT09PW51bGwpc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3Z0KG4uaHJlZikrJyJdJyk7aWYoYSlyZXR1cm4gdC5pbnN0YW5jZT1hLExlKGEpLGE7dmFyIGk9Tyh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gYT0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLExlKGEpLFZlKGEsInN0eWxlIixpKSxCbChhLG4ucHJlY2VkZW5jZSxlKSx0Lmluc3RhbmNlPWE7Y2FzZSJzdHlsZXNoZWV0IjppPUFhKG4uaHJlZik7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKHlpKGkpKTtpZihsKXJldHVybiB0LnN0YXRlLmxvYWRpbmd8PTQsdC5pbnN0YW5jZT1sLExlKGwpLGw7YT1PZihuKSwoaT1UdC5nZXQoaSkpJiZocihhLGkpLGw9KGUub3duZXJEb2N1bWVudHx8ZSkuY3JlYXRlRWxlbWVudCgibGluayIpLExlKGwpO3ZhciBvPWw7cmV0dXJuIG8uX3A9bmV3IFByb21pc2UoZnVuY3Rpb24ocyxmKXtvLm9ubG9hZD1zLG8ub25lcnJvcj1mfSksVmUobCwibGluayIsYSksdC5zdGF0ZS5sb2FkaW5nfD00LEJsKGwsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9bDtjYXNlInNjcmlwdCI6cmV0dXJuIGw9RWEobi5zcmMpLChpPWUucXVlcnlTZWxlY3RvcihiaShsKSkpPyh0Lmluc3RhbmNlPWksTGUoaSksaSk6KGE9biwoaT1UdC5nZXQobCkpJiYoYT1PKHt9LG4pLG1yKGEsaSkpLGU9ZS5vd25lckRvY3VtZW50fHxlLGk9ZS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxMZShpKSxWZShpLCJsaW5rIixhKSxlLmhlYWQuYXBwZW5kQ2hpbGQoaSksdC5pbnN0YW5jZT1pKTtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9ZWxzZSB0LnR5cGU9PT0ic3R5bGVzaGVldCImJih0LnN0YXRlLmxvYWRpbmcmNCk9PT0wJiYoYT10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxCbChhLG4ucHJlY2VkZW5jZSxlKSk7cmV0dXJuIHQuaW5zdGFuY2V9ZnVuY3Rpb24gQmwoZSx0LG4pe2Zvcih2YXIgYT1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdJyksaT1hLmxlbmd0aD9hW2EubGVuZ3RoLTFdOm51bGwsbD1pLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTtpZihzLmRhdGFzZXQucHJlY2VkZW5jZT09PXQpbD1zO2Vsc2UgaWYobCE9PWkpYnJlYWt9bD9sLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbC5uZXh0U2libGluZyk6KHQ9bi5ub2RlVHlwZT09PTk/bi5oZWFkOm4sdC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpKX1mdW5jdGlvbiBocihlLHQpe2UuY3Jvc3NPcmlnaW49PW51bGwmJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLGUucmVmZXJyZXJQb2xpY3k9PW51bGwmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLGUudGl0bGU9PW51bGwmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIG1yKGUsdCl7ZS5jcm9zc09yaWdpbj09bnVsbCYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksZS5yZWZlcnJlclBvbGljeT09bnVsbCYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksZS5pbnRlZ3JpdHk9PW51bGwmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIExsPW51bGw7ZnVuY3Rpb24gTWYoZSx0LG4pe2lmKExsPT09bnVsbCl7dmFyIGE9bmV3IE1hcCxpPUxsPW5ldyBNYXA7aS5zZXQobixhKX1lbHNlIGk9TGwsYT1pLmdldChuKSxhfHwoYT1uZXcgTWFwLGkuc2V0KG4sYSkpO2lmKGEuaGFzKGUpKXJldHVybiBhO2ZvcihhLnNldChlLG51bGwpLG49bi5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSxpPTA7aTxuLmxlbmd0aDtpKyspe3ZhciBsPW5baV07aWYoIShsW01hXXx8bFtKZV18fGU9PT0ibGluayImJmwuZ2V0QXR0cmlidXRlKCJyZWwiKT09PSJzdHlsZXNoZWV0IikmJmwubmFtZXNwYWNlVVJJIT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIil7dmFyIG89bC5nZXRBdHRyaWJ1dGUodCl8fCIiO289ZStvO3ZhciBzPWEuZ2V0KG8pO3M/cy5wdXNoKGwpOmEuc2V0KG8sW2xdKX19cmV0dXJuIGF9ZnVuY3Rpb24gQ2YoZSx0LG4pe2U9ZS5vd25lckRvY3VtZW50fHxlLGUuaGVhZC5pbnNlcnRCZWZvcmUobix0PT09InRpdGxlIj9lLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpOm51bGwpfWZ1bmN0aW9uIFhoKGUsdCxuKXtpZihuPT09MXx8dC5pdGVtUHJvcCE9bnVsbClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZih0eXBlb2YgdC5wcmVjZWRlbmNlIT0ic3RyaW5nInx8dHlwZW9mIHQuaHJlZiE9InN0cmluZyJ8fHQuaHJlZj09PSIiKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYodHlwZW9mIHQucmVsIT0ic3RyaW5nInx8dHlwZW9mIHQuaHJlZiE9InN0cmluZyJ8fHQuaHJlZj09PSIifHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO3JldHVybiB0LnJlbD09PSJzdHlsZXNoZWV0Ij8oZT10LmRpc2FibGVkLHR5cGVvZiB0LnByZWNlZGVuY2U9PSJzdHJpbmciJiZlPT1udWxsKTohMDtjYXNlInNjcmlwdCI6aWYodC5hc3luYyYmdHlwZW9mIHQuYXN5bmMhPSJmdW5jdGlvbiImJnR5cGVvZiB0LmFzeW5jIT0ic3ltYm9sIiYmIXQub25Mb2FkJiYhdC5vbkVycm9yJiZ0LnNyYyYmdHlwZW9mIHQuc3JjPT0ic3RyaW5nIilyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBxZihlKXtyZXR1cm4hKGUudHlwZT09PSJzdHlsZXNoZWV0IiYmKGUuc3RhdGUubG9hZGluZyYzKT09PTApfXZhciBraT1udWxsO2Z1bmN0aW9uIFpoKCl7fWZ1bmN0aW9uIFZoKGUsdCxuKXtpZihraT09PW51bGwpdGhyb3cgRXJyb3IodSg0NzUpKTt2YXIgYT1raTtpZih0LnR5cGU9PT0ic3R5bGVzaGVldCImJih0eXBlb2Ygbi5tZWRpYSE9InN0cmluZyJ8fG1hdGNoTWVkaWEobi5tZWRpYSkubWF0Y2hlcyE9PSExKSYmKHQuc3RhdGUubG9hZGluZyY0KT09PTApe2lmKHQuaW5zdGFuY2U9PT1udWxsKXt2YXIgaT1BYShuLmhyZWYpLGw9ZS5xdWVyeVNlbGVjdG9yKHlpKGkpKTtpZihsKXtlPWwuX3AsZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmdHlwZW9mIGUudGhlbj09ImZ1bmN0aW9uIiYmKGEuY291bnQrKyxhPVlsLmJpbmQoYSksZS50aGVuKGEsYSkpLHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPWwsTGUobCk7cmV0dXJufWw9ZS5vd25lckRvY3VtZW50fHxlLG49T2YobiksKGk9VHQuZ2V0KGkpKSYmaHIobixpKSxsPWwuY3JlYXRlRWxlbWVudCgibGluayIpLExlKGwpO3ZhciBvPWw7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihzLGYpe28ub25sb2FkPXMsby5vbmVycm9yPWZ9KSxWZShsLCJsaW5rIixuKSx0Lmluc3RhbmNlPWx9YS5zdHlsZXNoZWV0cz09PW51bGwmJihhLnN0eWxlc2hlZXRzPW5ldyBNYXApLGEuc3R5bGVzaGVldHMuc2V0KHQsZSksKGU9dC5zdGF0ZS5wcmVsb2FkKSYmKHQuc3RhdGUubG9hZGluZyYzKT09PTAmJihhLmNvdW50KyssdD1ZbC5iaW5kKGEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdCkpfX1mdW5jdGlvbiBLaCgpe2lmKGtpPT09bnVsbCl0aHJvdyBFcnJvcih1KDQ3NSkpO3ZhciBlPWtpO3JldHVybiBlLnN0eWxlc2hlZXRzJiZlLmNvdW50PT09MCYmZ3IoZSxlLnN0eWxlc2hlZXRzKSwwPGUuY291bnQ/ZnVuY3Rpb24odCl7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGUuc3R5bGVzaGVldHMmJmdyKGUsZS5zdHlsZXNoZWV0cyksZS51bnN1c3BlbmQpe3ZhciBhPWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsYSgpfX0sNmU0KTtyZXR1cm4gZS51bnN1c3BlbmQ9dCxmdW5jdGlvbigpe2UudW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KG4pfX06bnVsbH1mdW5jdGlvbiBZbCgpe2lmKHRoaXMuY291bnQtLSx0aGlzLmNvdW50PT09MCl7aWYodGhpcy5zdHlsZXNoZWV0cylncih0aGlzLHRoaXMuc3R5bGVzaGVldHMpO2Vsc2UgaWYodGhpcy51bnN1c3BlbmQpe3ZhciBlPXRoaXMudW5zdXNwZW5kO3RoaXMudW5zdXNwZW5kPW51bGwsZSgpfX19dmFyIEdsPW51bGw7ZnVuY3Rpb24gZ3IoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsZS51bnN1c3BlbmQhPT1udWxsJiYoZS5jb3VudCsrLEdsPW5ldyBNYXAsdC5mb3JFYWNoKEpoLGUpLEdsPW51bGwsWWwuY2FsbChlKSl9ZnVuY3Rpb24gSmgoZSx0KXtpZighKHQuc3RhdGUubG9hZGluZyY0KSl7dmFyIG49R2wuZ2V0KGUpO2lmKG4pdmFyIGE9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsR2wuc2V0KGUsbik7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxsPTA7bDxpLmxlbmd0aDtsKyspe3ZhciBvPWlbbF07KG8ubm9kZU5hbWU9PT0iTElOSyJ8fG8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpIT09Im5vdCBhbGwiKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLGE9byl9YSYmbi5zZXQobnVsbCxhKX1pPXQuaW5zdGFuY2Usbz1pLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksbD1uLmdldChvKXx8YSxsPT09YSYmbi5zZXQobnVsbCxpKSxuLnNldChvLGkpLHRoaXMuY291bnQrKyxhPVlsLmJpbmQodGhpcyksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhKSxpLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixhKSxsP2wucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxsLm5leHRTaWJsaW5nKTooZT1lLm5vZGVUeXBlPT09OT9lLmhlYWQ6ZSxlLmluc2VydEJlZm9yZShpLGUuZmlyc3RDaGlsZCkpLHQuc3RhdGUubG9hZGluZ3w9NH19dmFyIFNpPXskJHR5cGVvZjpvZSxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpHLF9jdXJyZW50VmFsdWUyOkcsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uICRoKGUsdCxuLGEsaSxsLG8scyl7dGhpcy50YWc9MSx0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5uZXh0PXRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PXRoaXMuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXhwaXJhdGlvblRpbWVzPWZjKC0xKSx0aGlzLmVudGFuZ2xlZExhbmVzPXRoaXMuc2hlbGxTdXNwZW5kQ291bnRlcj10aGlzLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMud2FybUxhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1mYygwKSx0aGlzLmhpZGRlblVwZGF0ZXM9ZmMobnVsbCksdGhpcy5pZGVudGlmaWVyUHJlZml4PWEsdGhpcy5vblVuY2F1Z2h0RXJyb3I9aSx0aGlzLm9uQ2F1Z2h0RXJyb3I9bCx0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1vLHRoaXMucG9vbGVkQ2FjaGU9bnVsbCx0aGlzLnBvb2xlZENhY2hlTGFuZXM9MCx0aGlzLmZvcm1TdGF0ZT1zLHRoaXMuaW5jb21wbGV0ZVRyYW5zaXRpb25zPW5ldyBNYXB9ZnVuY3Rpb24gVWYoZSx0LG4sYSxpLGwsbyxzLGYsayxFLHope3JldHVybiBlPW5ldyAkaChlLHQsbixvLHMsZixrLHopLHQ9MSxsPT09ITAmJih0fD0yNCksbD1kdCgzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9bCxsLnN0YXRlTm9kZT1lLHQ9RmMoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxsLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6YSxpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSx0byhsKSxlfWZ1bmN0aW9uIGpmKGUpe3JldHVybiBlPyhlPWlhLGUpOmlhfWZ1bmN0aW9uIEhmKGUsdCxuLGEsaSxsKXtpPWpmKGkpLGEuY29udGV4dD09PW51bGw/YS5jb250ZXh0PWk6YS5wZW5kaW5nQ29udGV4dD1pLGE9YW4odCksYS5wYXlsb2FkPXtlbGVtZW50Om59LGw9bD09PXZvaWQgMD9udWxsOmwsbCE9PW51bGwmJihhLmNhbGxiYWNrPWwpLG49bG4oZSxhLHQpLG4hPT1udWxsJiYobXQobixlLHQpLFBhKG4sZSx0KSl9ZnVuY3Rpb24gQmYoZSx0KXtpZihlPWUubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmZS5kZWh5ZHJhdGVkIT09bnVsbCl7dmFyIG49ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9biE9PTAmJm48dD9uOnR9fWZ1bmN0aW9uIHZyKGUsdCl7QmYoZSx0KSwoZT1lLmFsdGVybmF0ZSkmJkJmKGUsdCl9ZnVuY3Rpb24gTGYoZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9YWEoZSw2NzEwODg2NCk7dCE9PW51bGwmJm10KHQsZSw2NzEwODg2NCksdnIoZSw2NzEwODg2NCl9fXZhciBRbD0hMDtmdW5jdGlvbiBXaChlLHQsbixhKXt2YXIgaT1BLlQ7QS5UPW51bGw7dmFyIGw9cS5wO3RyeXtxLnA9Mix5cihlLHQsbixhKX1maW5hbGx5e3EucD1sLEEuVD1pfX1mdW5jdGlvbiBGaChlLHQsbixhKXt2YXIgaT1BLlQ7QS5UPW51bGw7dmFyIGw9cS5wO3RyeXtxLnA9OCx5cihlLHQsbixhKX1maW5hbGx5e3EucD1sLEEuVD1pfX1mdW5jdGlvbiB5cihlLHQsbixhKXtpZihRbCl7dmFyIGk9YnIoYSk7aWYoaT09PW51bGwpY3IoZSx0LGEsWGwsbiksR2YoZSxhKTtlbHNlIGlmKEloKGksZSx0LG4sYSkpYS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEdmKGUsYSksdCY0JiYtMTxQaC5pbmRleE9mKGUpKXtmb3IoO2khPT1udWxsOyl7dmFyIGw9Wm4oaSk7aWYobCE9PW51bGwpc3dpdGNoKGwudGFnKXtjYXNlIDM6aWYobD1sLnN0YXRlTm9kZSxsLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPXduKGwucGVuZGluZ0xhbmVzKTtpZihvIT09MCl7dmFyIHM9bDtmb3Iocy5wZW5kaW5nTGFuZXN8PTIscy5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIGY9MTw8MzEtc3Qobyk7cy5lbnRhbmdsZW1lbnRzWzFdfD1mLG8mPX5mfUN0KGwpLChzZSY2KT09PTAmJihFbD16dCgpKzUwMCxoaSgwKSl9fWJyZWFrO2Nhc2UgMTM6cz1hYShsLDIpLHMhPT1udWxsJiZtdChzLGwsMiksemwoKSx2cihsLDIpfWlmKGw9YnIoYSksbD09PW51bGwmJmNyKGUsdCxhLFhsLG4pLGw9PT1pKWJyZWFrO2k9bH1pIT09bnVsbCYmYS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIGNyKGUsdCxhLG51bGwsbil9fWZ1bmN0aW9uIGJyKGUpe3JldHVybiBlPXhjKGUpLGtyKGUpfXZhciBYbD1udWxsO2Z1bmN0aW9uIGtyKGUpe2lmKFhsPW51bGwsZT1YbihlKSxlIT09bnVsbCl7dmFyIHQ9eChlKTtpZih0PT09bnVsbCllPW51bGw7ZWxzZXt2YXIgbj10LnRhZztpZihuPT09MTMpe2lmKGU9Tih0KSxlIT09bnVsbClyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZihuPT09Myl7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gdC50YWc9PT0zP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtlPW51bGx9ZWxzZSB0IT09ZSYmKGU9bnVsbCl9fXJldHVybiBYbD1lLG51bGx9ZnVuY3Rpb24gWWYoZSl7c3dpdGNoKGUpe2Nhc2UiYmVmb3JldG9nZ2xlIjpjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJyZXNpemUiOmNhc2Uic2Vla2VkIjpjYXNlInN1Ym1pdCI6Y2FzZSJ0b2dnbGUiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAyO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG91Y2htb3ZlIjpjYXNlIndoZWVsIjpjYXNlIm1vdXNlZW50ZXIiOmNhc2UibW91c2VsZWF2ZSI6Y2FzZSJwb2ludGVyZW50ZXIiOmNhc2UicG9pbnRlcmxlYXZlIjpyZXR1cm4gODtjYXNlIm1lc3NhZ2UiOnN3aXRjaChqcCgpKXtjYXNlIGVzOnJldHVybiAyO2Nhc2UgdHM6cmV0dXJuIDg7Y2FzZSBVaTpjYXNlIEhwOnJldHVybiAzMjtjYXNlIG5zOnJldHVybiAyNjg0MzU0NTY7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBTcj0hMSx2bj1udWxsLHluPW51bGwsYm49bnVsbCx3aT1uZXcgTWFwLHhpPW5ldyBNYXAsa249W10sUGg9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBHZihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOnZuPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjp5bj1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0Ijpibj1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6d2kuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6eGkuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gVGkoZSx0LG4sYSxpLGwpe3JldHVybiBlPT09bnVsbHx8ZS5uYXRpdmVFdmVudCE9PWw/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6YSxuYXRpdmVFdmVudDpsLHRhcmdldENvbnRhaW5lcnM6W2ldfSx0IT09bnVsbCYmKHQ9Wm4odCksdCE9PW51bGwmJkxmKHQpKSxlKTooZS5ldmVudFN5c3RlbUZsYWdzfD1hLHQ9ZS50YXJnZXRDb250YWluZXJzLGkhPT1udWxsJiZ0LmluZGV4T2YoaSk9PT0tMSYmdC5wdXNoKGkpLGUpfWZ1bmN0aW9uIEloKGUsdCxuLGEsaSl7c3dpdGNoKHQpe2Nhc2UiZm9jdXNpbiI6cmV0dXJuIHZuPVRpKHZuLGUsdCxuLGEsaSksITA7Y2FzZSJkcmFnZW50ZXIiOnJldHVybiB5bj1UaSh5bixlLHQsbixhLGkpLCEwO2Nhc2UibW91c2VvdmVyIjpyZXR1cm4gYm49VGkoYm4sZSx0LG4sYSxpKSwhMDtjYXNlInBvaW50ZXJvdmVyIjp2YXIgbD1pLnBvaW50ZXJJZDtyZXR1cm4gd2kuc2V0KGwsVGkod2kuZ2V0KGwpfHxudWxsLGUsdCxuLGEsaSkpLCEwO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOnJldHVybiBsPWkucG9pbnRlcklkLHhpLnNldChsLFRpKHhpLmdldChsKXx8bnVsbCxlLHQsbixhLGkpKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBRZihlKXt2YXIgdD1YbihlLnRhcmdldCk7aWYodCE9PW51bGwpe3ZhciBuPXgodCk7aWYobiE9PW51bGwpe2lmKHQ9bi50YWcsdD09PTEzKXtpZih0PU4obiksdCE9PW51bGwpe2UuYmxvY2tlZE9uPXQsVnAoZS5wcmlvcml0eSxmdW5jdGlvbigpe2lmKG4udGFnPT09MTMpe3ZhciBhPWh0KCk7YT1wYyhhKTt2YXIgaT1hYShuLGEpO2khPT1udWxsJiZtdChpLG4sYSksdnIobixhKX19KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPW4udGFnPT09Mz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBabChlKXtpZihlLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49YnIoZS5uYXRpdmVFdmVudCk7aWYobj09PW51bGwpe249ZS5uYXRpdmVFdmVudDt2YXIgYT1uZXcgbi5jb25zdHJ1Y3RvcihuLnR5cGUsbik7d2M9YSxuLnRhcmdldC5kaXNwYXRjaEV2ZW50KGEpLHdjPW51bGx9ZWxzZSByZXR1cm4gdD1abihuKSx0IT09bnVsbCYmTGYodCksZS5ibG9ja2VkT249biwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gWGYoZSx0LG4pe1psKGUpJiZuLmRlbGV0ZSh0KX1mdW5jdGlvbiBlbSgpe1NyPSExLHZuIT09bnVsbCYmWmwodm4pJiYodm49bnVsbCkseW4hPT1udWxsJiZabCh5bikmJih5bj1udWxsKSxibiE9PW51bGwmJlpsKGJuKSYmKGJuPW51bGwpLHdpLmZvckVhY2goWGYpLHhpLmZvckVhY2goWGYpfWZ1bmN0aW9uIFZsKGUsdCl7ZS5ibG9ja2VkT249PT10JiYoZS5ibG9ja2VkT249bnVsbCxTcnx8KFNyPSEwLGMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhjLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGVtKSkpfXZhciBLbD1udWxsO2Z1bmN0aW9uIFpmKGUpe0tsIT09ZSYmKEtsPWUsYy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZnVuY3Rpb24oKXtLbD09PWUmJihLbD1udWxsKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTMpe3ZhciBuPWVbdF0sYT1lW3QrMV0saT1lW3QrMl07aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpe2lmKGtyKGF8fG4pPT09bnVsbCljb250aW51ZTticmVha312YXIgbD1abihuKTtsIT09bnVsbCYmKGUuc3BsaWNlKHQsMyksdC09MyxrbyhsLHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOmF9LGEsaSkpfX0pKX1mdW5jdGlvbiBBaShlKXtmdW5jdGlvbiB0KGYpe3JldHVybiBWbChmLGUpfXZuIT09bnVsbCYmVmwodm4sZSkseW4hPT1udWxsJiZWbCh5bixlKSxibiE9PW51bGwmJlZsKGJuLGUpLHdpLmZvckVhY2godCkseGkuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGtuLmxlbmd0aDtuKyspe3ZhciBhPWtuW25dO2EuYmxvY2tlZE9uPT09ZSYmKGEuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxrbi5sZW5ndGgmJihuPWtuWzBdLG4uYmxvY2tlZE9uPT09bnVsbCk7KVFmKG4pLG4uYmxvY2tlZE9uPT09bnVsbCYma24uc2hpZnQoKTtpZihuPShlLm93bmVyRG9jdW1lbnR8fGUpLiQkcmVhY3RGb3JtUmVwbGF5LG4hPW51bGwpZm9yKGE9MDthPG4ubGVuZ3RoO2ErPTMpe3ZhciBpPW5bYV0sbD1uW2ErMV0sbz1pW0llXXx8bnVsbDtpZih0eXBlb2YgbD09ImZ1bmN0aW9uIilvfHxaZihuKTtlbHNlIGlmKG8pe3ZhciBzPW51bGw7aWYobCYmbC5oYXNBdHRyaWJ1dGUoImZvcm1BY3Rpb24iKSl7aWYoaT1sLG89bFtJZV18fG51bGwpcz1vLmZvcm1BY3Rpb247ZWxzZSBpZihrcihpKSE9PW51bGwpY29udGludWV9ZWxzZSBzPW8uYWN0aW9uO3R5cGVvZiBzPT0iZnVuY3Rpb24iP25bYSsxXT1zOihuLnNwbGljZShhLDMpLGEtPTMpLFpmKG4pfX19ZnVuY3Rpb24gd3IoZSl7dGhpcy5faW50ZXJuYWxSb290PWV9SmwucHJvdG90eXBlLnJlbmRlcj13ci5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZih0PT09bnVsbCl0aHJvdyBFcnJvcih1KDQwOSkpO3ZhciBuPXQuY3VycmVudCxhPWh0KCk7SGYobixhLGUsdCxudWxsLG51bGwpfSxKbC5wcm90b3R5cGUudW5tb3VudD13ci5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihlIT09bnVsbCl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO0hmKGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHpsKCksdFtRbl09bnVsbH19O2Z1bmN0aW9uIEpsKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfUpsLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1vcygpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248a24ubGVuZ3RoJiZ0IT09MCYmdDxrbltuXS5wcmlvcml0eTtuKyspO2tuLnNwbGljZShuLDAsZSksbj09PTAmJlFmKGUpfX07dmFyIFZmPXIudmVyc2lvbjtpZihWZiE9PSIxOS4xLjEiKXRocm93IEVycm9yKHUoNTI3LFZmLCIxOS4xLjEiKSk7cS5maW5kRE9NTm9kZT1mdW5jdGlvbihlKXt2YXIgdD1lLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBlLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcih1KDE4OCkpOihlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcih1KDI2OCxlKSkpO3JldHVybiBlPWgodCksZT1lIT09bnVsbD95KGUpOm51bGwsZT1lPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlLGV9O3ZhciB0bT17YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjEuMSIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIixjdXJyZW50RGlzcGF0Y2hlclJlZjpBLHJlY29uY2lsZXJWZXJzaW9uOiIxOS4xLjEifTtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPCJ1Iil7dmFyICRsPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighJGwuaXNEaXNhYmxlZCYmJGwuc3VwcG9ydHNGaWJlcil0cnl7TmE9JGwuaW5qZWN0KHRtKSxydD0kbH1jYXRjaHt9fXJldHVybiBSaS5jcmVhdGVSb290PWZ1bmN0aW9uKGUsdCl7aWYoIXYoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgbj0hMSxhPSIiLGk9b2QsbD1yZCxvPXNkLHM9bnVsbDtyZXR1cm4gdCE9bnVsbCYmKHQudW5zdGFibGVfc3RyaWN0TW9kZT09PSEwJiYobj0hMCksdC5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYoYT10LmlkZW50aWZpZXJQcmVmaXgpLHQub25VbmNhdWdodEVycm9yIT09dm9pZCAwJiYoaT10Lm9uVW5jYXVnaHRFcnJvciksdC5vbkNhdWdodEVycm9yIT09dm9pZCAwJiYobD10Lm9uQ2F1Z2h0RXJyb3IpLHQub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvciksdC51bnN0YWJsZV90cmFuc2l0aW9uQ2FsbGJhY2tzIT09dm9pZCAwJiYocz10LnVuc3RhYmxlX3RyYW5zaXRpb25DYWxsYmFja3MpKSx0PVVmKGUsMSwhMSxudWxsLG51bGwsbixhLGksbCxvLHMsbnVsbCksZVtRbl09dC5jdXJyZW50LGxyKGUpLG5ldyB3cih0KX0sUmkuaHlkcmF0ZVJvb3Q9ZnVuY3Rpb24oZSx0LG4pe2lmKCF2KGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIGE9ITEsaT0iIixsPW9kLG89cmQscz1zZCxmPW51bGwsaz1udWxsO3JldHVybiBuIT1udWxsJiYobi51bnN0YWJsZV9zdHJpY3RNb2RlPT09ITAmJihhPSEwKSxuLmlkZW50aWZpZXJQcmVmaXghPT12b2lkIDAmJihpPW4uaWRlbnRpZmllclByZWZpeCksbi5vblVuY2F1Z2h0RXJyb3IhPT12b2lkIDAmJihsPW4ub25VbmNhdWdodEVycm9yKSxuLm9uQ2F1Z2h0RXJyb3IhPT12b2lkIDAmJihvPW4ub25DYXVnaHRFcnJvciksbi5vblJlY292ZXJhYmxlRXJyb3IhPT12b2lkIDAmJihzPW4ub25SZWNvdmVyYWJsZUVycm9yKSxuLnVuc3RhYmxlX3RyYW5zaXRpb25DYWxsYmFja3MhPT12b2lkIDAmJihmPW4udW5zdGFibGVfdHJhbnNpdGlvbkNhbGxiYWNrcyksbi5mb3JtU3RhdGUhPT12b2lkIDAmJihrPW4uZm9ybVN0YXRlKSksdD1VZihlLDEsITAsdCxuPz9udWxsLGEsaSxsLG8scyxmLGspLHQuY29udGV4dD1qZihudWxsKSxuPXQuY3VycmVudCxhPWh0KCksYT1wYyhhKSxpPWFuKGEpLGkuY2FsbGJhY2s9bnVsbCxsbihuLGksYSksbj1hLHQuY3VycmVudC5sYW5lcz1uLERhKHQsbiksQ3QodCksZVtRbl09dC5jdXJyZW50LGxyKGUpLG5ldyBKbCh0KX0sUmkudmVyc2lvbj0iMTkuMS4xIixSaX12YXIgYXA7ZnVuY3Rpb24gcG0oKXtpZihhcClyZXR1cm4gVHIuZXhwb3J0czthcD0xO2Z1bmN0aW9uIGMoKXtpZighKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18+InUifHx0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFIT0iZnVuY3Rpb24iKSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGMpfWNhdGNoKHIpe2NvbnNvbGUuZXJyb3Iocil9fXJldHVybiBjKCksVHIuZXhwb3J0cz1mbSgpLFRyLmV4cG9ydHN9dmFyIF9tPXBtKCksVT1ZcigpO2NvbnN0IGhtPXsic2hlbGwuc3dpdGNoX2xpZ2h0Ijoi5YiH5o2i5rWF6Imy5qih5byPIiwic2hlbGwuc3dpdGNoX2RhcmsiOiLliIfmjaLmt7HoibLmqKHlvI8iLCJzaGVsbC51cGRhdGVfYXZhaWxhYmxlIjoi5paw54mI5bey5bCx57uq77yM5Yi35paw5ZCO5L2/55So44CCIiwic2hlbGwucmVsb2FkIjoi5Yi35paw6aG16Z2iIiwiYXBwLm5hbWUiOiJRdWFudFN0cmF0ZWd5TGFiIiwic2hlbGwuY29ja3BpdCI6IuWGs+etlumpvumptuiIsSIsIm5hdi5tYWluIjoi5Li75a+86IiqIiwibmF2Lm92ZXJ2aWV3Ijoi5oC76KeIIiwibmF2LnBlcmZvcm1hbmNlIjoi5pS255uK5YiG5p6QIiwibmF2LmRlY2lzaW9ucyI6IuWGs+etliIsIm5hdi5hY2NvdW50cyI6Iui0puaItyIsIm5hdi5zdHJhdGVnaWVzIjoi562W55WlIiwibmF2LmhlYWx0aCI6IuWBpeW6tyIsIm5hdi5tb3JlIjoi5pu05aSaIiwibmF2LnRvZG9fdW5hdmFpbGFibGUiOiLlvoXlip7mlbDph4/kuI3lj6/or7siLCJjb21tb24ubG9hZGluZyI6Iuato+WcqOivu+WPluKApiIsImNvbW1vbi5yZXRyeSI6IumHjeivlSIsImNvbW1vbi5jbG9zZSI6IuWFs+mXrSIsImNvbW1vbi5jYW5jZWwiOiLlj5bmtogiLCJjb21tb24uY29uZmlybSI6IuehruiupOe7p+e7rSIsImNvbW1vbi5zYXZlIjoi5L+d5a2YIiwiY29tbW9uLmVkaXQiOiLnvJbovpEiLCJjb21tb24uYmFjayI6Iui/lOWbniIsImNvbW1vbi5hbGwiOiLlhajpg6giLCJjb21tb24ubm9uZSI6IuaXoCIsImNvbW1vbi51bmtub3duIjoi5pyq55+lIiwiY29tbW9uLm5hIjoi4oCUIiwiY29tbW9uLmFzX29mIjoi5pWw5o2u5oiq6IezIHt2YWx1ZX0iLCJjb21tb24udXBkYXRlZF9hdCI6IumhtemdouWIt+aWsOS6jiB7dmFsdWV9IiwiY29tbW9uLnJlZnJlc2giOiLliLfmlrAiLCJjb21tb24ucmVmcmVzaGluZyI6Iuato+WcqOWIt+aWsOKApiIsImNvbW1vbi5jb3B5Ijoi5aSN5Yi2IiwiY29tbW9uLmNvcGllZCI6IuW3suWkjeWItiIsImNvbW1vbi52aWV3X2FsbCI6Iuafpeeci+WFqOmDqCIsImNvbW1vbi5sb2FkX21vcmUiOiLliqDovb3mm7TlpJoiLCJjb21tb24udGFibGVfc2Nyb2xsX2hpbnQiOiLlt6blj7Pmu5Hliqjmn6XnnIvlhajpg6jlrZfmrrUiLCJjb21tb24uZXhwYW5kIjoi5bGV5byAIiwiY29tbW9uLmNvbGxhcHNlIjoi5pS26LW3IiwiY29tbW9uLmFjY291bnQiOiLotKbmiLciLCJjb21tb24uaWJrcl9hY2NvdW50IjoiSUJLUiDotKbmiLciLCJjb21tb24ucGxhdGZvcm0iOiLlubPlj7AiLCJjb21tb24uc3RyYXRlZ3kiOiLnrZbnlaUiLCJjb21tb24udGltZSI6IuaXtumXtCIsImNvbW1vbi5zdGF0dXMiOiLnirbmgIEiLCJjb21tb24uZGV0YWlscyI6IuivpuaDhSIsImNvbW1vbi5zeW50aGV0aWNfYmFkZ2UiOiLlkIjmiJDmvJTnpLoiLCJjb21tb24ucGFwZXJfYmFkZ2UiOiLmqKHmi58iLCJjb21tb24ucGFnZV9sb2FkX2ZhaWxlZCI6IuatpOmhtemdouaXoOazleWKoOi9vSIsImNvbW1vbi5yZWFkX2ZhaWxlZF9iYW5uZXIiOiLpg6jliIbmlbDmja7or7vlj5blpLHotKXvvIzor7fnqI3lkI7ph43or5XvvJvor7vlj5blpLHotKXkuI3ku6PooajmsqHmnInlhoXlrrnjgIIiLCJjb21tb24udW5zYXZlZF9ndWFyZF90aXRsZSI6IuaUvuW8g+acquS/neWtmOeahOS/ruaUue+8nyIsImNvbW1vbi51bnNhdmVkX2d1YXJkX2JvZHkiOiLlvZPliY3mnInmnKrkv53lrZjnmoTkv67mlLnvvIznprvlvIDlkI7lsIbkuKLlpLHjgIIiLCJzdGF0ZS51bmtub3duX3N0YXR1cyI6IuacquefpeeKtuaAgSIsInN0YXRlLnJldmlldyI6IuW+heWkjeaguCIsInN0YXRlLndhdGNoIjoi6ZyA5YWz5rOoIiwic3RhdGUuY3JpdGljYWwiOiLkuKXph40iLCJzdGF0ZS5ibG9ja2VkIjoi6L+Q6KGM5Y+X6Zi7Iiwic3RhdGUuZmFpbGVkIjoi6L+Q6KGM5aSx6LSlIiwic3RhdGUucmVhZF9pbmNvbXBsZXRlIjoi6K+75Y+W5LiN5a6M5pW0Iiwic3RhdGUuaW5zdWZmaWNpZW50Ijoi6LWE5paZ5LiN6LazIiwic3RhdGUucHJldmlld2VkIjoi5bey6aKE6KeIIiwic3RhdGUubm9fc3VibWlzc2lvbiI6IuacquaPkOS6pOiuouWNlSIsInN0YXRlLm5vX3JlYmFsYW5jZSI6IuaXoOmcgOiwg+S7kyIsInN0YXRlLmZpbGxlZCI6IuW3suaIkOS6pCIsInN0YXRlLm5vdF9kdWUiOiLlsJrmnKrliLDov5DooYzml7bpl7QiLCJzdGF0ZS5tYXJrZXRfY2xvc2VkIjoi5LyR5biCIiwic3RhdGUub3V0c2lkZV93aW5kb3ciOiLkuI3lnKjov5DooYzml7bmrrUiLCJzdGF0ZS53aXRoaW5fZ3JhY2UiOiLku43lnKjnrYnlvoXmnJ8iLCJzdGF0ZS5taXNzaW5nX3JlcG9ydCI6Iue8uuWwkeaKpeWRiiIsInN0YXRlLmVycm9yIjoi6L+Q6KGM6ZSZ6K+vIiwic3RhdGUuaGVhbHRoeSI6IuWBpeW6tyIsInN0YXRlLm5vX3NpZ25hbCI6IuaXoOS/oeWPtyIsInN0YXRlLm9rIjoi5q2j5bi4Iiwic3RhdGUucGFydGlhbCI6IumDqOWIhuaVsOaNriIsInN0YXRlLnBhcnRpYWxfdmFsdWF0aW9uIjoi5Lyw5YC85LiN5a6M5pW0Iiwic3RhdGUucGFydGlhbF9ydW50aW1lIjoi6L+Q6KGM5pyq5o6l5YWlIiwic3RhdGUuc3RhbGUiOiLmlbDmja7lgY/ml6ciLCJzdGF0ZS5ub19kYXRhIjoi5pqC5peg5pWw5o2uIiwic3RhdGUubm90X2Nvbm5lY3RlZCI6IuacquaOpeWFpSIsInN0YXRlLnVuYXZhaWxhYmxlIjoi5pqC5LiN5Y+v6K6h566XIiwic3RhdGUucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJzdGF0ZS5sb2FkX2ZhaWxlZCI6IuaaguaXtuaXoOazleWKoOi9vSIsInJlYXNvbi5leHRlcm5hbF9jYXNoZmxvd19yZXF1aXJlZCI6Iue8uuWwkeWujOaVtOWHuuWFpemHkeiusOW9le+8jOaaguS4jeWxleekuiBUV1LvvJvph5Hpop3mjInotYTkuqflj5jliqjlsZXnpLrjgIIiLCJyZWFzb24uZmlsbHNfbm90X2Nvbm5lY3RlZCI6IuaIkOS6pOiusOW9lea6kOacquaOpeWFpSIsInJlYXNvbi5leGVjdXRpb25fY292ZXJhZ2VfdW52ZXJpZmllZCI6IuaIkOS6pOimhuebluiMg+WbtOacquaguOWuniIsInJlYXNvbi5hdmdfY29zdF9taXNzaW5nIjoi57y65bCR5oiQ5pys5Lu377yM5pyq5a6e546w55uI5LqP5pqC5LiN5Y+v6K6h566XIiwicmVhc29uLm1peGVkX2N1cnJlbmN5Ijoi5aSa5biB56eN5peg5rOV5ZCI5bm25Li65Y2V5LiA6YeR6aKd77yb5oyJ5biB56eN5YiG5Yir5bGV56S6IiwicmVhc29uLnNuYXBzaG90X2hpc3RvcnlfbWlzc2luZyI6Iue8uuWwkeWOhuWPsui1hOS6p+W/q+eFpyIsInJlYXNvbi5zbmFwc2hvdF9taXNzaW5nIjoi57y65bCR6LWE5Lqn5b+r54WnIiwicmVhc29uLnNuYXBzaG90X3BlbmRpbmciOiLku4rml6XmlbDmja7lvoXmm7TmlrAiLCJyZWFzb24ucHJldmlvdXNfc25hcHNob3RfbWlzc2luZyI6Iue8uuWwkeWJjeS4gOaXpeeahOi1hOS6p+W/q+eFpyIsInJlYXNvbi5ub25fdHJhZGluZ193ZWVrZW5kIjoi6Z2e5Lqk5piT5pelIiwicmVhc29uLmluY29tcGxldGVfbW9udGgiOiLlvZPmnIjmlbDmja7lsJrkuI3lrozmlbQiLCJyZWFzb24uaW5zdWZmaWNpZW50X29ic2VydmF0aW9ucyI6IuWOhuWPsuaVsOaNruS4jei2syIsInJlYXNvbi5pbnZhbGlkX3JldHVybl9wZXJpb2QiOiLljLrpl7Tnq6/ngrnml6DmlYgiLCJyZWFzb24ucG9zaXRpb25zX3BhcnRpYWxfY292ZXJhZ2UiOiLmjIHku5Pku4Xopobnm5bpg6jliIbotYTkuqciLCJyZWFzb24ucG9zaXRpb25zX25vdF9jb25uZWN0ZWQiOiLmjIHku5PmlbDmja7mupDmnKrmjqXlhaUiLCJyZWFzb24ucG9zaXRpb25zX3N0YWxlIjoi5oyB5LuT5pWw5o2u5YGP5penIiwicmVhc29uLmJlbmNobWFya19oaXN0b3J5X3VucmVhZGFibGUiOiLln7rlh4bmlbDmja7or7vlj5blpLHotKUiLCJyZWFzb24ucG9zaXRpb25fdmFsdWVfbWlzc2luZyI6Iue8uuWwkeaMgeS7k+W4guWAvCIsInJlYXNvbi5ub19jb21tb25fZGF0ZSI6IuS4juWfuuWHhuayoeacieWPr+Wvuem9kOeahOWFseWQjOaXpeacnyIsInJlYXNvbi5iZW5jaG1hcmtfaGlzdG9yeV9taXNzaW5nIjoi57y65bCR5Z+65YeG5Y6G5Y+y5pWw5o2uIiwicmVhc29uLnN0b3JlZF9yZWNvcmRzX3VucmVhZGFibGUiOiLlrZjlgqjorrDlvZXor7vlj5blpLHotKUiLCJyZWFzb24uZWZmZWN0X3ZlcmlmaWNhdGlvbl9ub3RfcmVjb3JkZWQiOiLmmoLml6DorrDlvZXlj6/nlKjkuo7noa7orqTlj5jmm7Tnu5PmnpzjgIIiLCJyZWFzb24uYm91bmRlZF9hdWRpdF9sb2ciOiLljoblj7LorrDlvZXmnInkv53nlZnkuIrpmZDvvIzlj6/og73kuI3lrozmlbQiLCJyZWFzb24ubm9fY2xvc2VkX3RyYWRlcyI6IuayoeacieW3suW5s+S7k+eahOS6pOaYkyIsInJlYXNvbi5ub3RpZmljYXRpb25fbG9nX25vdF9jb25uZWN0ZWQiOiLpgJrnn6Xlj5HpgIHorrDlvZXmupDmnKrmjqXlhaUiLCJyZWFzb24ucnVudGltZV9kYWlseV9ub3RfY29ubmVjdGVkIjoi6L+Q6KGM6K6w5b2V5rqQ5pyq5o6l5YWlIiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfYmluZGluZ19jb25mbGljdCI6Iui/kOihjOiusOW9leWtmOWcqOWkmuS4qui0puaIt+e7keWumu+8jOivt+ajgOafpemFjee9riIsInJlYXNvbi50b2RheV9yZWNvcmRfbWlzc2luZyI6IuS7iuaXpeaaguaXoOi/kOihjOiusOW9lSIsInJlYXNvbi5ydW50aW1lX2RhaWx5X3N0YWxlIjoi6L+Q6KGM6K6w5b2V5bey6L+H5pyfIiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfaW5jb21wbGV0ZSI6Iui/kOihjOiusOW9leS4jeWujOaVtCIsInJlYXNvbi5zdHJhdGVneV9oZWFsdGhfbm90X2Nvbm5lY3RlZCI6IuetlueVpeWBpeW6t+W6puadpea6kOacquaOpeWFpSIsInJlYXNvbi5hdmFpbGFibGUiOiLlj6/mk43kvZwiLCJyZWFzb24uYWRtaW5fcmVxdWlyZWQiOiLpnIDopoHnrqHnkIblkZjmnYPpmZAiLCJyZWFzb24uZGlzcGF0Y2hfdW5hdmFpbGFibGUiOiLmiafooYzpgJrpgZPmmoLkuI3lj6/nlKgiLCJyZWFzb24uc3RvcF9wZW5kaW5nX29yX2lkZW50aXR5X3VuYXZhaWxhYmxlIjoi5bey5pyJ5YGc55So6K+35rGC5b6F56Gu6K6k5oiW6Lqr5Lu95pqC5LiN5Y+v55SoIiwicmVhc29uLnN0cmF0ZWd5X2FwcGxpY2F0aW9uX25vdF9jb25uZWN0ZWQiOiLnrZbnlaXlupTnlKjpgJrpgZPmnKrmjqXlhaUiLCJyZWFzb24uZXhpc3RpbmdfcmVjb3Zlcnlfbm90X2F2YWlsYWJsZSI6IuayoeacieWPr+eUqOeahOaXouacieaBouWkjea1geeoiyIsInJlYXNvbi5ydW50aW1lX2luc3RhbmNlc19ub3RfYm91bmQiOiLov5DooYzlrp7kvovmnKrnu5HlrpoiLCJyZWFzb24uYWNjb3VudF9zZXR0aW5nc19pZGVudGl0eV9jb25mbGljdCI6IuiNieahiOe7keWumueahOaYr+aXp+i6q+S7ve+8jOmcgOWFiOehruiupCIsInJlYXNvbi5wcm9maWxlX2RyYWZ0X3JlcXVpcmVkIjoi6K+35YWI5L+d5a2Y5b2T5YmN6LSm5oi355qE562W55Wl6I2J5qGI44CCIiwicmVhc29uLnByb2ZpbGVfb25seV9yZXF1aXJlZCI6IuS7heaUr+aMgeetlueVpeaho+ahiOexu+iNieahiCIsInJlYXNvbi5wcm9maWxlX25vdF9zZWxlY3RhYmxlIjoi6K+l562W55Wl5qGj5qGI5LiN5Y+v6YCJIiwicmVhc29uLnJ1bnRpbWVfcmVhZGJhY2tfdW5hdmFpbGFibGUiOiLov5DooYznirbmgIHor7vlm57kuI3lj6/nlKgiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3BlbmRpbmciOiLkuIrmrKHmk43kvZzku43lvoXnoa7orqQiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3Jlc3VsdF91bmF2YWlsYWJsZSI6Iue7k+aenOaaguacquehruiupO+8jOivt+WIt+aWsOafpeeci+OAgiIsInJlYXNvbi5wbGF0Zm9ybV9yZXN1bHRfdW5hdmFpbGFibGUiOiLlubPlj7Dnu5PmnpzmmoLmnKrnoa7orqTvvIzor7fliLfmlrDmn6XnnIvjgIIiLCJyZWFzb24ucGxhdGZvcm1fZGlzcGF0Y2hfdW52ZXJpZmllZCI6IuW5s+WPsOivt+axgue7k+aenOaaguacquehruiupOOAgiIsInJlYXNvbi5wbGF0Zm9ybV9kaXNwYXRjaF9yZWplY3RlZCI6IuW5s+WPsOacquaOpeWPl+ivt+axgu+8jOiuvue9ruWPr+iDveW3suS/neWtmOOAgiIsInJlYXNvbi5yZWFkYmFja19kaXNwYXRjaF9yZWplY3RlZCI6IuaaguaXtuaXoOazleafpeivouW5s+WPsOe7k+aenOOAgiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfd29ya2Zsb3dfcGVybWlzc2lvbl9kZW5pZWQiOiLmsqHmnInmn6Xor6LlubPlj7Dlt6XkvZzmtYHnmoTmnYPpmZDjgIIiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3VuYXZhaWxhYmxlIjoi5bmz5Y+w5bel5L2c5rWB5pqC5LiN5Y+v55So44CCIiwicmVhc29uLnJ1bnRpbWVfY29udHJvbF90YXJnZXRfdW5zdXBwb3J0ZWQiOiLotKbmiLfnu5HlrprkuI7lubPlj7DphY3nva7kuI3kuIDoh7TjgIIiLCJyZWFzb24uc3RvcF9zb3VyY2VfcGVybWlzc2lvbl9kZW5pZWQiOiLmsqHmnInor7vlj5blubPlj7DphY3nva7nmoTmnYPpmZDjgIIiLCJyZWFzb24uc3RvcF9zb3VyY2Vfbm90X2FjY2Vzc2libGUiOiLmmoLml7bml6Dms5Xor7vlj5blubPlj7DphY3nva7jgIIiLCJyZWFzb24ucnVudGltZV90YXJnZXRfbm90X2Rpc2FibGVkIjoi6L+Q6KGM55uu5qCH5bCa5pyq5YGc55SoIiwicmVhc29uLmN1cnJlbnRfcHJvZmlsZV9jb25mbGljdCI6IuW9k+WJjeetlueVpeaho+ahiOWGsueqgSIsInJlYXNvbi5wcm9maWxlX2FwcGxpY2F0aW9uX3BlbmRpbmciOiLlt7LmnInlupTnlKjor7fmsYLlpITnkIbkuK0iLCJyZWFzb24uc3ludGhldGljX2d1YXJkX2Jsb2NrZWQiOiLlkIjmiJDmvJTnpLrnjq/looPkuI3mj5Dkvpvor6Xmk43kvZwiLCJyZWFzb24uaW52YWxpZF9jcmVkZW50aWFsX3JvdGF0aW9uX3JlcXVlc3QiOiLor7fmsYLmoLzlvI/kuI3nrKblkIjopoHmsYLvvIzor7fmo4Dmn6XloavlhpnlhoXlrrnlkI7ph43mlrDmj5DkuqTjgIIiLCJyZWFzb24uaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSI6IuWIsOacn+aXtuWIu+aXoOaViO+8muivt+S9v+eUqOacquadpeeahOaXtumXtOW5tuW4puS4iuaXtuWMuu+8jOS+i+WmgiArMDg6MDDjgIIiLCJyZWFzb24ub3JpZ2luX3JlcXVpcmVkIjoi6K+35rGC57y65bCR5p2l5rqQ5L+h5oGv77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CC6K+35Yi35paw6aG16Z2i5ZCO6YeN6K+V44CCIiwicmVhc29uLmNyb3NzX29yaWdpbl9yZWplY3RlZCI6Iuivt+axguadpeiHquWFtuS7luermeeCue+8jOW3suiiq+aLkue7neOAguivt+WcqOacrOaOp+WItuWPsOmhtemdouWGhemHjeaWsOWPkei1t+OAgiIsInJlYXNvbi5yb3RhdGlvbl9vd25lcl9yZXF1aXJlZCI6IuWPquacieWHreivgei9ruaNoui0n+i0o+S6uuWPr+S7peWGmeWFpe+8jOW9k+WJjeeZu+W9lei6q+S7veayoeacieivpeadg+mZkOOAgiIsInJlYXNvbi5zdGVwX3VwX2ludmFsaWQiOiLpqozor4HnoIHml6DmlYjmiJblt7Looqvkvb/nlKjjgILnmbvlvZXku43nhLbmnInmlYjvvIzor7fmjaLkuIDkuKrmnKrkvb/nlKjov4fnmoTpqozor4HnoIHjgIIiLCJyZWFzb24uc3RlcF91cF9yYXRlX2xpbWl0ZWQiOiLpqozor4HnoIHov57nu63lpLHotKXmrKHmlbDov4flpJrvvIzor7fnrYnlvoUgNSDliIbpkp/lkI7lho3or5XjgIIiLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl9vcGVyYXRpb25fbm90X2ZvdW5kIjoi5rKh5pyJ5om+5Yiw6K+l6L2u5o2i5pON5L2c44CC6K+35Yi35paw54q25oCB5ZCO56Gu6K6k5pON5L2c57yW5Y+344CCIiwicmVhc29uLmNyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdF9jb25mbGljdCI6Iuivpeivt+axgue8luWPt+W3sueUqOS6juWIq+eahOWGheWuue+8jOacrOasoeayoeacieWPkeWHuuOAguivt+WIt+aWsOWQjumHjeaWsOWPkei1t+OAgiIsInJlYXNvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YXRlX2NvbmZsaWN0Ijoi5bey5pyJ6L2u5o2i5Zyo6L+b6KGM5Lit5oiW57uT5p6c5b6F56Gu6K6k77yM546w5Zyo5LiN6IO95Y+R6LW35paw5pON5L2c44CCIiwicmVhc29uLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2VfcmV2aXNpb25fY29uZmxpY3QiOiLnu7TmiqTkv6Hmga/lnKjnoa7orqTmnJ/pl7Tlj5HnlJ/lj5jljJbvvIzmnKrlhpnlhaXlh63or4HjgILor7fliLfmlrDlkI7ph43or5XjgIIiLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSI6Iui9ruaNouacjeWKoeaaguS4jeWPr+eUqO+8jOacrOasoeaTjeS9nOacqueUn+aViOOAgiIsInJlYXNvbi5wcm94eV91bmNvbmZpcm1lZCI6IuS4iua4uOacquehruiupOe7k+aenCIsInJlYXNvbi5tYWludGVuYW5jZV9yZXZpc2lvbl9jb25mbGljdCI6Iue7tOaKpOS/oeaBr+eJiOacrOWGsueqgSIsInJlYXNvbi5wcm92aWRlcl9mYWlsZWQiOiLkuIrmuLjmk43kvZzlpLHotKUiLCJyZWFzb24ucmVxdWVzdF9pZF9pbnZhbGlkIjoi6K+35rGC57yW5Y+35peg5pWI77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CCIiwicmVhc29uLm9wZXJhdGlvbl9pZF9pbnZhbGlkIjoi5pON5L2c57yW5Y+35peg5pWI77yM5pys5qyh5pON5L2c5rKh5pyJ5Y+R5Ye644CCIiwicmVhc29uLmNyZWRlbnRpYWxfdmFsdWVfbGVuZ3RoX2ludmFsaWQiOiLmlrAgdG9rZW4g6ZyA5Li6IDEg5YiwIDEwMjQg5a2X6IqC44CCIiwicmVhc29uLnN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiOiLkuozmrKHpqozor4HmlrnlvI/ml6DmlYjvvIzor7fph43mlrDpgInmi6njgIIiLCJyZWFzb24uc3RlcF91cF9jb2RlX3JlcXVpcmVkIjoi6K+35aGr5YaZ5pys5qyh6aqM6K+B56CB77yIMSDliLAgMTI4IOS4quWtl+espu+8ieOAgiIsInJlYXNvbi5kb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCI6Iuivt+WFiOehruiupOS4i+a4uOW3suWFqOmDqOabtOaWsOW5tumqjOivgeWujOaIkOOAgiIsInJlYXNvbi51bmtub3duIjoi5Y6f5Zug5pyq55+lIiwiYXV0aC5sb2dpbl90aXRsZSI6IueZu+W9leWQjue7p+e7reS9v+eUqCIsImF1dGgubG9naW5fYm9keSI6IueZu+W9leWQjuWPr+afpeeci+i0puaIt+aAu+iniOOAgeaUtuebiuWIhuaekOOAgeW+heWKnuS4jui/kOihjOeKtuaAgeOAgiIsImF1dGgubG9naW4iOiLnmbvlvZUiLCJhdXRoLmRlbmllZF90aXRsZSI6Iuayoeacieiuv+mXruadg+mZkCIsImF1dGguZGVuaWVkX2JvZHkiOiLlvZPliY3otKblj7fmnKrooqvlhYHorrjorr/pl67mraTmjqfliLblj7DjgIIiLCJhdXRoLmVycm9yX3RpdGxlIjoi5pqC5pe25peg5rOV6K+75Y+W5o6n5Yi25Y+wIiwiYXV0aC5lcnJvcl9ib2R5Ijoi5Lya6K+d5pyN5Yqh5pqC5pe25LiN5Y+v55So77yM6K+356iN5ZCO6YeN6K+V44CCIiwic2hlbGwuc2NvcGUiOiLotKbmiLfojIPlm7QiLCJzaGVsbC5zY29wZV9lcnJvciI6Iui0puaIt+S4jeWPr+eUqCIsInNoZWxsLnNjb3BlX2xvYWRpbmciOiLmraPlnKjor7vlj5botKbmiLfigKYiLCJzaGVsbC5zY29wZV9tZXRhX2Vycm9yIjoi5peg5rOV6K+75Y+W6LSm5oi35ZCN56ew5LiO5qih5oufL+WunuebmOagh+iusOOAgiIsInByZWZzLnNhdmVfZXJyb3IiOiLml6Dms5Xkv53lrZjlgY/lpb3vvIzliLfmlrDlkI7lj6/og73lpLHmlYjjgIIiLCJzaGVsbC5zY29wZV9hbGwiOiLlhajpg6jotKbmiLciLCJzaGVsbC5zY29wZV9wYXBlcl9ncm91cCI6IuaooeaLn+i0puaItyIsInNoZWxsLmhpZGVfYW1vdW50cyI6IumakOiXj+mHkeminSIsInNoZWxsLnNob3dfYW1vdW50cyI6IuaYvuekuumHkeminSIsInNoZWxsLnVzZXJfbWVudSI6IueUqOaIt+iPnOWNlSIsInNoZWxsLnByZWZlcmVuY2VzIjoi5YGP5aW96K6+572uIiwic2hlbGwubG9nb3V0Ijoi6YCA5Ye655m75b2VIiwic2hlbGwuc2tpcF90b19jb250ZW50Ijoi6Lez5Yiw5Li76KaB5YaF5a65IiwicHJlZnMudGl0bGUiOiLlgY/lpb3orr7nva4iLCJwcmVmcy50aGVtZSI6IuS4u+mimCIsInByZWZzLnRoZW1lX2xpZ2h0Ijoi5rWF6ImyIiwicHJlZnMudGhlbWVfZGFyayI6Iua3seiJsiIsInByZWZzLnRoZW1lX3N5c3RlbSI6Iui3n+maj+ezu+e7nyIsInByZWZzLmxhbmd1YWdlIjoi6K+t6KiAIiwicHJlZnMudXBkb3duIjoi5rao6LeM6aKc6ImyIiwicHJlZnMudXBkb3duX2dyZWVuX3VwIjoi57u/5rao57qi6LeMIiwicHJlZnMudXBkb3duX3JlZF91cCI6Iue6oua2qOe7v+i3jCIsInByZWZzLmhpZGVfYW1vdW50cyI6Ium7mOiupOmakOiXj+mHkeminSIsInByZWZzLmRlZmF1bHRfcmFuZ2UiOiLpu5jorqTljLrpl7QiLCJwcmVmcy5ub3RlIjoi5YGP5aW95LuF5L+d5a2Y5Zyo5q2k5rWP6KeI5Zmo5Lit44CCIiwib3ZlcnZpZXcudG90YWxfYXNzZXRzIjoi5oC76LWE5LqnIiwib3ZlcnZpZXcucmFuZ2VfcmV0dXJuIjoi5Yy66Ze05pS255uKIHtyYW5nZX0iLCJvdmVydmlldy5sYXN0X2RheV9jaGFuZ2UiOiLmnIDov5HkuIDml6XotYTkuqflj5jliqgiLCJvdmVydmlldy50b2RvcyI6IuW+heWKniIsIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCI6Intjb3VudH0g57Sn5oClIiwib3ZlcnZpZXcucnVuc19vayI6Iui/kOihjCB7b2t9L3t0b3RhbH0g5q2j5bi4Iiwib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIjoi5pS255uK6LWw5Yq/Iiwib3ZlcnZpZXcudG9kb19wcmV2aWV3Ijoi5b6F5Yqe6aKE6KeIIiwib3ZlcnZpZXcubXlfYWNjb3VudHMiOiLmiJHnmoTotKbmiLciLCJvdmVydmlldy5hY2NvdW50X3N0cmF0ZWd5Ijoi562W55WlIiwib3ZlcnZpZXcuYWNjb3VudF9hc3NldHMiOiLotYTkuqciLCJvdmVydmlldy5hY2NvdW50X2Nhc2giOiLnjrDph5EiLCJvdmVydmlldy5ub19hY2NvdW50cyI6IuaaguaXoOi0puaItyIsIm92ZXJ2aWV3LnR3cl90YWciOiLml7bpl7TliqDmnYPmlLbnm4oiLCJvdmVydmlldy5vcGVuX3BlcmZvcm1hbmNlIjoi5omT5byA5pS255uK5YiG5p6QIiwib3ZlcnZpZXcub3Blbl9oZWFsdGgiOiLmiZPlvIDov5DooYznirbmgIEiLCJvdmVydmlldy5vcGVuX2RlY2lzaW9ucyI6IuaJk+W8gOW+heWKniIsInBlcmYudmFsdWVfa2luZF9wbmwiOiLnm4jkuo8iLCJwZXJmLnZhbHVlX2tpbmRfYXNzZXRfY2hhbmdlIjoi6LWE5Lqn5Y+Y5YqoIiwicGVyZi5yYW5nZS4xTSI6IjHmnIgiLCJwZXJmLnJhbmdlLjNNIjoiM+aciCIsInBlcmYucmFuZ2UuWVREIjoi5bm05Yid6Iez5LuKIiwicGVyZi5yYW5nZS4xWSI6IjHlubQiLCJwZXJmLnJhbmdlLkFMTCI6IuWFqOmDqCIsInBlcmYucmFuZ2UubGFiZWwiOiLml7bpl7TljLrpl7QiLCJwZXJmLnJhbmdlLnJldHVybl9sYWJlbCI6IntyYW5nZX0g5pS255uKIiwicGVyZi5jYXJkLnR3ciI6Iue0r+iuoeaUtuebiu+8iFRXUu+8iSIsInBlcmYuY2FyZC5hbW91bnQiOiLnm4jkuo/ph5Hpop0iLCJwZXJmLmNhcmQuYW1vdW50X2Fzc2V0X2NoYW5nZSI6Iui1hOS6p+WPmOWKqCIsInBlcmYuY2FyZC5tYXhfZHJhd2Rvd24iOiLmnIDlpKflm57mkqQiLCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIjoie3BlYWt9IOKGkiB7dHJvdWdofSIsInBlcmYuY2FyZC5leGNlc3MiOiLnm7jlr7nln7rlh4botoXpop0iLCJwZXJmLmNhcmQuYmVzdF9kYXkiOiLmnIDlpb3nmoTkuIDlpKkiLCJwZXJmLmNhcmQud29yc3RfZGF5Ijoi5pyA5beu55qE5LiA5aSpIiwicGVyZi5yZXR1cm5zX3RpdGxlIjoi5pS255uK546HIHZzIOWfuuWHhiIsInBlcmYucmV0dXJuc19jdW11bGF0aXZlIjoi57Sv56evIiwicGVyZi5yZXR1cm5zX2RhaWx5Ijoi5q+P5pelIiwicGVyZi5ob3dfY2FsY3VsYXRlZCI6IuWmguS9leiuoeeul++8nyIsInBlcmYubWV0aG9kX3RpdGxlIjoi5pS255uK5aaC5L2V6K6h566XIiwicGVyZi5tZXRob2RfYm9keSI6IuaMieaXtumXtOWKoOadg++8iFRXUu+8ieiuoeeul++8jOW3suWJlOmZpOWHuuWFpemHkeW9seWTje+8m+WMuumXtOi1t+eCueW9kumbtuOAgiIsInBlcmYuYXNzZXRzX3RpdGxlIjoi5oC76LWE5LqnIiwicGVyZi5hc3NldHNfbm90ZSI6IuS7heWxleekuuW9k+WJjei0puaIt+iMg+WbtOeahOi1hOS6p++8jOS4jeWPoOWKoOWfuuWHhuOAgiIsInBlcmYuYXNzZXRzX2Zsb3dfbWFyayI6IuWHuuWFpemHkSIsInBlcmYuY2FsZW5kYXJfdGl0bGUiOiLmlLbnm4rml6XljoYiLCJwZXJmLmNhbGVuZGFyX21vbnRoIjoi5pyIIiwicGVyZi5jYWxlbmRhcl95ZWFyIjoi5bm0IiwicGVyZi5jYWxlbmRhcl9kZXBvc2l0X25vdGUiOiLlh7rlhaXph5HlvZPml6XkuI3orqHlhaXnm4jkuo8iLCJwZXJmLmhvbGRpbmdzX3RpdGxlIjoi5oyB5LuTIiwicGVyZi5ob2xkaW5nc19ub3RlIjoi5b2T5YmN5oyB5LuTIMK3IOacquWunueOsOebiOS6jyIsInBlcmYucmFua2luZ190aXRsZSI6IuS4quiCoeebiOS6j+amnCIsInBlcmYudHJhZGVzX3RpdGxlIjoi5oiQ5Lqk57uf6K6hIiwicGVyZi50cmFkZXNfbm90X2Nvbm5lY3RlZCI6IuaIkOS6pOe7n+iuoeacquaOpeWFpeOAgiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdGl0bGUiOiLlpJrluIHnp43or7TmmI4iLCJwZXJmLmNvbC5zeW1ib2wiOiLmoIfnmoQiLCJwZXJmLmNvbC5xdWFudGl0eSI6IuaVsOmHjyIsInBlcmYuY29sLm1hcmtldF92YWx1ZSI6IuW4guWAvCIsInBlcmYuY29sLmN1cnJlbmN5Ijoi5biB56eNIiwicGVyZi5jb2wuYXZnX2Nvc3QiOiLmiJDmnKzku7ciLCJwZXJmLmNvbC51bnJlYWxpemVkX3BubCI6IuacquWunueOsOebiOS6jyIsInBlcmYuY29sLmFjY291bnQiOiLotKbmiLciLCJwZXJmLmNvbC5kYXRlIjoi5pel5pyfIiwicGVyZi5jb2wuYW1vdW50Ijoi6YeR6aKdIiwicGVyZi5jb2wucmV0dXJuIjoi5pS255uK546HIiwiZGVjaXNpb25zLnRpdGxlIjoi5b6F5YqeIiwiZGVjaXNpb25zLmZpbHRlci5hbGwiOiLlhajpg6giLCJkZWNpc2lvbnMudGFiLnBlbmRpbmciOiLlvoXlpITnkIYiLCJkZWNpc2lvbnMudGFiLmRlY2lkZWQiOiLlt7LlpITnkIYiLCJjYXRlZ29yeS5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuWvuei0puaBouWkjSIsImNhdGVnb3J5LnN0cmF0ZWd5X3Byb21vdGlvbiI6IuetlueVpeaZi+e6pyIsImNhdGVnb3J5Lm93bmVyX2RlY2lzaW9uIjoi6LSf6LSj5Lq65Yaz5a6aIiwiY2F0ZWdvcnkuY3JlZGVudGlhbF9tYWludGVuYW5jZSI6IuWHreivgee7tOaKpCIsImNhdGVnb3J5LnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiLmqKHmi5/otKbmiLflupTnlKgiLCJkZWNpc2lvbnMucHJpb3JpdHkuaGlnaCI6IumrmCIsImRlY2lzaW9ucy5wcmlvcml0eS5tZWRpdW0iOiLkuK0iLCJkZWNpc2lvbnMucHJpb3JpdHkubm9ybWFsIjoi5pmu6YCaIiwiZGVjaXNpb25zLnN0YXR1cy5wZW5kaW5nIjoi5b6F5aSE55CGIiwiZGVjaXNpb25zLnN0YXR1cy5kZWNpZGVkIjoi5bey5aSE55CGIiwiZGVjaXNpb25zLnN0YXR1cy5leHBpcmVkIjoi5bey6L+H5pyfIiwiZGVjaXNpb25zLnF1ZXN0aW9uIjoi6ZyA6KaB5L2g5Yaz5a6aIiwiZGVjaXNpb25zLmRpZmZfdGl0bGUiOiLmlLnliY0g4oaSIOaUueWQjiIsImRlY2lzaW9ucy5jb2wuZmllbGQiOiLlrZfmrrUiLCJkZWNpc2lvbnMuY29sLmN1cnJlbnQiOiLlvZPliY0iLCJkZWNpc2lvbnMuY29sLnByb3Bvc2VkIjoi5bu66K6uIiwiZGVjaXNpb25zLmNvbC5hZmZlY3RzX2xpdmUiOiLlrp7nm5jlvbHlk40iLCJkZWNpc2lvbnMuYWZmZWN0c19saXZlX3llcyI6IuaYryIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm8iOiLlkKYiLCJkZWNpc2lvbnMubWF0ZXJpYWxzIjoi5p2Q5paZIiwiZGVjaXNpb25zLmFkb3B0X2ludGVudCI6IuiusOW9lemHh+eUqOaEj+WQkSIsImRlY2lzaW9ucy5kZWNsaW5lX2ludGVudCI6IuiusOW9leS4jemHh+eUqOaEj+WQkSIsImRlY2lzaW9ucy5pbnRlbnRfbm90ZSI6IuS7heiusOW9leaEj+WQke+8jOS4jeS8muS4i+WNleOAgiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoi56Gu6K6k6K6w5b2V6YeH55So5oSP5ZCR77yfIiwiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV90aXRsZSI6IuehruiupOiusOW9leS4jemHh+eUqOaEj+WQke+8nyIsImRlY2lzaW9ucy5jb25maXJtX2JvZHkiOiLmnKzmrKHlj6rorrDlvZXmhI/lkJHvvIzkuI3kvJrmj5DkuqTorqLljZXmiJbmlLnlj5jkuqTmmJPmnYPpmZDjgIIiLCJkZWNpc2lvbnMuaGlzdG9yeV90aXRsZSI6IuWkhOeQhuiusOW9lSIsImRlY2lzaW9ucy5oaXN0b3J5LmVtcHR5Ijoi5pqC5peg5aSE55CG6K6w5b2VIiwiZGVjaXNpb25zLmFjdGlvbi5hZG9wdF9pbnRlbnQiOiLorrDlvZXph4fnlKjmhI/lkJEiLCJkZWNpc2lvbnMuYWN0aW9uLmRlY2xpbmVfaW50ZW50Ijoi6K6w5b2V5LiN6YeH55So5oSP5ZCRIiwiZGVjaXNpb25zLmVtcHR5X3BlbmRpbmciOiLmsqHmnInlvoXlpITnkIbnmoTkuovpobkiLCJkZWNpc2lvbnMuYWNjb3VudF9nbG9iYWwiOiLlhajpg6jotKbmiLciLCJkZWNpc2lvbnMucmVmIjoi57yW5Y+3IHtpZH0iLCJkZWNpc2lvbnMuZXhwaXJlc19hdCI6IuaIquatoiB7dmFsdWV9IiwiZGVjaXNpb25zLmNyZWF0ZWRfYXQiOiLliJvlu7rkuo4ge3ZhbHVlfSIsImRlY2lzaW9ucy5yZWFkX2ZhaWxlZCI6IuW+heWKnuivu+WPluWksei0pe+8jOivt+mHjeivle+8m+i/meS4jeS7o+ihqOayoeacieW+heWKnuOAgiIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl9zdGF0dXMiOiLlupTnlKjnirbmgIHvvJp7dmFsdWV9IiwiYWNjb3VudHMudGl0bGUiOiLotKbmiLciLCJhY2NvdW50cy5jb2wuYWxpYXMiOiLliKvlkI0iLCJhY2NvdW50cy5jb2wucGxhdGZvcm0iOiLlubPlj7AiLCJhY2NvdW50cy5jb2wuc3RyYXRlZ3kiOiLlvZPliY3nrZbnlaUiLCJhY2NvdW50cy5jb2wucnVuIjoi6L+Q6KGMIiwiYWNjb3VudHMuY29sLmRyYWZ0cyI6IuW+heeUn+aViOiNieahiCIsImFjY291bnRzLmNvbC50b2RvcyI6IuW+heWKniIsImFjY291bnRzLmNvbC5sYXN0X2NoYW5nZSI6IuacgOi/keWPmOabtCIsImFjY291bnRzLnRhYi5vdmVydmlldyI6IuamguiniCIsImFjY291bnRzLnRhYi5zdHJhdGVneSI6IuetlueVpeS4juWPguaVsCIsInJpc2sudGl0bGUiOiLpo47pmanlgY/lpb0iLCJyaXNrLm5vdGUiOiLnlKjkuo7orrDlvZXmipXotYTlgY/lpb3vvIzkuI3kvJrmlLnlj5jkuqTmmJPorr7nva7jgIIiLCJyaXNrLmZpZWxkIjoi5YGP5aW96I2J5qGIIiwicmlzay5zYXZlZFZhbHVlIjoi5b2T5YmN5L+d5a2Y5YC8Iiwicmlzay51bnNldCI6Iuacquiuvue9riIsInJpc2suY2FwaXRhbCI6Iui1hOacrOS/neWFqCIsInJpc2suYmFsYW5jZWQiOiLnqLPlgaXlpI3liKkiLCJyaXNrLmdyb3d0aCI6IuaIkOmVv+WkjeWIqSIsInJpc2sub3RoZXIiOiLmnKror4bliKvnmoTlgLwiLCJyaXNrLnNhdmUiOiLkv53lrZjpo47pmanlgY/lpb0iLCJyaXNrLmRpc2NhcmQiOiLmkqTplIAiLCJyaXNrLnNhdmluZyI6Iuato+WcqOS/neWtmOmjjumZqeWBj+WlveOAgiIsInJpc2suZ2F0ZSI6IuW9k+WJjei0puaIt+S4jeWPr+e8lui+kemjjumZqeWBj+WlveOAgiIsInJpc2suZGVuaWVkIjoi5rKh5pyJ5p2D6ZmQ6K+75Y+W6L+Z6aG56K6+572u44CCIiwicmlzay5yZWFkRmFpbGVkIjoi6aOO6Zmp5YGP5aW95pqC5pe26K+75LiN5Yiw44CCIiwicmlzay5yZWFkTWlzbWF0Y2giOiLorr7nva7or7vlm57kuI7miYDpgInotKbmiLfkuI3kuIDoh7TvvIzor7fph43mlrDor7vlj5bjgIIiLCJyaXNrLnJlcmVhZCI6IumHjeaWsOivu+WPliIsInJpc2suc3RhbGUiOiLmmL7npLrkuIrmrKHmiJDlip/or7vlm57lgLzvvIzlvZPliY3nirbmgIHmnKrph43mlrDnoa7orqTjgIIiLCJyaXNrLnNhdmVkIjoi5YGP5aW95bey5L+d5a2Y77yM5bm25bey5Zue6K+756Gu6K6k44CCIiwicmlzay5taXNtYXRjaCI6IuWbnuivu+S4juaPkOS6pOS4jeS4gOiHtO+8jOacquehruiupOW3suS/neWtmOOAgiIsInJpc2sudW52ZXJpZmllZCI6IuW3suaPkOS6pO+8jOaaguaXoOazleehruiupO+8jOivt+mHjeaWsOivu+WPluOAgiIsInJpc2suY29uZmxpY3QiOiLniYjmnKzlt7Llj5jljJbvvIzmnKropobnm5blt7Lkv53lrZjlhoXlrrnjgIIiLCJyaXNrLnJldmlldyI6IuS/neWtmOe7k+aenOWwmuacquehruiupO+8jOivt+mHjeaWsOivu+WPluOAgiIsInJpc2suYWNrIjoi56Gu6K6kIiwiYWNjb3VudHMudGFiLmNvbnRyb2xzIjoi6L+Q6KGM5o6n5Yi2IiwiYWNjb3VudHMudGFiLmhpc3RvcnkiOiLlj5jmm7TorrDlvZUiLCJhY2NvdW50cy5mcmVzaG5lc3MiOiLmlbDmja7mlrDpspzluqYiLCJhY2NvdW50cy5ydW5fc3RhdGUiOiLov5DooYznirbmgIEiLCJhY2NvdW50cy5lZGl0Ijoi57yW6L6RIiwiYWNjb3VudHMuY2hlY2tfY2hhbmdlcyI6IuajgOafpeWPmOabtCIsImFjY291bnRzLnZpZXdpbmciOiLmn6XnnIvmgIEiLCJhY2NvdW50cy5lZGl0aW5nIjoi57yW6L6R5LitIiwiYWNjb3VudHMuZGlmZl9kaWFsb2dfdGl0bGUiOiLnoa7orqTojYnmoYjlj5jmm7QiLCJhY2NvdW50cy5jb2wuZHJhZnQiOiLojYnmoYgiLCJhY2NvdW50cy5hY2tfbGl2ZSI6IuaIkeW3suS6huino+i/meS6m+S/ruaUueW9seWTjeWunuebmCIsImFjY291bnRzLnNhdmVfZHJhZnQiOiLkv53lrZjojYnmoYgiLCJhY2NvdW50cy5kcmFmdF9zYXZlZCI6IuiNieahiOW3suS/neWtmOOAgiIsImFjY291bnRzLmRyYWZ0X25vdGUiOiLkv53lrZjojYnmoYjkuI3kvJrkuIvljZXjgIHlkK/nlKjotKbmiLfmiJbmlLnlj5jkuqTmmJPmnYPpmZDvvJvlvZPliY3nlJ/mlYjphY3nva7kv53mjIHkuI3lj5jjgIIiLCJhY2NvdW50cy5jb25mbGljdCI6IueJiOacrOWGsueqge+8muiNieahiOW3suiiq+WFtuS7luS6uuS/ruaUueOAguivt+WIt+aWsOehruiupOacgOaWsOW3ruW8guWQjumHjeivleOAgiIsImFjY291bnRzLmlkZW50aXR5X2NvbmZsaWN0Ijoi6I2J5qGI57uR5a6a55qE6LSm5oi36Lqr5Lu95bey5Y+Y5YyW77yM6K+35YWI5Yi35paw56Gu6K6k44CCIiwiYWNjb3VudHMubm9fY2hhbmdlcyI6IuayoeacieS/ruaUuSIsImFjY291bnRzLmhpc3RvcnkuZW1wdHkiOiLmmoLml6Dlj5jmm7TorrDlvZUiLCJhY2NvdW50cy5ldmVudC5kcmFmdF9zYXZlZCI6IuiNieahiOS/neWtmCIsImFjY291bnRzLmV2ZW50LmFwcHJvdmVkIjoi5om55YeGIiwiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCI6IuacquiusOW9lSIsImFjY291bnRzLmhpc3Rvcnkubm90ZSI6IuWPmOabtOiusOW9leacieS/neeVmeS4iumZkO+8m+aJueWHhuaIluS/neWtmOS4jeS7o+ihqOW3sueUn+aViOOAgiIsImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIjoi6I2J5qGI54mI5pysIHt2YWx1ZX0iLCJjb250cm9scy50aXRsZSI6Iui/kOihjOaOp+WItiIsImNvbnRyb2xzLmRhbmdlcl9ub3RlIjoi5Lul5LiL5pON5L2c5b2x5ZON5a6e55uY6L+Q6KGM77yM6K+356Gu6K6k5ZCO5omn6KGM44CCIiwiY29udHJvbHMuZW5hYmxlIjoi5ZCv55SoIiwiY29udHJvbHMuc3RvcCI6IuWBnOatoiIsImNvbnRyb2xzLnJlc3VtZSI6IuaBouWkjSIsImNvbnRyb2xzLmFwcHJvdmVfYXBwbGljYXRpb24iOiLmibnlh4blupTnlKgiLCJjb250cm9scy5zdG9wX3N1bW1hcnkiOiLlgZzmraLlj6rpmLvmraLmlrDnmoTop6blj5HvvIzkuI3kvJrmkqTljZXjgIHlubPku5PmiJbmuIXpmaTlnKjpgJTor7fmsYLjgIIiLCJjb250cm9scy5yZXN1bWVfc3VtbWFyeSI6IuaBouWkjeaXouaciei/kOihjOebruagh++8jOS4jeS/ruaUueetlueVpeaIlui1hOmHkeWPguaVsOOAgiIsImNvbnRyb2xzLmFwcHJvdmVfc3VtbWFyeSI6IuaJueWHhuW6lOeUqOW9k+WJjeetlueVpeaho+ahiOiNieahiO+8m+aPkOS6pOWQjumcgOehruiupOWunumZheeUn+aViOeKtuaAge+8jOS4jeS8muebtOaOpeS4i+WNleOAgiIsImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5Ijoi5ZCv55So6L+Q6KGM55uu5qCH77yM5L2/5pei5pyJ6LCD5bqm5oGi5aSN6Kem5Y+R44CCIiwiY29udHJvbHMuc3RvcF9jb25maXJtX3RpdGxlIjoi56Gu6K6k5YGc5q2i6L+Q6KGM55uu5qCHIiwiY29udHJvbHMuc3RvcF90eXBlX2FsaWFzIjoi6L6T5YWl6LSm5oi35Yir5ZCNIHthbGlhc30g5Lul56Gu6K6k5YGc5q2iIiwiY29udHJvbHMuYWxpYXNfbWlzbWF0Y2giOiLovpPlhaXnmoTliKvlkI3kuI3kuIDoh7QiLCJjb250cm9scy5zdWJtaXR0ZWQiOiLor7fmsYLlt7Lmj5DkuqTvvJvnu5PmnpzpnIDor7vlm57noa7orqTvvIzor7fli7/ph43lpI3mj5DkuqTjgIIiLCJjb250cm9scy5zdWJtaXRfZmFpbGVkIjoi5o+Q5Lqk5pyq5a6M5oiQ77yb6K+356Gu6K6k5b2T5YmN54q25oCB5ZCO5YaN5Yaz5a6a77yM6YG/5YWN6YeN5aSN5o+Q5Lqk44CCIiwiY29udHJvbHMudW5rbm93bl9yZXN1bHQiOiLkuIrmrKHmj5DkuqTnu5PmnpzmnKrnn6XvvIzlt7LplIHlrprvvJvor7flhYjliLfmlrDnoa7orqTjgIIiLCJjb250cm9scy51bmF2YWlsYWJsZSI6IuS4jeWPr+eUqO+8mntyZWFzb259Iiwic3RyYXRlZ2llcy50aXRsZSI6IuetlueVpSIsInN0cmF0ZWdpZXMuZG9tYWluIjoi5biC5Zy6Iiwic3RyYXRlZ2llcy5tb2RlcyI6IuaWsOWinuWQr+eUqO+8j+WIh+aNouaWueW8jyIsInN0cmF0ZWdpZXMuYWNjb3VudHNfdXNpbmciOiLlt7LphY3nva7otKbmiLciLCJzdHJhdGVnaWVzLmFjY291bnRfZXhlY3V0aW9uIjoi6LSm5oi35omn6KGM5qih5byPIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGVnYWN5X2xpdmUiOiLlrp7nm5giLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5saXZlIjoi5a6e55uYIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZV91bmtub3duIjoi5a6e55uYIiwic3RyYXRlZ2llcy5leGVjdXRpb24ucGFwZXIiOiLmqKHmi58iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5kcnlfcnVuIjoi5ryU57uDIiwic3RyYXRlZ2llcy5leGVjdXRpb24udW5rbm93biI6IuaJp+ihjOaooeW8j+acquefpSIsInN0cmF0ZWdpZXMubGl2ZV9leHBvc3VyZSI6IuWunuebmOetlueVpeS9v+eUqOecn+Wunui1hOmHke+8m+ebruW9leaWueW8j+S7hee6puadn+aWsOWinuWQr+eUqOaIluWIh+aNouOAgiIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uX3NvdXJjZSI6IuaooeW8j+adpeiHqui0puaIt+mFjee9ru+8m+acgOi/kei/kOihjOWPiuaIkOS6pOeKtuaAgeacqumqjOivgeOAgiIsInN0cmF0ZWdpZXMuaGVhbHRoIjoi5YGl5bq35bqmIiwic3RyYXRlZ2llcy5oZWFsdGhfc2NvcmUiOiLor4TliIYge3ZhbHVlfSIsInN0cmF0ZWdpZXMubGFzdF9wcm9tb3Rpb24iOiLmnIDov5HmmYvnuqciLCJzdHJhdGVnaWVzLnBhcmFtc19zdW1tYXJ5Ijoi5Y+C5pWw5pGY6KaBIiwic3RyYXRlZ2llcy5wcm9tb3Rpb25fdGltZWxpbmUiOiLmmYvnuqfml7bpl7Tnur8iLCJzdHJhdGVnaWVzLmVtcHR5Ijoi5pqC5peg562W55WlIiwic3RyYXRlZ2llcy50YWIuY2F0YWxvZyI6IuetlueVpeebruW9lSIsInN0cmF0ZWdpZXMudGFiLnJlc2VhcmNoIjoi56CU56m257q/57SiIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9vbmx5Ijoi5LuF56CU56m277yM5LiN5LiL5Y2VIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9ub3RfY29ubmVjdGVkIjoi56CU56m257q/57Si5pyq5o6l5YWl44CCIiwiaGVhbHRoLnRpdGxlIjoi6L+Q6KGM54q25oCBIiwiaGVhbHRoLnN0YXQudG9kYXlfcnVucyI6IuS7iuaXpei/kOihjCB7b2t9L3t0b3RhbH0iLCJoZWFsdGguc3RhdC5vYnNlcnZlZCI6IuW3suingua1iyB7b2JzZXJ2ZWR9L3tjb25maWd1cmVkfSIsImhlYWx0aC5zdGF0LmNyZWRlbnRpYWxzIjoi5Yet6K+BIHtjb3VudH0g6aG56ZyA5YWz5rOoIiwiaGVhbHRoLnN0YXQucmVjZW50X2ZhaWx1cmUiOiLmnIDov5HlpLHotKUge2NvdW50fSIsImhlYWx0aC5ncmlkX3RpdGxlIjoi6L+RIDE0IOS4que6vee6puS4muWKoeaXpSIsImhlYWx0aC5ncmlkLm9rIjoi5oiQ5YqfIiwiaGVhbHRoLmdyaWQuZmFpbGVkIjoi5aSx6LSlIiwiaGVhbHRoLmdyaWQubm90X3J1biI6Iuacqui/kOihjCIsImhlYWx0aC5ncmlkLm5vX3JlY29yZCI6IuaXoOiusOW9lSIsImhlYWx0aC5kYXlfZGV0YWlsIjoi5b2T5pel6K6w5b2VIiwiaGVhbHRoLmZyZXNobmVzc190aXRsZSI6IuaVsOaNruaWsOmynOW6piIsImhlYWx0aC50YWJsZV9zY3JvbGxfaGludCI6IuW3puWPs+a7keWKqOafpeeci+WujOaVtOihqOagvCIsImhlYWx0aC5ncmlkX3Njcm9sbF9oaW50Ijoi5bem5Y+z5ruR5Yqo5p+l55yL5YWo6YOo5pel5pyf77yM6LSm5oi35YiX5L+d5oyB5Y+v6KeBIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuZXhwaXJlZCI6IuW3sui/h+acnyIsImhlYWx0aC5jcmVkZW50aWFsX3BoYXNlLjMwIjoiMzAg5aSp5YaF5Yiw5pyfIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuMTQiOiIxNCDlpKnlhoXliLDmnJ8iLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS43IjoiNyDlpKnlhoXliLDmnJ8iLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS5ub3RfZHVlIjoi5q2j5bi4IiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UudW5rbm93biI6IuacquefpSIsImhlYWx0aC5hY3Rpdml0eSI6Iua0u+WKqCIsImhlYWx0aC5ydW5fY291bnQiOiLov5DooYzmrKHmlbAiLCJoZWFsdGguY29sLmFjY291bnQiOiLotKbmiLciLCJoZWFsdGguY29sLnNvdXJjZSI6Iuadpea6kCIsImhlYWx0aC5jb2wuc3RhdHVzIjoi54q25oCBIiwiaGVhbHRoLmNvbC5hc19vZiI6IuaVsOaNruaXtumXtCIsImVycm9yLmdlbmVyaWMiOiLor7fmsYLmnKrlrozmiJDvvJvor7fliLfmlrDlubbnoa7orqTlvZPliY3nirbmgIHjgIIiLCJlcnJvci5zZXNzaW9uX2V4cGlyZWQiOiLkvJror53lt7LlpLHmlYjvvIzor7fph43mlrDnmbvlvZXjgIIiLCJlcnJvci5hY2Nlc3NfZGVuaWVkIjoi6K6/6Zeu6KKr5ouS57ud44CCIiwiZXJyb3IuY29uZmxpY3QiOiLniYjmnKzlhrLnqoHvvJvlvZPliY3nvJbovpHlt7Lkv53nlZnvvIzor7fliLfmlrDnoa7orqTjgIIifSxtbT17InNoZWxsLnN3aXRjaF9saWdodCI6IlN3aXRjaCB0byBsaWdodCBtb2RlIiwic2hlbGwuc3dpdGNoX2RhcmsiOiJTd2l0Y2ggdG8gZGFyayBtb2RlIiwic2hlbGwudXBkYXRlX2F2YWlsYWJsZSI6IkEgbmV3IHZlcnNpb24gaXMgcmVhZHkuIFJlZnJlc2ggdG8gdXNlIGl0LiIsInNoZWxsLnJlbG9hZCI6IlJlZnJlc2ggcGFnZSIsImFwcC5uYW1lIjoiUXVhbnRTdHJhdGVneUxhYiIsInNoZWxsLmNvY2twaXQiOiJEZWNpc2lvbiBDb2NrcGl0IiwibmF2Lm1haW4iOiJNYWluIG5hdmlnYXRpb24iLCJuYXYub3ZlcnZpZXciOiJPdmVydmlldyIsIm5hdi5wZXJmb3JtYW5jZSI6IlBlcmZvcm1hbmNlIiwibmF2LmRlY2lzaW9ucyI6IkRlY2lzaW9ucyIsIm5hdi5hY2NvdW50cyI6IkFjY291bnRzIiwibmF2LnN0cmF0ZWdpZXMiOiJTdHJhdGVnaWVzIiwibmF2LmhlYWx0aCI6IkhlYWx0aCIsIm5hdi5tb3JlIjoiTW9yZSIsIm5hdi50b2RvX3VuYXZhaWxhYmxlIjoiVG8tZG8gY291bnQgdW5hdmFpbGFibGUiLCJjb21tb24ubG9hZGluZyI6IkxvYWRpbmfigKYiLCJjb21tb24ucmV0cnkiOiJSZXRyeSIsImNvbW1vbi5jbG9zZSI6IkNsb3NlIiwiY29tbW9uLmNhbmNlbCI6IkNhbmNlbCIsImNvbW1vbi5jb25maXJtIjoiQ29uZmlybSIsImNvbW1vbi5zYXZlIjoiU2F2ZSIsImNvbW1vbi5lZGl0IjoiRWRpdCIsImNvbW1vbi5iYWNrIjoiQmFjayIsImNvbW1vbi5hbGwiOiJBbGwiLCJjb21tb24ubm9uZSI6Ik5vbmUiLCJjb21tb24udW5rbm93biI6IlVua25vd24iLCJjb21tb24ubmEiOiLigJQiLCJjb21tb24uYXNfb2YiOiJEYXRhIGFzIG9mIHt2YWx1ZX0iLCJjb21tb24udXBkYXRlZF9hdCI6IlBhZ2UgcmVmcmVzaGVkIHt2YWx1ZX0iLCJjb21tb24ucmVmcmVzaCI6IlJlZnJlc2giLCJjb21tb24ucmVmcmVzaGluZyI6IlJlZnJlc2hpbmfigKYiLCJjb21tb24uY29weSI6IkNvcHkiLCJjb21tb24uY29waWVkIjoiQ29waWVkIiwiY29tbW9uLnZpZXdfYWxsIjoiVmlldyBhbGwiLCJjb21tb24ubG9hZF9tb3JlIjoiTG9hZCBtb3JlIiwiY29tbW9uLnRhYmxlX3Njcm9sbF9oaW50IjoiU2Nyb2xsIHNpZGV3YXlzIGZvciBhbGwgZmllbGRzIiwiY29tbW9uLmV4cGFuZCI6IkV4cGFuZCIsImNvbW1vbi5jb2xsYXBzZSI6IkNvbGxhcHNlIiwiY29tbW9uLmFjY291bnQiOiJBY2NvdW50IiwiY29tbW9uLmlia3JfYWNjb3VudCI6IklCS1IgYWNjb3VudCIsImNvbW1vbi5wbGF0Zm9ybSI6IlBsYXRmb3JtIiwiY29tbW9uLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJjb21tb24udGltZSI6IlRpbWUiLCJjb21tb24uc3RhdHVzIjoiU3RhdHVzIiwiY29tbW9uLmRldGFpbHMiOiJEZXRhaWxzIiwiY29tbW9uLnN5bnRoZXRpY19iYWRnZSI6IlN5bnRoZXRpYyBkZW1vIiwiY29tbW9uLnBhcGVyX2JhZGdlIjoiUGFwZXIiLCJjb21tb24ucGFnZV9sb2FkX2ZhaWxlZCI6IlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkIiwiY29tbW9uLnJlYWRfZmFpbGVkX2Jhbm5lciI6IlNvbWUgZGF0YSBmYWlsZWQgdG8gbG9hZC4gQSBmYWlsZWQgcmVhZCBkb2VzIG5vdCBtZWFuIHRoZXJlIGlzIG5vdGhpbmcgdG8gc2hvdzsgcGxlYXNlIHJldHJ5LiIsImNvbW1vbi51bnNhdmVkX2d1YXJkX3RpdGxlIjoiRGlzY2FyZCB1bnNhdmVkIGNoYW5nZXM/IiwiY29tbW9uLnVuc2F2ZWRfZ3VhcmRfYm9keSI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgbG9zdCBpZiB5b3UgbGVhdmUuIiwic3RhdGUudW5rbm93bl9zdGF0dXMiOiJVbmtub3duIHN0YXR1cyIsInN0YXRlLnJldmlldyI6Ik5lZWRzIHJldmlldyIsInN0YXRlLndhdGNoIjoiV2F0Y2giLCJzdGF0ZS5jcml0aWNhbCI6IkNyaXRpY2FsIiwic3RhdGUuYmxvY2tlZCI6IkJsb2NrZWQiLCJzdGF0ZS5mYWlsZWQiOiJGYWlsZWQiLCJzdGF0ZS5yZWFkX2luY29tcGxldGUiOiJSZWFkIGluY29tcGxldGUiLCJzdGF0ZS5pbnN1ZmZpY2llbnQiOiJJbnN1ZmZpY2llbnQgZGF0YSIsInN0YXRlLnByZXZpZXdlZCI6IlByZXZpZXdlZCIsInN0YXRlLm5vX3N1Ym1pc3Npb24iOiJObyBvcmRlciBzdWJtaXR0ZWQiLCJzdGF0ZS5ub19yZWJhbGFuY2UiOiJObyByZWJhbGFuY2UiLCJzdGF0ZS5maWxsZWQiOiJGaWxsZWQiLCJzdGF0ZS5ub3RfZHVlIjoiTm90IGR1ZSB5ZXQiLCJzdGF0ZS5tYXJrZXRfY2xvc2VkIjoiTWFya2V0IGNsb3NlZCIsInN0YXRlLm91dHNpZGVfd2luZG93IjoiT3V0c2lkZSBydW4gd2luZG93Iiwic3RhdGUud2l0aGluX2dyYWNlIjoiV2l0aGluIGdyYWNlIHBlcmlvZCIsInN0YXRlLm1pc3NpbmdfcmVwb3J0IjoiUmVwb3J0IG1pc3NpbmciLCJzdGF0ZS5lcnJvciI6IlJ1biBlcnJvciIsInN0YXRlLmhlYWx0aHkiOiJIZWFsdGh5Iiwic3RhdGUubm9fc2lnbmFsIjoiTm8gc2lnbmFsIiwic3RhdGUub2siOiJPSyIsInN0YXRlLnBhcnRpYWwiOiJQYXJ0aWFsIiwic3RhdGUucGFydGlhbF92YWx1YXRpb24iOiJWYWx1YXRpb24gaW5jb21wbGV0ZSIsInN0YXRlLnBhcnRpYWxfcnVudGltZSI6IlJ1bnRpbWUgbm90IGNvbm5lY3RlZCIsInN0YXRlLnN0YWxlIjoiU3RhbGUiLCJzdGF0ZS5ub19kYXRhIjoiTm8gZGF0YSIsInN0YXRlLm5vdF9jb25uZWN0ZWQiOiJOb3QgY29ubmVjdGVkIiwic3RhdGUudW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZSIsInN0YXRlLnJlYWRfZmFpbGVkIjoiUmVhZCBmYWlsZWQiLCJzdGF0ZS5sb2FkX2ZhaWxlZCI6IlVuYWJsZSB0byBsb2FkIiwicmVhc29uLmV4dGVybmFsX2Nhc2hmbG93X3JlcXVpcmVkIjoiQ29tcGxldGUgY2FzaC1mbG93IHJlY29yZHMgYXJlIG1pc3Npbmc7IFRXUiBpcyB1bmF2YWlsYWJsZSBhbmQgYW1vdW50cyBhcmUgc2hvd24gYXMgYXNzZXQgY2hhbmdlLiIsInJlYXNvbi5maWxsc19ub3RfY29ubmVjdGVkIjoiVGhlIGZpbGwgc291cmNlIGlzIG5vdCBjb25uZWN0ZWQiLCJyZWFzb24uZXhlY3V0aW9uX2NvdmVyYWdlX3VudmVyaWZpZWQiOiJFeGVjdXRpb24gY292ZXJhZ2UgaXMgdW52ZXJpZmllZCIsInJlYXNvbi5hdmdfY29zdF9taXNzaW5nIjoiQXZlcmFnZSBjb3N0IGlzIG1pc3NpbmcsIHNvIHVucmVhbGl6ZWQgUC9MIGNhbm5vdCBiZSBjYWxjdWxhdGVkIiwicmVhc29uLm1peGVkX2N1cnJlbmN5IjoiTWl4ZWQgY3VycmVuY2llcyBjYW5ub3QgYmUgY29tYmluZWQgaW50byBvbmUgYW1vdW50OyBlYWNoIGN1cnJlbmN5IGlzIHNob3duIHNlcGFyYXRlbHkiLCJyZWFzb24uc25hcHNob3RfaGlzdG9yeV9taXNzaW5nIjoiSGlzdG9yaWNhbCBhc3NldCBzbmFwc2hvdHMgYXJlIG1pc3NpbmciLCJyZWFzb24uc25hcHNob3RfbWlzc2luZyI6IkFzc2V0IHNuYXBzaG90IGlzIG1pc3NpbmciLCJyZWFzb24uc25hcHNob3RfcGVuZGluZyI6IlRvZGF5J3MgZGF0YSBpcyBwZW5kaW5nIHVwZGF0ZSIsInJlYXNvbi5wcmV2aW91c19zbmFwc2hvdF9taXNzaW5nIjoiVGhlIHByZXZpb3VzIGRheSdzIGFzc2V0IHNuYXBzaG90IGlzIG1pc3NpbmciLCJyZWFzb24ubm9uX3RyYWRpbmdfd2Vla2VuZCI6Ik5vbi10cmFkaW5nIGRheSIsInJlYXNvbi5pbmNvbXBsZXRlX21vbnRoIjoiVGhlIG1vbnRoIGlzIHN0aWxsIGluY29tcGxldGUiLCJyZWFzb24uaW5zdWZmaWNpZW50X29ic2VydmF0aW9ucyI6Ik5vdCBlbm91Z2ggaGlzdG9yeSIsInJlYXNvbi5pbnZhbGlkX3JldHVybl9wZXJpb2QiOiJJbnZhbGlkIHJhbmdlIGVuZHBvaW50cyIsInJlYXNvbi5wb3NpdGlvbnNfcGFydGlhbF9jb3ZlcmFnZSI6IlBvc2l0aW9ucyBjb3ZlciBvbmx5IHBhcnQgb2YgdGhlIGFzc2V0cyIsInJlYXNvbi5wb3NpdGlvbnNfbm90X2Nvbm5lY3RlZCI6IlRoZSBwb3NpdGlvbiBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5wb3NpdGlvbnNfc3RhbGUiOiJQb3NpdGlvbiBkYXRhIGlzIHN0YWxlIiwicmVhc29uLmJlbmNobWFya19oaXN0b3J5X3VucmVhZGFibGUiOiJCZW5jaG1hcmsgZGF0YSBmYWlsZWQgdG8gbG9hZCIsInJlYXNvbi5wb3NpdGlvbl92YWx1ZV9taXNzaW5nIjoiUG9zaXRpb24gbWFya2V0IHZhbHVlIGlzIG1pc3NpbmciLCJyZWFzb24ubm9fY29tbW9uX2RhdGUiOiJObyBjb21tb24gZGF0ZSB0byBhbGlnbiB3aXRoIHRoZSBiZW5jaG1hcmsiLCJyZWFzb24uYmVuY2htYXJrX2hpc3RvcnlfbWlzc2luZyI6IkJlbmNobWFyayBoaXN0b3J5IGlzIG1pc3NpbmciLCJyZWFzb24uc3RvcmVkX3JlY29yZHNfdW5yZWFkYWJsZSI6IlN0b3JlZCByZWNvcmRzIGNvdWxkIG5vdCBiZSByZWFkIiwicmVhc29uLmVmZmVjdF92ZXJpZmljYXRpb25fbm90X3JlY29yZGVkIjoiTm8gcmVjb3JkIGlzIGF2YWlsYWJsZSB0byBjb25maXJtIHdoZXRoZXIgdGhlIGNoYW5nZSB0b29rIGVmZmVjdC4iLCJyZWFzb24uYm91bmRlZF9hdWRpdF9sb2ciOiJIaXN0b3J5IHJldGVudGlvbiBpcyBib3VuZGVkIGFuZCBtYXkgYmUgaW5jb21wbGV0ZSIsInJlYXNvbi5ub19jbG9zZWRfdHJhZGVzIjoiTm8gY2xvc2VkIHRyYWRlcyIsInJlYXNvbi5ub3RpZmljYXRpb25fbG9nX25vdF9jb25uZWN0ZWQiOiJUaGUgbm90aWZpY2F0aW9uIGxvZyBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5ydW50aW1lX2RhaWx5X25vdF9jb25uZWN0ZWQiOiJUaGUgcnVuLXJlY29yZCBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5ydW50aW1lX2RhaWx5X2JpbmRpbmdfY29uZmxpY3QiOiJNdWx0aXBsZSBydW4tcmVjb3JkIGJpbmRpbmdzIG1hdGNoIHRoaXMgYWNjb3VudDsgY2hlY2sgY29uZmlndXJhdGlvbiIsInJlYXNvbi50b2RheV9yZWNvcmRfbWlzc2luZyI6Ik5vIHJ1biByZWNvcmQgZm9yIHRvZGF5IiwicmVhc29uLnJ1bnRpbWVfZGFpbHlfc3RhbGUiOiJUaGUgcnVuIHJlY29yZCBpcyBzdGFsZSIsInJlYXNvbi5ydW50aW1lX2RhaWx5X2luY29tcGxldGUiOiJUaGUgcnVuIHJlY29yZCBpcyBpbmNvbXBsZXRlIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9ub3RfY29ubmVjdGVkIjoiVGhlIHN0cmF0ZWd5IGhlYWx0aCBzb3VyY2UgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5hdmFpbGFibGUiOiJBdmFpbGFibGUiLCJyZWFzb24uYWRtaW5fcmVxdWlyZWQiOiJBZG1pbiBwZXJtaXNzaW9uIHJlcXVpcmVkIiwicmVhc29uLmRpc3BhdGNoX3VuYXZhaWxhYmxlIjoiRGlzcGF0Y2ggaXMgdW5hdmFpbGFibGUiLCJyZWFzb24uc3RvcF9wZW5kaW5nX29yX2lkZW50aXR5X3VuYXZhaWxhYmxlIjoiQSBzdG9wIHJlcXVlc3QgaXMgcGVuZGluZyBvciBpZGVudGl0eSBpcyB1bmF2YWlsYWJsZSIsInJlYXNvbi5zdHJhdGVneV9hcHBsaWNhdGlvbl9ub3RfY29ubmVjdGVkIjoiVGhlIHN0cmF0ZWd5IGFwcGxpY2F0aW9uIGNoYW5uZWwgaXMgbm90IGNvbm5lY3RlZCIsInJlYXNvbi5leGlzdGluZ19yZWNvdmVyeV9ub3RfYXZhaWxhYmxlIjoiTm8gZXhpc3RpbmcgcmVjb3ZlcnkgZmxvdyBpcyBhdmFpbGFibGUiLCJyZWFzb24ucnVudGltZV9pbnN0YW5jZXNfbm90X2JvdW5kIjoiUnVudGltZSBpbnN0YW5jZXMgYXJlIG5vdCBib3VuZCIsInJlYXNvbi5hY2NvdW50X3NldHRpbmdzX2lkZW50aXR5X2NvbmZsaWN0IjoiVGhlIGRyYWZ0IGlzIGJvdW5kIHRvIGFuIG9sZGVyIGlkZW50aXR5OyByZWNvbmNpbGUgZmlyc3QiLCJyZWFzb24ucHJvZmlsZV9kcmFmdF9yZXF1aXJlZCI6IlNhdmUgYSBzdHJhdGVneSBkcmFmdCBmb3IgdGhpcyBhY2NvdW50IGZpcnN0LiIsInJlYXNvbi5wcm9maWxlX29ubHlfcmVxdWlyZWQiOiJPbmx5IHN0cmF0ZWd5LXByb2ZpbGUgZHJhZnRzIGFyZSBzdXBwb3J0ZWQiLCJyZWFzb24ucHJvZmlsZV9ub3Rfc2VsZWN0YWJsZSI6IlRoaXMgc3RyYXRlZ3kgcHJvZmlsZSBjYW5ub3QgYmUgc2VsZWN0ZWQiLCJyZWFzb24ucnVudGltZV9yZWFkYmFja191bmF2YWlsYWJsZSI6IlJ1bnRpbWUgcmVhZGJhY2sgaXMgdW5hdmFpbGFibGUiLCJyZWFzb24ucnVudGltZV9jb250cm9sX3BlbmRpbmciOiJUaGUgcHJldmlvdXMgYWN0aW9uIGlzIGF3YWl0aW5nIGNvbmZpcm1hdGlvbiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfcmVzdWx0X3VuYXZhaWxhYmxlIjoiVGhlIHJlc3VsdCBpcyB1bmNvbmZpcm1lZC4gUmVmcmVzaCB0byBjaGVjay4iLCJyZWFzb24ucGxhdGZvcm1fcmVzdWx0X3VuYXZhaWxhYmxlIjoiVGhlIHBsYXRmb3JtIHJlc3VsdCBpcyB1bmNvbmZpcm1lZC4gUmVmcmVzaCB0byBjaGVjay4iLCJyZWFzb24ucGxhdGZvcm1fZGlzcGF0Y2hfdW52ZXJpZmllZCI6IlRoZSBwbGF0Zm9ybSByZXF1ZXN0IGlzIHVuY29uZmlybWVkLiIsInJlYXNvbi5wbGF0Zm9ybV9kaXNwYXRjaF9yZWplY3RlZCI6IlRoZSBwbGF0Zm9ybSByZWplY3RlZCB0aGUgcmVxdWVzdDsgdGhlIHNldHRpbmcgbWF5IGhhdmUgYmVlbiBzYXZlZC4iLCJyZWFzb24ucmVhZGJhY2tfZGlzcGF0Y2hfcmVqZWN0ZWQiOiJUaGUgcGxhdGZvcm0gcmVzdWx0IGNhbm5vdCBiZSBjaGVja2VkIHJpZ2h0IG5vdy4iLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3Blcm1pc3Npb25fZGVuaWVkIjoiUGVybWlzc2lvbiB0byByZWFkIHRoZSBwbGF0Zm9ybSB3b3JrZmxvdyBpcyB1bmF2YWlsYWJsZS4iLCJyZWFzb24ucnVudGltZV9jb250cm9sX3dvcmtmbG93X3VuYXZhaWxhYmxlIjoiVGhlIHBsYXRmb3JtIHdvcmtmbG93IGlzIHVuYXZhaWxhYmxlLiIsInJlYXNvbi5ydW50aW1lX2NvbnRyb2xfdGFyZ2V0X3Vuc3VwcG9ydGVkIjoiVGhlIGFjY291bnQgYmluZGluZyBkb2VzIG5vdCBtYXRjaCB0aGUgcGxhdGZvcm0gY29uZmlndXJhdGlvbi4iLCJyZWFzb24uc3RvcF9zb3VyY2VfcGVybWlzc2lvbl9kZW5pZWQiOiJQZXJtaXNzaW9uIHRvIHJlYWQgcGxhdGZvcm0gc2V0dGluZ3MgaXMgdW5hdmFpbGFibGUuIiwicmVhc29uLnN0b3Bfc291cmNlX25vdF9hY2Nlc3NpYmxlIjoiUGxhdGZvcm0gc2V0dGluZ3MgY2Fubm90IGJlIHJlYWQgcmlnaHQgbm93LiIsInJlYXNvbi5ydW50aW1lX3RhcmdldF9ub3RfZGlzYWJsZWQiOiJUaGUgcnVudGltZSB0YXJnZXQgaXMgbm90IGRpc2FibGVkIHlldCIsInJlYXNvbi5jdXJyZW50X3Byb2ZpbGVfY29uZmxpY3QiOiJUaGUgY3VycmVudCBzdHJhdGVneSBwcm9maWxlIGNvbmZsaWN0cyIsInJlYXNvbi5wcm9maWxlX2FwcGxpY2F0aW9uX3BlbmRpbmciOiJBbiBhcHBsaWNhdGlvbiByZXF1ZXN0IGlzIGFscmVhZHkgcGVuZGluZyIsInJlYXNvbi5zeW50aGV0aWNfZ3VhcmRfYmxvY2tlZCI6IlRoaXMgYWN0aW9uIGlzIG5vdCBvZmZlcmVkIGluIHRoZSBzeW50aGV0aWMgZGVtbyIsInJlYXNvbi5pbnZhbGlkX2NyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdCI6IlRoZSByZXF1ZXN0IGRpZCBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIGZvcm1hdC4gQ2hlY2sgd2hhdCB5b3UgZW50ZXJlZCBhbmQgc3VibWl0IGFnYWluLiIsInJlYXNvbi5pbnZhbGlkX2NyZWRlbnRpYWxfZXhwaXJ5IjoiSW52YWxpZCBleHBpcnkuIFVzZSBhIGZ1dHVyZSB0aW1lIHdpdGggYW4gZXhwbGljaXQgb2Zmc2V0LCBmb3IgZXhhbXBsZSArMDg6MDAuIiwicmVhc29uLm9yaWdpbl9yZXF1aXJlZCI6IlRoZSByZXF1ZXN0IGNhcnJpZWQgbm8gb3JpZ2luLCBzbyBub3RoaW5nIHdhcyBzZW50LiBSZWZyZXNoIHRoZSBwYWdlIGFuZCB0cnkgYWdhaW4uIiwicmVhc29uLmNyb3NzX29yaWdpbl9yZWplY3RlZCI6IlRoZSByZXF1ZXN0IGNhbWUgZnJvbSBhbm90aGVyIHNpdGUgYW5kIHdhcyByZWplY3RlZC4gU3RhcnQgaXQgYWdhaW4gb24gdGhpcyBjb25zb2xlIHBhZ2UuIiwicmVhc29uLnJvdGF0aW9uX293bmVyX3JlcXVpcmVkIjoiT25seSB0aGUgY3JlZGVudGlhbCByb3RhdGlvbiBvd25lciBjYW4gd3JpdGUuIFRoZSBzaWduZWQtaW4gaWRlbnRpdHkgbGFja3MgdGhhdCBwZXJtaXNzaW9uLiIsInJlYXNvbi5zdGVwX3VwX2ludmFsaWQiOiJUaGUgY29kZSBpcyBpbnZhbGlkIG9yIGFscmVhZHkgdXNlZC4gWW91ciBzaWduLWluIGlzIHN0aWxsIGFjdGl2ZTsgdXNlIGEgY29kZSB5b3UgaGF2ZSBub3QgdXNlZC4iLCJyZWFzb24uc3RlcF91cF9yYXRlX2xpbWl0ZWQiOiJUb28gbWFueSBmYWlsZWQgY29kZXMgaW4gYSByb3cuIFdhaXQgZml2ZSBtaW51dGVzIGJlZm9yZSB0cnlpbmcgYWdhaW4uIiwicmVhc29uLmNyZWRlbnRpYWxfcm90YXRpb25fb3BlcmF0aW9uX25vdF9mb3VuZCI6IlRoYXQgcm90YXRpb24gb3BlcmF0aW9uIHdhcyBub3QgZm91bmQuIFJlZnJlc2ggdGhlIHN0YXR1cyBhbmQgY2hlY2sgdGhlIG9wZXJhdGlvbiBpZC4iLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl9yZXF1ZXN0X2NvbmZsaWN0IjoiVGhpcyByZXF1ZXN0IGlkIHdhcyBhbHJlYWR5IHVzZWQgZm9yIGRpZmZlcmVudCBjb250ZW50LCBzbyBub3RoaW5nIHdhcyBzZW50LiBSZWZyZXNoIGFuZCBzdGFydCBhIG5ldyBhdHRlbXB0LiIsInJlYXNvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YXRlX2NvbmZsaWN0IjoiQSByb3RhdGlvbiBpcyBhbHJlYWR5IHJ1bm5pbmcgb3IgYXdhaXRpbmcgY29uZmlybWF0aW9uLCBzbyBubyBuZXcgYWN0aW9uIGlzIGFsbG93ZWQgbm93LiIsInJlYXNvbi5jcmVkZW50aWFsX21haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IjoiVGhlIG1haW50ZW5hbmNlIHJlY29yZCBjaGFuZ2VkIGR1cmluZyBjb25maXJtYXRpb24sIHNvIG5vIGNyZWRlbnRpYWwgd2FzIHdyaXR0ZW4uIFJlZnJlc2ggYW5kIHRyeSBhZ2Fpbi4iLCJyZWFzb24uY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSI6IlJvdGF0aW9uIGlzIHVuYXZhaWxhYmxlIHJpZ2h0IG5vdywgc28gdGhpcyBhY3Rpb24gZGlkIG5vdCB0YWtlIGVmZmVjdC4iLCJyZWFzb24ucHJveHlfdW5jb25maXJtZWQiOiJQcm92aWRlciBvdXRjb21lIHVuY29uZmlybWVkIiwicmVhc29uLm1haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IjoiTWFpbnRlbmFuY2UgcmV2aXNpb24gY29uZmxpY3QiLCJyZWFzb24ucHJvdmlkZXJfZmFpbGVkIjoiUHJvdmlkZXIgb3BlcmF0aW9uIGZhaWxlZCIsInJlYXNvbi5yZXF1ZXN0X2lkX2ludmFsaWQiOiJUaGUgcmVxdWVzdCBpZCBpcyBpbnZhbGlkLCBzbyBub3RoaW5nIHdhcyBzZW50LiIsInJlYXNvbi5vcGVyYXRpb25faWRfaW52YWxpZCI6IlRoZSBvcGVyYXRpb24gaWQgaXMgaW52YWxpZCwgc28gbm90aGluZyB3YXMgc2VudC4iLCJyZWFzb24uY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCI6IlRoZSBuZXcgdG9rZW4gbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEwMjQgYnl0ZXMuIiwicmVhc29uLnN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiOiJUaGUgc2Vjb25kLWZhY3RvciBtZXRob2QgaXMgaW52YWxpZC4gQ2hvb3NlIGl0IGFnYWluLiIsInJlYXNvbi5zdGVwX3VwX2NvZGVfcmVxdWlyZWQiOiJFbnRlciB0aGlzIG9uZS10aW1lIGNvZGUgKDEgdG8gMTI4IGNoYXJhY3RlcnMpLiIsInJlYXNvbi5kb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCI6IkNvbmZpcm0gdGhhdCBldmVyeSBkb3duc3RyZWFtIGNvbnN1bWVyIGlzIHVwZGF0ZWQgYW5kIHZlcmlmaWVkIGZpcnN0LiIsInJlYXNvbi51bmtub3duIjoiVW5rbm93biByZWFzb24iLCJhdXRoLmxvZ2luX3RpdGxlIjoiU2lnbiBpbiB0byBjb250aW51ZSIsImF1dGgubG9naW5fYm9keSI6IlNpZ24gaW4gdG8gdmlldyBvdmVydmlldywgcGVyZm9ybWFuY2UsIHRvLWRvcyBhbmQgcnVuIHN0YXR1cy4iLCJhdXRoLmxvZ2luIjoiU2lnbiBpbiIsImF1dGguZGVuaWVkX3RpdGxlIjoiTm8gYWNjZXNzIiwiYXV0aC5kZW5pZWRfYm9keSI6IlRoaXMgYWNjb3VudCBpcyBub3QgYWxsb3dlZCB0byB1c2UgdGhlIGNvbnNvbGUuIiwiYXV0aC5lcnJvcl90aXRsZSI6IkNvbnNvbGUgdW5hdmFpbGFibGUiLCJhdXRoLmVycm9yX2JvZHkiOiJUaGUgc2Vzc2lvbiBzZXJ2aWNlIGlzIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLiBQbGVhc2UgcmV0cnkgbGF0ZXIuIiwic2hlbGwuc2NvcGUiOiJBY2NvdW50IHNjb3BlIiwic2hlbGwuc2NvcGVfZXJyb3IiOiJBY2NvdW50cyB1bmF2YWlsYWJsZSIsInNoZWxsLnNjb3BlX2xvYWRpbmciOiJMb2FkaW5nIGFjY291bnRz4oCmIiwic2hlbGwuc2NvcGVfbWV0YV9lcnJvciI6IkFjY291bnQgbmFtZXMgYW5kIHBhcGVyL2xpdmUgbGFiZWxzIGFyZSB1bmF2YWlsYWJsZS4iLCJwcmVmcy5zYXZlX2Vycm9yIjoiUHJlZmVyZW5jZXMgY291bGQgbm90IGJlIHNhdmVkIGFuZCBtYXkgYmUgbG9zdCBhZnRlciByZWZyZXNoLiIsInNoZWxsLnNjb3BlX2FsbCI6IkFsbCBhY2NvdW50cyIsInNoZWxsLnNjb3BlX3BhcGVyX2dyb3VwIjoiUGFwZXIgYWNjb3VudHMiLCJzaGVsbC5oaWRlX2Ftb3VudHMiOiJIaWRlIGFtb3VudHMiLCJzaGVsbC5zaG93X2Ftb3VudHMiOiJTaG93IGFtb3VudHMiLCJzaGVsbC51c2VyX21lbnUiOiJVc2VyIG1lbnUiLCJzaGVsbC5wcmVmZXJlbmNlcyI6IlByZWZlcmVuY2VzIiwic2hlbGwubG9nb3V0IjoiU2lnbiBvdXQiLCJzaGVsbC5za2lwX3RvX2NvbnRlbnQiOiJTa2lwIHRvIGNvbnRlbnQiLCJwcmVmcy50aXRsZSI6IlByZWZlcmVuY2VzIiwicHJlZnMudGhlbWUiOiJUaGVtZSIsInByZWZzLnRoZW1lX2xpZ2h0IjoiTGlnaHQiLCJwcmVmcy50aGVtZV9kYXJrIjoiRGFyayIsInByZWZzLnRoZW1lX3N5c3RlbSI6IlN5c3RlbSIsInByZWZzLmxhbmd1YWdlIjoiTGFuZ3VhZ2UiLCJwcmVmcy51cGRvd24iOiJVcC9kb3duIGNvbG9ycyIsInByZWZzLnVwZG93bl9ncmVlbl91cCI6IkdyZWVuIHVwIC8gcmVkIGRvd24iLCJwcmVmcy51cGRvd25fcmVkX3VwIjoiUmVkIHVwIC8gZ3JlZW4gZG93biIsInByZWZzLmhpZGVfYW1vdW50cyI6IkhpZGUgYW1vdW50cyBieSBkZWZhdWx0IiwicHJlZnMuZGVmYXVsdF9yYW5nZSI6IkRlZmF1bHQgcmFuZ2UiLCJwcmVmcy5ub3RlIjoiUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbmx5IGluIHRoaXMgYnJvd3Nlci4iLCJvdmVydmlldy50b3RhbF9hc3NldHMiOiJUb3RhbCBhc3NldHMiLCJvdmVydmlldy5yYW5nZV9yZXR1cm4iOiJSYW5nZSByZXR1cm4ge3JhbmdlfSIsIm92ZXJ2aWV3Lmxhc3RfZGF5X2NoYW5nZSI6IkxhdGVzdCBkYWlseSBhc3NldCBjaGFuZ2UiLCJvdmVydmlldy50b2RvcyI6IlRvLWRvcyIsIm92ZXJ2aWV3LnRvZG9zX3VyZ2VudCI6Intjb3VudH0gdXJnZW50Iiwib3ZlcnZpZXcucnVuc19vayI6IlJ1bnMge29rfS97dG90YWx9IE9LIiwib3ZlcnZpZXcuZXF1aXR5X3RyZW5kIjoiUmV0dXJuIHRyZW5kIiwib3ZlcnZpZXcudG9kb19wcmV2aWV3IjoiVG8tZG8gcHJldmlldyIsIm92ZXJ2aWV3Lm15X2FjY291bnRzIjoiTXkgYWNjb3VudHMiLCJvdmVydmlldy5hY2NvdW50X3N0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJvdmVydmlldy5hY2NvdW50X2Fzc2V0cyI6IkFzc2V0cyIsIm92ZXJ2aWV3LmFjY291bnRfY2FzaCI6IkNhc2giLCJvdmVydmlldy5ub19hY2NvdW50cyI6Ik5vIGFjY291bnRzIHlldCIsIm92ZXJ2aWV3LnR3cl90YWciOiJUaW1lLXdlaWdodGVkIHJldHVybiIsIm92ZXJ2aWV3Lm9wZW5fcGVyZm9ybWFuY2UiOiJPcGVuIHBlcmZvcm1hbmNlIiwib3ZlcnZpZXcub3Blbl9oZWFsdGgiOiJPcGVuIHJ1biBzdGF0dXMiLCJvdmVydmlldy5vcGVuX2RlY2lzaW9ucyI6Ik9wZW4gdG8tZG9zIiwicGVyZi52YWx1ZV9raW5kX3BubCI6IlAvTCIsInBlcmYudmFsdWVfa2luZF9hc3NldF9jaGFuZ2UiOiJBc3NldCBjaGFuZ2UiLCJwZXJmLnJhbmdlLjFNIjoiMU0iLCJwZXJmLnJhbmdlLjNNIjoiM00iLCJwZXJmLnJhbmdlLllURCI6IllURCIsInBlcmYucmFuZ2UuMVkiOiIxWSIsInBlcmYucmFuZ2UuQUxMIjoiQWxsIiwicGVyZi5yYW5nZS5sYWJlbCI6IlRpbWUgcmFuZ2UiLCJwZXJmLnJhbmdlLnJldHVybl9sYWJlbCI6IntyYW5nZX0gcmV0dXJuIiwicGVyZi5jYXJkLnR3ciI6IkN1bXVsYXRpdmUgcmV0dXJuIChUV1IpIiwicGVyZi5jYXJkLmFtb3VudCI6IlAvTCBhbW91bnQiLCJwZXJmLmNhcmQuYW1vdW50X2Fzc2V0X2NoYW5nZSI6IkFzc2V0IGNoYW5nZSIsInBlcmYuY2FyZC5tYXhfZHJhd2Rvd24iOiJNYXggZHJhd2Rvd24iLCJwZXJmLmNhcmQubWF4X2RyYXdkb3duX2RhdGVzIjoie3BlYWt9IOKGkiB7dHJvdWdofSIsInBlcmYuY2FyZC5leGNlc3MiOiJFeGNlc3MgdnMgYmVuY2htYXJrIiwicGVyZi5jYXJkLmJlc3RfZGF5IjoiQmVzdCBkYXkiLCJwZXJmLmNhcmQud29yc3RfZGF5IjoiV29yc3QgZGF5IiwicGVyZi5yZXR1cm5zX3RpdGxlIjoiUmV0dXJucyB2cyBiZW5jaG1hcmtzIiwicGVyZi5yZXR1cm5zX2N1bXVsYXRpdmUiOiJDdW11bGF0aXZlIiwicGVyZi5yZXR1cm5zX2RhaWx5IjoiRGFpbHkiLCJwZXJmLmhvd19jYWxjdWxhdGVkIjoiSG93IGlzIHRoaXMgY2FsY3VsYXRlZD8iLCJwZXJmLm1ldGhvZF90aXRsZSI6IkhvdyByZXR1cm5zIGFyZSBjYWxjdWxhdGVkIiwicGVyZi5tZXRob2RfYm9keSI6IlRpbWUtd2VpZ2h0ZWQgKFRXUik7IGNhc2ggZmxvd3MgYXJlIGV4Y2x1ZGVkIGFuZCBlYWNoIHJhbmdlIHN0YXJ0cyBhdCB6ZXJvLiIsInBlcmYuYXNzZXRzX3RpdGxlIjoiVG90YWwgYXNzZXRzIiwicGVyZi5hc3NldHNfbm90ZSI6IlNob3dzIGFzc2V0cyBvZiB0aGUgc2VsZWN0ZWQgc2NvcGUgb25seTsgbm8gYmVuY2htYXJrcy4iLCJwZXJmLmFzc2V0c19mbG93X21hcmsiOiJDYXNoIGZsb3ciLCJwZXJmLmNhbGVuZGFyX3RpdGxlIjoiUmV0dXJuIGNhbGVuZGFyIiwicGVyZi5jYWxlbmRhcl9tb250aCI6Ik1vbnRoIiwicGVyZi5jYWxlbmRhcl95ZWFyIjoiWWVhciIsInBlcmYuY2FsZW5kYXJfZGVwb3NpdF9ub3RlIjoiQ2FzaC1mbG93IGRheXMgZG8gbm90IGNvdW50IGFzIFAvTCIsInBlcmYuaG9sZGluZ3NfdGl0bGUiOiJIb2xkaW5ncyIsInBlcmYuaG9sZGluZ3Nfbm90ZSI6IkN1cnJlbnQgaG9sZGluZ3MgwrcgdW5yZWFsaXplZCIsInBlcmYucmFua2luZ190aXRsZSI6IlN5bWJvbCBQL0wgcmFua2luZyIsInBlcmYudHJhZGVzX3RpdGxlIjoiVHJhZGUgc3RhdGlzdGljcyIsInBlcmYudHJhZGVzX25vdF9jb25uZWN0ZWQiOiJUcmFkZSBzdGF0aXN0aWNzIGFyZSBub3QgY29ubmVjdGVkLiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdGl0bGUiOiJNaXhlZCBjdXJyZW5jaWVzIiwicGVyZi5jb2wuc3ltYm9sIjoiU3ltYm9sIiwicGVyZi5jb2wucXVhbnRpdHkiOiJRdWFudGl0eSIsInBlcmYuY29sLm1hcmtldF92YWx1ZSI6Ik1hcmtldCB2YWx1ZSIsInBlcmYuY29sLmN1cnJlbmN5IjoiQ3VycmVuY3kiLCJwZXJmLmNvbC5hdmdfY29zdCI6IkF2ZyBjb3N0IiwicGVyZi5jb2wudW5yZWFsaXplZF9wbmwiOiJVbnJlYWxpemVkIFAvTCIsInBlcmYuY29sLmFjY291bnQiOiJBY2NvdW50IiwicGVyZi5jb2wuZGF0ZSI6IkRhdGUiLCJwZXJmLmNvbC5hbW91bnQiOiJBbW91bnQiLCJwZXJmLmNvbC5yZXR1cm4iOiJSZXR1cm4iLCJkZWNpc2lvbnMudGl0bGUiOiJUby1kb3MiLCJkZWNpc2lvbnMuZmlsdGVyLmFsbCI6IkFsbCIsImRlY2lzaW9ucy50YWIucGVuZGluZyI6IlBlbmRpbmciLCJkZWNpc2lvbnMudGFiLmRlY2lkZWQiOiJEZWNpZGVkIiwiY2F0ZWdvcnkucmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiOiJSZWNvbmNpbGlhdGlvbiByZWNvdmVyeSIsImNhdGVnb3J5LnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImNhdGVnb3J5Lm93bmVyX2RlY2lzaW9uIjoiT3duZXIgZGVjaXNpb24iLCJjYXRlZ29yeS5jcmVkZW50aWFsX21haW50ZW5hbmNlIjoiQ3JlZGVudGlhbCBtYWludGVuYW5jZSIsImNhdGVnb3J5LnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiJQYXBlciBhY2NvdW50IGFwcGxpY2F0aW9uIiwiZGVjaXNpb25zLnByaW9yaXR5LmhpZ2giOiJIaWdoIiwiZGVjaXNpb25zLnByaW9yaXR5Lm1lZGl1bSI6Ik1lZGl1bSIsImRlY2lzaW9ucy5wcmlvcml0eS5ub3JtYWwiOiJOb3JtYWwiLCJkZWNpc2lvbnMuc3RhdHVzLnBlbmRpbmciOiJQZW5kaW5nIiwiZGVjaXNpb25zLnN0YXR1cy5kZWNpZGVkIjoiRGVjaWRlZCIsImRlY2lzaW9ucy5zdGF0dXMuZXhwaXJlZCI6IkV4cGlyZWQiLCJkZWNpc2lvbnMucXVlc3Rpb24iOiJZb3VyIGRlY2lzaW9uIiwiZGVjaXNpb25zLmRpZmZfdGl0bGUiOiJCZWZvcmUg4oaSIGFmdGVyIiwiZGVjaXNpb25zLmNvbC5maWVsZCI6IkZpZWxkIiwiZGVjaXNpb25zLmNvbC5jdXJyZW50IjoiQ3VycmVudCIsImRlY2lzaW9ucy5jb2wucHJvcG9zZWQiOiJQcm9wb3NlZCIsImRlY2lzaW9ucy5jb2wuYWZmZWN0c19saXZlIjoiTGl2ZSBpbXBhY3QiLCJkZWNpc2lvbnMuYWZmZWN0c19saXZlX3llcyI6IlllcyIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm8iOiJObyIsImRlY2lzaW9ucy5tYXRlcmlhbHMiOiJNYXRlcmlhbHMiLCJkZWNpc2lvbnMuYWRvcHRfaW50ZW50IjoiUmVjb3JkIGFkb3B0IGludGVudCIsImRlY2lzaW9ucy5kZWNsaW5lX2ludGVudCI6IlJlY29yZCBkZWNsaW5lIGludGVudCIsImRlY2lzaW9ucy5pbnRlbnRfbm90ZSI6IlJlY29yZHMgaW50ZW50IG9ubHk7IG5vIG9yZGVycyBhcmUgcGxhY2VkLiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X3RpdGxlIjoiUmVjb3JkIGFkb3B0IGludGVudD8iLCJkZWNpc2lvbnMuY29uZmlybV9kZWNsaW5lX3RpdGxlIjoiUmVjb3JkIGRlY2xpbmUgaW50ZW50PyIsImRlY2lzaW9ucy5jb25maXJtX2JvZHkiOiJPbmx5IHlvdXIgaW50ZW50IGlzIHJlY29yZGVkLiBObyBvcmRlciBpcyBzdWJtaXR0ZWQgYW5kIG5vIHRyYWRpbmcgcGVybWlzc2lvbiBjaGFuZ2VzLiIsImRlY2lzaW9ucy5oaXN0b3J5X3RpdGxlIjoiSGlzdG9yeSIsImRlY2lzaW9ucy5oaXN0b3J5LmVtcHR5IjoiTm8gaGlzdG9yeSB5ZXQiLCJkZWNpc2lvbnMuYWN0aW9uLmFkb3B0X2ludGVudCI6IkFkb3B0IGludGVudCIsImRlY2lzaW9ucy5hY3Rpb24uZGVjbGluZV9pbnRlbnQiOiJEZWNsaW5lIGludGVudCIsImRlY2lzaW9ucy5lbXB0eV9wZW5kaW5nIjoiTm90aGluZyBwZW5kaW5nIiwiZGVjaXNpb25zLmFjY291bnRfZ2xvYmFsIjoiQWxsIGFjY291bnRzIiwiZGVjaXNpb25zLnJlZiI6IlJlZiB7aWR9IiwiZGVjaXNpb25zLmV4cGlyZXNfYXQiOiJEdWUge3ZhbHVlfSIsImRlY2lzaW9ucy5jcmVhdGVkX2F0IjoiQ3JlYXRlZCB7dmFsdWV9IiwiZGVjaXNpb25zLnJlYWRfZmFpbGVkIjoiVG8tZG9zIGZhaWxlZCB0byBsb2FkLiBUaGlzIGRvZXMgbm90IG1lYW4gdGhlcmUgaXMgbm90aGluZyBwZW5kaW5nOyBwbGVhc2UgcmV0cnkuIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3N0YXR1cyI6IkFwcGxpY2F0aW9uIHN0YXR1czoge3ZhbHVlfSIsImFjY291bnRzLnRpdGxlIjoiQWNjb3VudHMiLCJhY2NvdW50cy5jb2wuYWxpYXMiOiJBbGlhcyIsImFjY291bnRzLmNvbC5wbGF0Zm9ybSI6IlBsYXRmb3JtIiwiYWNjb3VudHMuY29sLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJhY2NvdW50cy5jb2wucnVuIjoiUnVuIiwiYWNjb3VudHMuY29sLmRyYWZ0cyI6IlBlbmRpbmcgZHJhZnRzIiwiYWNjb3VudHMuY29sLnRvZG9zIjoiVG8tZG9zIiwiYWNjb3VudHMuY29sLmxhc3RfY2hhbmdlIjoiTGFzdCBjaGFuZ2UiLCJhY2NvdW50cy50YWIub3ZlcnZpZXciOiJPdmVydmlldyIsImFjY291bnRzLnRhYi5zdHJhdGVneSI6IlN0cmF0ZWd5ICYgcGFyYW1ldGVycyIsInJpc2sudGl0bGUiOiJSaXNrIHByZWZlcmVuY2UiLCJyaXNrLm5vdGUiOiJSZWNvcmRzIHlvdXIgaW52ZXN0bWVudCBwcmVmZXJlbmNlIHdpdGhvdXQgY2hhbmdpbmcgdHJhZGluZyBzZXR0aW5ncy4iLCJyaXNrLmZpZWxkIjoiUHJlZmVyZW5jZSBkcmFmdCIsInJpc2suc2F2ZWRWYWx1ZSI6IlNhdmVkIHZhbHVlIiwicmlzay51bnNldCI6Ik5vdCBzZXQiLCJyaXNrLmNhcGl0YWwiOiJDYXBpdGFsIHByZXNlcnZhdGlvbiIsInJpc2suYmFsYW5jZWQiOiJCYWxhbmNlZCBjb21wb3VuZGluZyIsInJpc2suZ3Jvd3RoIjoiR3Jvd3RoIGNvbXBvdW5kaW5nIiwicmlzay5vdGhlciI6IlVucmVjb2duaXplZCB2YWx1ZSIsInJpc2suc2F2ZSI6IlNhdmUgcmlzayBwcmVmZXJlbmNlIiwicmlzay5kaXNjYXJkIjoiRGlzY2FyZCIsInJpc2suc2F2aW5nIjoiU2F2aW5nIHJpc2sgcHJlZmVyZW5jZS4iLCJyaXNrLmdhdGUiOiJSaXNrIHByZWZlcmVuY2UgaXMgbm90IGVkaXRhYmxlIGZvciB0aGlzIGFjY291bnQuIiwicmlzay5kZW5pZWQiOiJZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byByZWFkIHRoaXMgc2V0dGluZy4iLCJyaXNrLnJlYWRGYWlsZWQiOiJSaXNrIHByZWZlcmVuY2UgaXMgdW5hdmFpbGFibGUgcmlnaHQgbm93LiIsInJpc2sucmVhZE1pc21hdGNoIjoiVGhlIHJlYWQgZGlkIG5vdCBtYXRjaCB0aGUgc2VsZWN0ZWQgYWNjb3VudC4gUmUtcmVhZC4iLCJyaXNrLnJlcmVhZCI6IlJlLXJlYWQiLCJyaXNrLnN0YWxlIjoiU2hvd2luZyB0aGUgbGFzdCBzdWNjZXNzZnVsIHJlYWQ7IGN1cnJlbnQgc3RhdGUgaXMgdW5jb25maXJtZWQuIiwicmlzay5zYXZlZCI6IlByZWZlcmVuY2Ugc2F2ZWQgYW5kIGNvbmZpcm1lZCBieSByZS1yZWFkLiIsInJpc2subWlzbWF0Y2giOiJUaGUgcmUtcmVhZCBkb2VzIG5vdCBtYXRjaCB0aGUgc3VibWlzc2lvbjsgbm90IGNvbmZpcm1lZCBhcyBzYXZlZC4iLCJyaXNrLnVudmVyaWZpZWQiOiJTdWJtaXR0ZWQsIGJ1dCB0aGUgcmUtcmVhZCBjb3VsZCBub3QgY29uZmlybSBpdC4gUmUtcmVhZCB0byBjaGVjay4iLCJyaXNrLmNvbmZsaWN0IjoiVGhlIHJldmlzaW9uIGNoYW5nZWQ7IG5vdGhpbmcgd2FzIG92ZXJ3cml0dGVuLiIsInJpc2sucmV2aWV3IjoiVGhlIHNhdmUgcmVzdWx0IG9yIGFjY291bnQgc291cmNlIGlzIHVuY29uZmlybWVkLiBSZS1yZWFkIHRvIGNoZWNrLiIsInJpc2suYWNrIjoiSSBoYXZlIGNoZWNrZWQiLCJhY2NvdW50cy50YWIuY29udHJvbHMiOiJSdW4gY29udHJvbHMiLCJhY2NvdW50cy50YWIuaGlzdG9yeSI6IkNoYW5nZSBoaXN0b3J5IiwiYWNjb3VudHMuZnJlc2huZXNzIjoiRGF0YSBmcmVzaG5lc3MiLCJhY2NvdW50cy5ydW5fc3RhdGUiOiJSdW4gc3RhdGUiLCJhY2NvdW50cy5lZGl0IjoiRWRpdCIsImFjY291bnRzLmNoZWNrX2NoYW5nZXMiOiJSZXZpZXcgY2hhbmdlcyIsImFjY291bnRzLnZpZXdpbmciOiJWaWV3aW5nIiwiYWNjb3VudHMuZWRpdGluZyI6IkVkaXRpbmciLCJhY2NvdW50cy5kaWZmX2RpYWxvZ190aXRsZSI6IkNvbmZpcm0gZHJhZnQgY2hhbmdlcyIsImFjY291bnRzLmNvbC5kcmFmdCI6IkRyYWZ0IiwiYWNjb3VudHMuYWNrX2xpdmUiOiJJIHVuZGVyc3RhbmQgdGhlc2UgY2hhbmdlcyBhZmZlY3QgbGl2ZSB0cmFkaW5nIiwiYWNjb3VudHMuc2F2ZV9kcmFmdCI6IlNhdmUgZHJhZnQiLCJhY2NvdW50cy5kcmFmdF9zYXZlZCI6IkRyYWZ0IHNhdmVkLiIsImFjY291bnRzLmRyYWZ0X25vdGUiOiJTYXZpbmcgYSBkcmFmdCBwbGFjZXMgbm8gb3JkZXJzLCBlbmFibGVzIG5vIGFjY291bnQsIGFuZCBjaGFuZ2VzIG5vIHRyYWRpbmcgcGVybWlzc2lvbnMuIFRoZSBlZmZlY3RpdmUgc2V0dGluZ3Mgc3RheSB1bmNoYW5nZWQuIiwiYWNjb3VudHMuY29uZmxpY3QiOiJSZXZpc2lvbiBjb25mbGljdDogdGhlIGRyYWZ0IHdhcyBjaGFuZ2VkIGVsc2V3aGVyZS4gUmVmcmVzaCBhbmQgcmV2aWV3IHRoZSBsYXRlc3QgZGlmZiBiZWZvcmUgcmV0cnlpbmcuIiwiYWNjb3VudHMuaWRlbnRpdHlfY29uZmxpY3QiOiJUaGUgYWNjb3VudCBpZGVudGl0eSBiZWhpbmQgdGhlIGRyYWZ0IGhhcyBjaGFuZ2VkLiBSZWZyZXNoIGFuZCByZWNvbmNpbGUgZmlyc3QuIiwiYWNjb3VudHMubm9fY2hhbmdlcyI6Ik5vIGNoYW5nZXMiLCJhY2NvdW50cy5oaXN0b3J5LmVtcHR5IjoiTm8gY2hhbmdlcyByZWNvcmRlZCIsImFjY291bnRzLmV2ZW50LmRyYWZ0X3NhdmVkIjoiRHJhZnQgc2F2ZWQiLCJhY2NvdW50cy5ldmVudC5hcHByb3ZlZCI6IkFwcHJvdmVkIiwiYWNjb3VudHMuZXZlbnQudW5yZWNvcmRlZCI6Ik5vdCByZWNvcmRlZCIsImFjY291bnRzLmhpc3Rvcnkubm90ZSI6Ikhpc3RvcnkgcmV0ZW50aW9uIGlzIGJvdW5kZWQ7IGEgc2F2ZSBvciBhcHByb3ZhbCBkb2VzIG5vdCBwcm92ZSB0aGUgY2hhbmdlIHRvb2sgZWZmZWN0LiIsImFjY291bnRzLmRyYWZ0X3JldmlzaW9uIjoiRHJhZnQgcmV2aXNpb24ge3ZhbHVlfSIsImNvbnRyb2xzLnRpdGxlIjoiUnVuIGNvbnRyb2xzIiwiY29udHJvbHMuZGFuZ2VyX25vdGUiOiJUaGVzZSBhY3Rpb25zIGFmZmVjdCBsaXZlIHJ1bnMuIFJldmlldyBiZWZvcmUgZXhlY3V0aW5nLiIsImNvbnRyb2xzLmVuYWJsZSI6IkVuYWJsZSIsImNvbnRyb2xzLnN0b3AiOiJTdG9wIiwiY29udHJvbHMucmVzdW1lIjoiUmVzdW1lIiwiY29udHJvbHMuYXBwcm92ZV9hcHBsaWNhdGlvbiI6IkFwcHJvdmUgYXBwbGljYXRpb24iLCJjb250cm9scy5zdG9wX3N1bW1hcnkiOiJTdG9wcGluZyBvbmx5IGJsb2NrcyBuZXcgdHJpZ2dlcnMuIEl0IGRvZXMgbm90IGNhbmNlbCBvcmRlcnMsIGNsb3NlIHBvc2l0aW9ucywgb3IgY2xlYXIgaW4tZmxpZ2h0IHJlcXVlc3RzLiIsImNvbnRyb2xzLnJlc3VtZV9zdW1tYXJ5IjoiUmVzdW1lIHRoZSBleGlzdGluZyBydW50aW1lIHRhcmdldC4gTm8gc3RyYXRlZ3kgb3IgZnVuZGluZyBwYXJhbWV0ZXJzIGNoYW5nZS4iLCJjb250cm9scy5hcHByb3ZlX3N1bW1hcnkiOiJBcHByb3ZlIGFwcGx5aW5nIHRoZSBjdXJyZW50IHN0cmF0ZWd5LXByb2ZpbGUgZHJhZnQuIFZlcmlmeSB0aGUgZWZmZWN0aXZlIHN0YXRlIGFmdGVyIHN1Ym1pc3Npb247IHRoaXMgZG9lcyBub3QgZGlyZWN0bHkgcGxhY2Ugb3JkZXJzLiIsImNvbnRyb2xzLmVuYWJsZV9zdW1tYXJ5IjoiRW5hYmxlIHRoZSBydW50aW1lIHRhcmdldCBzbyB0aGUgZXhpc3Rpbmcgc2NoZWR1bGUgcmVzdW1lcyB0cmlnZ2VyaW5nLiIsImNvbnRyb2xzLnN0b3BfY29uZmlybV90aXRsZSI6IkNvbmZpcm0gc3RvcHBpbmcgdGhlIHJ1bnRpbWUgdGFyZ2V0IiwiY29udHJvbHMuc3RvcF90eXBlX2FsaWFzIjoiVHlwZSB0aGUgYWNjb3VudCBhbGlhcyB7YWxpYXN9IHRvIGNvbmZpcm0gdGhlIHN0b3AiLCJjb250cm9scy5hbGlhc19taXNtYXRjaCI6IlRoZSBhbGlhcyBkb2VzIG5vdCBtYXRjaCIsImNvbnRyb2xzLnN1Ym1pdHRlZCI6IlJlcXVlc3Qgc3VibWl0dGVkOyB0aGUgcmVzdWx0IG5lZWRzIHJlYWQtYmFjay4gRG8gbm90IHJlc3VibWl0LiIsImNvbnRyb2xzLnN1Ym1pdF9mYWlsZWQiOiJTdWJtaXNzaW9uIGRpZCBub3QgY29tcGxldGUuIFZlcmlmeSB0aGUgY3VycmVudCBzdGF0ZSBiZWZvcmUgZGVjaWRpbmc7IGF2b2lkIHJlc3VibWl0dGluZyBibGluZGx5LiIsImNvbnRyb2xzLnVua25vd25fcmVzdWx0IjoiVGhlIHByZXZpb3VzIHN1Ym1pc3Npb24ncyByZXN1bHQgaXMgdW5rbm93biBhbmQgbG9ja2VkLiBSZWZyZXNoIGFuZCB2ZXJpZnkgZmlyc3QuIiwiY29udHJvbHMudW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZToge3JlYXNvbn0iLCJzdHJhdGVnaWVzLnRpdGxlIjoiU3RyYXRlZ2llcyIsInN0cmF0ZWdpZXMuZG9tYWluIjoiTWFya2V0Iiwic3RyYXRlZ2llcy5tb2RlcyI6Ik5ldyBhY3RpdmF0aW9uIC8gc3dpdGNoIG1vZGVzIiwic3RyYXRlZ2llcy5hY2NvdW50c191c2luZyI6IkNvbmZpZ3VyZWQgYWNjb3VudHMiLCJzdHJhdGVnaWVzLmFjY291bnRfZXhlY3V0aW9uIjoiQWNjb3VudCBleGVjdXRpb24gbW9kZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxlZ2FjeV9saXZlIjoiTGl2ZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLmxpdmUiOiJMaXZlIiwic3RyYXRlZ2llcy5leGVjdXRpb24ubGl2ZV91bmtub3duIjoiTGl2ZSIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnBhcGVyIjoiUGFwZXIiLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbi5kcnlfcnVuIjoiRHJ5IHJ1biIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnVua25vd24iOiJFeGVjdXRpb24gbW9kZSB1bmtub3duIiwic3RyYXRlZ2llcy5saXZlX2V4cG9zdXJlIjoiTGl2ZSBzdHJhdGVnaWVzIHVzZSByZWFsIG1vbmV5OyBjYXRhbG9nIG1vZGVzIG9ubHkgY29uc3RyYWluIG5ldyBhY3RpdmF0aW9ucyBvciBzd2l0Y2hlcy4iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl9zb3VyY2UiOiJNb2RlcyBjb21lIGZyb20gYWNjb3VudCBjb25maWd1cmF0aW9uOyByZWNlbnQgcnVucyBhbmQgZmlsbHMgYXJlIHVudmVyaWZpZWQuIiwic3RyYXRlZ2llcy5oZWFsdGgiOiJIZWFsdGgiLCJzdHJhdGVnaWVzLmhlYWx0aF9zY29yZSI6IlNjb3JlIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLmxhc3RfcHJvbW90aW9uIjoiTGFzdCBwcm9tb3Rpb24iLCJzdHJhdGVnaWVzLnBhcmFtc19zdW1tYXJ5IjoiUGFyYW1ldGVyIHN1bW1hcnkiLCJzdHJhdGVnaWVzLnByb21vdGlvbl90aW1lbGluZSI6IlByb21vdGlvbiB0aW1lbGluZSIsInN0cmF0ZWdpZXMuZW1wdHkiOiJObyBzdHJhdGVnaWVzIHlldCIsInN0cmF0ZWdpZXMudGFiLmNhdGFsb2ciOiJDYXRhbG9nIiwic3RyYXRlZ2llcy50YWIucmVzZWFyY2giOiJSZXNlYXJjaCBsZWFkcyIsInN0cmF0ZWdpZXMucmVzZWFyY2hfb25seSI6IlJlc2VhcmNoIG9ubHk7IG5vIG9yZGVycyIsInN0cmF0ZWdpZXMucmVzZWFyY2hfbm90X2Nvbm5lY3RlZCI6IlJlc2VhcmNoIGxlYWRzIGFyZSBub3QgY29ubmVjdGVkLiIsImhlYWx0aC50aXRsZSI6IlJ1biBzdGF0dXMiLCJoZWFsdGguc3RhdC50b2RheV9ydW5zIjoiVG9kYXkge29rfS97dG90YWx9IiwiaGVhbHRoLnN0YXQub2JzZXJ2ZWQiOiJPYnNlcnZlZCB7b2JzZXJ2ZWR9L3tjb25maWd1cmVkfSIsImhlYWx0aC5zdGF0LmNyZWRlbnRpYWxzIjoie2NvdW50fSBjcmVkZW50aWFsKHMpIG5lZWQgYXR0ZW50aW9uIiwiaGVhbHRoLnN0YXQucmVjZW50X2ZhaWx1cmUiOiJSZWNlbnQgZmFpbHVyZXMge2NvdW50fSIsImhlYWx0aC5ncmlkX3RpdGxlIjoiTGFzdCAxNCBOZXcgWW9yayBidXNpbmVzcyBkYXlzIiwiaGVhbHRoLmdyaWQub2siOiJTdWNjZWVkZWQiLCJoZWFsdGguZ3JpZC5mYWlsZWQiOiJGYWlsZWQiLCJoZWFsdGguZ3JpZC5ub3RfcnVuIjoiTm90IHJ1biIsImhlYWx0aC5ncmlkLm5vX3JlY29yZCI6Ik5vIHJlY29yZCIsImhlYWx0aC5kYXlfZGV0YWlsIjoiRGF5IGRldGFpbCIsImhlYWx0aC5mcmVzaG5lc3NfdGl0bGUiOiJEYXRhIGZyZXNobmVzcyIsImhlYWx0aC50YWJsZV9zY3JvbGxfaGludCI6IlNjcm9sbCBob3Jpem9udGFsbHkgdG8gc2VlIHRoZSBmdWxsIHRhYmxlIiwiaGVhbHRoLmdyaWRfc2Nyb2xsX2hpbnQiOiJTY3JvbGwgZm9yIGFsbCBkYXRlczsgYWNjb3VudHMgc3RheSB2aXNpYmxlIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2UuZXhwaXJlZCI6IkV4cGlyZWQiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS4zMCI6IkV4cGlyZXMgd2l0aGluIDMwIGRheXMiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS4xNCI6IkV4cGlyZXMgd2l0aGluIDE0IGRheXMiLCJoZWFsdGguY3JlZGVudGlhbF9waGFzZS43IjoiRXhwaXJlcyB3aXRoaW4gNyBkYXlzIiwiaGVhbHRoLmNyZWRlbnRpYWxfcGhhc2Uubm90X2R1ZSI6Ik5vcm1hbCIsImhlYWx0aC5jcmVkZW50aWFsX3BoYXNlLnVua25vd24iOiJVbmtub3duIiwiaGVhbHRoLmFjdGl2aXR5IjoiQWN0aXZpdHkiLCJoZWFsdGgucnVuX2NvdW50IjoiUnVuIGNvdW50IiwiaGVhbHRoLmNvbC5hY2NvdW50IjoiQWNjb3VudCIsImhlYWx0aC5jb2wuc291cmNlIjoiU291cmNlIiwiaGVhbHRoLmNvbC5zdGF0dXMiOiJTdGF0dXMiLCJoZWFsdGguY29sLmFzX29mIjoiQXMgb2YiLCJlcnJvci5nZW5lcmljIjoiVGhlIHJlcXVlc3QgZGlkIG5vdCBjb21wbGV0ZS4gUmVmcmVzaCBhbmQgdmVyaWZ5IHRoZSBjdXJyZW50IHN0YXRlLiIsImVycm9yLnNlc3Npb25fZXhwaXJlZCI6IlNlc3Npb24gZXhwaXJlZC4gUGxlYXNlIHNpZ24gaW4gYWdhaW4uIiwiZXJyb3IuYWNjZXNzX2RlbmllZCI6IkFjY2VzcyBkZW5pZWQuIiwiZXJyb3IuY29uZmxpY3QiOiJSZXZpc2lvbiBjb25mbGljdC4gWW91ciBlZGl0cyBhcmUga2VwdDsgcmVmcmVzaCBhbmQgdmVyaWZ5LiJ9LGdtPXsib3ZlcnZpZXcuYXNzZXRfc3VtbWFyeSI6Iui1hOS6p+aRmOimgSIsIm92ZXJ2aWV3LnJ1bnRpbWVfdGFyZ2V0Ijoi6L+Q6KGM55uu5qCHIiwib3ZlcnZpZXcucnVudGltZV9lbmFibGVkIjoi5bey5ZCv55SoIiwib3ZlcnZpZXcucnVudGltZV9kaXNhYmxlZCI6IuW3suWBnOeUqCIsIm92ZXJ2aWV3LnJ1bnRpbWVfY29uZmlnX25vdGUiOiLoh6rliqjov5DooYzmmL7npLrnmoTmmK/phY3nva7nirbmgIHvvIzkuI3ku6Pooajku4rml6Xov5DooYznu5PmnpzjgIIiLCJvdmVydmlldy5taXhlZF9jdXJyZW5jeV9zaG9ydCI6IuWkmuW4geenjSIsIm92ZXJ2aWV3LnJ1bnNfY2FyZF90aXRsZSI6IuS7iuaXpeacieiusOW9lei0puaItyIsIm92ZXJ2aWV3LmJ1c2luZXNzX2RhdGUiOiLnur3nuqbkuJrliqHml6Uge3ZhbHVlfSIsIm92ZXJ2aWV3LmNhbGVuZGFyX2RhdGUiOiLnur3nuqbml6XmnJ8ge3ZhbHVlfSIsIm92ZXJ2aWV3Lm5vX3JlY29yZHNfZm9yX2RheSI6IuW9k+WJjeacquingua1i+WIsOivpeS4muWKoeaXpeiusOW9lSIsIm92ZXJ2aWV3Lm5vbl90cmFkaW5nX2RheV9zaG9ydCI6IumdnuS6pOaYk+aXpSIsIm92ZXJ2aWV3LmRlY2lzaW9uX3F1ZXVlIjoi5Yaz5a6a6Zif5YiXIiwib3ZlcnZpZXcubmVlZHNfcmV2aWV3Ijoi5b6F5L2g5p+l55yL55qE5Yaz5a6a77yae2NvdW50fSDkuKoiLCJvdmVydmlldy5xdWV1ZV9jb21wbGV0ZV9lbXB0eSI6IuayoeaciemcgOimgeWkhOeQhueahOW+heWKnuWGs+WumuOAgiIsIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiOiLlhrPlrprmnaXmupDmnKrlrozmlbTor7vlj5bvvIzlm6DmraTkuI3mmL7npLrorqHmlbDjgIIiLCJvdmVydmlldy5xdWV1ZV9yZWFkX2ZhaWxlZCI6IuWGs+WumumYn+WIl+ivu+WPluWksei0peOAgiIsIm92ZXJ2aWV3LnF1ZXVlX2Jsb2NrZWQiOiLlj5fpmLvvvJp7Y291bnR9IOS4qiIsIm92ZXJ2aWV3LnF1ZXVlX2hpZ2hfcHJpb3JpdHkiOiLpq5jkvJjlhYjnuqfvvJp7Y291bnR9IOS4qiIsIm92ZXJ2aWV3LnF1ZXVlX21vcmUiOiLmn6XnnIvlhajpg6jlhrPlrpoiLCJvdmVydmlldy5leHBpcmVzX3BsYWluIjoi5pyJ5pWI5pyf6IezIHt2YWx1ZX0iLCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiOiLmnIDov5Hnoa7orqTnmoTmtLvliqgifSx2bT17Im92ZXJ2aWV3LmFzc2V0X3N1bW1hcnkiOiJBc3NldCBzdW1tYXJ5Iiwib3ZlcnZpZXcucnVudGltZV90YXJnZXQiOiJSdW50aW1lIHRhcmdldCIsIm92ZXJ2aWV3LnJ1bnRpbWVfZW5hYmxlZCI6IkVuYWJsZWQiLCJvdmVydmlldy5ydW50aW1lX2Rpc2FibGVkIjoiU3RvcHBlZCIsIm92ZXJ2aWV3LnJ1bnRpbWVfY29uZmlnX25vdGUiOiJBdXRvbWF0aWMgcnVucyBzaG93IGNvbmZpZ3VyYXRpb24sIG5vdCB0b2RheSdzIHJ1biByZXN1bHQuIiwib3ZlcnZpZXcubWl4ZWRfY3VycmVuY3lfc2hvcnQiOiJNdWx0aXBsZSBjdXJyZW5jaWVzIiwib3ZlcnZpZXcucnVuc19jYXJkX3RpdGxlIjoiQWNjb3VudHMgd2l0aCByZWNvcmRzIHRvZGF5Iiwib3ZlcnZpZXcuYnVzaW5lc3NfZGF0ZSI6Ik5ldyBZb3JrIGJ1c2luZXNzIGRheSB7dmFsdWV9Iiwib3ZlcnZpZXcuY2FsZW5kYXJfZGF0ZSI6Ik5ldyBZb3JrIGRhdGUge3ZhbHVlfSIsIm92ZXJ2aWV3Lm5vX3JlY29yZHNfZm9yX2RheSI6Ik5vIHJlY29yZHMgb2JzZXJ2ZWQgZm9yIHRoaXMgYnVzaW5lc3MgZGF5Iiwib3ZlcnZpZXcubm9uX3RyYWRpbmdfZGF5X3Nob3J0IjoiTm9uLXRyYWRpbmcgZGF5Iiwib3ZlcnZpZXcuZGVjaXNpb25fcXVldWUiOiJEZWNpc2lvbiBxdWV1ZSIsIm92ZXJ2aWV3Lm5lZWRzX3JldmlldyI6IkRlY2lzaW9ucyBhd2FpdGluZyB5b3VyIHJldmlldzoge2NvdW50fSIsIm92ZXJ2aWV3LnF1ZXVlX2NvbXBsZXRlX2VtcHR5IjoiTm8gZGVjaXNpb25zIG5lZWQgYWN0aW9uLiIsIm92ZXJ2aWV3LnF1ZXVlX2luY29tcGxldGUiOiJEZWNpc2lvbiBjb3ZlcmFnZSBpcyBpbmNvbXBsZXRlLCBzbyBjb3VudHMgYXJlIGhpZGRlbi4iLCJvdmVydmlldy5xdWV1ZV9yZWFkX2ZhaWxlZCI6IlRoZSBkZWNpc2lvbiBxdWV1ZSBjb3VsZCBub3QgYmUgcmVhZC4iLCJvdmVydmlldy5xdWV1ZV9ibG9ja2VkIjoiQmxvY2tlZDoge2NvdW50fSIsIm92ZXJ2aWV3LnF1ZXVlX2hpZ2hfcHJpb3JpdHkiOiJIaWdoIHByaW9yaXR5OiB7Y291bnR9Iiwib3ZlcnZpZXcucXVldWVfbW9yZSI6IlZpZXcgYWxsIGRlY2lzaW9ucyIsIm92ZXJ2aWV3LmV4cGlyZXNfcGxhaW4iOiJFeHBpcmVzIHt2YWx1ZX0iLCJvdmVydmlldy5sYXRlc3RfYWN0aXZpdHkiOiJMYXRlc3QgdmVyaWZpZWQgYWN0aXZpdHkifSx5bT17InBlcmYubGF0ZXN0X2JhbGFuY2Vfc2NvcGVfbm90ZSI6IuWPr+iDveWMheWQq+eOr+Wig+W+heehruiupOi0puaIt++8jOWQiOiuoeWPr+iDveS4jeWujOaVtOOAgiIsInBlcmYubGF0ZXN0X2JhbGFuY2VfdG90YWwiOiJ7Y3VycmVuY3l9IOacgOi/keW3suefpeS9memineWQiOiuoSIsInBlcmYubGF0ZXN0X2JhbGFuY2Vfc3VidG90YWwiOiJ7Y3VycmVuY3l9IOacgOi/keW3suefpeS9memineWwj+iuoSIsInBlcmYuYmFsYW5jZV9vbGRlc3RfdGltZSI6IuacgOaXqeaVsOaNriB7dmFsdWV9IiwicGVyZi5iYWxhbmNlX2xhdGVzdF90aW1lIjoi5pyA5pma5pWw5o2uIHt2YWx1ZX0iLCJwZXJmLmJhbGFuY2Vfc291cmNlX3RpbWUiOiLkvZnpop3mlbDmja4ge3ZhbHVlfSIsInBlcmYuYXZlcmFnZV9jb3N0X2ZpZWxkIjoi5bmz5Z2H5oiQ5pysIiwicGVyZi5jb2wuY29zdF9iYXNpcyI6IuaIkOacrOS7tyIsInBlcmYuYnJva2VyX2Nvc3RfbGFiZWwiOiLliLjllYbmiJDmnKzvvIjmjInliLjllYborr7nva7vvIkiLCJyZWFzb24uY3VycmVuY3lfbWlzbWF0Y2giOiLotKbmiLfluIHnp43kuI7lvZPliY3luIHnp43kuI3nrKbvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJwZXJmLmNvdmVyYWdlX2RldGFpbHMiOiLmn6XnnIvorqHlhaXkuI7mjpLpmaTnmoTotKbmiLciLCJwZXJmLmFjY291bnRfaW5jbHVkZWQiOiLlt7LorqHlhaUiLCJwZXJmLmFjY291bnRfZXhjbHVkZWQiOiLmnKrorqHlhaUiLCJwZXJmLnZhbHVhdGlvbl9kYXRlIjoi5Lyw5YC85pel5pyfIHtkYXRlfSIsInBlcmYuaG9sZGluZ3NfbWlzc2luZ19maWVsZHMiOiLigJzigJTigJ3ooajnpLrmnaXmupDmnKrmj5Dkvpvor6XlrZfmrrXvvJvmlbDph4/lt7Lnn6XkuI3ku6PooajluILlgLzjgIHmiJDmnKzku7fmiJbnm4jkuo/pvZDlhajjgIIiLCJwZXJmLmhvbGRpbmdzX3Njcm9sbF9oaW50Ijoi5bem5Y+z5ruR5Yqo5p+l55yL5oyB5LuT5YWo6YOo5a2X5q6144CCIiwicGVyZi5yYW5raW5nX25vX21vdmVtZW50Ijoi5Y+v5o6S5ZCN5oyB5LuT5pqC5peg55uI5LqP5Y+Y5YyWIiwicGVyZi5yYW5raW5nX3VuYXZhaWxhYmxlIjoi5pqC5peg5Y+v5o6S5ZCN55qE5oyB5LuTIiwicGVyZi5yYW5raW5nX21pc3NpbmdfZmllbGRzIjoi57y65bCR5Y+v55So5LqO5o6S6KGM55qE5oyB5LuT5pS255uK5pWw5o2u77yM5Y+v5Zyo5oyB5LuT6aG15p+l55yL44CCIiwicGVyZi5yYW5raW5nX21pc3NpbmdfY3VycmVuY3kiOiLmnKrmj5DkvpvluIHnp43nmoTmjIHku5PkuI3lj4LkuI7mjpLooYzvvIzml6Dms5Xnoa7orqTlj6/mr5TluIHnp43jgIIiLCJwZXJmLmZpZWxkc19ub3RfcHJvdmlkZWQiOiLmnKrmj5DkvpvvvJp7ZmllbGRzfSIsInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyI6IuS7peS4i+i0puaIt+W3suacieWOn+eUn+aUtuebiu+8mnthY2NvdW50c33jgILlj6/ku47pobbpg6jliIfmjaLljZXkuKrotKbmiLfmn6XnnIvvvJvov5nkupvnu5PmnpzkuI3ku6Pooajlhajpg6jotKbmiLfnmoTnu4TlkIjmlLbnm4rjgIIiLCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X3RpdGxlIjoi5ZCE6LSm5oi35pel5pS255uK546HIiwicGVyZi5wZXJfYWNjb3VudF9kYWlseV9ub3RlIjoi5ZCE6LSm5oi35YiG5Yir5bGV56S677yM57y65aSx5pel5pyf55WZ56m644CCIiwicGVyZi5jb21iaW5lZF9tZXRyaWNzX3VuYXZhaWxhYmxlIjoi57uE5ZCI5oyH5qCH5pqC5LiN5Y+v6K6h566X77yM5Lul5LiL5bGV56S65ZCE6LSm5oi35pel5pS255uK44CCIiwicGVyZi5oaXN0b3J5X3dpbmRvd19zaG9ydCI6IuaJgOmAieWMuumXtOiHqiB7cmVxdWVzdGVkfSDotbfvvIzlt7LlrZjorrDlvZXoh6oge2F2YWlsYWJsZX0g6LW377yM5Zug5q2k5LiN57uZ5Ye66K+l5Yy66Ze05ZCI6K6h44CCIiwicGVyZi5taXhlZF9jdXJyZW5jeV91bmF2YWlsYWJsZSI6IuW9k+WJjeiMg+WbtOWQq+WkmuenjeW4geenje+8jOacqui/m+ihjOaxh+eOh+i9rOaNou+8jOe7hOWQiOaMh+agh+S4jeWPr+iuoeeul++8m+S4i+aWueaMiei0puaIt+WSjOW4geenjeWxleekuuWOn+eUn+aUtuebiuOAgiIsInBlcmYubWl4ZWRfY3VycmVuY3lfbmF0aXZlIjoi5b2T5YmN6IyD5Zu05ZCr5aSa56eN5biB56eN77yM57uE5ZCI5oyH5qCH5LiN5Y+v6K6h566X77yb5LiL5pa55oyJ6LSm5oi35ZKM5biB56eN5bGV56S65Y6f55Sf5pS255uK44CCIiwicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiOiLlvZPliY3ojIPlm7TlkKvlpJrnp43luIHnp43vvIznu4TlkIjmlLbnm4rkuI3lj6/orqHnrpfvvJvkuIvmlrnmjInluIHnp43lsZXnpLrotYTkuqflj5jljJbvvIjlkKvlh7rlhaXph5HlvbHlk43vvInvvIzkuI3ku6Pooajml7bpl7TliqDmnYPmlLbnm4rjgIIiLCJyZWFzb24uaW52YWxpZF92YWx1YXRpb25fZGF0ZSI6IuS8sOWAvOaXpeacn+aXoOaViO+8jOacquiuoeWFpeWQiOiuoeOAgiIsInJlYXNvbi5pbnZhbGlkX2JhbGFuY2UiOiLotYTkuqfph5Hpop3mnKrnoa7orqTvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uZHVwbGljYXRlX2N1cnJlbmN5Ijoi5ZCM5biB56eN5pyJ6YeN5aSN5L2Z6aKd77yM5pyq6K6h5YWl5ZCI6K6h44CCIiwicmVhc29uLmlkZW50aXR5X21pc21hdGNoIjoi6LSm5oi36Lqr5Lu95LiN5Yy56YWN77yM5pyq6K6h5YWl5ZCI6K6h44CCIiwicmVhc29uLmlkZW50aXR5X25vdF9ib3VuZCI6Iui0puaIt+i6q+S7veWwmuacque7keWumu+8jOacquiuoeWFpeWQiOiuoeOAgiIsInJlYXNvbi5hZ2dyZWdhdGlvbl9kdXBsaWNhdGUiOiLkuI7lj6bkuIDotKbmiLfph43lpI3vvIzmnKrph43lpI3orqHlhaXjgIIiLCJyZWFzb24uYWdncmVnYXRpb25fY29uZmxpY3QiOiLotKbmiLflvZLlsZ7lrZjlnKjlhrLnqoHvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uYWNjb3VudF9mYWN0c19kaXNhYmxlZCI6Iuivpei0puaIt+eahOaVsOaNruivu+WPluacquWQr+eUqOOAgiIsInBlcmYuaGlzdG9yeV9pbmNvbXBsZXRlIjoi6YOo5YiG5Y6G5Y+y5pWw5o2u5pyq6L+U5ZueIiwicGVyZi5oaXN0b3J5X3N0YWxlIjoi5Y6G5Y+y5pWw5o2u5Y+v6IO95LiN5piv5pyA5pawIiwicGVyZi5oaXN0b3J5X2NvdmVyYWdlX25vdGUiOiLpg6jliIbotKbmiLfnvLrlsJHljoblj7LmlbDmja7vvIzmm7Lnur/ku4XljIXlkKvmnInmlbDmja7nmoTotKbmiLfjgIIiLCJwZXJmLmhpc3RvcnlfYWZmZWN0ZWRfYWNjb3VudHMiOiJ7Y291bnR9IOS4qui0puaIt+eahOWOhuWPsuaVsOaNruS4jeWujOaVtCIsInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIjoi6YOo5YiG5pel5pyf5YyF5ZCr5rK/55So55qE5q2k5YmN5L2Z6aKd77yM6L+Z5Lqb5L2Z6aKd5bm26Z2e5b2T5pel6KeC5rWL44CCIiwicGVyZi5jdXJyZW5jeV9leGNsdWRlZF9hY2NvdW50cyI6IuWPpuaciSB7Y291bnR9IOS4qui0puaIt+eahOW4geenjeaIlumHkemineacquehruiupOOAgiIsInBlcmYuZHJhd2Rvd25fdHdyX3RpdGxlIjoiVFdSIOacgOWkp+WbnuaSpCIsInBlcmYubmF0aXZlX3RvdGFsc19ub3RlIjoi5oyJ5biB56eN5YiG5Yir5bGV56S677yM5LiN5o2i5rGH44CCIiwicGVyZi5jdXJyZW5jeV9zdWJ0b3RhbCI6IntjdXJyZW5jeX0g6LWE5Lqn5bCP6K6hIiwicGVyZi5jdXJyZW5jeV90b3RhbCI6IntjdXJyZW5jeX0g6LWE5Lqn5ZCI6K6hIiwicGVyZi5wYXJ0aWFsX2FjY291bnRzIjoi5pyq5ZCr5YWo6YOo6LSm5oi3IiwicGVyZi5jdXJyZW5jeV9hY2NvdW50cyI6IuWQiOiuoeWQqyB7Y291bnR9IOS4qui0puaItyIsInBlcmYuZnJlc2huZXNzX2NvdW50cyI6IntzdGFsZX0g5Liq6LSm5oi355qE5pWw5o2u5Y+v6IO95LiN5piv5pyA5pawIiwicGVyZi5mcmVzaG5lc3NfdGhyZXNob2xkIjoi5oyJ5ZCE6LSm5oi35pe26Ze05YiG5Yir5Yik5pat77yM6LaF6L+HIHtob3Vyc30g5bCP5pe26KeG5Li65Y+v6IO95LiN5piv5pyA5paw44CCIiwicGVyZi5kYXRhX21heV9iZV9zdGFsZSI6IumDqOWIhui0puaIt+aVsOaNruW+heabtOaWsCIsInBlcmYuYXNfb2Zfbm90X3JlZnJlc2giOiLigJzmiKroh7PigJ3mmL7npLrotKbmiLfmlbDmja7ml7bpl7TvvIzkuI3mmK/pobXpnaLliLfmlrDml7bpl7TjgIIiLCJwZXJmLmRhdGFfbm90ZXMiOiLmlbDmja7or7TmmI4iLCJwZXJmLmhpc3RvcnlfZGV0YWlscyI6Iuafpeeci+i0puaItyIsInBlcmYuY2FsZW5kYXJfYXNzZXRfYmFsYW5jZSI6Iui1hOS6p+S9meminSIsInJlYXNvbi5ub19jYXNoZmxvd19kYXRhIjoi57y65bCR5a6M5pW05Ye65YWl6YeR6K6w5b2V77yM5peg5rOV6K6h566XIFRXUiDlj4rlhbblm57mkqTjgIIiLCJyZWFzb24uaW5zdWZmaWNpZW50X2hpc3RvcnkiOiLoh7PlsJHpnIDopoHkuKTmnaHmnInmlYjkvLDlgLzorrDlvZXjgIIiLCJyZWFzb24ubm9fc25hcHNob3QiOiLmmoLml6Dlj6/nlKjkvLDlgLzjgIIiLCJyZWFzb24uc25hcHNob3Rfc3RhbGUiOiLor6XotKbmiLflv6vnhaflt7LotoXov4fml7bmlYjpmIjlgLzjgIIiLCJyZWFzb24udmFsdWF0aW9uX2RhdGVfbWlzbWF0Y2giOiLpg6jliIbotKbmiLfkvLDlgLzml6XmnJ/kuI3lkIzvvIzmnKrorqHlhaXlkIjorqHjgIIiLCJyZWFzb24uaW5jb21wbGV0ZV9hY2NvdW50X2NvdmVyYWdlIjoi6YOo5YiG6LSm5oi35pyq57qz5YWl5ZCI6K6h44CCIiwicGVyZi5iZW5jaG1hcmtfc3A1MDAiOiLmoIfmma41MDAiLCJwZXJmLmJlbmNobWFya19uYXNkYXExMDAiOiLnurPmlq/ovr7lhYsxMDAiLCJwZXJmLmJlbmNobWFya19kb3ciOiLpgZPnkLzmlq/lt6XkuJrlubPlnYfmjIfmlbAiLCJwZXJmLmJlbmNobWFya19ydXNzZWxsMjAwMCI6Iue9l+e0oDIwMDAiLCJwZXJmLmJlbmNobWFya191bmtub3duIjoi5Z+65YeGIiwicGVyZm9ybWFuY2UuY3VycmVudF9ob2xkaW5nc191bnJlYWxpemVkIjoi5b2T5YmN5oyB5LuTIMK3IOacquWunueOsOebiOS6jyIsInBlcmYucmV0dXJuX2tpbmRfdHdyIjoi5pe26Ze05Yqg5p2D5pS255uK546H77yIVFdS77yJIiwicGVyZi5uYXRpdmVfZGFpbHlfdGl0bGUiOiLml6XmlLbnm4rnjociLCJwZXJmLm5hdGl2ZV9kYWlseV90YWciOiLmr4/ml6UiLCJwZXJmLm5hdGl2ZV9kYWlseV9ub3RlIjoi6YOo5YiG5pel5pyf57y65aSx77yM5pqC5peg5rOV6K6h566X5Yy66Ze057Sv6K6h5pS255uK44CCIiwicGVyZi5tZXRob2RfYm9keV9uYXRpdmVfZGFpbHkiOiLmr4/ml6XmlLbnm4rmnaXoh6rliLjllYbvvIznvLrlpLHml6XmnJ/nlZnnqbrjgIIiLCJwZXJmLm1ldGhvZF9kaWV0el9hcHByb3giOiJNb2RpZmllZCBEaWV0eu+8iOi/keS8vO+8iSIsInBlcmYubWV0aG9kX3Vua25vd24iOiLmlLbnm4rorqHnrpfmlrnlvI/mnKrnn6UiLCJwZXJmLmNhcmQucmV0dXJuX3ZhbHVlIjoi57Sv6K6h5pS255uKIiwicGVyZi5kcmF3ZG93bl9wbGFpbl90aXRsZSI6IuacgOWkp+WbnuaSpCIsInBlcmYubWV0aG9kX2JvZHlfdW5rbm93biI6IuaUtuebiuiuoeeul+aWueW8j+WwmuacquehruiupOOAguaVsOWAvOaMieWOn+e7k+aenOWxleekuu+8jOacquehruiupOS4uuaXtumXtOWKoOadg+aUtuebiueOh++8iFRXUu+8ie+8m+acquefpeaUtuebiuS4jeaMiSAwIOWkhOeQhuOAgiIsInBlcmYubWV0aG9kX2JvZHlfZGlldHoiOiLmnInlh7rlhaXph5HorrDlvZXkvYbml6Dms5XpgJDml6Xnsr7noa7liqDmnYPml7bvvIzph4fnlKggTW9kaWZpZWQgRGlldHog6L+R5Ly85rOV5bm25qCH5rOo44CM6L+R5Ly844CN44CC5Yy66Ze06LW354K55b2S6Zu277yM5Ye65YWl6YeR5LiN6K6h5YWl5pS255uK77yb6K6w5b2V5LiN5a6M5pW05pe25LuF5bGV56S66LWE5Lqn5L2Z6aKd77yM5LiN5bGV56S6IFRXUuOAgiIsInBlcmYubWV0aG9kX2JvZHlfYXNzZXRfY2hhbmdlIjoi57y65bCR5a6M5pW05Ye65YWl6YeR6K6w5b2V77yM5pqC5peg5rOV6K6h566XIFRXUuOAguWbvuS4reS7heWxleekuui1hOS6p+WPmOWMlu+8iCXvvInvvIzljIXlkKvlh7rlhaXph5HlvbHlk43vvIzkuI3ku6Pooajml7bpl7TliqDmnYPmlLbnm4rvvIzkuZ/kuI3kuI7ln7rlh4bmr5TovoPjgIIiLCJwZXJmLnJldHVybnNfdGl0bGVfcGxhaW4iOiLmlLbnm4rnjociLCJwZXJmLmFzc2V0X2JhbGFuY2VfdGl0bGUiOiLotYTkuqfkvZnpop0iLCJwZXJmLm1pc3NpbmdfY2FzaGZsb3dfcmVjb3JkcyI6Iue8uuWwkeWFpeWHuumHkeiusOW9le+8jOaaguaXoOazleiuoeeul+aUtuebiiIsInBlcmYuYXNzZXRfY2hhbmdlX3RpdGxlIjoi6LWE5Lqn5Y+Y5YyWIiwicGVyZi5hc3NldF9jaGFuZ2VfdGFnIjoi6LWE5Lqn5Y+Y5YyWIMK3IOWQq+WHuuWFpemHkeW9seWTjSIsInBlcmYuYXNzZXRfY2hhbmdlX2NhbGVuZGFyX3RhZyI6IuWQq+WHuuWFpemHkeW9seWTjSIsInBlcmYuYXNzZXRfY2hhbmdlX25vdGUiOiLmmoLml7bml6Dms5XorqHnrpfmlLbnm4rvvIzku6XkuIvlsZXnpLrotYTkuqflj5jljJbvvIgl77yJ44CC6K+l5Y+Y5YyW5YyF5ZCr5Ye65YWl6YeR5b2x5ZON77yM5LiN5Luj6KGo5pe26Ze05Yqg5p2D5pS255uK77yM5Lmf5LiN5LiO5Z+65YeG5q+U6L6D44CCIiwicGVyZi5jYWxlbmRhcl9mYWxsYmFja19ub3RlIjoi6YOo5YiG6LSm5oi357y65bCR5b2T5pel5b+r54Wn77yM5pys5pyI5Y6G5oyJ5Y+v55So6LSm5oi355qE6LWE5Lqn5Y+Y5YyW5bGV56S677yI5ZCr5Ye65YWl6YeR5b2x5ZON77yJ77yM5LiN5Luj6KGo5pS255uK44CCIiwicGVyZi5wb3J0Zm9saW9fc2VyaWVzIjoi57uE5ZCIIiwicGVyZi5jdXJyZW5jeV9zd2l0Y2giOiLluIHnp40iLCJwZXJmLmNyeXB0b19iZW5jaG1hcmtfbm90ZSI6IuWKoOWvhui0puaIt+aMiSA3w5cyNCDkuqTmmJPvvIzmmoLkuI3kuI7nvo7ogqHmjIfmlbDmr5TovoPvvJtCVEMg5Z+65YeG5pWw5o2u5bCa5pyq5o6l5YWl44CCIiwicGVyZi5taXhlZF9iZW5jaG1hcmtfbm90ZSI6IuW9k+WJjeiMg+WbtOWQjOaXtuWMheWQq+WKoOWvhuS4jue+juiCoei0puaIt++8jOaaguS4jeS4juWNleS4gOW4guWcuuaMh+aVsOavlOi+g++8m+WPr+WIh+aNouWIsOWNleS4qui0puaIt+afpeeci+OAgiIsInBlcmYuY3VycmVuY3lfYmVuY2htYXJrX25vdGUiOiLor6XluIHnp43otKbmiLfmmoLkuI3kuI7nvo7ogqHmjIfmlbDmr5TovoPjgIIiLCJwZXJmLm5vX2NvbW1vbl9kYXRlX25vdGUiOiLotKbmiLfkuI7ln7rlh4bmsqHmnInlhbHlkIzml6XmnJ/vvIzmmoLkuI3lj6DliqDln7rlh4bjgIIiLCJwZXJmLmJlbmNobWFya19ub3RfYXBwbGljYWJsZSI6IuivpeiMg+WbtOaaguS4jeiuvue9ruWfuuWHhiIsInBlcmYuaG9sZGluZ3NfY292ZXJhZ2VfYWNjb3VudHMiOiLopobnm5botKbmiLfvvJp7dmFsdWV9IiwicGVyZi5yYW5raW5nX25vdGUiOiLmjInmnKrlrp7njrDnm4jkuo/ph5Hpop3mjpLluo/vvJvnm4jkuo/mr5Tkvovku6XlubPlnYfmiJDmnKzkuLrln7rlh4bvvIznvLrlsJHlubPlnYfmiJDmnKznmoTmjIHku5PkuI3lj4LkuI7mjpLooYzjgIIiLCJwZXJmLnJhbmtpbmdfd2lubmVycyI6IuebiOWIqemdoOWJjSIsInBlcmYucmFua2luZ19sb3NlcnMiOiLkuo/mjZ/pnaDliY0iLCJwZXJmLmJlbmNobWFya3NfdW5hdmFpbGFibGUiOiLln7rlh4bmmoLkuI3lj6/nlKjvvIh7Y291bnR977yJIiwicGVyZi5jb2wuc2lkZSI6IuaWueWQkSIsInBlcmYuY29sLnByaWNlIjoi5Lu35qC8IiwicGVyZi5jb2wuY29tbWlzc2lvbiI6IuS9o+mHkSIsInBlcmYuY29sLnRheGVzIjoi56iO6LS5IiwicGVyZi5zaWRlLmJ1eSI6IuS5sOWFpSIsInBlcmYuc2lkZS5zZWxsIjoi5Y2W5Ye6IiwicGVyZi5leGVjdXRpb25zX2NvdW50Ijoi5bey6KeC5rWLIHtjb3VudH0g5p2h5oiQ5LqkIiwicGVyZi5leGVjdXRpb25zX3BhcnRpYWxfc2hvcnQiOiLpg6jliIborrDlvZUiLCJwZXJmLmV4ZWN1dGlvbnNfcGFydGlhbCI6IuS7heWIl+WHuuW3suingua1i+aIkOS6pO+8m+imhuebluiMg+WbtOacquaguOWunu+8jOS4jeS7o+ihqOWujOaVtOWOhuWPsuOAgiIsInBlcmYuZXhlY3V0aW9uc19lbXB0eV9wYXJ0aWFsIjoi6YOo5YiG6K6w5b2V77yM5b2T5YmN6IyD5Zu05YaF5pqC5peg5Y+v5bGV56S65oiQ5Lqk44CCIn0sYm09eyJwZXJmLmxhdGVzdF9iYWxhbmNlX3Njb3BlX25vdGUiOiJNYXkgaW5jbHVkZSBhY2NvdW50cyB3aXRoIHVuY29uZmlybWVkIGVudmlyb25tZW50czsgdGhlIHRvdGFsIG1heSBiZSBpbmNvbXBsZXRlLiIsInBlcmYubGF0ZXN0X2JhbGFuY2VfdG90YWwiOiJ7Y3VycmVuY3l9IGxhdGVzdCBrbm93biBiYWxhbmNlIHRvdGFsIiwicGVyZi5sYXRlc3RfYmFsYW5jZV9zdWJ0b3RhbCI6IntjdXJyZW5jeX0gbGF0ZXN0IGtub3duIGJhbGFuY2Ugc3VidG90YWwiLCJwZXJmLmJhbGFuY2Vfb2xkZXN0X3RpbWUiOiJFYXJsaWVzdCBkYXRhIHt2YWx1ZX0iLCJwZXJmLmJhbGFuY2VfbGF0ZXN0X3RpbWUiOiJMYXRlc3QgZGF0YSB7dmFsdWV9IiwicGVyZi5iYWxhbmNlX3NvdXJjZV90aW1lIjoiQmFsYW5jZSBkYXRhIHt2YWx1ZX0iLCJwZXJmLmF2ZXJhZ2VfY29zdF9maWVsZCI6IkF2ZyBjb3N0IiwicGVyZi5jb2wuY29zdF9iYXNpcyI6IkNvc3QgYmFzaXMiLCJwZXJmLmJyb2tlcl9jb3N0X2xhYmVsIjoiQnJva2VyIGNvc3QgKGJyb2tlciBzZXR0aW5ncykiLCJyZWFzb24uY3VycmVuY3lfbWlzbWF0Y2giOiJUaGUgYWNjb3VudCBjdXJyZW5jeSBkaWZmZXJzIGZyb20gdGhpcyB0b3RhbDsgZXhjbHVkZWQuIiwicGVyZi5jb3ZlcmFnZV9kZXRhaWxzIjoiVmlldyBpbmNsdWRlZCBhbmQgZXhjbHVkZWQgYWNjb3VudHMiLCJwZXJmLmFjY291bnRfaW5jbHVkZWQiOiJJbmNsdWRlZCIsInBlcmYuYWNjb3VudF9leGNsdWRlZCI6IkV4Y2x1ZGVkIiwicGVyZi52YWx1YXRpb25fZGF0ZSI6IlZhbHVhdGlvbiBkYXRlIHtkYXRlfSIsInBlcmYuaG9sZGluZ3NfbWlzc2luZ19maWVsZHMiOiLigJzigJTigJ0gbWVhbnMgdGhlIHNvdXJjZSBkaWQgbm90IHByb3ZpZGUgdGhhdCBmaWVsZC4gQSBrbm93biBxdWFudGl0eSBkb2VzIG5vdCBlc3RhYmxpc2ggbWFya2V0IHZhbHVlLCBjb3N0IGJhc2lzIG9yIFAvTC4iLCJwZXJmLmhvbGRpbmdzX3Njcm9sbF9oaW50IjoiU2Nyb2xsIGhvcml6b250YWxseSB0byB2aWV3IGFsbCBob2xkaW5nIGZpZWxkcy4iLCJwZXJmLnJhbmtpbmdfbm9fbW92ZW1lbnQiOiJFbGlnaWJsZSBob2xkaW5ncyBoYXZlIG5vIFAvTCBtb3ZlbWVudCIsInBlcmYucmFua2luZ191bmF2YWlsYWJsZSI6Ik5vIGhvbGRpbmdzIGFyZSBlbGlnaWJsZSBmb3IgcmFua2luZyIsInBlcmYucmFua2luZ19taXNzaW5nX2ZpZWxkcyI6IkVsaWdpYmxlIGhvbGRpbmcgcmV0dXJuIGRhdGEgaXMgdW5hdmFpbGFibGU7IGNoZWNrIHRoZSBIb2xkaW5ncyB0YWIuIiwicGVyZi5yYW5raW5nX21pc3NpbmdfY3VycmVuY3kiOiJIb2xkaW5ncyB3aXRob3V0IGEgY3VycmVuY3kgYXJlIG5vdCByYW5rZWQgYmVjYXVzZSBubyBjb21wYXJhYmxlIGN1cnJlbmN5IGNhbiBiZSBjb25maXJtZWQuIiwicGVyZi5maWVsZHNfbm90X3Byb3ZpZGVkIjoiTm90IHByb3ZpZGVkOiB7ZmllbGRzfSIsInBlcmYubmF0aXZlX3JldHVybl9hY2NvdW50cyI6Ik5hdGl2ZSByZXR1cm5zIGFyZSBhdmFpbGFibGUgZm9yOiB7YWNjb3VudHN9LiBTZWxlY3Qgb25lIGFjY291bnQgYXQgdGhlIHRvcCB0byB2aWV3IHRoZW07IHRoZXNlIGFyZSBub3QgcmV0dXJucyBmb3IgdGhlIGZ1bGwgcG9ydGZvbGlvLiIsInBlcmYucGVyX2FjY291bnRfZGFpbHlfdGl0bGUiOiJEYWlseSByZXR1cm5zIGJ5IGFjY291bnQiLCJwZXJmLnBlcl9hY2NvdW50X2RhaWx5X25vdGUiOiJBY2NvdW50cyBhcmUgc2hvd24gc2VwYXJhdGVseTsgbWlzc2luZyBkYXRlcyBhcmUgbGVmdCBibGFuay4iLCJwZXJmLmNvbWJpbmVkX21ldHJpY3NfdW5hdmFpbGFibGUiOiJDb21iaW5lZCBtZXRyaWNzIGFyZSB1bmF2YWlsYWJsZTsgZGFpbHkgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBiZWxvdy4iLCJwZXJmLmhpc3Rvcnlfd2luZG93X3Nob3J0IjoiVGhpcyByYW5nZSBzdGFydHMge3JlcXVlc3RlZH0sIGJ1dCBzdG9yZWQgcmVjb3JkcyBiZWdpbiB7YXZhaWxhYmxlfSwgc28gbm8gdG90YWwgaXMgc2hvd24gZm9yIGl0LiIsInBlcmYubWl4ZWRfY3VycmVuY3lfdW5hdmFpbGFibGUiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMuIE5vIEZYIGNvbnZlcnNpb24gd2FzIGFwcGxpZWQsIHNvIGNvbWJpbmVkIG1ldHJpY3MgYXJlIHVuYXZhaWxhYmxlLiBOYXRpdmUgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBhbmQgY3VycmVuY3kgYmVsb3cuIiwicGVyZi5taXhlZF9jdXJyZW5jeV9uYXRpdmUiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMsIHNvIGNvbWJpbmVkIG1ldHJpY3MgYXJlIHVuYXZhaWxhYmxlLiBOYXRpdmUgcmV0dXJucyBhcmUgc2hvd24gYnkgYWNjb3VudCBhbmQgY3VycmVuY3kgYmVsb3cuIiwicGVyZi5taXhlZF9jdXJyZW5jeV9hc3NldF9jaGFuZ2UiOiJUaGlzIHNjb3BlIGNvbnRhaW5zIG11bHRpcGxlIGN1cnJlbmNpZXMsIHNvIGEgY29tYmluZWQgcmV0dXJuIGlzIHVuYXZhaWxhYmxlLiBBc3NldCBjaGFuZ2UgKGluY2x1ZGluZyBjYXNoLWZsb3cgZWZmZWN0cykgaXMgc2hvd24gYnkgY3VycmVuY3k7IGl0IGlzIG5vdCBhIHRpbWUtd2VpZ2h0ZWQgcmV0dXJuLiIsInJlYXNvbi5pbnZhbGlkX3ZhbHVhdGlvbl9kYXRlIjoiVGhlIHZhbHVhdGlvbiBkYXRlIGlzIGludmFsaWQ7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pbnZhbGlkX2JhbGFuY2UiOiJUaGUgYmFsYW5jZSBpcyB1bmNvbmZpcm1lZDsgZXhjbHVkZWQgZnJvbSB0aGUgdG90YWwuIiwicmVhc29uLmR1cGxpY2F0ZV9jdXJyZW5jeSI6IkR1cGxpY2F0ZSBiYWxhbmNlcyBmb3IgdGhpcyBjdXJyZW5jeTsgZXhjbHVkZWQgZnJvbSB0aGUgdG90YWwuIiwicmVhc29uLmlkZW50aXR5X21pc21hdGNoIjoiVGhlIGFjY291bnQgaWRlbnRpdHkgZG9lcyBub3QgbWF0Y2g7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pZGVudGl0eV9ub3RfYm91bmQiOiJUaGUgYWNjb3VudCBpZGVudGl0eSBpcyBub3QgYm91bmQ7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5hZ2dyZWdhdGlvbl9kdXBsaWNhdGUiOiJEdXBsaWNhdGVzIGFub3RoZXIgYWNjb3VudDsgbm90IGNvdW50ZWQgdHdpY2UuIiwicmVhc29uLmFnZ3JlZ2F0aW9uX2NvbmZsaWN0IjoiQWNjb3VudCBvd25lcnNoaXAgaXMgY29uZmxpY3Rpbmc7IGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5hY2NvdW50X2ZhY3RzX2Rpc2FibGVkIjoiRGF0YSByZWFkcyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgYWNjb3VudC4iLCJwZXJmLmhpc3RvcnlfaW5jb21wbGV0ZSI6IlNvbWUgaGlzdG9yeSBpcyB1bmF2YWlsYWJsZSIsInBlcmYuaGlzdG9yeV9zdGFsZSI6Ikhpc3RvcnkgbWF5IG5vdCBiZSB1cCB0byBkYXRlIiwicGVyZi5oaXN0b3J5X2NvdmVyYWdlX25vdGUiOiJTb21lIGFjY291bnRzIGxhY2sgaGlzdG9yeTsgdGhlIGN1cnZlIGluY2x1ZGVzIG9ubHkgYWNjb3VudHMgd2l0aCBkYXRhLiIsInBlcmYuaGlzdG9yeV9hZmZlY3RlZF9hY2NvdW50cyI6Ikhpc3RvcnkgaXMgaW5jb21wbGV0ZSBmb3Ige2NvdW50fSBhY2NvdW50cyIsInBlcmYuaGlzdG9yeV9jYXJyaWVkX2JhbGFuY2VzIjoiU29tZSBkYXRlcyBpbmNsdWRlIGVhcmxpZXIgYmFsYW5jZXM7IHRob3NlIGJhbGFuY2VzIHdlcmUgbm90IG9ic2VydmVkIG9uIHRob3NlIGRhdGVzLiIsInBlcmYuY3VycmVuY3lfZXhjbHVkZWRfYWNjb3VudHMiOiJDdXJyZW5jeSBvciBiYWxhbmNlIGlzIHVuY29uZmlybWVkIGZvciB7Y291bnR9IGFkZGl0aW9uYWwgYWNjb3VudHMuIiwicGVyZi5kcmF3ZG93bl90d3JfdGl0bGUiOiJNYXhpbXVtIFRXUiBkcmF3ZG93biIsInBlcmYubmF0aXZlX3RvdGFsc19ub3RlIjoiU2hvd24gYnkgY3VycmVuY3kgd2l0aG91dCBGWCBjb252ZXJzaW9uLiIsInBlcmYuY3VycmVuY3lfc3VidG90YWwiOiJ7Y3VycmVuY3l9IGFzc2V0IHN1YnRvdGFsIiwicGVyZi5jdXJyZW5jeV90b3RhbCI6IntjdXJyZW5jeX0gYXNzZXQgdG90YWwiLCJwZXJmLnBhcnRpYWxfYWNjb3VudHMiOiJOb3QgYWxsIGFjY291bnRzIiwicGVyZi5jdXJyZW5jeV9hY2NvdW50cyI6IlRvdGFsIGluY2x1ZGVzIHtjb3VudH0gYWNjb3VudHMiLCJwZXJmLmZyZXNobmVzc19jb3VudHMiOiJEYXRhIG1heSBiZSBvdXQgb2YgZGF0ZSBmb3Ige3N0YWxlfSBhY2NvdW50cyIsInBlcmYuZnJlc2huZXNzX3RocmVzaG9sZCI6IkVhY2ggYWNjb3VudCBpcyBjaGVja2VkIHNlcGFyYXRlbHk7IGRhdGEgb2xkZXIgdGhhbiB7aG91cnN9IGhvdXJzIGlzIG1hcmtlZCBhcyBwb3NzaWJseSBvdXQgb2YgZGF0ZS4iLCJwZXJmLmRhdGFfbWF5X2JlX3N0YWxlIjoiU29tZSBhY2NvdW50IGRhdGEgbWF5IGJlIG91dCBvZiBkYXRlIiwicGVyZi5hc19vZl9ub3RfcmVmcmVzaCI6IuKAnEFzIG9m4oCdIHNob3dzIHRoZSBhY2NvdW50IGRhdGEgdGltZSwgbm90IHRoZSBwYWdlIHJlZnJlc2ggdGltZS4iLCJwZXJmLmRhdGFfbm90ZXMiOiJEYXRhIG5vdGVzIiwicGVyZi5oaXN0b3J5X2RldGFpbHMiOiJWaWV3IGFjY291bnRzIiwicGVyZi5jYWxlbmRhcl9hc3NldF9iYWxhbmNlIjoiQXNzZXQgYmFsYW5jZSIsInJlYXNvbi5ub19jYXNoZmxvd19kYXRhIjoiQ29tcGxldGUgY2FzaC1mbG93IHJlY29yZHMgYXJlIG1pc3Npbmc7IFRXUiBhbmQgaXRzIGRyYXdkb3duIGNhbm5vdCBiZSBjYWxjdWxhdGVkLiIsInJlYXNvbi5pbnN1ZmZpY2llbnRfaGlzdG9yeSI6IkF0IGxlYXN0IHR3byB2YWxpZCB2YWx1YXRpb24gcmVjb3JkcyBhcmUgcmVxdWlyZWQuIiwicmVhc29uLm5vX3NuYXBzaG90IjoiTm8gdmFsdWF0aW9uIGlzIGF2YWlsYWJsZS4iLCJyZWFzb24uc25hcHNob3Rfc3RhbGUiOiJUaGlzIGFjY291bnQgc25hcHNob3QgZXhjZWVkcyB0aGUgZnJlc2huZXNzIHRocmVzaG9sZC4iLCJyZWFzb24udmFsdWF0aW9uX2RhdGVfbWlzbWF0Y2giOiJTb21lIGFjY291bnRzIGhhdmUgZGlmZmVyZW50IHZhbHVhdGlvbiBkYXRlcyBhbmQgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIHRvdGFsLiIsInJlYXNvbi5pbmNvbXBsZXRlX2FjY291bnRfY292ZXJhZ2UiOiJTb21lIGFjY291bnRzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHRvdGFsLiIsInBlcmYuYmVuY2htYXJrX3NwNTAwIjoiUyZQIDUwMCIsInBlcmYuYmVuY2htYXJrX25hc2RhcTEwMCI6Ik5hc2RhcS0xMDAiLCJwZXJmLmJlbmNobWFya19kb3ciOiJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIiwicGVyZi5iZW5jaG1hcmtfcnVzc2VsbDIwMDAiOiJSdXNzZWxsIDIwMDAiLCJwZXJmLmJlbmNobWFya191bmtub3duIjoiQmVuY2htYXJrIiwicGVyZm9ybWFuY2UuY3VycmVudF9ob2xkaW5nc191bnJlYWxpemVkIjoiQ3VycmVudCBob2xkaW5ncyDCtyB1bnJlYWxpemVkIFAvTCIsInBlcmYucmV0dXJuX2tpbmRfdHdyIjoiVGltZS13ZWlnaHRlZCByZXR1cm4gKFRXUikiLCJwZXJmLm5hdGl2ZV9kYWlseV90aXRsZSI6IkRhaWx5IHJldHVybnMiLCJwZXJmLm5hdGl2ZV9kYWlseV90YWciOiJEYWlseSIsInBlcmYubmF0aXZlX2RhaWx5X25vdGUiOiJTb21lIGRhdGVzIGFyZSBtaXNzaW5nLCBzbyB0aGUgcGVyaW9kIHJldHVybiBpcyB1bmF2YWlsYWJsZS4iLCJwZXJmLm1ldGhvZF9ib2R5X25hdGl2ZV9kYWlseSI6IkRhaWx5IHJldHVybnMgYXJlIHJlcG9ydGVkIGJ5IHRoZSBicm9rZXI7IG1pc3NpbmcgZGF0ZXMgYXJlIGxlZnQgYmxhbmsuIiwicGVyZi5tZXRob2RfZGlldHpfYXBwcm94IjoiTW9kaWZpZWQgRGlldHogKGFwcHJveGltYXRlKSIsInBlcmYubWV0aG9kX3Vua25vd24iOiJSZXR1cm4gbWV0aG9kIHVua25vd24iLCJwZXJmLmNhcmQucmV0dXJuX3ZhbHVlIjoiQ3VtdWxhdGl2ZSByZXR1cm4iLCJwZXJmLmRyYXdkb3duX3BsYWluX3RpdGxlIjoiTWF4aW11bSBkcmF3ZG93biIsInBlcmYubWV0aG9kX2JvZHlfdW5rbm93biI6IlRoZSByZXR1cm4gbWV0aG9kIGlzIHVuY29uZmlybWVkLiBWYWx1ZXMgYXJlIHNob3duIGFzIHByb3ZpZGVkLCBidXQgYXJlIG5vdCBjb25maXJtZWQgYXMgdGltZS13ZWlnaHRlZCByZXR1cm5zIChUV1IpOyB1bmtub3duIHJldHVybnMgYXJlIG5vdCB0cmVhdGVkIGFzIHplcm8uIiwicGVyZi5tZXRob2RfYm9keV9kaWV0eiI6IldoZW4gY2FzaCBmbG93cyBleGlzdCBidXQgZXhhY3QgZGFpbHkgd2VpZ2h0aW5nIGlzIHVuYXZhaWxhYmxlLCBNb2RpZmllZCBEaWV0eiBpcyB1c2VkIGFuZCBsYWJlbGVkIGFzIGFwcHJveGltYXRlLiBFYWNoIHJhbmdlIHN0YXJ0cyBhdCB6ZXJvLCBhbmQgY2FzaCBmbG93cyBhcmUgZXhjbHVkZWQgZnJvbSByZXR1cm5zLiBJZiByZWNvcmRzIGFyZSBpbmNvbXBsZXRlLCBvbmx5IGFzc2V0IGJhbGFuY2UgaXMgc2hvd24gaW5zdGVhZCBvZiBUV1IuIiwicGVyZi5tZXRob2RfYm9keV9hc3NldF9jaGFuZ2UiOiJDb21wbGV0ZSBjYXNoLWZsb3cgcmVjb3JkcyBhcmUgbWlzc2luZywgc28gVFdSIGlzIHVuYXZhaWxhYmxlLiBUaGUgY2hhcnQgc2hvd3MgYXNzZXQgY2hhbmdlICglKSwgaW5jbHVkaW5nIHRoZSBlZmZlY3Qgb2YgY2FzaCBmbG93czsgaXQgaXMgbm90IGEgdGltZS13ZWlnaHRlZCByZXR1cm4gYW5kIGlzIG5vdCBjb21wYXJlZCB3aXRoIGJlbmNobWFya3MuIiwicGVyZi5yZXR1cm5zX3RpdGxlX3BsYWluIjoiUmV0dXJucyIsInBlcmYuYXNzZXRfYmFsYW5jZV90aXRsZSI6IkFzc2V0IGJhbGFuY2UiLCJwZXJmLm1pc3NpbmdfY2FzaGZsb3dfcmVjb3JkcyI6IkNhc2gtZmxvdyByZWNvcmRzIGFyZSBtaXNzaW5nOyByZXR1cm5zIGNhbm5vdCBiZSBjYWxjdWxhdGVkIHlldC4iLCJwZXJmLmFzc2V0X2NoYW5nZV90aXRsZSI6IkFzc2V0IGNoYW5nZSIsInBlcmYuYXNzZXRfY2hhbmdlX3RhZyI6IkFzc2V0IGNoYW5nZSDCtyBpbmNsdWRlcyBjYXNoIGZsb3dzIiwicGVyZi5hc3NldF9jaGFuZ2VfY2FsZW5kYXJfdGFnIjoiSW5jbHVkZXMgY2FzaCBmbG93cyIsInBlcmYuYXNzZXRfY2hhbmdlX25vdGUiOiJSZXR1cm5zIGFyZSB1bmF2YWlsYWJsZTsgdGhlIGNoYXJ0IHNob3dzIGFzc2V0IGNoYW5nZSAoJSksIGluY2x1ZGluZyB0aGUgZWZmZWN0IG9mIGNhc2ggZmxvd3MuIEl0IGlzIG5vdCBhIHRpbWUtd2VpZ2h0ZWQgcmV0dXJuIGFuZCBpcyBub3QgY29tcGFyZWQgd2l0aCBiZW5jaG1hcmtzLiIsInBlcmYuY2FsZW5kYXJfZmFsbGJhY2tfbm90ZSI6IlNvbWUgYWNjb3VudHMgYXJlIG1pc3Npbmcgc25hcHNob3RzIG9uIHRoZXNlIGRhdGVzLiBUaGlzIGNhbGVuZGFyIHNob3dzIGFzc2V0IGNoYW5nZSBmcm9tIHRoZSBhdmFpbGFibGUgYWNjb3VudHMsIGluY2x1ZGluZyBjYXNoLWZsb3cgZWZmZWN0czsgaXQgaXMgbm90IGEgcmV0dXJuLiIsInBlcmYucG9ydGZvbGlvX3NlcmllcyI6IlBvcnRmb2xpbyIsInBlcmYuY3VycmVuY3lfc3dpdGNoIjoiQ3VycmVuY3kiLCJwZXJmLmNyeXB0b19iZW5jaG1hcmtfbm90ZSI6IkNyeXB0byBhY2NvdW50cyB0cmFkZSAyNC83IGFuZCBhcmUgbm90IGNvbXBhcmVkIHdpdGggVVMgZXF1aXR5IGluZGljZXM7IEJUQyBiZW5jaG1hcmsgZGF0YSBpcyBub3QgYXZhaWxhYmxlIHlldC4iLCJwZXJmLm1peGVkX2JlbmNobWFya19ub3RlIjoiVGhpcyBzY29wZSBtaXhlcyBjcnlwdG8gYW5kIFVTIGVxdWl0eSBhY2NvdW50cywgc28gbm8gc2luZ2xlIG1hcmtldCBpbmRleCBhcHBsaWVzLiBPcGVuIG9uZSBhY2NvdW50IHRvIGNvbXBhcmUgYmVuY2htYXJrcy4iLCJwZXJmLmN1cnJlbmN5X2JlbmNobWFya19ub3RlIjoiQWNjb3VudHMgaW4gdGhpcyBjdXJyZW5jeSBhcmUgbm90IGNvbXBhcmVkIHdpdGggVVMgZXF1aXR5IGluZGljZXMuIiwicGVyZi5ub19jb21tb25fZGF0ZV9ub3RlIjoiVGhlIGFjY291bnQgYW5kIGJlbmNobWFya3Mgc2hhcmUgbm8gY29tbW9uIGRhdGUsIHNvIGJlbmNobWFya3MgYXJlIG5vdCBvdmVybGFpZC4iLCJwZXJmLmJlbmNobWFya19ub3RfYXBwbGljYWJsZSI6Ik5vIGJlbmNobWFyayBmb3IgdGhpcyBzY29wZSIsInBlcmYuaG9sZGluZ3NfY292ZXJhZ2VfYWNjb3VudHMiOiJDb3ZlcmVkIGFjY291bnRzOiB7dmFsdWV9IiwicGVyZi5yYW5raW5nX25vdGUiOiJSYW5rZWQgYnkgdW5yZWFsaXplZCBQL0wgYW1vdW50OyBwZXJjZW50YWdlcyB1c2UgYXZlcmFnZSBjb3N0LiBIb2xkaW5ncyB3aXRob3V0IGFuIGF2ZXJhZ2UgY29zdCBhcmUgbm90IHJhbmtlZC4iLCJwZXJmLnJhbmtpbmdfd2lubmVycyI6IlRvcCBnYWluZXJzIiwicGVyZi5yYW5raW5nX2xvc2VycyI6IlRvcCBsb3NlcnMiLCJwZXJmLmJlbmNobWFya3NfdW5hdmFpbGFibGUiOiJ7Y291bnR9IGJlbmNobWFyayhzKSB1bmF2YWlsYWJsZSIsInBlcmYuY29sLnNpZGUiOiJTaWRlIiwicGVyZi5jb2wucHJpY2UiOiJQcmljZSIsInBlcmYuY29sLmNvbW1pc3Npb24iOiJDb21taXNzaW9uIiwicGVyZi5jb2wudGF4ZXMiOiJUYXhlcyIsInBlcmYuc2lkZS5idXkiOiJCdXkiLCJwZXJmLnNpZGUuc2VsbCI6IlNlbGwiLCJwZXJmLmV4ZWN1dGlvbnNfY291bnQiOiJ7Y291bnR9IG9ic2VydmVkIGV4ZWN1dGlvbnMiLCJwZXJmLmV4ZWN1dGlvbnNfcGFydGlhbF9zaG9ydCI6IlBhcnRpYWwgcmVjb3JkcyIsInBlcmYuZXhlY3V0aW9uc19wYXJ0aWFsIjoiT25seSBvYnNlcnZlZCBleGVjdXRpb25zIGFyZSBsaXN0ZWQ7IGNvdmVyYWdlIGlzIHVudmVyaWZpZWQgYW5kIHRoaXMgaXMgbm90IGEgY29tcGxldGUgaGlzdG9yeS4iLCJwZXJmLmV4ZWN1dGlvbnNfZW1wdHlfcGFydGlhbCI6IlBhcnRpYWwgcmVjb3Jkczsgbm8gZXhlY3V0aW9ucyB0byBzaG93IGluIHRoaXMgcmFuZ2UuIn0sa209eyJyZWNvbmNpbGlhdGlvbi50aXRsZSI6IuWOhuWPsuWvuei0puS/oeaBryIsInJlY29uY2lsaWF0aW9uLmN1cnJlbnQiOiLlvZPliY3lr7notKbnirbmgIEiLCJyZWNvbmNpbGlhdGlvbi5ub3RfY29ubmVjdGVkIjoi5pyq5o6l5YWlIC8g5pyq55+lIiwicmVjb25jaWxpYXRpb24uaGlzdG9yeV9ub3RpY2UiOiLljoblj7LmgaLlpI3mlrnmoYjkuI3ku6PooajlvZPliY3lr7notKbnirbmgIHjgIIiLCJyZWNvbmNpbGlhdGlvbi5tYXRlcmlhbHMiOiLmgaLlpI3mlrnmoYjor6bmg4UiLCJyZWNvbmNpbGlhdGlvbi5zdGFsZSI6IuaVsOaNruWPr+iDveS4jeaYr+acgOaWsCIsInJlY29uY2lsaWF0aW9uLnJlYWRfdW5rbm93biI6IuaBouWkjeaWueahiOaIluWkhOeQhueKtuaAgeaaguacquehruiupCIsInJlY29uY2lsaWF0aW9uLmVtcHR5Ijoi5pqC5peg5oGi5aSN6K6w5b2V44CCIiwicmVjb25jaWxpYXRpb24udW5uYW1lZF9zdHJhdGVneSI6IuacquWRveWQjeetlueVpSIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3N0YXR1cyI6IuWkhOeQhueKtuaAgSIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iOiLlpITnkIbnirbmgIHmnKrnn6UiLCJyZWNvbmNpbGlhdGlvbi5mcmVzaG5lc3MiOiLmlbDmja7ml7bmlYgiLCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCI6IuaVsOaNruaXtumXtCIsInJlY29uY2lsaWF0aW9uLmdlbmVyYXRlZF9hdCI6IuaWueahiOeUn+aIkOaXtumXtCIsInJlY29uY2lsaWF0aW9uLmNvbXB1dGVkX2F0Ijoi6K6h566X5pe26Ze0IiwiaW5ib3guY291bnRfdW5rbm93biI6IuW+heWKnuS4juWuoeaJueaVsOmHj+aaguaXtuaXoOazleehruiupOOAgiIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC50aXRsZSI6IuW+heWKnuaaguaXtuaXoOazleivu+WPliIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC5kZXRhaWwiOiLku4rml6Xor7vlj5bmrKHmlbDlt7Lovr7kuIrpmZDvvIzlrozmlbTlvoXlip7mmoLml7bkuI3lj6/nlKjjgIIiLCJpbmJveC5lcnJvci51bmF1dGhvcml6ZWQudGl0bGUiOiLlvoXlip7orr/pl67lj5fpmZAiLCJpbmJveC5lcnJvci51bmF1dGhvcml6ZWQuZGV0YWlsIjoi55m75b2V5bey5aSx5pWI5oiW5b2T5YmN6LSm5oi35rKh5pyJ6K+75Y+W5p2D6ZmQ44CCIiwiaW5ib3guZXJyb3IuaW5kZXhfbWlzc2luZy50aXRsZSI6IuW+heWKnuWIl+ihqOWwmuacquW7uueriyIsImluYm94LmVycm9yLmluZGV4X21pc3NpbmcuZGV0YWlsIjoi5a6M5pW05YiX6KGo5bCa5pyq5YeG5aSH5aW977yM5peg5rOV56Gu6K6k5b6F5Yqe5LiO5a6h5om55pWw6YeP44CCIiwiaW5ib3guZXJyb3IuaW5kZXhfaW5jb21wbGV0ZS50aXRsZSI6IuW+heWKnuWIl+ihqOWwmuacquabtOaWsOWujOaIkCIsImluYm94LmVycm9yLmluZGV4X2luY29tcGxldGUuZGV0YWlsIjoi6YOo5YiG5pen6K6w5b2V5bCa5pyq57qz5YWl5YiX6KGo77yM5pqC5pe25peg5rOV56Gu6K6k5YWo6YOo5b6F5Yqe5LiO5a6h5om544CCIiwiaW5ib3guZXJyb3IuaW5kZXhfdW5hdmFpbGFibGUudGl0bGUiOiLlvoXlip7mmoLml7bml6Dms5Xor7vlj5YiLCJpbmJveC5lcnJvci5pbmRleF91bmF2YWlsYWJsZS5kZXRhaWwiOiLnjrDmnInliJfooajml6Dms5XlrozmlbTor7vlj5bvvIzor7fnqI3lkI7ph43or5XvvJvoi6XmjIHnu63lpLHotKXvvIzor7fogZTns7vnrqHnkIblkZjjgIIiLCJpbmJveC5lcnJvci51bmtub3duLnRpdGxlIjoi5b6F5Yqe5pqC5pe25peg5rOV6K+75Y+WIiwiaW5ib3guZXJyb3IudW5rbm93bi5kZXRhaWwiOiLljp/lm6DlsJrmnKrnoa7orqTvvIzor7fnqI3lkI7ph43or5XvvJvoi6XmjIHnu63lpLHotKXvvIzor7fogZTns7vnrqHnkIblkZjjgIIiLCJpbmJveC5yZXRyeV9hdCI6IuacgOaXqemHjeivleaXtumXtO+8mnt2YWx1ZX3vvIzkuI3kv53or4HlsYrml7bmgaLlpI3jgIIiLCJpbmJveC5hdXRoX2hpbnQiOiLor7fkvb/nlKjlt7LmnInor7vlj5bmnYPpmZDnmoTotKbmiLfph43mlrDnmbvlvZXjgIIiLCJpbmJveC5yZXRyeV9oaW50Ijoi56iN5ZCO5Y+v6YeN5paw6K+75Y+W77yb5LiA5YiG6ZKf5YaF5Y+v6IO95LuN5pi+56S65LiK5qyh5aSx6LSl57uT5p6c44CCIiwiaW5ib3gucmV0cnkiOiLph43mlrDor7vlj5blvoXlip4iLCJzdGF0ZS5mcmVzaCI6IuacgOaWsCIsInN0YXRlLnVua25vd24iOiLmnKrnn6UiLCJkZWNpc2lvbnMucGFydGlhbF9ub3RpY2UiOiLpg6jliIbmnaXmupDkuI3lj6/nlKjmiJbkuI3mmK/mnIDmlrDvvIzlr7nlupTnsbvliKvnmoTlvoXlip7lj6/og73kuI3lrozmlbTjgIIiLCJkZWNpc2lvbnMucGFydGlhbF9hZmZlY3RlZCI6IuWPl+W9seWTjeadpea6kCIsImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnN0YWxlIjoi5pWw5o2u5YGP5pen77yM6K+l57G75Yir55qE5b6F5Yqe5Y+v6IO95LiN5a6M5pW044CCIiwiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2UudW5hdmFpbGFibGUiOiLmmoLkuI3lj6/nlKjvvIzor6XnsbvliKvnmoTlvoXlip7ml6Dms5Xnoa7orqTjgIIiLCJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS5yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pe+8jOivpeexu+WIq+eahOW+heWKnuaXoOazleehruiupOOAgiIsImRlY2lzaW9ucy51bmtub3duX3NvdXJjZSI6IuWFtuS7luadpea6kCIsImRlY2lzaW9ucy5tYXRlcmlhbF9mcmVzaG5lc3MiOiLmlbDmja7ml7bmlYjvvJp7dmFsdWV9IiwiZGVjaXNpb25zLnN0YWxlX2hpbnQiOiLmlbDmja7lj6/og73kuI3mmK/mnIDmlrAiLCJkZWNpc2lvbnMuc3RhbGVfdmlzaWJsZV9oaW50Ijoi5Yib5bu66L6D5pep77yM6K+356Gu6K6k5piv5ZCm5LuN5pyJ5pWIIiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9yZXF1aXJlZCI6IumcgOWunuebmOehruiupCIsImRlY2lzaW9ucy5hZmZlY3RzX2xpdmVfbm9uZSI6IuS4jeW9seWTjeWunuebmCIsImRlY2lzaW9ucy5tb3JlX2luZm8iOiLmm7TlpJrkv6Hmga8iLCJkZWNpc2lvbnMubm90X3NldCI6Iuacquiuvue9riIsImRlY2lzaW9ucy5pbnRlbnRfcmVjb3JkZWQiOiLpgInmi6nlt7LorrDlvZXjgIIiLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCI6IuWGheWuueW3suabtOaWsO+8jOivt+mHjeaWsOafpeeci+WQjuWGjeehruiupOOAgiIsImRlY2lzaW9ucy5pbnRlbnRfbm90X3BlbmRpbmciOiLor6Xkuovpobnlt7LkuI3lnKjlvoXlpITnkIbnirbmgIHjgIIiLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIjoi5pqC5pe25peg5rOV56Gu6K6k5pyA5paw5YaF5a6577yM5peg5rOV5o+Q5Lqk77yb6K+35Yi35paw5ZCO6YeN6K+V44CCIiwiZGVjaXNpb25zLnJlY29uY2lsaWF0aW9uX3JlY292ZXJ5Ijoi5a+56LSm5oGi5aSN56Gu6K6kIiwiZGVjaXNpb25zLnN0cmF0ZWd5X3Byb21vdGlvbiI6IuetlueVpeaZi+e6p+aWueahiCIsImRlY2lzaW9ucy5vd25lcl9kZWNpc2lvbiI6Iui0n+i0o+S6uuWGs+WumiIsImRlY2lzaW9ucy5wYXBlcl9hY2NvdW50X2FwcGxpY2F0aW9uIjoi5qih5ouf6LSm5oi35bqU55SoIiwiZGVjaXNpb25zLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiOiLlh63or4Hnu7TmiqQiLCJkZWNpc2lvbnMuc3RyYXRlZ3kiOiLnrZbnlaUiLCJkZWNpc2lvbnMudmVyc2lvbiI6IueJiOacrCIsImRlY2lzaW9ucy5wYXJhbWV0ZXJzIjoi5Y+C5pWwIiwiZGVjaXNpb25zLnNoYWRvd19wYXNzZWQiOiLmqKHmi5/ov5DooYzlt7LpgJrov4ciLCJkZWNpc2lvbnMuc2hhZG93Ijoi5qih5ouf6L+Q6KGM5oyH5qCHIiwiZGVjaXNpb25zLnByb21wdC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuaYr+WQpumHh+eUqOi/meS7veaBouWkjeaWueahiO+8n+aPkOS6pOWQjuS4jeS8muebtOaOpeWQr+eUqOi0puaIt+OAgiIsImRlY2lzaW9ucy5wcm9tcHQuc3RyYXRlZ3lfcHJvbW90aW9uIjoi5piv5ZCm6YeH55So6L+Z6aG5562W55Wl5pmL57qn5pa55qGI77yfIiwiZGVjaXNpb25zLnByb21wdC5vd25lcl9kZWNpc2lvbiI6IuaYr+WQpumHh+eUqOi/meS4quetlueVpeWAmemAie+8nyIsImRlY2lzaW9ucy5wcm9tcHQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IuaYr+WQpuWwhui/meS4quaWueahiOW6lOeUqOWIsOaooeaLn+i0puaIt++8nyIsImRlY2lzaW9ucy5wcm9tcHQuY3JlZGVudGlhbF9tYWludGVuYW5jZSI6IuWHreivgemcgOimgee7tOaKpO+8jOivt+WcqOi/kOihjOeKtuaAgemhteWkhOeQhuOAgiIsImRlY2lzaW9ucy5pbml0aWFsX2Vucm9sbG1lbnRfdGl0bGUiOiLpppbmrKHmjqXlhaXnoa7orqQiLCJkZWNpc2lvbnMucHJvbXB0LmluaXRpYWxfZW5yb2xsbWVudCI6IuaYr+WQpuehruiupOi/meS7vemmluasoeaOpeWFpeS6i+Wunu+8n+ehruiupOWPquiusOW9leS6uuW3peaEj+Wbvu+8jOS4jeS8muiHquWKqOWQr+eUqOi0puaIt+OAgiIsImRlY2lzaW9ucy5zZWxlY3RfcHJvbXB0Ijoi5LuO5bem5L6n6YCJ5oup5LiA5p2h5LqL6aG55p+l55yL6K+m5oOF44CCIiwiZGVjaXNpb25zLnNlbGVjdF9hY2NvdW50Ijoi55uu5qCH6LSm5oi3IiwiZGVjaXNpb25zLm5vX2FjY291bnRfb3B0aW9ucyI6IuaaguaXoOWPr+eUqOeahOaooeaLn+i0puaIt+mAiemhue+8jOaXoOazleaPkOS6pOW6lOeUqOOAgiIsImRlY2lzaW9ucy5hcHBseV9ub3RlIjoi5Y+q5o+Q5Lqk5qih5ouf6LSm5oi35bqU55So6K+35rGC77yM5LiN5Lya6Ieq5Yqo5ZCv55So562W55Wl5oiW5LiL5Y2V44CCIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3N1Ym1pdHRlZCI6Iuivt+axguW3suaPkOS6pO+8jOe7k+aenOW+heehruiupO+8jOivt+WLv+mHjeWkjeaPkOS6pOOAgiIsImRlY2lzaW9ucy5hcHBsaWNhdGlvbl91bmNlcnRhaW4iOiLmraTliY3nmoTor7fmsYLnu5PmnpzlvoXnoa7orqTvvIzor7fli7/ph43lpI3mj5DkuqTjgIIiLCJkZWNpc2lvbnMub3Blbl9oZWFsdGgiOiLliY3lvoDov5DooYznirbmgIEiLCJkZWNpc2lvbnMuc3VibWl0dGluZyI6Iuato+WcqOaPkOS6pOKApiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X2xhYmVsIjoi56Gu6K6k6YeH55SoIiwiZGVjaXNpb25zLmNvbmZpcm1fZGVjbGluZV9sYWJlbCI6IuehruiupOS4jemHh+eUqCIsImRlY2lzaW9ucy5mcmVzaG5lc3MucmVhZHkiOiLlsLHnu6oiLCJkZWNpc2lvbnMuc291cmNlLm93bmVyIjoi6LSf6LSj5Lq65Yaz5a6aIiwiZGVjaXNpb25zLnNvdXJjZS5wcm9tb3Rpb24iOiLnrZbnlaXmmYvnuqciLCJkZWNpc2lvbnMuc291cmNlLnJlY292ZXJ5Ijoi5a+56LSm5oGi5aSNIiwiZGVjaXNpb25zLnNvdXJjZS5jcmVkZW50aWFsIjoi5Yet6K+BIiwiZGVjaXNpb25zLnRlY2huaWNhbF9kZXRhaWxzIjoi5Y+C5pWw6K+m5oOFIiwiZGVjaXNpb25zLmFjY291bnRfdW5ib3VuZCI6Iuacque7keWumui0puaItyIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCI6IuivpeaZi+e6p+aWueahiOWwmuacque7keWumumjjumZqeaho+S9jeS4juetlueVpeeJiOacrO+8jOaaguaXtuS4jeiDveaPkOS6pOOAgiIsImRlY2lzaW9ucy5vdXRjb21lX3Vua25vd24iOiLor7fmsYLnu5Pmnpzml6Dms5Xnoa7orqTvvJvkuLrpgb/lhY3ph43lpI3mj5DkuqTvvIzor7flhYjliLfmlrDlubbnoa7orqTlvZPliY3nirbmgIHjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQudGl0bGUiOiLpppbmrKHmjqXlhaXkuovlrp4iLCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiOiLmnaXmupDml7bpl7QiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3RhdHVzLmNvbXBsZXRlIjoi5a6M5pW0IiwiaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy5wYXJ0aWFsIjoi6YOo5YiGIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN0YXR1cy51bmtub3duIjoi5pyq55+lIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucG9zaXRpb25zIjoi5oyB5LuTIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UuY2FzaCI6IueOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLm9wZW5fb3JkZXJzIjoi5pyq5oiQ5Lqk5aeU5omYIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucmVjZW50X2V4ZWN1dGlvbnMiOiLov5HmnJ/miJDkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS5sb2NhbF9leGVjdXRpb25fbGVkZ2VyIjoi5pys5Zyw5omn6KGM6LSm5pysIiwiaW5pdGlhbF9lbnJvbGxtZW50Lmtub3duX2VtcHR5Ijoi5bey56Gu6K6k5peg6K6w5b2VIiwiaW5pdGlhbF9lbnJvbGxtZW50LnBhcnRpYWxfdW5hdmFpbGFibGUiOiLpg6jliIbmiJbmmoLkuI3lj6/nlKgiLCJpbml0aWFsX2Vucm9sbG1lbnQucGFydGlhbF9ub3RpY2UiOiLku4XmmL7npLrlt7Lov5Tlm57nmoTpg6jliIborrDlvZXvvIzkuI3ku6PooajlrozmlbTojIPlm7TjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGUiOiLojIPlm7TpmZDlrpoiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfdW5hdmFpbGFibGUiOiLojIPlm7Tkv6Hmga/mmoLkuI3lj6/nlKjvvJvku6XkuIvovrnnlYzkv53mjIHmnKrnn6XjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQua2luZCI6IuiMg+WbtOexu+WeiyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5jdXJyZW5jeSI6IuW4geenjSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC53aW5kb3dfc3RhcnQiOiLnqpflj6PlvIDlp4siLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQud2luZG93X2VuZCI6Iueql+WPo+e7k+adnyIsImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiLku4XlvZPliY3liLjllYbkuqTmmJPml6UiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQubGltaXRfcGVyX25hbWVzcGFjZSI6Iuavj+exu+iusOW9leS4iumZkCIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5nYXRld2F5X2F2YWlsYWJpbGl0eSI6Iue9keWFs+WPr+eUqOaApyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC50cnVuY2F0ZWQiOiLnu5PmnpzmmK/lkKbmiKrmlq0iLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5hY2NvdW50X3N0cmF0ZWd5X3Bvc2l0aW9ucyI6Iui0puaIt+S4juetlueVpeaMgeS7kyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLnJldHVybmVkX2FjY291bnRfY2FzaCI6Iui0puaIt+i/lOWbnueahOeOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmFsbF9jbGllbnRfb3Blbl9vcmRlcnMiOiLlhajpg6jlrqLmiLfnq6/mnKrmiJDkuqTlp5TmiZgiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5icm9rZXJfcmVxdWVzdGVkX3dpbmRvdyI6IuWIuOWVhuivt+axgueahOaXtumXtOeql+WPoyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmJvdW5kZWRfbGl2ZV9jbGFpbXNfYW5kX291dGNvbWVzIjoi5pyJ55WM5a6e55uY5aOw5piO5LiO57uT5p6cIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiLmmK8iLCJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiOiLlkKYiLCJpbml0aWFsX2Vucm9sbG1lbnQuYmxvY2tlZCI6IummluasoeaOpeWFpei1hOaWmeWwmuS4jeWujOaVtO+8jOaaguS4jeiDveehruiupOOAgiIsImluaXRpYWxfZW5yb2xsbWVudC5ub3RpY2UiOiLpppbmrKHmjqXlhaXkuI3mnoTmiJDljoblj7Llr7notKbvvIzkuZ/kuI3kvJroh6rliqjlkK/nlKjotKbmiLfjgIHnrZbnlaXmiJbkuqTmmJPjgIIiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zeW1ib2wiOiLku6PnoIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC51bmRlcmxpZXIiOiLmoIfnmoQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5sb2NhbF9zeW1ib2wiOiLmnKzlnLDku6PnoIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leHBpcmF0aW9uIjoi5Yiw5pyf5pelIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucmlnaHQiOiLmnJ/mnYPmlrnlkJEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zdHJpa2UiOiLooYzmnYPku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5xdWFudGl0eSI6IuaVsOmHjyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF2ZXJhZ2VfY29zdCI6IuW5s+Wdh+aIkOacrCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmN1cnJlbmN5Ijoi5biB56eNIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QudGFncyI6IumHkemineagh+etviIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmNvbnRyYWN0Ijoi5ZCI57qmIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuY29uX2lkIjoi5ZCI57qm5qCH6K+GIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc2VjX3R5cGUiOiLor4HliLjnsbvlnosiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5wZXJtX2lkIjoi5rC45LmF5aeU5omY5qCH6K+GIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuYWN0aW9uIjoi5Lmw5Y2W5pa55ZCRIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3JkZXJfdHlwZSI6IuWnlOaJmOexu+WeiyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnRvdGFsX3F1YW50aXR5Ijoi5aeU5omY5oC76YePIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QubGltaXRfcHJpY2UiOiLpmZDku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5hdXhfcHJpY2UiOiLpmYTliqDku7fmoLwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zdGF0dXMiOiLnirbmgIEiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5maWxsZWQiOiLlt7LmiJDkuqTmlbDph48iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZW1haW5pbmciOiLliankvZnmlbDph48iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leGVjdXRpb25faWQiOiLmiJDkuqTmoIfor4YiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5vcmRlcl9pZCI6IuWnlOaJmOagh+ivhiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnRpbWUiOiLmiJDkuqTml7bpl7QiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zaWRlIjoi5pa55ZCRIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc2hhcmVzIjoi6IKh5pWwIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucHJpY2UiOiLku7fmoLwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZWNvcmRfY291bnQiOiLorrDlvZXmlbAiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5DYXNoQmFsYW5jZSI6IueOsOmHkeS9meminSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LlRvdGFsQ2FzaEJhbGFuY2UiOiLnjrDph5HmgLvpop0iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5TZXR0bGVkQ2FzaCI6IuW3sue7k+eul+eOsOmHkSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiRMRURHRVItQ2FzaEJhbGFuY2UiOiLotKbmnKznjrDph5HkvZnpop0iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC4kTEVER0VSLVRvdGFsQ2FzaEJhbGFuY2UiOiLotKbmnKznjrDph5HmgLvpop0iLCJkZWNpc2lvbnMudW5rbm93bl90aXRsZSI6IuWFtuS7luS6i+mhuSIsImRlY2lzaW9ucy5hY3Rpb24udW5rbm93biI6IuacquefpeaTjeS9nCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIjoi5YW25LuW5a2X5q61IiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnVua25vd24iOiLmnKrnn6UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5hY3Rpb24uQlVZIjoi5Lmw5YWlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uYWN0aW9uLlNFTEwiOiLljZblh7oiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zaWRlLkJVWSI6IuS5sOWFpSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnNpZGUuU0VMTCI6IuWNluWHuiIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5TdWJtaXR0ZWQiOiLlt7Lmj5DkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuRmlsbGVkIjoi5bey5oiQ5LqkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLkNhbmNlbGxlZCI6IuW3suWPlua2iCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5BcGlDYW5jZWxsZWQiOiLlt7Llj5bmtogiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ1N1Ym1pdCI6IuaPkOS6pOS4rSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5QcmVTdWJtaXR0ZWQiOiLpooTmj5DkuqQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ0NhbmNlbCI6IuWPlua2iOS4rSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5JbmFjdGl2ZSI6Iuacqua/gOa0uyIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLm9yZGVyX3R5cGUuTE1UIjoi6ZmQ5Lu3IiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ub3JkZXJfdHlwZS5NS1QiOiLluILku7ciLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5DQUxMIjoi55yL5raoIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ucmlnaHQuQyI6Iueci+a2qCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LlBVVCI6Iueci+i3jCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LlAiOiLnnIvot4wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5TVEsiOiLogqHnpagiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5PUFQiOiLmnJ/mnYMifSxTbT17InJlY29uY2lsaWF0aW9uLnRpdGxlIjoiUmVjb25jaWxpYXRpb24gaGlzdG9yeSIsInJlY29uY2lsaWF0aW9uLmN1cnJlbnQiOiJDdXJyZW50IHJlY29uY2lsaWF0aW9uIHN0YXR1cyIsInJlY29uY2lsaWF0aW9uLm5vdF9jb25uZWN0ZWQiOiJOb3QgY29ubmVjdGVkIC8gdW5rbm93biIsInJlY29uY2lsaWF0aW9uLmhpc3Rvcnlfbm90aWNlIjoiSGlzdG9yaWNhbCByZWNvdmVyeSBwbGFucyBkbyBub3QgY29uZmlybSB0aGUgY3VycmVudCByZWNvbmNpbGlhdGlvbiBzdGF0dXMuIiwicmVjb25jaWxpYXRpb24ubWF0ZXJpYWxzIjoiUmVjb3ZlcnkgcGxhbiBkZXRhaWxzIiwicmVjb25jaWxpYXRpb24uc3RhbGUiOiJEYXRhIG1heSBub3QgYmUgdXAgdG8gZGF0ZSIsInJlY29uY2lsaWF0aW9uLnJlYWRfdW5rbm93biI6IlJlY292ZXJ5IHBsYW4gb3IgcHJvY2Vzc2luZyBzdGF0dXMgaXMgdW5jb25maXJtZWQiLCJyZWNvbmNpbGlhdGlvbi5lbXB0eSI6Ik5vIHJlY292ZXJ5IHJlY29yZHMuIiwicmVjb25jaWxpYXRpb24udW5uYW1lZF9zdHJhdGVneSI6IlVubmFtZWQgc3RyYXRlZ3kiLCJyZWNvbmNpbGlhdGlvbi5kZWNpc2lvbl9zdGF0dXMiOiJQcm9jZXNzaW5nIHN0YXR1cyIsInJlY29uY2lsaWF0aW9uLmRlY2lzaW9uX3Vua25vd24iOiJQcm9jZXNzaW5nIHN0YXR1cyB1bmtub3duIiwicmVjb25jaWxpYXRpb24uZnJlc2huZXNzIjoiRGF0YSBmcmVzaG5lc3MiLCJyZWNvbmNpbGlhdGlvbi5vYnNlcnZlZF9hdCI6IkRhdGEgdGltZSIsInJlY29uY2lsaWF0aW9uLmdlbmVyYXRlZF9hdCI6IlBsYW4gZ2VuZXJhdGVkIGF0IiwicmVjb25jaWxpYXRpb24uY29tcHV0ZWRfYXQiOiJDYWxjdWxhdGVkIGF0IiwiaW5ib3guY291bnRfdW5rbm93biI6IlRvZG8gYW5kIGFwcHJvdmFsIGNvdW50cyBjYW5ub3QgYmUgY29uZmlybWVkIHJpZ2h0IG5vdy4iLCJpbmJveC5lcnJvci5xdW90YV9leGhhdXN0ZWQudGl0bGUiOiJUb2RvcyBjb3VsZCBub3QgYmUgcmVhZCIsImluYm94LmVycm9yLnF1b3RhX2V4aGF1c3RlZC5kZXRhaWwiOiJUaGUgZGFpbHkgcmVhZCBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLCBzbyB0aGUgY29tcGxldGUgaW5ib3ggaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuIiwiaW5ib3guZXJyb3IudW5hdXRob3JpemVkLnRpdGxlIjoiVG9kbyBhY2Nlc3MgcmVzdHJpY3RlZCIsImluYm94LmVycm9yLnVuYXV0aG9yaXplZC5kZXRhaWwiOiJZb3VyIHNlc3Npb24gaGFzIGV4cGlyZWQgb3IgdGhpcyBhY2NvdW50IGxhY2tzIHJlYWQgYWNjZXNzLiIsImluYm94LmVycm9yLmluZGV4X21pc3NpbmcudGl0bGUiOiJUb2RvIGxpc3Qgbm90IHJlYWR5IiwiaW5ib3guZXJyb3IuaW5kZXhfbWlzc2luZy5kZXRhaWwiOiJBIGNvbXBsZXRlIGxpc3QgaXMgbm90IHJlYWR5LCBzbyB0b2RvIGFuZCBhcHByb3ZhbCBjb3VudHMgYXJlIHVua25vd24uIiwiaW5ib3guZXJyb3IuaW5kZXhfaW5jb21wbGV0ZS50aXRsZSI6IlRvZG8gbGlzdCB1cGRhdGUgaW5jb21wbGV0ZSIsImluYm94LmVycm9yLmluZGV4X2luY29tcGxldGUuZGV0YWlsIjoiU29tZSBvbGRlciByZWNvcmRzIGFyZSBub3QgaW5jbHVkZWQgeWV0LCBzbyBjb21wbGV0ZSB0b2RvIGFuZCBhcHByb3ZhbCBjb3ZlcmFnZSBpcyB1bmtub3duLiIsImluYm94LmVycm9yLmluZGV4X3VuYXZhaWxhYmxlLnRpdGxlIjoiVG9kb3MgY291bGQgbm90IGJlIHJlYWQiLCJpbmJveC5lcnJvci5pbmRleF91bmF2YWlsYWJsZS5kZXRhaWwiOiJUaGUgZXhpc3RpbmcgbGlzdCBjb3VsZCBub3QgYmUgcmVhZCBjb21wbGV0ZWx5LiBUcnkgYWdhaW4gbGF0ZXI7IGNvbnRhY3QgYW4gYWRtaW5pc3RyYXRvciBpZiB0aGUgcHJvYmxlbSBwZXJzaXN0cy4iLCJpbmJveC5lcnJvci51bmtub3duLnRpdGxlIjoiVG9kb3MgY291bGQgbm90IGJlIHJlYWQiLCJpbmJveC5lcnJvci51bmtub3duLmRldGFpbCI6IlRoZSBjYXVzZSBpcyB1bmNvbmZpcm1lZC4gVHJ5IGFnYWluIGxhdGVyOyBjb250YWN0IGFuIGFkbWluaXN0cmF0b3IgaWYgdGhlIHByb2JsZW0gcGVyc2lzdHMuIiwiaW5ib3gucmV0cnlfYXQiOiJFYXJsaWVzdCByZXRyeToge3ZhbHVlfS4gUmVjb3ZlcnkgYnkgdGhlbiBpcyBub3QgZ3VhcmFudGVlZC4iLCJpbmJveC5hdXRoX2hpbnQiOiJTaWduIGluIGFnYWluIHdpdGggYW4gYWNjb3VudCB0aGF0IGFscmVhZHkgaGFzIHJlYWQgYWNjZXNzLiIsImluYm94LnJldHJ5X2hpbnQiOiJUcnkgYWdhaW4gbGF0ZXIuIFRoZSBwcmV2aW91cyBmYWlsdXJlIG1heSBzdGlsbCBhcHBlYXIgZm9yIHVwIHRvIG9uZSBtaW51dGUuIiwiaW5ib3gucmV0cnkiOiJSZWFkIHRvZG9zIGFnYWluIiwic3RhdGUuZnJlc2giOiJGcmVzaCIsInN0YXRlLnVua25vd24iOiJVbmtub3duIiwiZGVjaXNpb25zLnBhcnRpYWxfbm90aWNlIjoiU29tZSBzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZSBvciBvdXQgb2YgZGF0ZTsgdGhlIGFmZmVjdGVkIGNhdGVnb3JpZXMgbWF5IGJlIGluY29tcGxldGUuIiwiZGVjaXNpb25zLnBhcnRpYWxfYWZmZWN0ZWQiOiJBZmZlY3RlZCBzb3VyY2VzIiwiZGVjaXNpb25zLnBhcnRpYWxfY29uc2VxdWVuY2Uuc3RhbGUiOiJvdXQgb2YgZGF0ZTsgdGhpcyBjYXRlZ29yeSBtYXkgYmUgaW5jb21wbGV0ZS4iLCJkZWNpc2lvbnMucGFydGlhbF9jb25zZXF1ZW5jZS51bmF2YWlsYWJsZSI6InVuYXZhaWxhYmxlOyB0aGlzIGNhdGVnb3J5J3MgcGVuZGluZyBpdGVtcyBjYW5ub3QgYmUgY29uZmlybWVkLiIsImRlY2lzaW9ucy5wYXJ0aWFsX2NvbnNlcXVlbmNlLnJlYWRfZmFpbGVkIjoiZmFpbGVkIHRvIGxvYWQ7IHRoaXMgY2F0ZWdvcnkncyBwZW5kaW5nIGl0ZW1zIGNhbm5vdCBiZSBjb25maXJtZWQuIiwiZGVjaXNpb25zLnVua25vd25fc291cmNlIjoiT3RoZXIgc291cmNlIiwiZGVjaXNpb25zLm1hdGVyaWFsX2ZyZXNobmVzcyI6IkRhdGEgZnJlc2huZXNzOiB7dmFsdWV9IiwiZGVjaXNpb25zLnN0YWxlX2hpbnQiOiJEYXRhIG1heSBub3QgYmUgdXAgdG8gZGF0ZSIsImRlY2lzaW9ucy5zdGFsZV92aXNpYmxlX2hpbnQiOiJDcmVhdGVkIGVhcmxpZXI7IHZlcmlmeSB3aGV0aGVyIGl0IGlzIHN0aWxsIHJlbGV2YW50IiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9yZXF1aXJlZCI6IkxpdmUgY29uZmlybWF0aW9uIHJlcXVpcmVkIiwiZGVjaXNpb25zLmFmZmVjdHNfbGl2ZV9ub25lIjoiTm8gbGl2ZSBpbXBhY3QiLCJkZWNpc2lvbnMubW9yZV9pbmZvIjoiTW9yZSBpbmZvIiwiZGVjaXNpb25zLm5vdF9zZXQiOiJOb3Qgc2V0IiwiZGVjaXNpb25zLmludGVudF9yZWNvcmRlZCI6IkNob2ljZSByZWNvcmRlZC4iLCJkZWNpc2lvbnMubWF0ZXJpYWxfY2hhbmdlZCI6IlRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLiBSZXZpZXcgaXQgYWdhaW4gYmVmb3JlIGNvbmZpcm1pbmcuIiwiZGVjaXNpb25zLmludGVudF9ub3RfcGVuZGluZyI6IlRoaXMgaXRlbSBpcyBubyBsb25nZXIgcGVuZGluZy4iLCJkZWNpc2lvbnMuaW50ZW50X3VuYXZhaWxhYmxlIjoiVGhlIGxhdGVzdCBjb250ZW50IGNhbm5vdCBiZSBjb25maXJtZWQsIHNvIHRoaXMgY2Fubm90IGJlIHN1Ym1pdHRlZC4gUmVmcmVzaCBhbmQgdHJ5IGFnYWluLiIsImRlY2lzaW9ucy5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IlJlY29uY2lsaWF0aW9uIHJlY292ZXJ5IiwiZGVjaXNpb25zLnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImRlY2lzaW9ucy5vd25lcl9kZWNpc2lvbiI6Ik93bmVyIGRlY2lzaW9uIiwiZGVjaXNpb25zLnBhcGVyX2FjY291bnRfYXBwbGljYXRpb24iOiJQYXBlciBhY2NvdW50IGFwcGxpY2F0aW9uIiwiZGVjaXNpb25zLmNyZWRlbnRpYWxfbWFpbnRlbmFuY2UiOiJDcmVkZW50aWFsIG1haW50ZW5hbmNlIiwiZGVjaXNpb25zLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJkZWNpc2lvbnMudmVyc2lvbiI6IlZlcnNpb24iLCJkZWNpc2lvbnMucGFyYW1ldGVycyI6IlBhcmFtZXRlciIsImRlY2lzaW9ucy5zaGFkb3dfcGFzc2VkIjoiU2ltdWxhdGlvbiBjaGVjayBwYXNzZWQiLCJkZWNpc2lvbnMuc2hhZG93IjoiU2ltdWxhdGlvbiBtZXRyaWNzIiwiZGVjaXNpb25zLnByb21wdC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IkFkb3B0IHRoaXMgcmVjb3ZlcnkgcGxhbj8gU3VibWl0dGluZyB3aWxsIG5vdCBlbmFibGUgdGhlIGFjY291bnQgZGlyZWN0bHkuIiwiZGVjaXNpb25zLnByb21wdC5zdHJhdGVneV9wcm9tb3Rpb24iOiJBZG9wdCB0aGlzIHN0cmF0ZWd5IHByb21vdGlvbj8iLCJkZWNpc2lvbnMucHJvbXB0Lm93bmVyX2RlY2lzaW9uIjoiQWRvcHQgdGhpcyBzdHJhdGVneSBjYW5kaWRhdGU/IiwiZGVjaXNpb25zLnByb21wdC5wYXBlcl9hY2NvdW50X2FwcGxpY2F0aW9uIjoiQXBwbHkgdGhpcyBwcm9wb3NhbCB0byBhIHBhcGVyIGFjY291bnQ/IiwiZGVjaXNpb25zLnByb21wdC5jcmVkZW50aWFsX21haW50ZW5hbmNlIjoiVGhpcyBjcmVkZW50aWFsIG5lZWRzIG1haW50ZW5hbmNlOyBoYW5kbGUgaXQgb24gdGhlIEhlYWx0aCBwYWdlLiIsImRlY2lzaW9ucy5pbml0aWFsX2Vucm9sbG1lbnRfdGl0bGUiOiJJbml0aWFsIGVucm9sbG1lbnQiLCJkZWNpc2lvbnMucHJvbXB0LmluaXRpYWxfZW5yb2xsbWVudCI6IkNvbmZpcm0gdGhlc2UgZmlyc3QtZW5yb2xsbWVudCBmYWN0cz8gQ29uZmlybWluZyByZWNvcmRzIGh1bWFuIGludGVudCBvbmx5IGFuZCBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IGVuYWJsZSB0aGUgYWNjb3VudC4iLCJkZWNpc2lvbnMuc2VsZWN0X3Byb21wdCI6IlNlbGVjdCBhbiBpdGVtIG9uIHRoZSBsZWZ0IHRvIHNlZSBkZXRhaWxzLiIsImRlY2lzaW9ucy5zZWxlY3RfYWNjb3VudCI6IlRhcmdldCBhY2NvdW50IiwiZGVjaXNpb25zLm5vX2FjY291bnRfb3B0aW9ucyI6Ik5vIHBhcGVyIGFjY291bnQgb3B0aW9uIGlzIGF2YWlsYWJsZSwgc28gbm8gYXBwbGljYXRpb24gY2FuIGJlIHN1Ym1pdHRlZC4iLCJkZWNpc2lvbnMuYXBwbHlfbm90ZSI6IlRoaXMgb25seSBzdWJtaXRzIGEgcGFwZXIgYWNjb3VudCBhcHBsaWNhdGlvbiByZXF1ZXN0OyBpdCBkb2VzIG5vdCBlbmFibGUgdGhlIHN0cmF0ZWd5IG9yIHBsYWNlIG9yZGVycy4iLCJkZWNpc2lvbnMuYXBwbGljYXRpb25fc3VibWl0dGVkIjoiUmVxdWVzdCBzdWJtaXR0ZWQuIFRoZSByZXN1bHQgc3RpbGwgbmVlZHMgY29uZmlybWF0aW9uOyBkbyBub3QgcmVzdWJtaXQuIiwiZGVjaXNpb25zLmFwcGxpY2F0aW9uX3VuY2VydGFpbiI6IkFuIGVhcmxpZXIgcmVxdWVzdCBzdGlsbCBuZWVkcyBjb25maXJtYXRpb24uIERvIG5vdCByZXN1Ym1pdC4iLCJkZWNpc2lvbnMub3Blbl9oZWFsdGgiOiJPcGVuIEhlYWx0aCIsImRlY2lzaW9ucy5zdWJtaXR0aW5nIjoiU3VibWl0dGluZ+KApiIsImRlY2lzaW9ucy5jb25maXJtX2Fkb3B0X2xhYmVsIjoiQ29uZmlybSBhZG9wdCIsImRlY2lzaW9ucy5jb25maXJtX2RlY2xpbmVfbGFiZWwiOiJDb25maXJtIGRlY2xpbmUiLCJkZWNpc2lvbnMuZnJlc2huZXNzLnJlYWR5IjoiUmVhZHkiLCJkZWNpc2lvbnMuc291cmNlLm93bmVyIjoiT3duZXIgZGVjaXNpb25zIiwiZGVjaXNpb25zLnNvdXJjZS5wcm9tb3Rpb24iOiJTdHJhdGVneSBwcm9tb3Rpb25zIiwiZGVjaXNpb25zLnNvdXJjZS5yZWNvdmVyeSI6IlJlY29uY2lsaWF0aW9uIHJlY292ZXJ5IiwiZGVjaXNpb25zLnNvdXJjZS5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbHMiLCJkZWNpc2lvbnMudGVjaG5pY2FsX2RldGFpbHMiOiJQYXJhbWV0ZXIgZGV0YWlscyIsImRlY2lzaW9ucy5hY2NvdW50X3VuYm91bmQiOiJObyBsaW5rZWQgYWNjb3VudCIsImRlY2lzaW9ucy5wb2xpY3lfdW5ib3VuZCI6IlRoaXMgcHJvbW90aW9uIGhhcyBubyBib3VuZCByaXNrIHRpZXIgYW5kIHBvbGljeSByZXZpc2lvbiwgc28gaXQgY2Fubm90IGJlIHN1Ym1pdHRlZCB5ZXQuIiwiZGVjaXNpb25zLm91dGNvbWVfdW5rbm93biI6IlRoZSByZXF1ZXN0IG91dGNvbWUgY2Fubm90IGJlIGNvbmZpcm1lZC4gUmVmcmVzaCBhbmQgY29uZmlybSB0aGUgY3VycmVudCBzdGF0ZSBiZWZvcmUgdHJ5aW5nIGFnYWluLiIsImluaXRpYWxfZW5yb2xsbWVudC50aXRsZSI6IkZpcnN0IGVucm9sbG1lbnQgZmFjdHMiLCJpbml0aWFsX2Vucm9sbG1lbnQuc291cmNlX3RpbWUiOiJTb3VyY2UgdGltZSIsImluaXRpYWxfZW5yb2xsbWVudC5zdGF0dXMuY29tcGxldGUiOiJDb21wbGV0ZSIsImluaXRpYWxfZW5yb2xsbWVudC5zdGF0dXMucGFydGlhbCI6IlBhcnRpYWwiLCJpbml0aWFsX2Vucm9sbG1lbnQuc3RhdHVzLnVua25vd24iOiJVbmtub3duIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucG9zaXRpb25zIjoiUG9zaXRpb25zIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UuY2FzaCI6IkNhc2giLCJpbml0aWFsX2Vucm9sbG1lbnQuc3VyZmFjZS5vcGVuX29yZGVycyI6Ik9wZW4gb3JkZXJzIiwiaW5pdGlhbF9lbnJvbGxtZW50LnN1cmZhY2UucmVjZW50X2V4ZWN1dGlvbnMiOiJSZWNlbnQgZXhlY3V0aW9ucyIsImluaXRpYWxfZW5yb2xsbWVudC5zdXJmYWNlLmxvY2FsX2V4ZWN1dGlvbl9sZWRnZXIiOiJMb2NhbCBleGVjdXRpb24gbGVkZ2VyIiwiaW5pdGlhbF9lbnJvbGxtZW50Lmtub3duX2VtcHR5IjoiTm8gcmVjb3JkcyAoY29uZmlybWVkKSIsImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX3VuYXZhaWxhYmxlIjoiUGFydGlhbCBvciB1bmF2YWlsYWJsZSIsImluaXRpYWxfZW5yb2xsbWVudC5wYXJ0aWFsX25vdGljZSI6Ik9ubHkgdGhlIHJldHVybmVkIHBhcnRpYWwgcmVjb3JkcyBhcmUgc2hvd247IHRoZXkgZG8gbm90IHJlcHJlc2VudCB0aGUgY29tcGxldGUgc2NvcGUuIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlIjoiQm91bmRlZCBzY29wZSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV91bmF2YWlsYWJsZSI6IlNjb3BlIGluZm9ybWF0aW9uIGlzIHVuYXZhaWxhYmxlOyB0aGUgYm91bmRzIGJlbG93IHJlbWFpbiB1bmtub3duLiIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5raW5kIjoiU2NvcGUgdHlwZSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5jdXJyZW5jeSI6IkN1cnJlbmN5IiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2ZpZWxkLndpbmRvd19zdGFydCI6IldpbmRvdyBzdGFydCIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC53aW5kb3dfZW5kIjoiV2luZG93IGVuZCIsImluaXRpYWxfZW5yb2xsbWVudC5jdXJyZW50X2Jyb2tlcl9kYXkiOiJDdXJyZW50IGJyb2tlciBkYXkgb25seSIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9maWVsZC5saW1pdF9wZXJfbmFtZXNwYWNlIjoiTGltaXQgcGVyIHJlY29yZCB0eXBlIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2ZpZWxkLmdhdGV3YXlfYXZhaWxhYmlsaXR5IjoiR2F0ZXdheSBhdmFpbGFiaWxpdHkiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfZmllbGQudHJ1bmNhdGVkIjoiVHJ1bmNhdGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LnNjb3BlX2tpbmQuYWNjb3VudF9zdHJhdGVneV9wb3NpdGlvbnMiOiJBY2NvdW50IGFuZCBzdHJhdGVneSBwb3NpdGlvbnMiLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5yZXR1cm5lZF9hY2NvdW50X2Nhc2giOiJSZXR1cm5lZCBhY2NvdW50IGNhc2giLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5hbGxfY2xpZW50X29wZW5fb3JkZXJzIjoiQWxsIGNsaWVudCBvcGVuIG9yZGVycyIsImluaXRpYWxfZW5yb2xsbWVudC5zY29wZV9raW5kLmJyb2tlcl9yZXF1ZXN0ZWRfd2luZG93IjoiQnJva2VyLXJlcXVlc3RlZCB3aW5kb3ciLCJpbml0aWFsX2Vucm9sbG1lbnQuc2NvcGVfa2luZC5ib3VuZGVkX2xpdmVfY2xhaW1zX2FuZF9vdXRjb21lcyI6IkJvdW5kZWQgbGl2ZSBjbGFpbXMgYW5kIG91dGNvbWVzIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnRydWUiOiJZZXMiLCJpbml0aWFsX2Vucm9sbG1lbnQudmFsdWUuZmFsc2UiOiJObyIsImluaXRpYWxfZW5yb2xsbWVudC5ibG9ja2VkIjoiRmlyc3QgZW5yb2xsbWVudCBmYWN0cyBhcmUgaW5jb21wbGV0ZSwgc28gdGhleSBjYW5ub3QgYmUgY29uZmlybWVkIHlldC4iLCJpbml0aWFsX2Vucm9sbG1lbnQubm90aWNlIjoiRmlyc3QgZW5yb2xsbWVudCBpcyBub3QgYSBoaXN0b3JpY2FsIHJlY29uY2lsaWF0aW9uIGFuZCBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IGVuYWJsZSB0aGUgYWNjb3VudCwgc3RyYXRlZ3kgb3IgdHJhZGluZy4iLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zeW1ib2wiOiJTeW1ib2wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC51bmRlcmxpZXIiOiJVbmRlcmxpZXIiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5sb2NhbF9zeW1ib2wiOiJMb2NhbCBzeW1ib2wiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5leHBpcmF0aW9uIjoiRXhwaXJhdGlvbiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnJpZ2h0IjoiT3B0aW9uIHJpZ2h0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Quc3RyaWtlIjoiU3RyaWtlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QucXVhbnRpdHkiOiJRdWFudGl0eSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF2ZXJhZ2VfY29zdCI6IkF2ZXJhZ2UgY29zdCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmN1cnJlbmN5IjoiQ3VycmVuY3kiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50YWdzIjoiQW1vdW50IHRhZ3MiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5jb250cmFjdCI6IkNvbnRyYWN0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuY29uX2lkIjoiQ29udHJhY3QgSUQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zZWNfdHlwZSI6IlNlY3VyaXR5IHR5cGUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5wZXJtX2lkIjoiUGVybWFuZW50IG9yZGVyIElEIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuYWN0aW9uIjoiQWN0aW9uIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3JkZXJfdHlwZSI6Ik9yZGVyIHR5cGUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50b3RhbF9xdWFudGl0eSI6IlRvdGFsIHF1YW50aXR5IiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QubGltaXRfcHJpY2UiOiJMaW1pdCBwcmljZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmF1eF9wcmljZSI6IkF1eGlsaWFyeSBwcmljZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnN0YXR1cyI6IlN0YXR1cyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmZpbGxlZCI6IkZpbGxlZCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnJlbWFpbmluZyI6IlJlbWFpbmluZyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LmV4ZWN1dGlvbl9pZCI6IkV4ZWN1dGlvbiBJRCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm9yZGVyX2lkIjoiT3JkZXIgSUQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC50aW1lIjoiRXhlY3V0aW9uIHRpbWUiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5zaWRlIjoiU2lkZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnNoYXJlcyI6IlNoYXJlcyIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LnByaWNlIjoiUHJpY2UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5yZWNvcmRfY291bnQiOiJSZWNvcmQgY291bnQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5DYXNoQmFsYW5jZSI6IkNhc2ggYmFsYW5jZSIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LlRvdGFsQ2FzaEJhbGFuY2UiOiJUb3RhbCBjYXNoIGJhbGFuY2UiLCJpbml0aWFsX2Vucm9sbG1lbnQuZmFjdC5TZXR0bGVkQ2FzaCI6IlNldHRsZWQgY2FzaCIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiRMRURHRVItQ2FzaEJhbGFuY2UiOiJMZWRnZXIgY2FzaCBiYWxhbmNlIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3QuJExFREdFUi1Ub3RhbENhc2hCYWxhbmNlIjoiTGVkZ2VyIHRvdGFsIGNhc2ggYmFsYW5jZSIsImRlY2lzaW9ucy51bmtub3duX3RpdGxlIjoiT3RoZXIgaXRlbSIsImRlY2lzaW9ucy5hY3Rpb24udW5rbm93biI6IlVua25vd24gYWN0aW9uIiwiaW5pdGlhbF9lbnJvbGxtZW50LmZhY3Qub3RoZXIiOiJPdGhlciBmaWVsZCIsImluaXRpYWxfZW5yb2xsbWVudC52YWx1ZS51bmtub3duIjoiVW5rbm93biIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLmFjdGlvbi5CVVkiOiJCdXkiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5hY3Rpb24uU0VMTCI6IlNlbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zaWRlLkJVWSI6IkJ1eSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnNpZGUuU0VMTCI6IlNlbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuU3VibWl0dGVkIjoiU3VibWl0dGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLkZpbGxlZCI6IkZpbGxlZCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnN0YXR1cy5DYW5jZWxsZWQiOiJDYW5jZWxsZWQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuQXBpQ2FuY2VsbGVkIjoiQ2FuY2VsbGVkIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLlBlbmRpbmdTdWJtaXQiOiJTdWJtaXR0aW5nIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc3RhdHVzLlByZVN1Ym1pdHRlZCI6IlByZS1zdWJtaXR0ZWQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuUGVuZGluZ0NhbmNlbCI6IkNhbmNlbGxpbmciLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zdGF0dXMuSW5hY3RpdmUiOiJJbmFjdGl2ZSIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLm9yZGVyX3R5cGUuTE1UIjoiTGltaXQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5vcmRlcl90eXBlLk1LVCI6Ik1hcmtldCIsImluaXRpYWxfZW5yb2xsbWVudC5lbnVtLnJpZ2h0LkNBTEwiOiJDYWxsIiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0ucmlnaHQuQyI6IkNhbGwiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5QVVQiOiJQdXQiLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5yaWdodC5QIjoiUHV0IiwiaW5pdGlhbF9lbnJvbGxtZW50LmVudW0uc2VjX3R5cGUuU1RLIjoiU3RvY2siLCJpbml0aWFsX2Vucm9sbG1lbnQuZW51bS5zZWNfdHlwZS5PUFQiOiJPcHRpb24ifSx3bT17ImFjY291bnRzLm9wZW5fc3RyYXRlZ3kiOiLmn6XnnIsge2FjY291bnR9IOeahCB7c3RyYXRlZ3l9IOiuvue9riIsImFjY291bnRzLnJldGlyZWRfb3B0aW9uX2RyYWZ0Ijoi5L+d5a2Y5pe25Lya5riF6Zmk5pen5pyf5p2D6I2J56i/77yM5LiN5Lya5pu05pS55a6e55uY6YWN572u44CCIiwiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiOiLmiafooYzmqKHlvI8iLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLmV2aWRlbmNlX21pc3NpbmciOiLmiafooYzmlrnlvI/lsJrmnKrnoa7orqTjgIIiLCJhY2NvdW50cy5leGVjdXRpb24uYnJva2VyX2Vudmlyb25tZW50Ijoi5Yi45ZWG546v5aKD77yae3ZhbHVlfSIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UiOiLphY3nva7mnaXmupDvvJp7dmFsdWV9IiwiYWNjb3VudHMuZXhlY3V0aW9uLm9ic2VydmVkIjoi6YWN572u5qOA5p+l5pe26Ze077yaIiwiYWNjb3VudHMuZXhlY3V0aW9uLmNvbmZpZ19vbmx5Ijoi5LuF6K+05piO5bey6K+75Y+W55qE6YWN572u77yM5b2T5YmN6L+Q6KGM5Y+K5oiQ5Lqk54q25oCB5pyq6aqM6K+B44CCIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJ1bnRpbWVfdGFyZ2V0X25vdGUiOiLov5DooYznm67moIflt7LlkK/nlKjlj6rooajnpLrphY3nva7nirbmgIHvvIzkuI3ku6Pooajlt7Llrp7nm5jov5DooYzmiJbku4rml6Xlt7LmnInmiJDkuqTjgIIiLCJhY2NvdW50cy5hY3RpdmF0aW9uX3NldHRpbmciOiLlkK/nlKjorr7nva4iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlLnJ1bnRpbWVfdGFyZ2V0Ijoi6L+Q6KGM55uu5qCH6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS5zZXJ2aWNlX3RhcmdldCI6IuacjeWKoeebruagh+mFjee9riIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UubWlzc2luZyI6IuacquaPkOS+m+aJp+ihjOmFjee9ruadpea6kCIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24ubm90X2Nvbm5lY3RlZCI6IumFjee9ruivu+WPluacquaOpeWFpSIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24ucmVhZF9mYWlsZWQiOiLphY3nva7or7vlj5blpLHotKUiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLnBlcm1pc3Npb25fZGVuaWVkIjoi5peg5p2D6K+75Y+W6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5icm9rZXJfZW52aXJvbm1lbnRfbWlzc2luZyI6Iui0puaIt+ebruW9lee8uuWwkeaYjuehrueahOWIuOWVhueOr+WigyIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZXhlY3V0aW9uX2NvbmZpZ19taXNzaW5nIjoi57y65bCR5Yy56YWN6LSm5oi355qE5piO56Gu5omn6KGM5qih5byP6YWN572uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5kcnlfcnVuX2ZsYWdfbWlzc2luZyI6Iue8uuWwkeaYjuehrueahOa8lOe7g+mZkOWItumFjee9riIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZW52aXJvbm1lbnRfY29uZmxpY3QiOiLliLjllYbnjq/looPkuI7miafooYzphY3nva7lhrLnqoEiLCJhY2NvdW50cy5lbnZpcm9ubWVudC5saXZlIjoi5a6e55uY6LSm5oi3IiwiYWNjb3VudHMuZW52aXJvbm1lbnQucGFwZXIiOiLmqKHmi5/otKbmiLciLCJhY2NvdW50cy5lbnZpcm9ubWVudC51bmtub3duIjoi546v5aKD5b6F56Gu6K6kIiwiYWNjb3VudHMuZW52aXJvbm1lbnRfY291bnQiOiJ7Y291bnR9IOS4qui0puaItyIsImFjY291bnRzLmVudmlyb25tZW50LnBhcGVyX25vdGUiOiLmqKHmi5/otKbmiLfph5Hpop3ljZXliJfvvIzkuI3orqHlhaXlrp7nm5jlkIjorqHjgIIiLCJhY2NvdW50cy5lbnZpcm9ubWVudC51bmtub3duX25vdGUiOiLnjq/looPmnKrnoa7orqTnmoTotKbmiLfkuI3orqHlhaXlrp7nm5jlkIjorqHvvJvph5Hpop3mjInlkITmnaXmupDlsZXnpLrjgIIiLCJhY2NvdW50cy51bmFzc2lnbmVkX25vdGUiOiJ7Y291bnR9IOadoeW+heWKnuacquWFs+iBlOi0puaItyIsImFjY291bnRzLmdvX3RvZG9zIjoi5Y675b6F5YqeIiwiYWNjb3VudHMuc2VsZWN0X2FjY291bnQiOiLpgInmi6nkuIDkuKrotKbmiLfmn6XnnIvor6bmg4UiLCJhY2NvdW50cy5zZWxlY3RfYWNjb3VudF9oaW50Ijoi5LuO6LSm5oi35YiX6KGo5Lit6YCJ5oup6KaB5p+l55yL55qE6LSm5oi344CCIiwiYWNjb3VudHMuYmFja190b19saXN0Ijoi6L+U5Zue6LSm5oi35YiX6KGoIiwiYWNjb3VudHMuaWRlbnRpdHkiOiLotKbmiLfmoIfor4YiLCJhY2NvdW50cy5kYXRhX25vdGVzIjoi5pWw5o2u6K+05piOIiwiYWNjb3VudHMuZHJhZnRfdmFsdWUiOiLojYnmoYjvvJp7dmFsdWV9IiwiYWNjb3VudHMuc2VjdGlvbi5zdHJhdGVneSI6IuetlueVpSIsImFjY291bnRzLnNlY3Rpb24uZGNhIjoi5a6a5oqVIiwiYWNjb3VudHMuc2VjdGlvbi5jYXNoX3Jlc2VydmUiOiLotYTph5HpooTnlZkiLCJhY2NvdW50cy5zZWN0aW9uLmluY29tZV9sYXllciI6IuaUtuWFpeWxgiIsImFjY291bnRzLnNlY3Rpb24ub3B0aW9uc19sYXllciI6Iuacn+adg+WxgiIsImFjY291bnRzLmZpZWxkLnN0cmF0ZWd5X3Byb2ZpbGUiOiLnrZbnlaXmoaPmoYgiLCJhY2NvdW50cy5maWVsZC5kY2FfbW9kZSI6IuWumuaKleaooeW8jyIsImFjY291bnRzLmZpZWxkLmRjYV9iYXNlX2ludmVzdG1lbnRfdXNkIjoi5a6a5oqV5Z+65YeG6YeR6aKd77yIVVNE77yJIiwiYWNjb3VudHMuZmllbGQucmVzZXJ2ZWRfY2FzaF9mbG9vciI6IumihOeVmeeOsOmHkeS4i+mZkO+8iFVTRO+8iSIsImFjY291bnRzLmZpZWxkLnJlc2VydmVkX2Nhc2hfcmF0aW8iOiLpooTnlZnnjrDph5Hmr5TkvosiLCJhY2NvdW50cy5maWVsZC5pbmNvbWVfbGF5ZXJfZW5hYmxlZCI6IuaUtuWFpeWxgiIsImFjY291bnRzLmZpZWxkLm9wdGlvbl9vdmVybGF5X2VuYWJsZWQiOiLmnJ/mnYPlsYIiLCJhY2NvdW50cy5maWVsZC5vdGhlciI6IuWFtuS7luWPguaVsCIsImFjY291bnRzLmJvb2wub24iOiLlvIDlkK8iLCJhY2NvdW50cy5ib29sLm9mZiI6IuWFs+mXrSIsImFjY291bnRzLmRjYV9tb2RlLmZpeGVkIjoi5a6a6aKd5a6a5oqVIiwiYWNjb3VudHMuZGNhX21vZGUuc21hcnQiOiLmmbrog73lrprmipUiLCJhY2NvdW50cy5mb3JtLmluaGVyaXQiOiLot5/pmo/lvZPliY3lgLwiLCJhY2NvdW50cy5mb3JtLmNsZWFyX292ZXJyaWRlIjoi5riF6Zmk6KaG55uWIiwiYWNjb3VudHMuZm9ybS51bmRvIjoi5pKk6ZSA5L+u5pS5IiwiYWNjb3VudHMuZm9ybS5zZWxlY3RfcHJvZmlsZSI6Iuivt+mAieaLqeetlueVpeaho+ahiCIsImFjY291bnRzLmZvcm0uZGNhX3BhaXJfcmVxdWlyZWQiOiLlrprmipXmqKHlvI/kuI7ph5Hpop3pnIDopoHkuIDotbfloavlhpkiLCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGVjaW1hbCI6IumcgOimgeaYr+S4jeWwj+S6jiAwIOeahOaVsOWtlyIsImFjY291bnRzLmZvcm0uaW52YWxpZF9yYXRpbyI6IuavlOS+i+mcgOimgeWcqCAwIOWIsCAxIOS5i+mXtO+8jOS+i+WmgiAwLjE1IiwiYWNjb3VudHMuZm9ybS5pbnZhbGlkX2RjYV9hbW91bnQiOiLlrprmipXph5Hpop3pnIDkuLrlpKfkuo4gMCDnmoTmlbDlrZciLCJhY2NvdW50cy5jaGVja2luZyI6Iuato+WcqOajgOafpeacgOaWsOmFjee9ruKApiIsImFjY291bnRzLnNhdmluZyI6Iuato+WcqOS/neWtmOKApiIsImFjY291bnRzLnNhdmVfdW5rbm93biI6IuS/neWtmOe7k+aenOacquefpe+8m+ivt+WIt+aWsOehruiupOW9k+WJjeiNieahiO+8jOehruiupOWJjeS4jeimgemHjeWkjeaPkOS6pOOAgiIsImNvbnRyb2xzLnN1Ym1pdHRpbmciOiLmraPlnKjmj5DkuqTigKYiLCJjb250cm9scy5jb25maXJtLmVuYWJsZV90aXRsZSI6IuehruiupOWQr+eUqOi/kOihjOebruaghyIsImNvbnRyb2xzLmNvbmZpcm0ucmVzdW1lX3RpdGxlIjoi56Gu6K6k5oGi5aSN6L+Q6KGM55uu5qCHIiwiY29udHJvbHMuY29uZmlybS5hcHByb3ZlX3RpdGxlIjoi56Gu6K6k5om55YeG562W55Wl5bqU55SoIiwiY29udHJvbHMuZW5hYmxlX25vdGUiOiLlvZPliY3pobXpnaLmmoLkuI3mlK/mjIHmj5DkuqTlkK/nlKjor7fmsYLvvJvov5DooYznm67moIfnirbmgIHkv53mjIHkuI3lj5jjgIIiLCJjb250cm9scy5lbmFibGVfY29udHJvbF9ub3RlIjoi5ZCv55So5LiN5Lya6Kej6Zmk5bey5pyJ5L+d5oqk54q25oCB44CCIiwiY29udHJvbHMucHJvdGVjdGVkIjoi5bey5pyJ5L+d5oqk54q25oCB5LuN54S255Sf5pWI44CCIiwiY29udHJvbHMuYXBwcm92ZV9ub3RfcmVhZHkiOiLlvZPliY3msqHmnInku4Xkv67mlLnnrZbnlaXmoaPmoYjkuJTlj6/mibnlh4bnmoTojYnmoYjvvJvor7fliLfmlrDnoa7orqTjgIIiLCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIjoi5YGc5q2i5Y+q6Zi75q2i5paw55qE6Kem5Y+R77yb5LiN5Lya5pKk5Y2V44CB5bmz5LuT5oiW5riF6Zmk5Zyo6YCU6K+35rGC44CCIiwiY29udHJvbHMucmVzdWx0LmVuYWJsZSI6IuW3suWQr+eUqCIsImNvbnRyb2xzLnJlc3VsdC5kaXNhYmxlIjoi5bey5YGc55SoIiwiYWNjb3VudHMuZWZmZWN0X3VuY29uZmlybWVkIjoi5pqC5pe25peg5rOV56Gu6K6k5piv5ZCm55Sf5pWI44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24udGl0bGUiOiLotKbmiLflo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5ub3RlIjoi55So5LqO6LSm5oi35bGV56S677yM5LiN5Lya5pS55Y+Y5Lqk5piT6K6+572u44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZW52aXJvbm1lbnQiOiLnjq/looPlo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiOiLotKbmiLfnsbvlnosiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYubGl2ZSI6IuWunuebmCIsImFjY291bnRzLmRlY2xhcmF0aW9uLmVudi5wYXBlciI6IuaooeaLnyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUuY2FzaCI6IueOsOmHkei0puaItyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUubWFyZ2luIjoi5L+d6K+B6YeR6LSm5oi3IiwiYWNjb3VudHMuZGVjbGFyYXRpb24udW5zZXQiOiLmnKrlo7DmmI4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlZFZhbHVlIjoi5bey5aOw5piOIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uc2F2ZSI6IuS/neWtmOWjsOaYjiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmRpc2NhcmQiOiLmkqTplIDkv67mlLkiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZpbmciOiLmraPlnKjkv53lrZjlo7DmmI7igKYiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zYXZlZCI6IuWjsOaYjuW3suS/neWtmOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0Ijoi5L+d5a2Y5Yay56qB77yb6K+36YeN5paw6K+75Y+W5ZCO5YaN6K+V44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubWlzbWF0Y2giOiLor7vlm57nu5PmnpzkuI7mj5DkuqTlhoXlrrnkuI3kuIDoh7TjgIIiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnZlcmlmaWVkIjoi5L+d5a2Y57uT5p6c5pyq55+l77yb6K+36YeN5paw6K+75Y+W56Gu6K6k77yM56Gu6K6k5YmN5LiN6KaB6YeN5aSN5o+Q5Lqk44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ucmV2aWV3Ijoi5L+d5a2Y57uT5p6c5pyq55+l77yb6K+36YeN5paw6K+75Y+W56Gu6K6k44CCIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZ2F0ZSI6IuW9k+WJjeS4jeaUr+aMgeS/neWtmOi0puaIt+WjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlcmVhZCI6IumHjeaWsOivu+WPliIsImFjY291bnRzLmRlY2xhcmF0aW9uLmRlbmllZCI6Iuayoeacieadg+mZkOivu+WPlui0puaIt+WjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRNaXNtYXRjaCI6Iuivu+WbnueahOi0puaIt+S4juaJgOmAiei0puaIt+S4jeS4gOiHtOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRGYWlsZWQiOiLotKbmiLflo7DmmI7mmoLml7bor7vkuI3liLDjgIIiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zdGFsZSI6IuaYvuekuueahOaYr+S4iuasoeivu+WPlueahOWjsOaYjuOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0X25vdGljZSI6IuS4juW3suacieS/oeaBr+S4jeS4gOiHtO+8jOivt+ehruiupOOAgiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmFjayI6IuW3suS6huinoyJ9LHhtPXsiYWNjb3VudHMub3Blbl9zdHJhdGVneSI6Ik9wZW4ge3N0cmF0ZWd5fSBzZXR0aW5ncyBmb3Ige2FjY291bnR9IiwiYWNjb3VudHMucmV0aXJlZF9vcHRpb25fZHJhZnQiOiJTYXZpbmcgcmVtb3ZlcyB0aGUgb2xkIG9wdGlvbnMgZHJhZnQgd2l0aG91dCBjaGFuZ2luZyBsaXZlIGNvbmZpZ3VyYXRpb24uIiwiYWNjb3VudHMuZXhlY3V0aW9uLm1vZGUiOiJFeGVjdXRpb24gbW9kZSIsImFjY291bnRzLmV4ZWN1dGlvbi5yZWFzb24uZXZpZGVuY2VfbWlzc2luZyI6IkV4ZWN1dGlvbiBtb2RlIGlzIG5vdCB5ZXQgY29uZmlybWVkLiIsImFjY291bnRzLmV4ZWN1dGlvbi5icm9rZXJfZW52aXJvbm1lbnQiOiJCcm9rZXIgZW52aXJvbm1lbnQ6IHt2YWx1ZX0iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlIjoiQ29uZmlndXJhdGlvbiBzb3VyY2U6IHt2YWx1ZX0iLCJhY2NvdW50cy5leGVjdXRpb24ub2JzZXJ2ZWQiOiJDb25maWd1cmF0aW9uIGNoZWNrZWQgYXQ6IiwiYWNjb3VudHMuZXhlY3V0aW9uLmNvbmZpZ19vbmx5IjoiRGVzY3JpYmVzIHRoZSBjb25maWd1cmF0aW9uIHJlYWQ7IGN1cnJlbnQgcnVucyBhbmQgZmlsbHMgYXJlIHVudmVyaWZpZWQuIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJ1bnRpbWVfdGFyZ2V0X25vdGUiOiJBbiBlbmFibGVkIHJ1bnRpbWUgdGFyZ2V0IGlzIGNvbmZpZ3VyYXRpb24gc3RhdGUgb25seTsgaXQgZG9lcyBub3QgbWVhbiBsaXZlIHRyYWRpbmcgcmFuIG9yIHByb2R1Y2VkIGZpbGxzIHRvZGF5LiIsImFjY291bnRzLmFjdGl2YXRpb25fc2V0dGluZyI6IkFjdGl2YXRpb24gc2V0dGluZyIsImFjY291bnRzLmV4ZWN1dGlvbi5zb3VyY2UucnVudGltZV90YXJnZXQiOiJSdW50aW1lIHRhcmdldCBjb25maWd1cmF0aW9uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnNvdXJjZS5zZXJ2aWNlX3RhcmdldCI6IlNlcnZpY2UgdGFyZ2V0IGNvbmZpZ3VyYXRpb24iLCJhY2NvdW50cy5leGVjdXRpb24uc291cmNlLm1pc3NpbmciOiJFeGVjdXRpb24gY29uZmlndXJhdGlvbiBzb3VyY2UgdW5hdmFpbGFibGUiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLm5vdF9jb25uZWN0ZWQiOiJDb25maWd1cmF0aW9uIHJlYWRlciBpcyBub3QgY29ubmVjdGVkIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5yZWFkX2ZhaWxlZCI6IkNvbmZpZ3VyYXRpb24gcmVhZCBmYWlsZWQiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLnBlcm1pc3Npb25fZGVuaWVkIjoiQ29uZmlndXJhdGlvbiByZWFkIHBlcm1pc3Npb24gZGVuaWVkIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5icm9rZXJfZW52aXJvbm1lbnRfbWlzc2luZyI6IkFjY291bnQgZGlyZWN0b3J5IGhhcyBubyBleHBsaWNpdCBicm9rZXIgZW52aXJvbm1lbnQiLCJhY2NvdW50cy5leGVjdXRpb24ucmVhc29uLmV4ZWN1dGlvbl9jb25maWdfbWlzc2luZyI6Ik5vIGV4cGxpY2l0IGV4ZWN1dGlvbiBtb2RlIGluIGEgbWF0Y2hpbmcgYWNjb3VudCBjb25maWd1cmF0aW9uIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5kcnlfcnVuX2ZsYWdfbWlzc2luZyI6IkV4cGxpY2l0IGRyeS1ydW4gY29uc3RyYWludCBpcyBtaXNzaW5nIiwiYWNjb3VudHMuZXhlY3V0aW9uLnJlYXNvbi5lbnZpcm9ubWVudF9jb25mbGljdCI6IkJyb2tlciBlbnZpcm9ubWVudCBjb25mbGljdHMgd2l0aCBleGVjdXRpb24gY29uZmlndXJhdGlvbiIsImFjY291bnRzLmVudmlyb25tZW50LmxpdmUiOiJMaXZlIGFjY291bnRzIiwiYWNjb3VudHMuZW52aXJvbm1lbnQucGFwZXIiOiJQYXBlciBhY2NvdW50cyIsImFjY291bnRzLmVudmlyb25tZW50LnVua25vd24iOiJFbnZpcm9ubWVudCB1bmNvbmZpcm1lZCIsImFjY291bnRzLmVudmlyb25tZW50X2NvdW50Ijoie2NvdW50fSBhY2NvdW50cyIsImFjY291bnRzLmVudmlyb25tZW50LnBhcGVyX25vdGUiOiJQYXBlciBhY2NvdW50IGFtb3VudHMgYXJlIGxpc3RlZCBzZXBhcmF0ZWx5IGFuZCBleGNsdWRlZCBmcm9tIGxpdmUgdG90YWxzLiIsImFjY291bnRzLmVudmlyb25tZW50LnVua25vd25fbm90ZSI6IkFjY291bnRzIHdpdGggYW4gdW5jb25maXJtZWQgZW52aXJvbm1lbnQgYXJlIGV4Y2x1ZGVkIGZyb20gbGl2ZSB0b3RhbHM7IGFtb3VudHMgYXJlIHNob3duIHBlciBzb3VyY2UuIiwiYWNjb3VudHMudW5hc3NpZ25lZF9ub3RlIjoie2NvdW50fSB0by1kb3MgYXJlIG5vdCBsaW5rZWQgdG8gYW4gYWNjb3VudCIsImFjY291bnRzLmdvX3RvZG9zIjoiT3BlbiB0by1kb3MiLCJhY2NvdW50cy5zZWxlY3RfYWNjb3VudCI6IlNlbGVjdCBhbiBhY2NvdW50IHRvIHNlZSBkZXRhaWxzIiwiYWNjb3VudHMuc2VsZWN0X2FjY291bnRfaGludCI6IlBpY2sgYW4gYWNjb3VudCBmcm9tIHRoZSBsaXN0LiIsImFjY291bnRzLmJhY2tfdG9fbGlzdCI6IkJhY2sgdG8gYWNjb3VudHMiLCJhY2NvdW50cy5pZGVudGl0eSI6IkFjY291bnQgSUQiLCJhY2NvdW50cy5kYXRhX25vdGVzIjoiRGF0YSBub3RlcyIsImFjY291bnRzLmRyYWZ0X3ZhbHVlIjoiRHJhZnQ6IHt2YWx1ZX0iLCJhY2NvdW50cy5zZWN0aW9uLnN0cmF0ZWd5IjoiU3RyYXRlZ3kiLCJhY2NvdW50cy5zZWN0aW9uLmRjYSI6IkRDQSIsImFjY291bnRzLnNlY3Rpb24uY2FzaF9yZXNlcnZlIjoiQ2FzaCByZXNlcnZlIiwiYWNjb3VudHMuc2VjdGlvbi5pbmNvbWVfbGF5ZXIiOiJJbmNvbWUgbGF5ZXIiLCJhY2NvdW50cy5zZWN0aW9uLm9wdGlvbnNfbGF5ZXIiOiJPcHRpb25zIGxheWVyIiwiYWNjb3VudHMuZmllbGQuc3RyYXRlZ3lfcHJvZmlsZSI6IlN0cmF0ZWd5IHByb2ZpbGUiLCJhY2NvdW50cy5maWVsZC5kY2FfbW9kZSI6IkRDQSBtb2RlIiwiYWNjb3VudHMuZmllbGQuZGNhX2Jhc2VfaW52ZXN0bWVudF91c2QiOiJEQ0EgYmFzZSBhbW91bnQgKFVTRCkiLCJhY2NvdW50cy5maWVsZC5yZXNlcnZlZF9jYXNoX2Zsb29yIjoiUmVzZXJ2ZWQgY2FzaCBmbG9vciAoVVNEKSIsImFjY291bnRzLmZpZWxkLnJlc2VydmVkX2Nhc2hfcmF0aW8iOiJSZXNlcnZlZCBjYXNoIHJhdGlvIiwiYWNjb3VudHMuZmllbGQuaW5jb21lX2xheWVyX2VuYWJsZWQiOiJJbmNvbWUgbGF5ZXIiLCJhY2NvdW50cy5maWVsZC5vcHRpb25fb3ZlcmxheV9lbmFibGVkIjoiT3B0aW9uIG92ZXJsYXkiLCJhY2NvdW50cy5maWVsZC5vdGhlciI6Ik90aGVyIHBhcmFtZXRlciIsImFjY291bnRzLmJvb2wub24iOiJPbiIsImFjY291bnRzLmJvb2wub2ZmIjoiT2ZmIiwiYWNjb3VudHMuZGNhX21vZGUuZml4ZWQiOiJGaXhlZCBhbW91bnQiLCJhY2NvdW50cy5kY2FfbW9kZS5zbWFydCI6IlNtYXJ0IiwiYWNjb3VudHMuZm9ybS5pbmhlcml0IjoiSW5oZXJpdCBjdXJyZW50IHZhbHVlIiwiYWNjb3VudHMuZm9ybS5jbGVhcl9vdmVycmlkZSI6IkNsZWFyIG92ZXJyaWRlIiwiYWNjb3VudHMuZm9ybS51bmRvIjoiVW5kbyIsImFjY291bnRzLmZvcm0uc2VsZWN0X3Byb2ZpbGUiOiJTZWxlY3QgYSBzdHJhdGVneSBwcm9maWxlIiwiYWNjb3VudHMuZm9ybS5kY2FfcGFpcl9yZXF1aXJlZCI6IkRDQSBtb2RlIGFuZCBhbW91bnQgbXVzdCBiZSBwcm92aWRlZCB0b2dldGhlciIsImFjY291bnRzLmZvcm0uaW52YWxpZF9kZWNpbWFsIjoiTXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCIsImFjY291bnRzLmZvcm0uaW52YWxpZF9yYXRpbyI6IlJhdGlvIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxLCBlLmcuIDAuMTUiLCJhY2NvdW50cy5mb3JtLmludmFsaWRfZGNhX2Ftb3VudCI6IkRDQSBhbW91bnQgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIsImFjY291bnRzLmNoZWNraW5nIjoiQ2hlY2tpbmcgdGhlIGxhdGVzdCBzZXR0aW5nc+KApiIsImFjY291bnRzLnNhdmluZyI6IlNhdmluZ+KApiIsImFjY291bnRzLnNhdmVfdW5rbm93biI6IlRoZSBzYXZlIHJlc3VsdCBpcyB1bmtub3duLiBSZWZyZXNoIGFuZCB2ZXJpZnkgdGhlIGN1cnJlbnQgZHJhZnQ7IGRvIG5vdCByZXN1Ym1pdCB1bnRpbCB0aGVuLiIsImNvbnRyb2xzLnN1Ym1pdHRpbmciOiJTdWJtaXR0aW5n4oCmIiwiY29udHJvbHMuY29uZmlybS5lbmFibGVfdGl0bGUiOiJDb25maXJtIGVuYWJsaW5nIHRoZSBydW50aW1lIHRhcmdldCIsImNvbnRyb2xzLmNvbmZpcm0ucmVzdW1lX3RpdGxlIjoiQ29uZmlybSByZXN1bWluZyB0aGUgcnVudGltZSB0YXJnZXQiLCJjb250cm9scy5jb25maXJtLmFwcHJvdmVfdGl0bGUiOiJDb25maXJtIGFwcHJvdmluZyB0aGUgc3RyYXRlZ3kgYXBwbGljYXRpb24iLCJjb250cm9scy5lbmFibGVfbm90ZSI6IlRoaXMgcGFnZSBjYW5ub3Qgc3VibWl0IGFuIGVuYWJsZSByZXF1ZXN0IHlldC4gVGhlIHJ1bnRpbWUgdGFyZ2V0IHN0YXRlIHN0YXlzIHVuY2hhbmdlZC4iLCJjb250cm9scy5lbmFibGVfY29udHJvbF9ub3RlIjoiRW5hYmxpbmcgZG9lcyBub3QgcmVtb3ZlIGFuIGV4aXN0aW5nIHByb3RlY3Rpb24gc3RhdGUuIiwiY29udHJvbHMucHJvdGVjdGVkIjoiVGhlIGV4aXN0aW5nIHByb3RlY3Rpb24gc3RhdGUgcmVtYWlucyBhY3RpdmUuIiwiY29udHJvbHMuYXBwcm92ZV9ub3RfcmVhZHkiOiJUaGVyZSBpcyBubyBhcHByb3ZhYmxlIGRyYWZ0IHRoYXQgY2hhbmdlcyBvbmx5IHRoZSBzdHJhdGVneSBwcm9maWxlLiBSZWZyZXNoIGFuZCBjaGVjayBhZ2Fpbi4iLCJjb250cm9scy5zdG9wX2NvbnNlcXVlbmNlIjoiU3RvcHBpbmcgb25seSBibG9ja3MgbmV3IHRyaWdnZXJzOyBpdCBkb2VzIG5vdCBjYW5jZWwgb3JkZXJzLCBjbG9zZSBwb3NpdGlvbnMsIG9yIGNsZWFyIGluLWZsaWdodCByZXF1ZXN0cy4iLCJjb250cm9scy5yZXN1bHQuZW5hYmxlIjoiRW5hYmxlZCIsImNvbnRyb2xzLnJlc3VsdC5kaXNhYmxlIjoiRGlzYWJsZWQiLCJhY2NvdW50cy5lZmZlY3RfdW5jb25maXJtZWQiOiJVbmFibGUgdG8gY29uZmlybSB3aGV0aGVyIHRoZSBjaGFuZ2UgdG9vayBlZmZlY3QuIiwiYWNjb3VudHMuZGVjbGFyYXRpb24udGl0bGUiOiJBY2NvdW50IGRlY2xhcmF0aW9uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubm90ZSI6IlVzZWQgZm9yIGFjY291bnQgZGlzcGxheTsgdHJhZGluZyBzZXR0aW5ncyBhcmUgdW5jaGFuZ2VkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmVudmlyb25tZW50IjoiRW52aXJvbm1lbnQgZGVjbGFyYXRpb24iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5hY2NvdW50X3R5cGUiOiJBY2NvdW50IHR5cGUiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYubGl2ZSI6IkxpdmUiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5lbnYucGFwZXIiOiJQYXBlciIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUuY2FzaCI6IkNhc2ggYWNjb3VudCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnR5cGUubWFyZ2luIjoiTWFyZ2luIGFjY291bnQiLCJhY2NvdW50cy5kZWNsYXJhdGlvbi51bnNldCI6Ik5vdCBkZWNsYXJlZCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkVmFsdWUiOiJEZWNsYXJlZCIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmUiOiJTYXZlIGRlY2xhcmF0aW9uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZGlzY2FyZCI6IkRpc2NhcmQgY2hhbmdlcyIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmluZyI6IlNhdmluZyBkZWNsYXJhdGlvbuKApiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnNhdmVkIjoiRGVjbGFyYXRpb24gc2F2ZWQuIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uY29uZmxpY3QiOiJTYXZlIGNvbmZsaWN0OyByZS1yZWFkIGFuZCB0cnkgYWdhaW4uIiwiYWNjb3VudHMuZGVjbGFyYXRpb24ubWlzbWF0Y2giOiJUaGUgcmVhZGJhY2sgZG9lcyBub3QgbWF0Y2ggd2hhdCB3YXMgc3VibWl0dGVkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnVudmVyaWZpZWQiOiJUaGUgc2F2ZSByZXN1bHQgaXMgdW5rbm93bjsgcmUtcmVhZCB0byBjb25maXJtIGFuZCBkbyBub3QgcmVzdWJtaXQgdW50aWwgdGhlbi4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXZpZXciOiJUaGUgc2F2ZSByZXN1bHQgaXMgdW5rbm93bjsgcmUtcmVhZCB0byBjb25maXJtLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmdhdGUiOiJTYXZpbmcgYWNjb3VudCBkZWNsYXJhdGlvbnMgaXMgbm90IGF2YWlsYWJsZS4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5yZXJlYWQiOiJSZS1yZWFkIiwiYWNjb3VudHMuZGVjbGFyYXRpb24uZGVuaWVkIjoiTm8gcGVybWlzc2lvbiB0byByZWFkIHRoZSBhY2NvdW50IGRlY2xhcmF0aW9uLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRNaXNtYXRjaCI6IlRoZSByZWFkYmFjayBhY2NvdW50IGRvZXMgbm90IG1hdGNoIHRoZSBzZWxlY3RlZCBhY2NvdW50LiIsImFjY291bnRzLmRlY2xhcmF0aW9uLnJlYWRGYWlsZWQiOiJUaGUgYWNjb3VudCBkZWNsYXJhdGlvbiBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLCJhY2NvdW50cy5kZWNsYXJhdGlvbi5zdGFsZSI6IlNob3dpbmcgdGhlIGRlY2xhcmF0aW9uIGZyb20gdGhlIGxhc3Qgc3VjY2Vzc2Z1bCByZWFkLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmNvbmZsaWN0X25vdGljZSI6IlRoaXMgZGlmZmVycyBmcm9tIGF2YWlsYWJsZSBpbmZvcm1hdGlvbi4gUGxlYXNlIGNoZWNrLiIsImFjY291bnRzLmRlY2xhcmF0aW9uLmFjayI6IkFja25vd2xlZGdlIn0sVG09eyJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5rbm93biI6Iui0puaIt+e7keWumuW+heehruiupCIsInN0cmF0ZWdpZXMuYXNzaWdubWVudF91bmF2YWlsYWJsZSI6Iui0puaIt+mFjee9ruacquWujOaVtOivu+WPlu+8jOaaguaXoOazleehruiupOetlueVpee7keWumu+8m+W3suacieWBpeW6t+aVsOaNruS7jeaMieWFtuadpea6kOaXpeacn+WxleekuuOAgiIsInN0cmF0ZWdpZXMuaGVhbHRoX2FzX29mIjoi5YGl5bq35pWw5o2u5oiq6IezIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLmhlYWx0aF9sYWJlbCI6IuetlueVpeWBpeW6tyIsInN0cmF0ZWdpZXMuaGVhbHRoX25vdF9wcm92aWRlZCI6IuacquaPkOS+myIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uX3NlY3Rpb24iOiLotKbmiLfmiafooYzmqKHlvI8iLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl91bmtub3duX25vdGUiOiLmnKrnn6XooajnpLrotKbmiLfnm67lvZXmiJbov5DooYznm67moIfov5jnvLrlsJHmmI7noa7nmoTmiafooYzphY3nva7vvJvooaXpvZDlkI7kvJroh6rliqjnoa7orqTjgIIiLCJzdHJhdGVnaWVzLmRvbWFpbl9ub3RlIjoi562W55Wl5YGl5bq35p2l6Ieq562W55Wl6K+E5Lyw77yb5omn6KGM5qih5byP5p2l6Ieq6LSm5oi36YWN572u44CC5Lik6ICF6YO95LiN5Luj6KGo5bmz5Y+w5LuK5pel6L+Q6KGM57uT5p6c44CCIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9zdGFsZSI6IuetlueVpeWBpeW6t+aVsOaNruW3sui/h+acn+OAgiIsInN0cmF0ZWdpZXMuZGV0YWlscyI6Iuivpue7huS/oeaBryIsInN0cmF0ZWdpZXMucmVzZWFyY2hfdW5hdmFpbGFibGUiOiLnoJTnqbbotYTmlpnmmoLml7bkuI3lj6/nlKjjgIIiLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3NvdXJjZXMiOiLmnaXmupDvvJp7dmFsdWV9Iiwic3RyYXRlZ2llcy5yZXNlYXJjaF9hc19vZiI6Iui1hOaWmeaXpeacn++8mnt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX2V4cGlyZXMiOiLmnInmlYjmnJ/oh7Mge3ZhbHVlfSIsInN0cmF0ZWdpZXMucmVzZWFyY2hfbW9yZSI6Iuafpeeci+ivtOaYjiIsInJlc2VhcmNoLnNvdXJjZS5nZW5lcmljIjoi56CU56m25p2l5rqQIiwicmVzZWFyY2guc291cmNlLnF1YW50LWFkdmlzb3ItcmVzZWFyY2giOiLph4/ljJbnoJTnqbbkv6Hlj7ciLCJyZXNlYXJjaC5zb3VyY2UucXVhbnRfYWR2aXNvcl9yZXNlYXJjaCI6IumHj+WMlueglOeptuS/oeWPtyIsInJlc2VhcmNoLnNvdXJjZS5yZXNlYXJjaC1taXJyb3IiOiLnoJTnqbbplZzlg48iLCJyZXNlYXJjaC5zb3VyY2Uub3RoZXIiOiLlhbbku5bnoJTnqbbmnaXmupAiLCJyZXNlYXJjaC5zdGF0ZS5jb250ZXh0X29ubHkiOiLku4XkvZzog4zmma8iLCJyZXNlYXJjaC5zdGF0ZS5jYW5kaWRhdGUiOiLnoJTnqbblgJnpgIkiLCJyZXNlYXJjaC5zdGF0ZS5zb3VyY2VfdmVyaWZpY2F0aW9uX3JlcXVpcmVkIjoi5p2l5rqQ5b6F5qC45a6eIiwicmVzZWFyY2guc3RhdGUuZGVmZXJyZWQiOiLmmoLnvJPnoJTnqbYiLCJzdGF0ZS51bmtub3duIjoi5pyq55+lIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9lbXB0eSI6IuaaguaXoOeglOeptui1hOaWmeOAgiIsInN0cmF0ZWdpZXMuY29uZmlndXJlZF9zZWN0aW9uIjoi5bey6YWN572u562W55WlIiwic3RyYXRlZ2llcy5jYXRhbG9nX3NlY3Rpb24iOiLnm67lvZXnrZbnlaUiLCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiOiJ7Y291bnR9IOmhuSIsInN0cmF0ZWdpZXMubm9fY29uZmlndXJlZCI6IuW9k+WJjeayoeaciei0puaIt+mFjee9ruetlueVpe+8m+WPr+S7juS4i+aWueebruW9lee7p+e7reafpeeci+OAgiIsInN0cmF0ZWdpZXMuYmluZGluZyI6Iui0puaIt+e7keWumiIsInN0cmF0ZWdpZXMudW5ib3VuZCI6Iuacque7keWumui0puaItyIsInN0cmF0ZWdpZXMudW5ib3VuZF9ub3RlIjoi55uu5b2V6aG55bCa5pyq57uR5a6a6LSm5oi377yb6L+Z5LiN6KGo56S6562W55Wl5bey5YGc55So5oiW5q2j5Zyo6L+Q6KGM44CCIiwic3RyYXRlZ2llcy51bm1hdGNoZWRfdGl0bGUiOiLnm67lvZXlpJbnrZbnlaXnu5HlrpoiLCJzdHJhdGVnaWVzLnVubWF0Y2hlZF9ub3RlIjoi5Lul5LiL6LSm5oi357uR5a6a55qE562W55Wl5LiN5Zyo5b2T5YmN562W55Wl55uu5b2V5Lit77yI5Y+v6IO95bey5YGc55So5oiW5pS55ZCN77yJ44CC5q2k5aSE5Y+q6K+75bGV56S657uR5a6a5LqL5a6e77yM5LiN5o6o5pat6K+l562W55Wl5LuN5Y+v6L+Q6KGM44CCIiwic3RyYXRlZ2llcy51bm1hdGNoZWRfcHJvZmlsZSI6IuebruW9leS4reS4jeWtmOWcqOeahOetlueVpeagh+ivhiJ9LEFtPXsic3RyYXRlZ2llcy5hc3NpZ25tZW50X3Vua25vd24iOiJBY2NvdW50IGJpbmRpbmcgdW5jb25maXJtZWQiLCJzdHJhdGVnaWVzLmFzc2lnbm1lbnRfdW5hdmFpbGFibGUiOiJBY2NvdW50IGNvbmZpZ3VyYXRpb24gY291bGQgbm90IGJlIHJlYWQgY29tcGxldGVseSwgc28gc3RyYXRlZ3kgYmluZGluZ3MgYXJlIHVuY29uZmlybWVkLiBBdmFpbGFibGUgaGVhbHRoIGRhdGEga2VlcHMgaXRzIHNvdXJjZSBkYXRlLiIsInN0cmF0ZWdpZXMuaGVhbHRoX2FzX29mIjoiSGVhbHRoIGRhdGEgYXMgb2Yge3ZhbHVlfSIsInN0cmF0ZWdpZXMuaGVhbHRoX2xhYmVsIjoiU3RyYXRlZ3kgaGVhbHRoIiwic3RyYXRlZ2llcy5oZWFsdGhfbm90X3Byb3ZpZGVkIjoiTm90IHByb3ZpZGVkIiwic3RyYXRlZ2llcy5leGVjdXRpb25fc2VjdGlvbiI6IkFjY291bnQgZXhlY3V0aW9uIG1vZGUiLCJzdHJhdGVnaWVzLmV4ZWN1dGlvbl91bmtub3duX25vdGUiOiJVbmtub3duIG1lYW5zIHRoZSBhY2NvdW50IGRpcmVjdG9yeSBvciBydW50aW1lIHRhcmdldCBzdGlsbCBsYWNrcyBleHBsaWNpdCBleGVjdXRpb24gY29uZmlndXJhdGlvbjsgaXQgY29uZmlybXMgYXV0b21hdGljYWxseSBvbmNlIHN1cHBsaWVkLiIsInN0cmF0ZWdpZXMuZG9tYWluX25vdGUiOiJTdHJhdGVneSBoZWFsdGggY29tZXMgZnJvbSBzdHJhdGVneSBldmFsdWF0aW9uOyBleGVjdXRpb24gbW9kZSBjb21lcyBmcm9tIGFjY291bnQgY29uZmlndXJhdGlvbi4gTmVpdGhlciBlc3RhYmxpc2hlcyB0b2RheSdzIHBsYXRmb3JtIHJ1biByZXN1bHQuIiwicmVhc29uLnN0cmF0ZWd5X2hlYWx0aF9zdGFsZSI6IlN0cmF0ZWd5IGhlYWx0aCBkYXRhIGlzIHN0YWxlLiIsInN0cmF0ZWdpZXMuZGV0YWlscyI6IkRldGFpbHMiLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3VuYXZhaWxhYmxlIjoiUmVzZWFyY2ggZGF0YSBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX3NvdXJjZXMiOiJTb3VyY2VzOiB7dmFsdWV9Iiwic3RyYXRlZ2llcy5yZXNlYXJjaF9hc19vZiI6IkRhdGEgYXMgb2Y6IHt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX2V4cGlyZXMiOiJFeHBpcmVzIHt2YWx1ZX0iLCJzdHJhdGVnaWVzLnJlc2VhcmNoX21vcmUiOiJWaWV3IG5vdGVzIiwicmVzZWFyY2guc291cmNlLmdlbmVyaWMiOiJSZXNlYXJjaCBzb3VyY2UiLCJyZXNlYXJjaC5zb3VyY2UucXVhbnQtYWR2aXNvci1yZXNlYXJjaCI6IlF1YW50IHJlc2VhcmNoIHNpZ25hbCIsInJlc2VhcmNoLnNvdXJjZS5xdWFudF9hZHZpc29yX3Jlc2VhcmNoIjoiUXVhbnQgcmVzZWFyY2ggc2lnbmFsIiwicmVzZWFyY2guc291cmNlLnJlc2VhcmNoLW1pcnJvciI6IlJlc2VhcmNoIG1pcnJvciIsInJlc2VhcmNoLnNvdXJjZS5vdGhlciI6Ik90aGVyIHJlc2VhcmNoIHNvdXJjZSIsInJlc2VhcmNoLnN0YXRlLmNvbnRleHRfb25seSI6IkNvbnRleHQgb25seSIsInJlc2VhcmNoLnN0YXRlLmNhbmRpZGF0ZSI6IlJlc2VhcmNoIGNhbmRpZGF0ZSIsInJlc2VhcmNoLnN0YXRlLnNvdXJjZV92ZXJpZmljYXRpb25fcmVxdWlyZWQiOiJTb3VyY2UgdmVyaWZpY2F0aW9uIHJlcXVpcmVkIiwicmVzZWFyY2guc3RhdGUuZGVmZXJyZWQiOiJSZXNlYXJjaCBkZWZlcnJlZCIsInN0YXRlLnVua25vd24iOiJVbmtub3duIiwic3RyYXRlZ2llcy5yZXNlYXJjaF9lbXB0eSI6Ik5vIHJlc2VhcmNoIGRhdGEgeWV0LiIsInN0cmF0ZWdpZXMuY29uZmlndXJlZF9zZWN0aW9uIjoiQ29uZmlndXJlZCBzdHJhdGVnaWVzIiwic3RyYXRlZ2llcy5jYXRhbG9nX3NlY3Rpb24iOiJDYXRhbG9nIHN0cmF0ZWdpZXMiLCJzdHJhdGVnaWVzLnNlY3Rpb25fY291bnQiOiJ7Y291bnR9Iiwic3RyYXRlZ2llcy5ub19jb25maWd1cmVkIjoiTm8gYWNjb3VudCBpcyBjb25maWd1cmVkIHdpdGggYSBzdHJhdGVneSB5ZXQuIEJyb3dzZSB0aGUgY2F0YWxvZyBiZWxvdy4iLCJzdHJhdGVnaWVzLmJpbmRpbmciOiJBY2NvdW50IGJpbmRpbmciLCJzdHJhdGVnaWVzLnVuYm91bmQiOiJObyBhY2NvdW50IGxpbmtlZCIsInN0cmF0ZWdpZXMudW5ib3VuZF9ub3RlIjoiVGhpcyBjYXRhbG9nIGVudHJ5IGhhcyBubyBsaW5rZWQgYWNjb3VudDsgaXQgZG9lcyBub3QgbWVhbiB0aGUgc3RyYXRlZ3kgaXMgc3RvcHBlZCBvciBydW5uaW5nLiIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX3RpdGxlIjoiQmluZGluZ3Mgb3V0c2lkZSB0aGUgY2F0YWxvZyIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX25vdGUiOiJUaGVzZSBhY2NvdW50cyBhcmUgYm91bmQgdG8gYSBzdHJhdGVneSB0aGUgY3VycmVudCBjYXRhbG9nIG5vIGxvbmdlciBkZWNsYXJlcyAocmV0aXJlZCBvciByZW5hbWVkKS4gVGhlIHJvdyByZXBvcnRzIHRoZSBiaW5kaW5nIGFzIGNvbmZpZ3VyZWQ7IGl0IGRvZXMgbm90IGNsYWltIHRoZSBzdHJhdGVneSBjYW4gc3RpbGwgcnVuLiIsInN0cmF0ZWdpZXMudW5tYXRjaGVkX3Byb2ZpbGUiOiJTdHJhdGVneSBpZGVudGlmaWVyIG1pc3NpbmcgZnJvbSB0aGUgY2F0YWxvZyJ9LEVtPXsiaGVhbHRoLmZhaWx1cmVfYXRfbGVhc3QiOiLoh7PlsJEge2NvdW50fSIsImhlYWx0aC5mYWlsdXJlX3dpbmRvdyI6IntkYXRlfSDCtyDnur3nuqbml7bpl7QiLCJoZWFsdGguZmFpbHVyZV93aW5kb3dfZGV0YWlsIjoi5LuF57uf6K6h5LuK5pel77yM5LiN5ZCr5LiL5pa5IDE0IOaXpeWOhuWPsu+8m+e6vee6puaXtumXtOWQq+Wkj+S7pOaXtuOAgiIsImhlYWx0aC5mYWlsdXJlX2luY29tcGxldGUiOiLpg6jliIbmlbDmja7mnKrov5Tlm54iLCJoZWFsdGgua3BpLnRvZGF5X3J1bnMiOiLlrozmlbTmlbDmja7otKbmiLciLCJoZWFsdGgua3BpLnRvZGF5X3J1bnNfbm90ZSI6IuacquaOpeWFpSB7bm90X2Nvbm5lY3RlZH0gwrcg5pqC5peg5pWw5o2uIHtub19kYXRhfSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlX3RpdGxlIjoi5pyq5o6l5YWl5ZKM5pqC5peg5pWw5o2u5LiN6K6h5Li65aSx6LSl44CCIiwiaGVhbHRoLmtwaS5vYnNlcnZlZCI6IuS7iuaXpeacieiusOW9lei0puaItyIsImhlYWx0aC5rcGkuY3JlZGVudGlhbHMiOiLlh63or4EiLCJoZWFsdGgua3BpLmNyZWRlbnRpYWxzX3VuaXQiOiLpobnpnIDlhbPms6giLCJoZWFsdGgua3BpLnJlY2VudF9mYWlsdXJlIjoi5LuK5pel5aSx6LSl6LSm5oi3IiwiaGVhbHRoLmJ1c2luZXNzX2RhdGUiOiLnur3nuqbkuJrliqHml6Uge3ZhbHVlfSIsImhlYWx0aC5ub25fdHJhZGluZ19kYXkiOiLpnZ7kuqTmmJPml6XvvJrlkajmnKvml6DorqHliJLov5DooYzvvJvliqDlr4botKfluIHotKbmiLflj6/og73ku43mnInorrDlvZXjgIIiLCJoZWFsdGgubm9uX3RyYWRpbmdfZGF5X3Nob3J0Ijoi6Z2e5Lqk5piT5pelIiwiaGVhbHRoLmdyaWRfcmVhZF9mYWlsZWRfbm90ZSI6IumDqOWIhuaXpeacn+ivu+WPluWksei0pe+8jOaXoOazleehruiupOW9k+WkqeaYr+WQpui/kOihjOOAgiIsImhlYWx0aC5ncmlkLmJpbmRpbmdfY2hhbmdlZCI6Iue7keWumuW3sui9ruaNoiIsImhlYWx0aC5ncmlkLmJpbmRpbmdfY2hhbmdlZF9kZXRhaWwiOiLor6Xml6XmnJ/orrDlvZXlhpnkuo7nu5Hlrprova7mjaLkuYvliY3vvIzml6Dms5XkuI7lvZPliY3otKbmiLfnu5HlrprljLnphY3vvIzlm6DmraTkuI3lsZXnpLrvvJvov5nkuI3ku6PooajlvZPlpKnmnKrov5DooYzjgIIiLCJoZWFsdGguZ3JpZF9iaW5kaW5nX2NoYW5nZWRfbm90ZSI6IumDqOWIhuaXpeacn+WxnuS6jue7keWumui9ruaNouWJjeeahOWOhuWPsuiusOW9le+8m+iusOW9leW3suS/neeVme+8jOS9huS4jeS8muS4juW9k+WJjei0puaIt+e7keWumua3t+eUqOOAgiIsImhlYWx0aC5nbG9iYWxfc2NvcGVfbm90ZSI6IuacrOmhteWxleekuuWFqOmDqOW5s+WPsOS4jui0puaIt+eahOi/kOihjOeKtuaAgeOAgiIsImhlYWx0aC5ncmlkLmluY29tcGxldGUiOiLmnKrlrozmiJAiLCJoZWFsdGguY29sLmNyZWRlbnRpYWwiOiLlh63or4EiLCJoZWFsdGguY29sLmNoYW5uZWwiOiLmuKDpgZMiLCJoZWFsdGguY29sLnN1bW1hcnkiOiLlhoXlrrkiLCJoZWFsdGguZGV0YWlsLnN0YXJ0ZWQiOiLlvIDlp4siLCJoZWFsdGguZGV0YWlsLmZpbmlzaGVkIjoi57uT5p2fIiwiaGVhbHRoLmFjY291bnRfZnJhY3Rpb24iOiJ7Y291bnR9L3t0b3RhbH0iLCJoZWFsdGguc3RhdGVfY291bnRzIjoi5LuK5pel6LSm5oi354q25oCB77yI5pyJ5pWw5o2u77yJIiwiaGVhbHRoLnN0YXRlX2RldGFpbHMiOiLnirbmgIHmmI7nu4YiLCJoZWFsdGguZGF5X2RldGFpbF9zdW1tYXJ5Ijoie2NvdW50fSDmrKHov5DooYwiLCJoZWFsdGguZGF5X2RldGFpbF9ydW5zIjoi5p+l55yL5q+P5qyh6L+Q6KGMIiwiaGVhbHRoLnJ1bl9zdGF0ZS5zdWNjZWVkZWQiOiLmiJDlip8iLCJoZWFsdGgucnVuX3N0YXRlLmZhaWxlZCI6IuWksei0pSIsImhlYWx0aC5ydW5fc3RhdGUuYmxvY2tlZCI6Iuiiq+aLpuaIqiIsImhlYWx0aC5ydW5fc3RhdGUubm9fZGF0YSI6IuaaguaXoOaVsOaNriIsImhlYWx0aC5ydW5fc3RhdGUubm90X2Nvbm5lY3RlZCI6IuacquaOpeWFpSIsImhlYWx0aC5ydW5fc3RhdGUubm90X3J1biI6IuWwmuacquWIsOacn+aIlumdnui/kOihjOaXtuautSIsImhlYWx0aC5ydW5fc3RhdGUudW5rbm93biI6IuacquefpSIsImhlYWx0aC5ydW5fc3RhdGUucmVhZF9mYWlsZWQiOiLor7vlj5blpLHotKUiLCJoZWFsdGgucnVuX3N0YXRlLmluY29tcGxldGUiOiLor7vlj5bkuI3lrozmlbQiLCJoZWFsdGgucm90YXRpb24udGl0bGUiOiLlh63or4Hova7mjaIiLCJoZWFsdGgucm90YXRpb24ub3BlbiI6IuabtOaWsCBJQktSIEZsZXggdG9rZW4iLCJoZWFsdGgucm90YXRpb24uY2xvc2UiOiLmlLbotbfova7mjaLooajljZUiLCJoZWFsdGgucm90YXRpb24ubGFzdF9yb3RhdGVkIjoi5LiK5qyh5a6M5oiQ6L2u5o2iIiwiaGVhbHRoLnJvdGF0aW9uLmV4cGlyZXMiOiLliLDmnJ/ml7bpl7QiLCJoZWFsdGgucm90YXRpb24ubmV2ZXJfcm90YXRlZCI6IuWwmuaXoOWujOaIkOiusOW9lSIsImhlYWx0aC5yb3RhdGlvbi5ub19leHBpcnkiOiLmnKrnmbvorrAiLCJoZWFsdGgucm90YXRpb24ubmV3X3NlY3JldCI6IuaWsCB0b2tlbu+8iOWPquWGme+8iSIsImhlYWx0aC5yb3RhdGlvbi5uZXdfZXhwaXJ5Ijoi5pawIHRva2VuIOWIsOacn+aXtuWIu++8iOWQq+aXtuWMuu+8iSIsImhlYWx0aC5yb3RhdGlvbi5zdGVwX3VwX21ldGhvZCI6IuS6jOasoemqjOivgeaWueW8jyIsImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfdG90cCI6IuWKqOaAgemqjOivgeeggSIsImhlYWx0aC5yb3RhdGlvbi5tZXRob2RfcmVjb3ZlcnkiOiLmgaLlpI3noIEiLCJoZWFsdGgucm90YXRpb24ub25lX3RpbWVfY29kZSI6IuacrOasoemqjOivgeeggSIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZSI6IuaaguWtmOaWsCB0b2tlbiIsImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSI6IuehruiupOWujOaIkOi9ruaNoiIsImhlYWx0aC5yb3RhdGlvbi5jYW5jZWwiOiLlj5bmtojlubbnpoHnlKjmmoLlrZjniYjmnKwiLCJoZWFsdGgucm90YXRpb24ud29ya2luZyI6Iuato+WcqOaPkOS6pOKApiIsImhlYWx0aC5yb3RhdGlvbi5yZWZyZXNoIjoi6YeN5paw6K+75Y+W54q25oCBIiwiaGVhbHRoLnJvdGF0aW9uLndyaXRlX29ubHlfbm90ZSI6IuaPkOS6pOWQjuS4jeS8muaYvuekuuaIlumHjeaWsOivu+WPliB0b2tlbuOAgiIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZV9ub3RlIjoi5pqC5a2Y5LiN5Lya56aB55So5pen54mI5pys77yb5a6M5oiQ5LiL5ri45pu05paw5ZKM6aqM6K+B5ZCO5YaN56Gu6K6k44CCIiwiaGVhbHRoLnJvdGF0aW9uLmZpbmFsaXplX2FjayI6IuaIkeW3suabtOaWsOW5tumqjOivgeWFqOmDqOS4i+a4uOS9v+eUqOaWueOAgiIsImhlYWx0aC5yb3RhdGlvbi5jYW5jZWxfbm90ZSI6IuWPlua2iOWPquemgeeUqOacrOasoeaaguWtmOeahOaWsOeJiOacrOOAgiIsImhlYWx0aC5yb3RhdGlvbi51bmtub3duX25vdGUiOiLnu5PmnpzmnKrnoa7orqTvvIzkuI3opoHph43lpI3mj5DkuqTvvJvor7fph43mlrDor7vlj5blubblr7notKbjgIIiLCJoZWFsdGgucm90YXRpb24udmFsaWRhdGlvbiI6Iuivt+Whq+WGmeaWsCB0b2tlbuOAgeacieaViOWIsOacn+aXtuWIu+WSjOmqjOivgeeggeOAgiIsImhlYWx0aC5yb3RhdGlvbi5yZXF1ZXN0X2ZhaWxlZCI6IuaTjeS9nOacquiiq+ehruiupO+8jOivt+ivu+WPluW9k+WJjeeKtuaAgeOAgiIsImhlYWx0aC5yb3RhdGlvbi51bmF2YWlsYWJsZSI6IuW9k+WJjei0puWPt+aIlueKtuaAgeS4jeWFgeiuuOatpOaTjeS9nOOAgiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5hZGRpbmdfdmVyc2lvbiI6Iuato+WcqOaaguWtmOaWsOeJiOacrCIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5zdGFnZWQiOiLlt7LmmoLlrZjvvIzlvoXkuIvmuLjpqozor4EiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemluZyI6Iuato+WcqOWujOaIkOi9ruaNoiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5maW5hbGl6ZWQiOiLova7mjaLlt7LlrozmiJAiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsaW5nIjoi5q2j5Zyo5Y+W5raI5pqC5a2Y54mI5pysIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmNhbmNlbGVkIjoi5pqC5a2Y54mI5pys5bey5Y+W5raIIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmFkZF91bmtub3duIjoi5pqC5a2Y57uT5p6c5pyq56Gu6K6kIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZpbmFsaXplX3Vua25vd24iOiLlrozmiJDnu5PmnpzmnKrnoa7orqQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsX3Vua25vd24iOiLlj5bmtojnu5PmnpzmnKrnoa7orqQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmFpbGVkIjoi5pON5L2c5aSx6LSl77yM5pyq56Gu6K6k5Y+R55Sf5YaZ5YWlIn0sUm09eyJoZWFsdGguZmFpbHVyZV9hdF9sZWFzdCI6IkF0IGxlYXN0IHtjb3VudH0iLCJoZWFsdGguZmFpbHVyZV93aW5kb3ciOiJ7ZGF0ZX0gwrcgTmV3IFlvcmsgdGltZSIsImhlYWx0aC5mYWlsdXJlX3dpbmRvd19kZXRhaWwiOiJUb2RheSBvbmx5OyBleGNsdWRlcyB0aGUgMTQtZGF5IGhpc3RvcnkgYmVsb3cuIE5ldyBZb3JrIHRpbWUgb2JzZXJ2ZXMgRFNULiIsImhlYWx0aC5mYWlsdXJlX2luY29tcGxldGUiOiJTb21lIGRhdGEgd2FzIG5vdCByZXR1cm5lZCIsImhlYWx0aC5rcGkudG9kYXlfcnVucyI6IkFjY291bnRzIHdpdGggY29tcGxldGUgZGF0YSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlIjoiTm90IGNvbm5lY3RlZDoge25vdF9jb25uZWN0ZWR9IMK3IG5vIGRhdGE6IHtub19kYXRhfSIsImhlYWx0aC5rcGkudG9kYXlfcnVuc19ub3RlX3RpdGxlIjoiTm90IGNvbm5lY3RlZCBhbmQgbm8gZGF0YSBkbyBub3QgY291bnQgYXMgZmFpbHVyZXMuIiwiaGVhbHRoLmtwaS5vYnNlcnZlZCI6IkFjY291bnRzIHdpdGggdG9kYXkncyByZWNvcmRzIiwiaGVhbHRoLmtwaS5jcmVkZW50aWFscyI6IkNyZWRlbnRpYWxzIiwiaGVhbHRoLmtwaS5jcmVkZW50aWFsc191bml0IjoibmVlZCBhdHRlbnRpb24iLCJoZWFsdGgua3BpLnJlY2VudF9mYWlsdXJlIjoiVG9kYXkncyBmYWlsZWQgYWNjb3VudHMiLCJoZWFsdGguYnVzaW5lc3NfZGF0ZSI6Ik5ldyBZb3JrIGJ1c2luZXNzIGRheSB7dmFsdWV9IiwiaGVhbHRoLm5vbl90cmFkaW5nX2RheSI6Ik5vbi10cmFkaW5nIGRheTogbm8gc2NoZWR1bGVkIHdlZWtlbmQgcnVuczsgY3J5cHRvIGFjY291bnRzIG1heSBzdGlsbCByZXBvcnQuIiwiaGVhbHRoLm5vbl90cmFkaW5nX2RheV9zaG9ydCI6Ik5vbi10cmFkaW5nIGRheSIsImhlYWx0aC5ncmlkX3JlYWRfZmFpbGVkX25vdGUiOiJTb21lIGRhdGVzIGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3aGV0aGVyIGEgcnVuIG9jY3VycmVkIGlzIHVua25vd24uIiwiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkIjoiQmluZGluZyByb3RhdGVkIiwiaGVhbHRoLmdyaWQuYmluZGluZ19jaGFuZ2VkX2RldGFpbCI6IlRoaXMgZGF5IHdhcyByZWNvcmRlZCB1bmRlciBhbiBlYXJsaWVyIGJpbmRpbmcgYW5kIG5vIGxvbmdlciBtYXRjaGVzIHRoZSBjdXJyZW50IGFjY291bnQgYmluZGluZywgc28gaXQgaXMgbm90IHNob3duLiBJdCBkb2VzIG5vdCBtZWFuIG5vIHJ1biBvY2N1cnJlZC4iLCJoZWFsdGguZ3JpZF9iaW5kaW5nX2NoYW5nZWRfbm90ZSI6IlNvbWUgZGF0ZXMgcHJlZGF0ZSBhIGJpbmRpbmcgcm90YXRpb247IHRoZWlyIHJlY29yZHMgYXJlIHJldGFpbmVkIGJ1dCBuZXZlciBtaXhlZCB3aXRoIHRoZSBjdXJyZW50IGFjY291bnQgYmluZGluZy4iLCJoZWFsdGguZ2xvYmFsX3Njb3BlX25vdGUiOiJUaGlzIHBhZ2Ugc2hvd3MgcnVudGltZSBzdGF0dXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGFjY291bnRzLiIsImhlYWx0aC5ncmlkLmluY29tcGxldGUiOiJJbmNvbXBsZXRlIiwiaGVhbHRoLmNvbC5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbCIsImhlYWx0aC5jb2wuY2hhbm5lbCI6IkNoYW5uZWwiLCJoZWFsdGguY29sLnN1bW1hcnkiOiJTdW1tYXJ5IiwiaGVhbHRoLmRldGFpbC5zdGFydGVkIjoiU3RhcnRlZCIsImhlYWx0aC5kZXRhaWwuZmluaXNoZWQiOiJGaW5pc2hlZCIsImhlYWx0aC5hY2NvdW50X2ZyYWN0aW9uIjoie2NvdW50fS97dG90YWx9IiwiaGVhbHRoLnN0YXRlX2NvdW50cyI6IlRvZGF5J3MgYWNjb3VudCBzdGF0ZXMgKHdpdGggZGF0YSkiLCJoZWFsdGguc3RhdGVfZGV0YWlscyI6IlN0YXR1cyBkZXRhaWxzIiwiaGVhbHRoLmRheV9kZXRhaWxfc3VtbWFyeSI6Intjb3VudH0gcnVucyIsImhlYWx0aC5kYXlfZGV0YWlsX3J1bnMiOiJWaWV3IGluZGl2aWR1YWwgcnVucyIsImhlYWx0aC5ydW5fc3RhdGUuc3VjY2VlZGVkIjoiU3VjY2VlZGVkIiwiaGVhbHRoLnJ1bl9zdGF0ZS5mYWlsZWQiOiJGYWlsZWQiLCJoZWFsdGgucnVuX3N0YXRlLmJsb2NrZWQiOiJCbG9ja2VkIiwiaGVhbHRoLnJ1bl9zdGF0ZS5ub19kYXRhIjoiTm8gZGF0YSIsImhlYWx0aC5ydW5fc3RhdGUubm90X2Nvbm5lY3RlZCI6Ik5vdCBjb25uZWN0ZWQiLCJoZWFsdGgucnVuX3N0YXRlLm5vdF9ydW4iOiJOb3QgZHVlIG9yIG91dHNpZGUgcnVuIHdpbmRvdyIsImhlYWx0aC5ydW5fc3RhdGUudW5rbm93biI6IlVua25vd24iLCJoZWFsdGgucnVuX3N0YXRlLnJlYWRfZmFpbGVkIjoiUmVhZCBmYWlsZWQiLCJoZWFsdGgucnVuX3N0YXRlLmluY29tcGxldGUiOiJSZWFkIGluY29tcGxldGUiLCJoZWFsdGgucm90YXRpb24udGl0bGUiOiJDcmVkZW50aWFsIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLm9wZW4iOiJVcGRhdGUgSUJLUiBGbGV4IHRva2VuIiwiaGVhbHRoLnJvdGF0aW9uLmNsb3NlIjoiQ2xvc2Ugcm90YXRpb24gZm9ybSIsImhlYWx0aC5yb3RhdGlvbi5sYXN0X3JvdGF0ZWQiOiJMYXN0IHJvdGF0ZWQiLCJoZWFsdGgucm90YXRpb24uZXhwaXJlcyI6IkV4cGlyeSIsImhlYWx0aC5yb3RhdGlvbi5uZXZlcl9yb3RhdGVkIjoiTm8gY29tcGxldGVkIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLm5vX2V4cGlyeSI6Ik5vdCByZWNvcmRlZCIsImhlYWx0aC5yb3RhdGlvbi5uZXdfc2VjcmV0IjoiTmV3IHRva2VuICh3cml0ZS1vbmx5KSIsImhlYWx0aC5yb3RhdGlvbi5uZXdfZXhwaXJ5IjoiTmV3IHRva2VuIGV4cGlyeSAod2l0aCB0aW1lIHpvbmUpIiwiaGVhbHRoLnJvdGF0aW9uLnN0ZXBfdXBfbWV0aG9kIjoiU2Vjb25kLWZhY3RvciBtZXRob2QiLCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3RvdHAiOiJBdXRoZW50aWNhdG9yIGNvZGUiLCJoZWFsdGgucm90YXRpb24ubWV0aG9kX3JlY292ZXJ5IjoiUmVjb3ZlcnkgY29kZSIsImhlYWx0aC5yb3RhdGlvbi5vbmVfdGltZV9jb2RlIjoiT25lLXRpbWUgY29kZSIsImhlYWx0aC5yb3RhdGlvbi5zdGFnZSI6IlN0YWdlIG5ldyB0b2tlbiIsImhlYWx0aC5yb3RhdGlvbi5maW5hbGl6ZSI6IkZpbmFsaXplIHJvdGF0aW9uIiwiaGVhbHRoLnJvdGF0aW9uLmNhbmNlbCI6IkNhbmNlbCBzdGFnZWQgdmVyc2lvbiIsImhlYWx0aC5yb3RhdGlvbi53b3JraW5nIjoiU3VibWl0dGluZ+KApiIsImhlYWx0aC5yb3RhdGlvbi5yZWZyZXNoIjoiUmVmcmVzaCBzdGF0dXMiLCJoZWFsdGgucm90YXRpb24ud3JpdGVfb25seV9ub3RlIjoiVGhlIHRva2VuIGlzIG5ldmVyIGRpc3BsYXllZCBvciByZWFkIGJhY2sgYWZ0ZXIgc3VibWlzc2lvbi4iLCJoZWFsdGgucm90YXRpb24uc3RhZ2Vfbm90ZSI6IlN0YWdpbmcga2VlcHMgdGhlIG9sZCB2ZXJzaW9uIGVuYWJsZWQ7IGZpbmFsaXplIG9ubHkgYWZ0ZXIgZG93bnN0cmVhbSB1cGRhdGUgYW5kIHZlcmlmaWNhdGlvbi4iLCJoZWFsdGgucm90YXRpb24uZmluYWxpemVfYWNrIjoiSSBoYXZlIHVwZGF0ZWQgYW5kIHZlcmlmaWVkIGFsbCBkb3duc3RyZWFtIGNvbnN1bWVycy4iLCJoZWFsdGgucm90YXRpb24uY2FuY2VsX25vdGUiOiJDYW5jZWwgZGlzYWJsZXMgb25seSB0aGlzIHN0YWdlZCBuZXcgdmVyc2lvbi4iLCJoZWFsdGgucm90YXRpb24udW5rbm93bl9ub3RlIjoiVGhlIG91dGNvbWUgaXMgdW5jb25maXJtZWQuIERvIG5vdCByZXN1Ym1pdDsgcmVmcmVzaCBhbmQgcmVjb25jaWxlLiIsImhlYWx0aC5yb3RhdGlvbi52YWxpZGF0aW9uIjoiRW50ZXIgdGhlIG5ldyB0b2tlbiwgYSB2YWxpZCBleHBpcnksIGFuZCBhIG9uZS10aW1lIGNvZGUuIiwiaGVhbHRoLnJvdGF0aW9uLnJlcXVlc3RfZmFpbGVkIjoiVGhlIG9wZXJhdGlvbiB3YXMgbm90IGNvbmZpcm1lZDsgcmVhZCB0aGUgY3VycmVudCBzdGF0dXMuIiwiaGVhbHRoLnJvdGF0aW9uLnVuYXZhaWxhYmxlIjoiVGhpcyBhY2NvdW50IG9yIG9wZXJhdGlvbiBzdGF0ZSBkb2VzIG5vdCBhbGxvdyB0aGF0IGFjdGlvbi4iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuYWRkaW5nX3ZlcnNpb24iOiJTdGFnaW5nIG5ldyB2ZXJzaW9uIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLnN0YWdlZCI6IlN0YWdlZDsgZG93bnN0cmVhbSB2ZXJpZmljYXRpb24gcmVxdWlyZWQiLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemluZyI6IkZpbmFsaXppbmcgcm90YXRpb24iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuZmluYWxpemVkIjoiUm90YXRpb24gZmluYWxpemVkIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmNhbmNlbGluZyI6IkNhbmNlbGluZyBzdGFnZWQgdmVyc2lvbiIsImhlYWx0aC5yb3RhdGlvbi5zdGF0ZS5jYW5jZWxlZCI6IlN0YWdlZCB2ZXJzaW9uIGNhbmNlbGVkIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmFkZF91bmtub3duIjoiU3RhZ2Ugb3V0Y29tZSB1bmtub3duIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZpbmFsaXplX3Vua25vd24iOiJGaW5hbGl6ZSBvdXRjb21lIHVua25vd24iLCJoZWFsdGgucm90YXRpb24uc3RhdGUuY2FuY2VsX3Vua25vd24iOiJDYW5jZWwgb3V0Y29tZSB1bmtub3duIiwiaGVhbHRoLnJvdGF0aW9uLnN0YXRlLmZhaWxlZCI6IkZhaWxlZDsgbm8gd3JpdGUgaXMgY29uZmlybWVkIn0sem09eyJmYWN0cy5hc3NldHMiOiLotYTkuqciLCJmYWN0cy5jYXNoIjoi546w6YeRIiwiZmFjdHMuYXZhaWxhYmxlX2Nhc2giOiLlj6/nlKjnjrDph5EiLCJmYWN0cy5jYXNoX3NlbWFudGljcyI6IuWIuOWVhuaPkOS+m+eahOeOsOmHkeS9memine+8jOS4jeS7o+ihqOi0reS5sOWKm+OAgeWPr+eUqOi1hOmHkeaIluS/neivgemHkeOAgiIsImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQiOiLotKbmiLfouqvku73mnKrmoLjpqozvvIzph5Hpop3mmoLkuI3lsZXnpLoiLCJmYWN0cy5wbGF0Zm9ybV9pZGVudGl0eV91bnZlcmlmaWVkIjoi5bmz5Y+w5ZCI6K6h5LiN5Y+v55So77ya5pyJ6LSm5oi36Lqr5Lu95pyq5qC46aqMIiwiZmFjdHMub2JzZXJ2YXRpb25fY29uZmxpY3QiOiLlkIzkuIDotKbmiLfouqvku73nmoTmlbDmja7kuI3kuIDoh7TvvIzph5Hpop3mmoLkuI3lsZXnpLoiLCJmYWN0cy5hbW91bnRfdW5hdmFpbGFibGUiOiLph5Hpop3kuI3lj6/nlKgiLCJmYWN0cy5wbGF0Zm9ybV90b3RhbCI6IuW5s+WPsOWQiOiuoSIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsIjoi6YOo5YiG5ZCI6K6hIiwiZmFjdHMucGxhdGZvcm1fdG90YWxfbGl2ZSI6IuWunuebmOWQiOiuoSIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsX2xpdmUiOiLlrp7nm5jlsI/orqEiLCJmYWN0cy5wbGF0Zm9ybV9zY29wZV9ub3RlIjoi5LuF5ZCr5a6e55uY6LSm5oi377yM5LiN5ZCr5qih5ouf6LSm5oi377yb5LuF5ZCI6K6h5bey5qC46aqM5LiU5Lyw5YC85pel5pyf5LiA6Ie055qE6LSm5oi344CCIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWxfbm90ZSI6IuS7heWQiOiuoeW3suaguOmqjOS4lOS8sOWAvOaXpeacn+S4gOiHtOeahOi0puaIt+OAgiIsImZhY3RzLmNvdmVyYWdlIjoi5bey6K6h5YWlIHtjb3ZlcmVkfS97ZXhwZWN0ZWR9IOS4qui0puaItyIsImZhY3RzLnBhcnRpYWxfYmFkZ2UiOiLkvLDlgLzkuI3lrozmlbQiLCJmYWN0cy5zdGFsZV9wZW5kaW5nIjoi5b6F5pu05pawIiwiZmFjdHMuYXNfb2Zfc3RhbGUiOiLmiKroh7Mge3ZhbHVlfSDCtyDlvoXmm7TmlrAiLCJmYWN0cy5pZGVudGl0eV9hY3Rpb24iOiLljrvmoLjpqozotKbmiLciLCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIjoi6ZKx5YyF5Lyw5YC8IiwiZmFjdHMud2FsbGV0X2hvbGRpbmdzIjoi5oyB5LuTIMK3IHtjb3VudH0g56eN6LWE5LqnIiwiZmFjdHMud2FsbGV0X3Njb3BlX25vdGUiOiJCaW5hbmNlIOi/lOWbnueahOmSseWMheS8sOWAvO+8jOS4jeS7o+ihqOWujOaVtOi0puaIt+WHgOWAvOaIlueOsOmHke+8m+S4jeiuoeWFpeWunuebmOi0puaIt+WQiOiuoeOAgiIsImZhY3RzLndhbGxldF9ob2xkaW5nc19zY29wZV9ub3RlIjoi5oyB5LuT5pWw6YeP5LuF6KaG55uW546w6LSn5LiO5rS75pyf55CG6LSi77yM5LiN5ZCr6LWE6YeR6LSm5oi344CB5p2g5p2G44CB5ZCI57qm5Y+K6ZSB5a6a55CG6LSi44CCIiwiZmFjdHMud2FsbGV0X3VuYXZhaWxhYmxlIjoi5pqC5LiN5Y+v55SoIiwiZmFjdHMud2FsbGV0X25vX2RhdGEiOiLmmoLml6DmlbDmja4iLCJmYWN0cy53YWxsZXRfcGVuZGluZyI6IuW+heabtOaWsCIsImZhY3RzLndhbGxldF9yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pSJ9LE5tPXsiZmFjdHMuYXNzZXRzIjoiQXNzZXRzIiwiZmFjdHMuY2FzaCI6IkNhc2giLCJmYWN0cy5hdmFpbGFibGVfY2FzaCI6IkF2YWlsYWJsZSBjYXNoIiwiZmFjdHMuY2FzaF9zZW1hbnRpY3MiOiJCcm9rZXItcmVwb3J0ZWQgY2FzaCBiYWxhbmNlOyB0aGlzIGlzIG5vdCBidXlpbmcgcG93ZXIsIGF2YWlsYWJsZSBmdW5kcywgb3IgbWFyZ2luLiIsImZhY3RzLmlkZW50aXR5X3VudmVyaWZpZWQiOiJBY2NvdW50IGlkZW50aXR5IHVudmVyaWZpZWQ7IGFtb3VudHMgYXJlIGhpZGRlbiIsImZhY3RzLnBsYXRmb3JtX2lkZW50aXR5X3VudmVyaWZpZWQiOiJQbGF0Zm9ybSB0b3RhbCB1bmF2YWlsYWJsZTogc29tZSBhY2NvdW50IGlkZW50aXRpZXMgYXJlIHVudmVyaWZpZWQiLCJmYWN0cy5vYnNlcnZhdGlvbl9jb25mbGljdCI6IkRhdGEgY29uZmxpY3RzIGZvciB0aGUgc2FtZSBhY2NvdW50IGlkZW50aXR5OyBhbW91bnRzIGFyZSBoaWRkZW4iLCJmYWN0cy5hbW91bnRfdW5hdmFpbGFibGUiOiJBbW91bnQgdW5hdmFpbGFibGUiLCJmYWN0cy5wbGF0Zm9ybV90b3RhbCI6IlBsYXRmb3JtIHRvdGFsIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWwiOiJTdWJ0b3RhbCIsImZhY3RzLnBsYXRmb3JtX3RvdGFsX2xpdmUiOiJMaXZlIHRvdGFsIiwiZmFjdHMucGxhdGZvcm1fc3VidG90YWxfbGl2ZSI6IkxpdmUgc3VidG90YWwiLCJmYWN0cy5wbGF0Zm9ybV9zY29wZV9ub3RlIjoiTGl2ZSBhY2NvdW50cyBvbmx5OyBwYXBlciBhY2NvdW50cyBhcmUgZXhjbHVkZWQuIE9ubHkgdmVyaWZpZWQgYWNjb3VudHMgd2l0aCB0aGUgc2FtZSB2YWx1YXRpb24gZGF0ZSBhcmUgc3VtbWVkLiIsImZhY3RzLnBsYXRmb3JtX3N1YnRvdGFsX25vdGUiOiJPbmx5IHZlcmlmaWVkIGFjY291bnRzIHdpdGggdGhlIHNhbWUgdmFsdWF0aW9uIGRhdGUgYXJlIGluY2x1ZGVkLiIsImZhY3RzLmNvdmVyYWdlIjoiSW5jbHVkZXMge2NvdmVyZWR9IG9mIHtleHBlY3RlZH0gYWNjb3VudHMiLCJmYWN0cy5wYXJ0aWFsX2JhZGdlIjoiVmFsdWF0aW9uIGluY29tcGxldGUiLCJmYWN0cy5zdGFsZV9wZW5kaW5nIjoiVXBkYXRlIHBlbmRpbmciLCJmYWN0cy5hc19vZl9zdGFsZSI6IkFzIG9mIHt2YWx1ZX0gwrcgdXBkYXRlIHBlbmRpbmciLCJmYWN0cy5pZGVudGl0eV9hY3Rpb24iOiJWZXJpZnkgYWNjb3VudHMiLCJmYWN0cy53YWxsZXRfdmFsdWF0aW9uIjoiV2FsbGV0IHZhbHVhdGlvbiIsImZhY3RzLndhbGxldF9ob2xkaW5ncyI6IkhvbGRpbmdzIMK3IHtjb3VudH0gYXNzZXRzIiwiZmFjdHMud2FsbGV0X3Njb3BlX25vdGUiOiJQcm92aWRlci1yZXR1cm5lZCB3YWxsZXQgdmFsdWF0aW9uLCBub3QgY29tcGxldGUgYWNjb3VudCBOQVYgb3IgY2FzaDsgZXhjbHVkZWQgZnJvbSBsaXZlLWFjY291bnQgdG90YWxzLiIsImZhY3RzLndhbGxldF9ob2xkaW5nc19zY29wZV9ub3RlIjoiUXVhbnRpdGllcyBjb3ZlciBTcG90IGFuZCBGbGV4aWJsZSBFYXJuIG9ubHk7IGZ1bmRpbmcsIG1hcmdpbiwgZnV0dXJlcywgYW5kIGxvY2tlZCBFYXJuIGFyZSBleGNsdWRlZC4iLCJmYWN0cy53YWxsZXRfdW5hdmFpbGFibGUiOiJUZW1wb3JhcmlseSB1bmF2YWlsYWJsZSIsImZhY3RzLndhbGxldF9ub19kYXRhIjoiTm8gZGF0YSIsImZhY3RzLndhbGxldF9wZW5kaW5nIjoiVXBkYXRlIHBlbmRpbmciLCJmYWN0cy53YWxsZXRfcmVhZF9mYWlsZWQiOiJSZWFkIGZhaWxlZCJ9LE9tPXsiY29ja3BpdC5zeW50aGV0aWMiOiLnpLrkvovmlbDmja4iLCJjb2NrcGl0LnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0Lm5vdF9zZXQiOiLmnKrorr7nva4iLCJjb2NrcGl0LmFzX29mIjoi5oiq6IezIHt2YWx1ZX0iLCJjb2NrcGl0LmZyZXNobmVzcy5jdXJyZW50Ijoi5pyA5pawIiwiY29ja3BpdC5mcmVzaG5lc3Muc3RhbGUiOiLlt7Lov4fml7YiLCJjb2NrcGl0LmZyZXNobmVzcy5leHBpcmVkIjoi5bey5aSx5pWIIiwiY29ja3BpdC5mcmVzaG5lc3MubWlzc2luZyI6IuacquaPkOS+myIsImNvY2twaXQuZnJlc2huZXNzLnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0LmZyZXNobmVzcy5wYXJ0aWFsIjoi6YOo5YiG6KaG55uWIiwiY29ja3BpdC5mcmVzaG5lc3MudW5hdmFpbGFibGUiOiLmmoLkuI3lj6/nlKgiLCJjb2NrcGl0LmZyZXNobmVzcy5yZWFkX2ZhaWxlZCI6Iuivu+WPluWksei0pSIsImNvY2twaXQuZXhwaXJ5Lm5vbmUiOiLml6DmnInmlYjmnJ/pmZDliLYiLCJjb2NrcGl0LmV4cGlyeS51bmtub3duIjoi5pyJ5pWI5pyf5peg5rOV56Gu6K6kIiwiY29ja3BpdC5leHBpcnkuYXQiOiLmnInmlYjmnJ/oh7Mge3ZhbHVlfSIsImNvY2twaXQuZXhwaXJ5Lm9wZW4iOiJ7dmFsdWV9IOWQjuWkseaViCIsImNvY2twaXQuZXhwaXJ5LnVuZGVyX2hvdXIiOiJ7dmFsdWV9IOWQjuWkseaViO+8iOS4jei2s+S4gOWwj+aXtu+8iSIsImNvY2twaXQuZXhwaXJ5LnVuZGVyX2ZpdmUiOiJ7dmFsdWV9IOWQjuWkseaViO+8iOS4jei2s+S6lOWIhumSn++8iSIsImNvY2twaXQuZXhwaXJ5LmV4cGlyZWQiOiLlt7LlpLHmlYgiLCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiI6IuS4jeWkhOeQhuWImeivpeWGs+WumuWIsOacn+WQjuiHquWKqOWkseaViO+8jOS4jeS8muaJp+ihjOS7u+S9leWPmOabtOOAgiIsImNvY2twaXQuZXhwaXJ5LmJvdW5kYXJ5Ijoi5Yiw5pyf5ZCO6ZyA6YeN5paw6K+75Y+W5Yaz5a6a77yM5LiN5Lya5bu26ZW/5pyJ5pWI5pyf44CCIiwiY29ja3BpdC5kZWNpc2lvbi5yZXZpZXciOiLmn6XnnIvlhrPlrpoiLCJjb2NrcGl0LmRlY2lzaW9uLnF1YWxpZmljYXRpb24iOiLotYTmoLzmkZjopoEiLCJjb2NrcGl0LmRlY2lzaW9uLnRhcmdldCI6IuebruaghyIsImNvY2twaXQuZGVjaXNpb24ucmVsZWFzZSI6IueJiOacrCIsImNvY2twaXQuZGVjaXNpb24udGllciI6IumjjumZqeaho+S9jSIsImNvY2twaXQuZGVjaXNpb24ucG9saWN5Ijoi562W55Wl54mI5pysIiwiY29ja3BpdC5kZWNpc2lvbi5vcGVyYXRpb24iOiLnlLPor7fnirbmgIEiLCJjb2NrcGl0LmRlY2lzaW9uLmV4cGlyZXMiOiLmnInmlYjmnJ8iLCJjb2NrcGl0LmRlY2lzaW9uLm5vX2FjdGlvbiI6IuS4jeWkhOeQhu+8muWIsOacn+WQjuiHquWKqOWkseaViO+8jOS4jeS6p+eUn+WPmOabtOOAgiIsImNvY2twaXQuZGVjaXNpb24uYmxvY2tlZCI6IuaaguS4jeWPr+WuoeaJuSIsImNvY2twaXQuZGVjaXNpb24uc2VsZWN0ZWQiOiLlvZPliY3lt7LpgIkiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLnBlbmRpbmciOiLlvoXlpITnkIYiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLmFwcHJvdmVkIjoi5bey5om55YeGIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5yZWplY3RlZCI6IuW3suaLkue7nSIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuZXhwaXJlZCI6IuW3sui/h+acnyIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuc3VwZXJzZWRlZCI6IuW3suiiq+WPluS7oyIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUud2l0aGRyYXduIjoi5bey5pKk5ZueIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS51bmtub3duIjoi54q25oCB5pyq55+lIiwiY29ja3BpdC5ibG9ja2VyLmV4cGlyZWQiOiLlhrPlrprlt7LliLDmnJ/jgIIiLCJjb2NrcGl0LmJsb2NrZXIuZXhwaXJ5Ijoi5pyJ5pWI5pyf5peg5rOV56Gu6K6k44CCIiwiY29ja3BpdC5ibG9ja2VyLm5vdF9hbGxvd2VkIjoi5pyN5Yqh56uv5b2T5YmN5LiN5YWB6K645a6h5om544CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfbWlzc2luZyI6IuaUr+aMgei1hOaWmee8uuWkseOAgiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0Ijoi5pSv5oyB6LWE5paZ5LiN5piv5pyA5paw5oiW5LiN5a6M5pW044CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfc3RhbGUiOiLmlK/mjIHotYTmlpnlt7Lov4fml7bvvIzlvZPliY3ml6Dms5Xmibnlh4bjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3VwcG9ydF9leHBpcmVkIjoi5pSv5oyB6LWE5paZ5bey5aSx5pWI77yM5b2T5YmN5peg5rOV5om55YeG44CCIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfdW5hdmFpbGFibGUiOiLmlK/mjIHotYTmlpnmnaXmupDkuI3lj6/nlKjvvIzlvZPliY3ml6Dms5Xmibnlh4bjgIIiLCJjb2NrcGl0LmJsb2NrZXIudW5xdWFsaWZpZWQiOiLmlK/mjIHotYTmlpnmnKrovr7liLDotYTmoLzopoHmsYLjgIIiLCJjb2NrcGl0LmJsb2NrZXIucG9saWN5Ijoi6aOO6Zmp562W55Wl5LiN5Y+v55So44CCIiwiY29ja3BpdC5ibG9ja2VyLmJpbmRpbmciOiLpo47pmanmoaPkvY3miJbnrZbnlaXniYjmnKzmnKrnu5HlrprjgIIiLCJjb2NrcGl0LmJsb2NrZXIucmV2aXNpb24iOiLlhrPlrprkv67orqLml6Dms5Xnoa7orqTjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGUiOiLor6XlhrPlrprlt7LkuI3lnKjlvoXlpITnkIbnirbmgIHjgIIiLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGVfdW5rbm93biI6IuaXoOazleivu+WPluivpeWGs+WumueahOeKtuaAge+8jOW9k+WJjeS4jeWPr+WuoeaJueOAgiIsImNvY2twaXQuYmxvY2tlci5vdGhlciI6IuW9k+WJjeS4jeWPr+WuoeaJueOAgiIsImNvY2twaXQuc3VwcG9ydC50aXRsZSI6IuaUr+aMgei1hOaWmSIsImNvY2twaXQuc3VwcG9ydC5xdWFsaWZpZWQiOiLlkIjmoLwiLCJjb2NrcGl0LnN1cHBvcnQucXVhbGlmaWVkX2xpbWl0ZWQiOiLlkIjmoLzkvYbmnInpmZDliLYiLCJjb2NrcGl0LnN1cHBvcnQudW5xdWFsaWZpZWQiOiLkuI3lkIjmoLwiLCJjb2NrcGl0LnN1cHBvcnQudW5rbm93biI6Iui1hOagvOacquefpSIsImNvY2twaXQuc3VwcG9ydC5vYnNlcnZlZCI6IuinguWvn+aXtumXtCB7dmFsdWV9IiwiY29ja3BpdC5zdXBwb3J0Lm9ic2VydmVkX2xhYmVsIjoi6KeC5a+f5pe26Ze0IiwiY29ja3BpdC5zdXBwb3J0LnZhbGlkX3VudGlsIjoi5pyJ5pWI6IezIHt2YWx1ZX0iLCJjb2NrcGl0LnN1cHBvcnQudmFsaWRfdW50aWxfbGFiZWwiOiLmnInmlYjoh7MiLCJjb2NrcGl0LnN1cHBvcnQubGltaXRhdGlvbnMiOiLpmZDliLYiLCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiOiLmnKrmiqXlkYrpmZDliLbjgIIiLCJjb2NrcGl0LnN1cHBvcnQubWlzc2luZyI6IuaUr+aMgei1hOaWmeacquaPkOS+m++8jOWuoeaJueS/neaMgeWFs+mXreOAgiIsImNvY2twaXQuc3VwcG9ydC51bmF2YWlsYWJsZSI6IuaUr+aMgei1hOaWmeaaguS4jeWPr+eUqOOAgiIsImNvY2twaXQuc3VwcG9ydC5zdGFsZSI6IuaUr+aMgei1hOaWmeW3sui/h+acn++8jOmcgOmHjeaWsOivu+WPluOAgiIsImNvY2twaXQuc3VwcG9ydC5leHBpcmVkIjoi5pSv5oyB6LWE5paZ5bey5aSx5pWI77yM5LiN6IO955So5LqO5a6h5om544CCIiwiY29ja3BpdC5zdXBwb3J0LnByb3ZlbmFuY2UiOiLmnaXmupDmoIfor4YiLCJjb2NrcGl0LnBvbGljeS50aXRsZSI6IumjjumZqeetlueVpSIsImNvY2twaXQucG9saWN5LnNlbGVjdGVkIjoi5bey6YCJ5YGP5aW9IiwiY29ja3BpdC5wb2xpY3kuYXBwcm92ZWQiOiLlt7Lmibnlh4bnrZbnlaUiLCJjb2NrcGl0LnBvbGljeS5lZmZlY3RpdmUiOiLnlJ/mlYjnrZbnlaUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbiI6IuS4tOaXtumZkOWItiIsImNvY2twaXQucG9saWN5Lm5vdF9vYnNlcnZlZCI6IuWwmuacquinguWvn+WIsCIsImNvY2twaXQucG9saWN5Lm1hcHBpbmdfdW5hdmFpbGFibGUiOiLnrZbnlaXmmKDlsITkuI3lj6/nlKgiLCJjb2NrcGl0LnBvbGljeS5yZWFkX2ZhaWxlZCI6IumjjumZqeetlueVpeivu+WPluWksei0peOAgiIsImNvY2twaXQucG9saWN5LnJldmlzaW9uIjoi5L+u6K6iIHt2YWx1ZX0iLCJjb2NrcGl0LnBvbGljeS52YWx1ZXMiOiLorqHnrpflh7rnmoTpmZDliLYiLCJjb2NrcGl0LnBvbGljeS5ub192YWx1ZXMiOiLmmoLml6DorqHnrpflgLzjgIIiLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UiOiLmnaXmupDvvJp7dmFsdWV9IiwiY29ja3BpdC5wb2xpY3kuc291cmNlX2xhYmVsIjoi5p2l5rqQIiwiY29ja3BpdC5wb2xpY3kudW5rbm93bl92YWx1ZSI6IuacquefpSIsImNvY2twaXQucG9saWN5LmN1cnJlbnQiOiLmmKDlsITlt7LmmK/mnIDmlrAiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbl9ub25lIjoi5pegIiwiY29ja3BpdC5wb2xpY3kuc2luY2UiOiLoh6oge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LmxpbWl0Lm1heF9ncm9zc19leHBvc3VyZSI6IuacgOWkp+aAu+aVnuWPoyIsImNvY2twaXQucG9saWN5LmxpbWl0LmNhc2hfZmxvb3IiOiLnjrDph5HkuIvpmZAiLCJjb2NrcGl0LnBvbGljeS5saW1pdC5vdGhlciI6IuWFtuS7lumZkOWItiIsImNvY2twaXQucG9saWN5LnNvdXJjZS5zZXJ2ZXIiOiLmnI3liqHnq68iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UudW5rbm93biI6Iuadpea6kOacquefpSIsImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCI6IiUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24ucmVkdWN0aW9uX29ubHkiOiLku4XlhYHorrjpmY3kvY7po47pmakiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24udW5rbm93biI6IuW3suWQr+eUqOS4tOaXtumZkOWItu+8jOWOn+WboOacquefpSIsImNvY2twaXQucG9saWN5LmVmZmVjdGl2ZV9ub3RlIjoi5bey6YCJ5YGP5aW95LiO55Sf5pWI562W55Wl5YiG5byA5pi+56S677yb6KeC5a+f56Gu6K6k5YmN5LiN5Lya6KeG5Li65bey55Sf5pWI44CCIiwiY29ja3BpdC50aWVyLnRpdGxlIjoi6aOO6Zmp5qGj5L2NIiwiY29ja3BpdC50aWVyLmNhcGl0YWwiOiLotYTmnKzkv53lhagiLCJjb2NrcGl0LnRpZXIuYmFsYW5jZWQiOiLlubPooaHlpI3liKkiLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoIjoi5oiQ6ZW/5aSN5YipIiwiY29ja3BpdC50aWVyLnVua25vd24iOiLmnKrnn6XmoaPkvY0iLCJjb2NrcGl0LnRpZXIuY2FwaXRhbF9ub3RlIjoi5YGP5aW96L6D5L2O6aOO6Zmp77yb6YCC55So6ZmQ5Yi255Sx5bey5om55YeG562W55Wl6K6h566X44CCIiwiY29ja3BpdC50aWVyLmJhbGFuY2VkX25vdGUiOiLlhbzpob7miJDplb/kuI7nuqbmnZ/vvJvpgILnlKjpmZDliLbnlLHlt7Lmibnlh4bnrZbnlaXorqHnrpfjgIIiLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoX25vdGUiOiLmjqXlj5fovoPpq5jpo47pmanvvJvpgILnlKjpmZDliLbnlLHlt7Lmibnlh4bnrZbnlaXorqHnrpfjgIIiLCJjb2NrcGl0LnRpZXIudW5zZXQiOiLlsJrmnKrpgInmi6kiLCJjb2NrcGl0LnRpZXIudW5zZXRfbm90ZSI6IuS/neWtmOWQjuihqOekuuaaguS4jemAieaLqemjjumZqeaho+S9jeOAgiIsImNvY2twaXQudGllci5zYXZlIjoi5L+d5a2Y5qGj5L2N6YCJ5oupIiwiY29ja3BpdC50aWVyLmRpcnR5Ijoi5bey5L+u5pS55L2G5pyq5L+d5a2YIiwiY29ja3BpdC50aWVyLnVuY2hhbmdlZCI6IuacquS/ruaUuSIsImNvY2twaXQudGllci5nYXRlIjoi5b2T5YmN5LiN5YWB6K645L+d5a2Y5qGj5L2N6YCJ5oup44CCIiwiY29ja3BpdC50aWVyLnNjb3BlIjoi6IyD5Zu0IHt2YWx1ZX0iLCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIjoi6YCJ5oup5L+u6K6iIHt2YWx1ZX0iLCJjb2NrcGl0LmxpZmVjeWNsZS50aXRsZSI6IueUn+WRveWRqOacnyIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6Iuatpei/m+WZqOaYvuekuu+8muaOiOadg+S4iumZkCIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuZWZmZWN0aXZlIjoi5q2l6L+b5Zmo5pi+56S677ya5a6e6ZmF6KeC5a+f6Zi25q61IiwiY29ja3BpdC5saWZlY3ljbGUuc3RlcC51bmNvbmZpcm1lZCI6IumYtuauteacquehruiupO+8muS7peS4i+S7heS4uuWAmemAiemYtuautSIsImNvY2twaXQubGlmZWN5Y2xlLmF4aXMucmVzZWFyY2giOiLnoJTnqbbpmLbmrrUiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmF1dGhvcml6ZWQiOiLmjojmnYPkuIrpmZAiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmVmZmVjdGl2ZSI6IuWunumZheinguWvnyIsImNvY2twaXQubGlmZWN5Y2xlLmF4aXMub3BlcmF0aW5nIjoi6L+Q6KGM54q25oCBIiwiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5hcHBsaWNhdGlvbiI6IuW6lOeUqOeKtuaAgSIsImNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLnJlc2VhcmNoIjoi56CU56m2IiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UucGFwZXIiOiLmqKHmi58iLCJjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS5zbWFsbF9saXZlIjoi5bCP6KeE5qih5a6e55uYIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuZnVsbF9saXZlIjoi5a6M5pW05a6e55uYIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIjoi6Zi25q615pyq5YiG57G7IiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJ1bm5pbmciOiLov5DooYzkuK0iLCJjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcucGF1c2VkIjoi5bey5pqC5YGcIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlZHVjdGlvbl9vbmx5Ijoi5LuF5YeP5LuTIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlY29uY2lsZV9vbmx5Ijoi5LuF5a+56LSmIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnVua25vd24iOiLmnKrnn6UiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5wZW5kaW5nIjoi5b6F5bqU55SoIiwiY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24uYXBwbHlpbmciOiLlupTnlKjkuK0iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5hcHBsaWVkIjoi5bmz5Y+w5bey5bqU55SoIiwiY29ja3BpdC5saWZlY3ljbGUuYXBwbGljYXRpb24ucmVqZWN0ZWQiOiLlupTnlKjooqvmi5Lnu50iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5mYWlsZWQiOiLlupTnlKjlpLHotKUiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi51bmtub3duIjoi5pyq55+lIiwiY29ja3BpdC5saWZlY3ljbGUubm90ZSI6IumYtuauteOAgeaOiOadg+OAgeWunumZheinguWvn+WSjOi/kOihjOeKtuaAgeWIhuWIq+aYvuekuu+8m+eVjOmdouS4jeS8muiHquihjOaPkOWNh+mYtuauteOAgiIsImNvY2twaXQubGlmZWN5Y2xlLm5vdF9wcm92aWRlZCI6IuacquaPkOS+m+ivpeebruagh+eahOeUn+WRveWRqOacn+mYtuauteS/oeaBr+OAgiIsImNvY2twaXQubGlmZWN5Y2xlLmlkZW50aXR5Ijoi54mI5pysIHtyZWxlYXNlfSDCtyDnm67moIcge3RhcmdldH0iLCJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LnJpc2tfcmVkdWN0aW9uX29ubHkiOiLku4XlhYHorrjpmY3kvY7po47pmakiLCJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LnVua25vd24iOiLluILlnLrnirbmgIHlvbHlk43mnKrnn6UiLCJjb2NrcGl0Lm9wZXJhdGlvbi50aXRsZSI6IueUs+ivt+eKtuaAgSIsImNvY2twaXQub3BlcmF0aW9uLmRlY2lzaW9uIjoi5Yaz5a6aIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGljYXRpb24iOiLlupTnlKgiLCJjb2NrcGl0Lm9wZXJhdGlvbi5vYnNlcnZhdGlvbiI6Iui/kOihjOinguWvnyIsImNvY2twaXQub3BlcmF0aW9uLnJlY29yZGVkIjoi5Yaz5a6a5bey6K6w5b2VIiwiY29ja3BpdC5vcGVyYXRpb24uYWNjZXB0ZWQiOiLlt7LmjqXlj5fvvIznrYnlvoXlubPlj7DlpITnkIYiLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBseWluZyI6IuW6lOeUqOi/m+ihjOS4rSIsImNvY2twaXQub3BlcmF0aW9uLnJlamVjdGVkIjoi5bqU55So6KKr5ouS57udIiwiY29ja3BpdC5vcGVyYXRpb24udW5rbm93biI6Iue7k+aenOacquefpSIsImNvY2twaXQub3BlcmF0aW9uLmZhaWxlZCI6IuW6lOeUqOWksei0pSIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfdW5vYnNlcnZlZCI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOetieW+hei/kOihjOehruiupCIsImNvY2twaXQub3BlcmF0aW9uLmNvbmZpcm1lZCI6Iui/kOihjOW3suehruiupCIsImNvY2twaXQub3BlcmF0aW9uLnJlZnJlc2giOiLliLfmlrDnirbmgIEiLCJjb2NrcGl0Lm9wZXJhdGlvbi5pZCI6IuaTjeS9nOagh+ivhiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmVxdWVzdCI6Iuivt+axguagh+ivhiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmV2aXNpb24iOiLnu5Hlrprkv67orqIge3ZhbHVlfSIsImNvY2twaXQub3BlcmF0aW9uLm5vdF9yZWFkeSI6IuaTjeS9nOeKtuaAgeaOpeWPo+aaguS4jeWPr+eUqO+8jOaXoOazlei/veafpei/measoeeUs+ivt+OAgiIsImNvY2twaXQub3BlcmF0aW9uLnJlYWRfZmFpbGVkIjoi5pON5L2c54q25oCB6K+75Y+W5aSx6LSl44CCIiwiY29ja3BpdC5vcGVyYXRpb24ubm9fcmV0cnkiOiLnu5PmnpzmnKrnn6Xml7bkuI3kvJroh6rliqjph43or5XvvJvor7flhYjliLfmlrDnirbmgIHnoa7orqTjgIIiLCJjb2NrcGl0Lm9wZXJhdGlvbi5ub25lIjoi5pqC5peg5pON5L2c6K6w5b2V44CCIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9ub19yZWFkYmFjayI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOatpOebruagh+aXoOazleaPkOS+m+eLrOeri+eahOi/kOihjOaXtuWbnuivu+OAgiIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpZWRfcmVhZGJhY2tfdW5rbm93biI6IuW5s+WPsOW3suaKpeWRiuW6lOeUqO+8jOWbnuivu+iDveWKm+acquefpeOAgiIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLmlkbGUiOiLmnKrlvIDlp4siLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5hY3RpdmUiOiLov5vooYzkuK0iLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5jb21wbGV0ZSI6IuW3suWujOaIkCIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLmZhaWxlZCI6IuW3suWksei0pSIsImNvY2twaXQub3BlcmF0aW9uLnN0YWdlLnVuYXZhaWxhYmxlIjoi5peg5rOV54us56uL5Zue6K+7IiwiY29ja3BpdC5vcGVyYXRpb24ucmVhc29uLnVua25vd24iOiLmk43kvZznu5PmnpzlvoXnoa7orqQiLCJjb2NrcGl0LnBhdXNlLnRpdGxlIjoi6L+Q6KGM5o6n5Yi2IiwiY29ja3BpdC5wYXVzZS5wYXVzZSI6IuaaguWBnCIsImNvY2twaXQucGF1c2UucmVzdW1lIjoi5oGi5aSNIiwiY29ja3BpdC5wYXVzZS5wZW5kaW5nIjoi5o6n5Yi26K+35rGC5aSE55CG5LitIiwiY29ja3BpdC5wYXVzZS51bmF2YWlsYWJsZSI6IuW9k+WJjeS4jeaUr+aMgeivpeaTjeS9nOOAgiIsImNvY2twaXQucGF1c2Uubm90ZSI6IuaaguWBnOS4juaBouWkjeS9v+eUqOW5s+WPsOW3suacieivreS5ie+8m+W6lOeUqOaIkOWKn+S4jeetieS6jui/kOihjOW3suehruiupOOAgiIsImNvY2twaXQucGF1c2UucnVubmluZyI6Iui/kOihjOS4rSIsImNvY2twaXQucGF1c2UucGF1c2VkIjoi5bey5pqC5YGcIiwiY29ja3BpdC5wYXVzZS51bmtub3duIjoi6L+Q6KGM54q25oCB5pyq55+lIiwiY29ja3BpdC5wYXVzZS5ub19saXF1aWRhdGlvbiI6IuaaguWBnOS4jeS8muW5s+S7k++8jOS5n+S4jeS8muaSpOmUgOW+heaIkOS6pOiuouWNleOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy50aXRsZSI6Iua0u+WKqOiusOW9lSIsImNvY2twaXQuY2hhbmdlX2xvZy5lbXB0eSI6IuaaguaXoOa0u+WKqOiusOW9leOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy51bmF2YWlsYWJsZSI6Iua0u+WKqOiusOW9leaaguS4jeWPr+eUqOOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy5sb2FkX2ZhaWxlZCI6Iua0u+WKqOiusOW9leivu+WPluWksei0peOAgiIsImNvY2twaXQuY2hhbmdlX2xvZy5tb3JlIjoi5Yqg6L295pu05aSaIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdG9yIjoi5pON5L2c6ICFIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdCI6IuWvueixoe+8mnt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cucmV2aXNpb24iOiLorrDlvZXkv67orqIge3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lIjoi57uT5p6cIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLnJlY29yZF9vd25lcl9kZWNpc2lvbiI6IuiusOW9lei0n+i0o+S6uuWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uYXBwcm92YWxfcmVjb3JkZWQiOiLorrDlvZXlrqHmibkiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLmFwcGxpY2F0aW9uX2Rpc3BhdGNoZWQiOiLmtL7lj5HlupTnlKjor7fmsYIiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLm90aGVyIjoi5YW25LuW5pON5L2cIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVjaWRlZCI6IuW3suWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnJlY29yZGVkIjoi5bey6K6w5b2VIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYXBwbHlpbmciOiLlupTnlKjkuK0iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5hcHBsaWVkIjoi5bey5bqU55SoIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUucmVqZWN0ZWQiOiLlt7Lmi5Lnu50iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5mYWlsZWQiOiLlpLHotKUiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS51bmtub3duIjoi5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5vd25lcl9kZWNpc2lvbiI6Iui0n+i0o+S6uuWGs+WumiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuc3RyYXRlZ3lfcHJvbW90aW9uIjoi562W55Wl5pmL57qnIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5yZWNvbmNpbGlhdGlvbl9yZWNvdmVyeSI6IuWvuei0puaBouWkjSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IuaooeaLn+i0puaIt+W6lOeUqCIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuYXBwbGljYXRpb24iOiLmqKHmi5/otKbmiLflupTnlKgiLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm90aGVyIjoi5YW25LuW5a+56LGhIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YWdlIjoi5pqC5a2Y5Yet6K+B5paw54mI5pysIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2ZpbmFsaXplIjoi5a6M5oiQ5Yet6K+B6L2u5o2iIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCI6IuWPlua2iOWHreivgeaaguWtmOeJiOacrCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uY3JlZGVudGlhbF9yb3RhdGlvbl9kZW5pZWQiOiLmi5Lnu53lh63or4Hova7mjaLmk43kvZwiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5zdGFnZWQiOiLlt7LmmoLlrZgiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZWQiOiLlt7LlrozmiJAiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5jYW5jZWxlZCI6IuW3suWPlua2iCIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLmFkZF91bmtub3duIjoi5pqC5a2Y57uT5p6c5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZmluYWxpemVfdW5rbm93biI6IuWujOaIkOe7k+aenOacquefpSIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLmNhbmNlbF91bmtub3duIjoi5Y+W5raI57uT5p6c5pyq55+lIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVuaWVkIjoi5bey5ouS57udIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5jcmVkZW50aWFsIjoi5Yet6K+BIiwiY29ja3BpdC5kaWdlc3QudGl0bGUiOiLmr4/ml6XmkZjopoHlj5HpgIEiLCJjb2NrcGl0LmRpZ2VzdC5hY2NlcHRlZCI6IuW3suaOpeWPl+aKlemAkiIsImNvY2twaXQuZGlnZXN0LmRlbGl2ZXJlZCI6IuS+m+W6lOWVhuW3suaOpeWPl+aKlemAkiIsImNvY2twaXQuZGlnZXN0LmZhaWxlZCI6IuWPkemAgeWksei0pSIsImNvY2twaXQuZGlnZXN0LnVua25vd24iOiLmipXpgJLnu5PmnpzmnKrnn6UiLCJjb2NrcGl0LmRpZ2VzdC51bmF2YWlsYWJsZSI6IuaaguaXoOazleehruiupOaKlemAkiIsImNvY2twaXQuZGlnZXN0LndpbmRvdyI6IuS4muWKoeaXpSB7ZGF5fSDCtyB7em9uZX0iLCJjb2NrcGl0LmRpZ2VzdC50YXJnZXRzIjoi55uu5qCHIHtleHBlY3RlZH0gwrcg5bey6KaG55uWIHtjb3ZlcmVkfSDCtyDkuI3lj6/nlKgge3VuYXZhaWxhYmxlfSIsImNvY2twaXQuZGlnZXN0LmFjY2VwdGVkX2F0Ijoi5o6l5Y+X5pe26Ze0IHt2YWx1ZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2siOiLmjqXmlLbmlrnnoa7orqQiLCJjb2NrcGl0LmRpZ2VzdC5hY2tfdW5rbm93biI6IuacquefpSIsImNvY2twaXQuZGlnZXN0LmFja19hdCI6IuehruiupOaXtumXtCB7dmFsdWV9IiwiY29ja3BpdC5kaWdlc3QubGVnYWN5Ijoi5LuF5pi+56S65Y6G5Y+y5Zue5omn77yM5LiN5Luj6KGo5b2T5YmN55Sf5Lqn5oqV6YCS44CCIiwiY29ja3BpdC5kaWdlc3Qubm9fZGF0YSI6IuaaguaXoOaRmOimgeaKlemAkuiusOW9leOAgiIsImNvY2twaXQuZGlnZXN0LnJlYWRfZmFpbGVkIjoi5pGY6KaB5oqV6YCS54q25oCB6K+75Y+W5aSx6LSl44CCIiwiY29ja3BpdC5kaWdlc3Qubm90ZSI6IuW3suaOpeWPl+S4jeetieS6juW3sumAgei+vu+8m+mAgei+vuS5n+S4jeetieS6juS6uuW3peehruiupOOAgiIsImNvY2twaXQuc3RyaXAudGl0bGUiOiLmk43kvZzlvoXmoLjlrp4iLCJjb2NrcGl0LnN0cmlwLnVua25vd24iOiLnu5PmnpzmnKrnn6XvvIzpnIDnoa7orqQiLCJjb2NrcGl0LnN0cmlwLnZpZXciOiLmn6XnnIvmk43kvZwiLCJjb2NrcGl0LnN0cmlwLmFjayI6IuW3suefpeaCie+8jOe7p+e7reaYvuekuuWOn+WboCIsImNvY2twaXQuc3RyaXAubGFzdF9yZWFkIjoi54q25oCB6K+75Y+W5LqOIHt2YWx1ZX0iLCJjb2NrcGl0LnN0cmlwLm5vdGUiOiLpobXpnaLliIfmjaLkuI3kvJrpmpDol4/or6Xmk43kvZzjgIIifSxEbT17ImNvY2twaXQuc3ludGhldGljIjoiU3ludGhldGljIGRhdGEiLCJjb2NrcGl0LnVua25vd24iOiJVbmtub3duIiwiY29ja3BpdC5ub3Rfc2V0IjoiTm90IHNldCIsImNvY2twaXQuYXNfb2YiOiJBcyBvZiB7dmFsdWV9IiwiY29ja3BpdC5mcmVzaG5lc3MuY3VycmVudCI6IkN1cnJlbnQiLCJjb2NrcGl0LmZyZXNobmVzcy5zdGFsZSI6IlN0YWxlIiwiY29ja3BpdC5mcmVzaG5lc3MuZXhwaXJlZCI6IkV4cGlyZWQiLCJjb2NrcGl0LmZyZXNobmVzcy5taXNzaW5nIjoiTm90IHByb3ZpZGVkIiwiY29ja3BpdC5mcmVzaG5lc3MudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmZyZXNobmVzcy5wYXJ0aWFsIjoiUGFydGlhbCBjb3ZlcmFnZSIsImNvY2twaXQuZnJlc2huZXNzLnVuYXZhaWxhYmxlIjoiVW5hdmFpbGFibGUiLCJjb2NrcGl0LmZyZXNobmVzcy5yZWFkX2ZhaWxlZCI6IlJlYWQgZmFpbGVkIiwiY29ja3BpdC5leHBpcnkubm9uZSI6Ik5vIGV4cGlyeSIsImNvY2twaXQuZXhwaXJ5LnVua25vd24iOiJFeHBpcnkgdW5jb25maXJtZWQiLCJjb2NrcGl0LmV4cGlyeS5hdCI6IkV4cGlyZXMge3ZhbHVlfSIsImNvY2twaXQuZXhwaXJ5Lm9wZW4iOiJFeHBpcmVzIGluIHt2YWx1ZX0iLCJjb2NrcGl0LmV4cGlyeS51bmRlcl9ob3VyIjoiRXhwaXJlcyBpbiB7dmFsdWV9ICh1bmRlciBvbmUgaG91cikiLCJjb2NrcGl0LmV4cGlyeS51bmRlcl9maXZlIjoiRXhwaXJlcyBpbiB7dmFsdWV9ICh1bmRlciBmaXZlIG1pbnV0ZXMpIiwiY29ja3BpdC5leHBpcnkuZXhwaXJlZCI6IkV4cGlyZWQiLCJjb2NrcGl0LmV4cGlyeS5pbmFjdGlvbiI6IklmIGxlZnQgb3BlbiwgdGhpcyBkZWNpc2lvbiBleHBpcmVzIHdpdGhvdXQgY2hhbmdpbmcgYW55dGhpbmcuIiwiY29ja3BpdC5leHBpcnkuYm91bmRhcnkiOiJBdCBleHBpcnkgdGhlIGRlY2lzaW9uIG11c3QgYmUgcmUtcmVhZDsgdmFsaWRpdHkgaXMgbmV2ZXIgZXh0ZW5kZWQuIiwiY29ja3BpdC5kZWNpc2lvbi5yZXZpZXciOiJSZXZpZXcgZGVjaXNpb24iLCJjb2NrcGl0LmRlY2lzaW9uLnF1YWxpZmljYXRpb24iOiJRdWFsaWZpY2F0aW9uIiwiY29ja3BpdC5kZWNpc2lvbi50YXJnZXQiOiJUYXJnZXQiLCJjb2NrcGl0LmRlY2lzaW9uLnJlbGVhc2UiOiJSZWxlYXNlIiwiY29ja3BpdC5kZWNpc2lvbi50aWVyIjoiUmlzayB0aWVyIiwiY29ja3BpdC5kZWNpc2lvbi5wb2xpY3kiOiJQb2xpY3kiLCJjb2NrcGl0LmRlY2lzaW9uLm9wZXJhdGlvbiI6IkFwcGxpY2F0aW9uIiwiY29ja3BpdC5kZWNpc2lvbi5leHBpcmVzIjoiRXhwaXJ5IiwiY29ja3BpdC5kZWNpc2lvbi5ub19hY3Rpb24iOiJJZiBubyBhY3Rpb24gaXMgdGFrZW46IGl0IGV4cGlyZXMgd2l0aCBubyBjaGFuZ2UuIiwiY29ja3BpdC5kZWNpc2lvbi5ibG9ja2VkIjoiQXBwcm92YWwgdW5hdmFpbGFibGUiLCJjb2NrcGl0LmRlY2lzaW9uLnNlbGVjdGVkIjoiU2VsZWN0ZWQiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLnBlbmRpbmciOiJQZW5kaW5nIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5hcHByb3ZlZCI6IkFwcHJvdmVkIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5yZWplY3RlZCI6IlJlamVjdGVkIiwiY29ja3BpdC5kZWNpc2lvbi5zdGF0ZS5leHBpcmVkIjoiRXhwaXJlZCIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUuc3VwZXJzZWRlZCI6IlN1cGVyc2VkZWQiLCJjb2NrcGl0LmRlY2lzaW9uLnN0YXRlLndpdGhkcmF3biI6IldpdGhkcmF3biIsImNvY2twaXQuZGVjaXNpb24uc3RhdGUudW5rbm93biI6IlN0YXRlIHVua25vd24iLCJjb2NrcGl0LmJsb2NrZXIuZXhwaXJlZCI6IlRoaXMgZGVjaXNpb24gaGFzIGV4cGlyZWQuIiwiY29ja3BpdC5ibG9ja2VyLmV4cGlyeSI6IlRoZSB2YWxpZGl0eSB3aW5kb3cgY2Fubm90IGJlIGNvbmZpcm1lZC4iLCJjb2NrcGl0LmJsb2NrZXIubm90X2FsbG93ZWQiOiJUaGUgc2VydmVyIGRvZXMgbm90IGFsbG93IGFwcHJvdmFsIHJpZ2h0IG5vdy4iLCJjb2NrcGl0LmJsb2NrZXIuc3VwcG9ydF9taXNzaW5nIjoiU3VwcG9ydGluZyBkYXRhIGlzIG1pc3NpbmcuIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnQiOiJTdXBwb3J0aW5nIGRhdGEgaXMgbm90IGN1cnJlbnQgb3IgY29tcGxldGUuIiwiY29ja3BpdC5ibG9ja2VyLnN1cHBvcnRfc3RhbGUiOiJTdXBwb3J0aW5nIGRhdGEgaXMgc3RhbGU7IGFwcHJvdmFsIGlzIHVuYXZhaWxhYmxlLiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0X2V4cGlyZWQiOiJTdXBwb3J0aW5nIGRhdGEgaGFzIGV4cGlyZWQ7IGFwcHJvdmFsIGlzIHVuYXZhaWxhYmxlLiIsImNvY2twaXQuYmxvY2tlci5zdXBwb3J0X3VuYXZhaWxhYmxlIjoiU3VwcG9ydGluZyBkYXRhIGNhbm5vdCBiZSByZWFkIGZyb20gaXRzIHNvdXJjZTsgYXBwcm92YWwgaXMgdW5hdmFpbGFibGUuIiwiY29ja3BpdC5ibG9ja2VyLnVucXVhbGlmaWVkIjoiU3VwcG9ydGluZyBkYXRhIGRvZXMgbm90IG1lZXQgdGhlIHF1YWxpZmljYXRpb24gcmVxdWlyZW1lbnQuIiwiY29ja3BpdC5ibG9ja2VyLnBvbGljeSI6IlRoZSByaXNrIHBvbGljeSBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmJsb2NrZXIuYmluZGluZyI6IlRoZSByaXNrIHRpZXIgb3IgcG9saWN5IHJldmlzaW9uIGlzIG5vdCBib3VuZC4iLCJjb2NrcGl0LmJsb2NrZXIucmV2aXNpb24iOiJUaGUgZGVjaXNpb24gcmV2aXNpb24gY2Fubm90IGJlIGNvbmZpcm1lZC4iLCJjb2NrcGl0LmJsb2NrZXIuc3RhdGUiOiJUaGlzIGRlY2lzaW9uIGlzIG5vIGxvbmdlciBwZW5kaW5nLiIsImNvY2twaXQuYmxvY2tlci5zdGF0ZV91bmtub3duIjoiVGhlIGRlY2lzaW9uIHN0YXRlIGNvdWxkIG5vdCBiZSByZWFkOyBhcHByb3ZhbCBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmJsb2NrZXIub3RoZXIiOiJBcHByb3ZhbCBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LnN1cHBvcnQudGl0bGUiOiJTdXBwb3J0aW5nIGRhdGEiLCJjb2NrcGl0LnN1cHBvcnQucXVhbGlmaWVkIjoiUXVhbGlmaWVkIiwiY29ja3BpdC5zdXBwb3J0LnF1YWxpZmllZF9saW1pdGVkIjoiUXVhbGlmaWVkIHdpdGggbGltaXRhdGlvbnMiLCJjb2NrcGl0LnN1cHBvcnQudW5xdWFsaWZpZWQiOiJVbnF1YWxpZmllZCIsImNvY2twaXQuc3VwcG9ydC51bmtub3duIjoiUXVhbGlmaWNhdGlvbiB1bmtub3duIiwiY29ja3BpdC5zdXBwb3J0Lm9ic2VydmVkIjoiT2JzZXJ2ZWQge3ZhbHVlfSIsImNvY2twaXQuc3VwcG9ydC5vYnNlcnZlZF9sYWJlbCI6Ik9ic2VydmVkIiwiY29ja3BpdC5zdXBwb3J0LnZhbGlkX3VudGlsIjoiVmFsaWQgdW50aWwge3ZhbHVlfSIsImNvY2twaXQuc3VwcG9ydC52YWxpZF91bnRpbF9sYWJlbCI6IlZhbGlkIHVudGlsIiwiY29ja3BpdC5zdXBwb3J0LmxpbWl0YXRpb25zIjoiTGltaXRhdGlvbnMiLCJjb2NrcGl0LnN1cHBvcnQubm9fbGltaXRhdGlvbnMiOiJObyBsaW1pdGF0aW9ucyByZXBvcnRlZC4iLCJjb2NrcGl0LnN1cHBvcnQubWlzc2luZyI6IlN1cHBvcnRpbmcgZGF0YSBpcyBub3QgcHJvdmlkZWQsIHNvIGFwcHJvdmFsIHN0YXlzIGNsb3NlZC4iLCJjb2NrcGl0LnN1cHBvcnQudW5hdmFpbGFibGUiOiJTdXBwb3J0aW5nIGRhdGEgaXMgdW5hdmFpbGFibGUuIiwiY29ja3BpdC5zdXBwb3J0LnN0YWxlIjoiU3VwcG9ydGluZyBkYXRhIGlzIHN0YWxlOyByZS1yZWFkIGl0LiIsImNvY2twaXQuc3VwcG9ydC5leHBpcmVkIjoiU3VwcG9ydGluZyBkYXRhIGhhcyBleHBpcmVkIGFuZCBjYW5ub3Qgc3VwcG9ydCBhcHByb3ZhbC4iLCJjb2NrcGl0LnN1cHBvcnQucHJvdmVuYW5jZSI6IlNvdXJjZSBpZGVudGlmaWVyIiwiY29ja3BpdC5wb2xpY3kudGl0bGUiOiJSaXNrIHBvbGljeSIsImNvY2twaXQucG9saWN5LnNlbGVjdGVkIjoiU2VsZWN0ZWQgcHJlZmVyZW5jZSIsImNvY2twaXQucG9saWN5LmFwcHJvdmVkIjoiQXBwcm92ZWQgcG9saWN5IiwiY29ja3BpdC5wb2xpY3kuZWZmZWN0aXZlIjoiRWZmZWN0aXZlIHBvbGljeSIsImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uIjoiVGVtcG9yYXJ5IHJlc3RyaWN0aW9uIiwiY29ja3BpdC5wb2xpY3kubm90X29ic2VydmVkIjoiTm90IHlldCBvYnNlcnZlZCIsImNvY2twaXQucG9saWN5Lm1hcHBpbmdfdW5hdmFpbGFibGUiOiJQb2xpY3kgbWFwcGluZyB1bmF2YWlsYWJsZSIsImNvY2twaXQucG9saWN5LnJlYWRfZmFpbGVkIjoiVGhlIHJpc2sgcG9saWN5IGNvdWxkIG5vdCBiZSByZWFkLiIsImNvY2twaXQucG9saWN5LnJldmlzaW9uIjoiUmV2aXNpb24ge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LnZhbHVlcyI6IkNvbXB1dGVkIGxpbWl0cyIsImNvY2twaXQucG9saWN5Lm5vX3ZhbHVlcyI6Ik5vIGNvbXB1dGVkIHZhbHVlcy4iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UiOiJTb3VyY2U6IHt2YWx1ZX0iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2VfbGFiZWwiOiJTb3VyY2UiLCJjb2NrcGl0LnBvbGljeS51bmtub3duX3ZhbHVlIjoiVW5rbm93biIsImNvY2twaXQucG9saWN5LmN1cnJlbnQiOiJNYXBwaW5nIGN1cnJlbnQiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbl9ub25lIjoiTm9uZSIsImNvY2twaXQucG9saWN5LnNpbmNlIjoiU2luY2Uge3ZhbHVlfSIsImNvY2twaXQucG9saWN5LmxpbWl0Lm1heF9ncm9zc19leHBvc3VyZSI6Ik1heGltdW0gZ3Jvc3MgZXhwb3N1cmUiLCJjb2NrcGl0LnBvbGljeS5saW1pdC5jYXNoX2Zsb29yIjoiQ2FzaCBmbG9vciIsImNvY2twaXQucG9saWN5LmxpbWl0Lm90aGVyIjoiT3RoZXIgbGltaXQiLCJjb2NrcGl0LnBvbGljeS5zb3VyY2Uuc2VydmVyIjoiU2VydmVyIiwiY29ja3BpdC5wb2xpY3kuc291cmNlLnVua25vd24iOiJVbmtub3duIHNvdXJjZSIsImNvY2twaXQucG9saWN5LnVuaXQucGVyY2VudCI6IiUiLCJjb2NrcGl0LnBvbGljeS5yZXN0cmljdGlvbi5yZWFzb24ucmVkdWN0aW9uX29ubHkiOiJSaXNrIHJlZHVjdGlvbiBvbmx5IiwiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLnVua25vd24iOiJUZW1wb3JhcnkgcmVzdHJpY3Rpb24gYWN0aXZlOyByZWFzb24gdW5rbm93biIsImNvY2twaXQucG9saWN5LmVmZmVjdGl2ZV9ub3RlIjoiU2VsZWN0ZWQgcHJlZmVyZW5jZSBhbmQgZWZmZWN0aXZlIHBvbGljeSBzdGF5IHNlcGFyYXRlOyBhIHNlbGVjdGlvbiBpcyBub3QgZWZmZWN0aXZlIGJlZm9yZSBvYnNlcnZhdGlvbi4iLCJjb2NrcGl0LnRpZXIudGl0bGUiOiJSaXNrIHRpZXIiLCJjb2NrcGl0LnRpZXIuY2FwaXRhbCI6IkNhcGl0YWwgcHJlc2VydmF0aW9uIiwiY29ja3BpdC50aWVyLmJhbGFuY2VkIjoiQmFsYW5jZWQgY29tcG91bmRpbmciLCJjb2NrcGl0LnRpZXIuZ3Jvd3RoIjoiR3Jvd3RoIGNvbXBvdW5kaW5nIiwiY29ja3BpdC50aWVyLnVua25vd24iOiJVbmtub3duIHRpZXIiLCJjb2NrcGl0LnRpZXIuY2FwaXRhbF9ub3RlIjoiUHJlZmVyIGxvd2VyIHJpc2s7IHRoZSBhcHByb3ZlZCBwb2xpY3kgY29tcHV0ZXMgdGhlIGFwcGxpY2FibGUgbGltaXRzLiIsImNvY2twaXQudGllci5iYWxhbmNlZF9ub3RlIjoiQmFsYW5jZSBncm93dGggYW5kIHJlc3RyYWludDsgdGhlIGFwcHJvdmVkIHBvbGljeSBjb21wdXRlcyB0aGUgYXBwbGljYWJsZSBsaW1pdHMuIiwiY29ja3BpdC50aWVyLmdyb3d0aF9ub3RlIjoiQWNjZXB0IGhpZ2hlciByaXNrOyB0aGUgYXBwcm92ZWQgcG9saWN5IGNvbXB1dGVzIHRoZSBhcHBsaWNhYmxlIGxpbWl0cy4iLCJjb2NrcGl0LnRpZXIudW5zZXQiOiJObyB0aWVyIHNlbGVjdGVkIiwiY29ja3BpdC50aWVyLnVuc2V0X25vdGUiOiJTYXZpbmcgbGVhdmVzIG5vIHJpc2sgdGllciBzZWxlY3RlZC4iLCJjb2NrcGl0LnRpZXIuc2F2ZSI6IlNhdmUgdGllciBzZWxlY3Rpb24iLCJjb2NrcGl0LnRpZXIuZGlydHkiOiJDaGFuZ2VkLCBub3Qgc2F2ZWQiLCJjb2NrcGl0LnRpZXIudW5jaGFuZ2VkIjoiVW5jaGFuZ2VkIiwiY29ja3BpdC50aWVyLmdhdGUiOiJUaWVyIHNlbGVjdGlvbiBjYW5ub3QgYmUgc2F2ZWQgcmlnaHQgbm93LiIsImNvY2twaXQudGllci5zY29wZSI6IlNjb3BlIHt2YWx1ZX0iLCJjb2NrcGl0LnRpZXIuc2VsZWN0aW9uX3JldmlzaW9uIjoiU2VsZWN0aW9uIHJldmlzaW9uIHt2YWx1ZX0iLCJjb2NrcGl0LmxpZmVjeWNsZS50aXRsZSI6IkxpZmVjeWNsZSIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuYXV0aG9yaXplZCI6IlN0ZXBwZXIgc2hvd3M6IGF1dGhvcml6ZWQgY2VpbGluZyIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAuZWZmZWN0aXZlIjoiU3RlcHBlciBzaG93czogaW5kZXBlbmRlbnRseSBvYnNlcnZlZCBzdGFnZSIsImNvY2twaXQubGlmZWN5Y2xlLnN0ZXAudW5jb25maXJtZWQiOiJTdGFnZSB1bmNvbmZpcm1lZDogdGhlIHN0ZXBzIGJlbG93IGFyZSBjYW5kaWRhdGVzIG9ubHkiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLnJlc2VhcmNoIjoiUmVzZWFyY2ggc3RhZ2UiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmF1dGhvcml6ZWQiOiJBdXRob3JpemVkIGNlaWxpbmciLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmVmZmVjdGl2ZSI6Ik9ic2VydmVkIHN0YWdlIiwiY29ja3BpdC5saWZlY3ljbGUuYXhpcy5vcGVyYXRpbmciOiJPcGVyYXRpbmcgc3RhdGUiLCJjb2NrcGl0LmxpZmVjeWNsZS5heGlzLmFwcGxpY2F0aW9uIjoiQXBwbGljYXRpb24gc3RhdGUiLCJjb2NrcGl0LmxpZmVjeWNsZS5zdGFnZS5yZXNlYXJjaCI6IlJlc2VhcmNoIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UucGFwZXIiOiJQYXBlciIsImNvY2twaXQubGlmZWN5Y2xlLnN0YWdlLnNtYWxsX2xpdmUiOiJTbWFsbCBsaXZlIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UuZnVsbF9saXZlIjoiRnVsbCBsaXZlIiwiY29ja3BpdC5saWZlY3ljbGUuc3RhZ2UudW5jbGFzc2lmaWVkIjoiU3RhZ2UgdW5jbGFzc2lmaWVkIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJ1bm5pbmciOiJSdW5uaW5nIiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnBhdXNlZCI6IlBhdXNlZCIsImNvY2twaXQubGlmZWN5Y2xlLm9wZXJhdGluZy5yZWR1Y3Rpb25fb25seSI6IlJlZHVjdGlvbiBvbmx5IiwiY29ja3BpdC5saWZlY3ljbGUub3BlcmF0aW5nLnJlY29uY2lsZV9vbmx5IjoiUmVjb25jaWxlIG9ubHkiLCJjb2NrcGl0LmxpZmVjeWNsZS5vcGVyYXRpbmcudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5wZW5kaW5nIjoiUGVuZGluZyIsImNvY2twaXQubGlmZWN5Y2xlLmFwcGxpY2F0aW9uLmFwcGx5aW5nIjoiQXBwbHlpbmciLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5hcHBsaWVkIjoiQXBwbGllZCBieSBwbGF0Zm9ybSIsImNvY2twaXQubGlmZWN5Y2xlLmFwcGxpY2F0aW9uLnJlamVjdGVkIjoiUmVqZWN0ZWQiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi5mYWlsZWQiOiJGYWlsZWQiLCJjb2NrcGl0LmxpZmVjeWNsZS5hcHBsaWNhdGlvbi51bmtub3duIjoiVW5rbm93biIsImNvY2twaXQubGlmZWN5Y2xlLm5vdGUiOiJTdGFnZSwgYXV0aG9yaXR5LCBvYnNlcnZhdGlvbiBhbmQgb3BlcmF0aW5nIHN0YXRlIHN0YXkgc2VwYXJhdGU7IHRoZSBVSSBuZXZlciBwcm9tb3RlcyBhIHN0YWdlLiIsImNvY2twaXQubGlmZWN5Y2xlLm5vdF9wcm92aWRlZCI6IkxpZmVjeWNsZSBzdGFnZXMgd2VyZSBub3QgcHJvdmlkZWQgZm9yIHRoaXMgdGFyZ2V0LiIsImNvY2twaXQubGlmZWN5Y2xlLmlkZW50aXR5IjoiUmVsZWFzZSB7cmVsZWFzZX0gwrcgdGFyZ2V0IHt0YXJnZXR9IiwiY29ja3BpdC5saWZlY3ljbGUucmVnaW1lX2VmZmVjdC5yaXNrX3JlZHVjdGlvbl9vbmx5IjoiUmlzayByZWR1Y3Rpb24gb25seSIsImNvY2twaXQubGlmZWN5Y2xlLnJlZ2ltZV9lZmZlY3QudW5rbm93biI6IlJlZ2ltZSBlZmZlY3QgdW5rbm93biIsImNvY2twaXQub3BlcmF0aW9uLnRpdGxlIjoiQXBwbGljYXRpb24gc3RhdHVzIiwiY29ja3BpdC5vcGVyYXRpb24uZGVjaXNpb24iOiJEZWNpc2lvbiIsImNvY2twaXQub3BlcmF0aW9uLmFwcGxpY2F0aW9uIjoiQXBwbGljYXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5vYnNlcnZhdGlvbiI6IlJ1bnRpbWUgb2JzZXJ2YXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5yZWNvcmRlZCI6IkRlY2lzaW9uIHJlY29yZGVkIiwiY29ja3BpdC5vcGVyYXRpb24uYWNjZXB0ZWQiOiJBY2NlcHRlZDsgd2FpdGluZyBmb3IgcGxhdGZvcm0gZGlzcGF0Y2giLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBseWluZyI6IkFwcGxpY2F0aW9uIGluIHByb2dyZXNzIiwiY29ja3BpdC5vcGVyYXRpb24ucmVqZWN0ZWQiOiJBcHBsaWNhdGlvbiByZWplY3RlZCIsImNvY2twaXQub3BlcmF0aW9uLnVua25vd24iOiJPdXRjb21lIHVua25vd24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5mYWlsZWQiOiJBcHBsaWNhdGlvbiBmYWlsZWQiLCJjb2NrcGl0Lm9wZXJhdGlvbi5hcHBsaWVkX3Vub2JzZXJ2ZWQiOiJQbGF0Zm9ybSByZXBvcnRlZCBhcHBsaWVkOyBydW50aW1lIGNvbmZpcm1hdGlvbiBwZW5kaW5nIiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9ub19yZWFkYmFjayI6IlBsYXRmb3JtIHJlcG9ydGVkIGFwcGxpZWQ7IGluZGVwZW5kZW50IHJ1bnRpbWUgcmVhZGJhY2sgaXMgdW5hdmFpbGFibGUgZm9yIHRoaXMgdGFyZ2V0IiwiY29ja3BpdC5vcGVyYXRpb24uYXBwbGllZF9yZWFkYmFja191bmtub3duIjoiUGxhdGZvcm0gcmVwb3J0ZWQgYXBwbGllZDsgcmVhZGJhY2sgY2FwYWJpbGl0eSB1bmtub3duIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuaWRsZSI6Ik5vdCBzdGFydGVkIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuYWN0aXZlIjoiSW4gcHJvZ3Jlc3MiLCJjb2NrcGl0Lm9wZXJhdGlvbi5zdGFnZS5jb21wbGV0ZSI6IkNvbXBsZXRlIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UuZmFpbGVkIjoiRmFpbGVkIiwiY29ja3BpdC5vcGVyYXRpb24uc3RhZ2UudW5hdmFpbGFibGUiOiJJbmRlcGVuZGVudCByZWFkYmFjayB1bmF2YWlsYWJsZSIsImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIjoiT3BlcmF0aW9uIG91dGNvbWUgcGVuZGluZyBjb25maXJtYXRpb24iLCJjb2NrcGl0Lm9wZXJhdGlvbi5jb25maXJtZWQiOiJSdW50aW1lIGNvbmZpcm1lZCIsImNvY2twaXQub3BlcmF0aW9uLnJlZnJlc2giOiJSZWZyZXNoIHN0YXR1cyIsImNvY2twaXQub3BlcmF0aW9uLmlkIjoiT3BlcmF0aW9uIHt2YWx1ZX0iLCJjb2NrcGl0Lm9wZXJhdGlvbi5yZXF1ZXN0IjoiUmVxdWVzdCB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ucmV2aXNpb24iOiJCb3VuZCByZXZpc2lvbiB7dmFsdWV9IiwiY29ja3BpdC5vcGVyYXRpb24ubm90X3JlYWR5IjoiVGhlIG9wZXJhdGlvbi1zdGF0dXMgZW5kcG9pbnQgaXMgbm90IGF2YWlsYWJsZSwgc28gdGhpcyBhcHBsaWNhdGlvbiBjYW5ub3QgYmUgdHJhY2VkLiIsImNvY2twaXQub3BlcmF0aW9uLnJlYWRfZmFpbGVkIjoiT3BlcmF0aW9uIHN0YXR1cyBjb3VsZCBub3QgYmUgcmVhZC4iLCJjb2NrcGl0Lm9wZXJhdGlvbi5ub19yZXRyeSI6IkFuIHVua25vd24gb3V0Y29tZSBpcyBuZXZlciByZXRyaWVkIGF1dG9tYXRpY2FsbHk7IHJlZnJlc2ggc3RhdHVzIGZpcnN0LiIsImNvY2twaXQub3BlcmF0aW9uLm5vbmUiOiJObyBvcGVyYXRpb24gcmVjb3JkZWQuIiwiY29ja3BpdC5wYXVzZS50aXRsZSI6IlJ1bnRpbWUgY29udHJvbCIsImNvY2twaXQucGF1c2UucGF1c2UiOiJQYXVzZSIsImNvY2twaXQucGF1c2UucmVzdW1lIjoiUmVzdW1lIiwiY29ja3BpdC5wYXVzZS5wZW5kaW5nIjoiQ29udHJvbCByZXF1ZXN0IHBlbmRpbmciLCJjb2NrcGl0LnBhdXNlLnVuYXZhaWxhYmxlIjoiVGhpcyBhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCByaWdodCBub3cuIiwiY29ja3BpdC5wYXVzZS5ub3RlIjoiUGF1c2UgYW5kIHJlc3VtZSB1c2UgZXhpc3RpbmcgcGxhdGZvcm0gc2VtYW50aWNzOyBhcHBsaWNhdGlvbiBzdWNjZXNzIGlzIG5vdCBydW50aW1lIGNvbmZpcm1hdGlvbi4iLCJjb2NrcGl0LnBhdXNlLm5vX2xpcXVpZGF0aW9uIjoiUGF1c2luZyBkb2VzIG5vdCBsaXF1aWRhdGUgcG9zaXRpb25zIG9yIGNhbmNlbCBwZW5kaW5nIG9yZGVycy4iLCJjb2NrcGl0LnBhdXNlLnJ1bm5pbmciOiJSdW5uaW5nIiwiY29ja3BpdC5wYXVzZS5wYXVzZWQiOiJQYXVzZWQiLCJjb2NrcGl0LnBhdXNlLnVua25vd24iOiJSdW50aW1lIHN0YXRlIHVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cudGl0bGUiOiJBY3Rpdml0eSBoaXN0b3J5IiwiY29ja3BpdC5jaGFuZ2VfbG9nLmVtcHR5IjoiTm8gYWN0aXZpdHkgcmVjb3JkZWQuIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnVuYXZhaWxhYmxlIjoiQWN0aXZpdHkgaGlzdG9yeSBpcyB1bmF2YWlsYWJsZS4iLCJjb2NrcGl0LmNoYW5nZV9sb2cubG9hZF9mYWlsZWQiOiJBY3Rpdml0eSBoaXN0b3J5IGNvdWxkIG5vdCBiZSByZWFkLiIsImNvY2twaXQuY2hhbmdlX2xvZy5tb3JlIjoiTG9hZCBtb3JlIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdG9yIjoiQWN0b3Ige3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0IjoiU3ViamVjdDoge3ZhbHVlfSIsImNvY2twaXQuY2hhbmdlX2xvZy5yZXZpc2lvbiI6IlJlY29yZCByZXZpc2lvbiB7dmFsdWV9IiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUiOiJPdXRjb21lIHt2YWx1ZX0iLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLnJlY29yZF9vd25lcl9kZWNpc2lvbiI6Ik93bmVyIGRlY2lzaW9uIHJlY29yZGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5hcHByb3ZhbF9yZWNvcmRlZCI6IkFwcHJvdmFsIHJlY29yZGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5hcHBsaWNhdGlvbl9kaXNwYXRjaGVkIjoiQXBwbGljYXRpb24gZGlzcGF0Y2hlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiOiJPdGhlciBhY3Rpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5kZWNpZGVkIjoiRGVjaWRlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnJlY29yZGVkIjoiUmVjb3JkZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5hcHBseWluZyI6IkFwcGx5aW5nIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYXBwbGllZCI6IkFwcGxpZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5yZWplY3RlZCI6IlJlamVjdGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZmFpbGVkIjoiRmFpbGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUudW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLm93bmVyX2RlY2lzaW9uIjoiT3duZXIgZGVjaXNpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLnN0cmF0ZWd5X3Byb21vdGlvbiI6IlN0cmF0ZWd5IHByb21vdGlvbiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucmVjb25jaWxpYXRpb25fcmVjb3ZlcnkiOiJSZWNvbmNpbGlhdGlvbiByZWNvdmVyeSIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQucGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiI6IlBhcGVyIGFjY291bnQgYXBwbGljYXRpb24iLCJjb2NrcGl0LmNoYW5nZV9sb2cuc3ViamVjdF9raW5kLmFwcGxpY2F0aW9uIjoiUGFwZXIgYWNjb3VudCBhcHBsaWNhdGlvbiIsImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQub3RoZXIiOiJPdGhlciBzdWJqZWN0IiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX3N0YWdlIjoiQ3JlZGVudGlhbCB2ZXJzaW9uIHN0YWdlZCIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24uY3JlZGVudGlhbF9yb3RhdGlvbl9maW5hbGl6ZSI6IkNyZWRlbnRpYWwgcm90YXRpb24gZmluYWxpemVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLmFjdGlvbi5jcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCI6IkNyZWRlbnRpYWwgc3RhZ2VkIHZlcnNpb24gY2FuY2VsZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLmNyZWRlbnRpYWxfcm90YXRpb25fZGVuaWVkIjoiQ3JlZGVudGlhbCByb3RhdGlvbiBkZW5pZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5zdGFnZWQiOiJTdGFnZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZWQiOiJGaW5hbGl6ZWQiLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5jYW5jZWxlZCI6IkNhbmNlbGVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuYWRkX3Vua25vd24iOiJTdGFnZSBvdXRjb21lIHVua25vd24iLCJjb2NrcGl0LmNoYW5nZV9sb2cub3V0Y29tZS5maW5hbGl6ZV91bmtub3duIjoiRmluYWxpemUgb3V0Y29tZSB1bmtub3duIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuY2FuY2VsX3Vua25vd24iOiJDYW5jZWwgb3V0Y29tZSB1bmtub3duIiwiY29ja3BpdC5jaGFuZ2VfbG9nLm91dGNvbWUuZGVuaWVkIjoiRGVuaWVkIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5jcmVkZW50aWFsIjoiQ3JlZGVudGlhbCIsImNvY2twaXQuZGlnZXN0LnRpdGxlIjoiRGFpbHkgZGlnZXN0IGRlbGl2ZXJ5IiwiY29ja3BpdC5kaWdlc3QuYWNjZXB0ZWQiOiJBY2NlcHRlZCBmb3IgZGVsaXZlcnkiLCJjb2NrcGl0LmRpZ2VzdC5kZWxpdmVyZWQiOiJQcm92aWRlciBhY2NlcHRlZCBkZWxpdmVyeSIsImNvY2twaXQuZGlnZXN0LmZhaWxlZCI6IkRlbGl2ZXJ5IGZhaWxlZCIsImNvY2twaXQuZGlnZXN0LnVua25vd24iOiJEZWxpdmVyeSBvdXRjb21lIHVua25vd24iLCJjb2NrcGl0LmRpZ2VzdC51bmF2YWlsYWJsZSI6IkRlbGl2ZXJ5IHN0YXR1cyB1bmF2YWlsYWJsZSIsImNvY2twaXQuZGlnZXN0LndpbmRvdyI6IkJ1c2luZXNzIGRheSB7ZGF5fSDCtyB7em9uZX0iLCJjb2NrcGl0LmRpZ2VzdC50YXJnZXRzIjoiVGFyZ2V0cyB7ZXhwZWN0ZWR9IMK3IGNvdmVyZWQge2NvdmVyZWR9IMK3IHVuYXZhaWxhYmxlIHt1bmF2YWlsYWJsZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2NlcHRlZF9hdCI6IkFjY2VwdGVkIHt2YWx1ZX0iLCJjb2NrcGl0LmRpZ2VzdC5hY2siOiJSZWNpcGllbnQgYWNrbm93bGVkZ21lbnQiLCJjb2NrcGl0LmRpZ2VzdC5hY2tfdW5rbm93biI6IlVua25vd24iLCJjb2NrcGl0LmRpZ2VzdC5hY2tfYXQiOiJBY2tub3dsZWRnZWQge3ZhbHVlfSIsImNvY2twaXQuZGlnZXN0LmxlZ2FjeSI6Ik9ubHkgbGVnYWN5IHJlY2VpcHRzIGFyZSBzaG93bjsgdGhleSBkbyBub3QgcmVwcmVzZW50IGN1cnJlbnQgcHJvZHVjdGlvbiBkZWxpdmVyeS4iLCJjb2NrcGl0LmRpZ2VzdC5ub19kYXRhIjoiTm8gZGlnZXN0IGRlbGl2ZXJ5IHJlY29yZC4iLCJjb2NrcGl0LmRpZ2VzdC5yZWFkX2ZhaWxlZCI6IkRpZ2VzdCBkZWxpdmVyeSBzdGF0dXMgY291bGQgbm90IGJlIHJlYWQuIiwiY29ja3BpdC5kaWdlc3Qubm90ZSI6IkFjY2VwdGVkIGlzIG5vdCBkZWxpdmVyZWQ7IGRlbGl2ZXJ5IGlzIG5vdCBodW1hbiBhY2tub3dsZWRnbWVudC4iLCJjb2NrcGl0LnN0cmlwLnRpdGxlIjoiT3BlcmF0aW9uIG5lZWRzIGF0dGVudGlvbiIsImNvY2twaXQuc3RyaXAudW5rbm93biI6Ik91dGNvbWUgdW5rbm93bjsgY29uZmlybWF0aW9uIHJlcXVpcmVkIiwiY29ja3BpdC5zdHJpcC52aWV3IjoiVmlldyBvcGVyYXRpb24iLCJjb2NrcGl0LnN0cmlwLmFjayI6IkFja25vd2xlZGdlIChzdGF5cyB2aXNpYmxlKSIsImNvY2twaXQuc3RyaXAubGFzdF9yZWFkIjoiU3RhdHVzIHJlYWQge3ZhbHVlfSIsImNvY2twaXQuc3RyaXAubm90ZSI6Ik5hdmlnYXRpb24gZG9lcyBub3QgaGlkZSB0aGlzIG9wZXJhdGlvbi4ifSxPaT17Li4uaG0sLi4uZ20sLi4ueW0sLi4ua20sLi4ud20sLi4uVG0sLi4uRW0sLi4uem0sLi4uT219LHRjPXsuLi5tbSwuLi52bSwuLi5ibSwuLi5TbSwuLi54bSwuLi5BbSwuLi5SbSwuLi5ObSwuLi5EbX07Zm9yKGNvbnN0IGMgb2YgT2JqZWN0LmtleXMoT2kpKWlmKCEoYyBpbiB0YykpdGhyb3cgbmV3IEVycm9yKGBpMThuOiBtaXNzaW5nIGVuIHRyYW5zbGF0aW9uIGZvciAke2N9YCk7Zm9yKGNvbnN0IGMgb2YgT2JqZWN0LmtleXModGMpKWlmKCEoYyBpbiBPaSkpdGhyb3cgbmV3IEVycm9yKGBpMThuOiBtaXNzaW5nIHpoIHRyYW5zbGF0aW9uIGZvciAke2N9YCk7Y29uc3QgcXI9KGMscik9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLHIpP2Nbcl06dm9pZCAwO2Z1bmN0aW9uIGx2KGMpe3JldHVybiBxcihPaSxjKSE9PXZvaWQgMH1jb25zdCBNbT1bWyJyZXNlYXJjaC5zdGF0ZS4iLCJzdGF0ZS51bmtub3duX3N0YXR1cyJdLFsic3RhdGUuIiwic3RhdGUudW5rbm93bl9zdGF0dXMiXSxbInJlYXNvbi4iLCJyZWFzb24udW5rbm93biJdLFsiZGVjaXNpb25zLmFjdGlvbi4iLCJkZWNpc2lvbnMuYWN0aW9uLnVua25vd24iXSxbInN0cmF0ZWdpZXMuZXhlY3V0aW9uLiIsInN0cmF0ZWdpZXMuZXhlY3V0aW9uLnVua25vd24iXSxbInJlc2VhcmNoLnNvdXJjZS4iLCJyZXNlYXJjaC5zb3VyY2Uub3RoZXIiXSxbImluaXRpYWxfZW5yb2xsbWVudC5mYWN0LiIsImluaXRpYWxfZW5yb2xsbWVudC5mYWN0Lm90aGVyIl0sWyJpbml0aWFsX2Vucm9sbG1lbnQuIiwiaW5pdGlhbF9lbnJvbGxtZW50LnZhbHVlLnVua25vd24iXSxbImFjY291bnRzLmZpZWxkLiIsImFjY291bnRzLmZpZWxkLm90aGVyIl0sWyJjb2NrcGl0LmNoYW5nZV9sb2cuYWN0aW9uLiIsImNvY2twaXQuY2hhbmdlX2xvZy5hY3Rpb24ub3RoZXIiXSxbImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLiIsImNvY2twaXQuY2hhbmdlX2xvZy5vdXRjb21lLnVua25vd24iXSxbImNvY2twaXQuY2hhbmdlX2xvZy5zdWJqZWN0X2tpbmQuIiwiY29ja3BpdC5jaGFuZ2VfbG9nLnN1YmplY3Rfa2luZC5vdGhlciJdLFsiY29ja3BpdC5wb2xpY3kubGltaXQuIiwiY29ja3BpdC5wb2xpY3kubGltaXQub3RoZXIiXSxbImNvY2twaXQucG9saWN5LnNvdXJjZS4iLCJjb2NrcGl0LnBvbGljeS5zb3VyY2UudW5rbm93biJdLFsiY29ja3BpdC5wb2xpY3kucmVzdHJpY3Rpb24ucmVhc29uLiIsImNvY2twaXQucG9saWN5LnJlc3RyaWN0aW9uLnJlYXNvbi51bmtub3duIl0sWyJjb2NrcGl0LmxpZmVjeWNsZS5yZWdpbWVfZWZmZWN0LiIsImNvY2twaXQubGlmZWN5Y2xlLnJlZ2ltZV9lZmZlY3QudW5rbm93biJdLFsiY29ja3BpdC5vcGVyYXRpb24ucmVhc29uLiIsImNvY2twaXQub3BlcmF0aW9uLnJlYXNvbi51bmtub3duIl1dO2Z1bmN0aW9uIF9wKGMscixkPXt9LHUpe2NvbnN0IHY9Yz09PSJ6aCI/W09pLHRjXTpbdGMsT2ldLHg9aD0+TW0uZmluZCgoW3ldKT0+aC5zdGFydHNXaXRoKHkpKT8uWzFdLE49W3JdO3UmJk4ucHVzaCh1KTtmb3IoY29uc3QgaCBvZltyLHVdKXtpZighaCljb250aW51ZTtjb25zdCB5PXgoaCk7eSYmIU4uaW5jbHVkZXMoeSkmJk4ucHVzaCh5KX1OLnB1c2goImNvbW1vbi51bmtub3duIik7bGV0IEQ7Zm9yKGNvbnN0IGggb2YgTilpZihEPXYubWFwKHk9PnFyKHksaCkpLmZpbmQoeT0+eSE9PXZvaWQgMCksRCE9PXZvaWQgMClicmVhaztyZXR1cm4gRD09PXZvaWQgMCYmKEQ9cXIodlswXSwiY29tbW9uLnVua25vd24iKT8/IlVua25vd24iKSxELnJlcGxhY2UoL1x7KFx3KylcfS9nLChoLHkpPT55IGluIGQ/U3RyaW5nKGRbeV0pOmgpfWNvbnN0IGhwPVUuY3JlYXRlQ29udGV4dCgiemgiKTtmdW5jdGlvbiBXbCh7bGFuZ3VhZ2U6YyxjaGlsZHJlbjpyfSl7cmV0dXJuIG0uanN4KGhwLlByb3ZpZGVyLHt2YWx1ZTpjLGNoaWxkcmVuOnJ9KX1mdW5jdGlvbiBHbigpe3JldHVybiBVLnVzZUNvbnRleHQoaHApfWZ1bmN0aW9uIGl0KCl7Y29uc3QgYz1HbigpO3JldHVybihyLGQsdSk9Pl9wKGMscixkLHUpfWNvbnN0IERpPXt0aGVtZToic3lzdGVtIixsYW5ndWFnZToiZW4iLHVwRG93bjoiZ3JlZW4tdXAiLGhpZGVBbW91bnRzOiExLGRlZmF1bHRSYW5nZToiWVREIn0scXQ9e3RoZW1lOiJxc2wtdGhlbWUtcHJlZmVyZW5jZSIsbGFuZ3VhZ2U6InFzbC1zd2l0Y2gtbGFuZyIsdXBEb3duOiJxc2wtdXBkb3duLXByZWZlcmVuY2UiLGhpZGVBbW91bnRzOiJxc2wtaGlkZS1hbW91bnRzIixkZWZhdWx0UmFuZ2U6InFzbC1kZWZhdWx0LXJhbmdlIn07ZnVuY3Rpb24gemkoYyl7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oYyl9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIE5pKGMscil7dHJ5e3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oYyxyKSx3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oYyk9PT1yfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBDbShjKXtyZXR1cm4gYz09PSJsaWdodCJ8fGM9PT0iZGFyayJ8fGM9PT0ic3lzdGVtIj9jOkRpLnRoZW1lfWZ1bmN0aW9uIHFtKGMpe2lmKGM9PT0iemgifHxjPT09InpoLUNOIilyZXR1cm4iemgiO2lmKGM9PT0iZW4iKXJldHVybiJlbiI7Y29uc3Qgcj10eXBlb2YgbmF2aWdhdG9yPiJ1Ij9bXTpuYXZpZ2F0b3IubGFuZ3VhZ2VzPy5sZW5ndGg/bmF2aWdhdG9yLmxhbmd1YWdlczpbbmF2aWdhdG9yLmxhbmd1YWdlXTtmb3IoY29uc3QgZCBvZiByKXtpZigvXnpoKD86LXwkKS9pLnRlc3QoZCkpcmV0dXJuInpoIjtpZigvXmVuKD86LXwkKS9pLnRlc3QoZCkpcmV0dXJuImVuIn1yZXR1cm4gRGkubGFuZ3VhZ2V9ZnVuY3Rpb24gVW0oYyl7cmV0dXJuIGM9PT0icmVkLXVwInx8Yz09PSJncmVlbi11cCI/YzpEaS51cERvd259ZnVuY3Rpb24gam0oYyl7cmV0dXJuIGM9PT0iMU0ifHxjPT09IjNNInx8Yz09PSJZVEQifHxjPT09IjFZInx8Yz09PSJBTEwiP2M6RGkuZGVmYXVsdFJhbmdlfWZ1bmN0aW9uIG1wKCl7cmV0dXJue3RoZW1lOkNtKHppKHF0LnRoZW1lKSksbGFuZ3VhZ2U6cW0oemkocXQubGFuZ3VhZ2UpKSx1cERvd246VW0oemkocXQudXBEb3duKSksaGlkZUFtb3VudHM6emkocXQuaGlkZUFtb3VudHMpPT09IjEiLGRlZmF1bHRSYW5nZTpqbSh6aShxdC5kZWZhdWx0UmFuZ2UpKX19ZnVuY3Rpb24gSG0oYyl7cmV0dXJuW05pKHF0LnRoZW1lLGMudGhlbWUpLE5pKHF0Lmxhbmd1YWdlLGMubGFuZ3VhZ2UpLE5pKHF0LnVwRG93bixjLnVwRG93biksTmkocXQuaGlkZUFtb3VudHMsYy5oaWRlQW1vdW50cz8iMSI6IjAiKSxOaShxdC5kZWZhdWx0UmFuZ2UsYy5kZWZhdWx0UmFuZ2UpXS5ldmVyeShCb29sZWFuKX1mdW5jdGlvbiBncChjLHIpe3JldHVybiBjPT09InN5c3RlbSI/cj8iZGFyayI6ImxpZ2h0IjpjfWNvbnN0IHZwPVUuY3JlYXRlQ29udGV4dChudWxsKSx5cD1VLmNyZWF0ZUNvbnRleHQoe3ByZWZzOkRpLHBlcnNpc3RGYWlsZWQ6ITEscmVzb2x2ZWRUaGVtZToibGlnaHQiLHNldFByZWZzOigpPT57fX0pO2Z1bmN0aW9uIEdyKCl7cmV0dXJuIFUudXNlQ29udGV4dCh5cCl9Y29uc3QgYnA9VS5jcmVhdGVDb250ZXh0KHtzY29wZToiYWxsIixvcHRpb25zOltdLHNldFNjb3BlOigpPT57fSxzdGF0dXM6InJlYWR5IixtZXRhU3RhdHVzOiJyZWFkeSIscmV0cnk6KCk9Pnt9fSk7ZnVuY3Rpb24gQm0oKXtyZXR1cm4gVS51c2VDb250ZXh0KGJwKX1jb25zdCBrcD1VLmNyZWF0ZUNvbnRleHQoKCk9Pnt9KTtmdW5jdGlvbiBMbSgpe3JldHVybiBVLnVzZUNvbnRleHQoa3ApfWNvbnN0IFltPVsib3ZlcnZpZXciLCJwZXJmb3JtYW5jZSIsImRlY2lzaW9ucyIsImFjY291bnRzIiwic3RyYXRlZ2llcyIsImhlYWx0aCJdLFNwPSJhbGwiO2Z1bmN0aW9uIGlwKGMpe2NvbnN0IHI9bmV3IFVSTFNlYXJjaFBhcmFtcyhjKTtsZXQgZD1yLmdldCgicGFnZSIpO2NvbnN0IHU9ci5nZXQoIndvcmtzcGFjZSIpO3JldHVybiFkJiZ1PT09InJlc2VhcmNoIiYmKGQ9ImRlY2lzaW9ucyIpLCFkJiZ1PT09ImFjY291bnRzIiYmKGQ9ImFjY291bnRzIiksKCFkfHwhWW0uaW5jbHVkZXMoZCkpJiYoZD0ib3ZlcnZpZXciKSx7cGFnZTpkLHNjb3BlOnIuZ2V0KCJzY29wZSIpfHxTcCxhY2NvdW50OnIuZ2V0KCJhY2NvdW50IiksdGFiOnIuZ2V0KCJ0YWIiKSxkZWNpc2lvbjpyLmdldCgiZGVjaXNpb24iKX19ZnVuY3Rpb24gR20oYyl7Y29uc3Qgcj1uZXcgVVJMU2VhcmNoUGFyYW1zO2MucGFnZSE9PSJvdmVydmlldyImJnIuc2V0KCJwYWdlIixjLnBhZ2UpLGMuc2NvcGUhPT1TcCYmci5zZXQoInNjb3BlIixjLnNjb3BlKSxjLmFjY291bnQmJnIuc2V0KCJhY2NvdW50IixjLmFjY291bnQpLGMudGFiJiZyLnNldCgidGFiIixjLnRhYiksYy5wYWdlPT09ImRlY2lzaW9ucyImJmMuZGVjaXNpb24mJnIuc2V0KCJkZWNpc2lvbiIsYy5kZWNpc2lvbik7Y29uc3QgZD1yLnRvU3RyaW5nKCk7cmV0dXJuIGQ/YD8ke2R9YDoiIn1mdW5jdGlvbiBscChjKXtjb25zdCByPUdtKGMpO3dpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7cXNsOmN9LCIiLGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3J9YCl9bGV0IHdwPW51bGw7ZnVuY3Rpb24gY3YoYyl7d3A9Y31mdW5jdGlvbiBVcigpe3JldHVybiB3cH1jbGFzcyBNaSBleHRlbmRzIEVycm9ye3N0YXR1cztjb2RlO2NvbnN0cnVjdG9yKHIsZD1udWxsKXtzdXBlcihyPT09NDAxPyJzZXNzaW9uX2V4cGlyZWQiOiJhY2Nlc3NfZGVuaWVkIiksdGhpcy5zdGF0dXM9cix0aGlzLmNvZGU9ZH19ZnVuY3Rpb24geHAoYyl7aWYoYz09PW51bGx8fHR5cGVvZiBjIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShjKSlyZXR1cm4gbnVsbDtjb25zdCByPWM7cmV0dXJuIE9iamVjdC5rZXlzKHIpLnNvcnQoKS5qb2luKCkhPT0iZXJyb3Isb2sifHxyLm9rIT09ITF8fHR5cGVvZiByLmVycm9yIT0ic3RyaW5nIj9udWxsOnIuZXJyb3J9Y2xhc3MgaWMgZXh0ZW5kcyBFcnJvcntzdGF0dXM7cGF5bG9hZDtjb25zdHJ1Y3RvcihyLGQpe2NvbnN0IHU9ZD8uZXJyb3I7c3VwZXIodXx8YGh0dHBfJHtyfWApLHRoaXMuc3RhdHVzPXIsdGhpcy5wYXlsb2FkPWR9fWNvbnN0IFFtPS9eXC9hcGlcL2NyZWRlbnRpYWwtcm90YXRpb25cL2lia3JfZmxleFwvKD86c3RhZ2V8b3BlcmF0aW9uc1wvW0EtWmEtejAtOV1bQS1aYS16MC05Xy1dezcsMTI3fVwvKD86ZmluYWxpemV8Y2FuY2VsKSkkLztsZXQgbGM9MCxRcj0wO2Z1bmN0aW9uIFhtKCl7cmV0dXJuIFFyfWZ1bmN0aW9uIFhyKCl7bGMrPTEsUXIrPTEsd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJxc2wtcHJpdmF0ZS1zZXNzaW9uLWludmFsaWQiKSl9ZnVuY3Rpb24ganIoYyl7aWYoYyE9PWxjKXRocm93IG5ldyBFcnJvcigic2Vzc2lvbl9pbnZhbGlkYXRlZCIpfWFzeW5jIGZ1bmN0aW9uIG1lKGMpe2NvbnN0IHI9bGMsZD1hd2FpdCBmZXRjaChjLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixjYWNoZToibm8tc3RvcmUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoZC5zdGF0dXM9PT00MDF8fGQuc3RhdHVzPT09NDAzKXtjb25zdCB2PWF3YWl0IGQuanNvbigpLmNhdGNoKCgpPT4oe30pKTt0aHJvdyBYcigpLG5ldyBNaShkLnN0YXR1cyx4cCh2KSl9aWYoanIociksIWQub2spe2NvbnN0IHY9YXdhaXQgZC5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO3Rocm93IG5ldyBpYyhkLnN0YXR1cyx2KX1jb25zdCB1PWF3YWl0IGQuanNvbigpO3JldHVybiBqcihyKSx1fWFzeW5jIGZ1bmN0aW9uIFpyKGMscil7Y29uc3QgZD1sYyx1PWF3YWl0IGZldGNoKGMse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixjYWNoZToibm8tc3RvcmUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHIpfSksdj1hd2FpdCB1Lmpzb24oKS5jYXRjaCgoKT0+KHt9KSk7anIoZCk7Y29uc3QgeD14cCh2KSxOPXUuc3RhdHVzPT09NDAzJiZRbS50ZXN0KGMpJiZ4PT09InN0ZXBfdXBfaW52YWxpZCI7aWYodS5zdGF0dXM9PT00MDF8fHUuc3RhdHVzPT09NDAzJiYhTil0aHJvdyBYcigpLG5ldyBNaSh1LnN0YXR1cyx4KTtpZighdS5va3x8dj8ub2s9PT0hMSl0aHJvdyBuZXcgaWModS5zdGF0dXMsdik7cmV0dXJuIFFyKz0xLHZ9ZnVuY3Rpb24gSHIoYyl7cmV0dXJuYCR7Yy5wbGF0Zm9ybX06JHtjLmFjY291bnRfYWxpYXN9YH1mdW5jdGlvbiBabShjLHIpe2lmKCFyKXJldHVybjtjb25zdCBkPWMuZmluZCh2PT5Icih2KT09PXIpO2lmKGQpcmV0dXJuIGQ7Y29uc3QgdT1jLmZpbHRlcih2PT52LmFjY291bnRfYWxpYXM9PT1yKTtyZXR1cm4gdS5sZW5ndGg9PT0xP3VbMF06dm9pZCAwfWZ1bmN0aW9uIFRwKGMscixkKXtyZXR1cm4gYz8uYWNjb3VudE9wdGlvbnM/LltyXT8uZmluZCh1PT51LmtleT09PWQpfWZ1bmN0aW9uIGNwKGMscil7cmV0dXJuIFRwKGMsci5wbGF0Zm9ybSxyLmFjY291bnRfYWxpYXMpPy5hY2NvdW50X3NlbGVjdG9yPy50cmltKCl8fHIuYWNjb3VudF9hbGlhc31mdW5jdGlvbiBvdihjLHIpe2NvbnN0IGQ9bmV3IE1hcDtmb3IoY29uc3QgdSBvZiBjKXtsZXQgdj1kLmdldCh1LnBsYXRmb3JtKTt2fHxkLnNldCh1LnBsYXRmb3JtLHY9bmV3IE1hcCk7Y29uc3QgTj1jcChyLHUpLnRvVXBwZXJDYXNlKCksRD12LmdldChOKTtEP0QucHVzaCh1KTp2LnNldChOLFt1XSl9cmV0dXJuWy4uLmRdLm1hcCgoW3Usdl0pPT4oe3BsYXRmb3JtOnUsYWNjb3VudHM6Wy4uLnYudmFsdWVzKCldLm1hcCh4PT4oe2lkZW50aXR5OmNwKHIseFswXSkscm93czp4fSkpfSkpfWZ1bmN0aW9uIEFwKGMscil7Y29uc3QgZD1jLmluZGV4T2YoIjoiKTtyZXR1cm4gZD4wP3tzY29wZTpjLnNsaWNlKGQrMSkscGxhdGZvcm06Yy5zbGljZSgwLGQpfTp7c2NvcGU6YyxwbGF0Zm9ybTpyfX1jbGFzcyBWbSBleHRlbmRzIEVycm9ye3JlcXVlc3RJZDtvcGVyYXRpb25JZDtjb25zdHJ1Y3RvcihyLGQpe3N1cGVyKCJtdXRhdGlvbl9vdXRjb21lX3Vua25vd24iKSx0aGlzLnJlcXVlc3RJZD1yLHRoaXMub3BlcmF0aW9uSWQ9ZH19Y29uc3QgS209InFzbC5vcGVyYXRpb24udjEiLEptPSJxc2wuYXVkaXRfZXZlbnRzLnYxIjtmdW5jdGlvbiBOcihjKXtyZXR1cm4gYz09PSJDQVBJVEFMX1BSRVNFUlZBVElPTiJ8fGM9PT0iQkFMQU5DRURfQ09NUE9VTkRJTkcifHxjPT09IkdST1dUSF9DT01QT1VORElORyJ9ZnVuY3Rpb24gJG0oYyl7cmV0dXJuIGM9PT0icmVzZWFyY2gifHxjPT09InBhcGVyInx8Yz09PSJzbWFsbF9saXZlInx8Yz09PSJmdWxsX2xpdmUifWZ1bmN0aW9uIE9yKGMpe3JldHVybiAkbShjKT9jOiJ1bmNsYXNzaWZpZWQifWZ1bmN0aW9uIFdtKGMpe3JldHVybiB0eXBlb2YgYz09InN0cmluZyImJmMubGVuZ3RoPjAmJmMubGVuZ3RoPD02NCYmL15bYS16XVthLXowLTlfXSokLy50ZXN0KGMpP2M6bnVsbH1mdW5jdGlvbiBydigpe2NvbnN0IGM9Z2xvYmFsVGhpcy5jcnlwdG87cmV0dXJuIGM/LnJhbmRvbVVVSUQ/Yy5yYW5kb21VVUlEKCk6YHJlcS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCl9YH1mdW5jdGlvbiBzdihjLHIsZCx1KXtpZighYylyZXR1cm57c3RhdGU6Im5vbmUifTtjb25zdCB2PURhdGUucGFyc2UoYykseD1yP0RhdGUucGFyc2Uocik6TnVtYmVyLk5hTixOPURhdGUucGFyc2UoZCk7aWYoIU51bWJlci5pc0Zpbml0ZSh2KXx8IU51bWJlci5pc0Zpbml0ZSh4KXx8IU51bWJlci5pc0Zpbml0ZShOKSlyZXR1cm57c3RhdGU6InVua25vd24iLGV4cGlyZXNBdDpjfTtjb25zdCBEPXgrTWF0aC5tYXgoMCx1LU4pO3JldHVybiBEPj12P3tzdGF0ZToiZXhwaXJlZCIsZXhwaXJlc0F0OmMsc2VydmVyTm93OkR9OntzdGF0ZToib3BlbiIsZXhwaXJlc0F0OmMscmVtYWluaW5nTXM6di1EfX1mdW5jdGlvbiBWcihjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGljJiYoYy5zdGF0dXM9PT00MDR8fGMuc3RhdHVzPT09NTAxKX1mdW5jdGlvbiBVZShjKXtyZXR1cm4gYyE9PW51bGwmJnR5cGVvZiBjPT0ib2JqZWN0Ij9jOm51bGx9ZnVuY3Rpb24gWShjKXtyZXR1cm4gdHlwZW9mIGM9PSJzdHJpbmciJiZjLmxlbmd0aD4wP2M6bnVsbH1mdW5jdGlvbiBJbChjKXtyZXR1cm4gdHlwZW9mIGM9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUoYyk/YzpudWxsfWZ1bmN0aW9uIEZtKGMpe2NvbnN0IHI9VWUoYyk7aWYocil7Y29uc3Qgdj1ZKHIua2luZCkseD1ZKHIuaWQpO3JldHVybiB2PT09bnVsbCYmeD09PW51bGw/bnVsbDp7a2luZDp2Pz8idW5rbm93biIsaWQ6eD8/IiJ9fWNvbnN0IGQ9WShjKTtpZihkPT09bnVsbClyZXR1cm4gbnVsbDtjb25zdCB1PWQuaW5kZXhPZigiOiIpO3JldHVybiB1PDA/e2tpbmQ6InVua25vd24iLGlkOmR9OntraW5kOmQuc2xpY2UoMCx1KS50cmltKCl8fCJ1bmtub3duIixpZDpkLnNsaWNlKHUrMSkudHJpbSgpfX1mdW5jdGlvbiBQbShjKXtjb25zdCByPVVlKGMpO2lmKCFyKXJldHVybiBudWxsO2NvbnN0IGQ9ci5zdGF0ZT09PSJjdXJyZW50Inx8ci5zdGF0ZT09PSJzdGFsZSJ8fHIuc3RhdGU9PT0ibWlzc2luZyJ8fHIuc3RhdGU9PT0iZXhwaXJlZCJ8fHIuc3RhdGU9PT0idW5hdmFpbGFibGUiP3Iuc3RhdGU6InVuYXZhaWxhYmxlIix1PXIucXVhbGlmaWNhdGlvbj09PSJxdWFsaWZpZWQifHxyLnF1YWxpZmljYXRpb249PT0idW5xdWFsaWZpZWQiP3IucXVhbGlmaWNhdGlvbjoidW5rbm93biIsdj1BcnJheS5pc0FycmF5KHIubGltaXRhdGlvbnMpP3IubGltaXRhdGlvbnMuZmlsdGVyKHg9PnR5cGVvZiB4PT0ic3RyaW5nIik6W107cmV0dXJue2V2aWRlbmNlX2lkOlkoci5ldmlkZW5jZV9pZCksbGFiZWxfa2V5Olkoci5sYWJlbF9rZXkpLG9ic2VydmVkX2F0Olkoci5vYnNlcnZlZF9hdCksdmFsaWRfdW50aWw6WShyLnZhbGlkX3VudGlsKSxzdGF0ZTpkLHF1YWxpZmljYXRpb246dSxsaW1pdGF0aW9uczp2fX1mdW5jdGlvbiBJbShjKXtyZXR1cm4gQXJyYXkuaXNBcnJheShjKT9jLmZsYXRNYXAocj0+e2NvbnN0IGQ9VWUocik7aWYoIWR8fHR5cGVvZiBkLmtleSE9InN0cmluZyIpcmV0dXJuW107Y29uc3QgdT1kLnN0YXR1cz09PSJrbm93biJ8fGQuc3RhdHVzPT09InVua25vd24ifHxkLnN0YXR1cz09PSJ1bmF2YWlsYWJsZSI/ZC5zdGF0dXM6InVua25vd24iO3JldHVyblt7a2V5OmQua2V5LGxhYmVsX2tleTpZKGQubGFiZWxfa2V5KSx2YWx1ZTp0eXBlb2YgZC52YWx1ZT09Im51bWJlciJ8fHR5cGVvZiBkLnZhbHVlPT0ic3RyaW5nIj9kLnZhbHVlOm51bGwsdW5pdDpZKGQudW5pdCksc3RhdHVzOnUsc291cmNlOlkoZC5zb3VyY2UpfV19KTpbXX1mdW5jdGlvbiBlZyhjLHI9e30pe2NvbnN0IGQ9VWUoYyk7aWYoIWQpcmV0dXJuIG51bGw7Y29uc3QgdT1ZKGQuaWQpPz9ZKGQub3BlcmF0aW9uX2lkKT8/IiIsdj17YXBwbHlpbmc6ImFwcGx5aW5nIixhcHBsaWVkOiJhcHBsaWVkIixmYWlsZWQ6ImZhaWxlZCIscmVqZWN0ZWQ6InJlamVjdGVkIixhY2NlcHRlZDoicGVuZGluZyIsdW5hY2NlcHRlZDoidW5rbm93biIsdW5hcHBsaWVkOiJ1bmtub3duIix1bmtub3duOiJ1bmtub3duIn0seD1ZKGQuc3RhdHVzKSxOPXg/dlt4XT8/InVua25vd24iOiJ1bmtub3duIixEPVkoZC5yZWFzb25fY29kZSksaD1VZShkLmRpc3BhdGNoKSx5PVVlKGQuYXBwbGljYXRpb24pLE89WShyLmRlY2lzaW9uPy5kZWNpZGVkX2F0KSxCPVkoZC51cGRhdGVkX2F0KTtyZXR1cm57b3BlcmF0aW9uX2lkOnUscmVxdWVzdF9pZDp1LGRlY2lzaW9uX2lkOlkoZC5kZWNpc2lvbl9pZCksZGVjaXNpb25fcmV2aXNpb246bnVsbCxhY3Rpb246V20oci5kZWNpc2lvbj8uYWN0aW9uKSx0aXRsZV9rZXk6bnVsbCxhY2NvdW50X2FsaWFzOlkoeT8uYWNjb3VudF9hbGlhcykscGxhdGZvcm06WSh5Py5wbGF0Zm9ybSkscmVsZWFzZV9pZDpZKHk/LnJlbGVhc2VfaWQpLHRhcmdldF9pZDpZKHk/LnRhcmdldF9pZCksc3RhdGU6TixyZWNvcmRlZF9hdDpPPz9CLGRpc3BhdGNoZWRfYXQ6WShoPy51cGRhdGVkX2F0KSxhcHBsaWVkX2F0Ok49PT0iYXBwbGllZCI/QjpudWxsLGFwcGxpZWRfYnk6eT8icGxhdGZvcm0iOm51bGwscnVudGltZV9jb25maXJtZWRfYXQ6bnVsbCxydW50aW1lX3N0YXRlOiJ1bmtub3duIixmYWlsdXJlX3JlYXNvbjpOPT09ImZhaWxlZCI/RDpudWxsLHVua25vd25fcmVhc29uOk49PT0idW5rbm93biI/RDpudWxsLHJlYWRiYWNrX2F2YWlsYWJsZTpZKGQuYWN0aXZhdGlvbl9zdGF0dXMpPT09Im5vdF9jb25uZWN0ZWQiPyExOm51bGwsc2VydmVyX3RpbWU6ci5zZXJ2ZXJUaW1lPz9udWxsfX1mdW5jdGlvbiB1dihjKXtjb25zdCByPVVlKGMpO2lmKCFyKXJldHVybiBudWxsO2NvbnN0IGQ9WShyLmZyZXNobmVzcyksdT1kPT09ImN1cnJlbnQifHxkPT09Im9rInx8ZD09PSJyZWFkeSJ8fGQ9PT0iZnJlc2giPyJjdXJyZW50IjpkPT09InN0YWxlIj8ic3RhbGUiOmQ9PT0iZXhwaXJlZCI/ImV4cGlyZWQiOmQ9PT0ibWlzc2luZyI/Im1pc3NpbmciOiJ1bmF2YWlsYWJsZSIsdj1VZShyLnNoYWRvdykseD10eXBlb2Ygdj8ucGFzc2VkPT0iYm9vbGVhbiI/di5wYXNzZWQ/InF1YWxpZmllZCI6InVucXVhbGlmaWVkIjoidW5rbm93biI7cmV0dXJue2V2aWRlbmNlX2lkOlkoci5zb3VyY2VfaWQpPz9ZKHIubWF0ZXJpYWxfc2hhMjU2KSxsYWJlbF9rZXk6bnVsbCxvYnNlcnZlZF9hdDpZKHIub2JzZXJ2ZWRfYXQpLHZhbGlkX3VudGlsOm51bGwsc3RhdGU6dSxxdWFsaWZpY2F0aW9uOngsbGltaXRhdGlvbnM6W119fWFzeW5jIGZ1bmN0aW9uIGR2KGMscj0hMSl7aWYocilyZXR1cm57c3RhdHVzOiJyZWFkeSIsc3ludGhldGljOiEwLGRhdGE6aWcoYyl9O3RyeXtjb25zdCBkPWF3YWl0IG1lKGAvYXBpL29wZXJhdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoYyl9YCksdT1VZShkKTtpZihZKHU/LnNjaGVtYV92ZXJzaW9uKSE9PUttKXJldHVybntzdGF0dXM6Im5vdF9yZWFkeSJ9O2NvbnN0IHY9ZWcodT8ub3BlcmF0aW9uLHtzZXJ2ZXJUaW1lOlkodT8uc2VydmVyX3RpbWUpLGRlY2lzaW9uOlVlKHU/LmRlY2lzaW9uKX0pO3JldHVybiB2P3tzdGF0dXM6InJlYWR5IixkYXRhOnYsc3ludGhldGljOiExfTp7c3RhdHVzOiJub3RfcmVhZHkifX1jYXRjaChkKXtpZihWcihkKSlyZXR1cm57c3RhdHVzOiJub3RfcmVhZHkifTt0aHJvdyBkfX1mdW5jdGlvbiB0ZyhjLHIpe2NvbnN0IGQ9VWUoYy50ZW1wb3JhcnlfcmVzdHJpY3Rpb24pO3JldHVybntzY29wZTpyLHNlbGVjdGVkX3RpZXI6TnIoYy5zZWxlY3RlZF90aWVyKT9jLnNlbGVjdGVkX3RpZXI6bnVsbCxzZWxlY3Rpb25fcmV2aXNpb246SWwoYy5zZWxlY3Rpb25fcmV2aXNpb24pLGFwcHJvdmVkX3RpZXI6TnIoYy5hcHByb3ZlZF90aWVyKT9jLmFwcHJvdmVkX3RpZXI6bnVsbCxhcHByb3ZlZF9wb2xpY3lfaWQ6WShjLmFwcHJvdmVkX3BvbGljeV9pZCksYXBwcm92ZWRfcG9saWN5X3JldmlzaW9uOlkoYy5hcHByb3ZlZF9wb2xpY3lfcmV2aXNpb24pLGVmZmVjdGl2ZV90aWVyOk5yKGMuZWZmZWN0aXZlX3RpZXIpP2MuZWZmZWN0aXZlX3RpZXI6bnVsbCxlZmZlY3RpdmVfcG9saWN5X2lkOlkoYy5lZmZlY3RpdmVfcG9saWN5X2lkKSxlZmZlY3RpdmVfcG9saWN5X3JldmlzaW9uOlkoYy5lZmZlY3RpdmVfcG9saWN5X3JldmlzaW9uKSxlZmZlY3RpdmVfb2JzZXJ2ZWRfYXQ6WShjLmVmZmVjdGl2ZV9vYnNlcnZlZF9hdCksdGVtcG9yYXJ5X3Jlc3RyaWN0aW9uOmQ/e2FjdGl2ZTpkLmFjdGl2ZT09PSEwLHJlYXNvbjpZKGQucmVhc29uKSx1bnRpbDpZKGQudW50aWwpfTpudWxsLHZhbHVlczpJbShjLnZhbHVlcz8/Yy5saW1pdHMpfX1hc3luYyBmdW5jdGlvbiBmdihjLHI9ITEpe2lmKHIpcmV0dXJue3N0YXR1czoicmVhZHkiLHN5bnRoZXRpYzohMCxkYXRhOmxnKGMpfTt0cnl7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTpjfSksdT1hd2FpdCBtZShgL2FwaS9yaXNrLXByb2ZpbGVzPyR7ZH1gKSx2PVVlKHUpLHg9VWUodj8uYmluZGluZyk/P1VlKHY/LnBvbGljeV9iaW5kaW5nKTtyZXR1cm4geD97c3RhdHVzOiJyZWFkeSIsZGF0YTp0Zyh4LGMpLHN5bnRoZXRpYzohMX06e3N0YXR1czoibm90X3JlYWR5In19Y2F0Y2goZCl7aWYoVnIoZCkpcmV0dXJue3N0YXR1czoibm90X3JlYWR5In07dGhyb3cgZH19YXN5bmMgZnVuY3Rpb24gcHYoYyxyPSExKXtpZihyKXJldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITAsZGF0YTpjZygpfTtjb25zdCBkPVtdO2Zvcihjb25zdCB1IG9mIGMuc3RyYXRlZ2llcyl7Y29uc3Qgdj1VZSh1LmxpZmVjeWNsZSk7Zm9yKGNvbnN0IHggb2YgdS5jb25maWd1cmVkX2FjY291bnRzKXtjb25zdCBOPVVlKHgubGlmZWN5Y2xlKT8/djtkLnB1c2goe3Byb2ZpbGU6dS5wcm9maWxlLGFjY291bnRfYWxpYXM6eC5hY2NvdW50X2FsaWFzLHBsYXRmb3JtOngucGxhdGZvcm0sdGFyZ2V0X2lkOlkoTj8udGFyZ2V0X2lkKSxyZWxlYXNlX2lkOlkoTj8ucmVsZWFzZV9pZCkscHJlc2VudDohIU4scmVzZWFyY2hfc3RhZ2U6T3IoTj8ucmVzZWFyY2hfc3RhZ2UpLGF1dGhvcml6ZWRfc3RhZ2U6T3IoTj8uYXV0aG9yaXplZF9zdGFnZSksZWZmZWN0aXZlX3N0YWdlOk9yKE4/LmVmZmVjdGl2ZV9zdGFnZSksb3BlcmF0aW5nX3N0YXRlOlsicnVubmluZyIsInBhdXNlZCIsInJlZHVjdGlvbl9vbmx5IiwicmVjb25jaWxlX29ubHkiLCJ1bmtub3duIl0uaW5jbHVkZXMoTj8ub3BlcmF0aW5nX3N0YXRlKT9OPy5vcGVyYXRpbmdfc3RhdGU6InVua25vd24iLGFwcGxpY2F0aW9uX3N0YXRlOlsicGVuZGluZyIsImFwcGx5aW5nIiwiYXBwbGllZCIsInJlamVjdGVkIiwiZmFpbGVkIiwidW5rbm93biJdLmluY2x1ZGVzKE4/LmFwcGxpY2F0aW9uX3N0YXRlKT9OPy5hcHBsaWNhdGlvbl9zdGF0ZToidW5rbm93biIsb2JzZXJ2ZWRfYXQ6WShOPy5vYnNlcnZlZF9hdCksZXZpZGVuY2U6UG0oTj8uZXZpZGVuY2UpLHJlZ2ltZV9lZmZlY3Q6WShOPy5yZWdpbWVfZWZmZWN0KX0pfX1yZXR1cm57c3RhdHVzOiJyZWFkeSIsZGF0YTpkLHN5bnRoZXRpYzohMX19YXN5bmMgZnVuY3Rpb24gX3YoYyxyPSExKXtpZihyKXJldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITAsZGF0YTpvZygpfTtjb25zdCBkPVVlKGMuZGlnZXN0KTtpZighZClyZXR1cm57c3RhdHVzOiJyZWFkeSIsc3ludGhldGljOiExLGRhdGE6e2J1c2luZXNzX2RheTpudWxsLHRpbWV6b25lOm51bGwsZXhwZWN0ZWRfdGFyZ2V0czpudWxsLGNvdmVyZWRfdGFyZ2V0czpudWxsLHVuYXZhaWxhYmxlX3RhcmdldHM6bnVsbCxkZWxpdmVyeV9zdGF0ZToidW5hdmFpbGFibGUiLGFjY2VwdGVkX2F0Om51bGwsYWNrbm93bGVkZ2VkX2F0Om51bGwsc291cmNlX2FzX29mOmMuYXNfb2YsbGVnYWN5X3JlY2VpcHRzOiEwLHRhcmdldHM6W119fTtjb25zdCB1PWQuZGVsaXZlcnlfc3RhdGUsdj11PT09ImFjY2VwdGVkInx8dT09PSJkZWxpdmVyZWQifHx1PT09ImZhaWxlZCJ8fHU9PT0idW5rbm93biI/dToidW5hdmFpbGFibGUiO3JldHVybntzdGF0dXM6InJlYWR5IixzeW50aGV0aWM6ITEsZGF0YTp7YnVzaW5lc3NfZGF5OlkoZC5idXNpbmVzc19kYXkpLHRpbWV6b25lOlkoZC50aW1lem9uZSksZXhwZWN0ZWRfdGFyZ2V0czpJbChkLmV4cGVjdGVkX3RhcmdldHMpLGNvdmVyZWRfdGFyZ2V0czpJbChkLmNvdmVyZWRfdGFyZ2V0cyksdW5hdmFpbGFibGVfdGFyZ2V0czpJbChkLnVuYXZhaWxhYmxlX3RhcmdldHMpLGRlbGl2ZXJ5X3N0YXRlOnYsYWNjZXB0ZWRfYXQ6WShkLmFjY2VwdGVkX2F0KSxhY2tub3dsZWRnZWRfYXQ6WShkLmFja25vd2xlZGdlZF9hdCksc291cmNlX2FzX29mOlkoZC5zb3VyY2VfYXNfb2YpLGxlZ2FjeV9yZWNlaXB0czohMSx0YXJnZXRzOltdfX19ZnVuY3Rpb24gbmcoYyl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYyl9Y2F0Y2h7cmV0dXJuIG51bGx9fWNvbnN0IGFnPVsiY3JlZGVudGlhbF9yb3RhdGlvbl9zdGFnZSIsImNyZWRlbnRpYWxfcm90YXRpb25fZmluYWxpemUiLCJjcmVkZW50aWFsX3JvdGF0aW9uX2NhbmNlbCIsImNyZWRlbnRpYWxfcm90YXRpb25fZGVuaWVkIl07YXN5bmMgZnVuY3Rpb24gaHYoYz1udWxsLHI9ITEpe2lmKHIpcmV0dXJue3N0YXR1czoicmVhZHkiLHN5bnRoZXRpYzohMCxkYXRhOnJnKCl9O3RyeXtjb25zdCBkPW5ldyBVUkxTZWFyY2hQYXJhbXMoe2xpbWl0OiIyNSJ9KTtjJiZkLnNldCgiY3Vyc29yIixjKTtjb25zdCB1PWF3YWl0IG1lKGAvYXBpL2F1ZGl0LWV2ZW50cz8ke2R9YCksdj1VZSh1KTtyZXR1cm4gWSh2Py5zY2hlbWFfdmVyc2lvbikhPT1KbT97c3RhdHVzOiJub3RfcmVhZHkifTp7c3RhdHVzOiJyZWFkeSIsZGF0YTooQXJyYXkuaXNBcnJheSh2Py5ldmVudHMpP3YuZXZlbnRzOltdKS5mbGF0TWFwKEQ9Pntjb25zdCBoPVVlKEQpO2lmKCFoKXJldHVybltdO2NvbnN0IHk9L15cL2FwaVwvKGRlY2lzaW9uc3xvcGVyYXRpb25zKVwvKFteLz8jXSspLy5leGVjKFkoaC5yZWYpPz8iIiksTz15P25nKHlbMl0pOm51bGwsQj1ZKGgucmV2aXNpb24pLFo9Rm0oaC5zdWJqZWN0KSxfZT1aPy5raW5kPT09ImNyZWRlbnRpYWwiJiZaLmlkPT09Imlia3JfZmxleCImJmFnLmluY2x1ZGVzKFkoaC5hY3Rpb24pPz8iIikmJnR5cGVvZiBoLmV2ZW50X2lkPT0ic3RyaW5nIjtyZXR1cm5be2V2ZW50X2lkOlkoX2U/aC5ldmVudF9pZDpoLmlkKT8/IiIsb2NjdXJyZWRfYXQ6WShoLm9jY3VycmVkX2F0KT8/IiIsYWN0b3I6WShoLmFjdG9yX2FsaWFzKSxhY3Rpb246WShoLmFjdGlvbik/PyJ1bmtub3duIixzdWJqZWN0OloscmV2aXNpb246QixkZWNpc2lvbl9pZDp5Py5bMV09PT0iZGVjaXNpb25zIj9POm51bGwsb3BlcmF0aW9uX2lkOl9lP1koaC5vcGVyYXRpb25faWQpOnk/LlsxXT09PSJvcGVyYXRpb25zIj9POm51bGwsb3V0Y29tZTpZKGgub3V0Y29tZSl9XX0pLHN5bnRoZXRpYzohMX19Y2F0Y2goZCl7aWYoVnIoZCkpcmV0dXJue3N0YXR1czoibm90X3JlYWR5In07dGhyb3cgZH19ZnVuY3Rpb24gaWcoYyl7cmV0dXJue29wZXJhdGlvbl9pZDpjLHJlcXVlc3RfaWQ6InN5bnRoZXRpYy1yZXF1ZXN0IixkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsZGVjaXNpb25fcmV2aXNpb246MyxhY3Rpb246ImFwcHJvdmUiLHRpdGxlX2tleToiZGVjaXNpb24ucHJvbW90aW9uX3RpdGxlIixhY2NvdW50X2FsaWFzOiJkZW1vX2FjY291bnQiLHBsYXRmb3JtOiJpYmtyIixyZWxlYXNlX2lkOiJkZW1vLXJlbGVhc2UtMjAyNi4xMCIsdGFyZ2V0X2lkOiJkZW1vLXRhcmdldCIsc3RhdGU6ImFwcGx5aW5nIixyZWNvcmRlZF9hdDoiMjAyNi0xMS0wMVQxMDowMDowMFoiLGRpc3BhdGNoZWRfYXQ6IjIwMjYtMTEtMDFUMTA6MDA6MDVaIixhcHBsaWVkX2F0Om51bGwsYXBwbGllZF9ieTpudWxsLHJ1bnRpbWVfY29uZmlybWVkX2F0Om51bGwscnVudGltZV9zdGF0ZToidW5rbm93biIsZmFpbHVyZV9yZWFzb246bnVsbCx1bmtub3duX3JlYXNvbjpudWxsLHJlYWRiYWNrX2F2YWlsYWJsZTpudWxsLHNlcnZlcl90aW1lOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX19ZnVuY3Rpb24gbGcoYyl7cmV0dXJue3Njb3BlOmMsc2VsZWN0ZWRfdGllcjoiQkFMQU5DRURfQ09NUE9VTkRJTkciLHNlbGVjdGlvbl9yZXZpc2lvbjoyLGFwcHJvdmVkX3RpZXI6IkJBTEFOQ0VEX0NPTVBPVU5ESU5HIixhcHByb3ZlZF9wb2xpY3lfaWQ6InN5bnRoZXRpYy1wb2xpY3kiLGFwcHJvdmVkX3BvbGljeV9yZXZpc2lvbjoicjciLGVmZmVjdGl2ZV90aWVyOiJCQUxBTkNFRF9DT01QT1VORElORyIsZWZmZWN0aXZlX3BvbGljeV9pZDoic3ludGhldGljLXBvbGljeSIsZWZmZWN0aXZlX3BvbGljeV9yZXZpc2lvbjoicjciLGVmZmVjdGl2ZV9vYnNlcnZlZF9hdDoiMjAyNi0xMS0wMVQwOTozMDowMFoiLHRlbXBvcmFyeV9yZXN0cmljdGlvbjpudWxsLHZhbHVlczpbe2tleToibWF4X2dyb3NzX2V4cG9zdXJlIixsYWJlbF9rZXk6bnVsbCx2YWx1ZTo0NSx1bml0OiJwZXJjZW50IixzdGF0dXM6Imtub3duIixzb3VyY2U6InNlcnZlciJ9LHtrZXk6ImNhc2hfZmxvb3IiLGxhYmVsX2tleTpudWxsLHZhbHVlOjIwLHVuaXQ6InBlcmNlbnQiLHN0YXR1czoia25vd24iLHNvdXJjZToic2VydmVyIn1dfX1mdW5jdGlvbiBjZygpe3JldHVyblt7cHJvZmlsZToiZGVtb190cmVuZCIsYWNjb3VudF9hbGlhczoiZGVtb19hY2NvdW50IixwbGF0Zm9ybToiaWJrciIsdGFyZ2V0X2lkOiJkZW1vLXRhcmdldCIscmVsZWFzZV9pZDoiZGVtby1yZWxlYXNlLTIwMjYuMTAiLHByZXNlbnQ6ITAscmVzZWFyY2hfc3RhZ2U6InBhcGVyIixhdXRob3JpemVkX3N0YWdlOiJwYXBlciIsZWZmZWN0aXZlX3N0YWdlOiJwYXBlciIsb3BlcmF0aW5nX3N0YXRlOiJydW5uaW5nIixhcHBsaWNhdGlvbl9zdGF0ZToiYXBwbGllZCIsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTEtMDFUMDk6MzA6MDBaIixldmlkZW5jZTp7ZXZpZGVuY2VfaWQ6InN5bnRoZXRpYy1ldmlkZW5jZSIsbGFiZWxfa2V5Om51bGwsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTAtMzFUMTM6MDA6MDBaIix2YWxpZF91bnRpbDoiMjAyNi0xMS0wMlQxMzowMDowMFoiLHN0YXRlOiJjdXJyZW50IixxdWFsaWZpY2F0aW9uOiJxdWFsaWZpZWQiLGxpbWl0YXRpb25zOltdfSxyZWdpbWVfZWZmZWN0OiJyaXNrX3JlZHVjdGlvbl9vbmx5In1dfWZ1bmN0aW9uIG9nKCl7cmV0dXJue2J1c2luZXNzX2RheToiMjAyNi0xMS0wMSIsdGltZXpvbmU6IkFtZXJpY2EvTmV3X1lvcmsiLGV4cGVjdGVkX3RhcmdldHM6NCxjb3ZlcmVkX3RhcmdldHM6Myx1bmF2YWlsYWJsZV90YXJnZXRzOjEsZGVsaXZlcnlfc3RhdGU6ImFjY2VwdGVkIixhY2NlcHRlZF9hdDoiMjAyNi0xMS0wMVQxMzowNTowMFoiLGFja25vd2xlZGdlZF9hdDpudWxsLHNvdXJjZV9hc19vZjoiMjAyNi0xMS0wMVQxMzowMDowMFoiLGxlZ2FjeV9yZWNlaXB0czohMSx0YXJnZXRzOltdfX1mdW5jdGlvbiByZygpe2NvbnN0IGM9IjAiLnJlcGVhdCg2MykrIjEiO3JldHVyblt7ZXZlbnRfaWQ6InN5bnRoZXRpYy1ldmVudC0xIixvY2N1cnJlZF9hdDoiMjAyNi0xMS0wMVQxMDowMDowMFoiLGFjdG9yOiJvd25lciIsYWN0aW9uOiJhcHByb3ZhbF9yZWNvcmRlZCIsc3ViamVjdDp7a2luZDoib3duZXJfZGVjaXNpb24iLGlkOiJzeW50aGV0aWMtZGVjaXNpb24tMDAxIn0scmV2aXNpb246YyxkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsb3BlcmF0aW9uX2lkOiJzeW50aGV0aWMtb3BlcmF0aW9uLTEiLG91dGNvbWU6InJlY29yZGVkIn0se2V2ZW50X2lkOiJzeW50aGV0aWMtZXZlbnQtMiIsb2NjdXJyZWRfYXQ6IjIwMjYtMTEtMDFUMTA6MDA6MDVaIixhY3RvcjoicGxhdGZvcm0iLGFjdGlvbjoiYXBwbGljYXRpb25fZGlzcGF0Y2hlZCIsc3ViamVjdDp7a2luZDoicGFwZXJfYWNjb3VudF9hcHBsaWNhdGlvbiIsaWQ6ImRlbW8tdGFyZ2V0In0scmV2aXNpb246YyxkZWNpc2lvbl9pZDoic3ludGhldGljLWRlY2lzaW9uLTAwMSIsb3BlcmF0aW9uX2lkOiJzeW50aGV0aWMtb3BlcmF0aW9uLTEiLG91dGNvbWU6ImFwcGx5aW5nIn1dfWNvbnN0IG9wPSJxc2wuY3JlZGVudGlhbF9yb3RhdGlvbi52MSIsc2c9Imlia3JfZmxleCIscnA9e307ZnVuY3Rpb24gdWcoKXtyZXR1cm4gbWUoIi9hcGkvc2Vzc2lvbiIpfWxldCBGbD1udWxsLFJhPW51bGw7Y29uc3QgQnI9bmV3IFNldDtmdW5jdGlvbiBkZyhjKXtyZXR1cm4gQnIuYWRkKGMpLCgpPT57QnIuZGVsZXRlKGMpfX1mdW5jdGlvbiBmZyhjKXtjb25zdCByPU51bWJlcihjP3JwPy5WSVRFX0lOQk9YX0ZBSUxVUkVfQkFDS09GRl9NUzpycD8uVklURV9JTkJPWF9DQUNIRV9NUyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShyKSYmcj49MWUzJiZyPD0zZTU/cjpjPzZlNDoxNWUzfWZ1bmN0aW9uIHBnKGM9ITEpe2NvbnN0IHI9WG0oKTtyZXR1cm4gUmEmJlJhLnJldmlzaW9uPT09ciYmRGF0ZS5ub3coKTxSYS51bnRpbCYmKCFjfHxSYS52YWx1ZS5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKT9Qcm9taXNlLnJlc29sdmUoUmEudmFsdWUpOihGbHx8KEZsPW1lKCIvYXBpL2RlY2lzaW9ucy1pbmJveCIpLnRoZW4oZD0+e1JhPXt2YWx1ZTpkLHVudGlsOkRhdGUubm93KCkrZmcoZC5zdGF0dXM9PT0icmVhZF9mYWlsZWQiKSxyZXZpc2lvbjpyfTtmb3IoY29uc3QgdSBvZlsuLi5Ccl0pdSgpO3JldHVybiBkfSkuZmluYWxseSgoKT0+e0ZsPW51bGx9KSksRmwpfWZ1bmN0aW9uIG12KGM9MjUscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtsaW1pdDpTdHJpbmcoYyl9KTtyZXR1cm4gciYmZC5zZXQoImN1cnNvciIsciksbWUoYC9hcGkvb3duZXItZGVjaXNpb25zL2hpc3Rvcnk/JHtkfWApfWZ1bmN0aW9uIF9nKCl7cmV0dXJuIG1lKCIvYXBpL2FjY291bnRzIil9ZnVuY3Rpb24gZ3YoKXtyZXR1cm4gbWUoIi9hcGkvYWNjb3VudC1mYWN0cyIpfWZ1bmN0aW9uIHZ2KCl7cmV0dXJuIG1lKCIvYXBpL2JpbmFuY2UtYWNjb3VudC1mYWN0cyIpfWZ1bmN0aW9uIHl2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHthY2NvdW50OmN9KTtyZXR1cm4gciYmZC5zZXQoInBsYXRmb3JtIixyKSxtZShgL2FwaS9hY2NvdW50LXNldHRpbmdzL2RpZmY/JHtkfWApfWZ1bmN0aW9uIGJ2KGMscixkPTI1LHUpe2NvbnN0IHY9bmV3IFVSTFNlYXJjaFBhcmFtcyh7YWNjb3VudDpjLGxpbWl0OlN0cmluZyhkKX0pO3JldHVybiByJiZ2LnNldCgicGxhdGZvcm0iLHIpLHUmJnYuc2V0KCJjdXJzb3IiLHUpLG1lKGAvYXBpL2FjY291bnQtc2V0dGluZ3MvaGlzdG9yeT8ke3Z9YCl9ZnVuY3Rpb24ga3YoYyl7cmV0dXJuIFpyKCIvYXBpL2FjY291bnQtc2V0dGluZ3MvZHJhZnQiLGMpfWZ1bmN0aW9uIFN2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtwbGF0Zm9ybTpjLGtleTpyfSk7cmV0dXJuIG1lKGAvYXBpL2FjY291bnQtc2V0dGluZ3M/JHtkfWApfWZ1bmN0aW9uIHd2KCl7cmV0dXJuIG1lKCIvYXBpL3J1bnRpbWUvdG9kYXkiKX1mdW5jdGlvbiB4digpe3JldHVybiBtZSgiL2FwaS9zdHJhdGVnaWVzL3N1bW1hcnkiKX1mdW5jdGlvbiBUdihjPTI1LHIpe2NvbnN0IGQ9bmV3IFVSTFNlYXJjaFBhcmFtcyh7bGltaXQ6U3RyaW5nKGMpfSk7cmV0dXJuIG1lKGAvYXBpL25vdGlmaWNhdGlvbnMvc2VuZC1sb2c/JHtkfWApfWZ1bmN0aW9uIEF2KGMscil7Y29uc3QgZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHthY2NvdW50OmN9KTtyZXR1cm4gciYmZC5zZXQoInBsYXRmb3JtIixyKSxtZShgL2FwaS9hY2NvdW50cy9ydW4tY29udHJvbHM/JHtkfWApfWZ1bmN0aW9uIENpKGMscixkKXtjb25zdCB1PUFwKGMsZCksdj1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTp1LnNjb3BlLHJhbmdlOnJ9KTtyZXR1cm4gdS5wbGF0Zm9ybSYmdi5zZXQoInBsYXRmb3JtIix1LnBsYXRmb3JtKSxTdHJpbmcodil9ZnVuY3Rpb24gRXYoYyxyLGQpe3JldHVybiBtZShgL2FwaS9wZXJmb3JtYW5jZS9zdW1tYXJ5PyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIFJ2KGMscixkKXtyZXR1cm4gbWUoYC9hcGkvcGVyZm9ybWFuY2UvcmV0dXJucz8ke0NpKGMscixkKX1gKX1mdW5jdGlvbiB6dihjLHIsZCl7cmV0dXJuIG1lKGAvYXBpL3BlcmZvcm1hbmNlL2Fzc2V0cz8ke0NpKGMscixkKX1gKX1mdW5jdGlvbiBOdihjLHIsZCl7cmV0dXJuIG1lKGAvYXBpL3BlcmZvcm1hbmNlL2hvbGRpbmdzPyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIE92KGMscixkKXtyZXR1cm4gbWUoYC9hcGkvcGVyZm9ybWFuY2UvdHJhZGVzPyR7Q2koYyxyLGQpfWApfWZ1bmN0aW9uIER2KGMscixkLHUsdix4KXtjb25zdCBOPUFwKGMsdiksRD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtzY29wZTpOLnNjb3BlLHJhbmdlOnIseWVhcjpTdHJpbmcoZCl9KTtyZXR1cm4gdSE9bnVsbCYmRC5zZXQoIm1vbnRoIixTdHJpbmcodSkpLE4ucGxhdGZvcm0mJkQuc2V0KCJwbGF0Zm9ybSIsTi5wbGF0Zm9ybSkseCYmRC5zZXQoImN1cnJlbmN5Iix4KSxtZShgL2FwaS9wZXJmb3JtYW5jZS9jYWxlbmRhcj8ke0R9YCl9YXN5bmMgZnVuY3Rpb24gTXYoKXtyZXR1cm4oYXdhaXQgbWUoIi9hcGkvY29uZmlnIikpLnJ1bnRpbWVEYWlseUJpbmRpbmdzPz9bXX1mdW5jdGlvbiBDdihjLHIsZCx1PSEwKXtjb25zdCB2PW5ldyBVUkxTZWFyY2hQYXJhbXMoe2RhdGU6Y30pO3JldHVybiByJiZ2LnNldCgicGxhdGZvcm0iLHIpLGQmJnYuc2V0KCJhY2NvdW50X2tleSIsZCksdXx8di5zZXQoImluY2x1ZGVfaGlzdG9yeSIsImZhbHNlIiksbWUoYC9hcGkvcnVudGltZS1kYWlseT8ke3Z9YCl9ZnVuY3Rpb24gcXYoKXtyZXR1cm4gbWUoIi9hcGkvY3JlZGVudGlhbC1tYWludGVuYW5jZSIpfWNvbnN0IGNjPWAvYXBpL2NyZWRlbnRpYWwtcm90YXRpb24vJHtzZ31gLGhnPS9eXGR7NH0tXGR7Mn0tXGR7Mn1UXGR7Mn06XGR7Mn06XGR7Mn0oPzpcLlxkezEsM30pPyg/Olp8WystXVxkezJ9OlxkezJ9KSQvLHphPS9eW0EtWmEtejAtOV1bQS1aYS16MC05Xy1dezcsMTI3fSQvLG1nPVsiYWRkaW5nX3ZlcnNpb24iLCJzdGFnZWQiLCJmaW5hbGl6aW5nIiwiZmluYWxpemVkIiwiY2FuY2VsaW5nIiwiY2FuY2VsZWQiLCJhZGRfdW5rbm93biIsImZpbmFsaXplX3Vua25vd24iLCJjYW5jZWxfdW5rbm93biIsImZhaWxlZCJdLGdnPVsicHJveHlfdW5jb25maXJtZWQiLCJtYWludGVuYW5jZV9yZXZpc2lvbl9jb25mbGljdCIsInByb3ZpZGVyX2ZhaWxlZCJdLHZnPVsiaW52YWxpZF9jcmVkZW50aWFsX3JvdGF0aW9uX3JlcXVlc3QiLCJpbnZhbGlkX2NyZWRlbnRpYWxfZXhwaXJ5Iiwib3JpZ2luX3JlcXVpcmVkIiwiY3Jvc3Nfb3JpZ2luX3JlamVjdGVkIiwicm90YXRpb25fb3duZXJfcmVxdWlyZWQiLCJzdGVwX3VwX2ludmFsaWQiLCJzdGVwX3VwX3JhdGVfbGltaXRlZCIsImNyZWRlbnRpYWxfcm90YXRpb25fb3BlcmF0aW9uX25vdF9mb3VuZCIsImNyZWRlbnRpYWxfcm90YXRpb25fcmVxdWVzdF9jb25mbGljdCIsImNyZWRlbnRpYWxfcm90YXRpb25fc3RhdGVfY29uZmxpY3QiLCJjcmVkZW50aWFsX21haW50ZW5hbmNlX3JldmlzaW9uX2NvbmZsaWN0IiwiY3JlZGVudGlhbF9yb3RhdGlvbl91bmF2YWlsYWJsZSJdLHlnPXZnLGJnPVsibmFtZSIsImxhc3Rfcm90YXRlZF9hdCIsImV4cGlyZXNfYXQiXSxrZz1bIm9wZXJhdGlvbl9pZCIsInN0YXRlIiwicmVxdWVzdGVkX2V4cGlyZXNfYXQiLCJjcmVhdGVkX2F0IiwidXBkYXRlZF9hdCIsImFsbG93ZWRfYWN0aW9ucyIsInJlYXNvbl9jb2RlIl0sU2c9WyJzY2hlbWFfdmVyc2lvbiIsIm9rIiwic2VydmVyX3RpbWUiLCJtZXRhZGF0YSIsIm9wZXJhdGlvbiIsImFsbG93ZWRfYWN0aW9ucyIsInJlcGxheWVkIl0sd2c9WyJ2YWx1ZSIsIm5ld192YWx1ZSIsIm1hc2tlZF92YWx1ZSIsIm9sZF92YWx1ZSIsInRva2VuIiwic2VjcmV0IiwiY29kZSIsInN0ZXBfdXAiLCJ2ZXJzaW9uIiwidmVyc2lvbl9uYW1lIiwicmVzb3VyY2VfbmFtZSIsImZpbmdlcnByaW50IiwiZGlnZXN0IiwicHJvdmlkZXIiLCJwcm92aWRlcl9yZXNwb25zZSIsInJlc3BvbnNlIiwiYm9keSIsInBheWxvYWQiXTtjbGFzcyBQZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoImludmFsaWRfY3JlZGVudGlhbF9yb3RhdGlvbl9yZXNwb25zZSIpfX1mdW5jdGlvbiBLcihjKXtpZihjPT09bnVsbHx8dHlwZW9mIGMhPSJvYmplY3QifHxBcnJheS5pc0FycmF5KGMpKXRocm93IG5ldyBQZTtyZXR1cm4gY31mdW5jdGlvbiB4ZyhjKXtmb3IoY29uc3QgciBvZiBPYmplY3Qua2V5cyhjKSlpZih3Zy5pbmNsdWRlcyhyLnRvTG93ZXJDYXNlKCkpKXRocm93IG5ldyBQZX1mdW5jdGlvbiBKcihjLHIsZD1bXSl7aWYoeGcoYyksci5zb21lKHU9PiFkLmluY2x1ZGVzKHUpJiYhT2JqZWN0Lmhhc093bihjLHUpKSl0aHJvdyBuZXcgUGU7Zm9yKGNvbnN0IHUgb2YgT2JqZWN0LmtleXMoYykpaWYoIXIuaW5jbHVkZXModSkpdGhyb3cgbmV3IFBlfWZ1bmN0aW9uIExyKGMscj01MTIpe2lmKHR5cGVvZiBjIT0ic3RyaW5nInx8Yy5sZW5ndGg9PT0wfHxjLmxlbmd0aD5yKXRocm93IG5ldyBQZTtyZXR1cm4gY31mdW5jdGlvbiBuYyhjKXtpZihjPT09bnVsbClyZXR1cm4gbnVsbDtpZih0eXBlb2YgYyE9InN0cmluZyJ8fCFoZy50ZXN0KGMpfHxOdW1iZXIuaXNOYU4oRGF0ZS5wYXJzZShjKSkpdGhyb3cgbmV3IFBlO2NvbnN0W3IsZF09Yy5zcGxpdCgiVCIpLFt1LHYseF09ci5zcGxpdCgiLSIpLm1hcChOdW1iZXIpLFtOLEQsaF09ZC5zbGljZSgwLDgpLnNwbGl0KCI6IikubWFwKE51bWJlcikseT1jLmVuZHNXaXRoKCJaIik/bnVsbDpjLnNsaWNlKC02KTtpZih1PDE5NzB8fHY8MXx8dj4xMnx8eDwxfHx4Pm5ldyBEYXRlKERhdGUuVVRDKHUsdiwwKSkuZ2V0VVRDRGF0ZSgpfHxOPjIzfHxEPjU5fHxoPjU5fHx5JiYoTnVtYmVyKHkuc2xpY2UoMSwzKSk+MjN8fE51bWJlcih5LnNsaWNlKDQpKT41OSkpdGhyb3cgbmV3IFBlO3JldHVybiBjfWZ1bmN0aW9uIGVjKGMpe2NvbnN0IHI9bmMoYyk7aWYocj09PW51bGwpdGhyb3cgbmV3IFBlO3JldHVybiByfWZ1bmN0aW9uIFRnKGMpe3RyeXtyZXR1cm4gbmMoYykhPT1udWxsfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBBZyhjKXtjb25zdCByPUtyKGMpO3JldHVybiBKcihyLGJnKSx7bmFtZTpMcihyLm5hbWUsMTI4KSxsYXN0X3JvdGF0ZWRfYXQ6bmMoci5sYXN0X3JvdGF0ZWRfYXQpLGV4cGlyZXNfYXQ6bmMoci5leHBpcmVzX2F0KX19ZnVuY3Rpb24gRWcoYyl7aWYoYz09PW51bGwpcmV0dXJuIG51bGw7Y29uc3Qgcj1LcihjKTtKcihyLGtnKTtjb25zdCBkPUxyKHIuc3RhdGUsMzIpO2lmKCFtZy5pbmNsdWRlcyhkKSl0aHJvdyBuZXcgUGU7Y29uc3QgdT1yLnJlYXNvbl9jb2RlO2lmKHUhPT1udWxsJiYodHlwZW9mIHUhPSJzdHJpbmcifHwhZ2cuaW5jbHVkZXModSkpKXRocm93IG5ldyBQZTtjb25zdCB2PXIuYWxsb3dlZF9hY3Rpb25zO2lmKCFBcnJheS5pc0FycmF5KHYpfHwhdi5ldmVyeSh4PT54PT09ImZpbmFsaXplInx8eD09PSJjYW5jZWwiKSl0aHJvdyBuZXcgUGU7aWYodHlwZW9mIHIub3BlcmF0aW9uX2lkIT0ic3RyaW5nInx8IXphLnRlc3Qoci5vcGVyYXRpb25faWQpKXRocm93IG5ldyBQZTtyZXR1cm57b3BlcmF0aW9uX2lkOkxyKHIub3BlcmF0aW9uX2lkLDEyOCksc3RhdGU6ZCxyZXF1ZXN0ZWRfZXhwaXJlc19hdDplYyhyLnJlcXVlc3RlZF9leHBpcmVzX2F0KSxjcmVhdGVkX2F0OmVjKHIuY3JlYXRlZF9hdCksdXBkYXRlZF9hdDplYyhyLnVwZGF0ZWRfYXQpLGFsbG93ZWRfYWN0aW9uczp2LHJlYXNvbl9jb2RlOnU/P251bGx9fWZ1bmN0aW9uIEVwKGMpe2NvbnN0IHI9S3IoYyk7aWYoSnIocixTZyxbInJlcGxheWVkIl0pLHIub2shPT0hMHx8ci5zY2hlbWFfdmVyc2lvbiE9PW9wKXRocm93IG5ldyBQZTtjb25zdCBkPUFycmF5LmlzQXJyYXkoci5hbGxvd2VkX2FjdGlvbnMpP3IuYWxsb3dlZF9hY3Rpb25zOm51bGw7aWYoIWR8fCFkLmV2ZXJ5KHY9PnY9PT0ic3RhZ2UiKSl0aHJvdyBuZXcgUGU7Y29uc3QgdT1yLnJlcGxheWVkO2lmKHUhPT12b2lkIDAmJnR5cGVvZiB1IT0iYm9vbGVhbiIpdGhyb3cgbmV3IFBlO3JldHVybntzY2hlbWFfdmVyc2lvbjpvcCxvazohMCxzZXJ2ZXJfdGltZTplYyhyLnNlcnZlcl90aW1lKSxtZXRhZGF0YTpBZyhyLm1ldGFkYXRhKSxvcGVyYXRpb246RWcoci5vcGVyYXRpb24pLGFsbG93ZWRfYWN0aW9uczpkLC4uLnU9PT12b2lkIDA/e306e3JlcGxheWVkOnV9fX1jb25zdCBSZz1bInJlcXVlc3RfaWRfaW52YWxpZCIsIm9wZXJhdGlvbl9pZF9pbnZhbGlkIiwiY3JlZGVudGlhbF92YWx1ZV9sZW5ndGhfaW52YWxpZCIsInN0ZXBfdXBfbWV0aG9kX2ludmFsaWQiLCJzdGVwX3VwX2NvZGVfcmVxdWlyZWQiLCJkb3duc3RyZWFtX3ZlcmlmaWNhdGlvbl9yZXF1aXJlZCJdO2Z1bmN0aW9uIFV2KGMpe2NvbnN0IHI9YyBpbnN0YW5jZW9mIE1pP2MuY29kZTpjIGluc3RhbmNlb2YgRXJyb3I/Yy5tZXNzYWdlOm51bGw7cmV0dXJuIHI9PT1udWxsP251bGw6Wy4uLnlnLC4uLlJnXS5pbmNsdWRlcyhyKT9yOm51bGx9ZnVuY3Rpb24ganYoKXtyZXR1cm4gbWUoY2MpLnRoZW4oRXApfWZ1bmN0aW9uICRyKGMpe2lmKGMubWV0aG9kIT09InRvdHAiJiZjLm1ldGhvZCE9PSJyZWNvdmVyeSIpdGhyb3cgbmV3IEVycm9yKCJzdGVwX3VwX21ldGhvZF9pbnZhbGlkIik7aWYodHlwZW9mIGMuY29kZSE9InN0cmluZyJ8fGMuY29kZS5sZW5ndGg9PT0wfHxjLmNvZGUubGVuZ3RoPjEyOCl0aHJvdyBuZXcgRXJyb3IoInN0ZXBfdXBfY29kZV9yZXF1aXJlZCIpO3JldHVybnttZXRob2Q6Yy5tZXRob2QsY29kZTpjLmNvZGV9fWFzeW5jIGZ1bmN0aW9uIFdyKGMscixkLHUpe3RyeXtyZXR1cm4gRXAoYXdhaXQgWnIoYyxyKSl9Y2F0Y2godil7dGhyb3cgdiBpbnN0YW5jZW9mIGljfHx2IGluc3RhbmNlb2YgTWk/djpuZXcgVm0oZCx1KX19ZnVuY3Rpb24gSHYoYyl7aWYoIXphLnRlc3QoYy5yZXF1ZXN0X2lkKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJyZXF1ZXN0X2lkX2ludmFsaWQiKSk7Y29uc3Qgcj1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYy5uZXdfdmFsdWUpLmxlbmd0aDtyZXR1cm4gcjwxfHxyPjEwMjQ/UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJjcmVkZW50aWFsX3ZhbHVlX2xlbmd0aF9pbnZhbGlkIikpOlRnKGMuZXhwaXJlc19hdCk/V3IoYCR7Y2N9L3N0YWdlYCx7cmVxdWVzdF9pZDpjLnJlcXVlc3RfaWQsbmV3X3ZhbHVlOmMubmV3X3ZhbHVlLGV4cGlyZXNfYXQ6Yy5leHBpcmVzX2F0LHN0ZXBfdXA6JHIoYy5zdGVwX3VwKX0sYy5yZXF1ZXN0X2lkLG51bGwpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiaW52YWxpZF9jcmVkZW50aWFsX2V4cGlyeSIpKX1mdW5jdGlvbiBCdihjKXtyZXR1cm4gemEudGVzdChjLm9wZXJhdGlvbl9pZCk/emEudGVzdChjLnJlcXVlc3RfaWQpP1dyKGAke2NjfS9vcGVyYXRpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGMub3BlcmF0aW9uX2lkKX0vZmluYWxpemVgLHtyZXF1ZXN0X2lkOmMucmVxdWVzdF9pZCxkb3duc3RyZWFtX3ZlcmlmaWVkOiEwLHN0ZXBfdXA6JHIoYy5zdGVwX3VwKX0sYy5yZXF1ZXN0X2lkLGMub3BlcmF0aW9uX2lkKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoInJlcXVlc3RfaWRfaW52YWxpZCIpKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIm9wZXJhdGlvbl9pZF9pbnZhbGlkIikpfWZ1bmN0aW9uIEx2KGMpe3JldHVybiB6YS50ZXN0KGMub3BlcmF0aW9uX2lkKT96YS50ZXN0KGMucmVxdWVzdF9pZCk/V3IoYCR7Y2N9L29wZXJhdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoYy5vcGVyYXRpb25faWQpfS9jYW5jZWxgLHtyZXF1ZXN0X2lkOmMucmVxdWVzdF9pZCxzdGVwX3VwOiRyKGMuc3RlcF91cCl9LGMucmVxdWVzdF9pZCxjLm9wZXJhdGlvbl9pZCk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJyZXF1ZXN0X2lkX2ludmFsaWQiKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJvcGVyYXRpb25faWRfaW52YWxpZCIpKX1hc3luYyBmdW5jdGlvbiB6ZyhjLHI9ZmV0Y2gpe2lmKCEvXlthLWYwLTldezY0fSQvLnRlc3QoYykpcmV0dXJuITE7Y29uc3QgZD1hd2FpdCByKCIvIix7bWV0aG9kOiJIRUFEIixjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJvbWl0In0pLHU9ZC5oZWFkZXJzLmdldCgiWC1Db25zb2xlLUJ1aWxkIik7cmV0dXJuIGQub2smJi9eW2EtZjAtOV17NjR9JC8udGVzdCh1fHwiIikmJnUhPT1jfWZ1bmN0aW9uIE5nKCl7Y29uc3QgYz1pdCgpLFtyLGRdPVUudXNlU3RhdGUoITEpO2lmKFUudXNlRWZmZWN0KCgpPT57Y29uc3Qgdj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9InFzbC1jb25zb2xlLWJ1aWxkIl0nKT8uY29udGVudHx8IiI7bGV0IHg9ITEsTj0hMSxEPTA7Y29uc3QgaD1hc3luYygpPT57aWYoIShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUhPT0idmlzaWJsZSJ8fE58fERhdGUubm93KCktRDw2ZTQpKXtOPSEwLEQ9RGF0ZS5ub3coKTt0cnl7YXdhaXQgemcodikmJiF4JiZkKCEwKX1jYXRjaHt9ZmluYWxseXtOPSExfX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpLCgpPT57eD0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpfX0sW10pLCFyKXJldHVybiBudWxsO2NvbnN0IHU9YXN5bmMoKT0+e2NvbnN0IHY9VXIoKTsoIXZ8fGF3YWl0IHYoKSkmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX07cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ1cGRhdGUtbm90aWNlIixyb2xlOiJzdGF0dXMiLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOmMoInNoZWxsLnVwZGF0ZV9hdmFpbGFibGUiKX0pLG0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkiLG9uQ2xpY2s6KCk9Pnt1KCl9LGNoaWxkcmVuOmMoInNoZWxsLnJlbG9hZCIpfSldfSl9Y29uc3Qgc3A9bmV3IE1hcCxhYz1uZXcgTWFwO2Z1bmN0aW9uIEZyKGMpe3JldHVybiBjPT09InpoIj8iemgtQ04iOiJlbi1VUyJ9ZnVuY3Rpb24gb2MoYyxyKXtjb25zdCBkPWAke2N9OiR7SlNPTi5zdHJpbmdpZnkocil9YDtsZXQgdT1zcC5nZXQoZCk7cmV0dXJuIHV8fCh1PW5ldyBJbnRsLk51bWJlckZvcm1hdChGcihjKSxyKSxzcC5zZXQoZCx1KSksdX1mdW5jdGlvbiBPZyhjLHIsZD0yKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpgJHtjPjA/IisiOmM8MD8iLSI6IiJ9JHtvYyhyLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6ZCxtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZH0pLmZvcm1hdChNYXRoLmFicyhjKSl9JWB9ZnVuY3Rpb24gWXYoYyxyKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpgJHtjPjA/IisiOmM8MD8iLSI6IiJ9JHtvYyhyLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChNYXRoLmFicyhjKSl9IHBwYH1mdW5jdGlvbiBEZyhjLHIsZCl7aWYoYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKSlyZXR1cm4i4oCUIjtjb25zdCB1PW9jKGQse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSkuZm9ybWF0KGMpO3JldHVybiByP2Ake3J9ICR7dX1gOnV9Y29uc3QgTWc9L14tPyg/OjB8WzEtOV1cZCopKD86XC5cZCspPyQvO2Z1bmN0aW9uIENnKGMpe3JldHVybiB0eXBlb2YgYz09Im51bWJlciI/TnVtYmVyLmlzRmluaXRlKGMpP2M8MD8i4oiS4oCi4oCi4oCiIjoi4oCi4oCi4oCiIjoi4oCUIjp0eXBlb2YgYyE9InN0cmluZyJ8fCFNZy50ZXN0KGMpPyLigJQiOmMuc3RhcnRzV2l0aCgiLSIpJiYvWzEtOV0vLnRlc3QoYyk/IuKIkuKAouKAouKAoiI6IuKAouKAouKAoiJ9ZnVuY3Rpb24gR3YoYyxyKXtyZXR1cm4gYz09bnVsbHx8IU51bWJlci5pc0Zpbml0ZShjKT8i4oCUIjpvYyhyLHttYXhpbXVtRnJhY3Rpb25EaWdpdHM6Nn0pLmZvcm1hdChjKX1jb25zdCBScD0vXlxkezR9LVxkezJ9LVxkezJ9JC87ZnVuY3Rpb24genAoYyxyKXtpZighYylyZXR1cm4i4oCUIjtpZihScC50ZXN0KGMpKXJldHVybiBjO2NvbnN0IGQ9RGF0ZS5wYXJzZShjKTtpZighTnVtYmVyLmlzRmluaXRlKGQpKXJldHVybiLigJQiO2NvbnN0IHU9YCR7cn06ZGF0ZWA7bGV0IHY9YWMuZ2V0KHUpO3JldHVybiB2fHwodj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChGcihyKSx7eWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCJ9KSxhYy5zZXQodSx2KSksdi5mb3JtYXQobmV3IERhdGUoZCkpfWZ1bmN0aW9uIE5wKGMscixkPSExKXtpZighYylyZXR1cm57dGV4dDoi4oCUIix6b25lOiIifTtjb25zdCB1PURhdGUucGFyc2UoYyk7aWYoIU51bWJlci5pc0Zpbml0ZSh1KSlyZXR1cm57dGV4dDoi4oCUIix6b25lOiIifTtpZihScC50ZXN0KGMpKXJldHVybnt0ZXh0OnpwKGMsciksem9uZToiIn07Y29uc3Qgdj1uZXcgRGF0ZSh1KSx4PWAke3J9OmRhdGV0aW1lOiR7ZH1gO2xldCBOPWFjLmdldCh4KTtOfHwoTj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChGcihyKSx7eWVhcjpkPyJudW1lcmljIjp2b2lkIDAsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmVOYW1lOiJzaG9ydE9mZnNldCJ9KSxhYy5zZXQoeCxOKSk7Y29uc3QgRD1OLmZvcm1hdFRvUGFydHModiksaD1ELmZpbmQoTz0+Ty50eXBlPT09InRpbWVab25lTmFtZSIpPy52YWx1ZXx8IiI7cmV0dXJue3RleHQ6RC5maWx0ZXIoTz0+Ty50eXBlIT09InRpbWVab25lTmFtZSIpLm1hcChPPT5PLnZhbHVlKS5qb2luKCIiKS50cmltKCksem9uZTpofX1mdW5jdGlvbiBRdihjLHIpe2lmKCFjKXJldHVybiBudWxsO2NvbnN0IGQ9RGF0ZS5wYXJzZShjKTtpZighTnVtYmVyLmlzRmluaXRlKGQpKXJldHVybiBudWxsO2NvbnN0IHU9TWF0aC5tYXgoMCxNYXRoLnJvdW5kKChEYXRlLm5vdygpLWQpLzFlMykpO2lmKHU8NjApcmV0dXJuIHI9PT0iemgiPyLliJrliJoiOiJqdXN0IG5vdyI7Y29uc3Qgdj1NYXRoLmZsb29yKHUvNjApO2lmKHY8NjApcmV0dXJuIHI9PT0iemgiP2Ake3Z9IOWIhumSn+WJjWA6YCR7dn1tIGFnb2A7Y29uc3QgeD1NYXRoLmZsb29yKHYvNjApO2lmKHg8NDgpcmV0dXJuIHI9PT0iemgiP2Ake3h9IOWwj+aXtuWJjWA6YCR7eH1oIGFnb2A7Y29uc3QgTj1NYXRoLmZsb29yKHgvMjQpO3JldHVybiByPT09InpoIj9gJHtOfSDlpKnliY1gOmAke059ZCBhZ29gfWNvbnN0IERyPXthY2NvdW50X2FsaWFzZXM6e2hrOntlbjoiSEsiLHpoOiLpppnmuK8ifSxsaXZlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LHBhcGVyOntlbjoicGFwZXIiLHpoOiLmqKHmi58ifSxzZzp7ZW46IlNHIix6aDoi5paw5Yqg5Z2hIn0sc294bDp7ZW46IlNPWEwiLHpoOiJTT1hMIn0sdHFxcTp7ZW46IlRRUVEiLHpoOiJUUVFRIn19LGFjY291bnRzOntiaW5hbmNlOntCaW5hbmNlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LGJpbmFuY2U6e2VuOiJsaXZlIix6aDoi5a6e55uYIn0sY3J5cHRvX2NvbWJvOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LGRlZmF1bHQ6e2VuOiJsaXZlIix6aDoi5a6e55uYIn19fSxkb21haW5zOntjbl9lcXVpdHk6e2VuOiJDTiBBLXNoYXJlIix6aDoiQeiCoSJ9LGNyeXB0bzp7ZW46IkNyeXB0byIsemg6IuWKoOWvhiJ9LGhrX2VxdWl0eTp7ZW46IkhLIEVxdWl0eSIsemg6Iua4r+iCoSJ9LHVzX2VxdWl0eTp7ZW46IlVTIEVxdWl0eSIsemg6Iue+juiCoSJ9fSxsYW5lczp7ZHJ5X3J1bjp7ZW46ImRyeSBydW4iLHpoOiLmvJTnu4MifSxsaXZlOntlbjoibGl2ZSIsemg6IuWunuebmCJ9LHBhcGVyOntlbjoicGFwZXIiLHpoOiLmqKHmi58ifSxyZXNlYXJjaDp7ZW46InJlc2VhcmNoIix6aDoi56CU56m2In0sc2hhZG93Ontlbjoic2hhZG93Iix6aDoi5b2x5a2QIn19LHBsYXRmb3Jtczp7YmluYW5jZToiQmluYW5jZSIsZmlyc3RyYWRlOiJGaXJzdHJhZGUiLGlia3I6IklCS1IiLGxvbmdicmlkZ2U6IkxvbmdCcmlkZ2UiLHFtdDoiUU1UIixzY2h3YWI6IlNjaHdhYiJ9LHNlbmRlcnM6e3F1YW50X3NlbnRpbmVsOntlbjoiUXVhbnRTZW50aW5lbCIsemg6IumHj+WMluWTqOWFtSJ9fSxzdHJhdGVnaWVzOntjbl9jaGluZXh0X2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5OntlbjoiQ04gQ2hpTmV4dCBHcm93dGggTW9tZW50dW0gUXVhbGl0eSIsemg6IuWIm+S4muadv+aIkOmVv+WKqOmHj+i0qOmHjyJ9LGNuX2NoaW5leHRfZ3Jvd3RoX21vbWVudHVtX3F1YWxpdHlfc25hcHNob3Q6e2VuOiJDTiBDaGlOZXh0IEdyb3d0aCBRdWFsaXR5IFNuYXBzaG90Iix6aDoi5Yib5Lia5p2/5oiQ6ZW/6LSo6YeP5b+r54WnIn0sY25fY2hpbmV4dF90YWN0aWNhbF9yb3RhdGlvbjp7ZW46IkNOIENoaU5leHQgVGFjdGljYWwgUm90YXRpb24iLHpoOiLliJvkuJrmnb/miJjmnK/ova7liqgifSxjbl9jc2k1MDBfbXVsdGlfZmFjdG9yX3NuYXBzaG90OntlbjoiQ04gQ1NJIDUwMCBNdWx0aS1GYWN0b3IgU25hcHNob3QiLHpoOiJB6IKh5Lit6K+BNTAw5aSa5Zug5a2QIn0sY25fZGl2aWRlbmRfcXVhbGl0eV9zbmFwc2hvdDp7ZW46IkNOIERpdmlkZW5kIFF1YWxpdHkiLHpoOiJB6IKh57qi5Yip6LSo6YePIn0sY25fZXF1aXR5X2NvbWJvOntlbjoiQ04gQWxwaGEgQ29tYm8iLHpoOiJB6IKh6L+b5Y+W57uE5ZCIIn0sY25faW5kZXhfZXRmX3RhY3RpY2FsX3JvdGF0aW9uOntlbjoiQ04gSW5kZXggRVRGIFRhY3RpY2FsIFJvdGF0aW9uIix6aDoiQeiCoeWuveWfukVURuaImOacr+i9ruWKqCJ9LGNuX2luZHVzdHJ5X2V0Zl9yb3RhdGlvbjp7ZW46IkNOIEluZHVzdHJ5IEVURiBSb3RhdGlvbiIsemg6IkHogqHooYzkuJpFVEbova7liqgifSxjbl9pbmR1c3RyeV9ldGZfcm90YXRpb25fYWdncmVzc2l2ZTp7ZW46IkNOIEVURiBSb3RhdGlvbiIsemg6IkHogqFFVEbova7liqgifSxjbl9zdGFyX2dyb3d0aF9tb21lbnR1bV9xdWFsaXR5OntlbjoiQ04gU1RBUiBHcm93dGggTW9tZW50dW0gUXVhbGl0eSIsemg6IuenkeWIm+adv+aIkOmVv+WKqOmHj+i0qOmHjyJ9LGNuX3N0b2NrX21vbWVudHVtX3JvdGF0aW9uOntlbjoiQ04gU3RvY2sgTW9tZW50dW0gUm90YXRpb24iLHpoOiJB6IKh6IKh56Wo5Yqo6YeP6L2u5YqoIn0sY3J5cHRvX2J0Y19kY2E6e2VuOiJCVEMgRENBIix6aDoiQlRD5a6a5oqVIn0sY3J5cHRvX2VxdWl0eV9jb21ibzp7ZW46IkNyeXB0byBDb3JlIENvbWJvIix6aDoi5Yqg5a+G5Yqo6YeP57uE5ZCIIn0sY3J5cHRvX2xlYWRlcl9yb3RhdGlvbjp7ZW46IkNyeXB0byBMZWFkZXIgUm90YXRpb24iLHpoOiLliqDlr4bpoobmtqjova7liqgifSxjcnlwdG9fbGl2ZV9wb29sX3JvdGF0aW9uOntlbjoiQ3J5cHRvIFBvb2wgUm90YXRpb24iLHpoOiLliqDlr4bmsaDova7liqgifSxjcnlwdG9fdHJlbmRfcm90YXRpb246e2VuOiJBbHRjb2luIFRyZW5kIix6aDoi5bGx5a+o6LaL5Yq/6L2u5YqoIn0sZ2xvYmFsX2V0Zl9jb25maWRlbmNlX3ZvbF9nYXRlOntlbjoiR2xvYmFsIEVURiBDb25maWRlbmNlIFZvbCBHYXRlIix6aDoi5YWo55CDIEVURiDnva7kv6Hms6Lliqjpl6jmjqcifSxnbG9iYWxfZXRmX3JvdGF0aW9uOntlbjoiR2xvYmFsIEVURiBSb3RhdGlvbiIsemg6IuWFqOeQg0VURui9ruWKqCJ9LGhrX2VxdWl0eV9jb21ibzp7ZW46IkhLIENvcmUgQ29tYm8iLHpoOiLmuK/ogqHmgZLnlJ/nu4TlkIgifSxoa19nbG9iYWxfZXRmX3RhY3RpY2FsX3JvdGF0aW9uOntlbjoiSEsgRVRGIFRhY3RpY2FsIFJvdGF0aW9uIix6aDoi5riv6IKhRVRG5oiY5pyv6L2u5YqoIn0saGtfbG93X3ZvbF9kaXZpZGVuZF9xdWFsaXR5X3NuYXBzaG90OntlbjoiSEsgRGl2aWRlbmQgUXVhbGl0eSIsemg6Iua4r+iCoee6ouWIqei0qOmHjyJ9LGliaXRfc21hcnRfZGNhOntlbjoiSUJJVCBCaXRjb2luIERDQSIsemg6IklCSVTmr5TnibnluIHlrprmipUifSxuYXNkYXFfc3A1MDBfc21hcnRfZGNhOntlbjoiTkFTREFRL1MmUCA1MDAgRENBIix6aDoi57qz5oyH5qCH5pmu5a6a5oqVIn0scXFxX3RlY2hfZW5oYW5jZW1lbnQ6e2VuOiJUZWNoL0NvbW11bmljYXRpb24gUHVsbGJhY2sgRW5oYW5jZW1lbnQiLHpoOiLnp5HmioDpgJrkv6Hlm57osIPlop7lvLoifSxydXNzZWxsX3RvcDUwX2xlYWRlcl9yb3RhdGlvbjp7ZW46IlJ1c3NlbGwgVG9wNTAgTGVhZGVycyIsemg6Iue9l+e0oFRvcDUw6aKG5raoIn0sc294bF9zb3h4X2NvcmVfb25seV9wMl92N19sb25ndGVybV9jb21wb3VuZGluZ19jYXNoX3Jlc2VydmU6e2VuOiJTT1hML1NPWFggQ29yZSBDb21wb3VuZGluZyAoQ2FzaCBSZXNlcnZlKSIsemg6IlNPWEwvU09YWCDmoLjlv4PlpI3liKnvvIjnjrDph5Hkv53nlZnvvIkifSxzb3hsX3NveHhfdHJlbmRfaW5jb21lOntlbjoiU2VtaWNvbmR1Y3RvciBUcmVuZCBJbmNvbWUiLHpoOiLljYrlr7zkvZPotovlir/mlLbnm4oifSx0ZWNoX2NvbW11bmljYXRpb25fcHVsbGJhY2tfZW5oYW5jZW1lbnQ6e2VuOiJUZWNoL0NvbW11bmljYXRpb24gUHVsbGJhY2sgRW5oYW5jZW1lbnQiLHpoOiLnp5HmioDpgJrkv6Hlm57osIPlop7lvLoifSx0ZWNsX3hsa190cmVuZF9pbmNvbWU6e2VuOiJURUNML1hMSyBUcmVuZCBJbmNvbWUiLHpoOiJURUNML1hMS+i2i+WKv+aUtuebiiJ9LHRxcXFfZ3Jvd3RoX2luY29tZTp7ZW46Ik5BU0RBUSBHcm93dGggSW5jb21lIix6aDoi57qz5pav6L6+5YWL5aKe6ZW/5pS255uKIn0sdXNfZXF1aXR5X2NvbWJvOntlbjoiVVMgQ29yZSBJbmNvbWUgQ29tYm8iLHpoOiLnvo7ogqHmoLjlv4PmlLbnm4rnu4TlkIgifSx1c19lcXVpdHlfY29tYm9fY29yZTp7ZW46IlVTIENvcmUgQ29tYm8iLHpoOiLnvo7ogqHmoLjlv4Pnu4TlkIgifSx1c19lcXVpdHlfY29tYm9fbGV2ZXJhZ2VkOntlbjoiVVMgQWxwaGEgQ29tYm8iLHpoOiLnvo7ogqHliqDpgJ/nu4TlkIgifX0sc3RyYXRlZ3lfYWxpYXNlczp7Yml0Y29pbl9ldGZfc21hcnRfZGNhOiJpYml0X3NtYXJ0X2RjYSIsZ2xvYmFsX2V0Zl9jb25maWRlbmNlX3ZvbF9nYXRlOiJnbG9iYWxfZXRmX3JvdGF0aW9uIixnbG9iYWxfbWFjcm9fZXRmX3JvdGF0aW9uOiJnbG9iYWxfZXRmX3JvdGF0aW9uIn19LHFnPXtCQVNFX1VSTDoiL3YyLyIsREVWOiExLE1PREU6InByb2R1Y3Rpb24iLFBST0Q6ITAsU1NSOiExfTtsZXQgT3A9e307dHJ5e2NvbnN0IGM9SlNPTi5wYXJzZShxZz8uVklURV9RU0xfRElTUExBWV9OQU1FU19KU09OfHwie30iKTtjJiZ0eXBlb2YgYz09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGMpJiYoT3A9Yyl9Y2F0Y2h7fWZ1bmN0aW9uIFByKGMscixkPSJlbiIsdT0iIix2PSIiLHg9T3Ape2NvbnN0IE49eC5zdHJhdGVneV9hbGlhc2VzPy5bcl18fERyLnN0cmF0ZWd5X2FsaWFzZXM/LltyXXx8cjtmb3IoY29uc3QgRCBvZlt4LERyXSl7Y29uc3QgaD1jPT09ImFjY291bnRzIj9EW2NdPy5bU3RyaW5nKHYpLnRvTG93ZXJDYXNlKCldOkRbY10sTz1oPy5bRD09PURyJiZjPT09InN0cmF0ZWdpZXMiP046cl0/PyhjPT09InN0cmF0ZWdpZXMiP2g/LltOXTpudWxsKSxCPXR5cGVvZiBPPT0ib2JqZWN0IiYmTz9PW1N0cmluZyhkKS5zdGFydHNXaXRoKCJ6aCIpPyJ6aCI6ImVuIl18fE8uZW46TztpZih0eXBlb2YgQj09InN0cmluZyImJkIudHJpbSgpKXJldHVybiBCLnRyaW0oKX1yZXR1cm4gdXx8cnx8IiJ9ZnVuY3Rpb24gVWcoYyxyLGQ9IiIpe3JldHVybiBQcigic3RyYXRlZ2llcyIsYyxyLGR8fChyLnN0YXJ0c1dpdGgoInpoIik/IuacquWRveWQjeetlueVpSI6IlVubmFtZWQgc3RyYXRlZ3kiKSl9ZnVuY3Rpb24gamcoYyxyKXtyZXR1cm4gUHIoImxhbmVzIixjLHIsci5zdGFydHNXaXRoKCJ6aCIpPyLmnKrnn6UiOiJVbmtub3duIil9ZnVuY3Rpb24gSGcoYyxyKXtyZXR1cm4gUHIoImRvbWFpbnMiLGMscixyLnN0YXJ0c1dpdGgoInpoIik/IuacquefpeW4guWcuiI6IlVua25vd24gbWFya2V0Iil9ZnVuY3Rpb24gQmcoYyl7Y29uc3Qgcj1VLnVzZUNvbnRleHQodnApLGQ9R24oKSx1PWl0KCksdj1jPT09dm9pZCAwP3I6YztyZXR1cm57Y29uZmlnOnYsYWNjb3VudDooeCxOKT0+e2lmKCF4KXJldHVybiB1KCJjb21tb24uYWNjb3VudCIpO2NvbnN0IEQ9Tj9UcCh2LE4seCk6dm9pZCAwO2Zvcihjb25zdCBPIG9mW0Q/LmxhYmVsLEQ/LmtleSxEPy50YXJnZXRfbmFtZV0pe2NvbnN0IEI9dXAoTyk7aWYoQilyZXR1cm4gQn1jb25zdCBoPXVwKHgpO2lmKGgpcmV0dXJuIGg7Y29uc3QgeT1EPy5hY2NvdW50X3NlbGVjdG9yPy50cmltKCk7Zm9yKGNvbnN0IE8gb2ZbeSx4XSlpZihPJiYvXig/OkQ/VVxkezUsMTZ9fCg/OkFjY291bnQgKT9cZFtcZCAuLV17NCwyNH1cZCkkL2kudGVzdChPKSlyZXR1cm4iKioqIitPLnNsaWNlKC0yKTtyZXR1cm4gdSgiY29tbW9uLmFjY291bnQiKX0sc3RyYXRlZ3k6eD0+e2NvbnN0IE49dj8uc3RyYXRlZ3lQcm9maWxlcz8uZmluZChEPT5ELnByb2ZpbGU9PT14KTtyZXR1cm4gVWcoeCxkLGQ9PT0iemgiP04/LmxhYmVsX3poOk4/LmxhYmVsX2VuKX0sY3VycmVudFN0cmF0ZWd5Ong9PnY/LmN1cnJlbnRTdHJhdGVnaWVzPy5beC5wbGF0Zm9ybV0/Llt4LmFjY291bnRfYWxpYXNdPy5zdHJhdGVneV9wcm9maWxlLHBsYXRmb3JtOng9PkxnKHY/LnBsYXRmb3JtTWV0YT8uW3hdPy5sYWJlbCx4KSxsYW5lOng9PmpnKHgsZCksZG9tYWluOng9PkhnKHgsZCl9fWZ1bmN0aW9uIExnKGMscil7cmV0dXJuIGN8fHJ9ZnVuY3Rpb24gdXAoYyl7aWYodHlwZW9mIGMhPSJzdHJpbmcifHwvW1xwe0NjfVxwe0NmfVxwe0NzfVxwe1psfVxwe1pwfV0vdS50ZXN0KGMpKXJldHVybiIiO2NvbnN0IHI9Yy50cmltKCk7cmV0dXJuIXJ8fHIubGVuZ3RoPjcwfHxyLmluY2x1ZGVzKCI6Ly8iKXx8L0Q/VVxkezUsfXxcZCg/Oltccy4tXSpcZCl7NCx9fF5bMC05YS1mLV17MTIsfSQvaS50ZXN0KHIpPyIiOnJ9ZnVuY3Rpb24gWWcoe29uUmV0cnk6Y30pe2NvbnN0IHI9aXQoKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLWVycm9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLHN0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjZweCAxMHB4In0sY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzY29wZS1wYW5lbC10ZXh0IixjaGlsZHJlbjpyKCJzaGVsbC5zY29wZV9tZXRhX2Vycm9yIil9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpjLGNoaWxkcmVuOnIoImNvbW1vbi5yZXRyeSIpfSldfSl9ZnVuY3Rpb24gR2coKXtjb25zdCBjPWl0KCkscj1CZygpLHtzY29wZTpkLG9wdGlvbnM6dSxzZXRTY29wZTp2LHN0YXR1czp4LG1ldGFTdGF0dXM6TixyZXRyeTpEfT1CbSgpLFtoLHldPVUudXNlU3RhdGUoITEpLE89VS51c2VSZWYobnVsbCksQj1VLnVzZVJlZihudWxsKSxaPVUudXNlUmVmKG51bGwpLF9lPVUudXNlUmVmKCExKSxjZT1VLnVzZVJlZihudWxsKSx2ZT1jKCJzaGVsbC5zY29wZV9lcnJvciIpLHdlPWMoInNoZWxsLnNjb3BlX2xvYWRpbmciKSxLZT1KPT57Y2UuY3VycmVudD1KLHkoITEpfTtVLnVzZUVmZmVjdCgoKT0+e2g/Wi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yKCIuc2NvcGUtb3B0aW9uLCAuc2NvcGUtcGFuZWwgYnV0dG9uIik/LmZvY3VzKCk6X2UuY3VycmVudCYmY2UuY3VycmVudCE9PSJvdXRzaWRlIiYmQi5jdXJyZW50Py5mb2N1cygpLGh8fChjZS5jdXJyZW50PW51bGwpLF9lLmN1cnJlbnQ9aH0sW2hdKSxVLnVzZUVmZmVjdCgoKT0+e2lmKCFoKXJldHVybjtjb25zdCBKPWJlPT57Ty5jdXJyZW50Py5jb250YWlucyhiZS50YXJnZXQpfHxLZSgib3V0c2lkZSIpfSx5ZT1iZT0+e2JlLmtleT09PSJFc2NhcGUiJiZLZSgiZXNjYXBlIil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIseWUpLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEopLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHllKX19LFtoXSk7Y29uc3QgT2U9Wm0odS5tYXAoSj0+KHsuLi5KLGFjY291bnRfYWxpYXM6Si5hbGlhc30pKSxkKSxvZT1kPT09ImFsbCI/Yygic2hlbGwuc2NvcGVfYWxsIik6T2U/YCR7ci5wbGF0Zm9ybShPZS5wbGF0Zm9ybSl9IMK3ICR7ci5hY2NvdW50KE9lLmFsaWFzLE9lLnBsYXRmb3JtKX1gOmMoImNvbW1vbi51bmtub3duIiksamU9Wy4uLm5ldyBTZXQodS5tYXAoSj0+Si5wbGF0Zm9ybSkpXSxXPUo9Pm0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNjb3BlLW9wdGlvbiR7ZD09PUhyKHtwbGF0Zm9ybTpKLnBsYXRmb3JtLGFjY291bnRfYWxpYXM6Si5hbGlhc30pPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9Pnt2KEhyKHtwbGF0Zm9ybTpKLnBsYXRmb3JtLGFjY291bnRfYWxpYXM6Si5hbGlhc30pKSxLZSgic2VsZWN0Iil9LGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NsYXNzTmFtZToic2NvcGUtb3B0aW9uLWxhYmVsIixjaGlsZHJlbjpyLmFjY291bnQoSi5hbGlhcyxKLnBsYXRmb3JtKX0pLEoucGFwZXI9PT0hMCYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImJhZGdlIGJhZGdlLWFjY2VudCIsY2hpbGRyZW46YygiY29tbW9uLnBhcGVyX2JhZGdlIil9KV19LGAke0oucGxhdGZvcm19OiR7Si5hbGlhc31gKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLXN3aXRjaGVyIixyZWY6TyxjaGlsZHJlbjpbbS5qc3goImJ1dHRvbiIse3JlZjpCLHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20gc2NvcGUtdHJpZ2dlciIsImFyaWEtaGFzcG9wdXAiOiJsaXN0Ym94IiwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1sYWJlbCI6Yygic2hlbGwuc2NvcGUiKSxvbkNsaWNrOigpPT55KEo9PiFKKSxjaGlsZHJlbjptLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InNjb3BlLXRyaWdnZXItbGFiZWwiLGNoaWxkcmVuOlt4PT09ImVycm9yIj92ZTpvZSwiIOKWviJdfSl9KSxoJiZtLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2NvcGUtcGFuZWwiLHJlZjpaLHJvbGU6Imxpc3Rib3giLCJhcmlhLWxhYmVsIjpjKCJzaGVsbC5zY29wZSIpLGNoaWxkcmVuOlt4IT09InJlYWR5IiYmbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNjb3BlLWVycm9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLHN0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjZweCAxMHB4In0sY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzY29wZS1wYW5lbC10ZXh0IixjaGlsZHJlbjp4PT09ImVycm9yIj92ZTp3ZX0pLHg9PT0iZXJyb3IiJiZtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1zbSIsb25DbGljazpELGNoaWxkcmVuOmMoImNvbW1vbi5yZXRyeSIpfSldfSkseD09PSJyZWFkeSImJk49PT0iZXJyb3IiJiZtLmpzeChZZyx7b25SZXRyeTpEfSksbS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzY29wZS1vcHRpb24ke2Q9PT0iYWxsIj8iIGFjdGl2ZSI6IiJ9YCxvbkNsaWNrOigpPT57digiYWxsIiksS2UoInNlbGVjdCIpfSxjaGlsZHJlbjpjKCJzaGVsbC5zY29wZV9hbGwiKX0pLGplLm1hcChKPT5tLmpzeHMoImRpdiIse2NoaWxkcmVuOlttLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzY29wZS1ncm91cCIsY2hpbGRyZW46ci5wbGF0Zm9ybShKKX0pLHUuZmlsdGVyKHllPT55ZS5wbGF0Zm9ybT09PUopLm1hcChXKV19LEopKV19KV19KX1jb25zdCBEcD1bIjFNIiwiM00iLCJZVEQiLCIxWSIsIkFMTCJdO2Z1bmN0aW9uIFh2KHt2YWx1ZTpjLG9uQ2hhbmdlOnIscmV0dXJuczpkfSl7Y29uc3QgdT1pdCgpLHY9ZD8uW2NdPz9udWxsO3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWdtZW50ZWQiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6dSgicGVyZi5yYW5nZS5sYWJlbCIpLGNoaWxkcmVuOkRwLm1hcCh4PT5tLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHt4PT09Yz8iIGFjdGl2ZSI6IiJ9YCwiYXJpYS1wcmVzc2VkIjp4PT09YyxvbkNsaWNrOigpPT5yKHgpLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnUoYHBlcmYucmFuZ2UuJHt4fWApfSkseD09PWMmJnYmJm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzZWdtZW50LXN1YiIsY2hpbGRyZW46dn0pXX0seCkpfSl9ZnVuY3Rpb24gUWcoe29uQ2xvc2U6Y30pe2NvbnN0IHI9aXQoKSx7cHJlZnM6ZCxzZXRQcmVmczp1LHBlcnNpc3RGYWlsZWQ6dn09R3IoKSx4PVUudXNlUmVmKG51bGwpO1UudXNlRWZmZWN0KCgpPT57Y29uc3QgaD1kb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDpudWxsLHk9aD8uY2xvc2VzdCgiZGV0YWlscyIpLE89eSYmIXkub3Blbj95LnF1ZXJ5U2VsZWN0b3IoInN1bW1hcnkiKTpoO3JldHVybiB4LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpPy5mb2N1cygpLCgpPT57TyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZPLmlzQ29ubmVjdGVkJiZPLmZvY3VzKCl9fSxbXSk7Y29uc3QgTj1oPT57aWYoaC5rZXk9PT0iRXNjYXBlIil7aC5wcmV2ZW50RGVmYXVsdCgpLGMoKTtyZXR1cm59aWYoaC5rZXkhPT0iVGFiIilyZXR1cm47Y29uc3QgeT14LmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKSwgaW5wdXQ6bm90KDpkaXNhYmxlZCksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKTtpZigheT8ubGVuZ3RoKXJldHVybjtjb25zdCBPPXlbMF0sQj15W3kubGVuZ3RoLTFdO2guc2hpZnRLZXkmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1PPyhoLnByZXZlbnREZWZhdWx0KCksQi5mb2N1cygpKTohaC5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PUImJihoLnByZXZlbnREZWZhdWx0KCksTy5mb2N1cygpKX0sRD0oaCx5KT0+dSh7Li4uZCxbaF06eX0pO3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkaWFsb2ctYmFja2Ryb3AiLG9uTW91c2VEb3duOmg9PmgudGFyZ2V0PT09aC5jdXJyZW50VGFyZ2V0JiZjKCksY2hpbGRyZW46bS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImRpYWxvZyIscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6InRydWUiLCJhcmlhLWxhYmVsbGVkYnkiOiJwcmVmcy10aXRsZSIscmVmOngsb25LZXlEb3duOk4sY2hpbGRyZW46W20uanN4KCJoMiIse2lkOiJwcmVmcy10aXRsZSIsY2hpbGRyZW46cigicHJlZnMudGl0bGUiKX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1ncmlkIixjaGlsZHJlbjpbbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMudGhlbWUiKX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpyKCJwcmVmcy50aGVtZSIpLGNoaWxkcmVuOlsibGlnaHQiLCJkYXJrIiwic3lzdGVtIl0ubWFwKGg9Pm0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZTpgc2VnbWVudCR7ZC50aGVtZT09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgidGhlbWUiLGgpLGNoaWxkcmVuOnIoYHByZWZzLnRoZW1lXyR7aH1gKX0saCkpfSldfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMubGFuZ3VhZ2UiKX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InNlZ21lbnRlZCIscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpyKCJwcmVmcy5sYW5ndWFnZSIpLGNoaWxkcmVuOlsiemgiLCJlbiJdLm1hcChoPT5tLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YHNlZ21lbnQke2QubGFuZ3VhZ2U9PT1oPyIgYWN0aXZlIjoiIn1gLG9uQ2xpY2s6KCk9PkQoImxhbmd1YWdlIixoKSxjaGlsZHJlbjpoPT09InpoIj8i5Lit5paHIjoiRW5nbGlzaCJ9LGgpKX0pXX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1yb3ciLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoInByZWZzLnVwZG93biIpfSksbS5qc3goImRpdiIse2NsYXNzTmFtZToic2VnbWVudGVkIixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOnIoInByZWZzLnVwZG93biIpLGNoaWxkcmVuOlsiZ3JlZW4tdXAiLCJyZWQtdXAiXS5tYXAoaD0+bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtkLnVwRG93bj09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgidXBEb3duIixoKSxjaGlsZHJlbjpyKGg9PT0iZ3JlZW4tdXAiPyJwcmVmcy51cGRvd25fZ3JlZW5fdXAiOiJwcmVmcy51cGRvd25fcmVkX3VwIil9LGgpKX0pXX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwcmVmcy1yb3ciLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NoaWxkcmVuOnIoInByZWZzLmhpZGVfYW1vdW50cyIpfSksbS5qc3goImlucHV0Iix7dHlwZToiY2hlY2tib3giLGNoZWNrZWQ6ZC5oaWRlQW1vdW50cyxvbkNoYW5nZTpoPT5EKCJoaWRlQW1vdW50cyIsaC50YXJnZXQuY2hlY2tlZCksImFyaWEtbGFiZWwiOnIoInByZWZzLmhpZGVfYW1vdW50cyIpfSldfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InByZWZzLXJvdyIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2hpbGRyZW46cigicHJlZnMuZGVmYXVsdF9yYW5nZSIpfSksbS5qc3goImRpdiIse2NsYXNzTmFtZToic2VnbWVudGVkIixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOnIoInByZWZzLmRlZmF1bHRfcmFuZ2UiKSxjaGlsZHJlbjpEcC5tYXAoaD0+bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmBzZWdtZW50JHtkLmRlZmF1bHRSYW5nZT09PWg/IiBhY3RpdmUiOiIifWAsb25DbGljazooKT0+RCgiZGVmYXVsdFJhbmdlIixoKSxjaGlsZHJlbjpyKGBwZXJmLnJhbmdlLiR7aH1gKX0saCkpfSldfSldfSksbS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIsY2hpbGRyZW46cigicHJlZnMubm90ZSIpfSksdiYmbS5qc3goInAiLHtjbGFzc05hbWU6ImNhcmQtbm90ZSIscm9sZToic3RhdHVzIixjaGlsZHJlbjpyKCJwcmVmcy5zYXZlX2Vycm9yIil9KSxtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJkaWFsb2ctYWN0aW9ucyIsY2hpbGRyZW46bS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLG9uQ2xpY2s6YyxjaGlsZHJlbjpyKCJjb21tb24uY2xvc2UiKX0pfSldfSl9KX1jb25zdCBNcj1be2lkOiJvdmVydmlldyIsbGFiZWxLZXk6Im5hdi5vdmVydmlldyIsaWNvbjoiTTMgMTIgTDEyIDQgTDIxIDEyIE02IDEwIFYyMCBIMTggVjEwIn0se2lkOiJkZWNpc2lvbnMiLGxhYmVsS2V5OiJuYXYuZGVjaXNpb25zIixpY29uOiJNNCA2IEgyMCBNNCAxMiBIMjAgTTQgMTggSDE0In0se2lkOiJzdHJhdGVnaWVzIixsYWJlbEtleToibmF2LnN0cmF0ZWdpZXMiLGljb246Ik01IDUgSDE5IFYxOSBINSBaIE01IDEwIEgxOSBNMTAgMTAgVjE5In0se2lkOiJhY2NvdW50cyIsbGFiZWxLZXk6Im5hdi5hY2NvdW50cyIsaWNvbjoiTTEyIDEyIG0tNCAwIGE0IDQgMCAxIDAgOCAwIGE0IDQgMCAxIDAgLTggMCBNNCAyMCBjMC00IDQtNiA4LTYgczggMiA4IDYifSx7aWQ6InBlcmZvcm1hbmNlIixsYWJlbEtleToibmF2LnBlcmZvcm1hbmNlIixpY29uOiJNNCAxOCBMMTAgMTAgTDE0IDEzIEwyMCA1In0se2lkOiJoZWFsdGgiLGxhYmVsS2V5OiJuYXYuaGVhbHRoIixpY29uOiJNMyAxMiBINyBMMTAgNSBMMTQgMTkgTDE3IDEyIEgyMSJ9XSxYZz1bIm92ZXJ2aWV3IiwiZGVjaXNpb25zIl0sZHA9WyJzdHJhdGVnaWVzIiwiYWNjb3VudHMiLCJwZXJmb3JtYW5jZSIsImhlYWx0aCJdO2Z1bmN0aW9uIENyKHtwYXRoOmN9KXtyZXR1cm4gbS5qc3goInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuOCIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46bS5qc3goInBhdGgiLHtkOmN9KX0pfWZ1bmN0aW9uIFpnKHtwYWdlOmMsdG9kb0NvdW50OnIsdG9kb1N0YXR1czpkPSJvayIsc3ludGhldGljOnUsbG9naW46dix1cGRhdGVkQXQ6eCxvbkxvZ291dDpOLGNoaWxkcmVuOkR9KXtjb25zdCBoPWl0KCkseT1HbigpLE89TG0oKSx7cHJlZnM6QixzZXRQcmVmczpaLHJlc29sdmVkVGhlbWU6X2V9PUdyKCksY2U9X2U9PT0iZGFyayIsW3ZlLHdlXT1VLnVzZVN0YXRlKCExKSxbS2UsT2VdPVUudXNlU3RhdGUoITEpLG9lPVUudXNlUmVmKG51bGwpLGplPVUudXNlUmVmKG51bGwpLFc9VS51c2VSZWYoITEpO1UudXNlRWZmZWN0KCgpPT57b2UuY3VycmVudCYmKG9lLmN1cnJlbnQub3Blbj0hMSksd2UoITEpfSxbY10pLFUudXNlRWZmZWN0KCgpPT57Vy5jdXJyZW50JiYhdmUmJmplLmN1cnJlbnQ/LmZvY3VzKCksVy5jdXJyZW50PXZlfSxbdmVdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGxlPVRlPT57Y29uc3QgbHQ9b2UuY3VycmVudDtsdD8ub3BlbiYmIWx0LmNvbnRhaW5zKFRlLnRhcmdldCkmJihsdC5vcGVuPSExKX0sUmU9VGU9PntUZS5rZXk9PT0iRXNjYXBlIiYmKG9lLmN1cnJlbnQmJihvZS5jdXJyZW50Lm9wZW49ITEpLHdlKCExKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsbGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLFJlKSwoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixsZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUmUpfX0sW10pO2NvbnN0IEo9ciE9PW51bGwmJnI+MD9tLmpzeCgic3BhbiIse2NsYXNzTmFtZToibmF2LWJhZGdlIixjaGlsZHJlbjpyfSk6bnVsbCx5ZT1kPT09InJlYWRfZmFpbGVkIixiZT14P05wKHgseSk6bnVsbCxIZT0obGUsUmU9IiIpPT5tLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmAke1JlfSR7Yz09PWxlLmlkPyIgYWN0aXZlIjoiIn1gLCJhcmlhLWxhYmVsIjpsZS5pZD09PSJkZWNpc2lvbnMiJiZ5ZT9gJHtoKGxlLmxhYmVsS2V5KX0gwrcgJHtoKCJuYXYudG9kb191bmF2YWlsYWJsZSIpfWA6aChsZS5sYWJlbEtleSksImFyaWEtY3VycmVudCI6Yz09PWxlLmlkPyJwYWdlIjp2b2lkIDAsb25DbGljazooKT0+Tyh7cGFnZTpsZS5pZCxhY2NvdW50Om51bGwsdGFiOm51bGwsZGVjaXNpb246bnVsbH0pLGNoaWxkcmVuOlttLmpzeChDcix7cGF0aDpsZS5pY29ufSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6UmU9PT0idG9wbmF2LWl0ZW0iPyJ0b3BuYXYtbGFiZWwiOiJuYXYtdGV4dCIsY2hpbGRyZW46aChsZS5sYWJlbEtleSl9KSxsZS5pZD09PSJkZWNpc2lvbnMiJiYoSnx8eWUmJm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJuYXYtYmFkZ2UgbmF2LWJhZGdlLXVua25vd24iLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOiI/In0pKV19LGxlLmlkKTtyZXR1cm4gbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNoZWxsIixjaGlsZHJlbjpbbS5qc3goImEiLHtjbGFzc05hbWU6InNraXAtbGluayIsaHJlZjoiI21haW4tY29udGVudCIsY2hpbGRyZW46aCgic2hlbGwuc2tpcF90b19jb250ZW50Iil9KSxtLmpzeHMoImRpdiIse2NsYXNzTmFtZToic2hlbGwtbWFpbiIsY2hpbGRyZW46W20uanN4cygiaGVhZGVyIix7Y2xhc3NOYW1lOiJ0b3BiYXIiLGNoaWxkcmVuOlttLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJicmFuZCIsImFyaWEtbGFiZWwiOmgoImFwcC5uYW1lIiksb25DbGljazooKT0+Tyh7cGFnZToib3ZlcnZpZXciLGFjY291bnQ6bnVsbCx0YWI6bnVsbH0pLGNoaWxkcmVuOlttLmpzeCgiaW1nIix7c3JjOiIvdjIvYXNzZXRzL3FzbC1icmFuZC1pY29uLnN2ZyIsYWx0OiIiLHdpZHRoOjI4LGhlaWdodDoyOH0pLG0uanN4cygic3BhbiIse2NsYXNzTmFtZToiYnJhbmQtY29weSIsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJicmFuZC1uYW1lIixjaGlsZHJlbjpoKCJhcHAubmFtZSIpfSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImJyYW5kLXN1YnRpdGxlIixjaGlsZHJlbjpoKCJzaGVsbC5jb2NrcGl0Iil9KV19KV19KSxtLmpzeCgibmF2Iix7Y2xhc3NOYW1lOiJ0b3BuYXYiLCJhcmlhLWxhYmVsIjpoKCJuYXYubWFpbiIpLGNoaWxkcmVuOk1yLm1hcChsZT0+SGUobGUsInRvcG5hdi1pdGVtIikpfSksbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InNwYWNlciJ9KSxjIT09ImhlYWx0aCImJm0uanN4KEdnLHt9KSxiZSYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRvcGJhci11cGRhdGVkIixjaGlsZHJlbjpoKCJjb21tb24udXBkYXRlZF9hdCIse3ZhbHVlOmAke2JlLnRleHR9JHtiZS56b25lP2AgKCR7YmUuem9uZX0pYDoiIn1gfSl9KSxtLmpzeHMoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXNlY29uZGFyeSBidXR0b24tc20gYXBwZWFyYW5jZS10b2dnbGUgbGFuZy10b2dnbGUiLCJhcmlhLWxhYmVsIjpoKCJwcmVmcy5sYW5ndWFnZSIpLHRpdGxlOmgoInByZWZzLmxhbmd1YWdlIiksb25DbGljazooKT0+Wih7Li4uQixsYW5ndWFnZTp5PT09InpoIj8iZW4iOiJ6aCJ9KSxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImxhbmctbGFiZWwgbGFuZy1sYWJlbC1mdWxsIixjaGlsZHJlbjp5PT09InpoIj8iRW5nbGlzaCI6IuS4reaWhyJ9KSxtLmpzeCgic3BhbiIse2NsYXNzTmFtZToibGFuZy1sYWJlbCBsYW5nLWxhYmVsLXNob3J0IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjp5PT09InpoIj8iRU4iOiLkuK0ifSldfSksbS5qc3hzKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIGFwcGVhcmFuY2UtdG9nZ2xlIiwiYXJpYS1sYWJlbCI6aChjZT8ic2hlbGwuc3dpdGNoX2xpZ2h0Ijoic2hlbGwuc3dpdGNoX2RhcmsiKSx0aXRsZTpoKGNlPyJzaGVsbC5zd2l0Y2hfbGlnaHQiOiJzaGVsbC5zd2l0Y2hfZGFyayIpLG9uQ2xpY2s6KCk9Plooey4uLkIsdGhlbWU6Y2U/ImxpZ2h0IjoiZGFyayJ9KSxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpjZT8i4piAIjoi4pi+In0pLG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0aGVtZS10b2dnbGUtbGFiZWwiLGNoaWxkcmVuOmgoY2U/InByZWZzLnRoZW1lX2xpZ2h0IjoicHJlZnMudGhlbWVfZGFyayIpfSldfSksdSYmbS5qc3goInNwYW4iLHtjbGFzc05hbWU6InRvcGJhci1zeW50aGV0aWMiLGNoaWxkcmVuOm0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJiYWRnZSBiYWRnZS1hY2NlbnQiLGNoaWxkcmVuOmgoImNvbW1vbi5zeW50aGV0aWNfYmFkZ2UiKX0pfSksbS5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOiJpY29uLWJ1dHRvbiIsImFyaWEtcHJlc3NlZCI6Qi5oaWRlQW1vdW50cywiYXJpYS1sYWJlbCI6aChCLmhpZGVBbW91bnRzPyJzaGVsbC5zaG93X2Ftb3VudHMiOiJzaGVsbC5oaWRlX2Ftb3VudHMiKSx0aXRsZTpoKEIuaGlkZUFtb3VudHM/InNoZWxsLnNob3dfYW1vdW50cyI6InNoZWxsLmhpZGVfYW1vdW50cyIpLG9uQ2xpY2s6KCk9Plooey4uLkIsaGlkZUFtb3VudHM6IUIuaGlkZUFtb3VudHN9KSxjaGlsZHJlbjptLmpzeCgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS44IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpCLmhpZGVBbW91bnRzP20uanN4KCJwYXRoIix7ZDoiTTMgMyBMMjEgMjEgTTEwIDUuNSBDMTEuNSA1IDEzIDUgMTQgNS41IEMxOCA3IDIxIDEyIDIxIDEyIEMyMCAxNCAxOC41IDE1LjggMTYuNSAxNyBNNi41IDYuOCBDNCA4LjcgMyAxMiAzIDEyIEMzIDEyIDYgMTggMTIgMTggQzEzIDE4IDE0IDE3LjggMTQuOCAxNy41In0pOm0uanN4cyhtLkZyYWdtZW50LHtjaGlsZHJlbjpbbS5qc3goInBhdGgiLHtkOiJNMiAxMiBDMiAxMiA1LjUgNSAxMiA1IEMxOC41IDUgMjIgMTIgMjIgMTIgQzIyIDEyIDE4LjUgMTkgMTIgMTkgQzUuNSAxOSAyIDEyIDIgMTIgWiJ9KSxtLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifSldfSl9KX0pLG0uanN4cygiZGV0YWlscyIse2NsYXNzTmFtZToidXNlci1tZW51IixyZWY6b2UsY2hpbGRyZW46W20uanN4KCJzdW1tYXJ5Iix7ImFyaWEtbGFiZWwiOmgoInNoZWxsLnVzZXJfbWVudSIpLGNoaWxkcmVuOih2fHwiVSIpLnNsaWNlKDAsMSkudG9VcHBlckNhc2UoKX0pLG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ1c2VyLW1lbnUtcGFuZWwiLGNoaWxkcmVuOlttLmpzeCgic3Ryb25nIix7Y2xhc3NOYW1lOiJ1c2VyLW1lbnUtbmFtZSIsY2hpbGRyZW46dnx8IuKAlCJ9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im1lbnUtaXRlbSIsb25DbGljazooKT0+e09lKCEwKSxvZS5jdXJyZW50JiYob2UuY3VycmVudC5vcGVuPSExKX0sY2hpbGRyZW46aCgic2hlbGwucHJlZmVyZW5jZXMiKX0pLG0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToibWVudS1pdGVtIixvbkNsaWNrOk4sY2hpbGRyZW46aCgic2hlbGwubG9nb3V0Iil9KV19KV19KV19KSxtLmpzeChOZyx7fSksbS5qc3goIm1haW4iLHtjbGFzc05hbWU6ImNvbnRlbnQiLGlkOiJtYWluLWNvbnRlbnQiLGNoaWxkcmVuOkR9LGMpXX0pLG0uanN4KCJuYXYiLHtjbGFzc05hbWU6ImJvdHRvbS10YWJzIiwiYXJpYS1sYWJlbCI6aCgibmF2Lm1haW4iKSxjaGlsZHJlbjptLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYm90dG9tLXRhYnMtaW5uZXIiLGNoaWxkcmVuOltYZy5tYXAobGU9PkhlKE1yLmZpbmQoUmU9PlJlLmlkPT09bGUpLCJib3R0b20tdGFiIikpLG0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixyZWY6amUsY2xhc3NOYW1lOmBib3R0b20tdGFiJHt2ZXx8ZHAuaW5jbHVkZXMoYyk/IiBhY3RpdmUiOiIifWAsImFyaWEtZXhwYW5kZWQiOnZlLCJhcmlhLWNvbnRyb2xzIjoibW9yZS1zaGVldCIsImFyaWEtbGFiZWwiOmgoIm5hdi5tb3JlIiksb25DbGljazooKT0+d2UobGU9PiFsZSksY2hpbGRyZW46W20uanN4KENyLHtwYXRoOiJNNSAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIE0xMiAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIE0xOSAxMiBtLTEuNSAwIGExLjUgMS41IDAgMSAwIDMgMCBhMS41IDEuNSAwIDEgMCAtMyAwIn0pLG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJuYXYtdGV4dCIsY2hpbGRyZW46aCgibmF2Lm1vcmUiKX0pXX0pXX0pfSksdmUmJm0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtb3JlLXNoZWV0IixpZDoibW9yZS1zaGVldCIscm9sZToibWVudSIsY2hpbGRyZW46W2RwLm1hcChsZT0+SGUoTXIuZmluZChSZT0+UmUuaWQ9PT1sZSksIm5hdi1pdGVtIikpLG0uanN4cygiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6Im5hdi1pdGVtIixvbkNsaWNrOigpPT57T2UoITApLHdlKCExKX0sY2hpbGRyZW46W20uanN4KENyLHtwYXRoOiJNMTIgMTUgbS0zIDAgYTMgMyAwIDEgMCA2IDAgYTMgMyAwIDEgMCAtNiAwIE0xOSAxMiBhNyA3IDAgMCAwLS4xLTEuMiBsMi0xLjUgLTItMy40IC0yLjMgMSBhNyA3IDAgMCAwLTItMS4yIEwxNC4yIDMgSDkuOCBMOS40IDUuNyBhNyA3IDAgMCAwLTIgMS4yIGwtMi4zLTEgLTIgMy40IDIgMS41IEE3IDcgMCAwIDAgNSAxMiJ9KSxtLmpzeCgic3BhbiIse2NsYXNzTmFtZToibmF2LXRleHQiLGNoaWxkcmVuOmgoInNoZWxsLnByZWZlcmVuY2VzIil9KV19KV19KSxLZSYmbS5qc3goUWcse29uQ2xvc2U6KCk9Pk9lKCExKX0pXX0pfWNvbnN0IE1wPVUuY3JlYXRlQ29udGV4dCgoKT0+e30pO2Z1bmN0aW9uIFp2KCl7cmV0dXJuIFUudXNlQ29udGV4dChNcCl9ZnVuY3Rpb24gVmcoe2NoaWxkcmVuOmN9KXtjb25zdCByPWl0KCksW2QsdV09VS51c2VTdGF0ZShbXSksdj1VLnVzZVJlZigxKSx4PVUudXNlQ2FsbGJhY2soRD0+e2NvbnN0IGg9di5jdXJyZW50Kys7dSh5PT5bLi4ueS5zbGljZSgtMyksey4uLkQsaWQ6aH1dKSx3aW5kb3cuc2V0VGltZW91dCgoKT0+dSh5PT55LmZpbHRlcihPPT5PLmlkIT09aCkpLDZlMyl9LFtdKSxOPUQ9PnUoaD0+aC5maWx0ZXIoeT0+eS5pZCE9PUQpKTtyZXR1cm4gbS5qc3hzKE1wLlByb3ZpZGVyLHt2YWx1ZTp4LGNoaWxkcmVuOltjLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InRvYXN0LXN0YWNrIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOmQubWFwKEQ9Pm0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOmB0b2FzdCAke0Qua2luZD09PSJpbmZvIj8iIjpELmtpbmR9YCxjaGlsZHJlbjpbbS5qc3goInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpELnRleHR9KSxtLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5OKEQuaWQpLCJhcmlhLWxhYmVsIjpyKCJjb21tb24uY2xvc2UiKSxjaGlsZHJlbjoi4pyVIn0pXX0sRC5pZCkpfSldfSl9ZnVuY3Rpb24gSXIoe3RvbmU6YyxzaXplOnI9MTB9KXtyZXR1cm4gYz09PSJvayI/bS5qc3goInN2ZyIse3dpZHRoOnIsaGVpZ2h0OnIsdmlld0JveDoiMCAwIDEwIDEwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeCgicGF0aCIse2Q6Ik0xLjUgNS41IEw0IDggTDguNSAyIixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9KX0pOmM9PT0id2FybiI/bS5qc3hzKCJzdmciLHt3aWR0aDpyLGhlaWdodDpyLHZpZXdCb3g6IjAgMCAxMCAxMCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W20uanN4KCJwYXRoIix7ZDoiTTUgMSBMOS41IDkgSDAuNSBaIixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuMiIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn0pLG0uanN4KCJsaW5lIix7eDE6IjUiLHkxOiI0Iix4MjoiNSIseTI6IjYuNCIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLG0uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjcuOCIscjoiMC43IixmaWxsOiJjdXJyZW50Q29sb3IifSldfSk6Yz09PSJlcnJvciI/bS5qc3hzKCJzdmciLHt3aWR0aDpyLGhlaWdodDpyLHZpZXdCb3g6IjAgMCAxMCAxMCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W20uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIn0pLG0uanN4KCJwYXRoIix7ZDoiTTMuMiAzLjIgTDYuOCA2LjggTTYuOCAzLjIgTDMuMiA2LjgiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIixzdHJva2VMaW5lY2FwOiJyb3VuZCJ9KV19KTptLmpzeCgic3ZnIix7d2lkdGg6cixoZWlnaHQ6cix2aWV3Qm94OiIwIDAgMTAgMTAiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOm0uanN4KCJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS4yIixzdHJva2VEYXNoYXJyYXk6IjIgMS40In0pfSl9ZnVuY3Rpb24gS2coe3RvbmU6YyxjaGlsZHJlbjpyLHRpdGxlOmR9KXtyZXR1cm4gbS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOmBiYWRnZSBiYWRnZS0ke2N9YCx0aXRsZTpkLGNoaWxkcmVuOltjIT09ImFjY2VudCImJm0uanN4KElyLHt0b25lOmN9KSxyXX0pfWNvbnN0IEpnPXtoZWFsdGh5OiJvayIscmV2aWV3OiJ3YXJuIix3YXRjaDoid2FybiIsY3JpdGljYWw6ImVycm9yIixmcmVzaDoib2siLGJsb2NrZWQ6ImVycm9yIixmYWlsZWQ6ImVycm9yIixyZWFkX2luY29tcGxldGU6ImVycm9yIixpbnN1ZmZpY2llbnQ6Indhcm4iLHByZXZpZXdlZDoidW5rbm93biIsbm9fc2lnbmFsOiJvayIsb2s6Im9rIixwYXJ0aWFsOiJ3YXJuIixzdGFsZToid2FybiIsbm9fZGF0YToidW5rbm93biIsbm90X2Nvbm5lY3RlZDoidW5rbm93biIsdW5hdmFpbGFibGU6InVua25vd24iLHJlYWRfZmFpbGVkOiJlcnJvciJ9O2Z1bmN0aW9uICRnKGMpe3JldHVybiBKZ1tjfHwiIl18fCJ1bmtub3duIn1mdW5jdGlvbiBWdih7c3RhdHVzOmMscmVhc29uOnJ9KXtjb25zdCBkPWl0KCksdT1jfHwidW5rbm93biIsdj1gc3RhdGUuJHt1fWAseD1yP2ByZWFzb24uJHtyfWA6bnVsbCxOPXg/ZCh4KTp2b2lkIDA7cmV0dXJuIG0uanN4KCJzcGFuIix7ImRhdGEtc3RhdHVzIjp1LCJkYXRhLXJlYXNvbiI6cj8/dm9pZCAwLGNoaWxkcmVuOm0uanN4KEtnLHt0b25lOiRnKHUpLHRpdGxlOk4sY2hpbGRyZW46ZCh2KX0pfSl9ZnVuY3Rpb24gS3Yoe3ZhbHVlOmMscHJlZml4OnI9ImNvbW1vbi5hc19vZiJ9KXtjb25zdCBkPWl0KCksdT1HbigpO2lmKCFjKXJldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYXNvZiIsY2hpbGRyZW46ZChyLHt2YWx1ZTpkKCJjb21tb24ubmEiKX0pfSk7Y29uc3R7dGV4dDp2LHpvbmU6eH09TnAoYyx1KTtyZXR1cm4gbS5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFzb2YiLGNoaWxkcmVuOmQocix7dmFsdWU6eD9gJHt2fSAoJHt4fSlgOnZ9KX0pfWZ1bmN0aW9uIEp2KHt2YWx1ZTpjfSl7Y29uc3Qgcj1HbigpO3JldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYWNjb3VudC1yb3ctdmFsdWUiLGNoaWxkcmVuOnpwKGMscil9KX1mdW5jdGlvbiAkdih7dmFsdWU6YyxjdXJyZW5jeTpyLHNpZ25lZDpkPSExfSl7Y29uc3QgdT1HbigpLHtwcmVmczp2fT1HcigpO2lmKGM9PW51bGx8fCFOdW1iZXIuaXNGaW5pdGUoYykpcmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSBmbGF0IixjaGlsZHJlbjoi4oCUIn0pO2lmKHYuaGlkZUFtb3VudHMpcmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtb25leSIsY2hpbGRyZW46Q2coYyl9KTtjb25zdCB4PURnKGQ/TWF0aC5hYnMoYyk6YyxyLHUpLE49ZD9jPjA/IisiOmM8MD8iLSI6IiI6IiIsRD0hZHx8Yz09PTA/ImZsYXQiOmM+MD8idXAiOiJkb3duIjtyZXR1cm4gbS5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOmBtb25leSAke0R9YCxjaGlsZHJlbjpbTix4XX0pfWZ1bmN0aW9uIFd2KHt2YWx1ZTpjLGRpZ2l0czpyPTJ9KXtpZihjPT1udWxsfHwhTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybiBtLmpzeCgic3BhbiIse2NsYXNzTmFtZToicGVyY2VudCBmbGF0IixjaGlsZHJlbjoi4oCUIn0pO2NvbnN0IGQ9R24oKSx1PWM9PT0wPyJmbGF0IjpjPjA/InVwIjoiZG93biI7cmV0dXJuIG0uanN4KCJzcGFuIix7Y2xhc3NOYW1lOmBwZXJjZW50ICR7dX1gLGNoaWxkcmVuOk9nKGMsZCxyKX0pfWZ1bmN0aW9uIGZwKHtoZWlnaHQ6Yz0xNix3aWR0aDpyPSIxMDAlIn0pe3JldHVybiBtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJza2VsZXRvbiIsc3R5bGU6e2hlaWdodDpjLHdpZHRoOnJ9LCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gRnYoe3RpdGxlOmMsYm9keTpyLGFjdGlvbjpkLHN0YXRlOnU9Im5vX2RhdGEifSl7cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJlbXB0eS1zdGF0ZSIsImRhdGEtc3RhdGUiOnUsY2hpbGRyZW46W20uanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJzdGF0ZS1pY29uIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeChJcix7dG9uZToidW5rbm93biIsc2l6ZToxNH0pfSksbS5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOlttLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJlbXB0eS10aXRsZSIsY2hpbGRyZW46Y30pLHImJm0uanN4KCJwIix7Y2xhc3NOYW1lOiJzdGF0ZS1zaG9ydCIsY2hpbGRyZW46cn0pXX0pLGQmJm0uanN4KCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWFjdGlvbiIsY2hpbGRyZW46ZH0pXX0pfWZ1bmN0aW9uIFB2KHtvblJldHJ5OmN9KXtjb25zdCByPWl0KCk7cmV0dXJuIG0uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJlcnJvci1zdGF0ZSIscm9sZToiYWxlcnQiLCJkYXRhLXN0YXRlIjoicmVhZF9mYWlsZWQiLGNoaWxkcmVuOlttLmpzeCgic3BhbiIse2NsYXNzTmFtZToic3RhdGUtaWNvbiBzdGF0ZS1pY29uLWVycm9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjptLmpzeChJcix7dG9uZToiZXJyb3IiLHNpemU6MTR9KX0pLG0uanN4KCJkaXYiLHtjbGFzc05hbWU6InN0YXRlLWNvcHkiLGNoaWxkcmVuOm0uanN4KCJkaXYiLHtjbGFzc05hbWU6ImVycm9yLXRpdGxlIixjaGlsZHJlbjpyKCJzdGF0ZS5sb2FkX2ZhaWxlZCIpfSl9KSxjJiZtLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJzdGF0ZS1hY3Rpb24iLGNoaWxkcmVuOm0uanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnkgYnV0dG9uLXNtIixvbkNsaWNrOmMsY2hpbGRyZW46cigiY29tbW9uLnJldHJ5Iil9KX0pXX0pfWZ1bmN0aW9uIEl2KHt0aXRsZUtleTpjLGJvZHlLZXk6cn0pe2NvbnN0IGQ9aXQoKTtyZXR1cm4gbS5qc3hzKCJkZXRhaWxzIix7Y2xhc3NOYW1lOiJtZXRob2Qtbm90ZSIsY2hpbGRyZW46W20uanN4KCJzdW1tYXJ5Iix7Y2hpbGRyZW46ZChjKX0pLG0uanN4KCJwIix7Y2xhc3NOYW1lOiJjYXJkLW5vdGUiLGNoaWxkcmVuOmQocil9KV19KX1jbGFzcyBXZyBleHRlbmRzIFUuQ29tcG9uZW50e3N0YXRlPXtmYWlsZWQ6ITF9O3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoKXtyZXR1cm57ZmFpbGVkOiEwfX1yZWxvYWQ9KCk9Pntsb2NhdGlvbi5yZWxvYWQoKX07cmVuZGVyKCl7cmV0dXJuIHRoaXMuc3RhdGUuZmFpbGVkP20uanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwYWdlLWxvYWQtZXJyb3IiLHJvbGU6ImFsZXJ0IixjaGlsZHJlbjpbbS5qc3goInAiLHtjaGlsZHJlbjp0aGlzLnByb3BzLnRpdGxlfSksbS5qc3goImJ1dHRvbiIse2NsYXNzTmFtZToiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5Iix0eXBlOiJidXR0b24iLG9uQ2xpY2s6dGhpcy5yZWxvYWQsY2hpbGRyZW46dGhpcy5wcm9wcy5hY3Rpb259KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBGZyh7Y2hpbGRyZW46Y30pe2NvbnN0IHI9aXQoKTtyZXR1cm4gbS5qc3goV2cse3RpdGxlOnIoImNvbW1vbi5wYWdlX2xvYWRfZmFpbGVkIiksYWN0aW9uOnIoInNoZWxsLnJlbG9hZCIpLGNoaWxkcmVuOmN9KX1jb25zdCBQZz1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vT3ZlcnZpZXdQYWdlLVloMmt4dWFXLmpzIiksX192aXRlX19tYXBEZXBzKFswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExXSkpKSxJZz1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vUGVyZm9ybWFuY2VQYWdlLVMtVEdfelFCLmpzIiksX192aXRlX19tYXBEZXBzKFsxMiw1LDgsMiwzLDQsMTMsMTQsMTVdKSkpLGV2PVUubGF6eSgoKT0+WW4oKCk9PmltcG9ydCgiLi9EZWNpc2lvbnNQYWdlLUxIZmVBdTc3LmpzIiksX192aXRlX19tYXBEZXBzKFsxNiwxLDE3LDEwLDUsMTQsMTgsNiw3LDE5XSkpKSx0dj1VLmxhenkoKCk9PlluKCgpPT5pbXBvcnQoIi4vQWNjb3VudHNQYWdlLURxM1lfZFkzLmpzIiksX192aXRlX19tYXBEZXBzKFsyMCwyMSw1LDYsNywxOCwxNCwxNywxMCwyMl0pKSksbnY9VS5sYXp5KCgpPT5ZbigoKT0+aW1wb3J0KCIuL1N0cmF0ZWdpZXNQYWdlLUJmVlFNaUxrLmpzIiksX192aXRlX19tYXBEZXBzKFsyMywyMSw1LDYsNywxNCwyNF0pKSksYXY9VS5sYXp5KCgpPT5ZbigoKT0+aW1wb3J0KCIuL0hlYWx0aFBhZ2UtQ0sxYnZaaWguanMiKSxfX3ZpdGVfX21hcERlcHMoWzI1LDUsOCwxMywxOCw2LDcsMjYsOSwxMCwyN10pKSk7ZnVuY3Rpb24gcHAoe2tpbmQ6Yyxub0FjY2VzczpyLG9uUmV0cnk6ZH0pe2NvbnN0IHU9aXQoKSx2PWM9PT0iZGVuaWVkIjtyZXR1cm4gbS5qc3hzKCJtYWluIix7Y2xhc3NOYW1lOiJhY2Nlc3Mtc2NyZWVuIixjaGlsZHJlbjpbbS5qc3goImltZyIse3NyYzoiL3YyL2Fzc2V0cy9xc2wtYnJhbmQtaWNvbi5zdmciLGFsdDoiIix3aWR0aDo0OCxoZWlnaHQ6NDh9KSxtLmpzeCgiaDEiLHtjaGlsZHJlbjp1KHY/cj8iYXV0aC5kZW5pZWRfdGl0bGUiOiJhdXRoLmxvZ2luX3RpdGxlIjoiYXV0aC5lcnJvcl90aXRsZSIpfSksbS5qc3goInAiLHtjaGlsZHJlbjp1KHY/cj8iYXV0aC5kZW5pZWRfYm9keSI6ImF1dGgubG9naW5fYm9keSI6ImF1dGguZXJyb3JfYm9keSIpfSksdj9yP251bGw6bS5qc3goImEiLHtjbGFzc05hbWU6ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIsaHJlZjoiL2xvZ2luIixjaGlsZHJlbjp1KCJhdXRoLmxvZ2luIil9KTptLmpzeCgiYnV0dG9uIix7Y2xhc3NOYW1lOiJidXR0b24gYnV0dG9uLXByaW1hcnkiLHR5cGU6ImJ1dHRvbiIsb25DbGljazpkLGNoaWxkcmVuOnUoImNvbW1vbi5yZXRyeSIpfSldfSl9ZnVuY3Rpb24gaXYoKXtjb25zdFtjLHJdPVUudXNlU3RhdGUobXApLFtkLHVdPVUudXNlU3RhdGUoKCk9PndpbmRvdy5tYXRjaE1lZGlhPy4oIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPz8hMSksW3YseF09VS51c2VTdGF0ZSgibG9hZGluZyIpLFtOLERdPVUudXNlU3RhdGUobnVsbCksW2gseV09VS51c2VTdGF0ZSgoKT0+aXAod2luZG93LmxvY2F0aW9uLnNlYXJjaCkpLFtPLEJdPVUudXNlU3RhdGUobnVsbCksW1osX2VdPVUudXNlU3RhdGUoW10pLFtjZSx2ZV09VS51c2VTdGF0ZSgibG9hZGluZyIpLFt3ZSxLZV09VS51c2VTdGF0ZSgwKSxbT2Usb2VdPVUudXNlU3RhdGUoInJlYWR5IiksW2plLFddPVUudXNlU3RhdGUoITEpLFtKLHllXT1VLnVzZVN0YXRlKG51bGwpLFtiZSxIZV09VS51c2VTdGF0ZSgibG9hZGluZyIpLFtsZSxSZV09VS51c2VTdGF0ZShudWxsKSxbVGUsbHRdPVUudXNlU3RhdGUoMCksY3Q9VS51c2VSZWYoaCk7Y3QuY3VycmVudD1oO2NvbnN0IEJlPVUudXNlQ2FsbGJhY2soVD0+e3IoVCksVyghSG0oVCkpfSxbXSksQT1VLnVzZUNhbGxiYWNrKCgpPT5LZShUPT5UKzEpLFtdKSxxPWdwKGMudGhlbWUsZCk7VS51c2VFZmZlY3QoKCk9Pntkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT1xfSxbcV0pLFUudXNlRWZmZWN0KCgpPT57ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudXBkb3duPWMudXBEb3dufSxbYy51cERvd25dKSxVLnVzZUVmZmVjdCgoKT0+e2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nPWMubGFuZ3VhZ2U9PT0iemgiPyJ6aC1DTiI6ImVuIn0sW2MubGFuZ3VhZ2VdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9d2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO2lmKCFUKXJldHVybjtjb25zdCBNPUM9PnUoQy5tYXRjaGVzKTtyZXR1cm4gVC5hZGRFdmVudExpc3RlbmVyPy4oImNoYW5nZSIsTSksKCk9PlQucmVtb3ZlRXZlbnRMaXN0ZW5lcj8uKCJjaGFuZ2UiLE0pfSxbXSksVS51c2VFZmZlY3QoKCk9PntsZXQgVD0hMTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtjb25zdCBNPWF3YWl0IHVnKCk7aWYoVClyZXR1cm47aWYoIU0uYXV0aGVudGljYXRlZHx8IU0uYWxsb3dlZCl7RChNKSx4KCJkZW5pZWQiKTtyZXR1cm59RChNKSx4KCJyZWFkeSIpfWNhdGNoKE0pe2lmKFQpcmV0dXJuO00gaW5zdGFuY2VvZiBNaSYmTS5zdGF0dXM9PT00MDE/eCgiZGVuaWVkIik6eChDPT5DPT09InJlYWR5Ij9DOiJlcnJvciIpfX0pKCksKCk9PntUPSEwfX0sW1RlXSksVS51c2VFZmZlY3QoKCk9PntpZih2IT09InJlYWR5IilyZXR1cm47bGV0IFQ9ITE7Y29uc3QgTT0oKT0+e3BnKCkudGhlbihqPT57aWYoVClyZXR1cm47Y29uc3QgRj1qLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCI7SGUoRj8icmVhZF9mYWlsZWQiOiJvayIpLHllKEY/bnVsbDpqLml0ZW1zLmZpbHRlcihLPT5LLnN0YXR1cz09PSJwZW5kaW5nIikubGVuZ3RoKX0pLmNhdGNoKCgpPT57VHx8KEhlKCJyZWFkX2ZhaWxlZCIpLHllKG51bGwpKX0pfTtIZSgibG9hZGluZyIpLHllKG51bGwpLE0oKTtjb25zdCBDPWRnKE0pO3JldHVybigpPT57VD0hMCxDKCl9fSxbdl0pLFUudXNlRWZmZWN0KCgpPT57aWYodiE9PSJyZWFkeSIpcmV0dXJuO2xldCBUPSExO3JldHVybiB2ZSgibG9hZGluZyIpLChhc3luYygpPT57dHJ5e2NvbnN0IE09YXdhaXQgX2coKTtpZihUKXJldHVybjtsZXQgQz1udWxsO3RyeXtDPWF3YWl0IG1lKCIvYXBpL2NvbmZpZyIpfWNhdGNoe31pZihUKXJldHVybjtCKEMpLG9lKEM/InJlYWR5IjoiZXJyb3IiKSxfZShNLmFjY291bnRzLm1hcChqPT4oe2FsaWFzOmouYWNjb3VudF9hbGlhcyxwbGF0Zm9ybTpqLnBsYXRmb3JtLHBhcGVyOkM/Qy5hY2NvdW50T3B0aW9ucz8uW2oucGxhdGZvcm1dPy5maW5kKEY9PkYua2V5PT09ai5hY2NvdW50X2FsaWFzKT8uYnJva2VyX2Vudmlyb25tZW50PT09InBhcGVyIjpudWxsfSkpKSxSZShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHZlKCJyZWFkeSIpfWNhdGNoe1R8fHZlKCJlcnJvciIpfX0pKCksKCk9PntUPSEwfX0sW3Ysd2VdKSxVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9KCk9PntEKG51bGwpLHgoImRlbmllZCIpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInFzbC1wcml2YXRlLXNlc3Npb24taW52YWxpZCIsVCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJxc2wtcHJpdmF0ZS1zZXNzaW9uLWludmFsaWQiLFQpfSxbXSk7Y29uc3QgRz1VLnVzZUNhbGxiYWNrKFQ9Pntjb25zdCBNPXsuLi5jdC5jdXJyZW50LC4uLlR9LEM9KCk9Pnt5KE0pLGxwKE0pfSxqPVVyKCk7aWYoaiYmKE0ucGFnZSE9PWN0LmN1cnJlbnQucGFnZXx8TS5hY2NvdW50IT09Y3QuY3VycmVudC5hY2NvdW50KSl7aigpLnRoZW4oRj0+e0YmJkMoKX0pO3JldHVybn1DKCl9LFtdKTtVLnVzZUVmZmVjdCgoKT0+e2NvbnN0IFQ9KCk9Pntjb25zdCBNPWlwKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLEM9VXIoKTtpZihDKXtDKCkudGhlbihqPT57aj95KE0pOmxwKGN0LmN1cnJlbnQpfSk7cmV0dXJufXkoTSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLFQpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLFQpfSxbXSk7Y29uc3QgcmU9YXN5bmMoKT0+e1hyKCk7dHJ5e2F3YWl0IFpyKCIvYXBpL2xvZ291dCIse30pfWNhdGNoe313aW5kb3cubG9jYXRpb24uYXNzaWduKCIvbG9naW4iKX07aWYoVS51c2VFZmZlY3QoKCk9Pntkb2N1bWVudC50aXRsZT1gJHtfcChjLmxhbmd1YWdlLGBuYXYuJHtoLnBhZ2V9YCl9IMK3IFF1YW50U3RyYXRlZ3lMYWJgfSxbYy5sYW5ndWFnZSxoLnBhZ2VdKSx2PT09ImxvYWRpbmciKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeCgibWFpbiIse2NsYXNzTmFtZToiYm9vdC1zY3JlZW4iLHJvbGU6InN0YXR1cyIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsY2hpbGRyZW46bS5qc3goZnAse2hlaWdodDoyNCx3aWR0aDoyMDB9KX0pfSk7aWYodj09PSJkZW5pZWQiKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeChwcCx7a2luZDoiZGVuaWVkIixub0FjY2VzczpOPy5hdXRoZW50aWNhdGVkPT09ITAmJiFOLmFsbG93ZWR9KX0pO2lmKHY9PT0iZXJyb3IiKXJldHVybiBtLmpzeChXbCx7bGFuZ3VhZ2U6Yy5sYW5ndWFnZSxjaGlsZHJlbjptLmpzeChwcCx7a2luZDoiZXJyb3IiLG9uUmV0cnk6KCk9Pmx0KFQ9PlQrMSl9KX0pO2NvbnN0IHA9e3Njb3BlOmguc2NvcGUsb3B0aW9uczpaLHNldFNjb3BlOlQ9Pkcoe3Njb3BlOlR9KSxzdGF0dXM6Y2UsbWV0YVN0YXR1czpPZSxyZXRyeTpBfTtyZXR1cm4gbS5qc3goV2wse2xhbmd1YWdlOmMubGFuZ3VhZ2UsY2hpbGRyZW46bS5qc3goeXAuUHJvdmlkZXIse3ZhbHVlOntwcmVmczpjLHNldFByZWZzOkJlLHJlc29sdmVkVGhlbWU6cSxwZXJzaXN0RmFpbGVkOmplfSxjaGlsZHJlbjptLmpzeCh2cC5Qcm92aWRlcix7dmFsdWU6TyxjaGlsZHJlbjptLmpzeChicC5Qcm92aWRlcix7dmFsdWU6cCxjaGlsZHJlbjptLmpzeChrcC5Qcm92aWRlcix7dmFsdWU6RyxjaGlsZHJlbjptLmpzeChWZyx7Y2hpbGRyZW46bS5qc3goWmcse3BhZ2U6aC5wYWdlLHRvZG9Db3VudDpKLHRvZG9TdGF0dXM6YmUsc3ludGhldGljOk4/LnN5bnRoZXRpYz09PSEwLGxvZ2luOk4/LmxvZ2lufHxudWxsLHVwZGF0ZWRBdDpsZSxvbkxvZ291dDooKT0+e3JlKCl9LGNoaWxkcmVuOm0uanN4KEZnLHtjaGlsZHJlbjptLmpzeHMoVS5TdXNwZW5zZSx7ZmFsbGJhY2s6bS5qc3goZnAse2hlaWdodDoyNDB9KSxjaGlsZHJlbjpbaC5wYWdlPT09Im92ZXJ2aWV3IiYmbS5qc3goUGcse30pLGgucGFnZT09PSJwZXJmb3JtYW5jZSImJm0uanN4KElnLHt9KSxoLnBhZ2U9PT0iZGVjaXNpb25zIiYmbS5qc3goZXYse2RlY2lzaW9uOmguZGVjaXNpb259KSxoLnBhZ2U9PT0iYWNjb3VudHMiJiZtLmpzeCh0dix7YWNjb3VudDpoLmFjY291bnQsdGFiOmgudGFifSksaC5wYWdlPT09InN0cmF0ZWdpZXMiJiZtLmpzeChudix7fSksaC5wYWdlPT09ImhlYWx0aCImJm0uanN4KGF2LHt9KV19KX0saC5wYWdlKX0pfSl9KX0pfSl9KX0pfWNvbnN0IENwPW1wKCk7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9Z3AoQ3AudGhlbWUsd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/PyExKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZz1DcC5sYW5ndWFnZT09PSJ6aCI/InpoLUNOIjoiZW4iO2NvbnN0IFBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290Iik7UGwmJi9eI1wvZGVzayg/OlsvP118JCkvLnRlc3Qod2luZG93LmxvY2F0aW9uLmhhc2gpP1luKGFzeW5jKCk9Pntjb25zdHttb3VudERlc2s6Y309YXdhaXQgaW1wb3J0KCIuL0Rlc2tBcHAtRENFMzFsa0UuanMiKTtyZXR1cm57bW91bnREZXNrOmN9fSxfX3ZpdGVfX21hcERlcHMoWzI4LDMsMjldKSkudGhlbigoe21vdW50RGVzazpjfSk9PmMoUGwpKTpQbCYmX20uY3JlYXRlUm9vdChQbCkucmVuZGVyKG0uanN4KGl2LHt9KSk7ZXhwb3J0e1pyIGFzICQsTWkgYXMgQSxLZyBhcyBCLG9wIGFzIEMsR3IgYXMgRCxQdiBhcyBFLE9nIGFzIEYsQ2cgYXMgRyxpYyBhcyBILFdsIGFzIEksTnYgYXMgSixPdiBhcyBLLEd2IGFzIEwsJHYgYXMgTSxEZyBhcyBOLFByIGFzIE8sV3YgYXMgUCxadiBhcyBRLFh2IGFzIFIsVnYgYXMgUyx1ZyBhcyBULFF2IGFzIFUsTnIgYXMgVixtdiBhcyBXLHV2IGFzIFgsZHYgYXMgWSxzdiBhcyBaLFluIGFzIF8sZ3AgYXMgYSxvdiBhcyBhMCxKdiBhcyBhMSxIciBhcyBhMix5diBhcyBhMyxTdiBhcyBhNCxrdiBhcyBhNSxBdiBhcyBhNixidiBhcyBhNyxjdiBhcyBhOCxUcCBhcyBhOSxmdiBhcyBhYSxabSBhcyBhYixfZyBhcyBhYyxndiBhcyBhZCx2diBhcyBhZSxVZyBhcyBhZix4diBhcyBhZyxwdiBhcyBhaCxDdiBhcyBhaSxxdiBhcyBhaixqdiBhcyBhayxfdiBhcyBhbCxUdiBhcyBhbSxNdiBhcyBhbixsdiBhcyBhbyxydiBhcyBhcCxUZyBhcyBhcSxVdiBhcyBhcixIdiBhcyBhcyxCdiBhcyBhdCxMdiBhcyBhdSxCbSBhcyBiLF9tIGFzIGMsRHYgYXMgZCxMbSBhcyBlLEt2IGFzIGYsbWUgYXMgZyxGdiBhcyBoLGh2IGFzIGksbSBhcyBqLHBnIGFzIGssbXAgYXMgbCx6diBhcyBtLEV2IGFzIG4sZnAgYXMgbyx3diBhcyBwLFJ2IGFzIHEsVSBhcyByLEhtIGFzIHMsR24gYXMgdCxpdCBhcyB1LE5wIGFzIHYsenAgYXMgdyxZdiBhcyB4LEJnIGFzIHksSXYgYXMgen07Cg==" }, + "/v2/assets/overview-Bcj9cdwk.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgeSxuIGFzIF8sZCBhcyB1fWZyb20iLi9zaGFyZWQtRHJOVjdaZGguanMiO2NvbnN0IGU9IjIwMjYtMTEtMDJUMTQ6MzE6MTJaIixuPSIyMDI2LTExLTAyVDE0OjI2OjAwWiIsdD0oYSxzPWUpPT4oe3N0YXR1czoia25vd24iLHZhbHVlOmEsb2JzZXJ2ZWRfYXQ6c30pO2Z1bmN0aW9uIHIoYSxzLHcsdixsPVtdKXtjb25zdCBvPXUoIjIwMjYtMTAtMDQiLDMwKTtyZXR1cm57cG9pbnRzOl8oYSxzLG8ubGVuZ3RoLWwubGVuZ3RoLHcsdiksZGF0ZXNfZnJvbTpvWzBdLGRhdGVzX3RvOm9bby5sZW5ndGgtMV0sZ2FwX2RhdGVzOmx9fWNvbnN0IGc9e3RhcmdldF9pZDoiaWJrci9zb3hsIixwbGF0Zm9ybToiaWJrciIscGxhdGZvcm1fbGFiZWw6IklCS1IiLGFjY291bnRfcmVmOiJV4oCi4oCi4oCiMDAwMiIsYWNjb3VudF9zdWZmaXg6IjAwMDIiLHN0cmF0ZWd5OnQoe3Byb2ZpbGU6InNveGxfc294eF90cmVuZF9pbmNvbWUiLGxhYmVsOiJTZW1pY29uZHVjdG9yIFRyZW5kIEluY29tZSJ9KSxtb2RlOnQoImxpdmUiKSxydW50aW1lOnQoInJ1bm5pbmciLCIyMDI2LTExLTAyVDE0OjMxOjQ4WiIpLG5hdjp7c3RhdHVzOiJrbm93biIsY3VycmVuY3k6IlVTRCIsYW1vdW50OiIxOTg0NTAuMDAiLHVzZDoiMTk4NDUwLjAwIixvYnNlcnZlZF9hdDpufSxkYXlfY2hhbmdlOntyYXRpbzoiLTAuMDA2MiIsYW1vdW50OiItMTIzOC4wMCIsY3VycmVuY3k6IlVTRCJ9LHNwYXJrbGluZV8zMGQ6cigyMTQ4MDAsMTk4NDUwLDI2MDAsLjQpLGRyYXdkb3duOntyYXRpbzoiLTAuMTQxIixsaW1pdF9yYXRpbzoiLTAuMTUiLHN0YXRlOiJuZWFyX2xpbWl0In0sY29uZmlnOntzdGF0ZToic3luY2VkIixkcmlmdF9jb3VudDowLGNoZWNrZWRfYXQ6ZX0sbGFzdF9ydW46e2F0OiIyMDI2LTExLTAyVDEzOjU1OjAwWiIsb3V0Y29tZToibm9fb3AifSxyZXR1cm5fYmFzaXM6Im5hdGl2ZV9pYmtyX3R3ciJ9LGY9e3RhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIscGxhdGZvcm06ImxvbmdicmlkZ2UiLHBsYXRmb3JtX2xhYmVsOiJMb25nQnJpZGdlIixhY2NvdW50X3JlZjoiTELigKLigKLigKIwMDA1IixhY2NvdW50X3N1ZmZpeDoiMDAwNSIsc3RyYXRlZ3k6dCh7cHJvZmlsZToiaGtfZ2xvYmFsX2V0Zl90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6IkhLIEVURiBUYWN0aWNhbCBSb3RhdGlvbiJ9KSxtb2RlOnQoImxpdmUiKSxydW50aW1lOntzdGF0dXM6InVua25vd24iLHJlYXNvbjoiaWRlbnRpdHlfdW52ZXJpZmllZCJ9LG5hdjp7c3RhdHVzOiJrbm93biIsY3VycmVuY3k6IkhLRCIsYW1vdW50OiIxMTEzMDAwLjAwIix1c2Q6IjE0MjcwMC4wMCIsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTEtMDJUMDk6MDY6MDBaIn0sZGF5X2NoYW5nZTp7cmF0aW86Ii0wLjAwODgiLGFtb3VudDoiLTEyNTYuMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMTQ1ODAwLDE0MjcwMCw5MDAsMS4zLFsiMjAyNi0xMC0xMiJdKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjA1OSIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJkcmlmdCIsZHJpZnRfY291bnQ6MixjaGVja2VkX2F0OmV9LGxhc3RfcnVuOnthdDoiMjAyNi0xMS0wMlQwOTowNTowMFoiLG91dGNvbWU6ImRyaWZ0In0scmV0dXJuX2Jhc2lzOiJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQifSxtPXt0YXJnZXRfaWQ6Imlia3IvdHFxcSIscGxhdGZvcm06Imlia3IiLHBsYXRmb3JtX2xhYmVsOiJJQktSIixhY2NvdW50X3JlZjoiVeKAouKAouKAojAwMDEiLGFjY291bnRfc3VmZml4OiIwMDAxIixzdHJhdGVneTp0KHtwcm9maWxlOiJ0cXFxX2dyb3d0aF9pbmNvbWUiLGxhYmVsOiJUUVFRIEdyb3d0aCBJbmNvbWUifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiNDEyMzgwLjAwIix1c2Q6IjQxMjM4MC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDE4NCIsYW1vdW50OiI3NTg4LjAwIixjdXJyZW5jeToiVVNEIn0sc3BhcmtsaW5lXzMwZDpyKDM5ODEwMCw0MTIzODAsMzEwMCwyLjEpLGRyYXdkb3duOntyYXRpbzoiLTAuMDYyIixsaW1pdF9yYXRpbzoiLTAuMTUiLHN0YXRlOiJvayJ9LGNvbmZpZzp7c3RhdGU6InN5bmNlZCIsZHJpZnRfY291bnQ6MCxjaGVja2VkX2F0OmV9LGxhc3RfcnVuOnthdDoiMjAyNi0xMS0wMlQxNDoyNTowMFoiLG91dGNvbWU6Im5vX29wIn0scmV0dXJuX2Jhc2lzOiJuYXRpdmVfaWJrcl90d3IifSxiPXt0YXJnZXRfaWQ6InNjaHdhYi9jb3JlIixwbGF0Zm9ybToic2Nod2FiIixwbGF0Zm9ybV9sYWJlbDoiU2Nod2FiIixhY2NvdW50X3JlZjoiU+KAouKAouKAojAwMDMiLGFjY291bnRfc3VmZml4OiIwMDAzIixzdHJhdGVneTp0KHtwcm9maWxlOiJ1c19lcXVpdHlfY29tYm9fY29yZSIsbGFiZWw6IlVTIENvcmUgQ29tYm8ifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiMjM2OTAwLjAwIix1c2Q6IjIzNjkwMC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDA0MiIsYW1vdW50OiI5OTEuMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMjMxMjAwLDIzNjkwMCwxMjAwLDMuMyksZHJhd2Rvd246e3JhdGlvOiItMC4wMzMiLGxpbWl0X3JhdGlvOiItMC4xNSIsc3RhdGU6Im9rIn0sY29uZmlnOntzdGF0ZToic3luY2VkIixkcmlmdF9jb3VudDowLGNoZWNrZWRfYXQ6ZX0sbGFzdF9ydW46e2F0OiIyMDI2LTExLTAyVDA2OjA1OjAwWiIsb3V0Y29tZToibm9fb3AifSxyZXR1cm5fYmFzaXM6Im5hdl9jaGFuZ2VfdW5hZGp1c3RlZCJ9LGs9e3RhcmdldF9pZDoiZmlyc3RyYWRlL2luY29tZSIscGxhdGZvcm06ImZpcnN0cmFkZSIscGxhdGZvcm1fbGFiZWw6IkZpcnN0cmFkZSIsYWNjb3VudF9yZWY6IkbigKLigKLigKIwMDA0IixhY2NvdW50X3N1ZmZpeDoiMDAwNCIsc3RyYXRlZ3k6dCh7cHJvZmlsZToicnVzc2VsbF90b3A1MF9sZWFkZXJfcm90YXRpb24iLGxhYmVsOiJSdXNzZWxsIFRvcCA1MCBMZWFkZXIgUm90YXRpb24ifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0QiLGFtb3VudDoiMTIxMzAwLjAwIix1c2Q6IjEyMTMwMC4wMCIsb2JzZXJ2ZWRfYXQ6bn0sZGF5X2NoYW5nZTp7cmF0aW86IjAuMDAxOCIsYW1vdW50OiIyMTguMDAiLGN1cnJlbmN5OiJVU0QifSxzcGFya2xpbmVfMzBkOnIoMTE5OTAwLDEyMTMwMCw0MjAsNC4yKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjAxOCIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxsYXN0X3J1bjp7YXQ6IjIwMjYtMTAtMzBUMTk6NDU6MDBaIixvdXRjb21lOiJvcmRlcnNfc3VibWl0dGVkIn0scmV0dXJuX2Jhc2lzOiJuYXZfY2hhbmdlX3VuYWRqdXN0ZWQifSxoPXt0YXJnZXRfaWQ6ImJpbmFuY2Uvc3BvdCIscGxhdGZvcm06ImJpbmFuY2UiLHBsYXRmb3JtX2xhYmVsOiJCaW5hbmNlIixhY2NvdW50X3JlZjoiQk7igKLigKLigKIwMDA2IixhY2NvdW50X3N1ZmZpeDoiMDAwNiIsc3RyYXRlZ3k6dCh7cHJvZmlsZToiYnRjX2RjYSIsbGFiZWw6IkJUQyBEQ0EifSksbW9kZTp0KCJsaXZlIikscnVudGltZTp0KCJydW5uaW5nIiwiMjAyNi0xMS0wMlQxNDozMTo0OFoiKSxuYXY6e3N0YXR1czoia25vd24iLGN1cnJlbmN5OiJVU0RUIixhbW91bnQ6Ijc4MDcwLjAwIix1c2Q6Ijc4MDcwLjAwIixvYnNlcnZlZF9hdDpufSxkYXlfY2hhbmdlOntyYXRpbzoiMC4wMDg3IixhbW91bnQ6IjY3My4wMCIsY3VycmVuY3k6IlVTRCJ9LHNwYXJrbGluZV8zMGQ6cig3NDEwMCw3ODA3MCw3MDAsNS4xKSxkcmF3ZG93bjp7cmF0aW86Ii0wLjA0NSIsbGltaXRfcmF0aW86Ii0wLjE1IixzdGF0ZToib2sifSxjb25maWc6e3N0YXRlOiJzeW5jZWQiLGRyaWZ0X2NvdW50OjAsY2hlY2tlZF9hdDplfSxsYXN0X3J1bjp7YXQ6IjIwMjYtMTEtMDJUMTQ6MzA6MDBaIixvdXRjb21lOiJmaWxsZWQifSxyZXR1cm5fYmFzaXM6Im5hdl9jaGFuZ2VfdW5hZGp1c3RlZCJ9LGM9dSgiMjAyNi0xMC0wOSIsMjUpLHA9XygxMDAsMTAzLjksYy5sZW5ndGgsLjU1LC43KTtsZXQgZD0wO2NvbnN0IHg9cC5tYXAoYT0+KGQ9TWF0aC5tYXgoZCxOdW1iZXIoYSkpLChOdW1iZXIoYSkvZC0xKS50b0ZpeGVkKDQpKSksaT17b2s6ITAsc2NoZW1hX3ZlcnNpb246InFzbC5kZXNrLm92ZXJ2aWV3LnYxIixnZW5lcmF0ZWRfYXQ6eSxzbmFwc2hvdF9hdDpuLGZyZXNobmVzczp7ZGF0YV9zdGF0dXM6InJlYWR5IixhZ2Vfc2Vjb25kczozNjd9LHJlcG9ydGluZ19jdXJyZW5jeToiVVNEIix0b3RhbHM6e3N0YXR1czoiY29tcGxldGUiLGNvdmVyYWdlOntpbmNsdWRlZDo2LHRvdGFsOjYsZXhjbHVkZWRfcmVhc29uczpbXX0sZng6e3N0YXR1czoia25vd24iLGFzX29mOiIyMDI2LTExLTAyVDE0OjAwOjAwWiIsc291cmNlOiJvdmVydmlld19meCJ9LG5hdjoiMTE4OTgwMC4wMCIsZGF5X2NoYW5nZTp7YW1vdW50OiI2OTc2LjAwIixyYXRpbzoiMC4wMDU5In0sZHJhd2Rvd246e3JhdGlvOiItMC4wNDkiLGxpbWl0X3JhdGlvOiItMC4xNSIscGVha19kYXRlOiIyMDI2LTA5LTE4In0sZ3Jvc3NfZXhwb3N1cmVfcmF0aW86IjAuOTY0IixsZXZlcmFnZWRfZXRmX2V4cG9zdXJlX3JhdGlvOiIwLjQxMiIscnVuc190b2RheTp7ZG9uZToxMSxleHBlY3RlZDoxMixwZW5kaW5nOlt7dGFyZ2V0X2lkOiJpYmtyL3RxcXEiLGR1ZV9hdDoiMjAyNi0xMS0wMlQyMDo1NTowMFoifV19LGNvbmZpZ19kcmlmdDp7Y291bnQ6MSx0YXJnZXRfaWRzOlsibG9uZ2JyaWRnZS9oayJdfSxkYXRhX2FnZV9zZWNvbmRzOjM2N30sYm9vazpbZyxmLG0sYixrLGhdLGVxdWl0eV9jdXJ2ZTp7cmFuZ2U6IjFNIixwb3J0Zm9saW86e2RhdGVzOmMsaW5kZXhlZDpwfSxiZW5jaG1hcms6e2lkOiJuYXNkYXExMDAiLGxhYmVsOiJOYXNkYXEgMTAwIixpbmRleGVkOl8oMTAwLDEwMi4xLGMubGVuZ3RoLC44LDEuOSl9LGRyYXdkb3duOngsaGlzdG9yeV9zdGFydHM6IjIwMjYtMDUtMDQiLHJldHVybl9iYXNpczoibWl4ZWQifSxuZWVkc195b3U6W3tpZDoiYWxyX2RlbW9fMDAwMSIsa2luZDoiY29uZmlnX2RyaWZ0IixzZXZlcml0eToiY3JpdGljYWwiLHRhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIsdGl0bGU6IlBsYXRmb3JtIHJlYWQtYmFjayBkaWZmZXJzIGZyb20gc2F2ZWQgY29uZmlnIixkZXRhaWw6IjIgZmllbGRzOiBlbmFibGVkLCByZXNlcnZlZF9jYXNoX3JhdGlvLiBOb3RoaW5nIHdhcyBjaGFuZ2VkIGF1dG9tYXRpY2FsbHkuIixhY3Rpb246e2xhYmVsOiJSZXZpZXcgZGlmZiIscm91dGU6Ii9hY2NvdW50cz90YXJnZXQ9bG9uZ2JyaWRnZS9oayJ9fSx7aWQ6ImFscl9kZW1vXzAwMDIiLGtpbmQ6ImNyZWRlbnRpYWxfZXhwaXJpbmciLHNldmVyaXR5OiJ3YXJuaW5nIix0YXJnZXRfaWQ6InNjaHdhYi9jb3JlIix0aXRsZToiU2Nod2FiIHJlZnJlc2ggdG9rZW4gZXhwaXJlcyB3aXRoaW4gMSBkYXkiLGRldGFpbDoiUm90YXRlIGl0IGJ5IGhhbmQgYmVmb3JlIDIwMjYtMTEtMDMgMTc6MzAgVVRDLiIsYWN0aW9uOntsYWJlbDoiT3BlbiBjcmVkZW50aWFscyIscm91dGU6Ii9hY2NvdW50cz90YWI9Y3JlZGVudGlhbHMmY3JlZGVudGlhbD1jcmVkX3NjaHdhYl9vYXV0aCJ9fSx7aWQ6ImFscl9kZW1vXzAwMDMiLGtpbmQ6ImRyYXdkb3duX25lYXJfbGltaXQiLHNldmVyaXR5OiJ3YXJuaW5nIix0YXJnZXRfaWQ6Imlia3Ivc294bCIsdGl0bGU6IkRyYXdkb3duIG5lYXIgbGltaXQiLGRldGFpbDoiLTE0LjElIGFnYWluc3QgYSAtMTUuMCUgbGltaXQuIE5vdGhpbmcgd2FzIGRvbmUgYXV0b21hdGljYWxseS4iLGFjdGlvbjp7bGFiZWw6IlZpZXcgc3RyYXRlZ3kiLHJvdXRlOiIvb3ZlcnZpZXc/dGFyZ2V0PWlia3Ivc294bCJ9fV19LHE9ey4uLmksZnJlc2huZXNzOntkYXRhX3N0YXR1czoic3RhbGUiLGFnZV9zZWNvbmRzOjE0MDQwMH0sc25hcHNob3RfYXQ6IjIwMjYtMTAtMzFUMjM6MzI6MDBaIix0b3RhbHM6ey4uLmkudG90YWxzLHN0YXR1czoicGFydGlhbCIsY292ZXJhZ2U6e2luY2x1ZGVkOjQsdG90YWw6NixleGNsdWRlZF9yZWFzb25zOlsicGh5c2ljYWxfaWRlbnRpdHlfdW52ZXJpZmllZCIsImNvdmVyYWdlX2luY29tcGxldGUiXX0sbmF2OiI5NjkwMzAuMDAiLGRheV9jaGFuZ2U6bnVsbCxncm9zc19leHBvc3VyZV9yYXRpbzpudWxsLGxldmVyYWdlZF9ldGZfZXhwb3N1cmVfcmF0aW86bnVsbCxkYXRhX2FnZV9zZWNvbmRzOjE0MDQwMH0sYm9vazpbZyx7Li4uZixuYXY6e3N0YXR1czoic3RhbGUiLGN1cnJlbmN5OiJIS0QiLGFtb3VudDoiMTExMzAwMC4wMCIsdXNkOm51bGwsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTAtMzFUMDk6MDY6MDBaIixhZ2Vfc2Vjb25kczoxOTIzNjd9fSxtLGIsayx7Li4uaCxuYXY6e3N0YXR1czoidW5rbm93biIscmVhc29uOiJyZWFkX2ZhaWxlZCIsb2JzZXJ2ZWRfYXQ6bnVsbH0sZGF5X2NoYW5nZTpudWxsLHNwYXJrbGluZV8zMGQ6e3BvaW50czpbXSxkYXRlc19mcm9tOm51bGwsZGF0ZXNfdG86bnVsbCxnYXBfZGF0ZXM6W119LGRyYXdkb3duOntyYXRpbzpudWxsLGxpbWl0X3JhdGlvOiItMC4xNSIsc3RhdGU6InVua25vd24ifSxjb25maWc6e3N0YXRlOiJ1bmtub3duIixkcmlmdF9jb3VudDowLGNoZWNrZWRfYXQ6bnVsbH0sbGFzdF9ydW46bnVsbCxydW50aW1lOntzdGF0dXM6InVua25vd24iLHJlYXNvbjoicmVhZF9mYWlsZWQifX1dLGVxdWl0eV9jdXJ2ZTp7Li4uaS5lcXVpdHlfY3VydmUsYmVuY2htYXJrOntpZDpudWxsLGxhYmVsOm51bGwsaW5kZXhlZDpbXX19LG5lZWRzX3lvdTpbaS5uZWVkc195b3VbMF0se2lkOiJhbHJfZGVtb18wMDA0IixraW5kOiJkYXRhX3N0YWxlIixzZXZlcml0eToid2FybmluZyIsdGFyZ2V0X2lkOm51bGwsdGl0bGU6IkFjY291bnQgZmFjdHMgYXJlIDM5IGhvdXJzIG9sZCIsZGV0YWlsOiJUb3RhbHMgY292ZXIgNCBvZiA2IGFjY291bnRzIHVudGlsIGZhY3RzIHJlZnJlc2guIixhY3Rpb246e2xhYmVsOiJPcGVuIGFjY291bnRzIixyb3V0ZToiL2FjY291bnRzIn19XX07ZXhwb3J0e3EgYXMgZGVncmFkZWQsaSBhcyBva307Cg==" }, "/v2/assets/performance-SwyqwdiL.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgQSxuIGFzIGh9ZnJvbSIuL3NoYXJlZC1Eck5WN1pkaC5qcyI7Y29uc3QgYT1BcnJheS5mcm9tKHtsZW5ndGg6NTJ9LCh0LG8pPT5uZXcgRGF0ZShEYXRlLnBhcnNlKCIyMDI1LTExLTA3VDAwOjAwOjAwWiIpK28qNyo4NjRlNSkudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKSkscz1oKDEwMCwxMzEuNCxhLmxlbmd0aCwxLjYsLjMpO2xldCBfPTA7Y29uc3Qgdz1zLm1hcCh0PT4oXz1NYXRoLm1heChfLE51bWJlcih0KSksKE51bWJlcih0KS9fLTEpLnRvRml4ZWQoNCkpKSxJPShOdW1iZXIoc1tzLmxlbmd0aC0xXSkvTnVtYmVyKHNbMF0pLTEpLnRvRml4ZWQoNCksTT1TdHJpbmcoTWF0aC5taW4oLi4udy5tYXAoTnVtYmVyKSkudG9GaXhlZCg0KSksYj10PT4oe3N0YXR1czoia25vd24iLHZhbHVlOnQsb2JzZXJ2ZWRfYXQ6IjIwMjYtMTEtMDJUMTQ6MjY6MDBaIn0pLGU9e3N0YXR1czoidW5rbm93biIscmVhc29uOiJuZXZlcl9yZWFkIn0scD17b2s6ITAsc2NoZW1hX3ZlcnNpb246InFzbC5kZXNrLnBlcmZvcm1hbmNlLnYxIixnZW5lcmF0ZWRfYXQ6QSxyYW5nZToiMVkiLHNjb3BlOiJhbGwiLGhpc3Rvcnk6e2ZpcnN0X2RhdGU6YVswXSxyZXF1ZXN0ZWRfZnJvbTphWzBdLHRydW5jYXRlZF9ieTpudWxsLHJldGVudGlvbl9kYXlzOjM2NTB9LHJldHVybl9iYXNpczp7a2luZDoibWl4ZWQiLHBlcl90YXJnZXQ6e319LGVxdWl0eTp7ZGF0ZXM6YSxwb3J0Zm9saW9faW5kZXhlZDpzLGJlbmNobWFyazp7aWQ6bnVsbCxsYWJlbDpudWxsLGluZGV4ZWQ6W119LGRyYXdkb3duX3JhdGlvOncsZ2FwX2RhdGVzOltdfSxyaXNrOntyZXR1cm5fcmF0aW86YihJKSx2c19iZW5jaG1hcmtfcHRzOmUsdm9sYXRpbGl0eV9hbm5fcmF0aW86ZSxzaGFycGU6ZSxzb3J0aW5vOmUsbWF4X2RyYXdkb3duX3JhdGlvOmIoTSksdGltZV91bmRlcl93YXRlcl9kYXlzOmUsYmVzdF9kYXlfcmF0aW86ZSx3b3JzdF9kYXlfcmF0aW86ZX0sc2NvcmVjYXJkOltdLGNvbnRyaWJ1dGlvbjp7cGVyaW9kOiIxWSIsdW5pdDoicHRzX29mX25hdiIscm93czpbXX0sbW9udGhseTp7dW5pdDoicmF0aW8iLHJvd3M6W119fSxQPXsuLi5wLHJpc2s6ey4uLnAucmlzayxyZXR1cm5fcmF0aW86ZSxtYXhfZHJhd2Rvd25fcmF0aW86ZX19LHE9e1NQWTpbMTAwLDExOC4yLC45XSxRUVE6WzEwMCwxMjYuNSwxLjRdLElXTTpbMTAwLDEwOS4zLDEuN10sRElBOlsxMDAsMTEyLjgsLjhdfSxRPXtTUFk6WyJzcDUwMCIsIlMmUCA1MDAiLCLmoIfmma4gNTAwIl0sUVFROlsibmFzZGFxMTAwIiwiTmFzZGFxLTEwMCIsIue6s+aWr+i+vuWFiyAxMDAiXSxJV006WyJydXNzZWxsMjAwMCIsIlJ1c3NlbGwgMjAwMCIsIue9l+e0oCAyMDAwIl0sRElBOlsiZGppYSIsIkRvdyBKb25lcyIsIumBk+eQvOaWryJdfTtmdW5jdGlvbiBZKHQsbyxsPSJvayIpe2NvbnN0IGs9T2JqZWN0LmVudHJpZXMocSkubWFwKChbaSxbZixnLHZdXSx4KT0+e2NvbnN0W04seSxTXT1RW2ldLHU9YS5maWx0ZXIocj0+cj49dCYmcjw9byksYz1oKGYsZyxhLmxlbmd0aCx2LHgrMSksbT17aWQ6TixzeW1ib2w6aSxsYWJlbF9lbjp5LGxhYmVsX3poOlN9O2lmKGw9PT0iZGVncmFkZWQiJiZpPT09IkRJQSIpcmV0dXJuey4uLm0sc3RhdHVzOiJ1bmF2YWlsYWJsZSIsdW5hdmFpbGFibGVfcmVhc29uOiJiZW5jaG1hcmtfaGlzdG9yeV9taXNzaW5nIixiYXNlX2RhdGU6bnVsbCxsYXN0X2RhdGU6bnVsbCxwb2ludHM6W119O2NvbnN0IGQ9bD09PSJkZWdyYWRlZCImJmk9PT0iSVdNIj9NYXRoLm1pbigxMix1Lmxlbmd0aC0xKTowLG49dS5zbGljZShkKSxEPU51bWJlcihjW2EuaW5kZXhPZihuWzBdKV0pO3JldHVybnsuLi5tLHN0YXR1czpkPyJwYXJ0aWFsIjoiYXZhaWxhYmxlIix1bmF2YWlsYWJsZV9yZWFzb246ZD8id2luZG93X2FuY2hvcl9taXNzaW5nIjpudWxsLGJhc2VfZGF0ZTpuWzBdLGxhc3RfZGF0ZTpuW24ubGVuZ3RoLTFdLHBvaW50czpuLm1hcChyPT4oe2RhdGU6cixjdW11bGF0aXZlX3JldHVybl9yYXRpbzpOdW1iZXIoKE51bWJlcihjW2EuaW5kZXhPZihyKV0pL0QtMSkudG9GaXhlZCg1KSl9KSl9fSk7cmV0dXJue29rOiEwLHNjaGVtYV92ZXJzaW9uOiJxc2wucGVyZm9ybWFuY2VfYmVuY2htYXJrcy52MSIsc3RhdHVzOiJhdmFpbGFibGUiLHdpbmRvdzp7c3RhcnQ6dCxlbmQ6b30scmV0dXJuX2Jhc2lzOiJldGZfY2xvc2VfcHJpY2VfcmV0dXJuIixjdXJyZW5jeToiVVNEIix0aW1lem9uZToiQW1lcmljYS9OZXdfWW9yayIsY2FsZW5kYXJfY292ZXJhZ2U6Im5vdF92ZXJpZmllZCIsbWlzc2luZ19kYXRlX3BvbGljeToib21pdF93aXRob3V0X2ZpbGwiLHNlcmllczprfX1leHBvcnR7YSBhcyBQRVJGX0RBVEVTLFkgYXMgYmVuY2htYXJrUmVzcG9uc2UsUCBhcyBkZWdyYWRlZCxwIGFzIG9rfTsK" }, "/v2/assets/ribbon-DV8MxVvN.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgZX1mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCB0PXtvazohMCxzY2hlbWFfdmVyc2lvbjoicXNsLmRlc2sucmliYm9uLnYxIixnZW5lcmF0ZWRfYXQ6ZSxkYXRlOiIyMDI2LTExLTAyIixjb25zb2xlX3N0YXRlOnttb2RlOiJsaXZlIixnYXRld2F5czp7c3RhdHVzOiJrbm93biIsdmFsdWU6ImFsbF9yZWFjaGFibGUiLG9ic2VydmVkX2F0OiIyMDI2LTExLTAyVDE0OjMxOjQ4WiJ9fSxhbGVydF9iYWRnZTp7b3Blbl9jb3VudDozLGNyaXRpY2FsX2NvdW50OjF9LHNlc3Npb25zOlt7bWFya2V0OiJVUyIsc3RhdGU6Im9wZW4iLG9wZW5fdXRjOiIxNDozMCIsY2xvc2VfdXRjOiIyMTowMCIsbmV4dF9jaGFuZ2VfYXQ6IjIwMjYtMTEtMDJUMjE6MDA6MDBaIixob2xpZGF5Om51bGx9LHttYXJrZXQ6IkhLIixzdGF0ZToiY2xvc2VkIixvcGVuX3V0YzoiMDE6MzAiLGNsb3NlX3V0YzoiMDg6MDAiLG5leHRfY2hhbmdlX2F0OiIyMDI2LTExLTAzVDAxOjMwOjAwWiIsaG9saWRheTpudWxsfSx7bWFya2V0OiJDTiIsc3RhdGU6ImNsb3NlZCIsb3Blbl91dGM6IjAxOjMwIixjbG9zZV91dGM6IjA3OjAwIixuZXh0X2NoYW5nZV9hdDoiMjAyNi0xMS0wM1QwMTozMDowMFoiLGhvbGlkYXk6bnVsbH1dLG5leHRfcnVuOnt0YXJnZXRfaWQ6Imlia3IvdHFxcSIsa2luZDoicHJlX2Nsb3NlX2NoZWNrIixkdWVfYXQ6IjIwMjYtMTEtMDJUMjA6NTU6MDBaIn0sdGFwZTpbe2lkOiJzY2hlZF9kZW1vXzAwMDYiLGF0OiIyMDI2LTExLTAyVDIwOjU1OjAwWiIsdGFyZ2V0X2lkOiJpYmtyL3RxcXEiLGxhYmVsOiJwcmUtY2xvc2UgY2hlY2siLGtpbmQ6InByZV9jbG9zZV9jaGVjayIsb3V0Y29tZTpudWxsLG91dGNvbWVfZGV0YWlsOm51bGwsc3RhdGU6InNjaGVkdWxlZCJ9LHtpZDoicnVuX2RlbW9fMDAwNSIsYXQ6IjIwMjYtMTEtMDJUMTQ6MzA6MDBaIix0YXJnZXRfaWQ6ImJpbmFuY2Uvc3BvdCIsbGFiZWw6IkJUQyBEQ0EiLGtpbmQ6ImRjYSIsb3V0Y29tZToiZmlsbGVkIixvdXRjb21lX2RldGFpbDoiMSBmaWxsIixzdGF0ZToiZG9uZSJ9LHtpZDoicnVuX2RlbW9fMDAwNCIsYXQ6IjIwMjYtMTEtMDJUMTQ6MjU6MDBaIix0YXJnZXRfaWQ6Imlia3IvdHFxcSIsbGFiZWw6ImludHJhZGF5IGNoZWNrIixraW5kOiJpbnRyYWRheV9jaGVjayIsb3V0Y29tZToibm9fb3AiLG91dGNvbWVfZGV0YWlsOm51bGwsc3RhdGU6ImRvbmUifSx7aWQ6InJ1bl9kZW1vXzAwMDMiLGF0OiIyMDI2LTExLTAyVDEzOjU1OjAwWiIsdGFyZ2V0X2lkOiJpYmtyL3NveGwiLGxhYmVsOiJyZWJhbGFuY2UgY2hlY2siLGtpbmQ6InJlYmFsYW5jZV9jaGVjayIsb3V0Y29tZToibm9fb3AiLG91dGNvbWVfZGV0YWlsOm51bGwsc3RhdGU6ImRvbmUifSx7aWQ6InJ1bl9kZW1vXzAwMDIiLGF0OiIyMDI2LTExLTAyVDA5OjA1OjAwWiIsdGFyZ2V0X2lkOiJsb25nYnJpZGdlL2hrIixsYWJlbDoiSEsgY2xvc2UgY3ljbGUiLGtpbmQ6ImNsb3NlX2N5Y2xlIixvdXRjb21lOiJkcmlmdCIsb3V0Y29tZV9kZXRhaWw6IjIgZmllbGRzIGRpZmZlciIsc3RhdGU6ImRvbmUifSx7aWQ6InJ1bl9kZW1vXzAwMDEiLGF0OiIyMDI2LTExLTAyVDA2OjA1OjAwWiIsdGFyZ2V0X2lkOiJzY2h3YWIvY29yZSIsbGFiZWw6InByZS1vcGVuIGNoZWNrIixraW5kOiJwcmVfb3Blbl9jaGVjayIsb3V0Y29tZToibm9fb3AiLG91dGNvbWVfZGV0YWlsOm51bGwsc3RhdGU6ImRvbmUifV19LG89ey4uLnQsY29uc29sZV9zdGF0ZTp7bW9kZToibGl2ZSIsZ2F0ZXdheXM6e3N0YXR1czoidW5rbm93biIscmVhc29uOiJyZWFkX2ZhaWxlZCIsb2JzZXJ2ZWRfYXQ6bnVsbH19LGFsZXJ0X2JhZGdlOntvcGVuX2NvdW50OjQsY3JpdGljYWxfY291bnQ6MX0sc2Vzc2lvbnM6W3ttYXJrZXQ6IlVTIixzdGF0ZToidW5rbm93biIsb3Blbl91dGM6bnVsbCxjbG9zZV91dGM6bnVsbCxuZXh0X2NoYW5nZV9hdDpudWxsLGhvbGlkYXk6bnVsbH0se21hcmtldDoiSEsiLHN0YXRlOiJjbG9zZWQiLG9wZW5fdXRjOiIwMTozMCIsY2xvc2VfdXRjOiIwODowMCIsbmV4dF9jaGFuZ2VfYXQ6IjIwMjYtMTEtMDNUMDE6MzA6MDBaIixob2xpZGF5Om51bGx9LHttYXJrZXQ6IkNOIixzdGF0ZToidW5rbm93biIsb3Blbl91dGM6bnVsbCxjbG9zZV91dGM6bnVsbCxuZXh0X2NoYW5nZV9hdDpudWxsLGhvbGlkYXk6bnVsbH1dLG5leHRfcnVuOm51bGwsdGFwZTpbe2lkOiJydW5fZGVtb18wMDA1IixhdDoiMjAyNi0xMS0wMlQxNDozMDowMFoiLHRhcmdldF9pZDoiYmluYW5jZS9zcG90IixsYWJlbDoiQlRDIERDQSIsa2luZDoiZGNhIixvdXRjb21lOm51bGwsb3V0Y29tZV9kZXRhaWw6bnVsbCxzdGF0ZToidW5rbm93biJ9LHtpZDoicnVuX2RlbW9fMDAwMiIsYXQ6IjIwMjYtMTEtMDJUMDk6MDU6MDBaIix0YXJnZXRfaWQ6ImxvbmdicmlkZ2UvaGsiLGxhYmVsOiJISyBjbG9zZSBjeWNsZSIsa2luZDoiY2xvc2VfY3ljbGUiLG91dGNvbWU6bnVsbCxvdXRjb21lX2RldGFpbDpudWxsLHN0YXRlOiJtaXNzZWQifV19O2V4cG9ydHtvIGFzIGRlZ3JhZGVkLHQgYXMgb2t9Owo=" }, "/v2/assets/runtime_daily_contract-xW43mZQY.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3Qgcz0iQW1lcmljYS9OZXdfWW9yayI7ZnVuY3Rpb24gdShlPURhdGUubm93KCkpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tQ0EiLHt0aW1lWm9uZTpzLHllYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQifSkuZm9ybWF0KGUpfWNvbnN0IGQ9T2JqZWN0LmZyZWV6ZSh7cGxhdGZvcm06ImxvbmdicmlkZ2UiLHNlcnZpY2U6ImxvbmdicmlkZ2UtcXVhbnQtcGFwZXItc2VydmljZSIsc3RyYXRlZ3lfcHJvZmlsZToicnVzc2VsbF90b3A1MF9sZWFkZXJfcm90YXRpb24iLGFjY291bnRfc2NvcGU6InBhcGVyIix0YXJnZXRfa2V5OiJsb25nYnJpZGdlLXF1YW50LXBhcGVyLXNlcnZpY2V8cnVzc2VsbF90b3A1MF9sZWFkZXJfcm90YXRpb258cGFwZXIifSksYz1bIm5vX3N1Ym1pc3Npb24iLCJub19zaWduYWwiLCJub19yZWJhbGFuY2UiLCJmaWxsZWQiXSxhPVsiZmFpbGVkIiwiYmxvY2tlZCIsImVycm9yIl0sbD1bInVua25vd24iLCJyZWNvbmNpbGlhdGlvbl9yZXF1aXJlZCIsInN1Ym1pdHRlZCIsImJyb2tlcl9hY2tub3dsZWRnZWQiLCJwYXJ0aWFsbHlfZmlsbGVkIiwiY29uZmxpY3QiLCJpbnN1ZmZpY2llbnQiXTtmdW5jdGlvbiBfKGUpe2NvbnN0IHI9ZT8uZXZpZGVuY2UsaT1yP3IuZXJyb3JzX3ByZXNlbnQ6ZT8uZXJyb3JzX3ByZXNlbnQsbj1bZT8uYWN0aXZpdHksZT8ucmVwb3J0X3N0YXR1cyxyPy5leGVjdXRpb25fc3RhdHVzLHI/LnJlY2VpcHRfb3V0Y29tZV07aWYoZT8uaXNzdWU9PT0iZmFpbHVyZSIpcmV0dXJuImZhaWx1cmUiO2lmKHImJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLCJyZWNlaXB0X3N0YXRlIikpe2NvbnN0IHQ9Wy4uLm4sci5yZWNlaXB0X2Jyb2tlcl9jb25maXJtYXRpb25dO2lmKGk9PT0hMHx8dC5zb21lKG89PlsiZmFpbGVkIiwiZmFpbHVyZSIsImVycm9yIiwiYmxvY2tlZCIsInJpc2tfYmxvY2tlZCIsImNhbmNlbGxlZCIsImNhbmNlbGVkIiwidGltZWRfb3V0Il0uaW5jbHVkZXMobykpKXJldHVybiJmYWlsdXJlIjtpZihyLnJlY2VpcHRfc3RhdGUhPT0idmFsaWQifHx0LnNvbWUobz0+WyJwZW5kaW5nX3JlY29uY2lsaWF0aW9uIiwicmVjb25jaWxpYXRpb25fcmVxdWlyZWQiLCJ1bmtub3duIiwidW5rbm93bl9vcmRlciJdLmluY2x1ZGVzKG8pKSlyZXR1cm4idW5jb25maXJtZWQifXJldHVybiBpPT09ITB8fG4uc29tZSh0PT5hLmluY2x1ZGVzKHQpKT8iZmFpbHVyZSI6ZT8uaXNzdWU9PT0idW5jb25maXJtZWQifHxpIT09ITF8fCFjLmluY2x1ZGVzKGU/LmFjdGl2aXR5KXx8bi5zbGljZSgxKS5zb21lKHQ9PmwuaW5jbHVkZXModCkpfHwocj8ub3JkZXJzX3BlbmRpbmdfY291bnR8fDApPjA/InVuY29uZmlybWVkIjpudWxsfWV4cG9ydHtkIGFzIFIsXyBhcyBhLHUgYXMgcn07Cg==" }, "/v2/assets/session-De3NT4rO.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgZX1mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCB0PXthdXRoZW50aWNhdGVkOiEwLGxvZ2luOiJvd25lci1kZW1vIixhbGxvd2VkOiEwLGFkbWluOiEwLHNlcnZlcl90aW1lOmV9LHI9ey4uLnQsYWRtaW46ITF9O2V4cG9ydHtyIGFzIGRlZ3JhZGVkLHQgYXMgb2t9Owo=" }, "/v2/assets/shared-DrNV7Zdh.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgZz0iMjAyNi0xMS0wMlQxNDozMjowN1oiO2Z1bmN0aW9uIGgobixyLHQsZSxzPTApe3JldHVybiBBcnJheS5mcm9tKHtsZW5ndGg6dH0sKGYsYSk9Pntjb25zdCBvPXQ9PT0xPzE6YS8odC0xKSxjPW4rKHItbikqbyxpPU1hdGguc2luKGEqLjkrcykqZStNYXRoLnNpbihhKi4zNytzKjIpKmUqLjY7cmV0dXJuKGE9PT10LTE/cjpjK2kpLnRvRml4ZWQoMil9KX1mdW5jdGlvbiBkKG4scil7Y29uc3QgdD1EYXRlLnBhcnNlKGAke259VDAwOjAwOjAwWmApO3JldHVybiBBcnJheS5mcm9tKHtsZW5ndGg6cn0sKGUscyk9Pm5ldyBEYXRlKHQrcyo4NjRlNSkudG9JU09TdHJpbmcoKS5zbGljZSgwLDEwKSl9ZXhwb3J0e2cgYXMgTixkLGggYXMgbn07Cg==" }, "/v2/assets/status-B_UXUo8G.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e2EgYXMgc31mcm9tIi4vcnVudGltZV9kYWlseV9jb250cmFjdC14VzQzbVpRWS5qcyI7Y29uc3QgXz1bIm1hcmtldF9jbG9zZWQiLCJub3RfZHVlIiwib3V0c2lkZV93aW5kb3ciLCJ3aXRoaW5fZ3JhY2UiXSx1PW5ldyBTZXQoXyksZj1bInN1Y2NlZWRlZCIsImZhaWxlZCIsImJsb2NrZWQiLCJub19kYXRhIiwibm90X2Nvbm5lY3RlZCIsIm5vdF9ydW4iLCJ1bmtub3duIiwicmVhZF9mYWlsZWQiLCJpbmNvbXBsZXRlIiwibWFya2V0X2Nsb3NlZCIsIm5vdF9kdWUiLCJvdXRzaWRlX3dpbmRvdyIsIndpdGhpbl9ncmFjZSJdLGs9bmV3IFNldChbInN1Y2NlZWRlZCIsImZhaWxlZCIsImJsb2NrZWQiLCJub19kYXRhIiwibm90X2Nvbm5lY3RlZCIsIm5vdF9ydW4iLCJ1bmtub3duIiwicmVhZF9mYWlsZWQiLCJpbmNvbXBsZXRlIl0pLHY9WyJjb3ZlcmFnZV91bmNvbmZpcm1lZCIsInJlcG9ydF9yZWplY3RlZCIsInJlYWRfdHJ1bmNhdGVkIiwibGlzdGluZ190cnVuY2F0ZWQiLCJzY2hlZHVsZV91bnZlcmlmaWVkIiwidGFyZ2V0X2Rpc2FibGVkIl0sZD1bInJlcG9ydF9yZWFkX2Vycm9yIiwicmVhZF9mYWlsZWQiLCJsaXN0X2ZhaWxlZCIsInNvdXJjZV9yZWFkX2Vycm9yIl07ZnVuY3Rpb24gYihlKXtjb25zdCB0PWUucnVuX3N0YXR1cztyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciJiZrLmhhcyh0KT90Om51bGx9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5zdGF0dXM9PT0icmVhZF9mYWlsZWQifHxlLnN0YXR1cz09PSJub3RfY29ubmVjdGVkInx8ZS5hY3Rpdml0eT09PSJmYWlsZWQifHxlLmFjdGl2aXR5PT09ImVycm9yInx8ZS5hY3Rpdml0eT09PSJibG9ja2VkInx8ZS5hY3Rpdml0eT09PSJyZWFkX2luY29tcGxldGUifHx0eXBlb2YgZS5yZWFkX2Vycm9yX2NvdW50PT0ibnVtYmVyIiYmZS5yZWFkX2Vycm9yX2NvdW50PjA/ITA6KGUucnVuc3x8W10pLnNvbWUodD0+dC5hY3Rpdml0eT09PSJibG9ja2VkInx8cyh0KT09PSJmYWlsdXJlIil9Y29uc3Qgdz1uZXcgU2V0KFsibm9fZGF0YSIsIm5vdF9ydW4iXSk7ZnVuY3Rpb24geShlKXtyZXR1cm4gZS5zdGF0dXMhPT0ibm9fZGF0YSImJmUuY29tcGxldGVuZXNzPT09ImNvbXBsZXRlIiYmIWEoZSl9ZnVuY3Rpb24gbChlKXtjb25zdCB0PWMoZSk7cmV0dXJuIHQ9PT0ic3VjY2VlZGVkIj8idW5rbm93biI6dH1mdW5jdGlvbiBwKGUpe2lmKGUucnVuX3N0YXR1cz09PXZvaWQgMClyZXR1cm4gYyhlKTtjb25zdCByPWIoZSk7cmV0dXJuIHI9PT1udWxsPyJ1bmtub3duIjpyPT09InN1Y2NlZWRlZCI/eShlKT9yOmwoZSk6dy5oYXMocikmJmEoZSk/bChlKTpyPT09Im5vdF9ydW4iJiYhKGUucnVuc3x8W10pLmxlbmd0aCYmZS5hY3Rpdml0eSYmdS5oYXMoZS5hY3Rpdml0eSk/ZS5hY3Rpdml0eTpyfWZ1bmN0aW9uIGMoZSl7aWYoZS5zdGF0dXM9PT0ibm90X2Nvbm5lY3RlZCJ8fGUuc3RhdHVzPT09Im5vX2RhdGEifHxlLnN0YXR1cz09PSJyZWFkX2ZhaWxlZCIpcmV0dXJuIGUuc3RhdHVzO2NvbnN0IHQ9ZS5hY3Rpdml0eSxyPWUucnVuc3x8W107aWYodD09PSJibG9ja2VkIilyZXR1cm4iYmxvY2tlZCI7aWYodD09PSJmYWlsZWQifHx0PT09ImVycm9yInx8ci5zb21lKG49Pm4uYWN0aXZpdHkhPT0iYmxvY2tlZCImJnMobik9PT0iZmFpbHVyZSIpKXJldHVybiJmYWlsZWQiO2lmKHIuc29tZShuPT5uLmFjdGl2aXR5PT09ImJsb2NrZWQiKSlyZXR1cm4iYmxvY2tlZCI7aWYodD09PSJyZWFkX2luY29tcGxldGUiKXtjb25zdCBuPWUucmVhZF9lcnJvcl9jb2RlcyxpPWUucmVhZF9lcnJvcl9jb3VudDtyZXR1cm4gdHlwZW9mIGkhPSJudW1iZXIifHwhTnVtYmVyLmlzU2FmZUludGVnZXIoaSl8fGk8PTB8fCFBcnJheS5pc0FycmF5KG4pfHxuLmxlbmd0aCE9PWl8fCFuLmV2ZXJ5KG89PnR5cGVvZiBvPT0ic3RyaW5nIiYmKHYuaW5jbHVkZXMobyl8fGQuaW5jbHVkZXMobykpKT8idW5rbm93biI6bi5zb21lKG89PmQuaW5jbHVkZXMobykpPyJyZWFkX2ZhaWxlZCI6ImluY29tcGxldGUifXJldHVybiB0JiZ1Lmhhcyh0KSYmci5sZW5ndGg9PT0wP3Q6ZS5jb21wbGV0ZW5lc3M9PT0iY29tcGxldGUiJiZ0IT09bnVsbCYmWyJub19zdWJtaXNzaW9uIiwibm9fc2lnbmFsIiwibm9fcmViYWxhbmNlIiwiZmlsbGVkIl0uaW5jbHVkZXModCkmJnIubGVuZ3RoPjAmJnIuZXZlcnkobj0+cyhuKT09PW51bGwpPyJzdWNjZWVkZWQiOiJ1bmtub3duIn1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9T2JqZWN0LmZyb21FbnRyaWVzKGYubWFwKHI9PltyLDBdKSk7Zm9yKGNvbnN0IHIgb2YgZSl0W3AocildKz0xO3JldHVybiB0fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIHUuaGFzKGUpP2BzdGF0ZS4ke2V9YDpgaGVhbHRoLnJ1bl9zdGF0ZS4ke2V9YH1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9ZS5yZWNvcmQ7aWYoIXR8fGUuZGF0YV9zdGF0dXM9PT0idW5hdmFpbGFibGUiKXJldHVybiJuby1yZWNvcmQiO2NvbnN0IHI9dC5ydW5zPz9bXTtyZXR1cm4gdC5zdGF0dXM9PT0iYmxvY2tlZCI/ImJsb2NrZWQiOlsiZmFpbGVkIiwiZXJyb3IiXS5pbmNsdWRlcyh0LnN0YXR1cyl8fHIuc29tZShuPT5uLmFjdGl2aXR5IT09ImJsb2NrZWQiJiZzKG4pPT09ImZhaWx1cmUiKT8iZmFpbGVkIjpyLnNvbWUobj0+bi5hY3Rpdml0eT09PSJibG9ja2VkIik/ImJsb2NrZWQiOnQuc3RhdHVzPT09InJlYWRfaW5jb21wbGV0ZSI/ImluY29tcGxldGUiOmUuZGF0YV9zdGF0dXM9PT0ic3RhbGUiPyJzdGFsZSI6IVsiZnJlc2giLCJoaXN0b3JpY2FsIl0uaW5jbHVkZXMoZS5kYXRhX3N0YXR1cyl8fHQuc3RhdHVzPT09InVua25vd24iPyJ1bmtub3duIjp0LmNvbXBsZXRlbmVzcyE9PSJjb21wbGV0ZSJ8fHQua2luZD09PSJpbmNvbXBsZXRlInx8dC5zdGF0dXM9PT0ibWlzc2luZ19yZXBvcnQiPyJpbmNvbXBsZXRlIjp0LmtpbmQ9PT0ic2NoZWR1bGUiJiYhci5sZW5ndGgmJlsibm90X2R1ZSIsIm1hcmtldF9jbG9zZWQiLCJvdXRzaWRlX3dpbmRvdyIsIndpdGhpbl9ncmFjZSJdLmluY2x1ZGVzKHQuc3RhdHVzKT8ibm90LXJ1biI6dC5raW5kPT09InJ1biImJlsibm9fc3VibWlzc2lvbiIsIm5vX3NpZ25hbCIsIm5vX3JlYmFsYW5jZSIsImZpbGxlZCJdLmluY2x1ZGVzKHQuc3RhdHVzKSYmci5sZW5ndGg+MCYmci5ldmVyeShuPT5zKG4pPT09bnVsbCk/Im9rIjoidW5rbm93biJ9ZnVuY3Rpb24gVChlKXtyZXR1cm4gZS5tYXJrZXRfc2Vzc2lvbiE9PSJ3ZWVrZW5kIj8hMTplLmFjY291bnRzLmV2ZXJ5KHQ9PnQuc3RhdHVzPT09Im9rInx8dC5zdGF0dXM9PT0ibm9fZGF0YSImJih0LnVuYXZhaWxhYmxlX3JlYXNvbj09PSJub25fdHJhZGluZ193ZWVrZW5kInx8dC51bmF2YWlsYWJsZV9yZWFzb249PT0idG9kYXlfcmVjb3JkX21pc3NpbmciKSl9ZnVuY3Rpb24gQShlKXtjb25zdCB0PVsiZmFpbGVkIiwiZXJyb3IiXSxyPVsiYmxvY2tlZCIsIm5vX3N1Ym1pc3Npb24iLCJub19zaWduYWwiLCJub19yZWJhbGFuY2UiLCJmaWxsZWQiXTtyZXR1cm57Y291bnQ6ZS5hY2NvdW50cy5maWx0ZXIobj0+bi5hY3Rpdml0eSE9PSJibG9ja2VkIiYmKHQuaW5jbHVkZXMobi5hY3Rpdml0eXx8IiIpfHxuLnJ1bnMuc29tZShpPT5pLmFjdGl2aXR5IT09ImJsb2NrZWQiJiZzKGkpPT09ImZhaWx1cmUiKSkpLmxlbmd0aCxjb21wbGV0ZTplLnN0YXR1cz09PSJvayImJmUuY291bnRzLnJ1bnMhPT1udWxsJiZlLmNvdW50cy5jb25maWd1cmVkPjAmJmUuY291bnRzLm9ic2VydmVkPT09ZS5jb3VudHMuY29uZmlndXJlZCYmZS5hY2NvdW50cy5sZW5ndGg9PT1lLmNvdW50cy5jb25maWd1cmVkJiZlLmFjY291bnRzLmV2ZXJ5KG49Pm4uc3RhdHVzPT09Im9rIiYmbi5jb21wbGV0ZW5lc3M9PT0iY29tcGxldGUiJiZuLnJ1bl9jb3VudCE9PW51bGwmJm4ucnVuX2NvdW50PT09bi5ydW5zLmxlbmd0aCYmKHQuaW5jbHVkZXMobi5hY3Rpdml0eXx8IiIpfHxyLmluY2x1ZGVzKG4uYWN0aXZpdHl8fCIiKXx8WyJub3RfZHVlIiwibWFya2V0X2Nsb3NlZCIsIm91dHNpZGVfd2luZG93Iiwid2l0aGluX2dyYWNlIl0uaW5jbHVkZXMobi5hY3Rpdml0eXx8IiIpKSYmbi5ydW5zLmV2ZXJ5KGk9PnMoaSkhPT0idW5jb25maXJtZWQiKSl9fWV4cG9ydHtoIGFzIGEscCBhcyBiLFMgYXMgYyxtIGFzIHIsQSBhcyB0LFQgYXMgd307Cg==" }, + "/v2/assets/switchStrategies-mSlv7qte.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgcn1mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCBlPWk9PmksXz17Imlia3IvdHFxcSI6InVzX2VxdWl0eSIsImlia3Ivc294bCI6InVzX2VxdWl0eSIsInNjaHdhYi9jb3JlIjoidXNfZXF1aXR5IiwiZmlyc3RyYWRlL2luY29tZSI6InVzX2VxdWl0eSIsImxvbmdicmlkZ2UvaGsiOiJoa19lcXVpdHkiLCJiaW5hbmNlL3Nwb3QiOiJjcnlwdG8ifTtmdW5jdGlvbiBzKGkpe3JldHVybiBfW2ldPz8idXNfZXF1aXR5In1jb25zdCBvPXtvazohMCxzY2hlbWFfdmVyc2lvbjoicXNsLmRlc2suc3dpdGNoX3N0cmF0ZWdpZXMudjEiLGdlbmVyYXRlZF9hdDpyLHRhcmdldF9pZDoiaWJrci90cXFxIixkb21haW46InVzX2VxdWl0eSIsY2F0YWxvZ19yZXZpc2lvbjoiZGVtby0yMDI2LTExLTAyIixzdHJhdGVnaWVzOltlKHtwcm9maWxlOiJ0cXFxX2dyb3d0aF9pbmNvbWUiLGxhYmVsOiJUUVFRIEdyb3d0aCBJbmNvbWUiLGRvbWFpbjoidXNfZXF1aXR5IixlbGlnaWJpbGl0eToiZWxpZ2libGUiLHJlYXNvbjpudWxsLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSJdLGxpZmVjeWNsZV9zdGFnZToibGl2ZSIsb3B0aW9uX292ZXJsYXlfZW5hYmxlZDohMCxkY2Ffc3VwcG9ydGVkOiExfSksZSh7cHJvZmlsZToidHFxcV9jb3JlX29ubHlfcDJfdjlfYmVuY2htYXJrX2RyYXdkb3duX2d1YXJkIixsYWJlbDoiVFFRUSBCZW5jaG1hcmsgRHJhd2Rvd24gR3VhcmQiLGRvbWFpbjoidXNfZXF1aXR5IixlbGlnaWJpbGl0eToiZWxpZ2libGUiLHJlYXNvbjpudWxsLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIl0sbGlmZWN5Y2xlX3N0YWdlOiJyZXNlYXJjaCIsZGNhX3N1cHBvcnRlZDohMX0pLGUoe3Byb2ZpbGU6InNveGxfc294eF90cmVuZF9pbmNvbWUiLGxhYmVsOiJTZW1pY29uZHVjdG9yIFRyZW5kIEluY29tZSIsZG9tYWluOiJ1c19lcXVpdHkiLGVsaWdpYmlsaXR5OiJub19saXZlIixyZWFzb246InJlc2VhcmNoX29ubHkiLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIl0sbGlmZWN5Y2xlX3N0YWdlOiJwYXBlciIsZGNhX3N1cHBvcnRlZDohMX0pLGUoe3Byb2ZpbGU6Im5hc2RhcV9zcDUwMF9zbWFydF9kY2EiLGxhYmVsOiJOQVNEQVEvUyZQIDUwMCBEQ0EiLGRvbWFpbjoidXNfZXF1aXR5IixlbGlnaWJpbGl0eToiZWxpZ2libGUiLHJlYXNvbjpudWxsLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSJdLGxpZmVjeWNsZV9zdGFnZToibGl2ZSIsZGNhX3N1cHBvcnRlZDohMH0pLGUoe3Byb2ZpbGU6InVzX2VxdWl0eV9jb21ib19jb3JlIixsYWJlbDoiVVMgQ29yZSBDb21ibyIsZG9tYWluOiJ1c19lcXVpdHkiLGVsaWdpYmlsaXR5OiJlbGlnaWJsZSIscmVhc29uOm51bGwsYWxsb3dlZF9leGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIiwicGFwZXIiLCJsaXZlIl0sbGlmZWN5Y2xlX3N0YWdlOiJsaXZlIixkY2Ffc3VwcG9ydGVkOiExfSksZSh7cHJvZmlsZToiY3J5cHRvX2J0Y19kY2EiLGxhYmVsOiJCVEMgRENBIixkb21haW46InVzX2VxdWl0eSIsZWxpZ2liaWxpdHk6ImJsb2NrZWQiLHJlYXNvbjoid3JvbmdfZG9tYWluIixhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iLCJwYXBlciJdLGxpZmVjeWNsZV9zdGFnZToiYmxvY2tlZCIsZGNhX3N1cHBvcnRlZDohMH0pXX0sYz17Li4ubyxjYXRhbG9nX3JldmlzaW9uOiJkZW1vLTIwMjYtMTAtMzEifSx1PXsuLi5vLHN0cmF0ZWdpZXM6W119LG49e2NyeXB0bzpbZSh7cHJvZmlsZToiY3J5cHRvX2J0Y19kY2EiLGxhYmVsOiJCVEMgRENBIixkb21haW46ImNyeXB0byIsZWxpZ2liaWxpdHk6Im5vX2xpdmUiLHJlYXNvbjoic2hhZG93X2NhbmRpZGF0ZV9yZXF1aXJlc19ldmlkZW5jZV9wYWNrYWdlIixhbGxvd2VkX2V4ZWN1dGlvbl9tb2RlczpbInBhcGVyIiwiZHJ5X3J1biJdLGxpZmVjeWNsZV9zdGFnZToic2hhZG93X2FjdGl2ZSIsZGNhX3N1cHBvcnRlZDohMH0pXSxoa19lcXVpdHk6W2Uoe3Byb2ZpbGU6ImhrX2dsb2JhbF9ldGZfdGFjdGljYWxfcm90YXRpb24iLGxhYmVsOiJISyBFVEYgVGFjdGljYWwgUm90YXRpb24iLGRvbWFpbjoiaGtfZXF1aXR5IixlbGlnaWJpbGl0eToiYmxvY2tlZCIscmVhc29uOiJyZXNlYXJjaF9iYWNrdGVzdF9vbmx5X3JlcXVpcmVzX2V2aWRlbmNlX3BhY2thZ2UiLGFsbG93ZWRfZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biJdLGxpZmVjeWNsZV9zdGFnZToicmVzZWFyY2hfYWN0aXZlIixkY2Ffc3VwcG9ydGVkOiExfSldfTtmdW5jdGlvbiBwKGksdCl7Y29uc3QgYT10PT09ImRlZ3JhZGVkIj9jOm8sbD1zKGkpO3JldHVybnsuLi5hLHRhcmdldF9pZDppLGRvbWFpbjpsLHN0cmF0ZWdpZXM6bltsXT8/YS5zdHJhdGVnaWVzfX1leHBvcnR7YyBhcyBkZWdyYWRlZCxzIGFzIGRvbWFpbkZvcix1IGFzIGVtcHR5LHAgYXMgZm9yVGFyZ2V0LG8gYXMgb2t9Owo=" }, + "/v2/assets/switchTargets-CuzDBX5V.js": { contentType: "text/javascript; charset=utf-8", base64: "aW1wb3J0e04gYXMgc31mcm9tIi4vc2hhcmVkLURyTlY3WmRoLmpzIjtjb25zdCBuPSIyMDI2LTExLTAyVDE0OjMxOjEyWiIsZT0ocixhPW4pPT4oe3N0YXR1czoia25vd24iLHZhbHVlOnIsb2JzZXJ2ZWRfYXQ6YX0pLG89cj0+cix0PXtvazohMCxzY2hlbWFfdmVyc2lvbjoicXNsLmRlc2suc3dpdGNoX3RhcmdldHMudjEiLGdlbmVyYXRlZF9hdDpzLHRhcmdldHM6W28oe3RhcmdldF9pZDoiaWJrci90cXFxIixwbGF0Zm9ybToiaWJrciIscGxhdGZvcm1fbGFiZWw6IklCS1IiLGFjY291bnRfcmVmOiJV4oCi4oCi4oCiMDAwMSIsYWNjb3VudF9zdWZmaXg6IjAwMDEiLG1vZGU6ZSgibGl2ZSIpLGRvbWFpbnM6WyJ1c19lcXVpdHkiXSxjdXJyZW50X3N0cmF0ZWd5OmUoe3Byb2ZpbGU6InRxcXFfZ3Jvd3RoX2luY29tZSIsbGFiZWw6IlRRUVEgR3Jvd3RoIEluY29tZSJ9KSxleGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIiwicGFwZXIiLCJsaXZlIl0sc3dpdGNoYWJsZTp7YWxsb3dlZDohMSxyZWFzb25fY29kZToic3dpdGNoX25vdF9jb25uZWN0ZWQifSxwZW5kaW5nX3JlcXVlc3RfaWQ6bnVsbCxzdG9wOntzdXBwb3J0ZWQ6ITAscmVzdW1lX3N1cHBvcnRlZDohMH19KSxvKHt0YXJnZXRfaWQ6Imlia3Ivc294bCIscGxhdGZvcm06Imlia3IiLHBsYXRmb3JtX2xhYmVsOiJJQktSIixhY2NvdW50X3JlZjoiVeKAouKAouKAojAwMDIiLGFjY291bnRfc3VmZml4OiIwMDAyIixtb2RlOmUoImxpdmUiKSxkb21haW5zOlsidXNfZXF1aXR5Il0sY3VycmVudF9zdHJhdGVneTplKHtwcm9maWxlOiJzb3hsX3NveHhfdHJlbmRfaW5jb21lIixsYWJlbDoiU2VtaWNvbmR1Y3RvciBUcmVuZCBJbmNvbWUifSksZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSJdLHN3aXRjaGFibGU6e2FsbG93ZWQ6ITEscmVhc29uX2NvZGU6InN3aXRjaF9ub3RfY29ubmVjdGVkIn0scGVuZGluZ19yZXF1ZXN0X2lkOm51bGwsc3RvcDp7c3VwcG9ydGVkOiEwLHJlc3VtZV9zdXBwb3J0ZWQ6ITB9fSksbyh7dGFyZ2V0X2lkOiJzY2h3YWIvY29yZSIscGxhdGZvcm06InNjaHdhYiIscGxhdGZvcm1fbGFiZWw6IlNjaHdhYiIsYWNjb3VudF9yZWY6IlPigKLigKLigKIwMDAzIixhY2NvdW50X3N1ZmZpeDoiMDAwMyIsbW9kZTplKCJsaXZlIiksZG9tYWluczpbInVzX2VxdWl0eSJdLGN1cnJlbnRfc3RyYXRlZ3k6ZSh7cHJvZmlsZToidXNfZXF1aXR5X2NvbWJvX2NvcmUiLGxhYmVsOiJVUyBDb3JlIENvbWJvIn0pLGV4ZWN1dGlvbl9tb2RlczpbImRyeV9ydW4iLCJwYXBlciIsImxpdmUiXSxzd2l0Y2hhYmxlOnthbGxvd2VkOiExLHJlYXNvbl9jb2RlOiJzd2l0Y2hfbm90X2Nvbm5lY3RlZCJ9LHBlbmRpbmdfcmVxdWVzdF9pZDpudWxsLHN0b3A6e3N1cHBvcnRlZDohMCxyZXN1bWVfc3VwcG9ydGVkOiExfX0pLG8oe3RhcmdldF9pZDoibG9uZ2JyaWRnZS9oayIscGxhdGZvcm06ImxvbmdicmlkZ2UiLHBsYXRmb3JtX2xhYmVsOiJMb25nQnJpZGdlIixhY2NvdW50X3JlZjoiTELigKLigKLigKIwMDA1IixhY2NvdW50X3N1ZmZpeDoiMDAwNSIsbW9kZTplKCJsaXZlIiksZG9tYWluczpbImhrX2VxdWl0eSJdLGN1cnJlbnRfc3RyYXRlZ3k6ZSh7cHJvZmlsZToiaGtfZ2xvYmFsX2V0Zl90YWN0aWNhbF9yb3RhdGlvbiIsbGFiZWw6IkhLIEVURiBUYWN0aWNhbCBSb3RhdGlvbiJ9KSxleGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIiwicGFwZXIiXSxzd2l0Y2hhYmxlOnthbGxvd2VkOiExLHJlYXNvbl9jb2RlOiJzd2l0Y2hfbm90X2Nvbm5lY3RlZCJ9LHBlbmRpbmdfcmVxdWVzdF9pZDpudWxsLHN0b3A6e3N1cHBvcnRlZDohMCxyZXN1bWVfc3VwcG9ydGVkOiEwfX0pLG8oe3RhcmdldF9pZDoiYmluYW5jZS9zcG90IixwbGF0Zm9ybToiYmluYW5jZSIscGxhdGZvcm1fbGFiZWw6IkJpbmFuY2UiLGFjY291bnRfcmVmOiJCTuKAouKAouKAojAwMDYiLGFjY291bnRfc3VmZml4OiIwMDA2Iixtb2RlOmUoImxpdmUiKSxkb21haW5zOlsiY3J5cHRvIl0sY3VycmVudF9zdHJhdGVneTplKHtwcm9maWxlOiJjcnlwdG9fYnRjX2RjYSIsbGFiZWw6IkJUQyBEQ0EifSksZXhlY3V0aW9uX21vZGVzOlsiZHJ5X3J1biIsInBhcGVyIiwibGl2ZSJdLHN3aXRjaGFibGU6e2FsbG93ZWQ6ITEscmVhc29uX2NvZGU6InN3aXRjaF9ub3RfY29ubmVjdGVkIn0scGVuZGluZ19yZXF1ZXN0X2lkOm51bGwsc3RvcDp7c3VwcG9ydGVkOiExLHJlc3VtZV9zdXBwb3J0ZWQ6ITF9fSksbyh7dGFyZ2V0X2lkOiJmaXJzdHJhZGUvaW5jb21lIixwbGF0Zm9ybToiZmlyc3RyYWRlIixwbGF0Zm9ybV9sYWJlbDoiRmlyc3RyYWRlIixhY2NvdW50X3JlZjoiRuKAouKAouKAojAwMDQiLGFjY291bnRfc3VmZml4OiIwMDA0Iixtb2RlOmUoImxpdmUiKSxkb21haW5zOlsidXNfZXF1aXR5Il0sY3VycmVudF9zdHJhdGVneTplKHtwcm9maWxlOiJydXNzZWxsX3RvcDUwX2xlYWRlcl9yb3RhdGlvbiIsbGFiZWw6IlJ1c3NlbGwgVG9wIDUwIExlYWRlciBSb3RhdGlvbiJ9KSxleGVjdXRpb25fbW9kZXM6WyJkcnlfcnVuIiwicGFwZXIiLCJsaXZlIl0sc3dpdGNoYWJsZTp7YWxsb3dlZDohMSxyZWFzb25fY29kZToic3dpdGNoX25vdF9jb25uZWN0ZWQifSxwZW5kaW5nX3JlcXVlc3RfaWQ6bnVsbCxzdG9wOntzdXBwb3J0ZWQ6ITAscmVzdW1lX3N1cHBvcnRlZDohMH19KV19LF89ey4uLnQsdGFyZ2V0czpbdC50YXJnZXRzWzBdLHsuLi50LnRhcmdldHNbMV0sbW9kZTp7c3RhdHVzOiJ1bmtub3duIixyZWFzb246InJlYWRfZmFpbGVkIixvYnNlcnZlZF9hdDpudWxsfSxjdXJyZW50X3N0cmF0ZWd5OntzdGF0dXM6InVua25vd24iLHJlYXNvbjoiaWRlbnRpdHlfdW52ZXJpZmllZCIsb2JzZXJ2ZWRfYXQ6bnVsbH0sc3dpdGNoYWJsZTp7YWxsb3dlZDohMSxyZWFzb25fY29kZToiaWRlbnRpdHlfaW5jb21wbGV0ZSJ9fSx0LnRhcmdldHNbMl0sdC50YXJnZXRzWzNdLHQudGFyZ2V0c1s0XSx0LnRhcmdldHNbNV1dfSxpPXsuLi50LHRhcmdldHM6W119O2V4cG9ydHtfIGFzIGRlZ3JhZGVkLGkgYXMgZW1wdHksdCBhcyBva307Cg==" }, "/v2/assets/ticks-BcWawM4d.js": { contentType: "text/javascript; charset=utf-8", base64: "Y29uc3QgcD1bMSwyLDIuNSw1LDEwXTtmdW5jdGlvbiB4KGUpe2lmKCEoZT4wKXx8IU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gMTtjb25zdCByPTEwKipNYXRoLmZsb29yKE1hdGgubG9nMTAoZSkpLG49ZS9yO3JldHVybihwLmZpbmQoYT0+bjw9YSk/PzEwKSpyfWZ1bmN0aW9uIE4oZSl7bGV0IHI9TWF0aC5tYXgoMCwtTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSk7Y29uc3Qgbj1lKjEwKipyO3JldHVybiBNYXRoLmFicyhuLU1hdGgucm91bmQobikpPjFlLTkmJihyKz0xKSxNYXRoLm1pbihyLDQpfWZ1bmN0aW9uIGYoZSxyKXtjb25zdCBuPTEwKipyLGk9TWF0aC5yb3VuZChlKm4pL247cmV0dXJuIE9iamVjdC5pcyhpLC0wKT8wOml9ZnVuY3Rpb24gYihlLHI9NCl7Y29uc3Qgbj1lLmZpbHRlcihvPT5OdW1iZXIuaXNGaW5pdGUobykpO2lmKG4ubGVuZ3RoPT09MClyZXR1cm57bWluOi0xLG1heDoxLHN0ZXA6LjUsZGlnaXRzOjEsdGlja3M6Wy0xLC0uNSwwLC41LDFdfTtsZXQgaT1NYXRoLm1pbigwLC4uLm4pLGE9TWF0aC5tYXgoMCwuLi5uKTtpZihpPT09YSlpPS0xLGE9MTtlbHNle2NvbnN0IG89KGEtaSkqLjA1LG09bi5ldmVyeSh1PT51Pj0wKSxnPW4uZXZlcnkodT0+dTw9MCk7aT1tPzA6aS1vLGE9Zz8wOmErb31jb25zdCBNPU1hdGgubWF4KDIscik7bGV0IHQ9eCgoYS1pKS9NKSxzPU1hdGguZmxvb3IoaS90KSp0LGM9TWF0aC5jZWlsKGEvdCkqdDtmb3IobGV0IG89MDtvPDgmJihjLXMpL3Q+TSszO28rKyl0Kj0yLHM9TWF0aC5mbG9vcihpL3QpKnQsYz1NYXRoLmNlaWwoYS90KSp0O2NvbnN0IGw9Tih0KSxoPVtdLGQ9TWF0aC5yb3VuZCgoYy1zKS90KTtmb3IobGV0IG89MDtvPD1kO28rKyloLnB1c2goZihzK28qdCxsKSk7cmV0dXJue21pbjpzLG1heDpjLHN0ZXA6Zih0LGwpLGRpZ2l0czpsLHRpY2tzOmh9fWV4cG9ydHtiIGFzIG59Owo=" }, "/v2/assets/qsl-brand-icon.svg": { contentType: "image/svg+xml", base64: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+CiAgPHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiByeD0iMTQiIGZpbGw9IiMyNTYzRUIiLz4KICA8cGF0aCBkPSJNMTQgNDIgTDI2IDMwIEwzNCAzNiBMNTAgMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjIwIiByPSI0IiBmaWxsPSIjRkZGRkZGIi8+CiAgPHBhdGggZD0iTTE0IDUwIEg1MCIgc3Ryb2tlPSIjOTNDNUZEIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K" }, }); From af91541d27b27f97a9eaba21e8d05aee73047ab3 Mon Sep 17 00:00:00 2001 From: "Qoder (Qwen)" Date: Wed, 4 Nov 2026 23:03:48 +0800 Subject: [PATCH 3/6] fix(frontend): QRS #1074 F1-F4 Meridian acceptance repairs --- .../console_desk_p1_acceptance_validation.mjs | 412 ++++++++++++++++++ .../frontend/package.json | 2 +- .../frontend/src/desk/DeskApp.tsx | 49 ++- .../src/desk/components/FlexRotationCard.tsx | 95 ++-- .../src/desk/components/deskStyles.ts | 19 +- .../src/desk/credentials/CredentialTable.tsx | 138 ++++++ .../frontend/src/desk/credentials/rotation.ts | 59 +++ .../frontend/src/desk/credentials/table.ts | 87 ++++ .../frontend/src/desk/i18n/en.ts | 78 +++- .../frontend/src/desk/i18n/zh-CN.ts | 78 +++- .../frontend/src/desk/pages/AccountsPage.tsx | 7 +- .../frontend/src/desk/pages/AuthPage.tsx | 17 +- .../src/desk/pages/CredentialsTab.tsx | 133 +++--- .../src/desk/pages/StrategiesPage.tsx | 96 +++- .../frontend/src/desk/shell/DeskShell.tsx | 28 +- .../frontend/src/desk/shell/Dock.tsx | 51 ++- .../frontend/src/desk/shell/TopBar.tsx | 47 +- .../frontend/src/desk/styles/desk.css | 12 + web/strategy-switch-console/v2_asset_map.js | 46 +- 19 files changed, 1210 insertions(+), 244 deletions(-) create mode 100644 tests/console_desk_p1_acceptance_validation.mjs create mode 100644 web/strategy-switch-console/frontend/src/desk/credentials/CredentialTable.tsx create mode 100644 web/strategy-switch-console/frontend/src/desk/credentials/rotation.ts create mode 100644 web/strategy-switch-console/frontend/src/desk/credentials/table.ts diff --git a/tests/console_desk_p1_acceptance_validation.mjs b/tests/console_desk_p1_acceptance_validation.mjs new file mode 100644 index 00000000..da612d24 --- /dev/null +++ b/tests/console_desk_p1_acceptance_validation.mjs @@ -0,0 +1,412 @@ +// Desk (Meridian) P1 acceptance: the F1–F4 findings, checked against rendered markup and the pure +// models behind it — urgency ordering, summary chips, legend and disabled explanations (F1); the +// switch-not-wired banner, its entries and the inert read-back actions (F2); the locked 401/403 +// shell (F3); one Flex status feeding both the card and the embedded panel (F4). +// Synthetic fixtures only: every identifier below is invented (fake-broker, cred_fake_*). +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { createRequire } from "node:module"; +import { join } from "node:path"; +import { + credentialAction, credentialSummary, flexCredential, sortCredentials, urgencyKey, +} from "../web/strategy-switch-console/frontend/src/desk/credentials/table.ts"; +import { flexPanelRead, maintenancePhase } from "../web/strategy-switch-console/frontend/src/desk/credentials/rotation.ts"; +import { DESK_MESSAGES, deskTranslate } from "../web/strategy-switch-console/frontend/src/desk/i18n/index.ts"; +import { formatDateTime } from "../web/strategy-switch-console/frontend/src/lib/format.ts"; + +const src = path => readFileSync(new URL(`../web/strategy-switch-console/frontend/src/desk/${path}`, import.meta.url), "utf8"); +const copy = (language, key, params) => deskTranslate(language, key, params); +const esc = value => String(value).replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +const values = (html, name) => [...html.matchAll(new RegExp(`${name}="([^"]*)"[^>]*`, "g"))].map(match => match[1]); + +// ------------------------------------------------------------------ F1: the ordering model +const READ_AT = "2026-11-03T12:00:00Z"; +const DAY = 86_400_000; +const at = days => new Date(Date.parse(READ_AT) + days * DAY).toISOString(); + +const credential = (id, over = {}) => ({ + id, + platform: "fake-broker", + label: `Credential ${id}`, + kind: "api_key", + expiry: { status: "known", at: at(60), source: "platform" }, + limit_days: 90, + phase: "not_due", + requires_action: false, + rotation: { supported: true, route: "#/desk/accounts?tab=credentials" }, + runbook: null, + last_rotated_at: "2026-08-01T12:00:00Z", + ...over, +}); + +const FLEX = credential("cred_fake_flex", { + platform: "fake-flex", + kind: "flex_token", + phase: "7", + requires_action: true, + expiry: { status: "known", at: at(5), source: "flex_metadata" }, +}); +const UNREADABLE = credential("cred_fake_unreadable", { + phase: "unknown", + rotation: { supported: false, route: null }, + expiry: { status: "unknown", reason: "read_failed" }, +}); +const NEVER = credential("cred_fake_never", { + kind: "password", + rotation: { supported: false, route: null }, + expiry: { status: "none" }, +}); +const UNREADABLE_FLEX = credential("cred_fake_flex_unreadable", { + platform: "fake-flex", + kind: "flex_token", + phase: "unknown", + rotation: { supported: false, route: null }, + expiry: { status: "unknown", reason: "read_failed" }, +}); +// Deliberately not in urgency order, so a render that follows the fixture order fails. +const ITEMS = [ + credential("cred_fake_far", { expiry: { status: "known", at: at(90), source: "platform" } }), + UNREADABLE, + credential("cred_fake_expired", { phase: "expired", requires_action: true, expiry: { status: "known", at: at(-4), source: "platform" } }), + NEVER, + credential("cred_fake_tomorrow", { kind: "oauth_refresh", phase: "1", requires_action: true, expiry: { status: "known", at: at(1), source: "platform" } }), + FLEX, +]; + +assert.deepEqual(sortCredentials(ITEMS).map(item => item.id), [ + "cred_fake_expired", "cred_fake_tomorrow", "cred_fake_flex", "cred_fake_far", "cred_fake_unreadable", "cred_fake_never", +], "most urgent first, and never fixture order"); +assert.equal(sortCredentials(ITEMS).length, ITEMS.length, "ordering never hides a credential"); +assert.deepEqual(ITEMS.map(item => item.id)[0], "cred_fake_far", "the input array is not mutated"); + +assert.deepEqual(urgencyKey(credential("x", { expiry: { status: "known", at: "not-a-time", source: "platform" } })), + { group: "unreadable", at: null }, "a known expiry with no usable instant is unreadable, not distant"); +assert.deepEqual(urgencyKey(credential("x", { expiry: { status: "none" } })), { group: "none", at: null }); +assert.deepEqual(urgencyKey(credential("x", { expiry: { status: "unknown", reason: "never_read" } })), { group: "unreadable", at: null }); +assert.deepEqual(urgencyKey(FLEX), { group: "known", at: Date.parse(at(5)) }); +// Equal instants keep the backend's order. +assert.deepEqual(sortCredentials([credential("a", { phase: "30" }), credential("b", { phase: "30" })]).map(item => item.id), ["a", "b"]); + +assert.deepEqual(credentialSummary(ITEMS), { brokers: 2, total: 6, due: 3, known: 4, none: 1, unknown: 1 }); +assert.deepEqual(credentialSummary([]), { brokers: 0, total: 0, due: 0, known: 0, none: 0, unknown: 0 }); +assert.equal(credentialSummary([credential("a", { phase: "30" }), UNREADABLE, credential("b", { phase: "not_due" })]).due, 0, + "30 days, unknown and not-due are not due"); +assert.equal(credentialSummary([credential("a", { phase: "14" })]).due, 0, "the legacy 14 bucket is not a reminder"); + +assert.deepEqual(credentialAction(FLEX), { kind: "rotate", label: "credentials.action.rotate" }); +assert.deepEqual(credentialAction(credential("x", { rotation: { supported: true, route: null } })), { kind: "blocked", reason: "no_route" }); +assert.deepEqual(credentialAction(credential("x", { rotation: { supported: false, route: "#/desk/health" } })), { kind: "blocked", reason: "no_route" }); +assert.deepEqual(credentialAction(NEVER), { kind: "blocked", reason: "nothing_to_rotate" }); +assert.equal(flexCredential(ITEMS).id, FLEX.id); +assert.equal(flexCredential([credential("x")]), null); + +// ------------------------------------------------------------------ F4: one status, two renderings +assert.equal(maintenancePhase("1"), "7", "the panel has no 1-day bucket"); +for (const phase of ["not_due", "30", "7", "expired", "unknown"]) assert.equal(maintenancePhase(phase), phase); + +assert.deepEqual(flexPanelRead([credential("x")], READ_AT), { kind: "absent" }); +assert.deepEqual(flexPanelRead([], READ_AT), { kind: "absent" }); + +const unreadableRead = flexPanelRead([UNREADABLE, UNREADABLE_FLEX], READ_AT); +assert.equal(unreadableRead.kind, "unreadable"); +assert.equal(unreadableRead.item.kind, "flex_token", "the Flex credential is the one reported unreadable"); +assert.equal("envelope" in unreadableRead, false, "an unreadable credential gets no fabricated envelope"); +assert.equal("maintenance" in unreadableRead, false); + +const ready = flexPanelRead(ITEMS, READ_AT); +assert.equal(ready.kind, "ready"); +assert.equal(ready.envelope.metadata.name, FLEX.id); +assert.equal(ready.envelope.metadata.last_rotated_at, FLEX.last_rotated_at); +assert.equal(ready.envelope.metadata.expires_at, FLEX.expiry.at); +assert.equal(ready.envelope.server_time, READ_AT, "the panel clock is the read's own instant"); +assert.equal(ready.maintenance.id, FLEX.id); +assert.equal(ready.maintenance.expires_at, FLEX.expiry.at); +assert.equal(ready.maintenance.phase, "7", "the desk phase reaches the panel unchanged"); +assert.equal(ready.maintenance.requires_action, FLEX.requires_action); +assert.equal(ready.maintenance.delivery, "unknown", "the credentials read has no delivery dimension"); +assert.equal(ready.envelope.operation, null, "the desk offers no rotation write"); +assert.deepEqual(ready.envelope.allowed_actions, []); +// Fail-before: the panel used to carry its own invented 30-day state. +assert.equal(flexPanelRead([credential("cred_fake_flex", { kind: "flex_token", phase: "not_due" })], READ_AT).maintenance.phase, "not_due"); +assert.equal(flexPanelRead([credential("cred_fake_flex", { kind: "flex_token", expiry: { status: "none" } })], READ_AT).envelope.metadata.expires_at, null, + "an explicit no-expiry stays a fact, not an unknown"); + +// ------------------------------------------------------------------ bundle the desk once +const frontend = new URL("../web/strategy-switch-console/frontend/", import.meta.url).pathname; +const require = createRequire(join(frontend, "package.json")); +const h = require("react").createElement; +const renderToStaticMarkup = require("react-dom/server").renderToStaticMarkup; +const compiled = require("esbuild").buildSync({ + stdin: { + resolveDir: join(frontend, "src"), + loader: "tsx", + contents: ` + export { CredentialsBody } from "./desk/pages/CredentialsTab"; + export { CredentialTable, CredentialLegend, CredentialSummaryChips, daysLeft } from "./desk/credentials/CredentialTable"; + export { FlexRotationCard } from "./desk/components/FlexRotationCard"; + export { StrategiesPage, TargetRow } from "./desk/pages/StrategiesPage"; + export { TopBar } from "./desk/shell/TopBar"; + export { Dock } from "./desk/shell/Dock"; + export { AuthPage } from "./desk/pages/AuthPage"; + export { I18nProvider } from "./i18n"; + export { default as RotationPanel } from "./pages/health/CredentialRotationPanel"; + `, + }, + bundle: true, platform: "node", format: "cjs", jsx: "automatic", logLevel: "silent", + loader: { ".css": "empty" }, + external: ["react", "react-dom", "react-dom/server", "react/jsx-runtime"], + write: false, +}).outputFiles[0].text; +const desk = { exports: {} }; +new Function("require", "module", "exports", compiled)(require, desk, desk.exports); +const { + CredentialsBody, FlexRotationCard, StrategiesPage, TargetRow, TopBar, Dock, AuthPage, I18nProvider, RotationPanel, +} = desk.exports; + +const render = element => renderToStaticMarkup(element); +/** The markup of the element carrying `attribute`, so nesting is asserted rather than guessed. */ +function region(html, attribute) { + const marker = html.indexOf(attribute); + assert.ok(marker >= 0, `no ${attribute} region`); + const open = html.lastIndexOf("<", marker); + const voids = new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "source", "track", "wbr"]); + let depth = 0; + for (const match of html.slice(open).matchAll(/<\/?([a-zA-Z][\w-]*)[^>]*?>/g)) { + if (match[0].startsWith("")) depth += 1; + if (depth === 0) return html.slice(open, open + match.index + match[0].length); + assert.ok(depth >= 0, `unbalanced markup before ${attribute}`); + } + throw new Error(`unbalanced ${attribute}`); +} + +// Day counts come from the read instant, never from the machine clock. +const { daysLeft } = desk.exports; +assert.equal(daysLeft(at(2), READ_AT), 2); +assert.equal(daysLeft(at(0.5), READ_AT), null, "a part day is not shown as a full day"); +assert.equal(daysLeft(at(-1), READ_AT), null, "days left are never negative"); +assert.equal(daysLeft("not-a-time", READ_AT), null); +assert.equal(daysLeft(at(3), "not-a-time"), null); + +// ------------------------------------------------------------------ F1 + F4: the credentials page +for (const language of ["zh", "en"]) { + const t = (key, params) => copy(language, key, params); + const data = { ok: true, schema_version: "qsl.desk.credentials.v1", generated_at: READ_AT, items: ITEMS }; + const html = render(h(CredentialsBody, { data, mock: false, t, language, reload: () => {} })); + + // Title and summary: the count is stated, not implied by a colour. + assert.match(html, /

[^<]*3[^<]*<\/em>/, "the headline states the due count"); + assert.deepEqual(values(html, "data-summary"), ["due", "known", "none", "unknown"]); + for (const [key, count] of [["due", 3], ["known", 4], ["none", 1], ["unknown", 1]]) { + assert.match(html, new RegExp(`data-summary="${key}"[^>]*>[^<]*${esc(copy(language, `credentials.chip.${key}`, { count }))}`)); + } + assert.match(html, new RegExp(esc(copy(language, "credentials.summary.meta", { brokers: 2, total: 6 })))); + + // The table itself: sorted rows, urgency carried as data, the legend explaining all three states. + assert.deepEqual(values(html, "data-credential-id"), [ + "cred_fake_expired", "cred_fake_tomorrow", "cred_fake_flex", "cred_fake_far", "cred_fake_unreadable", "cred_fake_never", + ], "rendered rows follow urgency order in both languages"); + assert.deepEqual(values(html, "data-urgency"), ["expired", "due", "due", "calm", "unknown", "calm"]); + assert.deepEqual(values(html, "data-legend-state"), ["known", "none", "unknown"]); + assert.ok(html.includes(copy(language, "credentials.legend.unknown.body")), "the unknown legend is rendered"); + assert.match(html, new RegExp(`class="mrd-why">${esc("rotation.supported=false")}`)); + assert.match(html, new RegExp(`class="mrd-why">${esc("expiry.status=none")}`)); + assert.deepEqual(values(html, "data-credential-action"), ["rotate", "rotate", "rotate", "rotate", "no_route", "nothing_to_rotate"]); + const cells = [...html.matchAll(/]*data-credential-action[^>]*>/g)]; + assert.equal(cells.length, 0, "the action marker sits on the control itself"); + const blocked = [...html.matchAll(/]*data-credential-action="(no_route|nothing_to_rotate)"[^>]*>/g)].map(match => match[0]); + assert.equal(blocked.length, 2); + for (const tag of blocked) { + assert.match(tag, / disabled=""/, "a blocked action is genuinely disabled, not styled only"); + assert.match(tag, /title="(rotation\.supported=false|expiry\.status=none)"/, "and names the field behind it"); + } + assert.equal((html.match(/data-credential-action="rotate"/g) || []).length, 4); + // The unreadable row shows ? and its reason: never 0 days, never "stopped". + const unknownRow = html.slice(html.indexOf('data-credential-id="cred_fake_unreadable"'), html.indexOf('data-credential-id="cred_fake_never"')); + assert.doesNotMatch(unknownRow, new RegExp(esc(copy(language, "credentials.days_left", { days: 0 })))); + assert.ok(unknownRow.includes("?"), "an unreadable expiry keeps its unknown mark"); + + // Rotation sits beside the table, not under it. + const split = region(html, 'class="mrd-split"'); + assert.ok(split.includes('class="mrd-table"'), "the table is inside the split"); + assert.ok(split.includes('data-flex-credential="cred_fake_flex"'), "the rotation card is inside the same split"); + assert.ok(split.indexOf('class="mrd-table"') < split.indexOf("data-flex-credential"), "the panel is the second column"); + const css = src("styles/desk.css"); + assert.match(css, /\.mrd-split \{ display: grid; grid-template-columns: minmax\(0, 1fr\) 420px;/, "two real columns"); + assert.match(css, /\.mrd-split \{ grid-template-columns: minmax\(0, 1fr\); \}/, "which stack on narrow screens"); + + // F4: the card and the embedded panel are fed by the same read. + const card = render(h(FlexRotationCard, { t, language, items: ITEMS, generatedAt: READ_AT })); + assert.match(card, /data-flex-credential="cred_fake_flex"/); + assert.match(card, /class="mrd-embed-label"/, "the frame labels the embedded component"); + assert.ok(card.includes(copy(language, "credentials.panel.credential", { platform: FLEX.platform, kind: copy(language, `credential.kind.${FLEX.kind}`) }))); + const panel = render(h(I18nProvider, { language }, + h(RotationPanel, { + rotation: { phase: "ready", data: ready.envelope, error: null, reload: () => {} }, + reminder: { phase: "ready", data: ready.maintenance, error: null, reload: () => {} }, + confirm: async () => false, + onRotated: () => {}, + }))); + assert.ok(panel.includes(`
${esc(FLEX.id)}
`), "the panel names the same credential"); + for (const value of [FLEX.last_rotated_at, FLEX.expiry.at]) { + assert.match(panel, new RegExp(`class="rotation-stamp">[^<]*${esc(formatDateTime(value, language, true).text)}`), + "the panel prints the very date the card reads"); + } + assert.equal(panel.includes('data-empty="true"'), false, "a known value is never rendered as absent"); + + const unreadableCard = render(h(FlexRotationCard, { t, language, items: [UNREADABLE_FLEX], generatedAt: READ_AT })); + assert.match(unreadableCard, /role="status"/); + assert.equal(unreadableCard.includes("rotation-stamp"), false, "no dates without a readable credential"); + assert.equal(unreadableCard.includes("mrd-rotation"), false, "no write entry without a readable credential"); + assert.ok(unreadableCard.includes(copy(language, "read.reason.read_failed"))); + const absentCard = render(h(FlexRotationCard, { t, language, items: [credential("cred_fake_oauth", { kind: "oauth_refresh" })], generatedAt: READ_AT })); + assert.ok(absentCard.includes(copy(language, "credentials.panel.absent"))); + assert.equal(absentCard.includes(copy(language, "credentials.panel.unreadable")), false, "absent and unreadable stay distinct"); +} + +// ------------------------------------------------------------------ F2: the switch entries +const target = (over = {}) => ({ + target_id: "fake-broker/core", + platform: "fake-broker", + platform_label: "Fake Broker", + account_ref: "acct-0001", + account_suffix: "01", + mode: { status: "known", value: "paper" }, + domains: ["trend"], + current_strategy: { status: "known", value: { profile: "trend_break", label: "Trend Break" } }, + execution_modes: ["paper"], + switchable: { allowed: true, reason_code: null }, + pending_request_id: null, + stop: { supported: false, resume_supported: false }, + ...over, +}); + +for (const language of ["zh", "en"]) { + const t = (key, params) => copy(language, key, params); + const open = render(h(TargetRow, { target: target(), selected: false, onSelect: () => {}, t, language })); + assert.match(open, /data-switchable="true"/); + assert.match(open, / {}, t, language })); + assert.match(blockedRow, /data-switchable="false"/); + assert.equal(blockedRow.includes('data-action="open-switch"'), false, "a target that cannot switch offers no live entry"); + const deadSwitch = blockedRow.match(/]*data-action="switch-disabled"[^>]*>/g); + assert.equal(deadSwitch.length, 1); + assert.match(deadSwitch[0], / disabled=""/, "the disabled state is the control's, not a paint job"); + assert.match(deadSwitch[0], /title="switch_not_connected"/); + assert.ok(blockedRow.includes(copy(language, "strategies.reason.switch_not_connected")), "the reason is translated"); + // Browsing and previewing stay available; only the write is inert. + assert.ok(/aria-pressed="false"/.test(blockedRow)); + + // An unknown reason code from a newer backend still explains itself rather than blanking out. + const novel = render(h(TargetRow, { target: target({ switchable: { allowed: false, reason_code: "brand_new_reason" } }), selected: false, onSelect: () => {}, t, language })); + assert.equal(novel.includes('data-action="open-switch"'), false, "fail closed on an unknown reason"); + assert.match(novel, /brand_new_reason/); + assert.equal(novel.includes(copy(language, "strategies.target.switchable")), false); + + // The page itself: banner, inert read-back actions and the switch-flow entry. + const never = () => new Promise(() => {}); + const page = render(h(StrategiesPage, { api: { switchTargets: never, switchStrategies: never }, t, language, admin: true, initialTarget: null })); + const banner = region(page, 'data-banner="switch-not-connected"'); + assert.ok(banner.includes("switch_not_connected"), "the banner names the reason code"); + assert.ok(banner.includes(copy(language, "strategies.banner.title"))); + assert.ok(banner.includes(copy(language, "strategies.banner.body"))); + assert.ok(page.indexOf('data-banner="switch-not-connected"') < page.indexOf('id="mrd-running-title"'), "the policy is stated before the targets"); + for (const action of ["reapply-saved", "adopt-platform"]) { + const tag = page.match(new RegExp(`]*data-action="${action}"[^>]*>`)); + assert.ok(tag, `the read-back action ${action} is offered`); + assert.match(tag[0], / disabled=""/, `${action} cannot be clicked`); + assert.match(tag[0], /title="not_enabled"/); + } + assert.equal(/data-action="(reapply-saved|adopt-platform)"[^>]*aria-disabled="false"/.test(page), false); + const flow = page.match(/]*data-action="open-switch-flow"[^>]*>/); + assert.ok(flow && !/ disabled=""/.test(flow[0]), "the switch flow stays reachable"); + assert.ok(page.includes('id="mrd-switch-flow"'), "and there is a flow for it to reach"); + assert.match(page.match(/]*data-action="confirm-entry"[^>]*>/)[0], / disabled=""/, "confirming is not an entry point"); +} + +// ------------------------------------------------------------------ F3: the locked shell +const gateway = { kind: "read", read: { status: "known", value: "all_reachable", observed_at: "2026-11-03T12:00:00Z" } }; +for (const language of ["zh", "en"]) { + const t = (key, params) => copy(language, key, params); + const base = { + page: "overview", t, language, theme: "light", gateway, + nowIso: "2026-11-03T12:00:00Z", serverClock: true, mock: "ok", + freshness: { kind: "read", data_status: "ready", age_seconds: 60 }, + onLanguage: () => {}, onTheme: () => {}, + }; + const open = render(h(TopBar, base)); + assert.ok(open.includes(copy(language, "gateway.all_reachable")), "the unlocked bar does carry gateway data"); + assert.match(open, /data-freshness="ready"/); + assert.match(open, /class="mrd-chip mrd-clock"/); + + for (const [kind, lock] of [ + ["login", { crumb: "access.title", chip: "access.chip.login" }], + ["denied", { crumb: "access.denied_title", chip: "access.chip.denied" }], + ["error", { crumb: "access.error_title", chip: "access.chip.error" }], + ]) { + const locked = render(h(TopBar, { ...base, lock })); + assert.match(locked, new RegExp(`data-locked="${lock.chip}"`)); + assert.ok(locked.includes(copy(language, lock.chip))); + assert.ok(locked.includes(copy(language, lock.crumb)), "the crumb names the state, not the page"); + assert.equal(locked.includes(copy(language, "gateway.all_reachable")), false, `${kind}: no gateway claim`); + assert.equal(locked.includes("data-freshness"), false, `${kind}: no freshness claim`); + assert.equal(locked.includes("mrd-clock"), false, `${kind}: no clock data`); + assert.equal(locked.includes("mrd-chip-mock"), false, `${kind}: no mock badge`); + assert.equal(locked.match(/role="status"/g).length, 1, `${kind}: exactly one status, and it is the lock`); + // The shell still works: language and theme stay available. + assert.match(locked, /class="mrd-seg"/); + assert.match(locked, /class="mrd-chip mrd-icon-button"/); + } + + const dock = render(h(Dock, { page: "overview", t, alertCount: 7, onNavigate: () => {} })); + assert.equal((dock.match(/ {} })); + assert.equal(lockedDock.includes(" {}, onSignOut: () => {} })); + assert.match(denied, / + {reason} + + ); +} + +export function CredentialTable({ items, generatedAt, t, language }: { + items: readonly CredentialItem[]; + /** The read's own server instant: day counts never come from the browser clock. */ + generatedAt: string; + t: DeskTranslate; + language: Language; +}) { + return ( +
+ + + + + {(["broker", "credential", "expiry", "phase", "rotated", "action"] as const).map(head => ( + + ))} + + + + {sortCredentials(items).map(item => { + const view = credentialExpiryView(item.expiry, item.phase, t, language); + const urgency = rowUrgency(item); + const rotated = item.last_rotated_at ? formatCredentialAt(item.last_rotated_at, language) : null; + const days = item.expiry.status === "known" ? daysLeft(item.expiry.at, generatedAt) : null; + return ( + + + + + + + + + ); + })} + +
{t("credentials.table.title")}
{t(`credentials.col.${head}` as DeskKey)}
+ {item.label} + {item.platform} + + {t(`credential.kind.${item.kind}` as DeskKey)} + {item.kind} + + {view.mark} + {days === null ? view.detail : `${view.detail} · ${t("credentials.days_left", { days })}`} + {phaseLabel(view.phase, t)}{rotated ?? t("credentials.list.never_rotated")}
+
+ ); +} + +/** Whole days left between the read instant and the expiry; null when either is unusable or spent. */ +export function daysLeft(at: string, readAt: string): number | null { + const expiry = Date.parse(at); + const read = Date.parse(readAt); + if (!Number.isFinite(expiry) || !Number.isFinite(read)) return null; + const days = Math.floor((expiry - read) / 86_400_000); + return days > 0 ? days : null; +} + +export function CredentialLegend({ t }: { t: DeskTranslate }) { + const entries = [ + { id: "known", tone: "ok" as const }, + { id: "none", tone: "ok" as const }, + { id: "unknown", tone: "unknown" as const }, + ]; + return ( +
+ {entries.map(entry => ( +
+ {t(`credentials.legend.${entry.id}.title` as DeskKey)} +

{t(`credentials.legend.${entry.id}.body` as DeskKey)}

+
+ ))} +
+ ); +} diff --git a/web/strategy-switch-console/frontend/src/desk/credentials/rotation.ts b/web/strategy-switch-console/frontend/src/desk/credentials/rotation.ts new file mode 100644 index 00000000..8100c5b1 --- /dev/null +++ b/web/strategy-switch-console/frontend/src/desk/credentials/rotation.ts @@ -0,0 +1,59 @@ +/** + * Feeds the embedded IBKR Flex rotation panel from the desk credentials read. + * + * The panel used to carry its own invented metadata, so the card above it and the + * panel below it could disagree about the same credential. Both now come from one + * `CredentialItem`: same expiry, same last-rotation instant, same phase. + * + * The panel's vocabulary cannot express "could not be read" (`expires_at: null` means + * "does not expire"), so an unknown expiry does not get a fabricated value: the caller + * gets an unavailable state and renders it explicitly. + */ +import type { CredentialRotationEnvelope } from "../../api/contracts"; +import { CREDENTIAL_ROTATION_SCHEMA_VERSION } from "../../api/contracts.ts"; +import type { CredentialMaintenance } from "../../api/endpoints"; +import type { CredentialItem, CredentialPhase } from "../contract/types"; + +export type FlexPanelRead = + | { kind: "absent" } + | { kind: "unreadable"; item: CredentialItem } + | { kind: "ready"; item: CredentialItem; envelope: CredentialRotationEnvelope; maintenance: CredentialMaintenance }; + +/** + * `CredentialMaintenance` has no 1-day bucket. One day is inside seven days, so the + * wider bucket stays true; the desk's own card keeps the precise phase label. + */ +export function maintenancePhase(phase: CredentialPhase): CredentialMaintenance["phase"] { + return phase === "1" ? "7" : phase; +} + +export function flexPanelRead(items: readonly CredentialItem[], generatedAt: string): FlexPanelRead { + const item = items.find(entry => entry.kind === "flex_token"); + if (!item) return { kind: "absent" }; + if (item.expiry.status === "unknown") return { kind: "unreadable", item }; + return { + kind: "ready", + item, + envelope: { + schema_version: CREDENTIAL_ROTATION_SCHEMA_VERSION, + ok: true, + server_time: generatedAt, + metadata: { + name: item.id, + last_rotated_at: item.last_rotated_at, + expires_at: item.expiry.status === "known" ? item.expiry.at : null, + }, + // The desk offers no rotation write: no operation and no allowed action. + operation: null, + allowed_actions: [], + }, + maintenance: { + id: item.id, + expires_at: item.expiry.status === "known" ? item.expiry.at : null, + phase: maintenancePhase(item.phase), + requires_action: item.requires_action, + // The credentials read has no delivery dimension; unknown is not "not_reserved". + delivery: "unknown", + }, + }; +} diff --git a/web/strategy-switch-console/frontend/src/desk/credentials/table.ts b/web/strategy-switch-console/frontend/src/desk/credentials/table.ts new file mode 100644 index 00000000..9b7e56f4 --- /dev/null +++ b/web/strategy-switch-console/frontend/src/desk/credentials/table.ts @@ -0,0 +1,87 @@ +/** + * The Credentials table model: urgency ordering, summary chips and the per-row + * action set. Pure, so the rules are testable without a DOM. + * + * Ordering is "most urgent first" and never hides an item: credentials with a + * readable expiry sort by the instant they expire (earliest first), then the ones + * that could not be read, then the ones the platform says never expire. The sort is + * stable, so items that tie keep the backend's order. + */ +import type { CredentialItem } from "../contract/types"; + +export type UrgencyGroup = "known" | "unreadable" | "none"; + +export interface UrgencyKey { + group: UrgencyGroup; + /** Expiry instant in ms for a readable expiry; null otherwise. */ + at: number | null; +} + +export function urgencyKey(item: CredentialItem): UrgencyKey { + if (item.expiry.status === "none") return { group: "none", at: null }; + if (item.expiry.status === "unknown") return { group: "unreadable", at: null }; + const at = Date.parse(item.expiry.at); + // An expiry that claims to be known but carries no usable instant is unreadable, not distant. + return Number.isFinite(at) ? { group: "known", at } : { group: "unreadable", at: null }; +} + +const GROUP_ORDER: Record = { known: 0, unreadable: 1, "none": 2 }; + +/** Stable most-urgent-first sort; the input array is never mutated. */ +export function sortCredentials(items: readonly CredentialItem[]): CredentialItem[] { + return items + .map((item, index) => ({ item, index, key: urgencyKey(item) })) + .sort((left, right) => { + const group = GROUP_ORDER[left.key.group] - GROUP_ORDER[right.key.group]; + if (group !== 0) return group; + if (left.key.at !== null && right.key.at !== null && left.key.at !== right.key.at) return left.key.at - right.key.at; + return left.index - right.index; + }) + .map(entry => entry.item); +} + +export interface CredentialSummary { + brokers: number; + total: number; + /** 7, 1 and expired: the phases that raise a Needs-you item. */ + due: number; + known: number; + none: number; + unknown: number; +} + +export function credentialSummary(items: readonly CredentialItem[]): CredentialSummary { + const platforms = new Set(); + const summary: CredentialSummary = { brokers: 0, total: items.length, due: 0, known: 0, none: 0, unknown: 0 }; + for (const item of items) { + platforms.add(item.platform); + if (item.phase === "7" || item.phase === "1" || item.phase === "expired") summary.due += 1; + if (item.expiry.status === "known") summary.known += 1; + else if (item.expiry.status === "none") summary.none += 1; + else summary.unknown += 1; + } + summary.brokers = platforms.size; + return summary; +} + +/** Why a row has no usable rotation action. */ +export type RotationBlock = "nothing_to_rotate" | "no_route"; + +export type CredentialAction = + | { kind: "rotate"; label: "credentials.action.rotate" } + | { kind: "blocked"; reason: RotationBlock }; + +/** + * C5: an offered rotation route, or the reason the row cannot be rotated. A credential + * the platform says never expires has nothing to rotate; anything else without a route + * reports `rotation.supported=false` rather than silently showing no control. + */ +export function credentialAction(item: CredentialItem): CredentialAction { + if (item.rotation.supported && item.rotation.route) return { kind: "rotate", label: "credentials.action.rotate" }; + return { kind: "blocked", reason: item.expiry.status === "none" ? "nothing_to_rotate" : "no_route" }; +} + +/** The Flex credential the embedded rotation panel belongs to, or null when this read has none. */ +export function flexCredential(items: readonly CredentialItem[]): CredentialItem | null { + return items.find(item => item.kind === "flex_token") ?? null; +} diff --git a/web/strategy-switch-console/frontend/src/desk/i18n/en.ts b/web/strategy-switch-console/frontend/src/desk/i18n/en.ts index a56fe93f..1c0f6e5f 100644 --- a/web/strategy-switch-console/frontend/src/desk/i18n/en.ts +++ b/web/strategy-switch-console/frontend/src/desk/i18n/en.ts @@ -87,10 +87,21 @@ export const en: Record = { "access.denied": "This sign-in does not have access.", "access.denied_note": "Access is checked for this sign-in; ask the owner to grant it.", "access.login": "Sign in", + "access.signout": "Sign out", "access.retry": "Retry", "access.error_title": "Cannot confirm access", "access.error": "Could not read the sign-in state.", "access.loading": "Checking sign-in…", + "access.chip.login": "Signed out · no data shown", + "access.chip.denied": "No access · no data shown", + "access.chip.error": "Access unconfirmed · no data shown", + "access.nav_locked": "Navigation is locked until access is confirmed", + "access.list.hidden": "Data on this page is hidden until you sign in again.", + "access.list.resubmit": "Unsubmitted actions are not resubmitted automatically after sign-in.", + "access.list.ask": "Ask the console owner to grant access.", + "access.list.other": "If you used the wrong sign-in, sign out and use the right one.", + "access.login.list": "Data stays hidden until you sign in|Unsubmitted actions are never resubmitted on their own", + "access.forbidden.list": "Ask the console owner to grant access|Wrong sign-in? Sign out and use another one", "access.action_denied_title": "Action unavailable", "access.action_denied": "This sign-in cannot perform this action.", "access.action_denied_reason": "Reason: {reason}", @@ -176,6 +187,7 @@ export const en: Record = { "accounts.body": "One card per broker: connectivity, credential expiry, config and last order. Credentials have their own tab.", "accounts.tabs.brokers": "Brokers", "accounts.tabs.credentials": "Credentials", + "accounts.tabs.credentials_count": "{label} · {count}", "accounts.brokers.empty": "No broker account to show yet.", "accounts.broker.targets": "Running targets", "accounts.broker.connectivity": "Connectivity", @@ -221,6 +233,42 @@ export const en: Record = { "credentials.eyebrow": "Credential maintenance", "credentials.title": "Credentials", "credentials.body": "Expiry and rotation state only; no key is read or echoed here.", + "credentials.summary.meta": "{brokers} brokers · {total} credentials · metadata only, never a secret", + "credentials.headline.pre": "{total} credentials, ", + "credentials.headline.due": "{due}", + "credentials.headline.post": " due within 7 days or expired.", + "credentials.headline.clear": "{total} credentials, none due within 7 days.", + "credentials.reread": "Re-read", + "credentials.chip.due": "{count} due", + "credentials.chip.known": "{count} known", + "credentials.chip.none": "{count} no expiry", + "credentials.chip.unknown": "{count} unknown", + "credentials.table.title": "Credential expiry · most urgent first", + "credentials.col.broker": "Broker", + "credentials.col.credential": "Credential", + "credentials.col.expiry": "Expiry", + "credentials.col.phase": "Phase", + "credentials.col.rotated": "Last rotated", + "credentials.col.action": "Action", + "credentials.days_left": "due in {days} d", + "credentials.legend.known.title": "Known", + "credentials.legend.known.body": "Has a time and a source. Turns to an alert within 7 days.", + "credentials.legend.none.title": "No expiry", + "credentials.legend.none.body": "The platform says it never expires (IP-locked, session, password). A fact, not unknown.", + "credentials.legend.unknown.title": "? Unknown", + "credentials.legend.unknown.body": "Could not be read. Shows ? and a reason; never 0, never “stopped”.", + "credentials.action.runbook": "Open runbook", + "credentials.action.rotate": "Rotate on the right", + "credentials.action.no_route": "No rotation route", + "credentials.action.nothing": "Nothing to rotate", + "credentials.foot": "Read {time} UTC · days left use the server clock · brokers without an expiry source: open question Q4", + "credentials.list.empty": "No credential to show.", + "credentials.list.last_rotated": "Last rotated", + "credentials.list.never_rotated": "Never rotated", + "credentials.panel.embed": "Embedded existing component · CredentialRotationPanel (#1044) · internals unchanged", + "credentials.panel.credential": "Credential {platform} · {kind}", + "credentials.panel.unreadable": "The Flex credential could not be read, so this shows no rotation state.", + "credentials.panel.absent": "This read has no Flex credential, so rotation state is unavailable.", "credentials.reminder.title": "Expiry reminders", "credentials.reminder.note": "Only 7 days, 1 day and expired create a Needs-you item; 30 days is an alert. Unknown creates no item.", "credentials.reminder.not_due": "Not due", @@ -229,17 +277,6 @@ export const en: Record = { "credentials.reminder.1": "1 day", "credentials.reminder.expired": "Expired", "credentials.reminder.unknown": "Unknown", - "credentials.list.title": "All credentials", - "credentials.list.empty": "No credential to show.", - "credentials.list.last_rotated": "Last rotated", - "credentials.list.never_rotated": "Never rotated", - "credentials.list.runbook": "Runbook", - "credentials.list.rotate": "Rotate", - "credentials.list.manual": "Enter expiry", - "credentials.list.manual_note": "This broker has no expiry source; manual entry needs an existing API and is not available yet.", - "credentials.list.source_missing": "No expiry source yet", - "credentials.list.needs": "Needs you", - "credentials.list.needs_empty": "No credential needs you right now.", "credentials.flex.title": "IBKR Flex rotation", "credentials.flex.note": "Write-only entry: no value is read or echoed. Submission still needs a one-time code.", "credentials.flex.loading": "Loading rotation panel…", @@ -258,6 +295,22 @@ export const en: Record = { "strategies.eyebrow": "Strategies and switch", "strategies.title": "Switch", "strategies.body": "Choose a running target, then a catalog strategy, and compare platform now with the after preview. Switching is not connected and places no order.", + "strategies.summary.meta": "{running} running · catalog {revision} · preview only", + "strategies.headline.pre": "{total} targets, ", + "strategies.headline.due": "{eligible}", + "strategies.headline.post": " can switch now.", + "strategies.headline.none": "{total} targets, none can switch yet.", + "strategies.banner.title": "Switching is not connected yet", + "strategies.banner.body": "You can browse and preview the five-step flow; step 4 “Confirm” stays disabled and nothing is submitted.", + "strategies.target.switchable": "Switchable", + "strategies.target.switch": "Switch…", + "strategies.flow.open": "Open switch flow →", + "strategies.flow.note": "Starts at step 3 “Diff & checks” · no order is placed", + "strategies.s5.title": "Saved vs platform read-back", + "strategies.s5.reapply": "Re-apply saved", + "strategies.s5.adopt": "Adopt platform", + "strategies.s5.reason": "not_enabled · owner decision needed (Q1)", + "strategies.s5.gap": "No endpoint provides the drift count yet, so no number is shown.", "strategies.running.title": "Running targets", "strategies.running.empty": "No running target to switch yet.", "strategies.running.current": "Current strategy", @@ -266,6 +319,8 @@ export const en: Record = { "strategies.running.selected": "Selected", "strategies.catalog.title": "Strategy catalog", "strategies.catalog.empty": "This target has no catalog strategy to show.", + "strategies.catalog.pick_target": "Pick a running target first", + "strategies.catalog.pick_target_note": "Running targets are loaded; the catalog for one target appears after you pick it.", "strategies.filter.all": "All", "strategies.filter.eligible": "Eligible", "strategies.filter.paper": "Paper only", @@ -311,4 +366,5 @@ export const en: Record = { "strategies.reason.request_in_flight": "A request is already in flight", "strategies.reason.no_domain_declared": "No strategy domain declared", "strategies.reason.identity_incomplete": "Identity is incomplete", + "strategies.reason.config_drift": "Resolve drift", }; diff --git a/web/strategy-switch-console/frontend/src/desk/i18n/zh-CN.ts b/web/strategy-switch-console/frontend/src/desk/i18n/zh-CN.ts index 894b55c0..fbfcd34d 100644 --- a/web/strategy-switch-console/frontend/src/desk/i18n/zh-CN.ts +++ b/web/strategy-switch-console/frontend/src/desk/i18n/zh-CN.ts @@ -93,10 +93,21 @@ export const zh = { "access.denied": "当前登录身份没有访问权限。", "access.denied_note": "权限按当前登录身份判断;如需开通,请联系负责人。", "access.login": "登录", + "access.signout": "退出登录", "access.retry": "重试", "access.error_title": "无法确认访问权限", "access.error": "无法读取登录状态。", "access.loading": "正在确认登录状态…", + "access.chip.login": "已退出 · 未显示数据", + "access.chip.denied": "无权限 · 未显示数据", + "access.chip.error": "访问未确认 · 未显示数据", + "access.nav_locked": "访问确认前导航已锁定", + "access.list.hidden": "在你重新登录之前,本页不显示任何数据。", + "access.list.resubmit": "重新登录后不会自动提交此前未提交的操作。", + "access.list.ask": "请请求控制台负责人开通访问权限。", + "access.list.other": "如果登录身份不对,请退出后使用正确的身份重新登录。", + "access.login.list": "登录前隐藏本页数据|未提交的操作不会在登录后自动提交", + "access.forbidden.list": "请控制台负责人开通权限|登录身份不对时,退出后换一个身份", "access.action_denied_title": "此操作不可用", "access.action_denied": "当前登录身份不能执行此操作。", "access.action_denied_reason": "原因:{reason}", @@ -183,6 +194,7 @@ export const zh = { "accounts.body": "每家券商一张卡:连接、凭证到期、配置与最近订单。凭证在单独一页管理。", "accounts.tabs.brokers": "券商", "accounts.tabs.credentials": "凭证", + "accounts.tabs.credentials_count": "{label} · {count} 张", "accounts.brokers.empty": "还没有可显示的券商账户。", "accounts.broker.targets": "运行目标", "accounts.broker.connectivity": "连接", @@ -228,6 +240,42 @@ export const zh = { "credentials.eyebrow": "凭证维护", "credentials.title": "凭证", "credentials.body": "只显示到期与轮换状态;这里不读取、不回显任何密钥。", + "credentials.summary.meta": "{brokers} 家券商 · {total} 张凭证 · 仅元数据,绝不包含密钥", + "credentials.headline.pre": "{total} 张凭证,", + "credentials.headline.due": "{due} 张", + "credentials.headline.post": "将在 7 天内到期或已过期。", + "credentials.headline.clear": "{total} 张凭证,7 天内没有到期。", + "credentials.reread": "重新读取", + "credentials.chip.due": "{count} 张待处理", + "credentials.chip.known": "{count} 张有到期时间", + "credentials.chip.none": "{count} 张不过期", + "credentials.chip.unknown": "{count} 张未知", + "credentials.table.title": "凭证到期 · 最紧急在前", + "credentials.col.broker": "券商", + "credentials.col.credential": "凭证", + "credentials.col.expiry": "到期", + "credentials.col.phase": "阶段", + "credentials.col.rotated": "上次轮换", + "credentials.col.action": "操作", + "credentials.days_left": "{days} 天后到期", + "credentials.legend.known.title": "已知", + "credentials.legend.known.body": "有确定的时间和来源;进入 7 天后转为提醒。", + "credentials.legend.none.title": "不过期", + "credentials.legend.none.body": "平台明确不会过期(IP 绑定、会话、密码)。这是事实,不是未知。", + "credentials.legend.unknown.title": "? 未知", + "credentials.legend.unknown.body": "无法读取。只显示 ? 和原因,绝不显示 0,也不显示已停止。", + "credentials.action.runbook": "查看操作手册", + "credentials.action.rotate": "在右侧轮换", + "credentials.action.no_route": "没有轮换入口", + "credentials.action.nothing": "无需轮换", + "credentials.foot": "读取于 {time} UTC · 剩余天数按服务器时钟计算 · 无到期来源的券商:待决问题 Q4", + "credentials.list.empty": "没有可显示的凭证。", + "credentials.list.last_rotated": "上次轮换", + "credentials.list.never_rotated": "从未轮换", + "credentials.panel.embed": "内嵌现有组件 · CredentialRotationPanel (#1044) · 内部实现未改动", + "credentials.panel.credential": "凭证 {platform} · {kind}", + "credentials.panel.unreadable": "Flex 凭证无法读取,因此这里不显示任何轮换状态。", + "credentials.panel.absent": "本次读取没有 Flex 凭证,轮换状态不可用。", "credentials.reminder.title": "到期提醒", "credentials.reminder.note": "只有 7 天、1 天和已过期会进入“需要你处理”;30 天只是提醒。未知不会生成待办。", "credentials.reminder.not_due": "未到期", @@ -236,17 +284,6 @@ export const zh = { "credentials.reminder.1": "1 天", "credentials.reminder.expired": "已过期", "credentials.reminder.unknown": "未知", - "credentials.list.title": "全部凭证", - "credentials.list.empty": "没有可显示的凭证。", - "credentials.list.last_rotated": "上次轮换", - "credentials.list.never_rotated": "从未轮换", - "credentials.list.runbook": "操作手册", - "credentials.list.rotate": "轮换", - "credentials.list.manual": "登记到期", - "credentials.list.manual_note": "该券商还没有到期来源;人工登记需要现有接口支持,当前不可用。", - "credentials.list.source_missing": "暂无到期来源", - "credentials.list.needs": "需要你处理", - "credentials.list.needs_empty": "当前没有到期待办。", "credentials.flex.title": "IBKR Flex 轮换", "credentials.flex.note": "只写入口:不读取、不回显任何值。提交仍需一次性验证码。", "credentials.flex.loading": "正在加载轮换面板…", @@ -265,6 +302,22 @@ export const zh = { "strategies.eyebrow": "策略与切换", "strategies.title": "切换", "strategies.body": "先选运行目标,再选目录策略,查看平台现状与切换后的差异。切换尚未接通,不会下单。", + "strategies.summary.meta": "{running} 个运行中 · 目录 {revision} · 仅预览", + "strategies.headline.pre": "{total} 个运行目标,", + "strategies.headline.due": "{eligible} 个", + "strategies.headline.post": "现在可以切换。", + "strategies.headline.none": "{total} 个运行目标,还没有可以切换的目标。", + "strategies.banner.title": "切换功能尚未接通", + "strategies.banner.body": "你可以浏览并预览五步流程;第 4 步“确认”保持禁用,不会提交任何内容。", + "strategies.target.switchable": "可切换", + "strategies.target.switch": "切换…", + "strategies.flow.open": "打开切换流程 →", + "strategies.flow.note": "从第 3 步“差异与预检”开始 · 不会下单", + "strategies.s5.title": "保存值与平台读回", + "strategies.s5.reapply": "重新下发保存值", + "strategies.s5.adopt": "以平台值为准", + "strategies.s5.reason": "not_enabled · 需要负责人决策(Q1)", + "strategies.s5.gap": "当前接口没有提供偏离项数,因此这里不显示数量。", "strategies.running.title": "运行目标", "strategies.running.empty": "还没有可切换的运行目标。", "strategies.running.current": "当前策略", @@ -273,6 +326,8 @@ export const zh = { "strategies.running.selected": "已选择", "strategies.catalog.title": "策略目录", "strategies.catalog.empty": "该目标没有可显示的目录策略。", + "strategies.catalog.pick_target": "请先选择运行目标", + "strategies.catalog.pick_target_note": "运行目标已经读到,选择后才会显示该目标的目录策略。", "strategies.filter.all": "全部", "strategies.filter.eligible": "可用", "strategies.filter.paper": "仅模拟盘", @@ -318,6 +373,7 @@ export const zh = { "strategies.reason.request_in_flight": "已有请求进行中", "strategies.reason.no_domain_declared": "未声明策略域", "strategies.reason.identity_incomplete": "身份信息不完整", + "strategies.reason.config_drift": "需要处理配置偏离", } as const; export type DeskKey = keyof typeof zh; diff --git a/web/strategy-switch-console/frontend/src/desk/pages/AccountsPage.tsx b/web/strategy-switch-console/frontend/src/desk/pages/AccountsPage.tsx index 5b83ae2b..bf09cf50 100644 --- a/web/strategy-switch-console/frontend/src/desk/pages/AccountsPage.tsx +++ b/web/strategy-switch-console/frontend/src/desk/pages/AccountsPage.tsx @@ -114,9 +114,14 @@ export function AccountsPage({ api, t, language, initialTab = "brokers" }: { // A deep link such as ?tab=credentials wins when it changes while the page is mounted. useEffect(() => { setTab(initialTab); }, [initialTab]); + // Frame N1: the credentials tab carries the credential count once the read is back. + const credentialCount = credentials.load.state === "ready" ? credentials.load.result.data.items.length : null; + const credentialsLabel = credentialCount === null + ? t("accounts.tabs.credentials") + : t("accounts.tabs.credentials_count", { label: t("accounts.tabs.credentials"), count: credentialCount }); const tabs = [ { id: "brokers", label: t("accounts.tabs.brokers") }, - { id: "credentials", label: t("accounts.tabs.credentials") }, + { id: "credentials", label: credentialsLabel }, ]; let body; diff --git a/web/strategy-switch-console/frontend/src/desk/pages/AuthPage.tsx b/web/strategy-switch-console/frontend/src/desk/pages/AuthPage.tsx index 87956f20..14a6f906 100644 --- a/web/strategy-switch-console/frontend/src/desk/pages/AuthPage.tsx +++ b/web/strategy-switch-console/frontend/src/desk/pages/AuthPage.tsx @@ -10,16 +10,29 @@ const note: CSSProperties = { margin: 0, color: "var(--mrd-ink-3)", fontSize: 12 * Full-page 401 / 403 / read-failure. The 403 copy talks about the current sign-in, * never a broker account: the two are different concepts on the desk. */ -export function AuthPage({ kind, t, onRetry }: { kind: AuthKind; t: DeskTranslate; onRetry?: () => void }) { +export function AuthPage({ kind, t, onRetry, onSignOut }: { + kind: AuthKind; + t: DeskTranslate; + onRetry?: () => void; + onSignOut?: () => void; +}) { const title = kind === "unauthorized" ? t("access.title") : kind === "forbidden" ? t("access.denied_title") : t("access.error_title"); const body = kind === "unauthorized" ? t("access.body") : kind === "forbidden" ? t("access.denied") : t("access.error"); + const bullets = (kind === "unauthorized" ? t("access.login.list") : kind === "forbidden" ? t("access.forbidden.list") : "").split("|").filter(Boolean); return (
{t("access.eyebrow")}

{title}

{body}

- {kind === "forbidden" ?

{t("access.denied_note")}

: null} + {bullets.length ? ( +
    + {bullets.map(bullet =>
  • {bullet}
  • )} +
+ ) : null} {kind === "unauthorized" ? {t("access.login")} : null} + {kind === "forbidden" && onSignOut ? ( + + ) : null} {kind === "error" && onRetry ? ( ) : null} diff --git a/web/strategy-switch-console/frontend/src/desk/pages/CredentialsTab.tsx b/web/strategy-switch-console/frontend/src/desk/pages/CredentialsTab.tsx index f2975a06..3741ecdd 100644 --- a/web/strategy-switch-console/frontend/src/desk/pages/CredentialsTab.tsx +++ b/web/strategy-switch-console/frontend/src/desk/pages/CredentialsTab.tsx @@ -1,17 +1,17 @@ import type { Language } from "../../lib/prefs"; import type { DeskResult } from "../api/endpoints.ts"; -import type { CredentialItem, Credentials } from "../contract/types"; -import { credentialExpiryView, credentialNeeds, formatCredentialAt, phaseLabel } from "../credentials/model.ts"; -import type { DeskKey, DeskTranslate } from "../i18n/index.ts"; +import type { Credentials } from "../contract/types"; +import { formatUtcHms } from "../format.ts"; +import { credentialSummary } from "../credentials/table.ts"; +import { CredentialLegend, CredentialSummaryChips, CredentialTable } from "../credentials/CredentialTable.tsx"; +import type { DeskTranslate } from "../i18n/index.ts"; import { CredentialsReminder } from "../components/CredentialsReminderStrip.tsx"; import { FlexRotationCard } from "../components/FlexRotationCard.tsx"; -import { EmptyState, LoadingState, RecoverableErrorState, StalePartialBanner } from "../components/StateBlocks.tsx"; +import { EmptyState, LoadingState, RecoverableErrorState } from "../components/StateBlocks.tsx"; import type { Loadable } from "../components/useDeskLoad.ts"; +import { useNarrow } from "../components/useNarrow.ts"; import { P } from "../components/deskStyles.ts"; -function kindLabel(item: CredentialItem, t: DeskTranslate): string { - return t(`credential.kind.${item.kind}` as DeskKey ); -} export function CredentialsTab({ load, t, language, reload }: { load: Loadable>; t: DeskTranslate; @@ -21,85 +21,58 @@ export function CredentialsTab({ load, t, language, reload }: { if (load.state === "loading") return ; if (load.state === "failed") return ; - const data = load.result.data; - const items = data.items; - if (items.length === 0) return ; + const result = load.result; + const data = result.data; + if (data.items.length === 0) return ; - const included = items.filter(item => item.expiry.status !== "unknown").length; - const needs = credentialNeeds(items, t, language); + return ; +} +/** Frames C1–C6, rendered from a single credentials read. */ +export function CredentialsBody({ data, mock, t, language, reload }: { + data: Credentials; + mock: boolean; + t: DeskTranslate; + language: Language; + reload: () => void; +}) { + const narrow = useNarrow(); + const summary = credentialSummary(data.items); return ( -
- {included < items.length ? : null} -
- {t("credentials.reminder.title")} - -
+
+
+ {t("credentials.summary.meta", { brokers: summary.brokers, total: summary.total })} +
+

+ {summary.due > 0 ? ( + <> + {t("credentials.headline.pre", { total: summary.total })} + {t("credentials.headline.due", { due: summary.due })} + {t("credentials.headline.post")} + + ) : t("credentials.headline.clear", { total: summary.total })} +

+ +
+

{t("credentials.body")}

+
-
- {t("credentials.list.needs")} - {needs.length === 0 ?

{t("credentials.list.needs_empty")}

: ( - - )} -
+
+
+
+ {t("credentials.table.title")} + +
+ + + +

{t("credentials.foot", { time: formatUtcHms(data.generated_at) ?? "—" })}

+
-
- {t("credentials.list.title")} -
- {items.map(item => { - const view = credentialExpiryView(item.expiry, item.phase, t, language); - const rotated = item.last_rotated_at ? formatCredentialAt(item.last_rotated_at, language) : null; - return ( -
-
- {item.label} - {phaseLabel(view.phase, t)} -
- {item.platform} · {kindLabel(item, t)} -
- {t("credential.expiry.label")} - {view.mark} - {view.detail} -
-
-
- {t("credentials.list.last_rotated")} - {rotated ?? t("credentials.list.never_rotated")} -
- {item.runbook ? ( -
- {t("credentials.list.runbook")} - {item.runbook} -
- ) : null} -
-
- {item.rotation.supported && item.rotation.route ? ( - {t("credentials.list.rotate")} - ) : null} - {item.expiry.status === "unknown" ? ( - - ) : null} -
- {item.expiry.status === "unknown" ?

{t("credentials.list.manual_note")}

: null} -
- ); - })} -
-
+ +
- - {load.result.source === "mock" ?

{t("credentials.mock_note")}

: null} + {mock ?

{t("credentials.mock_note")}

: null}
); } diff --git a/web/strategy-switch-console/frontend/src/desk/pages/StrategiesPage.tsx b/web/strategy-switch-console/frontend/src/desk/pages/StrategiesPage.tsx index cb7121d7..f4eff67a 100644 --- a/web/strategy-switch-console/frontend/src/desk/pages/StrategiesPage.tsx +++ b/web/strategy-switch-console/frontend/src/desk/pages/StrategiesPage.tsx @@ -4,7 +4,7 @@ import type { DeskApi, DeskResult } from "../api/endpoints.ts"; import type { Mode, Read, StrategyOption, StrategyRef, SwitchStrategies, SwitchTargets } from "../contract/types"; import { formatAge } from "../format.ts"; import type { DeskKey, DeskTranslate } from "../i18n/index.ts"; -import { EmptyState, LoadingState, RecoverableErrorState, StalePartialBanner } from "../components/StateBlocks.tsx"; +import { EmptyState, LoadingState, RecoverableErrorState } from "../components/StateBlocks.tsx"; import { useDeskLoad } from "../components/useDeskLoad.ts"; import { useNarrow } from "../components/useNarrow.ts"; import { P } from "../components/deskStyles.ts"; @@ -43,25 +43,38 @@ function switchReasonText(reason: string | null, t: DeskTranslate): string { return text === key ? reason : text; } -function TargetRow({ target, selected, onSelect, t, language }: { +export function TargetRow({ target, selected, onSelect, t, language }: { target: SwitchTargets["targets"][number]; selected: boolean; onSelect: () => void; t: DeskTranslate; language: Language; }) { + const reason = target.switchable.reason_code ?? null; + const switchable = target.switchable.allowed === true; return ( -
+
{target.target_id} {target.platform_label} · {target.account_ref} {t("strategies.running.current")}: {strategyText(target.current_strategy, t, language)} {t("strategies.running.mode")}: {modeText(target.mode, t, language)} - {target.switchable.allowed ? null : {switchReasonText(target.switchable.reason_code, t)}}
- +
+ + {switchable ? t("strategies.target.switchable") : switchReasonText(reason, t)} + + {switchable ? ( + {t("strategies.target.switch")} + ) : ( + /* S2: a target that cannot switch offers no live entry, only the reason. */ + + )} + {/* Browsing and previewing stays available for every target; only the write is gated. */} + +
); } @@ -106,6 +119,7 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial const [filter, setFilter] = useState("all"); const [targetId, setTargetId] = useState(initialTarget ?? null); const autoSelected = useRef(false); + const flowRef = useRef(null); const narrow = useNarrow(); const targets = useDeskLoad>(() => api.switchTargets(), [api]); @@ -187,6 +201,12 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial }); }; + // S4: the design's entry jumps into the five-step card on this page; no new route, no write. + const openFlow = () => { + flowRef.current?.scrollIntoView({ block: "start" }); + flowRef.current?.focus(); + }; + let targetsBody; if (targets.load.state === "loading") { targetsBody = ; @@ -196,10 +216,8 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial targetsBody = ; } else { const rows = targets.load.result.data.targets; - const unknown = rows.filter(row => row.mode.status === "unknown" || row.current_strategy.status === "unknown").length; targetsBody = (
- {unknown > 0 ? : null}
{rows.map(target => ( selectTarget(target.target_id)} t={t} language={language} /> @@ -211,7 +229,12 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial let catalogBody; if (!targetId) { - catalogBody = ; + // F6: targets exist and are simply not picked yet, so the catalog asks for a target. + catalogBody = targets.load.state === "loading" + ? + : targets.load.state === "failed" + ? + : ; } else if (strategies.load.state === "loading") { catalogBody = ; } else if (strategies.load.state === "failed") { @@ -230,19 +253,57 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial const confirmReason = flow.blockedReason === "forbidden" ? null : switchReasonText(flow.blockedReason, t); + const readyTargets = targets.load.state === "ready" ? targets.load.result.data.targets : null; + const eligible = readyTargets ? readyTargets.filter(target => target.switchable.allowed === true).length : 0; + const catalogRevision = strategies.load.state === "ready" && strategies.load.result + ? strategies.load.result.data.catalog_revision + : t("read.unknown"); + return (
- {t("strategies.eyebrow")} -

{t("strategies.title")}

+ + {readyTargets + ? t("strategies.summary.meta", { running: readyTargets.length, revision: catalogRevision }) + : t("strategies.eyebrow")} + +

+ {readyTargets === null ? t("strategies.title") : eligible > 0 ? ( + <> + {t("strategies.headline.pre", { total: readyTargets.length })} + {t("strategies.headline.due", { eligible })} + {t("strategies.headline.post")} + + ) : t("strategies.headline.none", { total: readyTargets.length })} +

{t("strategies.body")}

+ {/* S1: the banner states the policy where the flow is offered, not in a footnote. */} +
+ {t("strategies.banner.title")} + switch_not_connected + {t("strategies.banner.body")} +
+
{t("strategies.running.title")} {targetsBody}
+ {/* S5: read-back writes exist in the contract but are not enabled for this build. */} +
+
+ {t("strategies.s5.title")} +
+ + +
+
+ {t("strategies.s5.reason")} +

{selectedTarget ? `${selectedTarget.target_id} · ` : ""}{t("strategies.s5.gap")}

+
+
{t("strategies.catalog.title")} @@ -280,7 +341,16 @@ export function StrategiesPage({ api, t, language, admin, initialTarget, initial

{t("strategies.after.preview_only")}

-
+
+ {t("strategies.steps.title")} +
+ + {t("strategies.flow.note")} + +
+
+ +
{t("strategies.steps.title")}
{SWITCH_STEPS.map((step, index) => { diff --git a/web/strategy-switch-console/frontend/src/desk/shell/DeskShell.tsx b/web/strategy-switch-console/frontend/src/desk/shell/DeskShell.tsx index d9ff3c69..6801111d 100644 --- a/web/strategy-switch-console/frontend/src/desk/shell/DeskShell.tsx +++ b/web/strategy-switch-console/frontend/src/desk/shell/DeskShell.tsx @@ -6,7 +6,7 @@ import type { DeskTranslate } from "../i18n/index.ts"; import type { DeskPage } from "../router.ts"; import { AuthPage } from "../pages/AuthPage"; import { Dock } from "./Dock"; -import { TopBar, type GatewayChip } from "./TopBar"; +import { TopBar, type GatewayChip, type ShellLock } from "./TopBar"; export interface DeskShellProps { page: DeskPage; @@ -19,6 +19,8 @@ export interface DeskShellProps { serverClock: boolean; mock: MockScenario | null; freshness?: FreshnessChipState | null; + /** Non-null for 401/403/failed access: the shell shows no runtime data at all. */ + lock?: ShellLock | null; onNavigate: (page: DeskPage) => void; onLanguage: (language: Language) => void; onTheme: () => void; @@ -27,12 +29,12 @@ export interface DeskShellProps { /** Meridian frame: dock + top bar + page. Pure; state lives in DeskApp. */ export function DeskShell(props: DeskShellProps) { - const { page, t, alertCount, onNavigate, children, ...bar } = props; + const { page, t, alertCount, lock, onNavigate, children, ...bar } = props; return ( -
- +
+
- + {children}
@@ -40,6 +42,18 @@ export function DeskShell(props: DeskShellProps) { } /** Shown in the page area when the live session is not allowed or cannot be read. */ -export function AccessCard({ t, kind, onRetry }: { t: DeskTranslate; kind: "login" | "denied" | "error"; onRetry: () => void }) { - return ; +export function AccessCard({ t, kind, onRetry, onSignOut }: { + t: DeskTranslate; + kind: "login" | "denied" | "error"; + onRetry: () => void; + onSignOut: () => void; +}) { + return ( + + ); } diff --git a/web/strategy-switch-console/frontend/src/desk/shell/Dock.tsx b/web/strategy-switch-console/frontend/src/desk/shell/Dock.tsx index 4cdc4f85..22097339 100644 --- a/web/strategy-switch-console/frontend/src/desk/shell/Dock.tsx +++ b/web/strategy-switch-console/frontend/src/desk/shell/Dock.tsx @@ -7,34 +7,43 @@ interface DockProps { t: DeskTranslate; /** Open alert count from the ribbon; null when unknown (no badge rather than 0). */ alertCount: number | null; + /** Locked shell (401/403): the dock stays visible but every entry is inert. */ + locked?: boolean; onNavigate: (page: DeskPage) => void; } /** Floating icon dock on wide screens; a bottom tab bar on phones (CSS only). */ -export function Dock({ page, t, alertCount, onNavigate }: DockProps) { +export function Dock({ page, t, alertCount, locked = false, onNavigate }: DockProps) { return ( -